81 lines
2.3 KiB
C#
81 lines
2.3 KiB
C#
using System.Net;
|
|
using System.Net.Http.Json;
|
|
using Demo.Domain.Models;
|
|
using presence_client.DTO;
|
|
using Microsoft.Extensions.Logging;
|
|
using presence_client.ApiClients.Interfaces;
|
|
|
|
namespace presence_client.ApiClients;
|
|
|
|
public class UserApiClient : BaseApiClient, IUserApiClient
|
|
{
|
|
private const string BasePath = "api/Admin";
|
|
|
|
public UserApiClient(IHttpClientFactory httpClientFactory, ILogger<GroupApiClient> logger)
|
|
: base(httpClientFactory, logger)
|
|
{
|
|
}
|
|
|
|
public async Task<bool> DeleteUserAsync(Guid userGuid)
|
|
{
|
|
try
|
|
{
|
|
var responce = await _httpClient.DeleteAsync($"{BasePath}/user?userGuid={userGuid}");
|
|
return responce.IsSuccessStatusCode;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, $"Error gg");
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public async Task<bool> UpdateUserFioAsync(Guid userGuid, string fio)
|
|
{
|
|
try
|
|
{
|
|
var request = new UpdateFio { Fio = fio };
|
|
|
|
var response = await _httpClient.PatchAsJsonAsync(
|
|
$"{BasePath}/updatefio/user/{userGuid}",
|
|
request,
|
|
_jsonOptions);
|
|
|
|
return response.IsSuccessStatusCode;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error updating user FIO");
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public async Task<bool> DeleteUsersByGroupIdAsync(int groupId)
|
|
{
|
|
try
|
|
{
|
|
var responce = await _httpClient.DeleteAsync($"{BasePath}/usersbygroupid/{groupId}");
|
|
return responce.IsSuccessStatusCode;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, $"Error deleting users for group {groupId}");
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public async Task<bool> CreateUser(string fio, string groupName)
|
|
{
|
|
try
|
|
{
|
|
var request = new CreateUserRequest { Fio = fio, GroupName = groupName };
|
|
var response = await _httpClient.PostAsJsonAsync($"{BasePath}/usercreate", request, _jsonOptions);
|
|
return response.IsSuccessStatusCode;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
_logger.LogError(e, "Error creating user");
|
|
return false;
|
|
}
|
|
}
|
|
} |