예제 #1
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));
        }
예제 #2
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));
        }