private TMSRoster UpdateModelToEntity(TMSRosterViewModel model, DateTime date) { var result = new TMSRoster(); result.AttendanceId = model.AttendanceId; result.OtCodeId = model.OtCodeId; result.OtCodeValue = model.OtCodeValue; result.ShiftId = model.ShiftId; result.Type = model.Type; result.Remarks = model.Remarks; result.EmployeeId = model.EmployeeId; result.Date = date; return(result); }
public TMSRoster Update(TMSRosterViewModel Vm) { var entity = _mapper.Map <TMSRosterViewModel, TMSRoster>(Vm); var date = new DateTime(Vm.Year, Vm.Month, Vm.Day, 0, 0, 0); //check exist var existItem = _rosterRepository.Find(x => x.EmployeeId == Vm.EmployeeId && x.Date == date).FirstOrDefault(); if (existItem != null) { existItem.AttendanceId = Vm.AttendanceId; existItem.ShiftId = Vm.ShiftId; existItem.OtCodeId = Vm.OtCodeId; existItem.OtCodeValue = Vm.OtCodeValue; existItem.Remarks = Vm.Remarks; existItem.Type = Vm.Type; existItem.StartTime = Vm.StartTime; existItem.EndTime = Vm.EndTime; existItem.Type1 = Vm.Type1; existItem.StartTime1 = Vm.StartTime1; existItem.EndTime1 = Vm.EndTime1; existItem.Remarks1 = Vm.Remarks1; existItem.Type2 = Vm.Type2; existItem.StartTime2 = Vm.StartTime2; existItem.EndTime2 = Vm.EndTime2; existItem.Remarks2 = Vm.Remarks2; existItem.Type3 = Vm.Type3; existItem.StartTime3 = Vm.StartTime3; existItem.EndTime3 = Vm.EndTime3; existItem.Remarks3 = Vm.Remarks3; _rosterRepository.Update(existItem); entity.Id = existItem.Id; entity.Date = existItem.Date; } else { entity.Date = date; _rosterRepository.Add(entity); } //entity.Date = date; //_rosterRepository.Update(entity); SaveChanges(); return(entity); }
public IActionResult Update([FromBody] TMSRosterViewModel Vm) { if (!ModelState.IsValid) { var allErrors = ModelState.Values.SelectMany(v => v.Errors); return(new BadRequestObjectResult(new GenericResult(false, allErrors))); } else { try { var date = _tmsRosterService.Update(Vm); return(new OkObjectResult(new GenericResult(true, date))); } catch (Exception ex) { return(new OkObjectResult(new GenericResult(false, ex.Message))); } } }
private TMSRosterViewModel AddNewItemDate(int employeeId, DateTime currentDate, TMSRoster model, TMSShiftJobSite shiftJobSite, TMSAttendance attendance) { var result = new TMSRosterViewModel(); result.Date = currentDate.Date.ToString("dd MMM yyyy"); result.Month = currentDate.Month; result.DayOfWeek = currentDate.DayOfWeek.ToString().Substring(0, 3); result.Day = currentDate.Day; result.Year = currentDate.Year; if (model != null) { result.Id = 1; result.OtCodeId = model.OtCodeId; result.OtCodeName = GetOTName(model.OtCodeId); result.OtCodeValue = model.OtCodeValue; result.OtCodeValueId = (model.OtCodeValue != string.Empty) ? int.Parse(model.OtCodeValue) : 0; result.Remarks = model.Remarks; result.RemarksSplit = (model.Remarks != string.Empty && model.Remarks.Length > 40) ? model.Remarks.Substring(0, 40) + "..." : model.Remarks; result.AttendanceId = model.AttendanceId; result.AttendanceName = (attendance != null) ? attendance.Name : ""; result.ShiftId = model.ShiftId; result.ShiftCodeName = (shiftJobSite != null) ? shiftJobSite.MainCode : ""; result.Type = model.Type; result.TypeName = GetTypeName(model.Type); result.EmployeeId = employeeId; result.StartTime = model.StartTime; result.EndTime = model.EndTime; result.StartTime1 = model.StartTime1; result.EndTime1 = model.EndTime1; result.Type1 = model.Type1; result.Remarks1 = model.Remarks1; result.StartTime2 = model.StartTime2; result.EndTime2 = model.EndTime2; result.Type2 = model.Type2; result.Remarks2 = model.Remarks2; result.StartTime3 = model.StartTime3; result.EndTime3 = model.EndTime3; result.Type3 = model.Type3; result.Remarks3 = model.Remarks3; } else { result.Id = 0; result.OtCodeId = 0; result.OtCodeName = ""; result.OtCodeValue = ""; result.OtCodeValueId = 0; result.Remarks = ""; result.RemarksSplit = ""; result.AttendanceId = 0; result.AttendanceName = ""; result.ShiftId = 0; result.ShiftCodeName = ""; result.StartTime = ""; result.EndTime = ""; result.Type = 0; result.TypeName = ""; result.EmployeeId = 0; } return(result); }
private List <RosterData> ProcessDataForTime(int employeeId, DateTime startDate, DateTime endDate, List <TMSRoster> rowData, List <TMSShiftJobSite> lstShiftJobSite, List <TMSAttendance> lstAtendance, List <TMSShift> lstShiftCode) { var result = new List <RosterData>(); var lstRosterData = new List <TMSRosterViewModel>(); TMSRosterViewModel model = null; for (var curDate = startDate; curDate.Date <= endDate; curDate = curDate.AddDays(1)) { if (rowData != null && rowData.Count > 0) { for (int i = 0; i < rowData.Count; i++) { if (rowData[i].Date == curDate) { var shiftObj = lstShiftJobSite.Where(x => x.Id == rowData[i].ShiftId).FirstOrDefault(); var attendanceObj = lstAtendance.Where(X => X.Id == rowData[i].AttendanceId).FirstOrDefault(); if (shiftObj.ShiftId != 0) { var shiftObjSource = lstShiftCode.Where(x => x.Id == shiftObj.ShiftId).FirstOrDefault(); shiftObj.MainCode = shiftObjSource.MainCode; } model = AddNewItemDate(employeeId, curDate.Date, rowData[i], shiftObj, attendanceObj); lstRosterData.Add(model); rowData.Remove(rowData[i]); break; } if (i == rowData.Count - 1) { model = AddNewItemDate(employeeId, curDate.Date, null, null, null); lstRosterData.Add(model); } } } else { model = AddNewItemDate(employeeId, curDate.Date, null, null, null); lstRosterData.Add(model); } } ; if (startDate.Month - endDate.Month > 0) { // push data from startMonth to 12 for (int i = startDate.Month; i <= 12; i++) { var data = new RosterData(); data.Month = i; data.MonthStr = GetMonthName(i).ToUpper(); //data.ListRoster = new List<TMSRosterViewModel>(); data.ListRoster = lstRosterData.Where(x => x.Month == i).ToList(); result.Add(data); } // push data from 1 to endMonth for (int i = 1; i <= endDate.Month; i++) { var data = new RosterData(); data.Month = i; data.MonthStr = GetMonthName(i).ToUpper(); //data.ListRoster = new List<TMSRosterViewModel>(); data.ListRoster = lstRosterData.Where(x => x.Month == i).ToList(); result.Add(data); } } else { // push data for each month for (int i = startDate.Month; i <= endDate.Month; i++) { var data = new RosterData(); data.Month = i; data.MonthStr = GetMonthName(i).ToUpper(); //data.ListRoster = new List<TMSRosterViewModel>(); data.ListRoster = lstRosterData.Where(x => x.Month == i).ToList(); result.Add(data); } } return(result); }