//geeft plaatsnummer public int getPlaatsnummer(tblTraject traject, DateTime datum, byte treinklasse) { int aantalplaatsen = 0; using (var db = new VivesTGVEntities1()) { if (treinklasse == 0) { aantalplaatsen = traject.EconomicPlaatsen; } else if (treinklasse == 1) { aantalplaatsen = traject.BusinessPlaatsen; } Debug.WriteLine("treinklasse: " + treinklasse); if (db.tblTreinplaats.Count() != 0) { int aantalplaatsenbezet = db.tblTreinplaats.Where(a => a.Treinklasse == treinklasse).Select(v => v.Plaatsnummer).Max(); Debug.WriteLine(aantalplaatsenbezet); return(aantalplaatsenbezet + 1); } else { return(1); } } }
//krijg alle tussenlocaties van een traject public IEnumerable <string> getStopsByTraject(tblTraject traject) { using (var db = new VivesTGVEntities1()) { return(db.tblTussenlocatie.Where(c => c.TrajectID == traject.TrajectID).OrderBy(d => d.Volgnummer).Select(e => e.Naam).ToList()); } }
//krijg alle tussenlocaties van een traject public IEnumerable <string> getStopsByTraject(tblTraject traject) { if (trajectDAO.getTrajectByID(traject.TrajectID) != null)//bestaat traject { return(trajectDAO.getStopsByTraject(traject)); } else { throw new Exception("Traject bestaat niet"); } }
//kijkt als er plaatsen vrij zijn public bool checkPlaatsvrij(tblTraject traject, DateTime datum, byte treinklasse) { int aantalplaatsen = 0; double multiplier = 0; if ((traject.Aankomst == 3 || traject.Aankomst == 2) && datum.AddMonths(1) >= new DateTime(DateTime.Today.Year, 12, 25)) { multiplier = 0.3; } if ((traject.Aankomst == 3 || traject.Aankomst == 4 || traject.Aankomst == 1) && datum >= new DateTime(DateTime.Today.Year, 3, 31) && datum < new DateTime(DateTime.Today.Year, 4, 15)) { multiplier = 0.3; } using (var db = new VivesTGVEntities1()) { if (treinklasse == 0) { aantalplaatsen = traject.EconomicPlaatsen; aantalplaatsen = (int)Math.Floor(aantalplaatsen * (1 + multiplier)); } else if (treinklasse == 1) { aantalplaatsen = traject.BusinessPlaatsen; aantalplaatsen = (int)Math.Floor(aantalplaatsen * (1 + multiplier)); } int aantalplaatsenbezet = db.tblTreinplaats.Where(a => a.Treinklasse == treinklasse).Select(v => v.Plaatsnummer).Max(); int aantalplaatsenvrij = aantalplaatsen - aantalplaatsenbezet; if (aantalplaatsenvrij > 0) { return(true); } else { return(false); } } }
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()); }
//geeft plaatsnummer public int getPlaatsnummer(tblTraject traject, DateTime datum, byte treinklasse) { return(trajectDAO.getPlaatsnummer(traject, datum, treinklasse)); }
//kijkt als er plaatsen vrij zijn public bool checkPlaatsvrij(tblTraject traject, DateTime datum, byte treinklasse) { return(trajectDAO.checkPlaatsvrij(traject, datum, treinklasse)); }