public JsonResult Add(Gebruiker gebruiker, int id) { Materiaal mat = materiaalRepository.FindBy(id); try { gebruiker.AddToWishList(mat); materiaalRepository.SaveChanges(); return(Json(new { status = "success", message = "Het materiaal " + mat.Name + " is toegevoegd aan je verlanglijstje." })); } catch (ArgumentException e) { return(Json(new { status = "error", message = e.Message })); } }
public ActionResult Add(Gebruiker gebruiker, List <ReservatiePartModel> reservatiepartmodels, DateTime?ophaalDatum) { Config c = configWrapper.GetConfig(); int aantalDagen; var dayToNr = new Dictionary <string, int>(); dayToNr.Add("maandag", 1); dayToNr.Add("dinsdag", 2); dayToNr.Add("woensdag", 3); dayToNr.Add("donderdag", 4); dayToNr.Add("vrijdag", 5); dayToNr.Add("zaterdag", 6); dayToNr.Add("zondag", 7); aantalDagen = Reservatie.CalculateAmountDaysOphaalDatumFromIndienDatum(dayToNr[c.Indiendag], dayToNr[c.Ophaaldag], c.LendingPeriod); var materialenTeReserveren = new Dictionary <Materiaal, int>(); var x = 0; foreach (ReservatiePartModel rpm in reservatiepartmodels) { if (rpm.Amount > 0) { materialenTeReserveren.Add(materiaalRepository.FindBy(rpm. MateriaalId), rpm.Amount); x++; } } try { if (!ophaalDatum.HasValue) { throw new ArgumentException("De ophaaldatum moet een geldige waarde hebben (Formaat: dd/mm/yyyy)."); } if (x == 0) { throw new ArgumentException("Er moet minstens 1 materiaal zijn waarbij het aantal groter is dan 0."); } DateTime indienDatum = ophaalDatum.Value.AddDays(aantalDagen); gebruiker.AddReservation(materialenTeReserveren, ophaalDatum.Value, indienDatum, DateTime.UtcNow.ToLocalTime()); reservatieRepository.SaveChanges(); TempData["msg"] = "De reservatie is toegevoegd aan uw verlanglijst."; } catch (ArgumentException e) { TempData["err"] = e.Message; return(RedirectToAction("Index", "Verlanglijst")); } return(RedirectToAction("Index")); }
public ActionResult Detail(Gebruiker gebruiker, int id) { Materiaal m = materiaalRepository.FindBy(id); if (m == null) { return(HttpNotFound()); } List <ReservatieLijn> reservatieLijnen = m.ReservatieLijnen .Where(r => (r.IndienMoment >= DateTime.Today)) .ToList(); long convertId = Convert.ToInt64(id); int[] chartList = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; Dictionary <string, List <ReservatieLijnViewModel> > reservaties = new Dictionary <string, List <ReservatieLijnViewModel> >(); foreach (ReservatieLijn rl in reservatieLijnen) { for (int i = 0; i < 12; i++) { int days = i * 7 * config.LendingPeriod; DateTime dateTime = DateTime.Today.AddDays(days); // Calculate last monday int delta = DayOfWeek.Monday - DateTime.Now.DayOfWeek; if (delta > 0) { delta -= 7; } DateTime startOfWeek = DateTime.Now.AddDays(delta + i * 7 * config.LendingPeriod); if ( (rl.OphaalMoment <= startOfWeek && rl.IndienMoment >= startOfWeek) || (rl.OphaalMoment <= startOfWeek && rl.OphaalMoment > startOfWeek.AddDays(7 * config.LendingPeriod)) ) { chartList[i] = chartList[i] + rl.Amount; } } if (reservaties.ContainsKey(rl.OphaalMoment.ToString())) { reservaties[rl.OphaalMoment.ToString()].Add(new ReservatieLijnViewModel(rl)); } else { reservaties.Add(rl.OphaalMoment.ToString(), new List <ReservatieLijnViewModel>() { new ReservatieLijnViewModel(rl) }); } } ViewBag.chartList = chartList; ViewBag.lendingPeriod = config.LendingPeriod; ViewBag.reservaties = reservaties; ViewBag.InWishlist = gebruiker.WishList.Contains(m); return(View(new MateriaalViewModel(m))); }