public virtual ActionResult AddSuspension(AdministrativeDivision city, Casino casino, AddSuspensionFormViewModel form) { return Handle(() => { if (!SecurityUser.HasRight(RightType.AddSuspensions, city)) throw new SecurityAccessDeniedException(); //ToDo: Move it to ModelBinder var suspensionDate = DateTime.ParseExact( form.DateString, FrontendConstants.DateFormat, CultureInfo.CurrentCulture); var exemptions = new List<Exemption>(); //ToDo: Move this stuff to ModelBinder foreach (var exemptionViewModel in form.Exemptions) { if (exemptionViewModel.ItemType == 0 || exemptionViewModel.Quantity < 1) continue; var exemption = new Exemption(exemptionViewModel.ItemType, exemptionViewModel.Quantity); exemptions.Add(exemption); } var suspension = new Suspension(suspensionDate, exemptions); suspension.Id = _documentStore.Conventions.GenerateDocumentKey(suspension); casino.Suspensions.Add(suspension); _documentSession.Store(casino); }, success: () => Actions.GetCasino(city, casino)); }
public virtual ActionResult AddSuspension(AdministrativeDivision city, Casino casino) { if (!SecurityUser.HasRight(RightType.AddSuspensions, city)) return RedirectToAction(MVC.Home.Index()); SetNavigationHierarchy(GetCityCasinoNavigationItems(city, casino), "Добавить пресечение"); var exemptionItemTypes = new List<SelectListItem>(); exemptionItemTypes.Add(new SelectListItem() { Text = "Выбрать...", Value = "0" }); foreach (ExemptionItemType exemptionItemType in Enum.GetValues(typeof(ExemptionItemType))) { var selectListItem = new SelectListItem() { Value = ((long)exemptionItemType).ToString(), Text = _exemptionItemTypeDropDownListLocalizator.Localize(exemptionItemType) }; exemptionItemTypes.Add(selectListItem); } var exemptions = new List<ExemptionFormViewModel>(); for (var exemptionIndex = 0; exemptionIndex < 3; exemptionIndex++) { exemptions.Add(new ExemptionFormViewModel()); } var addSuspensionViewModel = new AddSuspensionFormViewModel(exemptions); return View(addSuspensionViewModel); }