public ActionResult Index()
        {
            tblStadService       stadservice = new tblStadService();
            TicketShopViewModels vm          = new TicketShopViewModels();


            vm.aankomst = stadservice.getSteden().ToArray();
            vm.vertrek  = stadservice.getSteden().ToArray();


            return(View(vm));
        }
        public ActionResult Index(TicketShopViewModels vm)
        {
            tblTrajectService trajectService = new tblTrajectService();

            if (vm.namen == null)
            {
                string strVertrek  = Request.Form["vertrek"].ToString();
                string strAankomst = Request.Form["aankomst"].ToString();



                if (strVertrek.Equals(strAankomst))
                {
                    ViewBag.errormsg = "Je vertreklocatie mag niet gelijk zijn met je aankomstlocatie.";
                    vm.aantal        = 0;
                    tblStadService stadservice = new tblStadService();

                    vm.aankomst = stadservice.getSteden().ToArray();
                    vm.vertrek  = stadservice.getSteden().ToArray();
                }
                else
                {
                    tblStadService stadservice = new tblStadService();

                    vm.aankomst      = stadservice.getSteden().ToArray();
                    vm.vertrek       = stadservice.getSteden().ToArray();
                    ViewBag.vertrek  = strVertrek;
                    ViewBag.aankomst = strAankomst;
                    Debug.WriteLine("aantal: " + vm.aantal);
                    Debug.WriteLine("vertrek: " + strVertrek);
                    Debug.WriteLine("aankomst: " + strAankomst);
                    Debug.WriteLine("vertrekdatum: " + vm.vertrekdatum);
                    vm.traject     = trajectService.getTrajectByVertrekAankomst(strVertrek, strAankomst);
                    vm.tussenstops = trajectService.getStopsByTraject(trajectService.getTrajectByVertrekAankomst(strVertrek, strAankomst)).ToArray();
                    Debug.WriteLine("vertrekdatum: " + vm.tussenstops);
                    if (!trajectService.checkPlaatsvrij(vm.traject, DateTime.ParseExact(vm.vertrekdatum, "MM/dd/yyyy", CultureInfo.InvariantCulture), 1))
                    {
                        if (!trajectService.checkPlaatsvrij(vm.traject, DateTime.ParseExact(vm.vertrekdatum, "MM/dd/yyyy", CultureInfo.InvariantCulture), 0))//geen van beide over
                        {
                            ViewBag.errormsg = "Er zijn geen plaatsen meer beschikbaar voor " + strVertrek + " naar " + strAankomst + " op " + vm.vertrekdatum;
                        }
                        else//enkel economic over
                        {
                            ViewBag.Economic = true;
                        }
                    }
                    else
                    {
                        if (!trajectService.checkPlaatsvrij(vm.traject, DateTime.ParseExact(vm.vertrekdatum, "MM/dd/yyyy", CultureInfo.InvariantCulture), 0))//enkel business over
                        {
                            ViewBag.Business = true;
                        }
                    }
                }
                return(View(vm));
            }
            else
            {
                for (int i = 0; i < vm.namen.Count(); i++)
                {
                    string id;
                    Debug.WriteLine(vm.traject.TrajectID);
                    Debug.WriteLine(vm.treinklassen[i]);
                    tblProductService productservice = new tblProductService();
                    tblProduct        product        = productservice.getProductByTraject(vm.traject.TrajectID, vm.treinklassen[i]);

                    var claimsIdentity = User.Identity as ClaimsIdentity;
                    if (claimsIdentity != null)
                    {
                        var userIdClaim = claimsIdentity.Claims
                                          .FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier);

                        if (userIdClaim != null)
                        {
                            id = userIdClaim.Value;
                            Debug.WriteLine("ProductID: " + product.ProductID);
                            Debug.WriteLine("UserID: " + id);
                            tblWinkelmandlijnService winkelmandlijnservice = new tblWinkelmandlijnService();
                            tblWinkelmandlijn        winkelmandlijn        = new tblWinkelmandlijn();
                            winkelmandlijn.GebruikersID = id;
                            winkelmandlijn.ProductID    = product.ProductID;
                            winkelmandlijn.Naam         = vm.namen[i];
                            winkelmandlijn.Datum        = DateTime.ParseExact(vm.vertrekdatum, "MM/dd/yyyy", CultureInfo.InvariantCulture);
                            winkelmandlijnservice.addWinkelmandLijn(winkelmandlijn);
                            aantal            = vm.namen.Count();
                            TempData["datum"] = vm.vertrekdatum;
                            TempData["namen"] = vm.namen;
                        }
                    }
                }
                return(RedirectToAction("Hotels", new { id = vm.traject.Aankomst }));
            }
        }