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));
        }
예제 #2
0
        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));
        }
예제 #3
0
        // 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 }));
        }