public ActionResult New() { SpecialTime st = new SpecialTime { StartTime = DateTime.Now, EndTime = DateTime.Now }; return View(st); }
public ActionResult New(SpecialTime specialTime) { if (ModelState.IsValid) { if (DateTime.Compare(specialTime.EndTime, specialTime.StartTime) < 1) { SaveErrorMessage(Resources.PRD.SpecialTime.Errors_StartDateGreaterThanEndDate); } else { var specialTimes = base.genericMgr.FindAll<SpecialTime>(selectspecialTimeByProdLineStatement, new object[] { specialTime.ProdLine ?? string.Empty }); var existStartTime = specialTimes.FirstOrDefault(c => c.StartTime <= specialTime.StartTime && c.EndTime > specialTime.StartTime); if (existStartTime != null) { SaveErrorMessage(Resources.PRD.SpecialTime.Errors_StartDateExistInRange, new string[] { existStartTime.StartTime.ToString(), existStartTime.EndTime.ToString() }); } else { var existEndTime = specialTimes.FirstOrDefault(c => c.StartTime < specialTime.EndTime && c.EndTime >= specialTime.EndTime); if (existEndTime != null) { SaveErrorMessage(Resources.PRD.SpecialTime.Errors_EndDateExistInRange, new string[] { existEndTime.StartTime.ToString(), existEndTime.EndTime.ToString() }); } else { var coverdSpecialTime = specialTimes.FirstOrDefault(c => c.StartTime > specialTime.StartTime && c.EndTime < specialTime.EndTime); if (coverdSpecialTime != null) { SaveErrorMessage(Resources.PRD.SpecialTime.Errors_CoverTheProdLine, new string[] { coverdSpecialTime.StartTime.ToString(), coverdSpecialTime.EndTime.ToString() }); } else { specialTime.Type = WorkingCalendarType.Rest; specialTime.Category = WorkingCalendarCategory.ProdLine; //base.genericMgr.Create(specialTime); try { this.workingCalendarMgr.AddProdLineSpecialTime(specialTime); SaveSuccessMessage(Resources.PRD.SpecialTime.SpecialTime_Added); return RedirectToAction("Edit/" + specialTime.Id); } catch (BusinessException ex) { SaveBusinessExceptionMessage(ex); } catch (Exception ex) { SaveErrorMessage(ex); } } } } } } return View(specialTime); }
public ActionResult WorkEdit(SpecialTime specialTime) { if (ModelState.IsValid) { if (DateTime.Compare(specialTime.EndTime, specialTime.StartTime) < 1) { SaveErrorMessage(Resources.PRD.SpecialTime.Errors_StartDateGreaterThanEndDate); } else { var specialTimes = base.genericMgr.FindAll<SpecialTime>(selectspecialTimeByRegionStatement, new object[] { specialTime.Region ?? string.Empty }); var existStartTime = specialTimes.FirstOrDefault(c => c.StartTime <= specialTime.StartTime && c.EndTime > specialTime.StartTime && c.Id != specialTime.Id); if (existStartTime != null) { SaveErrorMessage(Resources.PRD.SpecialTime.Errors_StartDateExistInRange, new string[] { existStartTime.StartTime.ToString(), existStartTime.EndTime.ToString() }); } else { var existEndTime = specialTimes.FirstOrDefault(c => c.StartTime < specialTime.EndTime && c.EndTime >= specialTime.EndTime && c.Id != specialTime.Id); if (existEndTime != null) { SaveErrorMessage(Resources.PRD.SpecialTime.Errors_EndDateExistInRange, new string[] { existEndTime.StartTime.ToString(), existEndTime.EndTime.ToString() }); } else { var coverdSpecialTime = specialTimes.FirstOrDefault(c => c.StartTime > specialTime.StartTime && c.EndTime < specialTime.EndTime && c.Id != specialTime.Id); if (coverdSpecialTime != null) { SaveErrorMessage(Resources.PRD.SpecialTime.Errors_CoverTheRegion, new string[] { coverdSpecialTime.StartTime.ToString(), coverdSpecialTime.EndTime.ToString() }); } else { try { specialTime.Type = WorkingCalendarType.Work; specialTime.Category = WorkingCalendarCategory.Region; base.genericMgr.Update(specialTime); //this.workingCalendarMgr.UpdateSpecialTime(specialTime); SaveSuccessMessage("加班时间更新成功。"); } catch (BusinessException ex) { SaveErrorMessage(ex.Message); } } } } } } return View(specialTime); }