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()); }
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)); }
// 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)); }
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)); } }
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." })); } } }
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)); }