//krijg een lijst van de personen van de bestellijn public IEnumerable <tblTreinplaats> getPersonen(tblBestellijn bestellijn) { using (var db = new VivesTGVEntities1()) { return(db.tblTreinplaats.Where(a => a.BestellijnID == bestellijn.BestellijnID).ToList()); } }
//Zoek een stad public tblStad getStad(int ID) { using (var db = new VivesTGVEntities1()) { return(db.tblStad.Where(a => a.StadID == ID).FirstOrDefault()); } }
//Zoek alle hotels in een stad public tblHotel[] getHotelsByStad(int stadID) { using (var db = new VivesTGVEntities1()) { return(db.tblHotel.Where(a => a.StadID == stadID).ToArray()); } }
//krijg alle namen van alle steden public IEnumerable <string> getSteden() { using (var db = new VivesTGVEntities1()) { return(db.tblStad.Select(a => a.Naam).ToList()); } }
//Zoek een hotel op ID public tblHotel getHotelsByID(int ID) { using (var db = new VivesTGVEntities1()) { return(db.tblHotel.Where(a => a.HotelID == ID).FirstOrDefault()); } }
//verwijder treinplaats public void deleteTreinplaats(tblTreinplaats treinplaats) { using (var db = new VivesTGVEntities1()) { db.tblTreinplaats.Remove(treinplaats); } }
//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); } } }
//Zoek traject op TrajectID public tblTraject getTrajectByID(int ID) { using (var db = new VivesTGVEntities1()) { return(db.tblTraject.Where(c => c.TrajectID == ID).FirstOrDefault()); } }
//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()); } }
//Zoek bestelling op ID public tblBestelling getBestellingByID(int ID) { using (var db = new VivesTGVEntities1()) { return(db.tblBestelling.Where(a => a.BestellingID == ID).FirstOrDefault()); } }
//Zoek alle bestellingen van gebruiker public IEnumerable <tblBestelling> getBestellingenBytblGebruiker(string ID) { using (var db = new VivesTGVEntities1()) { return(db.tblBestelling.Where(a => a.GebruikersID == ID).ToList()); } }
//zoek product op hotelID public tblProduct getProductByHotel(int hotelID) { using (var db = new VivesTGVEntities1()) { return(db.tblProduct.Where(a => a.HotelID == hotelID).FirstOrDefault()); } }
//zoek product op ID public tblProduct getProduct(int ID) { using (var db = new VivesTGVEntities1()) { return(db.tblProduct.Where(a => a.ProductID == ID).FirstOrDefault()); } }
//Lijst van bestellijnen per bestelling public IEnumerable <tblBestellijn> getBestellijnenByBestelling(tblBestelling bestelling) { using (var db = new VivesTGVEntities1()) { return(db.tblBestellijn.Where(a => a.BestellingID == bestelling.BestellingID).ToList()); } }
//geef het aantal treinplaatsen per bestellijn public int getAantalTreinplaatsenPerBestellijn(tblBestellijn bestellijn) { using (var db = new VivesTGVEntities1()) { return(db.tblTreinplaats.Where(a => a.BestellijnID == bestellijn.BestellijnID).Count()); } }
//zoek een treinplaats public tblTreinplaats getTreinplaats(int ID) { using (var db = new VivesTGVEntities1()) { return(db.tblTreinplaats.Where(a => a.TreinplaatsID == ID).FirstOrDefault()); } }
//krijg alle winkelmandlijnen van een gebruiker public IEnumerable <tblWinkelmandlijn> getWinkelmandlijnenByGebruiker(string ID) { using (var db = new VivesTGVEntities1()) { return(db.tblWinkelmandlijn.Where(a => a.GebruikersID == ID).ToList()); } }
//zoek winkelmandlijn public tblWinkelmandlijn getWinkelmandLijn(int ID) { using (var db = new VivesTGVEntities1()) { return(db.tblWinkelmandlijn.Where(a => a.WinkelmandlijnID == ID).FirstOrDefault()); } }
//verwijder alle winkelmandlijnen van een gebruiker public void clearWinkelmand(string ID) { using (var db = new VivesTGVEntities1()) { db.tblWinkelmandlijn.RemoveRange(db.tblWinkelmandlijn.Where(b => b.GebruikersID == ID).ToList()); db.SaveChanges(); } }
//voeg een winkelmandlijn toe public void addWinkelmandLijn(tblWinkelmandlijn winkelmandlijn) { using (var db = new VivesTGVEntities1()) { db.tblWinkelmandlijn.Add(winkelmandlijn); db.SaveChanges(); } }
//voeg treinplaats toe public int addTreinplaats(tblTreinplaats treinplaats) { using (var db = new VivesTGVEntities1()) { db.tblTreinplaats.Add(treinplaats); db.SaveChanges(); return(treinplaats.TreinplaatsID); } }
//verwijder een winkelmandlijn public void deleteWinkelmandlijn(int id) { using (var db = new VivesTGVEntities1()) { tblWinkelmandlijn lijn = getWinkelmandLijn(id); db.Entry(lijn).State = EntityState.Deleted; db.SaveChanges(); } }
//Schrijf bestellijnen weg public int addBestellijn(tblBestellijn bestellijn) { using (var db = new VivesTGVEntities1()) { db.tblBestellijn.Add(bestellijn); db.SaveChanges(); return(bestellijn.BestellijnID); } }
//Schrijf nieuwe bestelling weg public int addBestelling(tblBestelling bestelling) { using (var db = new VivesTGVEntities1()) { db.tblBestelling.Add(bestelling); db.SaveChanges(); return(bestelling.BestellingID); } }
public void bestellingAnnuleren(int id) { using (var db = new VivesTGVEntities1()) { tblBestelling bestelling = getBestellingByID(id); bestelling.Geannuleerd = 1; db.Entry(bestelling).State = EntityState.Modified; db.SaveChanges(); } }
//Zoek traject op vertrek en aankomst public tblTraject getTrajectByVertrekAankomst(string vertrek, string aankomst) { using (var db = new VivesTGVEntities1()) { int vertrekID = db.tblStad.Where(a => a.Naam == vertrek).FirstOrDefault().StadID; int aankomstID = db.tblStad.Where(a => a.Naam == aankomst).FirstOrDefault().StadID; var traject = from t in db.tblTraject where ((t.Vertrek == vertrekID) && (t.Aankomst == aankomstID)) select t; return(traject.FirstOrDefault()); } }
//kijken als het een hotel is public bool isHotel(tblProduct product) { using (var db = new VivesTGVEntities1()) { if (product.HotelID == null) { return(false); } else { return(true); } } }
//zoek product op TrajectID public tblProduct getProductByTraject(int trajectID, bool isBusinessklasse) { using (var db = new VivesTGVEntities1()) { if (isBusinessklasse) { var product = from p in db.tblProduct where ((p.TrajectID == trajectID) && (p.Treinklasse == 1)) select p; return(product.FirstOrDefault()); } else { var product = from p in db.tblProduct where ((p.TrajectID == trajectID) && (p.Treinklasse == 0)) select p; return(product.FirstOrDefault()); } } }
//prijs opvragen public double getPrijs(tblProduct product) { using (var db = new VivesTGVEntities1()) { if (isHotel(product)) //check hotel of traject { return(db.tblHotel.Where(a => a.HotelID == product.HotelID).FirstOrDefault().PrijsPerOvernachting); //Prijs per overnachting } else { if (product.Treinklasse == 1) { return(db.tblTraject.Where(b => b.TrajectID == product.TrajectID).FirstOrDefault().BusinessPrijs);//businessprijs } else { return(db.tblTraject.Where(b => b.TrajectID == product.TrajectID).FirstOrDefault().EconomicPrijs);//economicprijs } } } }
//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); } } }