protected bool ValidateModel(MilitaryServiceModel model) { ValidateFileLength(model.MilitaryCardScanFile, "MilitaryCardScanFile", 20); ValidateFileLength(model.MobilizationTicketScanFile, "MobilizationTicketScanFile", 2); if (!model.IsMSDraft) { if (model.IsLiableForMilitaryService) { if (!model.ReserveCategoryId.HasValue) { ModelState.AddModelError("ReserveCategoryId", "Укажите категорию запаса!"); } } //MilitaryServiceModel mt = EmploymentBl.GetMilitaryServiceModel(model.UserId); //if (model.IsLiableForMilitaryService) //{ // if (model.MilitaryCardScanFile == null && string.IsNullOrEmpty(mt.MilitaryCardScanAttachmentFilename)) // { // ModelState.AddModelError("MilitaryCardScanFile", "Не выбран файл скана военного билета для загрузки!"); // } //} if (!model.IsValidate) { ModelState.AddModelError("IsValidate", "Подтвердите правильность предоставленных данных! Подтвердив правильность предоставленных данных, Вы не сможете больше вносить изменения в данную часть анкеты!"); } } return ModelState.IsValid; }
public ActionResult MilitaryService(MilitaryServiceModel model, IEnumerable<HttpPostedFileBase> files) { string error = String.Empty; string SPPath = AuthenticationService.CurrentUser.Id.ToString(); if (ValidateModel(model)) { model.IsDraft = model.IsMSDraft; EmploymentBl.ProcessSaving<MilitaryServiceModel, MilitaryService>(model, out error); model = EmploymentBl.GetMilitaryServiceModel(model.UserId); ViewBag.Error = error; ModelState.AddModelError("IsValidate", string.IsNullOrEmpty(error) ? "Данные сохранены!" : error); } else { //так как при использования вкладок, страницу приходится перезагружать с потерей данных, то передаем модель с библиотекой ошибок через переменную сессии model = EmploymentBl.GetMilitaryServiceModel(model); if (Session["MilitaryServiceM" + SPPath] != null) Session.Remove("MilitaryServiceM" + SPPath); if (Session["MilitaryServiceM" + SPPath] == null) Session.Add("MilitaryServiceM" + SPPath, model); } if (Session["MilitaryServiceMS" + SPPath] != null) Session.Remove("MilitaryServiceMS" + SPPath); if (Session["MilitaryServiceMS" + SPPath] == null) { ModelStateDictionary mst = ModelState; Session.Add("MilitaryServiceMS" + SPPath, mst); } if ((AuthenticationService.CurrentUser.UserRole & UserRole.PersonnelManager) > 0 && EmploymentBl.IsUnlimitedEditAvailable()) return Redirect("PersonnelInfo?id=" + model.UserId + "&IsCandidateInfoAvailable=true&IsBackgroundCheckAvailable=true&IsManagersAvailable=true&IsPersonalManagersAvailable=true&TabIndex=5"); else return model.IsFinal && !EmploymentBl.IsUnlimitedEditAvailable() ? View("MilitaryServiceReadOnly", model) : View(model); }