Files
WorkFlowCheck/src/WorkFlowCheck.Web/Services/UserService.cs
T
2025-04-14 12:31:50 +02:00

570 lines
19 KiB
C#

using Newtonsoft.Json;
using Serilog;
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<UserDTO> GetUser(int id)
{
string endpoint = $"{_httpClient.BaseAddress}api/User/GetUser/{id}";
var retVal = new UserDTO() { RoleDTO = new List<RoleDTO>() };
try
{
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<UserDTO>>(endpoint);
if (response != null)
{
if (response.IsSuccess)
{
return response.Data;
}
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
public async Task<List<UserDTO>> GetAllUsers()
{
string endpoint = $"{_httpClient.BaseAddress}api/User/GetAllUsers";
var retVal = new List<UserDTO>();
try
{
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<List<UserDTO>>>(endpoint);
if (response != null)
{
if (response.IsSuccess)
{
return response.Data;
}
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
public async Task<ApiResponseDTO<UserDTO>> UpdateUser(UserDTO userDTO)
{
try
{
string endpoint = $"{_httpClient.BaseAddress}api/user/updateUser";
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
};
}
}
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 userSimpleDTO = new UserSimpleDTO()
{
UserName = username,
Password = password,
};
using (HttpResponseMessage httpResponseMessage = await _httpClient.PostAsJsonAsync(endpoint, userSimpleDTO))
{
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
};
}
}
public async Task<ApiResponseDTO<string>> Authenticate2F1(string username, string password)
{
try
{
// Az API végpont meghatározása
string endpoint = $"{_httpClient.BaseAddress}api/User/Authenticate2F1";
var userSimpleDTO = new UserSimpleDTO()
{
UserName = username,
Password = password,
};
using (HttpResponseMessage httpResponseMessage = await _httpClient.PostAsJsonAsync(endpoint, userSimpleDTO))
{
httpResponseMessage.EnsureSuccessStatusCode();
var jsonString = await httpResponseMessage.Content.ReadAsStringAsync();
var response = JsonConvert.DeserializeObject<ApiResponseDTO<string>>(jsonString);
return response ?? new ApiResponseDTO<string>
{
IsSuccess = false,
};
}
}
catch (Exception ex)
{
// Hiba visszaadása
return new ApiResponseDTO<string>
{
IsSuccess = false
};
}
}
public async Task<ApiResponseDTO<UserDTO>> Authenticate2F2(string userName, string password, string code, string token2FA)
{
try
{
string endpoint = $"{_httpClient.BaseAddress}api/User/Authenticate2F2";
var userSimpleDTO = new User2FADTO()
{
UserName = userName,
Password = password,
Code = code,
Token2FA = token2FA
};
using (HttpResponseMessage httpResponseMessage = await _httpClient.PostAsJsonAsync(endpoint, userSimpleDTO))
{
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)
{
return new ApiResponseDTO<UserDTO>
{
IsSuccess = false
};
}
}
public async Task<ApiResponseDTO<UserDTO>> Authenticate2F2ChangePassword(string username, string oldpassword, string newpassword, string code, string token2FA)
{
try
{
string endpoint = $"{_httpClient.BaseAddress}api/User/Authenticate2F2ChangePassword";
var userSimpleDTO = new UserChangePassword2FADTO()
{
UserName = username,
OldPassword = oldpassword,
NewPassword1 = newpassword,
NewPassword2 = newpassword,
Code = code,
Token2FA = token2FA
};
using (HttpResponseMessage httpResponseMessage = await _httpClient.PostAsJsonAsync(endpoint, userSimpleDTO))
{
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)
{
return new ApiResponseDTO<UserDTO>
{
IsSuccess = false
};
}
}
public async Task<bool> DeleteUser(int id)
{
string endpoint = $"{_httpClient.BaseAddress}api/User/DeleteUser/{id}";
var retVal = false;
try
{
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<bool>>(endpoint);
if (response != null)
{
if (response.IsSuccess)
{
return response.Data;
}
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
public async Task<RoleDTO> GetRole(int id)
{
string endpoint = $"{_httpClient.BaseAddress}api/User/GetRole/{id}";
var retVal = new RoleDTO();
try
{
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<RoleDTO>>(endpoint);
if (response != null)
{
if (response.IsSuccess)
{
return response.Data;
}
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
public async Task<List<RoleDTO>> GetAllRoles()
{
string endpoint = $"{_httpClient.BaseAddress}api/User/GetAllRoles";
var retVal = new List<RoleDTO>();
try
{
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<List<RoleDTO>>>(endpoint);
if (response != null)
{
if (response.IsSuccess)
{
return response.Data;
}
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
public async Task<ApiResponseDTO<RoleDTO>> UpdateRole(RoleDTO roleDTO)
{
try
{
string endpoint = $"{_httpClient.BaseAddress}api/user/updateRole";
using (HttpResponseMessage httpResponseMessage = await _httpClient.PostAsJsonAsync(endpoint, roleDTO))
{
httpResponseMessage.EnsureSuccessStatusCode();
var jsonString = await httpResponseMessage.Content.ReadAsStringAsync();
var response = JsonConvert.DeserializeObject<ApiResponseDTO<RoleDTO>>(jsonString);
return response ?? new ApiResponseDTO<RoleDTO>
{
IsSuccess = false,
};
}
}
catch (Exception ex)
{
// Hiba visszaadása
return new ApiResponseDTO<RoleDTO>
{
IsSuccess = false
};
}
}
public async Task<bool> DeleteRole(int id)
{
string endpoint = $"{_httpClient.BaseAddress}api/User/DeleteRole/{id}";
var retVal = false;
try
{
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<bool>>(endpoint);
if (response != null)
{
if (response.IsSuccess)
{
return response.Data;
}
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
public async Task<UserRoleDTO> GetUserRole(int id)
{
string endpoint = $"{_httpClient.BaseAddress}api/user/GetUserRole/{id}";
var retVal = new UserRoleDTO();
try
{
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<UserRoleDTO>>(endpoint);
if (response != null)
{
if (response.IsSuccess)
{
return response.Data;
}
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
public async Task<List<UserRoleDTO>> GetAllUserRoles()
{
string endpoint = $"{_httpClient.BaseAddress}api/User/GetAllUserRoles";
var retVal = new List<UserRoleDTO>();
try
{
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<List<UserRoleDTO>>>(endpoint);
if (response != null)
{
if (response.IsSuccess)
{
return response.Data;
}
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
public async Task<ApiResponseDTO<UserRoleDTO>> UpdateUserRole(UserRoleDTO userRoleDTO)
{
try
{
string endpoint = $"{_httpClient.BaseAddress}api/user/updateUserRole";
using (HttpResponseMessage httpResponseMessage = await _httpClient.PostAsJsonAsync(endpoint, userRoleDTO))
{
httpResponseMessage.EnsureSuccessStatusCode();
var jsonString = await httpResponseMessage.Content.ReadAsStringAsync();
var response = JsonConvert.DeserializeObject<ApiResponseDTO<UserRoleDTO>>(jsonString);
return response ?? new ApiResponseDTO<UserRoleDTO>
{
IsSuccess = false,
};
}
}
catch (Exception ex)
{
// Hiba visszaadása
return new ApiResponseDTO<UserRoleDTO>
{
IsSuccess = false
};
}
}
public async Task<RoleCheckListTemplateHeaderDTO> GetRoleCheckListTemplateHeader(int id)
{
string endpoint = $"{_httpClient.BaseAddress}api/user/GetRoleCheckListTemplateHeader/{id}";
var retVal = new RoleCheckListTemplateHeaderDTO();
try
{
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<RoleCheckListTemplateHeaderDTO>>(endpoint);
if (response != null)
{
if (response.IsSuccess)
{
return response.Data;
}
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
public async Task<List<RoleCheckListTemplateHeaderDTO>> GetAllRoleCheckListTemplates()
{
string endpoint = $"{_httpClient.BaseAddress}api/User/GetAllRoleCheckListTemplateHeaders";
var retVal = new List<RoleCheckListTemplateHeaderDTO>();
try
{
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<List<RoleCheckListTemplateHeaderDTO>>>(endpoint);
if (response != null)
{
if (response.IsSuccess)
{
return response.Data;
}
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
public async Task<ApiResponseDTO<RoleCheckListTemplateHeaderDTO>> UpdateRoleCheckListTemplateHeader(RoleCheckListTemplateHeaderDTO roleCheckListTemplateHeaderDTO)
{
try
{
string endpoint = $"{_httpClient.BaseAddress}api/user/UpdateRoleCheckListTemplateHeader";
using (HttpResponseMessage httpResponseMessage = await _httpClient.PostAsJsonAsync(endpoint, roleCheckListTemplateHeaderDTO))
{
httpResponseMessage.EnsureSuccessStatusCode();
var jsonString = await httpResponseMessage.Content.ReadAsStringAsync();
var response = JsonConvert.DeserializeObject<ApiResponseDTO<RoleCheckListTemplateHeaderDTO>>(jsonString);
return response ?? new ApiResponseDTO<RoleCheckListTemplateHeaderDTO>
{
IsSuccess = false,
};
}
}
catch (Exception ex)
{
// Hiba visszaadása
return new ApiResponseDTO<RoleCheckListTemplateHeaderDTO>
{
IsSuccess = false
};
}
}
public async Task<RoleCheckPointDTO> GetRoleCheckPoint(int id)
{
string endpoint = $"{_httpClient.BaseAddress}api/user/GetRoleCheckPoint/{id}";
var retVal = new RoleCheckPointDTO();
try
{
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<RoleCheckPointDTO>>(endpoint);
if (response != null)
{
if (response.IsSuccess)
{
return response.Data;
}
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
public async Task<List<RoleCheckPointDTO>> GetAllRoleCheckPoints()
{
string endpoint = $"{_httpClient.BaseAddress}api/User/GetAllRoleCheckPoints";
var retVal = new List<RoleCheckPointDTO>();
try
{
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<List<RoleCheckPointDTO>>>(endpoint);
if (response != null)
{
if (response.IsSuccess)
{
return response.Data;
}
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
public async Task<ApiResponseDTO<RoleCheckPointDTO>> UpdateRoleCheckPoint(RoleCheckPointDTO roleCheckPointDTO)
{
try
{
string endpoint = $"{_httpClient.BaseAddress}api/user/UpdateRoleCheckPoint";
using (HttpResponseMessage httpResponseMessage = await _httpClient.PostAsJsonAsync(endpoint, roleCheckPointDTO))
{
httpResponseMessage.EnsureSuccessStatusCode();
var jsonString = await httpResponseMessage.Content.ReadAsStringAsync();
var response = JsonConvert.DeserializeObject<ApiResponseDTO<RoleCheckPointDTO>>(jsonString);
return response ?? new ApiResponseDTO<RoleCheckPointDTO>
{
IsSuccess = false,
};
}
}
catch (Exception ex)
{
// Hiba visszaadása
return new ApiResponseDTO<RoleCheckPointDTO>
{
IsSuccess = false
};
}
}
}
}