Ejemplo n.º 1
0
        private bool ValidateTicketCode(ShowTicketCategoriesCodeViewModel submitedModel, ApplicationDbContext context)
        {
            var categoryToOrder = submitedModel.TicketCategories.Single(tc => tc.Ordered > 0);

            if (submitedModel.Code != context.TicketCategories.Single(tc => tc.TicketCategoryID == categoryToOrder.TicketCategoryID).Code)
            {
                ModelState.AddModelError("ErrorSum", "Zadaný kod není platný.");
                return(false);
            }
            else
            {
                return(true);
            }
        }
Ejemplo n.º 2
0
        public ActionResult CreateCodeReservation(ShowTicketCategoriesCodeViewModel submitedModel)
        {
            string viewName = "~/Views/Tickets/CreateCodeReservationLocalized.cshtml";

            SetLocalization(submitedModel, submitedModel.ProjectID, true);

            if (!IsModelValid(submitedModel))
            {
                return(View(viewName, submitedModel));
            }

            using (ApplicationDbContext context = new ApplicationDbContext())
            {
                if (!ValidateTicketCode(submitedModel, context))
                {
                    return(View(viewName, submitedModel));
                }

                var result = CreateReservationFromAction(submitedModel, context, viewName);
                return(result);
            }
        }
Ejemplo n.º 3
0
        private ShowTicketCategoriesViewModel CreateReservationInit(int projectId, bool isCode)
        {
            using (ApplicationDbContext context = new ApplicationDbContext())
            {
                Project project = context.Projects.SingleOrDefault(p => p.ProjectID == projectId);

                if (project == null)
                {
                    throw new Exception("Project not found.");
                }

                ViewBag.Title = project.Name + " | Vstupenky";
                ShowTicketCategoriesViewModel viewModel;

                if (isCode)
                {
                    viewModel = new ShowTicketCategoriesCodeViewModel();
                }
                else
                {
                    viewModel = new ShowTicketCategoriesViewModel();
                }

                viewModel.ProjectID         = project.ProjectID;
                viewModel.ProjectName       = project.Name;
                viewModel.MaxTicketsPerMail = project.TicketSetting.MaxTicketsPerEmail;

                viewModel.TicketCategories = new List <TicketCategoryViewModel>();

                if (project.TicketsURL != null && project.TicketsURL != "")
                {
                    viewModel.TicketsAvailable = true;
                }
                else
                {
                    viewModel.TicketsAvailable = false;
                    return(viewModel);
                }

                foreach (TicketCategory ticketCategory in project.TicketCategories.Where(tc => !tc.Deleted && tc.CodeRequired == isCode))
                {
                    if (ticketCategory.SoldFrom.Value.ToLocalTime() <= DateTime.Now && ticketCategory.SoldTo.Value.ToLocalTime() >= DateTime.Now)
                    {
                        TicketCategoryViewModel ticketCategoryViewModel = new TicketCategoryViewModel()
                        {
                            AvailableCapacity = ticketCategory.Capacity - ticketCategory.Ordered,
                            Capacity          = ticketCategory.Capacity,
                            Header            = ticketCategory.HeaderCZ,
                            Price             = ticketCategory.Price + "Kč",
                            TicketCategoryID  = ticketCategory.TicketCategoryID,
                            SoldFrom          = String.Format("{0:d.M.yyyy HH:mm:ss}", ticketCategory.SoldFrom.Value.ToLocalTime()),
                            SoldTo            = String.Format("{0:d.M.yyyy HH:mm:ss}", ticketCategory.SoldTo.Value.ToLocalTime()),
                            RowVersion        = ticketCategory.RowVersion
                        };

                        viewModel.TicketCategories.Add(ticketCategoryViewModel);
                    }
                }

                viewModel.TicketsAvailable = viewModel.TicketCategories.Any();

                SetLocalization(viewModel, projectId, isCode);

                return(viewModel);
            }
        }