コード例 #1
0
        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;
        }
コード例 #2
0
        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);
        }