Esempio n. 1
0
        public List <Rit> AangevraagdeRitten(Models.Ouder ouder)
        {
            SqlCommand cmd = new SqlCommand("GetRitten");

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("OuderEmail", ouder.email);

            try
            {
                List <DataRow> ritOverview = new List <DataRow>();
                ritOverview.AddRange(Connector.ExecuteQueryCommand(cmd));
                List <Rit> aangevraagdeRitten = new List <Rit>();
                foreach (DataRow dr in ritOverview)
                {
                    Rit rit = new Rit(Convert.ToDateTime(dr["Date"]), Convert.ToString(dr["BeginTijd"]),
                                      Convert.ToString(dr["Beginlocatie"]), Convert.ToString(dr["EindLocatie"]),
                                      Convert.ToInt32(dr["RitDuur"]));
                    aangevraagdeRitten.Add(rit);
                }
                return(aangevraagdeRitten);
            }
            catch (Exception ex)
            {
                string message = ex.ToString();
                return(null);
            }
        }
Esempio n. 2
0
        public Home()
        {
            InitializeComponent();

            bus            = new Business();
            dataAccess     = new Ride2EarnDatabase();
            BindingContext = new Rit();

            StartPicker.ItemsSource = bus.GetStartAdressen();
            EindePicker.ItemsSource = bus.GetEindAdressen();

            EntryGereden.Text = string.Empty;
            EntryDatum.Text   = string.Empty;
            EntryStart.Text   = string.Empty;
            EntryEinde.Text   = string.Empty;

            if ((EntryStart.IsVisible == false) && (EntryEinde.IsVisible == false))
            {
                EntryDatum.Completed   += (s, e) => EntryGereden.Focus();
                EntryGereden.Completed += (s, e) => AddEvent(s, e);
            }
            else if (EntryStart.IsVisible == false)
            {
                EntryDatum.Completed   += (s, e) => EntryEinde.Focus();
                EntryEinde.Completed   += (s, e) => EntryGereden.Focus();
                EntryGereden.Completed += (s, e) => AddEvent(s, e);
            }
            else if (EntryEinde.IsVisible == false)
            {
                EntryDatum.Completed   += (s, e) => EntryStart.Focus();
                EntryStart.Completed   += (s, e) => EntryGereden.Focus();
                EntryGereden.Completed += (s, e) => AddEvent(s, e);
            }
        }
Esempio n. 3
0
        public void TestMethod1()
        {
            Rit rit = new Rit(null);

            //rit.Apply(new RitCreated(Guid.NewGuid(), "test1"));

            Assert.IsNotNull(rit.Id);
        }
Esempio n. 4
0
        public void TestMethod3()
        {
            Rit rit = new Rit(null);

            //rit.Create(Guid.NewGuid(), "test1");

            Assert.IsNotNull(rit.Id);
        }
Esempio n. 5
0
        public void TestMethod2()
        {
            Rit rit = new Rit(null);

            ////rit.Create(Guid.NewGuid(), "test1");
            //rit.Create(Guid.NewGuid(), "test2");
            //rit.Create(Guid.NewGuid(), "test3");

            Assert.AreNotEqual(Guid.Empty, rit.Id);
            Assert.AreEqual(3, rit.Version);
        }
Esempio n. 6
0
 public int SaveRit(Rit a)
 {
     lock (collisionLock)
     {
         if (a.ID != 0)
         {
             database.Update(a);
             return(a.ID);
         }
         else
         {
             database.Insert(a);
             return(a.ID);
         }
     }
 }
Esempio n. 7
0
        public ActionResult VraagAan(DateTime Date, DateTime Begin, string startAdres, string eindAdres, int duratie)
        {
            string beginTijd = Begin.ToString("t");

            ouder = (Ouder)Session["Ouder"];
            Rit rit = new Rit(ouder, Date, beginTijd, startAdres, eindAdres, duratie);

            if (ouderRepo.VraagRitAan(rit))
            {
                return(RedirectToAction("OuderBase"));
            }
            else
            {
                return(RedirectToAction("Aanvraag"));
            }
        }
Esempio n. 8
0
        public void AutoCreateRitWhenNeeded(Guid id, int stand, DateTime datum, Guid adresId)
        {
            // get previous
            var prevStandView = _kmStandViewRepository.GetPrevious();

            // zoek laatste kmstand
            var lastStandView = _kmStandViewRepository.GetLastOne();

            if (prevStandView != null)
            {
                var ritViewPrevFirst = _ritViewRepository.FindByFirstKmStandId(prevStandView?.Id ?? Guid.Empty);

                // is deze gekoppeld als eerste stand aan een rit?
                var ritViewFirst = _ritViewRepository.FindByFirstKmStandId(id);

                // is deze al gekoppeld aan een rit als eind stand?
                var ritViewLast = _ritViewRepository.FindByLastKmStandId(id);

                if (ritViewPrevFirst == null && ritViewFirst == null && ritViewLast == null)
                {
                    // niet gekoppeld dan rit aanmaken en koppelen als eerste stand
                    Rit rit = _aggregateFactory.Create <Rit>();
                    rit.Create("Generated", lastStandView.Stand, lastStandView.Id, 0, Guid.Empty, Guid.NewGuid());
                    _ritRepository.Add(rit);
                }
                else
                {
                    var ritv = _ritViewRepository.FindByFirstKmStandId(prevStandView.Id);
                    // rit updaten en kmstand als laatste stand
                    Rit rit = _ritRepository.FindBy(ritv.Id).Result;
                    rit.Update(rit.Name, rit.BeginStand, rit.BeginStandId, stand, id, rit.Id);
                    _ritRepository.Update(rit);
                }
            }
            else
            { // eerste stand
                // zo nee, dan rit aanmaken en de kmstandid koppelen als begin stand
                Rit rit = _aggregateFactory.Create <Rit>();
                rit.Create("First Generated", lastStandView.Stand, lastStandView.Id, 0, Guid.Empty, Guid.NewGuid());
                _ritRepository.Add(rit);
            }
        }
Esempio n. 9
0
        public bool VraagRitAan(Rit rit)
        {
            SqlCommand cmd = new SqlCommand("RitAanvraag");

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@OuderEmail", rit.ouder.email);
            cmd.Parameters.AddWithValue("@BeginTijd", rit.beginTijd);
            cmd.Parameters.AddWithValue("@BeginAdres", rit.beginAdres);
            cmd.Parameters.AddWithValue("@Date", rit.date);
            cmd.Parameters.AddWithValue("@EindAdres", rit.eindAdres);
            cmd.Parameters.AddWithValue("@RitDuratie", rit.ritDurate);

            try
            {
                Connector.ExecuteQueryCommand(cmd);
                return(true);
            }
            catch (Exception ex)
            {
                string message = ex.ToString();
                return(false);
            }
        }
        public async Task <ActionResult> Payment(ShoppingCartVM carts)
        {
            if (carts == null)
            {
                return(NotFound());
            }
            string userID = User.FindFirst(ClaimTypes.NameIdentifier).Value;

            //altijd in een try catch stoppen
            try
            {
                Boeking boeking;
                Zetels  zetels;

                BoekingService boekingService = new BoekingService();
                TrajectService trajectService = new TrajectService();
                RitService     ritService     = new RitService();
                ZetelService   zetelService   = new ZetelService();
                StationService stationService = new StationService();

                foreach (CartVM cart in carts.Cart)
                {
                    boeking = new Boeking();
                    zetels  = new Zetels();

                    Traject t = trajectService.Get(cart.TrajectNr);
                    //alle boekingen ophalen van de boekingsdatum
                    var boekingen = boekingService.GetAllByDate(DateTime.Parse(cart.Vertrekdatum));

                    int ZetelID = 0;


                    //het komene blok code dient om de boekingen die niet mogelijk zijn wegens plaatsgebrek te blokkeren.
                    if (t.Rit1Id != 0)
                    {
                        //type trein opvragne van de eerste rit
                        TreinType TypeRit1 = ritService.GetTreinTypeRit(t.Rit1Id);

                        int MaxAantalPersonen    = 0;
                        int HuidigAantalPersonen = 0;

                        //maxAantalPersonen instellen aan de hand van de klasse
                        if (cart.Klasse.Equals("Economic"))
                        {
                            MaxAantalPersonen = TypeRit1.CapaciteitEconomic;
                        }
                        else if (cart.Klasse.Equals("Business"))
                        {
                            MaxAantalPersonen = TypeRit1.CapaciteitBusiness;
                        }

                        foreach (Boeking b in boekingen)
                        {
                            //trjact ophalen dat we willen controleren
                            Traject TeTestenTraject = trajectService.Get(b.TrajectId);
                            //lijst om alle ritId's in te steken.
                            List <int> ritIDs = new List <int>();
                            ritIDs.Add(TeTestenTraject.Rit1Id);
                            if (TeTestenTraject.Rit2Id != null)
                            {
                                ritIDs.Add((int)TeTestenTraject.Rit2Id);
                            }
                            if (TeTestenTraject.Rit3Id != null)
                            {
                                ritIDs.Add((int)TeTestenTraject.Rit3Id);
                            }
                            if (ritIDs.Contains(t.Rit1Id))
                            {
                                HuidigAantalPersonen++;
                            }
                        }
                        if (HuidigAantalPersonen + 1 <= MaxAantalPersonen)
                        {
                            zetels.Rit1Zetel = HuidigAantalPersonen + 1;
                            cart.Zetel1      = HuidigAantalPersonen + 1;
                        }
                        else
                        {
                            Rit     r = ritService.Get(t.Rit1Id);
                            Station s = stationService.Get(r.VertrekStationId);
                            return(View("TeWeinigPlaatsen", s.StationNaam));
                        }
                    }

                    if (t.Rit2Id != 0 && t.Rit2Id != null)
                    {
                        TreinType TypeRit2 = ritService.GetTreinTypeRit((int)t.Rit2Id);

                        int MaxAantalPersonen    = 0;
                        int HuidigAantalPersonen = 0;
                        if (cart.Klasse.Equals("Economic"))
                        {
                            MaxAantalPersonen = TypeRit2.CapaciteitEconomic;
                        }
                        else if (cart.Klasse.Equals("Business"))
                        {
                            MaxAantalPersonen = TypeRit2.CapaciteitBusiness;
                        }

                        foreach (Boeking b in boekingen)
                        {
                            Traject    TeTestenTraject = trajectService.Get(b.TrajectId);
                            List <int> ritIDs          = new List <int>();
                            ritIDs.Add(TeTestenTraject.Rit1Id);
                            if (TeTestenTraject.Rit2Id != null)
                            {
                                ritIDs.Add((int)TeTestenTraject.Rit2Id);
                                if (TeTestenTraject.Rit3Id != null)
                                {
                                    ritIDs.Add((int)TeTestenTraject.Rit3Id);
                                }
                                if (ritIDs.Contains((int)t.Rit2Id))
                                {
                                    HuidigAantalPersonen++;
                                }
                            }
                        }
                        if (HuidigAantalPersonen + 1 <= MaxAantalPersonen)
                        {
                            zetels.Rit2Zetel = HuidigAantalPersonen + 1;
                            cart.Zetel2      = HuidigAantalPersonen + 1;
                        }
                        else
                        {
                            Rit     r = ritService.Get((int)t.Rit2Id);
                            Station s = stationService.Get(r.VertrekStationId);
                            return(View("TeWeinigPlaatsen", s.StationNaam));
                        }
                    }

                    if (t.Rit3Id != 0 && t.Rit3Id != null)
                    {
                        TreinType TypeRit3 = ritService.GetTreinTypeRit((int)t.Rit3Id);

                        int MaxAantalPersonen    = 0;
                        int HuidigAantalPersonen = 0;
                        if (cart.Klasse.Equals("Economic"))
                        {
                            MaxAantalPersonen = TypeRit3.CapaciteitEconomic;
                        }
                        else if (cart.Klasse.Equals("Business"))
                        {
                            MaxAantalPersonen = TypeRit3.CapaciteitBusiness;
                        }

                        foreach (Boeking b in boekingen)
                        {
                            Traject    TeTestenTraject = trajectService.Get(b.TrajectId);
                            List <int> ritIDs          = new List <int>();
                            ritIDs.Add(TeTestenTraject.Rit1Id);
                            if (TeTestenTraject.Rit2Id != null)
                            {
                                ritIDs.Add((int)TeTestenTraject.Rit2Id);
                            }
                            if (TeTestenTraject.Rit3Id != null)
                            {
                                ritIDs.Add((int)TeTestenTraject.Rit3Id);
                                if (ritIDs.Contains((int)t.Rit3Id))
                                {
                                    HuidigAantalPersonen++;
                                }
                            }
                        }
                        if (HuidigAantalPersonen + 1 <= MaxAantalPersonen)
                        {
                            zetels.Rit3Zetel = HuidigAantalPersonen + 1;
                            cart.Zetel3      = HuidigAantalPersonen + 1;
                        }
                        else
                        {
                            Rit     r = ritService.Get((int)t.Rit3Id);
                            Station s = stationService.Get(r.VertrekStationId);
                            return(View("TeWeinigPlaatsen", s));
                        }
                    }

                    try
                    {
                        //zetels instellen en indien dit niet lukt een exception opvangen
                        zetelService.Create(zetels);
                        ZetelID = zetels.ZetelId;
                    }
                    catch (Exception ex)
                    {
                        System.Diagnostics.Debug.WriteLine(ex);
                    }

                    boeking.BoekingsDatum = DateTime.UtcNow;
                    boeking.VertrekDatum  = DateTime.Parse(cart.Vertrekdatum);
                    boeking.Naam          = cart.Naam;
                    boeking.Voornaam      = cart.Voornaam;
                    if (cart.HotelId != null && cart.HotelId != 0)
                    {
                        boeking.HotelId = cart.HotelId;
                    }
                    else
                    {
                        boeking.HotelId = null;
                    }
                    boeking.TrajectId = cart.TrajectNr;
                    boeking.LoginId   = userID;
                    boeking.Klasse    = cart.Klasse;
                    boeking.ZetelId   = ZetelID;


                    //boeking aanmaken en indien dit niet lukt het probleem loggen
                    try
                    {
                        boekingService.Create(boeking);
                    }
                    catch (Exception ex)
                    {
                        System.Diagnostics.Debug.WriteLine(ex);
                    }
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex);
            }

            //mail

            if (ModelState.IsValid)
            {
                UserService userService = new UserService();
                AspNetUsers user        = userService.Get(userID);
                try
                {
                    var naam    = "TGV";
                    var message = "Bedankt om te boeken bij TGV";
                    var body    = "<p>Email From: " +
                                  "{0} ([email protected])</p><p>Message: " +
                                  "</p><p>{1}</p>";
                    body = string.Format(body, naam, message);

                    EmailSender mail = new EmailSender();
                    await mail.SendEmailAsync(user.Email, "Bevestiging boeking", body);
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex);
                }
            }

            //mail
            ViewBag.Ritten    = ritService.GetAll().ToList();
            ViewBag.Stations  = stationService.GetAll().ToList();
            ViewBag.Trajecten = trajectService.GetAll().ToList();

            return(View("Payment", carts));
        }
Esempio n. 11
0
 public Traject GetByRit(Rit r)
 {
     return(_db.Traject.Where(b => b.Rit1Id == r.RitId).First());
 }
Esempio n. 12
0
 public bool VraagRitAan(Rit rit)
 {
     return(_iContextOuder.VraagRitAan(rit));
 }
        public IActionResult KiezenRit(BoekenVM b)
        {
            if (b == null)
            {
                return NotFound();
            }

            //System.Diagnostics.Debug.WriteLine("printen in console");


            //inputcontrole
            if (b.Eindpunt == b.Vertrekpunt)
            {
                ModelState.AddModelError(nameof(b.Eindpunt), "Eindpunt en vertrekpunt mogen niet dezelfde waarde hebben");
            }
            if (b.Eindpunt == 0)
            {
                ModelState.AddModelError(nameof(b.Eindpunt), "Gelieve een eindpunt te selecteren");
            }
            if (b.Vertrekpunt == 0)
            {
                ModelState.AddModelError(nameof(b.Eindpunt), "Gelieve een eindpunt te selecteren");
            }

            if(b.Vertrekdatum == null)
            {
                ModelState.AddModelError(nameof(b.Vertrekdatum), "Gelieve een datum op te geven in formaat yyyy - mm - dd");
            }
            else { 
                if (b.Vertrekdatum.Equals(""))
                {
                    ModelState.AddModelError(nameof(b.Vertrekdatum), "Gelieve een datum op te geven in formaat yyyy - mm - dd");
                }
            }

            for (int a = 0; a < b.AantalPersonen; a++)
            {
                if (string.IsNullOrEmpty(b.Namen[a]) || b.Namen[a].Length < 3 || b.Namen[a].Length > 30)
                {
                    ModelState.AddModelError(nameof(b.Namen), "Gelieve een geldige naam voor persoon " + (a + 1) + " op te geven");
                }
                if (string.IsNullOrEmpty(b.Voornamen[a]) || b.Voornamen[a].Length < 3 || b.Voornamen[a].Length > 30)
                {
                    ModelState.AddModelError(nameof(b.Voornamen), "Gelieve een geldige voornaam voor persoon " + (a + 1) + " op te geven");
                }
            }

            if (ModelState.IsValid)
            {
                var vertrekpunt = b.Vertrekpunt;
                var aankomst = b.Eindpunt;
                var route = new List<Traject>();
                b.VertrekpuntNaam = stationService.Get(b.Vertrekpunt).StationNaam;
                b.EindpuntNaam = stationService.Get(b.Eindpunt).StationNaam;
                //eerst gaan we de route bepalen, deze houd nog geen rekening met de tijstippen, dit doen we puur voor de route en overstappen.

                var list = ritService.GetAllByCitiesWithDate(b.Vertrekpunt, b.Eindpunt, DateTime.Parse(b.Vertrekdatum));
                //als de lijst leeg is wil dit zeggen dat  de route uit meer dan één rit bestaat
                if (list.Count() == 0)
                {
                    var listVertrekRitten = ritService.GetAllByDepartCity(vertrekpunt);
                    //datecontrole toevoegen
                    var listAankomstRitten = ritService.GetAllByArrivalCity(aankomst);
                    //datecontrole toevoegen
                    Boolean gevonden = false;

                    foreach (var item in listVertrekRitten)
                    {
                        //listVertrekRitten2.Add(item.AankomstStationId);
                        foreach (var item2 in listAankomstRitten)
                        {
                            //listAankomstRitten2.Add(item.VertrekStationId);
                            if (item.AankomstStationId == item2.VertrekStationId)
                            {
                                //trahect bestaat uit 2 ritten

                                Traject traject = new Traject
                                {
                                    Rit1Id = item.RitId,
                                    Rit2Id = item2.RitId
                                };

                                var trajectenList = new List<Traject>();
                                trajectenList.Add(traject);
                                route = trajectenList;

                                gevonden = true;

                            }
                        }
                    }
                    if (!gevonden)
                    {
                        //indien er nog stteds geen traject is gevonden zal het bestaan uit 2 tussenpunten
                        foreach (var item in listVertrekRitten)
                        {
                            foreach (var item2 in listAankomstRitten)
                            {
                                if (ritService.GetAllByCitiesWithDate(item.AankomstStationId, item2.VertrekStationId, DateTime.Parse(b.Vertrekdatum)).Count() != 0)
                                {
                                    Traject traject = new Traject
                                    {
                                        Rit1Id = item.RitId,
                                        Rit2Id = ritService.GetAllByCitiesWithDate(item.AankomstStationId, item2.VertrekStationId, DateTime.Parse(b.Vertrekdatum)).ElementAt(0).RitId,
                                        Rit3Id = item2.RitId
                                    };

                                    var trajectenList = new List<Traject>();
                                    trajectenList.Add(traject);
                                    route = trajectenList;

                                    gevonden = true;
                                }
                            }
                        }

                    }
                }
                else
                {
                    //traject bestaat uit één rit
                    Traject traject = new Traject
                    {
                        Rit1Id = list.ElementAt(0).RitId
                    };
                    var trajectenList = new List<Traject>();
                    trajectenList.Add(traject);
                    route = trajectenList;
                }


                //route is bepaald en zal nu aangemaakt worden met de juiste tijdstippen en toegevoegd worden aan de VM


                if (route[0].Rit3Id == null)
                {
                    if (route[0].Rit2Id == null)
                    {
                        //traject bestaat uit 0 overstappen
                        Rit r = ritService.Get(route[0].Rit1Id);
                        var ritten = ritService.GetAllByCitiesWithDate(r.VertrekStationId, r.AankomstStationId, DateTime.Parse(b.Vertrekdatum));
                        var trajecten = new List<Traject>();
                        foreach (var rit in ritten)
                        {
                            Traject traject = new Traject
                            {
                                Rit1Id = rit.RitId
                            };

                            if (trajectService.GetTrajecten1Rit(traject.Rit1Id).Count() != 0)
                            {

                                traject = trajectService.GetTrajecten1Rit(traject.Rit1Id).ElementAt(0);
                            }
                            else
                            {
                                trajectService.Create(traject);
                            }
                            //code gilles
                            //Rit rit1 = ritService.Get(traject.Rit1Id);
                            //TreinType treinType1 = treinTypeService.Get(rit1.TreinTypeId);
                            //int MaxAantalPersonen = 0;
                            //int HuidigAantalPersonen = 0;
                            //if (b.Klasse.Equals("Economic"))
                            //{
                            //    MaxAantalPersonen = treinType1.CapaciteitEconomic;

                            //}
                            //else if (b.Klasse.Equals("Business"))
                            //{
                            //    MaxAantalPersonen = treinType1.CapaciteitBusiness;
                            //}

                            //var boekingen = boekingService.GetAllByDate(DateTime.Parse(b.Vertrekdatum));
                            //Traject TeTestenTraject = traject;
                            //List<int> ritIDs = new List<int>();
                            //ritIDs.Add(TeTestenTraject.Rit1Id);
                            //if (TeTestenTraject.Rit2Id != null)
                            //{
                            //    ritIDs.Add((int)TeTestenTraject.Rit2Id);
                            //}
                            //if (TeTestenTraject.Rit3Id != null)
                            //{
                            //    ritIDs.Add((int)TeTestenTraject.Rit3Id);
                            //    if (ritIDs.Contains((int)t.Rit3Id))
                            //    {
                            //        HuidigAantalPersonen++;
                            //    }
                            //}
                            //code gilles


                            trajecten.Add(traject);
                            b.AlleRitten = ritService.GetAll();
                        };
                        b.Trajecten = trajecten;
                    }
                    else
                    {
                        //traject bestaat uit 1 overstap
                        Rit r = ritService.Get(route[0].Rit1Id);
                        Rit r1 = ritService.Get(route[0].Rit2Id ?? default(int));
                        var ritten = ritService.GetAllByCitiesWithDate(r.VertrekStationId, r.AankomstStationId, DateTime.Parse(b.Vertrekdatum));
                        var trajecten = new List<Traject>();


                        foreach (var rit in ritten)
                        {
                            Rit rit2 = null;
                            if (ritService.GetRitByCitiesWithDateAndTime(r1.VertrekStationId, r1.AankomstStationId, DateTime.Parse(b.Vertrekdatum), rit.AankomstUur).Count() > 0)
                            {
                                rit2 = ritService.GetRitByCitiesWithDateAndTime(r1.VertrekStationId, r1.AankomstStationId, DateTime.Parse(b.Vertrekdatum), rit.AankomstUur).ElementAt(0);
                            }
                            else
                            {
                                rit2 = ritService.GetAllByCitiesWithDate(r1.VertrekStationId, r1.AankomstStationId, DateTime.Parse(b.Vertrekdatum).AddDays(1)).ElementAt(0);
                            }

                            Traject traject = new Traject
                            {
                                Rit1Id = rit.RitId,
                                Rit2Id = rit2.RitId
                            };
                            if (trajectService.GetTrajecten2Rit(traject.Rit1Id, (int)traject.Rit2Id).Count() != 0)
                            {

                                traject = trajectService.GetTrajecten2Rit(traject.Rit1Id, (int)traject.Rit2Id).ElementAt(0);
                            }
                            else
                            {
                                trajectService.Create(traject);
                            }

                            trajecten.Add(traject);


                            //einde code gilles
                        };
                        b.Trajecten = trajecten;
                        b.AlleRitten = ritService.GetAll();

                    }
                }
                else
                {
                    //traject bestaat uit 2 overstappen
                    Rit r = ritService.Get(route[0].Rit1Id);
                    Rit r1 = ritService.Get(route[0].Rit2Id ?? default(int));
                    Rit r2 = ritService.Get(route[0].Rit3Id ?? default(int));
                    var ritten = ritService.GetAllByCitiesWithDate(r.VertrekStationId, r.AankomstStationId, DateTime.Parse(b.Vertrekdatum));
                    var trajecten = new List<Traject>();
                    foreach (var rit in ritten)
                    {
                        Rit rit2 = null;
                        if (ritService.GetRitByCitiesWithDateAndTime(r1.VertrekStationId, r1.AankomstStationId, DateTime.Parse(b.Vertrekdatum), rit.AankomstUur).Count() > 0)
                        {
                            rit2 = ritService.GetRitByCitiesWithDateAndTime(r1.VertrekStationId, r1.AankomstStationId, DateTime.Parse(b.Vertrekdatum), rit.AankomstUur).ElementAt(0);
                        }
                        else
                        {
                            rit2 = ritService.GetAllByCitiesWithDate(r1.VertrekStationId, r1.AankomstStationId, DateTime.Parse(b.Vertrekdatum).AddDays(1)).ElementAt(0);
                        }

                        Rit rit3 = null;
                        if (ritService.GetRitByCitiesWithDateAndTime(r2.VertrekStationId, r2.AankomstStationId, DateTime.Parse(b.Vertrekdatum), rit2.AankomstUur).Count() > 0)
                        {
                            rit3 = ritService.GetRitByCitiesWithDateAndTime(r2.VertrekStationId, r2.AankomstStationId, DateTime.Parse(b.Vertrekdatum), rit2.AankomstUur).ElementAt(0);
                        }
                        else
                        {
                            rit3 = ritService.GetAllByCitiesWithDate(r2.VertrekStationId, r2.AankomstStationId, DateTime.Parse(b.Vertrekdatum).AddDays(1)).ElementAt(0);
                        }

                        Traject traject = new Traject
                        {
                            Rit1Id = rit.RitId,
                            Rit2Id = rit2.RitId,
                            Rit3Id = rit3.RitId
                        };
                        if (trajectService.GetTrajecten3Rit(traject.Rit1Id, (int)traject.Rit2Id, (int)traject.Rit3Id).Count() != 0)
                        {

                            traject = trajectService.GetTrajecten3Rit(traject.Rit1Id, (int)traject.Rit2Id, (int)traject.Rit3Id).ElementAt(0);
                        }
                        else
                        {
                            trajectService.Create(traject);
                        }
                        trajecten.Add(traject);
                    };
                    b.Trajecten = trajecten;
                    b.AlleRitten = ritService.GetAll();
                }

                return View(b);
            }
            else
            {

                ViewBag.StationLijst =
                    new SelectList(stationService.GetAll(),
                     "StationId", "StationNaam");


                ViewBag.HotelLijst =
                    new SelectList(hotelService.GetAll(),
                     "HotelId", "HotelNaam");

                return View("Boeken", b);
            }
        }
Esempio n. 14
0
 public Traject GetByRit(Rit r)
 {
     return(trajectDAO.GetByRit(r));
 }
 public void Create(Rit entity)
 {
     _db.Entry(entity).State = EntityState.Added;
     _db.SaveChanges();
 }
 public void Update(Rit entity)
 {
     _db.Entry(entity).State = EntityState.Modified;
     _db.SaveChanges();
 }
 public void Update(Rit entity)
 {
     ritDAO.Update(entity);
 }
 public void Create(Rit entity)
 {
     ritDAO.Create(entity);
 }