public IActionResult Overzicht(AfspraakVm viewModel) { var nieuweKlant = new Klant(); var nieuweBehandeling = new Behandeling(); var nieuweAfspraak = new Afspraak(); if (_context.Klanten.FirstOrDefault(k => k.Emailadres == viewModel.Emailadres) != null) { Debug.WriteLine("gekend"); nieuweAfspraak.KlantGegevensId = _context.Klanten.FirstOrDefault(k => k.Emailadres == viewModel.Emailadres).KlantId; } else { nieuweKlant.Voornaam = viewModel.Voornaam; nieuweKlant.Achternaam = viewModel.Achternaam; nieuweKlant.Telefoonnummer = viewModel.Telefoonnummer; nieuweKlant.Emailadres = viewModel.Emailadres; nieuweAfspraak.KlantGegevens = nieuweKlant; _context.Add(nieuweKlant); } nieuweBehandeling.Geslacht = viewModel.Geslacht; nieuweBehandeling.GekozenBehandeling = viewModel.Behandeling; var StartDateTime = Convert.ToDateTime(viewModel.Datum + " " + viewModel.Tijdstip); DateTime EndDateTime; if (nieuweBehandeling.Geslacht == "Dames") { EndDateTime = StartDateTime.Add(BehandelingenDames.Single(b => b.Behandeling == nieuweBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; nieuweBehandeling.DuurTijd = Duur; nieuweBehandeling.Duur = Duur.ToString(); } else if (nieuweBehandeling.Geslacht == "Heren") { EndDateTime = StartDateTime.Add(BehandelingenHeren.Single(b => b.Behandeling == nieuweBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; nieuweBehandeling.DuurTijd = Duur; nieuweBehandeling.Duur = Duur.ToString(); } else if (nieuweBehandeling.Geslacht == "Kinderen") { EndDateTime = StartDateTime.Add(BehandelingenKinderen.Single(b => b.Behandeling == nieuweBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; nieuweBehandeling.DuurTijd = Duur; nieuweBehandeling.Duur = Duur.ToString(); } _context.Add(nieuweBehandeling); nieuweAfspraak.BehandelingGegevens = nieuweBehandeling; viewModel.Tijdsduur = nieuweAfspraak.BehandelingGegevens.DuurTijd.ToString(); nieuweAfspraak.Datum = viewModel.Datum; nieuweAfspraak.Tijdstip = viewModel.Tijdstip; nieuweAfspraak.Opmerking = viewModel.Opmerkingen; _context.Add(nieuweAfspraak); _context.SaveChanges(); return(new RedirectToActionResult("Bevestiging", "Afspraak", viewModel)); }
public async Task <IActionResult> Edit(Guid id, AdminEditVm editVm) { if (id != editVm.Id) { return(NotFound()); } if (ModelState.IsValid) { try { Klant updateKlant = new Klant { KlantId = editVm.Klant.KlantId, Achternaam = editVm.Klant.Achternaam, Voornaam = editVm.Klant.Voornaam, Emailadres = editVm.Klant.Emailadres, Telefoonnummer = editVm.Klant.Telefoonnummer, Afspraken = editVm.Klant.Afspraken, }; _context.Update(updateKlant); Afspraak updateAfspraak = new Afspraak { AfspraakId = editVm.Id, BehandelingGegevens = editVm.Behandeling, KlantGegevens = editVm.Klant, KlantGegevensId = editVm.Klant.KlantId, Datum = editVm.Date.ToShortDateString(), Tijdstip = editVm.Time.ToShortTimeString(), Opmerking = editVm.Opmerkingen, }; _context.Update(updateAfspraak); Behandeling updateBehandeling = new Behandeling(); updateBehandeling.Geslacht = editVm.Behandeling.Geslacht; updateBehandeling.GekozenBehandeling = editVm.Behandeling.GekozenBehandeling; var StartDateTime = DateTime.Parse(updateAfspraak.Datum + " " + updateAfspraak.Tijdstip); DateTime EndDateTime; if (updateBehandeling.Geslacht == "Dames") { EndDateTime = StartDateTime.Add(BehandelingenDames.Single(b => b.Behandeling == updateBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; updateBehandeling.DuurTijd = Duur; updateBehandeling.Duur = Duur.ToString(); } else if (updateBehandeling.Geslacht == "Heren") { EndDateTime = StartDateTime.Add(BehandelingenHeren.Single(b => b.Behandeling == updateBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; updateBehandeling.DuurTijd = Duur; updateBehandeling.Duur = Duur.ToString(); } else if (updateBehandeling.Geslacht == "Kinderen") { EndDateTime = StartDateTime.Add(BehandelingenKinderen.Single(b => b.Behandeling == updateBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; updateBehandeling.DuurTijd = Duur; updateBehandeling.Duur = Duur.ToString(); } editVm.Tijdsduur = updateAfspraak.BehandelingGegevens.Duur; editVm.Behandeling.Duur = updateBehandeling.Duur; editVm.Tijdsduur = updateBehandeling.Duur; TempData[Constants.SuccessMessage] = $"De afspraak voor {updateKlant.Achternaam} {updateKlant.Voornaam} werd succesvol gewijzigd."; await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AfspraakExists(editVm.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(editVm)); }
// GET: Admin/Edit/5 public async Task <IActionResult> Edit(Guid?id) { if (id == null) { return(NotFound()); } var afspraak = await _context.Afspraken.FindAsync(id); var klant = await _context.Klanten.ToListAsync(); var behandeling = await _context.Behandelingen.ToListAsync(); if (afspraak == null) { return(NotFound()); } var nieuweBehandeling = new Behandeling(); nieuweBehandeling.Geslacht = afspraak.BehandelingGegevens.Geslacht; nieuweBehandeling.GekozenBehandeling = afspraak.BehandelingGegevens.GekozenBehandeling; var StartDateTime = Convert.ToDateTime(afspraak.Datum + " " + afspraak.Tijdstip); DateTime EndDateTime; if (nieuweBehandeling.Geslacht == "Dames") { EndDateTime = StartDateTime.Add(BehandelingenDames.Single(b => b.Behandeling == nieuweBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; nieuweBehandeling.DuurTijd = Duur; nieuweBehandeling.Duur = Duur.ToString(); } else if (nieuweBehandeling.Geslacht == "Heren") { EndDateTime = StartDateTime.Add(BehandelingenHeren.Single(b => b.Behandeling == nieuweBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; nieuweBehandeling.DuurTijd = Duur; nieuweBehandeling.Duur = Duur.ToString(); } else if (nieuweBehandeling.Geslacht == "Kinderen") { EndDateTime = StartDateTime.Add(BehandelingenKinderen.Single(b => b.Behandeling == nieuweBehandeling.GekozenBehandeling).Tijdsduur); TimeSpan Duur = EndDateTime - StartDateTime; nieuweBehandeling.DuurTijd = Duur; nieuweBehandeling.Duur = Duur.ToString(); } var viewModel = new AdminEditVm { Id = afspraak.AfspraakId, Klant = afspraak.KlantGegevens, Behandeling = afspraak.BehandelingGegevens, Datum = afspraak.Datum, Date = DateTime.Parse(afspraak.Datum), Tijdstip = afspraak.Tijdstip, Time = DateTime.Parse(afspraak.Tijdstip), Opmerkingen = afspraak.Opmerking }; viewModel.Behandeling.Duur = nieuweBehandeling.Duur; viewModel.Tijdsduur = nieuweBehandeling.Duur; return(View(viewModel)); }
public IActionResult Index(AfspraakVm viewModel) { if (viewModel.Stap == 3) { AdminIndexVm adminVm = new AdminIndexVm { Behandenlingen = _context.Behandelingen.ToList(), Afspraken = _context.Afspraken.ToList() }; WaardenNaarTempData(viewModel); WaardenNaarViewModel(viewModel); var nieuweBehandeling = new Behandeling(); nieuweBehandeling.Geslacht = viewModel.Geslacht; nieuweBehandeling.GekozenBehandeling = viewModel.Behandeling; var StartDateTimeNieuweAfspraak = Convert.ToDateTime(viewModel.Datum + " " + viewModel.Tijdstip); DateTime EndDateTimeNieuweAfspraak; if (nieuweBehandeling.Geslacht == "Dames") { EndDateTimeNieuweAfspraak = StartDateTimeNieuweAfspraak.Add(BehandelingenDames.Single(b => b.Behandeling == nieuweBehandeling.GekozenBehandeling).Tijdsduur); foreach (var item in adminVm.Afspraken) { var TimeBetweenInAfspraken = TimeSpan.Parse(item.BehandelingGegevens.Duur); var StartDateTimeInAfspraken = Convert.ToDateTime(item.Datum + " " + item.Tijdstip); var EndDateTimeInAfspraken = Convert.ToDateTime(item.Datum + " " + item.Tijdstip).Add(TimeBetweenInAfspraken); if (StartDateTimeNieuweAfspraak <= StartDateTimeInAfspraken && StartDateTimeNieuweAfspraak >= EndDateTimeInAfspraken || EndDateTimeNieuweAfspraak >= StartDateTimeInAfspraken && EndDateTimeNieuweAfspraak <= EndDateTimeInAfspraken) { BasisDatumTijd(); ViewBag.Error = "Het gekozen tijdstip is reeds ingevuld. Kies een andere datum en/of tijdstip a.u.b."; return(View(viewModel)); } } } else if (nieuweBehandeling.Geslacht == "Heren") { EndDateTimeNieuweAfspraak = StartDateTimeNieuweAfspraak.Add(BehandelingenHeren.Single(b => b.Behandeling == nieuweBehandeling.GekozenBehandeling).Tijdsduur); foreach (var item in adminVm.Afspraken) { var TimeBetweenInAfspraken = TimeSpan.Parse(item.BehandelingGegevens.Duur); var StartDateTimeInAfspraken = Convert.ToDateTime(item.Datum + " " + item.Tijdstip); var EndDateTimeInAfspraken = Convert.ToDateTime(item.Datum + " " + item.Tijdstip).Add(TimeBetweenInAfspraken); if (StartDateTimeNieuweAfspraak <= StartDateTimeInAfspraken && StartDateTimeNieuweAfspraak >= EndDateTimeInAfspraken || EndDateTimeNieuweAfspraak >= StartDateTimeInAfspraken && EndDateTimeNieuweAfspraak <= EndDateTimeInAfspraken) { Debug.WriteLine("Datum zit ertussen"); BasisDatumTijd(); ViewBag.Error = "Kies een andere datum en/of tijdstip a.u.b."; return(View(viewModel)); } } } else if (nieuweBehandeling.Geslacht == "Kinderen") { EndDateTimeNieuweAfspraak = StartDateTimeNieuweAfspraak.Add(BehandelingenKinderen.Single(b => b.Behandeling == nieuweBehandeling.GekozenBehandeling).Tijdsduur); foreach (var item in adminVm.Afspraken) { var TimeBetweenInAfspraken = TimeSpan.Parse(item.BehandelingGegevens.Duur); var StartDateTimeInAfspraken = Convert.ToDateTime(item.Datum + " " + item.Tijdstip); var EndDateTimeInAfspraken = Convert.ToDateTime(item.Datum + " " + item.Tijdstip).Add(TimeBetweenInAfspraken); if (StartDateTimeNieuweAfspraak <= StartDateTimeInAfspraken && StartDateTimeNieuweAfspraak >= EndDateTimeInAfspraken || EndDateTimeNieuweAfspraak >= StartDateTimeInAfspraken && EndDateTimeNieuweAfspraak <= EndDateTimeInAfspraken) { Debug.WriteLine("Datum zit ertussen"); BasisDatumTijd(); ViewBag.Error = "Kies een andere datum en/of tijdstip a.u.b."; return(View(viewModel)); } } } } if (viewModel.Stap == 4) { if (ModelState.IsValid) { viewModel.Stap++; return(RedirectToAction("Overzicht", viewModel)); } else { viewModel.BehandelingenDames = BehandelingenDames; viewModel.BehandelingenHeren = BehandelingenHeren; viewModel.BehandelingenKinderen = BehandelingenKinderen; return(View(viewModel)); } } else { viewModel.Stap++; } WaardenNaarTempData(viewModel); return(RedirectToAction("Index", new { stapId = viewModel.Stap, viewModel })); }