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