public async void All()
        {
            var mock    = new ServiceMockFacade <ITicketRepository>();
            var records = new List <Ticket>();

            records.Add(new Ticket());
            mock.RepositoryMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult(records));
            var service = new TicketService(mock.LoggerMock.Object,
                                            mock.RepositoryMock.Object,
                                            mock.ModelValidatorMockFactory.TicketModelValidatorMock.Object,
                                            mock.BOLMapperMockFactory.BOLTicketMapperMock,
                                            mock.DALMapperMockFactory.DALTicketMapperMock);

            List <ApiTicketResponseModel> response = await service.All();

            response.Should().HaveCount(1);
            mock.RepositoryMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>()));
        }
        public async Task <ActionResult> PlaceOrder(int amount)
        {
            IList <Tickets> tickets = ticketService.All().Reverse().Take(amount).Reverse().ToList();

            try
            {
                String netUserID = User.FindFirst(ClaimTypes.NameIdentifier).Value;
                Users  u         = userService.Get(netUserID);

                var body = "<h3>Hi " + u.FirstName + ", thank you for your order placed on " + DateTime.Now.ToString("dd/MM/yyyy") + "</h3>";
                body += "<h4>You can find a summary of your order below</h4>";

                foreach (Tickets t in tickets)
                {
                    string type;
                    if (t.IsBusiness == 1)
                    {
                        type = "Business seat";
                    }
                    else
                    {
                        type = "Economic seat";
                    }

                    body += "<hr/>";
                    body +=
                        "<div class='row'>" +
                        "<div class='col-md-4'>" +
                        "<h5>" + t.Name + "</h5>" +
                        "</div>" +
                        "</div>" +
                        "<div class='row'>" +
                        "<div class='col-md-4'>" +
                        "<p>Time of departure: " + t.DateOfDeparture.Add(t.Tgv.TimeOfDeparture) + "<br/>" +
                        "Time of arrival: " + t.DateOfDeparture.Add(t.Tgv.TimeOfDeparture).Add(t.Tgv.LineNavigation.Duration) + "</p>" +
                        "</div>" +
                        "</div>" +

                        "<div class='row'>" +
                        "<div class='col-md-4'>" +
                        "<p>" + t.Tgv.LineNavigation.DepartureNavigation.City + " &rarr; " + t.Tgv.LineNavigation.DestinationNavigation.City + "</p>" +
                        "</div>" +
                        "</div>" +

                        "<div class='row'>" +
                        "<div class='col-md-4'>" +
                        "<p>Type: " + type + "<br/>" +
                        "Seat: " + t.SeatNumber + "<br/>" +
                        "Price: " + t.Price + "</p>" +
                        "</div>" +
                        "</div>";
                }

                EmailSender mail = new EmailSender();
                await mail.SendEmailAsync(
                    User.Identity.Name,
                    "Order placed on " + DateTime.Now.ToString("dd/MM/yyyy"),
                    body);

                return(View(tickets));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("ErrorWhileSendingMail"));
            }
        }
Exemple #3
0
        public ActionResult Winkelmandje()
        {
            WinkelmandViewModel vm = new WinkelmandViewModel();

            vm.gebruiker        = gservice.getGebruikerByID(User.Identity.GetUserId());
            vm.winkelmandlijnen = winkservice.getLinesFromUser(vm.gebruiker.gebruikerID);

            List <Plaats>  plaatsen     = new List <Plaats>();
            List <Ploeg>   thuisploegen = new List <Ploeg>();
            List <Ploeg>   uitploegen   = new List <Ploeg>();
            List <Prijs>   prijzen      = new List <Prijs>();
            List <Stadion> stadions     = new List <Stadion>();

            List <Abo>     abonnementen       = new List <Abo>();
            List <Ploeg>   Abonnementploegen  = new List <Ploeg>();
            List <Plaats>  Abonnementplaatsen = new List <Plaats>();
            List <double>  Abonnementprijzen  = new List <double>();
            List <Stadion> AbonnementStadions = new List <Stadion>();

            int[] ids = new int[vm.winkelmandlijnen.Count()];



            for (int i = 0; i < vm.winkelmandlijnen.Count(); i++)
            {
                if (vm.winkelmandlijnen.ElementAt(i).AboID == null)
                {
                    Ticket    ticket    = tservice.All().Where(x => x.ticketID == vm.winkelmandlijnen.ElementAt(i).TicketID).FirstOrDefault();
                    Wedstrijd wedstrijd = wservice.getWedstrijdByID(ticket.wedstrijdID);
                    Prijs     prijs     = prservice.getPriceByID(ticket.PrijsID);
                    Plaats    plaats    = pservice.getPlaatsByID(prijs.plaatsID);
                    Ploeg     thuis     = plservice.getPloegByID(wedstrijd.thuisID);
                    Ploeg     uit       = plservice.getPloegByID(wedstrijd.uitID);
                    Stadion   stadion   = staservice.getStadionByID(prijs.stadionID);
                    plaatsen.Add(plaats);
                    thuisploegen.Add(thuis);
                    uitploegen.Add(uit);
                    prijzen.Add(prijs);
                    stadions.Add(stadion);
                }
                else
                {
                    Abo     abonnement        = aservice.getAboByID(vm.winkelmandlijnen.ElementAt(i).AboID.Value);
                    Ploeg   abonnementPloeg   = plservice.getPloegByID(abonnement.ploegID);
                    Stadion abonnementStadion = staservice.getStadionByID(abonnementPloeg.stadionID);
                    Plaats  abonnementPlaats  = pservice.getPlaatsByID(abonnement.plaatsID);
                    Abonnementplaatsen.Add(abonnementPlaats);
                    AbonnementStadions.Add(abonnementStadion);
                    Abonnementploegen.Add(abonnementPloeg);
                    Abonnementprijzen.Add(abonnement.prijs);
                }

                ids[i] = vm.winkelmandlijnen.ElementAt(i).ID;
            }
            vm.abonnementPlaats  = Abonnementplaatsen;
            vm.abonnementPloeg   = Abonnementploegen;
            vm.abonnementPrijs   = Abonnementprijzen;
            vm.abonnementStadion = AbonnementStadions;

            vm.stadion = stadions;
            vm.thuis   = thuisploegen;
            vm.uit     = uitploegen;
            vm.prijs   = prijzen;
            vm.plaats  = plaatsen;

            vm.winkelmandlineIDS = ids;



            return(View(vm));
        }