示例#1
0
        public async System.Threading.Tasks.Task <ActionResult> Winkelmandje(WinkelmandViewModel vm)
        {
            IList <Winkelmandlijn> lines = new List <Winkelmandlijn>();

            for (int i = 0; i < vm.winkelmandlineIDS.Count(); i++)
            {
                lines.Add(winkservice.getLineByID(vm.winkelmandlineIDS[i]));
            }
            for (int i = 0; i < lines.Count(); i++)
            {
            }
            Bestelling bestelling = new Bestelling();

            bestelling.gebruikerID = User.Identity.GetUserId();
            bestelling.date        = DateTime.Today.Date;
            bestelling             = bservice.Create(bestelling);
            IdentityMessage msg = new IdentityMessage();

            msg.Subject     = "Uw bestelling";
            msg.Destination = gservice.getGebruikerByID(User.Identity.GetUserId()).email;
            string content = "<h4>Uw bestelling</h4><p>Hieronder vindt u een overzicht van uw bestelling:</p><table style='text-align:center;'><thead style='background:#333;color:#fff;'><tr><td>Type</td><td>Wedstrijd</td><td>Prijs</td><td>Plaats</td></tr></thead><tbody>";

            for (int i = 0; i < lines.Count(); i++)
            {
                Bestellijn line = new Bestellijn();
                if (lines.ElementAt(i).AboID == null)
                {
                    line.ticketID = lines.ElementAt(i).TicketID;
                    Ticket    t     = tservice.getTicketByID(line.ticketID.Value);
                    Wedstrijd w     = wservice.getWedstrijdByID(t.wedstrijdID);
                    Ploeg     thuis = plservice.getPloegByID(w.thuisID);
                    Ploeg     uit   = plservice.getPloegByID(w.uitID);
                    line.bestellingID = bestelling.BestellingID;
                    Prijs  p  = prservice.getPriceByID(t.PrijsID);
                    Plaats pl = pservice.getPlaatsByID(p.plaatsID);
                    content += "<tr><td>Ticket</td><td>" + thuis.naam + " - " + uit.naam + "</td><td>" + p.prijs + ",00</td><td>" + pl.plaatsNaam + "</td></tr>";
                }
                else
                {
                    line.aboID = lines.ElementAt(i).AboID;
                    Abo a = aservice.getAboByID(line.aboID.Value);
                    line.bestellingID = bestelling.BestellingID;
                    Plaats pl    = pservice.getPlaatsByID(a.plaatsID);
                    Ploeg  ploeg = plservice.getPloegByID(a.ploegID);
                    content += "<tr><td>Abonnement</td><td>" + ploeg.naam + "</td><td>" + a.prijs + ",00</td><td>" + pl.plaatsNaam + "</td></tr>";
                }
                blservice.Create(line);
            }
            content += "</tbody></table>";
            winkservice.DeleteLinesFromUser(User.Identity.GetUserId());
            msg.Body = content;
            EmailService service = new EmailService();
            await service.SendAsync(msg);



            return(RedirectToAction("OrderBevestiging", "Home"));
        }
示例#2
0
        public ActionResult Index()
        {
            var claimsIdentity = User.Identity as ClaimsIdentity;

            if (claimsIdentity != null)
            {
                var userIdClaim = claimsIdentity.Claims
                                  .FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier);

                if (userIdClaim != null)
                {
                    string id = userIdClaim.Value;
                    tblWinkelmandlijnService winkelmandlijnservice = new tblWinkelmandlijnService();
                    tblProductService        productservice        = new tblProductService();
                    tblHotelService          hotelservice          = new tblHotelService();
                    tblTrajectService        trajectservice        = new tblTrajectService();
                    tblStadService           stadservice           = new tblStadService();
                    tblWinkelmandlijn[]      winkelmandlijnen      = winkelmandlijnservice.getWinkelmandlijnenByGebruiker(id).ToArray();
                    WinkelmandViewModel      vm = new WinkelmandViewModel();

                    List <bool>     treinklassen         = new List <bool>();
                    List <int>      treinplaatsen        = new List <int>();
                    List <double>   hotelprijzen         = new List <double>();
                    List <double>   trajectprijzen       = new List <double>();
                    List <string>   vertrek              = new List <string>();
                    List <string>   aankomst             = new List <string>();
                    List <DateTime> hoteldatum           = new List <DateTime>();
                    List <DateTime> trajectdatum         = new List <DateTime>();
                    List <string>   hotelnamen           = new List <string>();
                    List <string>   trajectnamen         = new List <string>();
                    List <int>      hotelID              = new List <int>();
                    List <int>      trajectID            = new List <int>();
                    List <string>   hotelnaam            = new List <string>();
                    List <int>      trajectwinkelmandIDs = new List <int>();
                    List <int>      hotelwinkelmandIDs   = new List <int>();
                    int             plaatsincrement      = 0;

                    for (int i = 0; i < winkelmandlijnen.Count(); i++)
                    {
                        tblProduct product = productservice.getProduct((winkelmandlijnen[i].ProductID));

                        if (productservice.isHotel(product))
                        {
                            hoteldatum.Add(winkelmandlijnen[i].Datum);
                            hotelprijzen.Add(productservice.getPrijs(product));
                            tblHotel hotel = hotelservice.getHotelsByID(product.HotelID.Value);
                            hotelID.Add(hotel.HotelID);
                            hotelnaam.Add(hotel.Naam);
                            hotelnamen.Add(winkelmandlijnen[i].Naam);
                            hotelwinkelmandIDs.Add(winkelmandlijnen[i].WinkelmandlijnID);
                        }
                        else
                        {
                            trajectnamen.Add(winkelmandlijnen[i].Naam);
                            trajectprijzen.Add(productservice.getPrijs(product));
                            trajectdatum.Add(winkelmandlijnen[i].Datum);
                            tblTraject traject = trajectservice.getTrajectByID(product.TrajectID.Value);
                            trajectID.Add(traject.TrajectID);
                            vertrek.Add(stadservice.getStad(traject.Vertrek).Naam);
                            aankomst.Add(stadservice.getStad(traject.Aankomst).Naam);
                            treinplaatsen.Add(trajectservice.getPlaatsnummer(traject, winkelmandlijnen[i].Datum, product.Treinklasse.Value) + plaatsincrement);
                            trajectwinkelmandIDs.Add(winkelmandlijnen[i].WinkelmandlijnID);
                            if (product.Treinklasse.Value == 1)
                            {
                                treinklassen.Add(true);
                            }
                            else
                            {
                                treinklassen.Add(false);
                            }

                            plaatsincrement++;
                        }
                    }
                    vm.trajectvertrek       = vertrek.ToArray();
                    vm.trajectaankomst      = aankomst.ToArray();
                    vm.trajectdatum         = trajectdatum.ToArray();
                    vm.hoteldatum           = hoteldatum.ToArray();
                    vm.trajectenIDs         = trajectID.ToArray();
                    vm.treinplaats          = treinplaatsen.ToArray();
                    vm.hotelprijzen         = hotelprijzen.ToArray();
                    vm.trajectprijzen       = trajectprijzen.ToArray();
                    vm.hotelIDs             = hotelID.ToArray();
                    vm.hotelnaam            = hotelnaam.ToArray();
                    vm.trajectnamen         = trajectnamen.ToArray();
                    vm.hotelnamen           = hotelnamen.ToArray();
                    vm.treinklassen         = treinklassen.ToArray();
                    vm.hotelwinkelmandIDs   = hotelwinkelmandIDs.ToArray();
                    vm.trajectwinkelmandIDs = trajectwinkelmandIDs.ToArray();

                    return(View(vm));
                }
            }

            return(View());
        }
示例#3
0
        public async Task <ActionResult> Index(WinkelmandViewModel vm)
        {
            tblBestellijnService  bestellijnservice  = new tblBestellijnService();
            tblBestellingService  bestellingservice  = new tblBestellingService();
            tblTreinplaatsService treinplaatsservice = new tblTreinplaatsService();
            tblProductService     productservice     = new tblProductService();
            var claimsIdentity = User.Identity as ClaimsIdentity;

            if (claimsIdentity != null)
            {
                var userIdClaim = claimsIdentity.Claims
                                  .FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier);

                if (userIdClaim != null)
                {
                    string id = userIdClaim.Value;

                    tblBestelling bestelling = new tblBestelling();
                    bestelling.GebruikersID = id;
                    bestelling.Vertrekdatum = vm.trajectdatum.FirstOrDefault();
                    bestelling.Besteldatum  = DateTime.Today;
                    bestelling.Geannuleerd  = 0;
                    int bestellingid = bestellingservice.addBestelling(bestelling);
                    List <tblBestellijn> bestellijnen = new List <tblBestellijn>();
                    for (int i = 0; i < vm.hotelIDs.Count(); i++)
                    {
                        tblBestellijn bestellijn = new tblBestellijn();
                        bestellijn.BestellingID = bestellingid;
                        tblProduct product = productservice.getProductByHotel(vm.hotelIDs[i]);
                        bestellijn.ProductID = product.ProductID;
                        int bestellijnID = bestellijnservice.addBestellijn(bestellijn);
                    }
                    for (int i = 0; i < vm.trajectenIDs.Count(); i++)
                    {
                        tblBestellijn bestellijn = new tblBestellijn();
                        bestellijn.BestellingID = bestellingid;
                        tblProduct product;

                        product = productservice.getProductByTraject(vm.trajectenIDs[i], vm.treinklassen[i]);


                        bestellijn.ProductID = product.ProductID;

                        int            bestellijnID = bestellijnservice.addBestellijn(bestellijn);
                        tblTreinplaats treinplaats  = new tblTreinplaats();
                        treinplaats.BestellijnID = bestellijnID;
                        treinplaats.Naam         = vm.trajectnamen[i];
                        treinplaats.Plaatsnummer = vm.treinplaats[i];
                        if (vm.treinklassen[i])
                        {
                            treinplaats.Treinklasse = 1;
                        }
                        else
                        {
                            treinplaats.Treinklasse = 0;
                        }

                        treinplaatsservice.addTreinplaats(treinplaats);
                    }

                    tblWinkelmandlijnService winkelmandlijnservice = new tblWinkelmandlijnService();
                    winkelmandlijnservice.clearWinkelmand(id);
                    string bericht = "Dit zijn de gegevens van uw bestelling<br/><br/> <table class='table'><thead> <tr><th> Beschrijving </th><th> Vertrekdatum </th><th> Naam reiziger </th><th> Prijs </th></tr></thead> ";
                    for (int i = 0; i < vm.trajectenIDs.Count(); i++)
                    {
                        string tablelijn = "<tr><td>Treinticket van " + vm.trajectvertrek[i] + " naar " + vm.trajectaankomst[i] + " treinplaats " + vm.treinplaats[i] + "</td><td>" + vm.trajectdatum[i].Date.ToShortDateString() + " </td><td>" + vm.trajectnamen[i] + " </td><td>€" + vm.trajectprijzen[i] + "</td> </tr>";
                        bericht += tablelijn;
                    }
                    for (int i = 0; i < vm.hotelIDs.Count(); i++)
                    {
                        string tablelijn = "<tr><td>Hotelboeking in " + vm.hotelnaam[i] + "</td><td>" + vm.hoteldatum[i].Date.ToShortDateString() + " </td><td>" + vm.hotelnamen[i] + " </td><td>€" + vm.hotelprijzen[i] + "</td> </tr>";
                        bericht += tablelijn;
                    }
                    bericht += "</table>";

                    var userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();
                    await userManager.SendEmailAsync(id, "VivesTGV: Uw bestelling " + bestelling.BestellingID, bericht);
                }
            }

            return(RedirectToAction("Index", "Home"));
        }
示例#4
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));
        }