コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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"));
        }
コード例 #4
0
ファイル: Seed.cs プロジェクト: pappensdieter/VivesTrain
        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();
            }
        }
コード例 #5
0
ファイル: Seed.cs プロジェクト: pappensdieter/VivesTrain
        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);
        }
コード例 #6
0
        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));
        }
コード例 #7
0
        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"));
        }
コード例 #8
0
 public TreinritReis FindTreinritReis(Treinrit treinrit)
 {
     return(_db.TreinritReis.Where(x => x.Treinrit == treinrit).FirstOrDefault());
 }
コード例 #9
0
 public TreinritReis FindTreinritReis(Treinrit treinrit)
 {
     return(treinritReisDAO.FindTreinritReis(treinrit));
 }
コード例 #10
0
ファイル: Seed.cs プロジェクト: pappensdieter/VivesTrain
        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();
                }
            }
        }
コード例 #11
0
        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, "");
        }