using RMWPFInterfaceLibrary.Models; using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Text; using System.Threading.Tasks; namespace RMWPFInterfaceLibrary.Api { public class UserEndPoint : IUserEndPoint { private readonly IAPIHelper _apiHelper; public UserEndPoint(IAPIHelper apiHelper) { _apiHelper = apiHelper; } public async Task> GetAll() { using (HttpResponseMessage response = await _apiHelper.ApiClient.GetAsync("/api/User/Admin/GetAllUsers")) { if (response.IsSuccessStatusCode) { var result = await response.Content.ReadAsAsync>(); return result; } else { throw new Exception(response.ReasonPhrase); } } } public async Task> GetAllRoles() { using (HttpResponseMessage response = await _apiHelper.ApiClient.GetAsync("/api/User/Admin/GetAllRoles")) { if (response.IsSuccessStatusCode) { var result = await response.Content.ReadAsAsync>(); return result; } else { throw new Exception(response.ReasonPhrase); } } } public async Task AddUserToRole(string userId, string roleName) { var data = new { userId, roleName }; using (HttpResponseMessage response = await _apiHelper.ApiClient.PostAsJsonAsync("/api/User/Admin/AddRole", data)) { if (response.IsSuccessStatusCode == false) { throw new Exception(response.ReasonPhrase); } } } public async Task RemoveUserFromRole(string userId, string roleName) { var data = new { userId, roleName }; using (HttpResponseMessage response = await _apiHelper.ApiClient.PostAsJsonAsync("/api/User/Admin/RemoveRole", data)) { if (response.IsSuccessStatusCode == false) { throw new Exception(response.ReasonPhrase); } } } } }