示例#1
0
        public AddTicketModel prepreateAddTicketModel(int eventId)
        {
            AddTicketModel addTicketModel = new AddTicketModel();

            addTicketModel.EventId = eventId;

            List <Ticket> tickets = tRepository.getTicketsByEvent(eventId);

            foreach (var ticket in tickets)
            {
                TicketInventory ticketInventory = tiRepository.getTicketInventoryByTicket(ticket.Id);

                TicketViewModel ticketViewModel = new TicketViewModel()
                {
                    Id               = ticket.Id,
                    Name             = ticket.Name,
                    Price            = ticket.Price,
                    DiscountPrice    = ticket.DiscountPrice.HasValue?ticket.DiscountPrice.Value:0m,
                    StockQuantity    = ticketInventory.StockQuantity.HasValue?ticketInventory.StockQuantity.Value:0,
                    ReservedQuantity = ticketInventory.ReservedQuantity.HasValue?ticketInventory.ReservedQuantity.Value:0
                };

                addTicketModel.Tickets.Add(ticketViewModel);
            }

            return(addTicketModel);
        }
示例#2
0
        public TicketInventory saveTicketWithInventory(Ticket ticket, TicketInventory ticketInventory)
        {
            tRepository.Add(ticket);
            tRepository.Complete();
            ticketInventory.IdTicket = ticket.Id;
            tiRepository.Add(ticketInventory);
            tiRepository.Complete();
            ticketInventory.Ticket = ticket;

            return(ticketInventory);
        }
示例#3
0
        public ActionResult DeleteTicket(int ticketId, int eventId)
        {
            Ticket          ticket          = tFactory.tRepository.Get(ticketId);
            TicketInventory ticketInventory = tFactory.tiRepository.getTicketInventoryByTicket(ticketId);

            tFactory.tiRepository.Remove(ticketInventory);
            tFactory.tiRepository.Complete();
            tFactory.tRepository.Remove(ticket);
            tFactory.tRepository.Complete();

            return(RedirectToAction("Create4", new { eventId = eventId }));
        }
示例#4
0
        public ActionResult Create4(AddTicketModel addTicketModel)
        {
            Ticket ticket = new Ticket()
            {
                Name          = addTicketModel.Name,
                Price         = addTicketModel.Price,
                DiscountPrice = addTicketModel.DiscountPrice,
                IdEvent       = addTicketModel.EventId
            };


            TicketInventory ticketInventory = new TicketInventory()
            {
                ReservedQuantity = 0,
                StockQuantity    = addTicketModel.Quantity
            };

            tFactory.saveTicketWithInventory(ticket, ticketInventory);

            return(View(tFactory.prepreateAddTicketModel(addTicketModel.EventId)));
        }
示例#5
0
        public IPagedList <TicketListModel> prepareListOfTickets(string username, int page = 1)
        {
            Organisation organisation = oRepository.GetOrganisationByUsername(username);

            IPagedList <Event> events = eRepository.GetEventsByOrganisation(organisation.Id, page);

            List <TicketListModel> eventsList = new List <TicketListModel>();

            foreach (var e in events)
            {
                TicketListModel ticketListModel = new TicketListModel();
                ticketListModel.IdEvent   = e.Id;
                ticketListModel.NameEvent = e.Name;

                List <Ticket> tickets = tRepository.getTicketsByEvent(e.Id);
                foreach (var ticket in tickets)
                {
                    TicketInventory ticketInventory = tiRepository.getTicketInventoryByTicket(ticket.Id);

                    TicketViewModel ticketViewModel = new TicketViewModel()
                    {
                        Id               = ticket.Id,
                        Name             = ticket.Name,
                        Price            = ticket.Price,
                        DiscountPrice    = ticket.DiscountPrice.HasValue ? ticket.DiscountPrice.Value : 0m,
                        StockQuantity    = ticketInventory.StockQuantity.HasValue ? ticketInventory.StockQuantity.Value : 0,
                        ReservedQuantity = ticketInventory.ReservedQuantity.HasValue ? ticketInventory.ReservedQuantity.Value : 0
                    };

                    ticketListModel.Tickets.Add(ticketViewModel);
                }
                eventsList.Add(ticketListModel);
            }

            IPagedList <TicketListModel> pageEvents = new StaticPagedList <TicketListModel>(eventsList, events.PageNumber, events.PageSize, events.TotalItemCount);

            return(pageEvents);
        }