/// <summary> /// Get Detail of HolidayCalendar year. /// </summary> /// <param name="year">The target holiday year.</param> /// <returns></returns> public HolidayCalendarViewModel GetDetail(string year) { var result = new HolidayCalendarViewModel { Year = year }; var data = _unitOfWork.GetRepository <HolidayCalendar>().GetCache(x => x.Year == year); foreach (var item in data) { result.HolidayList.Add(new HolidayCalendarDetail { HolidayDateString = UtilityService.DateTimeToString(item.HolidayDate.Value, ConstantValue.DateTimeFormat), Description = item.Description }); } return(result); }
/// <summary> /// Update holiday calendar year. /// </summary> /// <param name="model">The holiday calendar information value.</param> /// <returns></returns> public ResultViewModel Edit(HolidayCalendarViewModel model) { var result = new ResultViewModel(); using (TransactionScope scope = new TransactionScope()) { var data = _unitOfWork.GetRepository <HolidayCalendar>().GetCache(x => x.Year == model.Year); var addHoliday = new List <HolidayCalendar>(); var updateHoliday = new List <HolidayCalendar>(); this.InitialEditHolidayCalendar(model.Year, model.HolidayList, data, updateHoliday, addHoliday); var deleteHoliday = data.Where(x => !updateHoliday.Any(y => x.Id == y.Id)).ToList(); _unitOfWork.GetRepository <HolidayCalendar>().AddRange(addHoliday); _unitOfWork.GetRepository <HolidayCalendar>().UpdateRange(updateHoliday); _unitOfWork.GetRepository <HolidayCalendar>().RemoveRange(deleteHoliday); _unitOfWork.Complete(scope); } this.ReloadCacheHolidayCalendar(); return(result); }
/// <summary> /// Insert new holiday canlendar. /// </summary> /// <param name="model">The holiday calendar information value.</param> /// <returns></returns> public ResultViewModel Save(HolidayCalendarViewModel model) { var result = new ResultViewModel(); using (TransactionScope scope = new TransactionScope()) { var data = new List <HolidayCalendar>(); foreach (var item in model.HolidayList) { data.Add(new HolidayCalendar { Year = model.Year, HolidayDate = UtilityService.ConvertToDateTime(item.HolidayDateString, ConstantValue.DateTimeFormat), Description = item.Description, CreateBy = _token.EmpNo, CreateDate = DateTime.Now }); } _unitOfWork.GetRepository <HolidayCalendar>().AddRange(data); _unitOfWork.Complete(scope); } this.ReloadCacheHolidayCalendar(); return(result); }
public IActionResult Edit([FromBody] HolidayCalendarViewModel model) { return(Ok(_holidayCalendar.Edit(model))); }