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