109 lines
4.5 KiB
C#
109 lines
4.5 KiB
C#
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<bool> AddExper(AddUserDto request)
|
|
{
|
|
var response = await _baseController.Post($"{BaseRoute}AddExper", request);
|
|
return response.IsSuccessStatusCode;
|
|
}
|
|
public async Task<PagingDto<HushianUserDto>?> 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<PagingDto<HushianUserDto>>();
|
|
}
|
|
return null;
|
|
}
|
|
public async Task<List<HushianUserDto>?> GetOnlineExpersCompany(int CompanyID)
|
|
{
|
|
string route = $"{BaseRoute}GetOnlineExpersCompany?CompanyID={CompanyID}";
|
|
|
|
var response = await _baseController.Get(route);
|
|
if (response.IsSuccessStatusCode)
|
|
{
|
|
return await response.Content.ReadFromJsonAsync<List<HushianUserDto>>();
|
|
}
|
|
return null;
|
|
}
|
|
//--------------------------------------------------------------------------------------------------------------
|
|
public async Task<PagingDto<HushianUserDto>?> 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<PagingDto<HushianUserDto>>();
|
|
}
|
|
return null;
|
|
}
|
|
public async Task<bool> EditUserYourself(EditUserFromUserDto request) //ویرایش کاربران توسط خود
|
|
{
|
|
var response = await _baseController.Put($"{BaseRoute}EditUserYourself", request);
|
|
return response.IsSuccessStatusCode;
|
|
}
|
|
public async Task<HushianUserDto?> GetCurrentUser() //ویرایش کاربران توسط خود
|
|
{
|
|
var response = await _baseController.Get($"{BaseRoute}GetCurrentUser");
|
|
if (response.IsSuccessStatusCode)
|
|
{
|
|
return await response.Content.ReadFromJsonAsync<HushianUserDto>();
|
|
}
|
|
return null;
|
|
}
|
|
public async Task<bool> ExperEditingFromManager(EditUserFromUserDto request) //ویرایش کاربران توسط مدیرش
|
|
{
|
|
var response = await _baseController.Put($"{BaseRoute}ExperEditingFromManager", request);
|
|
return response.IsSuccessStatusCode;
|
|
}
|
|
|
|
public async Task<bool> ChangePasswordYourself(ChangePasswordFromUserDto request) //تغییر کلمه عبور کاربران توسط خود
|
|
{
|
|
var response = await _baseController.Put($"{BaseRoute}ChangePasswordYourself", request);
|
|
return response.IsSuccessStatusCode;
|
|
}
|
|
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;
|
|
}
|
|
|
|
|
|
public async Task<bool> ChangeAvailableExperFromManager(string ExperID,bool Available)
|
|
{
|
|
var response = await _baseController.Put($"{BaseRoute}ChangeAvailableExperFromManager/{ExperID}?Available={Available}");
|
|
return response.IsSuccessStatusCode;
|
|
}
|
|
|
|
public async Task<bool>DeleteExperFromManager(string ExperID)
|
|
{
|
|
var response = await _baseController.Delete($"{BaseRoute}DeleteExperFromManager/{ExperID}");
|
|
return response.IsSuccessStatusCode;
|
|
}
|
|
|
|
public async Task<bool> FreeExper()
|
|
{
|
|
var response = await _baseController.Delete($"{BaseRoute}FreeExper");
|
|
return response.IsSuccessStatusCode;
|
|
}
|
|
|
|
|
|
}
|
|
}
|