fix api
This commit is contained in:
parent
6c09c68c5c
commit
1ae6f5e8d1
23 changed files with 304 additions and 123 deletions
|
|
@ -45,7 +45,7 @@ namespace BMA.EHR.Application.Repositories.Commands
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (UserId != null || UserId != "")
|
if (UserId != null || UserId != "")
|
||||||
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!));
|
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
|
||||||
else
|
else
|
||||||
return Guid.Empty;
|
return Guid.Empty;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ namespace BMA.EHR.Application.Repositories.Commands
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (UserId != null || UserId != "")
|
if (UserId != null || UserId != "")
|
||||||
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!));
|
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
|
||||||
else
|
else
|
||||||
return Guid.Empty;
|
return Guid.Empty;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -101,6 +101,27 @@ namespace BMA.EHR.Application.Repositories
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected async Task<bool> PostExternalAPIBooleanAsync(string apiPath, string accessToken, object? body)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var json = JsonConvert.SerializeObject(body);
|
||||||
|
var stringContent = new StringContent(json, UnicodeEncoding.UTF8, "application/json");
|
||||||
|
stringContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
|
||||||
|
|
||||||
|
using (var client = new HttpClient())
|
||||||
|
{
|
||||||
|
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken.Replace("Bearer ", ""));
|
||||||
|
var _res = await client.PostAsync(apiPath, stringContent);
|
||||||
|
return _res.IsSuccessStatusCode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public async Task<Guid> GetProfileOrganizationAsync(string citizenId)
|
public async Task<Guid> GetProfileOrganizationAsync(string citizenId)
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (UserId != null || UserId != "")
|
if (UserId != null || UserId != "")
|
||||||
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!));
|
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
|
||||||
else
|
else
|
||||||
return Guid.Empty;
|
return Guid.Empty;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (UserId != null || UserId != "")
|
if (UserId != null || UserId != "")
|
||||||
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!));
|
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
|
||||||
else
|
else
|
||||||
return Guid.Empty;
|
return Guid.Empty;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (UserId != null || UserId != "")
|
if (UserId != null || UserId != "")
|
||||||
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!));
|
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
|
||||||
else
|
else
|
||||||
return Guid.Empty;
|
return Guid.Empty;
|
||||||
}
|
}
|
||||||
|
|
@ -75,7 +75,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken ?? "");
|
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken ?? "");
|
||||||
var profile_id = profile == null ? Guid.Empty : profile.Id;
|
var profile_id = profile == null ? Guid.Empty : profile.Id;
|
||||||
|
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile_id);
|
var rootOc = _userProfileRepository.GetRootOcId(profile_id, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
var list = new List<OrganizationApproverResponse>();
|
var list = new List<OrganizationApproverResponse>();
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (UserId != null || UserId != "")
|
if (UserId != null || UserId != "")
|
||||||
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!));
|
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
|
||||||
else
|
else
|
||||||
return Guid.Empty;
|
return Guid.Empty;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (UserId != null || UserId != "")
|
if (UserId != null || UserId != "")
|
||||||
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!));
|
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
|
||||||
else
|
else
|
||||||
return Guid.Empty;
|
return Guid.Empty;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (UserId != null || UserId != "")
|
if (UserId != null || UserId != "")
|
||||||
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!));
|
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
|
||||||
else
|
else
|
||||||
return Guid.Empty;
|
return Guid.Empty;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (UserId != null || UserId != "")
|
if (UserId != null || UserId != "")
|
||||||
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!));
|
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
|
||||||
else
|
else
|
||||||
return Guid.Empty;
|
return Guid.Empty;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (UserId != null || UserId != "")
|
if (UserId != null || UserId != "")
|
||||||
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!));
|
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
|
||||||
else
|
else
|
||||||
return Guid.Empty;
|
return Guid.Empty;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -92,31 +92,43 @@ namespace BMA.EHR.Application.Repositories
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> UpdateDutyTimeAsync(Guid profileId, Guid roundId, DateTime effectiveDate)
|
public async Task<bool> UpdateDutyTimeAsync(Guid profileId, Guid roundId, DateTime effectiveDate, string? accessToken)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var profile = await _dbContext.Set<Profile>()
|
var apiPath = $"{_configuration["API"]}/org/dotnet/update-dutytime";
|
||||||
.AsQueryable()
|
|
||||||
.Include(x => x.Prefix)
|
|
||||||
.FirstOrDefaultAsync(x => x.Id == profileId);
|
|
||||||
|
|
||||||
if (profile == null)
|
var body = new
|
||||||
{
|
{
|
||||||
throw new Exception(GlobalMessages.DataNotFound);
|
EffevtiveDate = effectiveDate,
|
||||||
}
|
RoundId = roundId,
|
||||||
else
|
ProfileId = profileId
|
||||||
{
|
};
|
||||||
var fullName = $"{profile.Prefix.Name}{profile.FirstName} {profile.LastName}";
|
|
||||||
Console.WriteLine(fullName);
|
|
||||||
|
|
||||||
profile.DutyTimeId = roundId;
|
var apiResult = await PostExternalAPIBooleanAsync(apiPath, accessToken ?? "", body);
|
||||||
profile.DutyTimeEffectiveDate = effectiveDate;
|
|
||||||
|
|
||||||
await UpdateAsync(profile);
|
return apiResult;
|
||||||
|
//var profile = await _dbContext.Set<Profile>()
|
||||||
|
// .AsQueryable()
|
||||||
|
// .Include(x => x.Prefix)
|
||||||
|
// .FirstOrDefaultAsync(x => x.Id == profileId);
|
||||||
|
|
||||||
return true;
|
//if (profile == null)
|
||||||
}
|
//{
|
||||||
|
// throw new Exception(GlobalMessages.DataNotFound);
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// var fullName = $"{profile.Prefix.Name}{profile.FirstName} {profile.LastName}";
|
||||||
|
// Console.WriteLine(fullName);
|
||||||
|
|
||||||
|
// profile.DutyTimeId = roundId;
|
||||||
|
// profile.DutyTimeEffectiveDate = effectiveDate;
|
||||||
|
|
||||||
|
// await UpdateAsync(profile);
|
||||||
|
|
||||||
|
// return true;
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
|
@ -124,16 +136,21 @@ namespace BMA.EHR.Application.Repositories
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<Profile>> GetProfileWithKeycloak()
|
public async Task<List<GetProfileByKeycloakIdDto>> GetProfileWithKeycloak(string? accessToken)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var data = await _dbContext.Set<Profile>().AsQueryable()
|
var apiPath = $"{_configuration["API"]}/org/dotnet/keycloak";
|
||||||
.Where(x => x.ProfileType == "officer")
|
|
||||||
.Where(x => x.KeycloakId != null)
|
|
||||||
.ToListAsync();
|
|
||||||
|
|
||||||
return data;
|
var apiResult = await GetExternalAPIAsync(apiPath, accessToken ?? "");
|
||||||
|
if (apiResult != null)
|
||||||
|
{
|
||||||
|
var raw = JsonConvert.DeserializeObject<GetListProfileByKeycloakIdResultDto>(apiResult);
|
||||||
|
if (raw != null)
|
||||||
|
return raw.Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
|
@ -193,28 +210,51 @@ namespace BMA.EHR.Application.Repositories
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<Profile>> SearchProfileEmployee(string? citizenId, string? firstName, string? lastName)
|
public async Task<List<SearchProfileDto>> SearchProfileEmployee(string? citizenId, string? firstName, string? lastName, string accessToken)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var data = _dbContext.Set<Profile>().AsQueryable()
|
var apiPath = $"{_configuration["API"]}/org/dotnet/search-employee";
|
||||||
.Where(x => x.ProfileType == "employee");
|
var body = new
|
||||||
|
{
|
||||||
|
citizenId = citizenId,
|
||||||
|
firstName = firstName,
|
||||||
|
lastName = lastName
|
||||||
|
};
|
||||||
|
|
||||||
|
var profiles = new List<SearchProfileDto>();
|
||||||
|
|
||||||
|
var apiResult = await PostExternalAPIAsync(apiPath, accessToken, body);
|
||||||
|
if (apiResult != null)
|
||||||
|
{
|
||||||
|
var raw = JsonConvert.DeserializeObject<SearchProfileResultDto>(apiResult);
|
||||||
|
if (raw != null && raw.Result != null)
|
||||||
|
{
|
||||||
|
profiles.AddRange(raw.Result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return profiles;
|
||||||
|
|
||||||
|
|
||||||
if (citizenId != null)
|
//var data = _dbContext.Set<Profile>().AsQueryable()
|
||||||
data = data.Where(x => x.CitizenId!.Contains(citizenId));
|
// .Where(x => x.ProfileType == "employee");
|
||||||
|
|
||||||
if (firstName != null)
|
|
||||||
data = data.Where(x => x.FirstName!.Contains(firstName));
|
|
||||||
|
|
||||||
if (lastName != null)
|
|
||||||
data = data.Where(x => x.LastName!.Contains(lastName));
|
|
||||||
|
|
||||||
data = data.Include(x => x.Prefix);
|
|
||||||
//.Include(x => x.PosNoEmployee);
|
|
||||||
|
|
||||||
|
|
||||||
return await data.ToListAsync();
|
//if (citizenId != null)
|
||||||
|
// data = data.Where(x => x.CitizenId!.Contains(citizenId));
|
||||||
|
|
||||||
|
//if (firstName != null)
|
||||||
|
// data = data.Where(x => x.FirstName!.Contains(firstName));
|
||||||
|
|
||||||
|
//if (lastName != null)
|
||||||
|
// data = data.Where(x => x.LastName!.Contains(lastName));
|
||||||
|
|
||||||
|
//data = data.Include(x => x.Prefix);
|
||||||
|
////.Include(x => x.PosNoEmployee);
|
||||||
|
|
||||||
|
|
||||||
|
//return await data.ToListAsync();
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
|
@ -222,17 +262,22 @@ namespace BMA.EHR.Application.Repositories
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetUserFullName(Guid keycloakId)
|
public string GetUserFullName(Guid keycloakId, string? accessToken)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var data = _dbContext.Set<Profile>().AsQueryable()
|
var apiPath = $"{_configuration["API"]}/org/dotnet/keycloak";
|
||||||
.Include(x => x.Prefix)
|
|
||||||
.Where(x => x.KeycloakId == keycloakId)
|
var apiResult = GetExternalAPIAsync(apiPath, accessToken ?? "");
|
||||||
.Select(x => $"{x.Prefix!.Name}{x.FirstName} {x.LastName}")
|
if (apiResult.Result != null)
|
||||||
.FirstOrDefault();
|
{
|
||||||
|
var raw = JsonConvert.DeserializeObject<GetUserFullNameResultDto>(apiResult.Result);
|
||||||
|
if (raw != null)
|
||||||
|
return raw.Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
return string.Empty;
|
||||||
|
|
||||||
return data ?? "-";
|
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
|
@ -240,21 +285,34 @@ namespace BMA.EHR.Application.Repositories
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Guid GetUserOCId(Guid keycloakId)
|
public Guid GetUserOCId(Guid keycloakId, string? accessToken)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var data = _dbContext.Set<ProfilePosition>()
|
|
||||||
.Include(x => x.Profile)
|
|
||||||
.Include(x => x.OrganizationPosition)
|
|
||||||
.ThenInclude(x => x.Organization)
|
|
||||||
.Where(x => x.Profile!.KeycloakId == keycloakId)
|
|
||||||
.FirstOrDefault();
|
|
||||||
|
|
||||||
if (data == null)
|
var apiPath = $"{_configuration["API"]}/org/dotnet/user-oc/{keycloakId}";
|
||||||
throw new Exception(GlobalMessages.DataNotFound);
|
|
||||||
|
|
||||||
return data.OrganizationPosition!.Organization!.Id;
|
var apiResult = GetExternalAPIAsync(apiPath, accessToken ?? "");
|
||||||
|
if (apiResult.Result != null)
|
||||||
|
{
|
||||||
|
var raw = JsonConvert.DeserializeObject<GetUserOCIdResultDto>(apiResult.Result);
|
||||||
|
if (raw != null)
|
||||||
|
return raw.Result!.RootId;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Guid.Empty;
|
||||||
|
|
||||||
|
//var data = _dbContext.Set<ProfilePosition>()
|
||||||
|
// .Include(x => x.Profile)
|
||||||
|
// .Include(x => x.OrganizationPosition)
|
||||||
|
// .ThenInclude(x => x.Organization)
|
||||||
|
// .Where(x => x.Profile!.KeycloakId == keycloakId)
|
||||||
|
// .FirstOrDefault();
|
||||||
|
|
||||||
|
//if (data == null)
|
||||||
|
// throw new Exception(GlobalMessages.DataNotFound);
|
||||||
|
|
||||||
|
//return data.OrganizationPosition!.Organization!.Id;
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
|
@ -262,14 +320,26 @@ namespace BMA.EHR.Application.Repositories
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Guid? GetRootOcId(Guid ocId)
|
public Guid? GetRootOcId(Guid ocId, string? accessToken)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var data = _dbContext.Set<OrganizationEntity>()
|
var apiPath = $"{_configuration["API"]}/org/dotnet/root-oc/{ocId}";
|
||||||
.FirstOrDefault(o => o.Id == ocId);
|
|
||||||
|
|
||||||
return data == null ? Guid.Empty : data.OrganizationAgencyId;
|
var apiResult = GetExternalAPIAsync(apiPath, accessToken ?? "");
|
||||||
|
if (apiResult.Result != null)
|
||||||
|
{
|
||||||
|
var raw = JsonConvert.DeserializeObject<GetRootOCIdResultDto>(apiResult.Result);
|
||||||
|
if (raw != null)
|
||||||
|
return raw.Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
|
||||||
|
//var data = _dbContext.Set<OrganizationEntity>()
|
||||||
|
// .FirstOrDefault(o => o.Id == ocId);
|
||||||
|
|
||||||
|
//return data == null ? Guid.Empty : data.OrganizationAgencyId;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
namespace BMA.EHR.Application.Responses.Profiles
|
||||||
|
{
|
||||||
|
public class GetListProfileByKeycloakIdResultDto
|
||||||
|
{
|
||||||
|
public string Message { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public int Status { get; set; } = -1;
|
||||||
|
|
||||||
|
public List<GetProfileByKeycloakIdDto> Result { get; set; } = new();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -29,6 +29,12 @@ namespace BMA.EHR.Application.Responses.Profiles
|
||||||
|
|
||||||
public List<ProfileSalary> Salaries { get; set; } = new();
|
public List<ProfileSalary> Salaries { get; set; } = new();
|
||||||
|
|
||||||
|
public Guid? Keycloak { get; set; }
|
||||||
|
|
||||||
|
public string? PosNo { get; set; }
|
||||||
|
|
||||||
|
public string? PosNoEmployee { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class PosLevel
|
public class PosLevel
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
namespace BMA.EHR.Application.Responses.Profiles
|
||||||
|
{
|
||||||
|
public class GetRootOCIdResultDto
|
||||||
|
{
|
||||||
|
public string Message { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public int Status { get; set; } = -1;
|
||||||
|
|
||||||
|
public Guid Result { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
namespace BMA.EHR.Application.Responses.Profiles
|
||||||
|
{
|
||||||
|
public class GetUserFullNameResultDto
|
||||||
|
{
|
||||||
|
public string Message { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public int Status { get; set; } = -1;
|
||||||
|
|
||||||
|
public string Result { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
29
BMA.EHR.Application/Responses/Profiles/GetUserOCIdDto.cs
Normal file
29
BMA.EHR.Application/Responses/Profiles/GetUserOCIdDto.cs
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
namespace BMA.EHR.Application.Responses.Profiles
|
||||||
|
{
|
||||||
|
public class GetUserOCIdDto
|
||||||
|
{
|
||||||
|
public Guid ProfileId { get; set; }
|
||||||
|
|
||||||
|
public string Prefix { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string Rank { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string Avatar { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string FirstName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string LastName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string CitizenId { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public DateTime BirthDate { get; set; } = DateTime.MinValue;
|
||||||
|
|
||||||
|
public string Position { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public Guid RootId { get; set; }
|
||||||
|
|
||||||
|
public string Root { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string RootShortName { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
namespace BMA.EHR.Application.Responses.Profiles
|
||||||
|
{
|
||||||
|
public class GetUserOCIdResultDto
|
||||||
|
{
|
||||||
|
public string Message { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public int Status { get; set; } = -1;
|
||||||
|
|
||||||
|
public GetUserOCIdDto? Result { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -8,5 +8,13 @@
|
||||||
public string? FirstName { get; set; }
|
public string? FirstName { get; set; }
|
||||||
public string? LastName { get; set; }
|
public string? LastName { get; set; }
|
||||||
public string? CitizenId { get; set; }
|
public string? CitizenId { get; set; }
|
||||||
|
|
||||||
|
public Guid? Keycloak { get; set; }
|
||||||
|
|
||||||
|
public string? PosNoEmployee { get; set; }
|
||||||
|
|
||||||
|
public string? Oc { get; set; }
|
||||||
|
|
||||||
|
public string? PosNo { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -102,7 +102,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (UserId != null || UserId != "")
|
if (UserId != null || UserId != "")
|
||||||
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!));
|
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
|
||||||
else
|
else
|
||||||
return Guid.Empty;
|
return Guid.Empty;
|
||||||
}
|
}
|
||||||
|
|
@ -687,7 +687,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
.Select(d => new CheckInHistoryForAdminDto
|
.Select(d => new CheckInHistoryForAdminDto
|
||||||
{
|
{
|
||||||
Id = d.Id,
|
Id = d.Id,
|
||||||
FullName = _userProfileRepository.GetUserFullName(d.KeycloakUserId),
|
FullName = _userProfileRepository.GetUserFullName(d.KeycloakUserId, AccessToken),
|
||||||
|
|
||||||
CheckInDate = d.CheckIn.Date,
|
CheckInDate = d.CheckIn.Date,
|
||||||
CheckInTime = d.CheckIn.ToString("HH:mm:ss"),
|
CheckInTime = d.CheckIn.ToString("HH:mm:ss"),
|
||||||
|
|
@ -773,7 +773,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var result = new CheckInDetailForAdminDto
|
var result = new CheckInDetailForAdminDto
|
||||||
{
|
{
|
||||||
Id = d.Id,
|
Id = d.Id,
|
||||||
FullName = _userProfileRepository.GetUserFullName(d.KeycloakUserId),
|
FullName = _userProfileRepository.GetUserFullName(d.KeycloakUserId, AccessToken),
|
||||||
|
|
||||||
CheckInDate = d.CheckIn.Date,
|
CheckInDate = d.CheckIn.Date,
|
||||||
CheckInTime = d.CheckIn.ToString("HH:mm"),
|
CheckInTime = d.CheckIn.ToString("HH:mm"),
|
||||||
|
|
@ -873,7 +873,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
.Select(d => new CheckInProcessHistoryForAdminDto
|
.Select(d => new CheckInProcessHistoryForAdminDto
|
||||||
{
|
{
|
||||||
Id = d.Id,
|
Id = d.Id,
|
||||||
FullName = _userProfileRepository.GetUserFullName(d.KeycloakUserId),
|
FullName = _userProfileRepository.GetUserFullName(d.KeycloakUserId, AccessToken),
|
||||||
|
|
||||||
CheckInDate = d.CheckIn.Date,
|
CheckInDate = d.CheckIn.Date,
|
||||||
CheckInTime = d.CheckIn.ToString("HH:mm"),
|
CheckInTime = d.CheckIn.ToString("HH:mm"),
|
||||||
|
|
@ -1387,7 +1387,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var result = new CheckInDetailForAdminDto
|
var result = new CheckInDetailForAdminDto
|
||||||
{
|
{
|
||||||
Id = d.Id,
|
Id = d.Id,
|
||||||
FullName = _userProfileRepository.GetUserFullName(d.KeycloakUserId),
|
FullName = _userProfileRepository.GetUserFullName(d.KeycloakUserId, AccessToken),
|
||||||
|
|
||||||
CheckInDate = d.CheckIn.Date,
|
CheckInDate = d.CheckIn.Date,
|
||||||
CheckInTime = d.CheckIn.ToString("HH:mm"),
|
CheckInTime = d.CheckIn.ToString("HH:mm"),
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (UserId != null || UserId != "")
|
if (UserId != null || UserId != "")
|
||||||
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!));
|
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
|
||||||
else
|
else
|
||||||
return Guid.Empty;
|
return Guid.Empty;
|
||||||
}
|
}
|
||||||
|
|
@ -113,7 +113,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
await _leaveRequestRepository.GetLastLeaveRequestByTypeForUserAsync(data.KeycloakUserId,
|
await _leaveRequestRepository.GetLastLeaveRequestByTypeForUserAsync(data.KeycloakUserId,
|
||||||
data.Type.Id);
|
data.Type.Id);
|
||||||
|
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty);
|
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
{
|
{
|
||||||
|
|
@ -164,7 +164,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||||
|
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty);
|
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
{
|
{
|
||||||
|
|
@ -208,7 +208,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||||
|
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty);
|
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
{
|
{
|
||||||
|
|
@ -259,7 +259,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||||
|
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty);
|
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
{
|
{
|
||||||
|
|
@ -342,7 +342,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||||
|
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty);
|
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
{
|
{
|
||||||
|
|
@ -390,7 +390,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||||
|
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty);
|
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
{
|
{
|
||||||
|
|
@ -445,7 +445,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||||
|
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty);
|
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
{
|
{
|
||||||
|
|
@ -487,7 +487,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||||
|
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty);
|
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
{
|
{
|
||||||
|
|
@ -542,7 +542,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||||
|
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty);
|
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
{
|
{
|
||||||
|
|
@ -692,7 +692,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||||
|
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty);
|
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
{
|
{
|
||||||
|
|
@ -749,7 +749,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//var profile = await _userProfileRepository.SearchProfile(null, null, null);
|
//var profile = await _userProfileRepository.SearchProfile(null, null, null);
|
||||||
var profile = await _userProfileRepository.GetProfileWithKeycloak();
|
var profile = await _userProfileRepository.GetProfileWithKeycloak(AccessToken);
|
||||||
|
|
||||||
var count = 1;
|
var count = 1;
|
||||||
var employees = new List<dynamic>();
|
var employees = new List<dynamic>();
|
||||||
|
|
@ -761,7 +761,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var sickType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-001");
|
var sickType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-001");
|
||||||
if (sickType == null)
|
if (sickType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var sickDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var sickDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
sickType.Id,
|
sickType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -769,7 +769,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var personalType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-002");
|
var personalType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-002");
|
||||||
if (personalType == null)
|
if (personalType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var personalDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var personalDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
personalType.Id,
|
personalType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -777,7 +777,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var maternityType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-003");
|
var maternityType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-003");
|
||||||
if (maternityType == null)
|
if (maternityType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var maternityDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var maternityDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
maternityType.Id,
|
maternityType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -785,7 +785,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var wifeType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-004");
|
var wifeType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-004");
|
||||||
if (wifeType == null)
|
if (wifeType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var wifeDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var wifeDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
wifeType.Id,
|
wifeType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -793,7 +793,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var restType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-005");
|
var restType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-005");
|
||||||
if (restType == null)
|
if (restType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var restDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var restDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
restType.Id,
|
restType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -801,7 +801,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var ordainType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-006");
|
var ordainType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-006");
|
||||||
if (ordainType == null)
|
if (ordainType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var ordainDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var ordainDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
ordainType.Id,
|
ordainType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -809,7 +809,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var absentType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-007");
|
var absentType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-007");
|
||||||
if (absentType == null)
|
if (absentType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var absentDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var absentDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
absentType.Id,
|
absentType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -817,7 +817,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var studyType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-008");
|
var studyType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-008");
|
||||||
if (studyType == null)
|
if (studyType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var studyDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var studyDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
studyType.Id,
|
studyType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -825,7 +825,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var agencyType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-009");
|
var agencyType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-009");
|
||||||
if (agencyType == null)
|
if (agencyType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var agencyDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var agencyDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
agencyType.Id,
|
agencyType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -833,7 +833,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var coupleType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-010");
|
var coupleType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-010");
|
||||||
if (coupleType == null)
|
if (coupleType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var coupleDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var coupleDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
coupleType.Id,
|
coupleType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -841,12 +841,12 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var therapyType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-011");
|
var therapyType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-011");
|
||||||
if (therapyType == null)
|
if (therapyType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var therapyDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var therapyDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
therapyType.Id,
|
therapyType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
||||||
var timeStamps = await _processUserTimeStampRepository.GetTimeStampHistoryByRangeForUserAsync(p.KeycloakId ?? Guid.Empty,
|
var timeStamps = await _processUserTimeStampRepository.GetTimeStampHistoryByRangeForUserAsync(p.Keycloak ?? Guid.Empty,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
||||||
|
|
@ -890,10 +890,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var emp = new
|
var emp = new
|
||||||
{
|
{
|
||||||
no = count,
|
no = count,
|
||||||
fullName = _userProfileRepository.GetUserFullName(p.KeycloakId ?? Guid.Empty),
|
fullName = _userProfileRepository.GetUserFullName(p.Keycloak ?? Guid.Empty, AccessToken),
|
||||||
position = p.Position == null ? "" : p.Position.Name,
|
position = p.Position == null ? "" : p.Position,
|
||||||
positionLevel = p.PositionLevel == null ? "" : p.PositionLevel.Name,
|
positionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
|
||||||
posNo = p.PosNo == null ? "" : p.PosNo.Name,
|
posNo = p.PosNo ?? "",
|
||||||
reason = "",
|
reason = "",
|
||||||
|
|
||||||
sickDayCount = sickDayCount,
|
sickDayCount = sickDayCount,
|
||||||
|
|
@ -966,7 +966,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var profile = await _userProfileRepository.SearchProfileEmployee(null, null, null);
|
var profile = await _userProfileRepository.SearchProfileEmployee(null, null, null, AccessToken ?? "");
|
||||||
var count = 1;
|
var count = 1;
|
||||||
var employees = new List<dynamic>();
|
var employees = new List<dynamic>();
|
||||||
|
|
||||||
|
|
@ -977,11 +977,12 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var sickType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-001");
|
var sickType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-001");
|
||||||
if (sickType == null)
|
if (sickType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var sickDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var sickDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
sickType.Id,
|
sickType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
var sickCount = await _leaveRequestRepository.GetCountApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
|
||||||
|
var sickCount = await _leaveRequestRepository.GetCountApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
sickType.Id,
|
sickType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -989,12 +990,12 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var personalType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-002");
|
var personalType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-002");
|
||||||
if (personalType == null)
|
if (personalType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var personalDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var personalDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
personalType.Id,
|
personalType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
||||||
var personalCount = await _leaveRequestRepository.GetCountApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var personalCount = await _leaveRequestRepository.GetCountApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
personalType.Id,
|
personalType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -1002,7 +1003,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var maternityType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-003");
|
var maternityType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-003");
|
||||||
if (maternityType == null)
|
if (maternityType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var maternityDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var maternityDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
maternityType.Id,
|
maternityType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -1010,7 +1011,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var wifeType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-004");
|
var wifeType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-004");
|
||||||
if (wifeType == null)
|
if (wifeType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var wifeDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var wifeDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
wifeType.Id,
|
wifeType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -1018,7 +1019,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var restType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-005");
|
var restType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-005");
|
||||||
if (restType == null)
|
if (restType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var restDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var restDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
restType.Id,
|
restType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
@ -1026,12 +1027,12 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var ordainType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-006");
|
var ordainType = await _leaveTypeRepository.GetLeaveTypeByCodeAsync("LV-006");
|
||||||
if (ordainType == null)
|
if (ordainType == null)
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
var ordainDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.KeycloakId ?? Guid.Empty,
|
var ordainDayCount = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRangeForUser(p.Keycloak ?? Guid.Empty,
|
||||||
ordainType.Id,
|
ordainType.Id,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
||||||
var timeStamps = await _processUserTimeStampRepository.GetTimeStampHistoryByRangeForUserAsync(p.KeycloakId ?? Guid.Empty,
|
var timeStamps = await _processUserTimeStampRepository.GetTimeStampHistoryByRangeForUserAsync(p.Keycloak ?? Guid.Empty,
|
||||||
req.StartDate,
|
req.StartDate,
|
||||||
req.EndDate);
|
req.EndDate);
|
||||||
|
|
||||||
|
|
@ -1074,7 +1075,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var emp = new
|
var emp = new
|
||||||
{
|
{
|
||||||
no = count,
|
no = count,
|
||||||
fullName = _userProfileRepository.GetUserFullName(p.KeycloakId ?? Guid.Empty),
|
fullName = _userProfileRepository.GetUserFullName(p.Keycloak ?? Guid.Empty, AccessToken),
|
||||||
posNo = p.PosNoEmployee ?? "",
|
posNo = p.PosNoEmployee ?? "",
|
||||||
reason = "",
|
reason = "",
|
||||||
|
|
||||||
|
|
@ -1137,7 +1138,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//var profile = await _userProfileRepository.SearchProfile(null, null, null);
|
//var profile = await _userProfileRepository.SearchProfile(null, null, null);
|
||||||
var profile = await _userProfileRepository.GetProfileWithKeycloak();
|
var profile = await _userProfileRepository.GetProfileWithKeycloak(AccessToken);
|
||||||
var date = req.StartDate.Date;
|
var date = req.StartDate.Date;
|
||||||
|
|
||||||
var holidays = await _holidayRepository.GetHolidayAsync(req.StartDate.Date, req.EndDate.Date);
|
var holidays = await _holidayRepository.GetHolidayAsync(req.StartDate.Date, req.EndDate.Date);
|
||||||
|
|
@ -1168,11 +1169,11 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
foreach (var p in profile)
|
foreach (var p in profile)
|
||||||
{
|
{
|
||||||
|
|
||||||
var keycloakUserId = p.KeycloakId ?? Guid.Empty;
|
var keycloakUserId = p.Keycloak ?? Guid.Empty;
|
||||||
|
|
||||||
var timeStamps = await _processUserTimeStampRepository.GetTimestampByDateAsync(keycloakUserId, dd);
|
var timeStamps = await _processUserTimeStampRepository.GetTimestampByDateAsync(keycloakUserId, dd);
|
||||||
|
|
||||||
var fullName = _userProfileRepository.GetUserFullName(keycloakUserId);
|
var fullName = _userProfileRepository.GetUserFullName(keycloakUserId, AccessToken);
|
||||||
|
|
||||||
|
|
||||||
var defaultRound = await _dutyTimeRepository.GetDefaultAsync();
|
var defaultRound = await _dutyTimeRepository.GetDefaultAsync();
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (UserId != null || UserId != "")
|
if (UserId != null || UserId != "")
|
||||||
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!));
|
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
|
||||||
else
|
else
|
||||||
return Guid.Empty;
|
return Guid.Empty;
|
||||||
}
|
}
|
||||||
|
|
@ -298,7 +298,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
}
|
}
|
||||||
|
|
||||||
// add dear and oc_data
|
// add dear and oc_data
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty);
|
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
{
|
{
|
||||||
|
|
@ -524,7 +524,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
}
|
}
|
||||||
|
|
||||||
// add dear and oc_data
|
// add dear and oc_data
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty);
|
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
{
|
{
|
||||||
|
|
@ -613,7 +613,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var lastSalary = profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault();
|
var lastSalary = profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault();
|
||||||
|
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty);
|
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
{
|
{
|
||||||
|
|
@ -1423,7 +1423,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
await _leaveRequestRepository.GetLastLeaveRequestByTypeForUserAsync(rawData.KeycloakUserId,
|
await _leaveRequestRepository.GetLastLeaveRequestByTypeForUserAsync(rawData.KeycloakUserId,
|
||||||
rawData.Type.Id);
|
rawData.Type.Id);
|
||||||
|
|
||||||
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty);
|
var rootOc = _userProfileRepository.GetRootOcId(profile.OcId ?? Guid.Empty, AccessToken);
|
||||||
var approver = string.Empty;
|
var approver = string.Empty;
|
||||||
if (rootOc != null)
|
if (rootOc != null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -55,12 +55,14 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
private bool? PlacementAdmin => _httpContextAccessor?.HttpContext?.User?.IsInRole("placement1");
|
private bool? PlacementAdmin => _httpContextAccessor?.HttpContext?.User?.IsInRole("placement1");
|
||||||
|
|
||||||
|
private string? AccessToken => _httpContextAccessor?.HttpContext?.Request.Headers["Authorization"];
|
||||||
|
|
||||||
private Guid OcId
|
private Guid OcId
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (UserId != null || UserId != "")
|
if (UserId != null || UserId != "")
|
||||||
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!));
|
return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
|
||||||
else
|
else
|
||||||
return Guid.Empty;
|
return Guid.Empty;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue