예제 #1
0
        public async Task <IActionResult> Index()
        {
            var currentUserId = userManager.GetUserId(User);
            var userTickets   = await ticketsService.GetTicketsByUserId(currentUserId);

            var myTickets = new List <TicketView> {
            };

            foreach (var ticket in userTickets)
            {
                var ticketEvent = await eventsService.GetEventById(ticket.EventId);

                var ticketOrder = await ordersService.GetOrderByTicketIdAndStatuses(ticket.Id, OrderStatuses.WaitingForConfirmation, OrderStatuses.Confirmed, OrderStatuses.Completed);

                var orderUser = await userManager.FindByIdAsync(ticketOrder?.UserId);

                myTickets.Add(
                    new TicketView
                {
                    TicketId            = ticket.Id,
                    TicketPrice         = ticket.Price,
                    TicketStatus        = ticket.Status,
                    BuyerName           = orderUser?.UserName,
                    BuyerId             = orderUser?.Id,
                    OrderId             = ticketOrder?.Id,
                    EventName           = ticketEvent.Name,
                    EventId             = ticket.EventId,
                    EventDate           = ticketEvent.Date,
                    OrderTrackingNumber = ticketOrder?.TrackingNumber
                }
                    );
            }
            ;

            var model = new TicketsViewModel
            {
                Tickets = myTickets.ToArray()
            };

            return(View(model));
        }
예제 #2
0
        public async Task <IActionResult> Index()
        {
            ViewData["Title"] = localizer["ordersTitle"];

            ClaimsPrincipal currentUser = User;

            var tickets = await ticketsService.GetTicketsByUserId(currentUser.FindFirst(ClaimTypes.NameIdentifier).Value);

            var events = await eventsService.GetEvents();

            var sellers = await usersAndRolesService.GetUsers();

            var orders = await ordersService.GetOrdersByUserName(currentUser.Identity.Name);

            var model = new OrdersViewModel
            {
                Events  = events,
                Orders  = orders,
                Tickets = tickets,
                Sellers = sellers
            };

            return(View(model));
        }