Esempio n. 1
0
        public IActionResult NieuweWedstrijd(WedstrijdViewModel spelerwedstrijd)
        {
            if (ModelState.IsValid && (spelerwedstrijd.IdSpeler1 != spelerwedstrijd.IdSpeler2))
            {
                try
                {
                    Speler    speler1 = _spelerRepository.GetById(spelerwedstrijd.IdSpeler1);
                    Speler    speler2 = _spelerRepository.GetById(spelerwedstrijd.IdSpeler2);
                    Wedstrijd w       = new Wedstrijd(spelerwedstrijd.DatumGespeeld);

                    SpelerWedstrijd sw1 = new SpelerWedstrijd(speler1, w, spelerwedstrijd.PuntenGewonnen, speler2.Voornaam + " " + speler2.Naam);
                    SpelerWedstrijd sw2 = new SpelerWedstrijd(speler2, w, spelerwedstrijd.PuntenVerloren, speler1.Voornaam + " " + speler1.Naam);

                    _spelerWedstrijdRepository.Add(sw1);
                    _spelerWedstrijdRepository.Add(sw2);
                    _spelerWedstrijdRepository.SaveChanges();

                    TempData["message"] = $"Nieuwe wedstrijd tussen {speler1.VolledigeNaam} en {speler2.VolledigeNaam} werd met succes toegevoegd!";
                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("", e.Message);
                }
            }
            ViewData["Spelers"] = GetSpelersAsSelectList();
            return(View());
        }
Esempio n. 2
0
        public ActionResult AddWedstrijd(int id)
        {
            WedstrijdViewModel WVM = new WedstrijdViewModel();

            WVM.PutterId = id;

            ViewBag.Afstand = new SelectList(db.Afstanden, "Id", "Lengte");
            ViewBag.Sport   = new SelectList(db.Sporten, "Id", "soortSport");

            var plaatsen = from wedstrijd in db.Wedstrijden
                           orderby wedstrijd.Plaats
                           select wedstrijd.Plaats;
            var locaties = plaatsen.Distinct();

            var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();

            ViewBag.Plaats = serializer.Serialize(locaties);


            //var selectlistLocaties = locaties.Select
            //    (x => new SelectListItem() { Value = x, Text = x }).ToList();
            //ViewBag.Plaats = selectlistLocaties;

            return(PartialView("_AddWedstrijd", WVM));
        }
Esempio n. 3
0
        // GET: Wedstrijden
        public ActionResult Index(int Id)
        {
            var putter         = db.Putters.Include("Wedstrijden").Include("Resultaten").FirstOrDefault(p => p.Id == Id);
            var wedstrijdlijst = putter.Wedstrijden.OrderBy(w => w.Datum);

            var resultaten = putter.Resultaten;

            var wedstrijden = new List <WedstrijdViewModel>();

            foreach (var wedstrijd in wedstrijdlijst)
            {
                WedstrijdViewModel WVM = new WedstrijdViewModel();
                WVM.PutterId   = Id;
                WVM.Id         = wedstrijd.Id;
                WVM.Putternaam = putter.VolledigeNaam;
                WVM.Plaats     = wedstrijd.Plaats;
                WVM.Datum      = wedstrijd.Datum ?? DateTime.Now;
                WVM.Afstand    = wedstrijd.Afstand.Lengte;
                WVM.Sport      = wedstrijd.Sport.soortSport;
                WVM.Stayer     = wedstrijd.Stayer;
                if (wedstrijd.Resultaten.Any(r => r.PutterID == Id))
                {
                    WVM.Result = true;
                }
                wedstrijden.Add(WVM);
            }
            ViewBag.Id   = Id;
            ViewBag.Naam = putter.VolledigeNaam;
            ViewBag.URL  = putter.AfbeeldingsURL;
            return(View(wedstrijden));
        }
Esempio n. 4
0
        public ActionResult AddWedstrijd(WedstrijdViewModel WVM)
        {
            if (ModelState.IsValid)
            {
                var wedstrijd = new Wedstrijd();
                wedstrijd.Datum     = WVM.Datum;
                wedstrijd.Plaats    = WVM.Plaats;
                wedstrijd.Stayer    = WVM.Stayer;
                wedstrijd.AfstandId = int.Parse(WVM.Afstand);
                wedstrijd.SportId   = int.Parse(WVM.Sport);

                var putter = db.Putters.FirstOrDefault(p => p.Id == WVM.PutterId);

                var wed = db.Wedstrijden.Include("Deelnemers").FirstOrDefault(w => w.Datum == wedstrijd.Datum && w.Plaats == wedstrijd.Plaats &&
                                                                              w.SportId == wedstrijd.SportId && w.AfstandId == wedstrijd.AfstandId && w.Stayer == wedstrijd.Stayer);

                if (wed == null)
                {
                    db.Wedstrijden.Add(wedstrijd);
                    putter.Wedstrijden.Add(wedstrijd);
                }
                else
                {
                    putter.Wedstrijden.Add(wed);
                }

                db.SaveChanges();

                return(RedirectToAction("Index", "Wedstrijden", new { Id = WVM.PutterId }));
            }
            else
            {
                ViewBag.Afstand = new SelectList(db.Afstanden, "Id", "Lengte");
                ViewBag.Sport   = new SelectList(db.Sporten, "Id", "soortSport");

                var plaatsen = from wedstrijd in db.Wedstrijden
                               orderby wedstrijd.Plaats
                               select wedstrijd.Plaats;
                var locaties = plaatsen.Distinct();

                var selectlistLocaties = locaties.Select
                                             (x => new SelectListItem()
                {
                    Value = x, Text = x
                }).ToList();
                //ViewBag.Plaats = new SelectList(selectlistLocaties ,"Value","Text");
                ViewBag.Plaats = selectlistLocaties;


                return(PartialView("_AddWedstrijd", WVM));
            }
        }
Esempio n. 5
0
        public ActionResult Wedstrijd(WedstrijdViewModel vm)
        {
            double totalTickets = 0;

            for (int i = 0; i < vm.numberOfTickets.Count(); i++)
            {
                totalTickets += vm.numberOfTickets[i];
            }
            int aantalTicketsInWinkelmandje = winkservice.countTickets(winkservice.getLinesFromUser(User.Identity.GetUserId()));

            if (totalTickets + aantalTicketsInWinkelmandje > 10)
            {
                return(Json(new { success = false, message = "Je kan maximum 10 tickets per keer kopen. Pas je bestelling aan" }));
            }
            else
            {
                Wedstrijd Wedstrijd = wservice.getWedstrijdByID(vm.WedstrijdID);
                if (DateTime.Today.AddMonths(1) > Wedstrijd.date)//zorgt ervoor dat je niet meer dan een maand op voorhand kan bestellen
                {
                    List <Plaats> plaatsen = pservice.All().ToList();
                    List <Prijs>  prijzen  = prservice.getPricesByStadion(Wedstrijd.stadionID).ToList();
                    if (placeLeft(vm.numberOfTickets, Wedstrijd) == "Volgende plaatsen zijn uitverkocht: ")
                    {
                        for (int i = 0; i < plaatsen.Count(); i++)
                        {
                            for (int j = 0; j < vm.numberOfTickets[i]; j++)
                            {
                                Ticket ticket = new Ticket();
                                ticket.wedstrijdID = Wedstrijd.wedstrijdID;
                                ticket.PrijsID     = prijzen.ElementAt(i).prijsID;
                                ticket             = tservice.Add(ticket);
                                Winkelmandlijn wml = new Winkelmandlijn();
                                wml.gebruikerID = User.Identity.GetUserId();
                                wml.TicketID    = ticket.ticketID;
                                winkservice.AddLine(wml);
                            }
                        }
                        return(Json(new { success = true }));
                    }
                    else
                    {
                        return(Json(new { success = false, message = placeLeft(vm.numberOfTickets, Wedstrijd) }));
                    }
                }
                else
                {
                    return(Json(new { success = false, message = "Je kan ten minste een maand op voorhand tickets bestellen." }));
                }
            }
        }
Esempio n. 6
0
        public ActionResult Wedstrijd(int id)
        {
            WedstrijdViewModel vm = new WedstrijdViewModel();

            vm.wedstrijd   = wservice.getWedstrijdByID(id);
            vm.WedstrijdID = id;
            vm.thuisPloeg  = plservice.getPloegByID(vm.wedstrijd.thuisID);
            vm.uitPloeg    = plservice.getPloegByID(vm.wedstrijd.uitID);
            vm.stadion     = staservice.getStadionByID(vm.wedstrijd.stadionID);
            vm.plaatsen    = pservice.All();
            vm.prijzen     = prservice.getPricesByStadion(vm.stadion.stadionID);


            return(View(vm));
        }