diff --git a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/ProcessUserTimeStampRepository.cs b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/ProcessUserTimeStampRepository.cs index 1b1f08bc..dd0a0f70 100644 --- a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/ProcessUserTimeStampRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/ProcessUserTimeStampRepository.cs @@ -56,11 +56,26 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants #region " Methods " + public bool IsEditRequest(Guid userId, DateTime checkDate) + { + try + { + var data = _dbContext.Set().AsQueryable() + .FirstOrDefault(x => x.KeycloakUserId == userId && x.CheckDate.Date == checkDate.Date); + + return !(data == null); + } + catch + { + throw; + } + } + public async Task Copy() { var userTimeStamps = await _dbContext.Set().ToListAsync(); - foreach(var u in userTimeStamps) + foreach (var u in userTimeStamps) { var p = new ProcessUserTimeStamp { @@ -84,7 +99,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants CheckOutRemark = u.CheckOutRemark, }; - + _dbContext.Set().Add(p); } await _dbContext.SaveChangesAsync(); @@ -135,7 +150,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants var data = await _dbContext.Set() .Where(u => u.CheckIn.Date >= startDate.Date && u.CheckIn.Date <= endDate.Date) .ToListAsync(); - + return data.Count; } @@ -145,7 +160,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants var data = await _dbContext.Set() .Where(u => u.CheckIn.Date >= startDate.Date && u.CheckIn.Date <= endDate.Date) .OrderBy(u => u.CheckIn) - + .ToListAsync(); return data; diff --git a/BMA.EHR.Leave.Service/Controllers/LeaveController.cs b/BMA.EHR.Leave.Service/Controllers/LeaveController.cs index 8e21ceab..d6b11a7a 100644 --- a/BMA.EHR.Leave.Service/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave.Service/Controllers/LeaveController.cs @@ -533,6 +533,7 @@ namespace BMA.EHR.Leave.Service.Controllers var checkin_base = DateTime.Parse($"{DateTime.Now.ToString("yyyy-MM-dd")} {duty.StartTimeMorning}"); var checkout_base = DateTime.Parse($"{DateTime.Now.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}"); + var data = (await _processUserTimeStampRepository.GetTimeStampHistoryAsync(userId, year)) .Select(d => new CheckInHistoryDto { @@ -553,9 +554,11 @@ namespace BMA.EHR.Leave.Service.Controllers "LATE" : "NORMAL", - IsEdit = (d.EditStatus != null && d.EditStatus != "") + IsEdit = _processUserTimeStampRepository.IsEditRequest(userId, d.CheckIn.Date) - //EditReason = d.EditReason ?? "", + //IsEdit = (d.EditStatus != null && d.EditStatus != "") + + //EditReason = d.EditReason ?? "",ß //EditStatus = d.EditStatus ?? "" })