public IActionResult Index() { string userID = User.FindFirst(ClaimTypes.NameIdentifier).Value; IEnumerable <Boeking> listBoeking = boekingService.GetXForUser(userID, 10); foreach (var item in listBoeking) { IEnumerable <TreinritReis> treinritReis = treinritReisService.FindByReisId(item.ReisId); Treinrit treinrit = treinritService.FindById(treinritReis.First().TreinritId); var vertekDatum = treinrit.Vertrek; var dateNow = DateTime.UtcNow; if (vertekDatum < dateNow) { if (item.Status != "Voltooid") { item.Status = "Voltooid"; boekingService.Update(item); } } } foreach (var item in listBoeking) { IEnumerable <TreinritReis> treinritReis = treinritReisService.FindByReisId(item.ReisId); Treinrit treinrit = treinritService.FindById(treinritReis.First().TreinritId); var vertekDatum = treinrit.Vertrek; var dateNow = DateTime.UtcNow; if (vertekDatum < dateNow) { if (item.Status != "Voltooid") { item.Status = "Voltooid"; boekingService.Update(item); } } item.Reis = reisService.FindById(item.ReisId); item.Reis.Vertrekstad = stadService.FindById(item.Reis.VertrekstadId); item.Reis.Bestemmingsstad = stadService.FindById(item.Reis.BestemmingsstadId); item.Reis.TreinritReis = treinritReisService.FindByReisId(item.ReisId); foreach (var rit in item.Reis.TreinritReis) { rit.Treinrit = treinritService.FindById(Convert.ToInt16(rit.TreinritId)); } } return(View(listBoeking)); }
public IActionResult Delete(int?reisId) { if (reisId == null) { return(NotFound()); } ShoppingCartVM cartList = HttpContext.Session.GetObject <ShoppingCartVM>("ShoppingCart"); // remove item form shoppingcart var itemToRemove = cartList.Cart.FirstOrDefault(r => r.ReisId == reisId); if (itemToRemove != null) { cartList.Cart.Remove(itemToRemove); if (cartList.Cart.Count == 0) { cartList = null; } HttpContext.Session.SetObject("ShoppingCart", cartList); // remove item from database try { var toDeleteTreinritreis = treinritreisService.FindByReisId(Convert.ToInt16(reisId)); foreach (TreinritReis treinritreis in toDeleteTreinritreis) { //Vrij plaatsen terugzetten Treinrit treinrit = treinritService.FindById(treinritreis.TreinritId); treinrit.Vrijeplaatsen = treinrit.Vrijeplaatsen + 1; treinritService.Update(treinrit); treinritreisService.Delete(treinritreis); } reisService.Delete(reisService.FindById(Convert.ToInt16(reisId))); } catch (Exception e) { Console.Write(e); } } return(View("index", cartList)); }
public IActionResult Annuleren(int?id) { if (id == null) { return(NotFound()); } // vertrek datum opvragen Boeking boeking = boekingService.FindById(id); IEnumerable <TreinritReis> treinritReis = treinritReisService.FindByReisId(boeking.ReisId); Treinrit treinrit = treinritService.FindById(treinritReis.First().TreinritId); var vertekDatum = treinrit.Vertrek; var dateNow = DateTime.UtcNow; if (boeking.Status != "Geannuleerd") { if (boeking.Status != "Voltooid") { if (dateNow.AddDays(3) < vertekDatum) { boeking.Status = "Geannuleerd"; boekingService.Update(boeking); } else { TempData["Message"] = "1"; } } else { TempData["Message"] = "2"; } } else { TempData["Message"] = "3"; } return(RedirectToAction("Index")); }
public static async Task CreateTreinrit() { using (vivestrainContext db = new vivestrainContext()) { float prijs = 10; var steden = db.Stad.ToList(); Treinrit rit = new Treinrit { VertrekstadId = steden.First().Id, BestemmingsstadId = steden[1].Id, Prijs = prijs, AtlZitplaatsen = 100, Vertrek = new DateTime(2019, 04, 29, 23, 29, 00, 00), Aankomst = new DateTime(2019, 04, 29, 23, 30, 00, 00) }; await db.AddAsync(rit); await db.SaveChangesAsync(); } }
private static Treinrit CheckPeriod(Treinrit rit) { if (AppSettings.DateInPaasvakantie(rit.Vertrek)) { if (rit.BestemmingsstadId == 1 || rit.BestemmingsstadId == 2 || rit.BestemmingsstadId == 4) { rit.AtlZitplaatsen = 130; rit.Vrijeplaatsen = 130; } } if (AppSettings.DateMonthBeforeKerst(rit.Vertrek)) { if (rit.BestemmingsstadId == 1 || rit.BestemmingsstadId == 1) { rit.AtlZitplaatsen = 130; rit.Vrijeplaatsen = 130; } } return(rit); }
public IActionResult DeleteAll() { ShoppingCartVM cartList = HttpContext.Session.GetObject <ShoppingCartVM>("ShoppingCart"); if (cartList != null) { // remove items from database try { List <CartVM> carts = cartList.Cart; foreach (CartVM cart in carts) { var toDeleteTreinritreis = treinritreisService.FindByReisId(Convert.ToInt16(cart.ReisId)); foreach (TreinritReis treinritreis in toDeleteTreinritreis) { //Vrij plaatsen terugzetten Treinrit treinrit = treinritService.FindById(treinritreis.TreinritId); treinrit.Vrijeplaatsen = treinrit.Vrijeplaatsen + 1; treinritService.Update(treinrit); treinritreisService.Delete(treinritreis); } reisService.Delete(reisService.FindById(Convert.ToInt16(cart.ReisId))); } } catch (Exception e) { Console.Write(e); } // empty shoppingcart cartList = null; HttpContext.Session.SetObject("ShoppingCart", cartList); } return(View("index", cartList)); }
public IActionResult RemoveReis(int?id) { if (id == null) { return(NotFound()); } var toDeleteTreinritreis = treinritreisService.FindByReisId(Convert.ToInt16(id)); foreach (TreinritReis treinritreis in toDeleteTreinritreis) { //Vrij plaatsen terugzetten Treinrit treinrit = treinritService.FindById(treinritreis.TreinritId); treinrit.Vrijeplaatsen = treinrit.Vrijeplaatsen + 1; treinritService.Update(treinrit); treinritreisService.Delete(treinritreis); } reisService.Delete(reisService.FindById(Convert.ToInt16(id))); return(RedirectToAction("Index", "Reis")); }
public TreinritReis FindTreinritReis(Treinrit treinrit) { return(_db.TreinritReis.Where(x => x.Treinrit == treinrit).FirstOrDefault()); }
public TreinritReis FindTreinritReis(Treinrit treinrit) { return(treinritReisDAO.FindTreinritReis(treinrit)); }
public static async Task CreateTreinritten() { using (vivestrainContext db = new vivestrainContext()) { var steden = db.Stad.ToList(); var dateNow = DateTime.UtcNow; //35 dagen for (int i = 0; i < 35; i++) { foreach (Stad vertrekstad in steden) { foreach (Stad bestemmingsstad in steden) { if (vertrekstad != bestemmingsstad) { var depDate = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 07, 00, 00); //5 keer per dag for (int j = 0; j < 5; j++) { (Double reisduur, Boolean day) = FindReisduur(vertrekstad, bestemmingsstad); DateTime arrDate = new DateTime(); if (day) { arrDate = depDate.AddDays(1); arrDate.AddHours(reisduur); } else { arrDate = depDate.AddHours(reisduur); } float prijs = 10; Treinrit rit = new Treinrit { VertrekstadId = vertrekstad.Id, BestemmingsstadId = bestemmingsstad.Id, Prijs = prijs, AtlZitplaatsen = 100, Vertrek = depDate, Aankomst = arrDate, Vrijeplaatsen = 100 }; rit = CheckPeriod(rit); await db.AddAsync(rit); depDate = depDate.AddHours(2); } } } } dateNow = dateNow.AddDays(1); await db.SaveChangesAsync(); } } }
public (Reis, String) MakeReis(String naam, Boolean klasse, Stad vertrekstad, Stad aankomststad, DateTime date, int aantalZitp) { //TODO: wat als alle treinen geen plaats hebben voor je reis //Tussenstoppen opvragen IList <Stad> steden = stadService.GetTussenstoppen(vertrekstad, aankomststad); double prijs = 0; //Enkele reis if (steden.Count == 2) { Treinrit treinrit = treinritService.GetClosestTreinrit(vertrekstad, aankomststad, date); //Controleren of genoeg plaats is anders andere treinrit zoeken while (treinrit.Vrijeplaatsen < aantalZitp) { date = treinrit.Vertrek.AddMinutes(30); if (checkWithin14Days(date)) { treinrit = treinritService.GetClosestTreinrit(vertrekstad, aankomststad, date); } else { return(null, "Er zijn geen reizen gevonden voor opgegeven data"); } } treinritten.Add(treinrit); prijs = treinrit.Prijs; } //Multireis else if (steden.Count > 2) { DateTime depDate = date; for (int i = 0; i < steden.Count - 1; i++) { //Treinrit zoeken Treinrit treinrit = treinritService.GetClosestTreinrit(steden[i], steden[i + 1], depDate); //Controleren of genoeg plaats is anders andere treinrit zoeken while (treinrit.Vrijeplaatsen < aantalZitp) { depDate = treinrit.Vertrek.AddMinutes(10); if (checkWithin14Days(depDate)) { treinrit = treinritService.GetClosestTreinrit(steden[i], steden[i + 1], depDate); } else { return(null, "Er zijn geen reizen gevonden voor opgegeven data"); } } prijs += treinrit.Prijs; treinritten.Add(treinrit); depDate = treinrit.Aankomst; } } Reis reis = new Reis { Vertrekstad = vertrekstad, Bestemmingsstad = aankomststad, Naam = naam, Prijs = prijs * aantalZitp, Aantal = aantalZitp }; Create(reis); //Collection van treinritreizen maken die in reis gaat ICollection <TreinritReis> colTreinritreis = new Collection <TreinritReis>(); foreach (Treinrit treinrit in treinritten) { for (int i = 0; i < aantalZitp; i++) { TreinritReis treinritreis = new TreinritReis { Treinrit = treinrit, Klasse = klasse, Reis = reis, ReisId = reis.Id, Plaats = (treinrit.AtlZitplaatsen - treinrit.Vrijeplaatsen) + 1 }; var vrijeplaatsen = treinrit.Vrijeplaatsen; treinrit.Vrijeplaatsen = vrijeplaatsen - 1; treinritService.Update(treinrit); colTreinritreis.Add(treinritreis); treinritReisService.Create(treinritreis); } } //Steden toevoegen om ze te tonen op ShowReis pagina foreach (TreinritReis treinritreis in colTreinritreis) { Treinrit treinrit = treinritreis.Treinrit; treinrit.Bestemmingsstad = stadService.FindById(treinrit.BestemmingsstadId); treinrit.Vertrekstad = stadService.FindById(treinrit.VertrekstadId); } reis.TreinritReis = colTreinritreis; return(reis, ""); }