This commit is contained in:
Suphonchai Phoonsawat 2024-06-20 13:37:25 +07:00
parent 6c09c68c5c
commit 1ae6f5e8d1
23 changed files with 304 additions and 123 deletions

View file

@ -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;
} }

View file

@ -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;
} }

View file

@ -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)

View file

@ -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;
} }

View file

@ -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;
} }

View file

@ -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)

View file

@ -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;
} }

View file

@ -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;
} }

View file

@ -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;
} }

View file

@ -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;
} }

View file

@ -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;
} }

View file

@ -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;
} }

View file

@ -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();
}
}

View file

@ -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

View file

@ -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; }
}
}

View file

@ -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;
}
}

View 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;
}
}

View file

@ -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; }
}
}

View file

@ -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; }
} }
} }

View file

@ -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"),

View file

@ -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();

View file

@ -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)
{ {

View file

@ -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;
} }