Merge branch 'develop'
* develop: fix: สิทธิ์ PARENTข้อมูลแต่ละสำนักไม่เท่ากัน feat: add DNA update functionality and enrich leave beginning data with profile details fix: skip approver check if no commander is assigned; update leave data retrieval logic rollback user/calendar & add api admin/calendar แก้กรองตามสิทธิ์ #2104
This commit is contained in:
commit
b51cf9a919
5 changed files with 175 additions and 43 deletions
|
|
@ -293,7 +293,12 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
FirstName = pf.FirstName,
|
FirstName = pf.FirstName,
|
||||||
LastName = pf.LastName,
|
LastName = pf.LastName,
|
||||||
LeaveDaysUsed = 0,
|
LeaveDaysUsed = 0,
|
||||||
LeaveDays = leaveType?.Code == "LV-005" ? limit : 0
|
LeaveDays = leaveType?.Code == "LV-005" ? limit : 0,
|
||||||
|
RootDnaId = pf.RootDnaId,
|
||||||
|
Child1DnaId = pf.Child1DnaId,
|
||||||
|
Child2DnaId = pf.Child2DnaId,
|
||||||
|
Child3DnaId = pf.Child3DnaId,
|
||||||
|
Child4DnaId = pf.Child4DnaId
|
||||||
};
|
};
|
||||||
|
|
||||||
_dbContext.Set<LeaveBeginning>().Add(data);
|
_dbContext.Set<LeaveBeginning>().Add(data);
|
||||||
|
|
@ -305,6 +310,8 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
|
|
||||||
public async Task<List<LeaveBeginning>> GetAllByYearAndTypeAsync(int year, Guid typeId, List<ProfileData> userIdList)
|
public async Task<List<LeaveBeginning>> GetAllByYearAndTypeAsync(int year, Guid typeId, List<ProfileData> userIdList)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
var updateList = new List<LeaveBeginning>();
|
var updateList = new List<LeaveBeginning>();
|
||||||
var result = new List<LeaveBeginning>();
|
var result = new List<LeaveBeginning>();
|
||||||
|
|
||||||
|
|
@ -321,6 +328,12 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
// continue; // Goto Next Id
|
// continue; // Goto Next Id
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
var profile = await _userProfileRepository.GetProfileByProfileIdAsync(pf.Id, AccessToken);
|
||||||
|
if (profile == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
var govAge = (pf?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
|
var govAge = (pf?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
|
||||||
|
|
||||||
var leaveType = await _dbContext.Set<LeaveType>().FirstOrDefaultAsync(x => x.Id == typeId);
|
var leaveType = await _dbContext.Set<LeaveType>().FirstOrDefaultAsync(x => x.Id == typeId);
|
||||||
|
|
@ -368,7 +381,12 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
FirstName = pf.FirstName,
|
FirstName = pf.FirstName,
|
||||||
LastName = pf.LastName,
|
LastName = pf.LastName,
|
||||||
LeaveDaysUsed = 0,
|
LeaveDaysUsed = 0,
|
||||||
LeaveDays = leaveType?.Code == "LV-005" ? limit : 0
|
LeaveDays = leaveType?.Code == "LV-005" ? limit : 0,
|
||||||
|
RootDnaId = profile.RootDnaId,
|
||||||
|
Child1DnaId = profile.Child1DnaId,
|
||||||
|
Child2DnaId = profile.Child2DnaId,
|
||||||
|
Child3DnaId = profile.Child3DnaId,
|
||||||
|
Child4DnaId = profile.Child4DnaId
|
||||||
};
|
};
|
||||||
|
|
||||||
updateList.Add(data);
|
updateList.Add(data);
|
||||||
|
|
|
||||||
|
|
@ -273,6 +273,46 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<List<LeaveRequest>> GetLeaveRequestByYearForAdminAsync(int year, string role, string? nodeId, int? node)
|
||||||
|
{
|
||||||
|
var rawData = await _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
||||||
|
.Include(x => x.Type)
|
||||||
|
.Where(x => x.LeaveStartDate.Year == year)
|
||||||
|
.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE")
|
||||||
|
.ToListAsync();
|
||||||
|
if (role == "OWNER")
|
||||||
|
{
|
||||||
|
node = null;
|
||||||
|
}
|
||||||
|
if (role == "OWNER" || role == "CHILD")
|
||||||
|
{
|
||||||
|
rawData = rawData
|
||||||
|
.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))).ToList();
|
||||||
|
}
|
||||||
|
else if (role == "ROOT")
|
||||||
|
{
|
||||||
|
rawData = rawData
|
||||||
|
.Where(x => x.RootDnaId == Guid.Parse(nodeId!)).ToList();
|
||||||
|
}
|
||||||
|
else if (role == "PARENT")
|
||||||
|
{
|
||||||
|
rawData = rawData
|
||||||
|
.Where(x => x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId != null).ToList();
|
||||||
|
}
|
||||||
|
else if (role == "NORMAL")
|
||||||
|
{
|
||||||
|
rawData = rawData
|
||||||
|
.Where(x =>
|
||||||
|
node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId == null :
|
||||||
|
node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) && x.Child2DnaId == null :
|
||||||
|
node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) && x.Child3DnaId == null :
|
||||||
|
node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) && x.Child4DnaId == null :
|
||||||
|
node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : true).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
return rawData;
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<List<LeaveRequest>> GetLeaveRequestByUserIdAsync(Guid keycloakUserId, int year, Guid type, string status)
|
public async Task<List<LeaveRequest>> GetLeaveRequestByUserIdAsync(Guid keycloakUserId, int year, Guid type, string status)
|
||||||
{
|
{
|
||||||
var rawData = _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
var rawData = _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
||||||
|
|
@ -1063,9 +1103,17 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
throw new Exception(GlobalMessages.DataNotFound);
|
throw new Exception(GlobalMessages.DataNotFound);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rawData.ApproveStep != "st3")
|
// ถ้าไม่มี commander ข้ามไปเช็ค approver ได้เลย
|
||||||
|
var commanders = rawData.Approvers
|
||||||
|
.Where(x => x.ApproveType!.ToUpper() == "COMMANDER")
|
||||||
|
.OrderBy(x => x.Seq)
|
||||||
|
.ToList();
|
||||||
|
if(commanders.Count > 0 || commanders != null)
|
||||||
{
|
{
|
||||||
throw new Exception("คำขอนี้ยังไม่ได้อยู่ในขั้นตอนที่สามารถอนุมัติได้ ไม่สามารถทำรายการได้");
|
if (rawData.ApproveStep != "st3")
|
||||||
|
{
|
||||||
|
throw new Exception("คำขอนี้ยังไม่ได้อยู่ในขั้นตอนที่สามารถอนุมัติได้ ไม่สามารถทำรายการได้");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// check commander approve
|
// check commander approve
|
||||||
|
|
|
||||||
|
|
@ -311,6 +311,35 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpGet("update-dna")]
|
||||||
|
public async Task<ActionResult<ResponseObject>> UpdateDnaAsync()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var leaveBeginnings = await _context.LeaveBeginnings.ToListAsync();
|
||||||
|
foreach (var item in leaveBeginnings)
|
||||||
|
{
|
||||||
|
var profile = await _userProfileRepository.GetProfileByProfileIdAsync(item.ProfileId, AccessToken);
|
||||||
|
if (profile != null)
|
||||||
|
{
|
||||||
|
item.RootDnaId = profile.RootDnaId;
|
||||||
|
item.Child1DnaId = profile.Child1DnaId;
|
||||||
|
item.Child2DnaId = profile.Child2DnaId;
|
||||||
|
item.Child3DnaId = profile.Child3DnaId;
|
||||||
|
item.Child4DnaId = profile.Child4DnaId;
|
||||||
|
_context.LeaveBeginnings.Update(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
await _context.SaveChangesAsync();
|
||||||
|
return Success("อัพเดทข้อมูลสำเร็จ");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return Error(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// <summary>
|
// <summary>
|
||||||
/// แก้ไขรายการ
|
/// แก้ไขรายการ
|
||||||
|
|
@ -358,6 +387,12 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
leaveBeginning.LastUpdateFullName = FullName ?? "";
|
leaveBeginning.LastUpdateFullName = FullName ?? "";
|
||||||
leaveBeginning.LastUpdatedAt = DateTime.Now;
|
leaveBeginning.LastUpdatedAt = DateTime.Now;
|
||||||
|
|
||||||
|
leaveBeginning.RootDnaId = profile.RootDnaId;
|
||||||
|
leaveBeginning.Child1DnaId = profile.Child1DnaId;
|
||||||
|
leaveBeginning.Child2DnaId = profile.Child2DnaId;
|
||||||
|
leaveBeginning.Child3DnaId = profile.Child3DnaId;
|
||||||
|
leaveBeginning.Child4DnaId = profile.Child4DnaId;
|
||||||
|
|
||||||
await _leaveBeginningRepository.UpdateAsync(leaveBeginning);
|
await _leaveBeginningRepository.UpdateAsync(leaveBeginning);
|
||||||
return Success("แก้ไขข้อมูลสำเร็จ");
|
return Success("แก้ไขข้อมูลสำเร็จ");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -238,11 +238,13 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
if (toDay >= new DateTime(toDay.Year, 10, 1) && toDay <= new DateTime(toDay.Year, 12, 31))
|
if (toDay >= new DateTime(toDay.Year, 10, 1) && toDay <= new DateTime(toDay.Year, 12, 31))
|
||||||
thisYear = thisYear + 1;
|
thisYear = thisYear + 1;
|
||||||
|
|
||||||
var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUserAsync(thisYear, data.Type.Id, data.KeycloakUserId);
|
var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUser2Async(thisYear, data.Type.Id, data.KeycloakUserId);
|
||||||
|
//var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUser2Async(thisYear, rawData.Type.Id, rawData.KeycloakUserId);
|
||||||
var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear);
|
//var leaveSummary = leaveData == null ? 0.0 : leaveData.LeaveDaysUsed;
|
||||||
|
|
||||||
|
//var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear);
|
||||||
|
|
||||||
|
var sumLeave = leaveData == null ? 0.0 : leaveData.LeaveDaysUsed;
|
||||||
var leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
var leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays;
|
||||||
var extendLeave = leaveLimit - 10;
|
var extendLeave = leaveLimit - 10;
|
||||||
|
|
||||||
|
|
@ -938,7 +940,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var count = 1;
|
var count = 1;
|
||||||
var employees = new List<dynamic>();
|
var employees = new List<dynamic>();
|
||||||
// กรองตามที่ fe ส่งมา
|
// กรองตามที่ fe ส่งมา
|
||||||
if ((role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT") && req.node > profileAdmin?.Node)
|
if ((role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT") /*&& req.node > profileAdmin?.Node*/)
|
||||||
{
|
{
|
||||||
profile = profile
|
profile = profile
|
||||||
.Where(x => req.node == 4 ? x.OrgChild4Id == req.nodeId : req.node == 3 ? x.OrgChild3Id == req.nodeId : req.node == 2 ? x.OrgChild2Id == req.nodeId : req.node == 1 ? x.OrgChild1Id == req.nodeId : req.node == 0 ? x.OrgRootId == req.nodeId : true)
|
.Where(x => req.node == 4 ? x.OrgChild4Id == req.nodeId : req.node == 3 ? x.OrgChild3Id == req.nodeId : req.node == 2 ? x.OrgChild2Id == req.nodeId : req.node == 1 ? x.OrgChild1Id == req.nodeId : req.node == 0 ? x.OrgRootId == req.nodeId : true)
|
||||||
|
|
@ -1609,7 +1611,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var workTotal = 0;
|
var workTotal = 0;
|
||||||
var seminarTotal = 0;
|
var seminarTotal = 0;
|
||||||
// กรองตามที่ fe ส่งมา
|
// กรองตามที่ fe ส่งมา
|
||||||
if ((role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT") && req.node > profileAdmin?.Node)
|
if ((role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT") /*&& req.node > profileAdmin?.Node*/)
|
||||||
{
|
{
|
||||||
profile = profile
|
profile = profile
|
||||||
.Where(x => req.node == 4 ? x.OrgChild4Id == req.nodeId : req.node == 3 ? x.OrgChild3Id == req.nodeId : req.node == 2 ? x.OrgChild2Id == req.nodeId : req.node == 1 ? x.OrgChild1Id == req.nodeId : req.node == 0 ? x.OrgRootId == req.nodeId : true)
|
.Where(x => req.node == 4 ? x.OrgChild4Id == req.nodeId : req.node == 3 ? x.OrgChild3Id == req.nodeId : req.node == 2 ? x.OrgChild2Id == req.nodeId : req.node == 1 ? x.OrgChild1Id == req.nodeId : req.node == 0 ? x.OrgRootId == req.nodeId : true)
|
||||||
|
|
@ -1875,7 +1877,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
profile = await _userProfileRepository.GetEmployeeByAdminRole(AccessToken, profileAdmin?.Node, nodeId, role, req.revisionId, req.node, req.nodeId);
|
profile = await _userProfileRepository.GetEmployeeByAdminRole(AccessToken, profileAdmin?.Node, nodeId, role, req.revisionId, req.node, req.nodeId);
|
||||||
}
|
}
|
||||||
// Child กรองตามที่ fe ส่งมาอีกชั้น
|
// Child กรองตามที่ fe ส่งมาอีกชั้น
|
||||||
if ((role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT") && req.node > profileAdmin?.Node)
|
if ((role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT") /*&& req.node > profileAdmin?.Node*/)
|
||||||
{
|
{
|
||||||
profile = profile
|
profile = profile
|
||||||
.Where(x => req.node == 4 ? x.OrgChild4Id == req.nodeId : req.node == 3 ? x.OrgChild3Id == req.nodeId : req.node == 2 ? x.OrgChild2Id == req.nodeId : req.node == 1 ? x.OrgChild1Id == req.nodeId : req.node == 0 ? x.OrgRootId == req.nodeId : true)
|
.Where(x => req.node == 4 ? x.OrgChild4Id == req.nodeId : req.node == 3 ? x.OrgChild3Id == req.nodeId : req.node == 2 ? x.OrgChild2Id == req.nodeId : req.node == 1 ? x.OrgChild1Id == req.nodeId : req.node == 0 ? x.OrgRootId == req.nodeId : true)
|
||||||
|
|
|
||||||
|
|
@ -1208,7 +1208,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// LV2_004 - รายการลา Calendar (USER/ADMIN)
|
/// LV2_004 - รายการลา Calendar (USER)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>
|
/// <returns>
|
||||||
/// </returns>
|
/// </returns>
|
||||||
|
|
@ -1222,14 +1222,9 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
public async Task<ActionResult<ResponseObject>> GetLeaveRequestCalendarAsync(
|
public async Task<ActionResult<ResponseObject>> GetLeaveRequestCalendarAsync(
|
||||||
[FromBody] GetLeaveRequestCalendarDto req)
|
[FromBody] GetLeaveRequestCalendarDto req)
|
||||||
{
|
{
|
||||||
|
|
||||||
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
|
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
|
||||||
|
|
||||||
//var thisYear = DateTime.Now.Year;
|
|
||||||
var data = await _leaveRequestRepository.GetLeaveRequestByYearAsync(req.Year, userId);
|
var data = await _leaveRequestRepository.GetLeaveRequestByYearAsync(req.Year, userId);
|
||||||
|
|
||||||
// var profileList = await _userProfileRepository.GetProfileWithKeycloak(AccessToken);
|
|
||||||
|
|
||||||
var resultData = (from d in data
|
var resultData = (from d in data
|
||||||
//join p in profileList on d.KeycloakUserId equals p.Keycloak
|
//join p in profileList on d.KeycloakUserId equals p.Keycloak
|
||||||
select new GetLeaveRequestCalendarResultDto
|
select new GetLeaveRequestCalendarResultDto
|
||||||
|
|
@ -1248,38 +1243,72 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
return Success(resultData);
|
return Success(resultData);
|
||||||
|
}
|
||||||
|
|
||||||
//var personList = new List<GetProfileByKeycloakIdDto>();
|
/// <summary>
|
||||||
|
/// LV2_004 - รายการลา Calendar (ADMIN)
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>
|
||||||
|
/// </returns>
|
||||||
|
/// <response code="200">เมื่อทำรายการสำเร็จ</response>
|
||||||
|
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||||
|
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||||
|
[HttpPost("admin/calendar")]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||||
|
public async Task<ActionResult<ResponseObject>> GetLeaveRequestCalendarAdminAsync(
|
||||||
|
[FromBody] GetLeaveRequestCalendarDto req)
|
||||||
|
{
|
||||||
|
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_LEAVE_LIST");
|
||||||
|
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
||||||
|
if (jsonData["status"]?.ToString() != "200")
|
||||||
|
{
|
||||||
|
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
||||||
|
}
|
||||||
|
|
||||||
//var result = new List<GetLeaveRequestCalendarResultDto>();
|
string role = jsonData["result"]?.ToString();
|
||||||
|
var nodeId = string.Empty;
|
||||||
|
var profileAdmin = new GetUserOCAllDto();
|
||||||
|
profileAdmin = await _userProfileRepository.GetUserOCAll(Guid.Parse(UserId!), AccessToken);
|
||||||
|
if (role == "NORMAL" || role == "CHILD")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.Node == 4
|
||||||
|
? profileAdmin?.Child4DnaId
|
||||||
|
: profileAdmin?.Node == 3
|
||||||
|
? profileAdmin?.Child3DnaId
|
||||||
|
: profileAdmin?.Node == 2
|
||||||
|
? profileAdmin?.Child2DnaId
|
||||||
|
: profileAdmin?.Node == 1
|
||||||
|
? profileAdmin?.Child1DnaId
|
||||||
|
: profileAdmin?.Node == 0
|
||||||
|
? profileAdmin?.RootDnaId
|
||||||
|
: "";
|
||||||
|
}
|
||||||
|
else if (role == "ROOT" || role == "PARENT")
|
||||||
|
{
|
||||||
|
nodeId = profileAdmin?.RootDnaId;
|
||||||
|
}
|
||||||
|
var data = await _leaveRequestRepository.GetLeaveRequestByYearForAdminAsync(req.Year, role, nodeId, profileAdmin.Node);
|
||||||
|
|
||||||
//foreach (var item in data)
|
var resultData = (from d in data
|
||||||
//{
|
//join p in profileList on d.KeycloakUserId equals p.Keycloak
|
||||||
// var profile = personList.FirstOrDefault(x => x.Keycloak == item.KeycloakUserId);
|
select new GetLeaveRequestCalendarResultDto
|
||||||
// if (profile == null)
|
{
|
||||||
// {
|
Id = d.Id,
|
||||||
// profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(item.KeycloakUserId, AccessToken);
|
LeaveTypeId = d.Type.Id,
|
||||||
// personList.Add(profile);
|
LeaveTypeName = d.Type.Name,
|
||||||
// }
|
DateSendLeave = d.CreatedAt.Date,
|
||||||
// //var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(item.KeycloakUserId, AccessToken);
|
Status = d.LeaveStatus,
|
||||||
|
FullName = $"{d.Prefix}{d.FirstName} {d.LastName}",
|
||||||
|
LeaveEndDate = d.LeaveEndDate,
|
||||||
|
LeaveStartDate = d.LeaveStartDate,
|
||||||
|
KeycloakId = d.KeycloakUserId
|
||||||
|
|
||||||
// var resData = new GetLeaveRequestCalendarResultDto
|
})
|
||||||
// {
|
.ToList();
|
||||||
// Id = item.Id,
|
|
||||||
// LeaveTypeName = item.Type.Name,
|
|
||||||
// LeaveTypeId = item.Type.Id,
|
|
||||||
// DateSendLeave = item.CreatedAt.Date,
|
|
||||||
// Status = item.LeaveStatus,
|
|
||||||
// FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
|
|
||||||
// LeaveStartDate = item.LeaveStartDate,
|
|
||||||
// LeaveEndDate = item.LeaveEndDate,
|
|
||||||
// KeycloakId = item.KeycloakUserId
|
|
||||||
// };
|
|
||||||
|
|
||||||
// result.Add(resData);
|
return Success(resultData);
|
||||||
//}
|
|
||||||
|
|
||||||
//return Success(result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue