protected bool ValidateModel(FamilyModel model) { ValidateFileLength(model.MarriageCertificateScanFile, "MarriageCertificateScanFile", 2); ValidateFileLength(model.ChildBirthCertificateScanFile, "ChildBirthCertificateScanFile", 2); if (model.FamilyStatusId == 0) { ModelState.AddModelError("FamilyStatusId", "Выберите вариант семейного положения из выпадающего списка!"); } if (!model.IsFDraft) { //FamilyModel mt = EmploymentBl.GetFamilyModel(model.UserId); //if (model.IsMarried) //{ // if (model.MarriageCertificateScanFile == null && string.IsNullOrEmpty(mt.MarriageCertificateScanAttachmentFilename)) // { // ModelState.AddModelError("MarriageCertificateScanFile", "Не выбран файл скана свидетельства о браке для загрузки!"); // } //} //if (mt.Children.Count != 0) //{ // if (model.ChildBirthCertificateScanFile == null && string.IsNullOrEmpty(mt.ChildBirthCertificateScanAttachmentFilename)) // { // ModelState.AddModelError("ChildBirthCertificateScanFile", "Не выбран файл скана свидетельств о рождении детей для загрузки!"); // } //} if (!model.IsValidate) { ModelState.AddModelError("IsValidate", "Подтвердите правильность предоставленных данных! Подтвердив правильность предоставленных данных, Вы не сможете больше вносить изменения в данную часть анкеты!"); } } return ModelState.IsValid; }
public ActionResult Family(FamilyModel model, IEnumerable<HttpPostedFileBase> files) { string error = String.Empty; string SPPath = AuthenticationService.CurrentUser.Id.ToString(); if (model.RowID == 0) { if (ValidateModel(model)) { model.IsDraft = model.IsFDraft; EmploymentBl.ProcessSaving<FamilyModel, Family>(model, out error); model = EmploymentBl.GetFamilyModel(model.UserId); ModelState.AddModelError("IsValidate", string.IsNullOrEmpty(error) ? "Данные сохранены!" : error); ViewBag.Error = error; } else { //так как при использования вкладок, страницу приходится перезагружать с потерей данных, то передаем модель с библиотекой ошибок через переменную сессии model = EmploymentBl.GetFamilyModel(model); if (Session["FamilyM" + SPPath] != null) Session.Remove("FamilyM" + SPPath); if (Session["FamilyM" + SPPath] == null) Session.Add("FamilyM" + SPPath, model); } if (Session["FamilyMS" + SPPath] != null) Session.Remove("FamilyMS" + SPPath); if (Session["FamilyMS" + SPPath] == null) { ModelStateDictionary mst = ModelState; Session.Add("FamilyMS" + SPPath, mst); } } else { EmploymentBl.DeleteFamilyMember(model); model = EmploymentBl.GetFamilyModel(model.UserId); } if ((AuthenticationService.CurrentUser.UserRole & UserRole.PersonnelManager) > 0 && EmploymentBl.IsUnlimitedEditAvailable()) return Redirect("PersonnelInfo?id=" + model.UserId + "&IsCandidateInfoAvailable=true&IsBackgroundCheckAvailable=true&IsManagersAvailable=true&IsPersonalManagersAvailable=true&TabIndex=4"); else return model.IsFinal && !EmploymentBl.IsUnlimitedEditAvailable() ? View("FamilyReadOnly", model) : View(model); }