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);
        }