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 Index(TicketShopViewModels vm) { tblTrajectService trajectService = new tblTrajectService(); if (vm.namen == null) { string strVertrek = Request.Form["vertrek"].ToString(); string strAankomst = Request.Form["aankomst"].ToString(); if (strVertrek.Equals(strAankomst)) { ViewBag.errormsg = "Je vertreklocatie mag niet gelijk zijn met je aankomstlocatie."; vm.aantal = 0; tblStadService stadservice = new tblStadService(); vm.aankomst = stadservice.getSteden().ToArray(); vm.vertrek = stadservice.getSteden().ToArray(); } else { tblStadService stadservice = new tblStadService(); vm.aankomst = stadservice.getSteden().ToArray(); vm.vertrek = stadservice.getSteden().ToArray(); ViewBag.vertrek = strVertrek; ViewBag.aankomst = strAankomst; Debug.WriteLine("aantal: " + vm.aantal); Debug.WriteLine("vertrek: " + strVertrek); Debug.WriteLine("aankomst: " + strAankomst); Debug.WriteLine("vertrekdatum: " + vm.vertrekdatum); vm.traject = trajectService.getTrajectByVertrekAankomst(strVertrek, strAankomst); vm.tussenstops = trajectService.getStopsByTraject(trajectService.getTrajectByVertrekAankomst(strVertrek, strAankomst)).ToArray(); Debug.WriteLine("vertrekdatum: " + vm.tussenstops); if (!trajectService.checkPlaatsvrij(vm.traject, DateTime.ParseExact(vm.vertrekdatum, "MM/dd/yyyy", CultureInfo.InvariantCulture), 1)) { if (!trajectService.checkPlaatsvrij(vm.traject, DateTime.ParseExact(vm.vertrekdatum, "MM/dd/yyyy", CultureInfo.InvariantCulture), 0))//geen van beide over { ViewBag.errormsg = "Er zijn geen plaatsen meer beschikbaar voor " + strVertrek + " naar " + strAankomst + " op " + vm.vertrekdatum; } else//enkel economic over { ViewBag.Economic = true; } } else { if (!trajectService.checkPlaatsvrij(vm.traject, DateTime.ParseExact(vm.vertrekdatum, "MM/dd/yyyy", CultureInfo.InvariantCulture), 0))//enkel business over { ViewBag.Business = true; } } } return(View(vm)); } else { for (int i = 0; i < vm.namen.Count(); i++) { string id; Debug.WriteLine(vm.traject.TrajectID); Debug.WriteLine(vm.treinklassen[i]); tblProductService productservice = new tblProductService(); tblProduct product = productservice.getProductByTraject(vm.traject.TrajectID, vm.treinklassen[i]); var claimsIdentity = User.Identity as ClaimsIdentity; if (claimsIdentity != null) { var userIdClaim = claimsIdentity.Claims .FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier); if (userIdClaim != null) { id = userIdClaim.Value; Debug.WriteLine("ProductID: " + product.ProductID); Debug.WriteLine("UserID: " + id); tblWinkelmandlijnService winkelmandlijnservice = new tblWinkelmandlijnService(); tblWinkelmandlijn winkelmandlijn = new tblWinkelmandlijn(); winkelmandlijn.GebruikersID = id; winkelmandlijn.ProductID = product.ProductID; winkelmandlijn.Naam = vm.namen[i]; winkelmandlijn.Datum = DateTime.ParseExact(vm.vertrekdatum, "MM/dd/yyyy", CultureInfo.InvariantCulture); winkelmandlijnservice.addWinkelmandLijn(winkelmandlijn); aantal = vm.namen.Count(); TempData["datum"] = vm.vertrekdatum; TempData["namen"] = vm.namen; } } } return(RedirectToAction("Hotels", new { id = vm.traject.Aankomst })); } }