Files
Hushian/Presentation/HushianWebApp/Service/UserService.cs

110 lines
4.4 KiB
C#
Raw Normal View History

2025-07-12 16:59:25 +03:30
using Common.Dtos;
using Common.Dtos.Exper;
using System.Net.Http.Json;
2025-07-11 20:37:28 +03:30
namespace HushianWebApp.Service
{
public class UserService
{
private readonly BaseController _baseController;
2025-07-12 16:59:25 +03:30
const string BaseRoute = "v1/Exper/";
2025-07-11 20:37:28 +03:30
public UserService(BaseController baseController)
{
_baseController = baseController;
}
2025-07-12 16:59:25 +03:30
public async Task<bool> AddExper(ADD_ExperDto request)
2025-07-11 20:37:28 +03:30
{
var response = await _baseController.Post($"{BaseRoute}AddExper", request);
return response.IsSuccessStatusCode;
}
2025-07-25 21:29:57 +03:30
public async Task<List<Read_ExperDto>?> GetExpersCompany()
2025-07-11 20:37:28 +03:30
{
2025-07-25 21:29:57 +03:30
string route = $"{BaseRoute}GetExpersCompany";
//&PageIndex={PageIndex}&PageSize={PageSize}
var response = await _baseController.Get(route);
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadFromJsonAsync<List<Read_ExperDto>>();
}
return null;
}
public async Task<List<Read_ExperDto>?> GetExpersCompany(int CompanyID)
{
string route = $"{BaseRoute}GetExpersCompany?CompanyID={CompanyID}";
2025-07-11 20:37:28 +03:30
var response = await _baseController.Get(route);
if (response.IsSuccessStatusCode)
{
2025-07-12 16:59:25 +03:30
return await response.Content.ReadFromJsonAsync<List<Read_ExperDto>>();
2025-07-11 20:37:28 +03:30
}
return null;
}
2025-07-25 21:29:57 +03:30
2025-07-11 20:37:28 +03:30
//--------------------------------------------------------------------------------------------------------------
2025-07-12 16:59:25 +03:30
public async Task<bool> EditUserYourself(Update_ExperDto request) //ویرایش کاربران توسط خود
2025-07-11 20:37:28 +03:30
{
var response = await _baseController.Put($"{BaseRoute}EditUserYourself", request);
return response.IsSuccessStatusCode;
}
2025-07-26 11:47:32 +03:30
public async Task<Read_ExperDto?> GetCurrentExper() //ویرایش کاربران توسط خود
2025-07-11 20:37:28 +03:30
{
2025-07-26 11:47:32 +03:30
var response = await _baseController.Get($"{BaseRoute}GetCurrentExper");
2025-07-11 20:37:28 +03:30
if (response.IsSuccessStatusCode)
{
2025-07-12 16:59:25 +03:30
return await response.Content.ReadFromJsonAsync<Read_ExperDto>();
2025-07-11 20:37:28 +03:30
}
return null;
}
2025-07-12 16:59:25 +03:30
public async Task<bool> ExperEditingFromManager(int ExperID,Update_ExperDto request) //ویرایش کاربران توسط مدیرش
2025-07-11 20:37:28 +03:30
{
2025-07-12 16:59:25 +03:30
var response = await _baseController.Put($"{BaseRoute}ExperEditingFromManager/{ExperID}", request);
2025-07-11 20:37:28 +03:30
return response.IsSuccessStatusCode;
}
2025-07-12 16:59:25 +03:30
public async Task<bool> ChangePasswordYourself(ChangePasswordDto request) //تغییر کلمه عبور کاربران توسط خود
2025-07-11 20:37:28 +03:30
{
var response = await _baseController.Put($"{BaseRoute}ChangePasswordYourself", request);
return response.IsSuccessStatusCode;
}
2025-07-12 16:59:25 +03:30
public async Task<bool> ChangePasswordFromManager(int ExperID, ChangePasswordDto request) //تغییر کلمه عبور کاربران توسط خود
{
var response = await _baseController.Put($"{BaseRoute}ChangePasswordFromManager/{ExperID}", request);
return response.IsSuccessStatusCode;
}
2025-07-11 20:37:28 +03:30
public async Task<bool> CheckAvailableExperInCompany(string? ExperID=null)
{
string route = $"{BaseRoute}CheckAvailableExperInCompany";
if (!string.IsNullOrEmpty(ExperID))
route += $"?ExperID={ExperID}";
var response = await _baseController.Get(route);
return response.IsSuccessStatusCode;
}
2025-07-12 21:33:44 +03:30
public async Task<bool> ChangeAvailableExperFromManager(int ExperID,bool Available)
2025-07-11 20:37:28 +03:30
{
var response = await _baseController.Put($"{BaseRoute}ChangeAvailableExperFromManager/{ExperID}?Available={Available}");
return response.IsSuccessStatusCode;
}
2025-07-12 21:33:44 +03:30
public async Task<bool>DeleteExperFromManager(int ExperID)
2025-07-11 20:37:28 +03:30
{
var response = await _baseController.Delete($"{BaseRoute}DeleteExperFromManager/{ExperID}");
return response.IsSuccessStatusCode;
}
2025-07-28 17:41:14 +03:30
public async Task<CurrentUserInfo> GetCurrentUserInfo()
{
var response = await _baseController.Get($"{BaseRoute}GetCurrentUserInfo");
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadFromJsonAsync<CurrentUserInfo>();
}
return null;
}
2025-07-11 20:37:28 +03:30
2025-07-12 16:59:25 +03:30
2025-07-11 20:37:28 +03:30
}
}