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