58 lines
1.9 KiB
C#
58 lines
1.9 KiB
C#
|
|
using Newtonsoft.Json;
|
|
using WorkFlowCheck.Common.DTO;
|
|
using WorkFlowCheck.Web.Services.Interfaces;
|
|
|
|
namespace WorkFlowCheck.Web.Services
|
|
{
|
|
public class UserService : BaseService, IUserService
|
|
{
|
|
public UserService(HttpClient httpClient, IConfiguration configuration, IHttpContextAccessor httpContextAccessor) : base(httpClient, configuration, httpContextAccessor)
|
|
{
|
|
}
|
|
public async Task<ApiResponseDTO<UserDTO>> Authenticate(string username, string password)
|
|
{
|
|
try
|
|
{
|
|
// Az API végpont meghatározása
|
|
string endpoint = $"{_httpClient.BaseAddress}api/user/authenticate";
|
|
|
|
var userDTO = new UserDTO()
|
|
{
|
|
Email = "",
|
|
FirstName = "",
|
|
LastName = "",
|
|
Id = 0,
|
|
UserName = username,
|
|
Password = password,
|
|
JwtToken = "",
|
|
RoleDTO = new List<RoleDTO>(),
|
|
};
|
|
|
|
// HTTP POST kérés küldése
|
|
|
|
using (HttpResponseMessage httpResponseMessage = await _httpClient.PostAsJsonAsync(endpoint, userDTO))
|
|
{
|
|
httpResponseMessage.EnsureSuccessStatusCode();
|
|
|
|
var jsonString = await httpResponseMessage.Content.ReadAsStringAsync();
|
|
var response = JsonConvert.DeserializeObject<ApiResponseDTO<UserDTO>>(jsonString);
|
|
|
|
return response ?? new ApiResponseDTO<UserDTO>
|
|
{
|
|
IsSuccess = false,
|
|
};
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
// Hiba visszaadása
|
|
return new ApiResponseDTO<UserDTO>
|
|
{
|
|
IsSuccess = false
|
|
};
|
|
}
|
|
}
|
|
}
|
|
}
|