using System.Net.Http.Json; namespace HushianWebApp.Service { public class UserService { private readonly BaseController _baseController; const string BaseRoute = "v1/User/"; public UserService(BaseController baseController) { _baseController = baseController; } public async Task AddExper(AddUserDto request) { var response = await _baseController.Post($"{BaseRoute}AddExper", request); return response.IsSuccessStatusCode; } public async Task?> GetExpersCompany(int CompanyID, int PageIndex = 1, int PageSize = 10) { string route = $"{BaseRoute}GetExpersCompany?CompanyID={CompanyID}&PageIndex={PageIndex}&PageSize={PageSize}"; var response = await _baseController.Get(route); if (response.IsSuccessStatusCode) { return await response.Content.ReadFromJsonAsync>(); } return null; } public async Task?> GetOnlineExpersCompany(int CompanyID) { string route = $"{BaseRoute}GetOnlineExpersCompany?CompanyID={CompanyID}"; var response = await _baseController.Get(route); if (response.IsSuccessStatusCode) { return await response.Content.ReadFromJsonAsync>(); } return null; } //-------------------------------------------------------------------------------------------------------------- public async Task?> GetUsersCompanyFromManager(int PageIndex = 1, int PageSize = 10) { string route = $"{BaseRoute}GetUsersCompany?PageIndex={PageIndex}&PageSize={PageSize}"; var response = await _baseController.Get(route); if (response.IsSuccessStatusCode) { return await response.Content.ReadFromJsonAsync>(); } return null; } public async Task EditUserYourself(EditUserFromUserDto request) //ویرایش کاربران توسط خود { var response = await _baseController.Put($"{BaseRoute}EditUserYourself", request); return response.IsSuccessStatusCode; } public async Task GetCurrentUser() //ویرایش کاربران توسط خود { var response = await _baseController.Get($"{BaseRoute}GetCurrentUser"); if (response.IsSuccessStatusCode) { return await response.Content.ReadFromJsonAsync(); } return null; } public async Task ExperEditingFromManager(EditUserFromUserDto request) //ویرایش کاربران توسط مدیرش { var response = await _baseController.Put($"{BaseRoute}ExperEditingFromManager", request); return response.IsSuccessStatusCode; } public async Task ChangePasswordYourself(ChangePasswordFromUserDto request) //تغییر کلمه عبور کاربران توسط خود { var response = await _baseController.Put($"{BaseRoute}ChangePasswordYourself", request); return response.IsSuccessStatusCode; } public async Task CheckAvailableExperInCompany(string? ExperID=null) { string route = $"{BaseRoute}CheckAvailableExperInCompany"; if (!string.IsNullOrEmpty(ExperID)) route += $"?ExperID={ExperID}"; var response = await _baseController.Get(route); return response.IsSuccessStatusCode; } public async Task ChangeAvailableExperFromManager(string ExperID,bool Available) { var response = await _baseController.Put($"{BaseRoute}ChangeAvailableExperFromManager/{ExperID}?Available={Available}"); return response.IsSuccessStatusCode; } public async TaskDeleteExperFromManager(string ExperID) { var response = await _baseController.Delete($"{BaseRoute}DeleteExperFromManager/{ExperID}"); return response.IsSuccessStatusCode; } public async Task FreeExper() { var response = await _baseController.Delete($"{BaseRoute}FreeExper"); return response.IsSuccessStatusCode; } } }