// GET: Reservatie public ActionResult Index(Gebruiker gebruiker) { IList <ReservatieViewModel> reservaties = new List <ReservatieViewModel>(); List <ReservatieViewModel> reservatiesGesorteerd; foreach (Reservatie reservatie in gebruiker.Reservaties) { ReservatieViewModel rvm = new ReservatieViewModel(reservatie); reservaties.Add(rvm); //FindConflicts(reservatie, rvm, gebruiker); // @Svonx: wordt later nog in een aparte methode gestoken, staat hier nu voor izi bugfixing ConstructReservatieViewModels(reservatie, rvm, gebruiker); } ; Config c = configWrapper.GetConfig(); ViewBag.ophaalTijd = c.Ophaaltijd.ToString("HH:mm"); ViewBag.indienTijd = c.Indientijd.ToString("HH:mm"); reservatiesGesorteerd = reservaties.OrderBy(o => o.Ophaalmoment).ToList(); return(View(reservatiesGesorteerd)); }
//test public void ConstructReservatieViewModels(Reservatie reservatie, ReservatieViewModel rvm, Gebruiker gebruiker) { List <ReservatieLijn> reservatielijnen = reservatie.ReservatieLijnen. OrderBy(rl => rl.Materiaal.Name).ToList(); for (int i = 0; i < reservatielijnen.Count; i++) { int aantalSlechtsBeschikbaar = reservatielijnen[i].FindConflicts(gebruiker.CanSeeAllMaterials()); if (aantalSlechtsBeschikbaar != 0) { rvm.Conflict = true; } rvm.ReservatieLijnen[i].AantalSlechtsBeschikbaar = aantalSlechtsBeschikbaar; } }
public ActionResult Afrekenen() { var klant = db.GetKlantById(Convert.ToInt16(Session["AangemeldeKlant"])); var mandje = VulMandje(); decimal totaalbedrag = 0; foreach (var f in mandje) { totaalbedrag += f.Prijs; db.Verhuring(f.BandNr, klant.KlantNr); } var vm = new ReservatieViewModel(mandje, klant, totaalbedrag); return(View(vm)); }
public ActionResult Detail(Gebruiker gebruiker, int id) { Reservatie r = reservatieRepository.FindBy(id); if (r == null) { return(RedirectToAction("Index")); } ReservatieViewModel rv = new ReservatieViewModel(r); ConstructReservatieViewModels(r, rv, gebruiker); return(View(rv)); }
public ReservatieControllerTest() { _context = new DummyDbContext(); _vergaderruimteRepository = new Mock <IVergaderruimteRepository>(); _kortingRepository = new Mock <IKortingRepository>(); _cateringRepository = new Mock <ICateringRepository>(); _controller = new ReservatieController(_vergaderruimteRepository.Object, _cateringRepository.Object, _kortingRepository.Object) { TempData = new Mock <ITempDataDictionary>().Object }; model = new ReservatieViewModel(_context.Vergaderruimte) { AantalPersonen = 10, BeginUur = 10, Dag = _context.Dag.AddDays(14), CateringId = 3, StandaardCatering = true, Duur = 2 }; }
public ActionResult Detail(Gebruiker gebruiker, int id) { Reservatie r = reservatieRepository.FindBy(id); if (r == null) { return(RedirectToAction("Index")); } ReservatieViewModel rv = new ReservatieViewModel(r); ConstructReservatieViewModels(r, rv, gebruiker); Config c = configWrapper.GetConfig(); ViewBag.ophaalTijd = c.Ophaaltijd.ToString("HH:mm"); ViewBag.indienTijd = c.Indientijd.ToString("HH:mm"); return(View(rv)); }
public IActionResult Post([FromBody] ReservatieViewModel nieuweReservatie) { if (User.FindFirst("gebruikersId")?.Value != null && User.FindFirst("rol")?.Value == "klant") { if (ModelState.IsValid) { try { Klant klant = _klantRepository.GetById(int.Parse(User.FindFirst("gebruikersId")?.Value)); Lunch lunch = _lunchRespository.GetById(nieuweReservatie.LunchId); if (klant != null && lunch != null) { if (nieuweReservatie.Datum >= lunch.BeginDatum && nieuweReservatie.Datum <= lunch.EindDatum) { Reservatie reservatie = new Reservatie { Lunch = lunch, Aantal = nieuweReservatie.Aantal, Datum = nieuweReservatie.Datum, Opmerking = nieuweReservatie.Opmerking, Status = Status.InAfwachting }; klant.Reservaties.Add(reservatie); _reservatieRepository.SaveChanges(); //mail service var message = new MailMessage(); message.From = new MailAddress(klant.Email); message.To.Add(lunch.Handelaar.Email); message.ReplyToList.Add(klant.Email); message.Subject = "Er werd een reservatie geplaatst."; message.Body = string.Format("Beste {3} \n\nEr werd een nieuwe reservatie geplaatst voor {0} op {1} om {2}.\n\nMet volgende opmerking: \n\n{4}\n\nGegevens van de klant: \nNaam: {5} {6} \nTelefoonnummer: {8}\nEmail: {7}\n\nU kan de reservatie goedkeuren op de website van Lunchers.\n\nMet vriedelijke groeten,\nHet Lunchers team ", lunch.Naam, reservatie.Datum.ToString("d", CultureInfo.CreateSpecificCulture("pt-BR")), reservatie.Datum.ToString("t", CultureInfo.CreateSpecificCulture("es-ES")), lunch.Handelaar.HandelsNaam, reservatie.Opmerking, klant.Voornaam, klant.Achternaam, klant.Email, klant.Telefoonnummer); //smpt server var SmtpServer = new SmtpClient("smtp.gmail.com"); SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "reallyStrongPwd123"); SmtpServer.EnableSsl = true; //message sent SmtpServer.Send(message); return(Ok(new { bericht = "De reservatie werd succesvol aangemaakt." })); } return(BadRequest(new { error = "De gekozen lunch is niet beschikbaar op de opgegeven datum." })); } return(BadRequest(new { error = "De opgegeven lunch of klant kon niet worden teruggevonden." })); } catch { return(BadRequest(new { error = "Er is iets fout gegaan tijdens het aanmaken van de reservatie." })); } } return(BadRequest(new { error = ModelState })); } return(Unauthorized(new { error = "U bent niet aangemeld als klant." })); }
public void SetupContext() { ctx = new DummyDataContext(); rpm = new ReservatiePartModel(); rpm.Amount = 5; rpm.MateriaalId = 342; dg1 = new Groep { IsLeerGebied = false, Name = "Kleuteronderwijs" }; dgList = (new Groep[] { dg1 }).ToList(); lg2 = new Groep { IsLeerGebied = true, Name = "Aardrijkskunde" }; lgListAardrijkskunde = (new Groep[] { lg2 }).ToList(); m1 = new Materiaal { Name = "Wereldbol", Amount = 10, Doelgroepen = dgList, Leergebieden = lgListAardrijkskunde, IsLendable = true, }; mockMateriaalRepository = new Mock <IMateriaalRepository>(); mockConfigWrapper = new Mock <IConfigWrapper>(); //mockMateriaalRepository.Setup(m => m.FindAll()).Returns(ctx.MateriaalList); mockConfigWrapper.Setup(c => c.GetConfig()).Returns(new Config() { Indiendag = "vrijdag", Ophaaldag = "maandag", Indientijd = new DateTime(1, 1, 1, 17, 30, 0), Ophaaltijd = new DateTime(1, 1, 1, 10, 30, 0), LendingPeriod = 1 }); mockReservatieRepository = new Mock <IReservatieRepository>(); mockMateriaalRepository = new Mock <IMateriaalRepository>(); mockMateriaalRepository.Setup(m => m.FindBy(342)).Returns(m1); mockReservatieRepository.Setup(m => m.FindBy(342)).Returns(ctx.reservatie); reservatieController = new ReservatieController(mockReservatieRepository.Object, mockMateriaalRepository.Object, mockConfigWrapper.Object); /* Construct ReservatieViewModels */ DateTime _11April2016 = new DateTime(2016, 4, 11); DateTime _15April2016 = new DateTime(2016, 4, 15); student = new Student("Offline", "Student", "*****@*****.**"); lector = new Lector("Offline", "Lector", "*****@*****.**"); m2 = new Materiaal { Name = "Rekenmachine", Description = "Reken er op los met deze grafische rekenmachine.", ArticleCode = "abc456", Price = 19.99, Amount = 4, AmountNotAvailable = 0, IsLendable = true, Location = "GSCHB 4.021" }; r1 = new Reservatie(student, _11April2016, _15April2016); r1.ReservatieLijnen = new List <ReservatieLijn>(); rl1 = new ReservatieLijn(2, _11April2016, _15April2016, m2, r1); r1.ReservatieLijnen.Add(rl1); r2 = new Reservatie(lector, _11April2016, _15April2016) { Reservatiemoment = _11April2016 }; r2.ReservatieLijnen = new List <ReservatieLijn>(); rl2 = (new ReservatieLijn(3, _11April2016, _15April2016, m2, r2)); r2.ReservatieLijnen.Add(rl2); r3 = new Reservatie(student, _11April2016, _15April2016); r3.ReservatieLijnen = new List <ReservatieLijn>(); rl3 = new ReservatieLijn(2, _11April2016, _15April2016, m1, r3); r3.ReservatieLijnen.Add(rl3); student.Reservaties.Add(r1); lector.Reservaties.Add(r2); student.Reservaties.Add(r3); m1.ReservatieLijnen.Add(rl3); m2.ReservatieLijnen.Add(rl1); m2.ReservatieLijnen.Add(rl2); rvm = new ReservatieViewModel(r1); mockReservatieRepository.Setup(r => r.FindBy(456)).Returns(r1); }