public IEnumerable <MyTicketsViewModel> ShowAllMyTickets()
        {
            var allMyTickets     = this.ticketRepository.All().ToList().OrderByDescending(x => x.CreatedOn);
            var ticketsViewModel = new List <MyTicketsViewModel>();

            foreach (var ticket in allMyTickets)
            {
                var movie      = this.movieRepository.All().FirstOrDefault(x => x.Id == ticket.MovieId);
                var projection = this.projectionsRepository.All().FirstOrDefault(x => x.Id == ticket.ProjectionId);

                var ticketToAdd = new MyTicketsViewModel
                {
                    Id                  = ticket.Id,
                    CreatedOn           = ticket.CreatedOn,
                    UserId              = ticket.UserId,
                    MovieTitle          = movie.Title,
                    Price               = ticket.Price,
                    ProjectionStartTime = projection.StartTime,
                    Row                 = ticket.Row,
                    SeatNumber          = ticket.SeatNumer,
                    Type                = ticket.Type,
                };
                ticketsViewModel.Add(ticketToAdd);
            }

            return(ticketsViewModel);
        }
Example #2
0
        public async Task <IActionResult> MyTickets(TicketStatuses ticketStatus, string userName)
        {
            ViewData["Title"] = localizer["myTicketsTitle"];

            var tickets = await ticketsService.GetTicketsByStatusAndUserName(ticketStatus, userName);

            var model = new MyTicketsViewModel
            {
                Tickets      = tickets,
                Events       = await eventsService.GetEventsByTickets(tickets),
                Users        = await usersAndRolesService.GetUsers(),
                ticketStatus = ticketStatus
            };

            return(View(model));
        }
        public ActionResult MyTickets()
        {
            var userId = User.Identity.GetUserId();
            var model  = from e in db.Events.ToList()
                         join t in db.Tickets.Where(t => t.UserId == userId).ToList() on e.Id equals t.EventId
                         select new { e.Id, e.Name, e.Price, t.Quantity, t.Time, };

            List <MyTicketsViewModel> MyTicketsViewModel = new List <MyTicketsViewModel>();

            foreach (var item in model)
            {
                MyTicketsViewModel viewModel = new MyTicketsViewModel();
                viewModel.Id   = item.Id;
                viewModel.Name = item.Name;
                var price = item.Price * item.Quantity;
                viewModel.Price    = price + " ден.";
                viewModel.Quantity = item.Quantity;
                viewModel.Date     = item.Time;
                MyTicketsViewModel.Add(viewModel);
            }
            return(View(MyTicketsViewModel));
        }
Example #4
0
        public MyTicketsViewModelTests()
        {
            dialogServiceMock = new Mock <IPageDialogService>();

            tickets = new List <Ticket>
            {
                new Ticket
                {
                    TicketType      = "Unused",
                    ReferenceNumber = "ReferenceNumber1",
                    TicketAreas     = new List <string> {
                        "A"
                    },
                    CreatedAt = DateTime.Parse("02/01/20 12:00:00")
                },
                new Ticket
                {
                    TicketType      = "Activated",
                    ReferenceNumber = "ReferenceNumber2",
                    TicketAreas     = new List <string> {
                        "A", "B"
                    },
                    CreatedAt   = DateTime.Parse("02/02/20 13:00:00"),
                    ActivatedAt = DateTime.Parse("02/02/20 13:00:00"),
                    ExpiredAt   = DateTime.Parse("02/07/20 14:00:00")
                },
                new Ticket
                {
                    TicketType      = "Expired",
                    ReferenceNumber = "ReferenceNumber3",
                    TicketAreas     = new List <string> {
                        "A", "B", "C"
                    },
                    CreatedAt   = DateTime.Parse("02/03/20 14:00:00"),
                    ActivatedAt = DateTime.Parse("02/03/20 14:00:00"),
                    ExpiredAt   = DateTime.Parse("02/06/20 15:00:00")
                }
            };

            unusedTickets = new List <Ticket> {
                tickets.ElementAt(0)
            };

            activatedTickets = new List <Ticket> {
                tickets.ElementAt(1)
            };

            expiredTickets = new List <Ticket> {
                tickets.ElementAt(2)
            };

            token = new Token
            {
                AcessJwtToken   = "AccessToken",
                RefreshJwtToken = "RefreshToken"
            };

            localTokenServiceMock = new Mock <ILocalTokenService>();
            localTokenServiceMock
            .Setup(lts => lts.GetAccessTokenAsync())
            .ReturnsAsync(token.AcessJwtToken);

            ticketsServiceMock = new Mock <ITicketsService>();
            ticketsServiceMock
            .Setup(ts => ts.GetTicketsAsync(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(tickets);

            ticketsEqualityComparer = new TicketsEqualityComparer();

            var email = "email";

            navigationParameters = new NavigationParameters {
                { email, "email" }
            };

            myTicketsViewModel = new MyTicketsViewModel(null, localTokenServiceMock.Object, dialogServiceMock.Object, ticketsServiceMock.Object);
        }