fix Edit Leave with Upload File Error
Some checks failed
release-dev / release-dev (push) Failing after 13s

This commit is contained in:
Suphonchai Phoonsawat 2024-10-25 09:59:44 +07:00
parent 3c1182ff26
commit 76c722137d

View file

@ -393,6 +393,19 @@ namespace BMA.EHR.Leave.Service.Controllers
// else // else
// leaveTotal = sumLeave - sumHoliday - sumWeekend; // leaveTotal = sumLeave - sumHoliday - sumWeekend;
// ลองใช้ oldData
oldData.LeaveRange = req.LeaveRange;
oldData.LeaveStartDate = req.LeaveStartDate;
oldData.LeaveEndDate = req.LeaveEndDate;
oldData.LeaveWrote = req.LeaveWrote ?? "";
oldData.LeaveDetail = req.LeaveDetail ?? "";
oldData.LeaveAddress = req.LeaveAddress ?? "";
oldData.LeaveNumber = req.LeaveNumber ?? "";
oldData.LeaveTotal = req.LeaveTotal;
oldData.LeaveSalaryText = req.LeaveSalaryText ?? "";
/*** remove old code
var leaveRequest = new LeaveRequest var leaveRequest = new LeaveRequest
{ {
Id = id, Id = id,
@ -422,6 +435,8 @@ namespace BMA.EHR.Leave.Service.Controllers
// get leave last // get leave last
leaveRequest.LeaveLast = await _leaveRequestRepository.GetLeaveLastByTypeForUserAsync(userId, req.Type); leaveRequest.LeaveLast = await _leaveRequestRepository.GetLeaveLastByTypeForUserAsync(userId, req.Type);
**/
// upload document // upload document
if (req.LeaveDocument != null) if (req.LeaveDocument != null)
{ {
@ -430,8 +445,8 @@ namespace BMA.EHR.Leave.Service.Controllers
var doc = await _minIOService.UploadFileAsync(d); var doc = await _minIOService.UploadFileAsync(d);
if (doc != null) if (doc != null)
{ {
leaveRequest.LeaveDocument.Add(new LeaveDocument { Document = doc }); oldData.LeaveDocument.Add(new LeaveDocument { Document = doc });
var a = leaveRequest.LeaveDocument.Last(); var a = oldData.LeaveDocument.Last();
_context.Entry(a).State = Microsoft.EntityFrameworkCore.EntityState.Modified; _context.Entry(a).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
} }
} }
@ -443,8 +458,8 @@ namespace BMA.EHR.Leave.Service.Controllers
var doc = await _minIOService.UploadFileAsync(req.LeaveDraftDocument); var doc = await _minIOService.UploadFileAsync(req.LeaveDraftDocument);
if (doc != null) if (doc != null)
{ {
leaveRequest.LeaveDraftDocument = doc; oldData.LeaveDraftDocument = doc;
_context.Entry(leaveRequest.LeaveDraftDocument).State = Microsoft.EntityFrameworkCore.EntityState.Modified; _context.Entry(oldData.LeaveDraftDocument).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
} }
} }
@ -453,91 +468,91 @@ namespace BMA.EHR.Leave.Service.Controllers
{ {
case "LV-004": case "LV-004":
{ {
leaveRequest.WifeDayName = req.WifeDayName ?? ""; oldData.WifeDayName = req.WifeDayName ?? "";
leaveRequest.WifeDayDateBorn = req.WifeDayDateBorn ?? ""; oldData.WifeDayDateBorn = req.WifeDayDateBorn ?? "";
} }
break; break;
case "LV-005": case "LV-005":
{ {
leaveRequest.RestDayOldTotal = oldData.RestDayOldTotal =
await _leaveRequestRepository.GetRestDayTotalByYearForUserAsync(userId, thisYear - 1); await _leaveRequestRepository.GetRestDayTotalByYearForUserAsync(userId, thisYear - 1);
leaveRequest.RestDayCurrentTotal = oldData.RestDayCurrentTotal =
await _leaveRequestRepository.GetRestDayTotalByYearForUserAsync(userId, thisYear); await _leaveRequestRepository.GetRestDayTotalByYearForUserAsync(userId, thisYear);
} }
break; break;
case "LV-006": case "LV-006":
{ {
leaveRequest.OrdainDayStatus = req.OrdainDayStatus ?? false; oldData.OrdainDayStatus = req.OrdainDayStatus ?? false;
leaveRequest.OrdainDayLocationName = req.OrdainDayLocationName ?? ""; oldData.OrdainDayLocationName = req.OrdainDayLocationName ?? "";
leaveRequest.OrdainDayLocationAddress = req.OrdainDayLocationAddress ?? ""; oldData.OrdainDayLocationAddress = req.OrdainDayLocationAddress ?? "";
leaveRequest.OrdainDayLocationNumber = req.OrdainDayLocationNumber ?? ""; oldData.OrdainDayLocationNumber = req.OrdainDayLocationNumber ?? "";
if (req.OrdainDayOrdination != null) if (req.OrdainDayOrdination != null)
leaveRequest.OrdainDayOrdination = req.OrdainDayOrdination.Value; oldData.OrdainDayOrdination = req.OrdainDayOrdination.Value;
leaveRequest.OrdainDayBuddhistLentName = req.OrdainDayBuddhistLentName ?? ""; oldData.OrdainDayBuddhistLentName = req.OrdainDayBuddhistLentName ?? "";
leaveRequest.OrdainDayBuddhistLentAddress = req.OrdainDayBuddhistLentAddress ?? ""; oldData.OrdainDayBuddhistLentAddress = req.OrdainDayBuddhistLentAddress ?? "";
leaveRequest.LeaveBirthDate = profile.BirthDate; oldData.LeaveBirthDate = profile.BirthDate;
leaveRequest.LeaveGovernmentDate = profile.DateStart; oldData.LeaveGovernmentDate = profile.DateStart;
leaveRequest.HajjDayStatus = req.HajjDayStatus ?? false; oldData.HajjDayStatus = req.HajjDayStatus ?? false;
} }
break; break;
case "LV-007": case "LV-007":
{ {
leaveRequest.AbsentDayLocation = req.AbsentDayLocation ?? ""; oldData.AbsentDayLocation = req.AbsentDayLocation ?? "";
leaveRequest.AbsentDaySummon = req.AbsentDaySummon ?? ""; oldData.AbsentDaySummon = req.AbsentDaySummon ?? "";
if (req.AbsentDayRegistorDate != null) if (req.AbsentDayRegistorDate != null)
leaveRequest.AbsentDayRegistorDate = req.AbsentDayRegistorDate.Value; oldData.AbsentDayRegistorDate = req.AbsentDayRegistorDate.Value;
leaveRequest.AbsentDayGetIn = req.AbsentDayGetIn ?? ""; oldData.AbsentDayGetIn = req.AbsentDayGetIn ?? "";
leaveRequest.AbsentDayAt = req.AbsentDayAt ?? ""; oldData.AbsentDayAt = req.AbsentDayAt ?? "";
} }
break; break;
case "LV-008": case "LV-008":
{ {
var lastSalary = profile.ProfileSalary; var lastSalary = profile.ProfileSalary;
leaveRequest.LeaveSalary = lastSalary == null ? 0 : (int)lastSalary.Amount.Value; oldData.LeaveSalary = lastSalary == null ? 0 : (int)lastSalary.Amount.Value;
leaveRequest.LeaveSalaryText = oldData.LeaveSalaryText =
lastSalary == null ? "" : ((int)lastSalary.Amount.Value).ToThaiBahtText(false); lastSalary == null ? "" : ((int)lastSalary.Amount.Value).ToThaiBahtText(false);
leaveRequest.LeaveBirthDate = profile.BirthDate; oldData.LeaveBirthDate = profile.BirthDate;
leaveRequest.LeaveGovernmentDate = profile.DateStart; oldData.LeaveGovernmentDate = profile.DateStart;
leaveRequest.StudyDaySubject = req.StudyDaySubject ?? ""; oldData.StudyDaySubject = req.StudyDaySubject ?? "";
leaveRequest.StudyDayDegreeLevel = req.StudyDayDegreeLevel ?? ""; oldData.StudyDayDegreeLevel = req.StudyDayDegreeLevel ?? "";
leaveRequest.StudyDayUniversityName = req.StudyDayUniversityName ?? ""; oldData.StudyDayUniversityName = req.StudyDayUniversityName ?? "";
leaveRequest.StudyDayCountry = req.StudyDayCountry ?? ""; oldData.StudyDayCountry = req.StudyDayCountry ?? "";
leaveRequest.StudyDayScholarship = req.StudyDayScholarship ?? ""; oldData.StudyDayScholarship = req.StudyDayScholarship ?? "";
leaveRequest.StudyDayTrainingSubject = req.StudyDayTrainingSubject ?? ""; oldData.StudyDayTrainingSubject = req.StudyDayTrainingSubject ?? "";
leaveRequest.StudyDayTrainingName = req.StudyDayTrainingName ?? ""; oldData.StudyDayTrainingName = req.StudyDayTrainingName ?? "";
} }
break; break;
case "LV-010": case "LV-010":
{ {
var lastSalary = profile.ProfileSalary; var lastSalary = profile.ProfileSalary;
leaveRequest.LeaveSalary = lastSalary == null ? 0 : (int)lastSalary.Amount.Value; oldData.LeaveSalary = lastSalary == null ? 0 : (int)lastSalary.Amount.Value;
leaveRequest.LeaveSalaryText = oldData.LeaveSalaryText =
lastSalary == null ? "" : ((int)lastSalary.Amount.Value).ToThaiBahtText(false); lastSalary == null ? "" : ((int)lastSalary.Amount.Value).ToThaiBahtText(false);
leaveRequest.CoupleDayName = req.CoupleDayName ?? ""; oldData.CoupleDayName = req.CoupleDayName ?? "";
leaveRequest.CoupleDayPosition = req.CoupleDayPosition ?? ""; oldData.CoupleDayPosition = req.CoupleDayPosition ?? "";
leaveRequest.CoupleDayLevel = req.CoupleDayLevel ?? ""; oldData.CoupleDayLevel = req.CoupleDayLevel ?? "";
leaveRequest.CoupleDayLevelCountry = req.CoupleDayLevelCountry ?? ""; oldData.CoupleDayLevelCountry = req.CoupleDayLevelCountry ?? "";
leaveRequest.CoupleDayCountryHistory = req.CoupleDayCountryHistory ?? ""; oldData.CoupleDayCountryHistory = req.CoupleDayCountryHistory ?? "";
leaveRequest.CoupleDayTotalHistory = req.CoupleDayTotalHistory ?? ""; oldData.CoupleDayTotalHistory = req.CoupleDayTotalHistory ?? "";
if (req.CoupleDayStartDateHistory != null) if (req.CoupleDayStartDateHistory != null)
leaveRequest.CoupleDayStartDateHistory = req.CoupleDayStartDateHistory.Value; oldData.CoupleDayStartDateHistory = req.CoupleDayStartDateHistory.Value;
if (req.CoupleDayEndDateHistory != null) if (req.CoupleDayEndDateHistory != null)
leaveRequest.CoupleDayEndDateHistory = req.CoupleDayEndDateHistory.Value; oldData.CoupleDayEndDateHistory = req.CoupleDayEndDateHistory.Value;
leaveRequest.CoupleDaySumTotalHistory = req.CoupleDaySumTotalHistory ?? ""; oldData.CoupleDaySumTotalHistory = req.CoupleDaySumTotalHistory ?? "";
} }
break; break;
} }
@ -552,13 +567,13 @@ namespace BMA.EHR.Leave.Service.Controllers
approver = list.First().Name; approver = list.First().Name;
} }
leaveRequest.LeaveTypeCode = leaveType.Code; oldData.LeaveTypeCode = leaveType.Code;
leaveRequest.Dear = approver; oldData.Dear = approver;
leaveRequest.PositionName = profile.Position == null ? "" : profile.Position; oldData.PositionName = profile.Position == null ? "" : profile.Position;
leaveRequest.PositionLevelName = profile.PosLevel == null ? "" : profile.PosLevel.PosLevelName; oldData.PositionLevelName = profile.PosLevel == null ? "" : profile.PosLevel.PosLevelName;
leaveRequest.OrganizationName = profile.Oc ?? ""; oldData.OrganizationName = profile.Oc ?? "";
_context.Entry(leaveRequest.Type).State = Microsoft.EntityFrameworkCore.EntityState.Detached; _context.Entry(oldData.Type).State = Microsoft.EntityFrameworkCore.EntityState.Detached;
//_context.Entry(leaveRequest.Type).State = Microsoft.EntityFrameworkCore.EntityState.Modified; //_context.Entry(leaveRequest.Type).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
@ -567,9 +582,9 @@ namespace BMA.EHR.Leave.Service.Controllers
//await _leaveRequestRepository.DeleteAsync(oldData); //await _leaveRequestRepository.DeleteAsync(oldData);
// save to database // save to database
await _leaveRequestRepository.UpdateAsync(leaveRequest); await _leaveRequestRepository.UpdateAsync(oldData);
return Success(new { id = leaveRequest.Id }); return Success(new { id = oldData.Id });
} }