public ActionResult SurchargeNoteEdit(SurchargeNoteEditModel model) { if (!ValidateEditModel(model)) { RequestBl.GetDictionaries(model); return View(model); } RequestBl.SaveSurchargeNote(model); if (!model.CountantDateAccept.HasValue && !model.PersonnelDateAccept.HasValue) { var file = GetFileContext(Request, ModelState); if (file != null) { string attach = ""; var attid = RequestBl.SaveAttachment(model.Id, model.AttachmentId, file, RequestAttachmentTypeEnum.SurchargeNoteAttachment, out attach); if (attid.HasValue) { model.AttachmentName = attach; model.AttachmentId = attid.Value; } } } return View("SurchargeNoteEdit",model); }
private bool ValidateEditModel(SurchargeNoteEditModel model) { if (model.Id == 0) { if (model.File == null || model.File.ContentLength == 0) ModelState.AddModelError("File", "Файл не выбран"); } if (model.DepartmentId == 0) ModelState.AddModelError("DepartmentId", "Не выбран департамент"); else { int level=0; if(!RequestBl.CheckDepartmentLevel(model.DepartmentId, 7)) ModelState.AddModelError("DepartmentId","Нужно выбрать департамен 7 уровня"); if (!RequestBl.CheckDepartment(model, out level)) ModelState.AddModelError("DepartmentId", "Не достаточно прав для создания заявки в данном подразделении."); } /*if (model.PayDay < DateTime.Parse("01.01.1970") && model.NoteType!=3) ModelState.AddModelError("PayDay", "Нужно выбрать дату");*/ if (model.Id == 0) switch(model.NoteType) { case 0: case 1: if (model.PayDay < DateTime.Parse("01.01.1970")) ModelState.AddModelError("PayDay", "Нужно выбрать дату"); break; case 2: if (model.PayDay < DateTime.Parse("01.01.1970")) ModelState.AddModelError("PayDay", "Нужно выбрать дату"); if (!model.PayDayEnd.HasValue || ( model.PayDayEnd.Value < DateTime.Parse("01.01.1970") )) ModelState.AddModelError("PayDayEnd", "Нужно выбрать дату"); if(model.PayDayEnd.HasValue && model.PayDayEnd>model.PayDay) ModelState.AddModelError("PayDayEnd","Дата начала сохранения заработка должна быть меньше даты больничного листа"); break; case 3: break; case 4: if (model.PayDay < DateTime.Parse("01.01.1970")) ModelState.AddModelError("PayDay", "Нужно выбрать дату"); if (!model.PayDayEnd.HasValue || ( model.PayDayEnd.Value < DateTime.Parse("01.01.1970") )) ModelState.AddModelError("PayDayEnd", "Нужно выбрать дату"); break; case 5: if (model.PayDay < DateTime.Parse("01.01.1970")) ModelState.AddModelError("PayDay", "Нужно выбрать дату"); if (!model.DismissalDate.HasValue || ( model.DismissalDate.Value < DateTime.Parse("01.01.1970") )) ModelState.AddModelError("DismissalDate", "Нужно выбрать дату"); break; case 6: if (model.PayDay < DateTime.Parse("01.01.1970")) ModelState.AddModelError("PayDay", "Нужно выбрать дату"); if (!model.PayDayEnd.HasValue || ( model.PayDayEnd.Value < DateTime.Parse("01.01.1970") )) ModelState.AddModelError("PayDayEnd", "Нужно выбрать дату"); break; } return ModelState.IsValid; }