Ejemplo n.º 1
0
        public ActionResult <Klant> PostKlant(KlantDTO klantDTO)
        {
            Klant klantToCreate = new Klant(klantDTO.Voornaam, klantDTO.Achternaam, klantDTO.Email);

            _klantenRepository.Add(klantToCreate);
            _klantenRepository.SaveChanges();

            return(CreatedAtAction(nameof(GetKlant), new { id = klantToCreate.KlantenNummer }, klantToCreate));
        }
Ejemplo n.º 2
0
        public MaakKlantAanCommand HandleMaakKlantAanCommand(MaakKlantAanCommand command)
        {
            _klantRepository.Add(command.Klant);

            _eventPublisher.PublishAsync(new KlantAangemaaktEvent
            {
                Klant = command.Klant
            });

            return(command);
        }
        public async Task <ActionResult <String> > Register(RegisterDTO model)
        {
            IdentityUser user = new IdentityUser {
                UserName = model.Email, Email = model.Email
            };
            Klant klant = new Klant {
                Voornaam = model.Voornaam, Achternaam = model.Achternaam, Email = model.Email
            };
            var result = await _userManager.CreateAsync(user, model.Password);

            if (result.Succeeded)
            {
                _klantRepository.Add(klant);
                _klantRepository.SaveChanges();
                string token = GetToken(user); return(Created("", token));
            }
            return(BadRequest());
        }
        public async Task <IActionResult> Register(RegisterViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await _userManager.AddClaimAsync(user, new Claim(ClaimTypes.Role, "klant"));

                    _logger.LogInformation("User created a new account with password.");

                    var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme);
                    await _emailSender.SendEmailConfirmationAsync(model.Email, callbackUrl);

                    await _signInManager.SignInAsync(user, isPersistent : false);

                    _logger.LogInformation("User created a new account with password.");

                    var klant = new Klant
                    {
                        Email    = model.Email,
                        Voornaam = "Jan",
                        Naam     = "De man",
                        Bedrijf  = "Hogent",
                        GSM      = "+32 494 111111"
                    };

                    _klantRepository.Add(klant);
                    _klantRepository.SaveChanges();
                    return(RedirectToLocal(returnUrl));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
        public void Add(object Object)
        {
            switch (Object)
            {
            case Klant Klant:
                _klantRepo.Add(Klant);
                break;

            case Limousine Limousine:
                _limoRepo.Add(Limousine);
                break;

            case Locatie Locatie:
                _locaRepo.Add(Locatie);
                break;

            case Staffelkorting Staffelkorting:
                _staffelRepo.Add(Staffelkorting);
                break;

            case Reservering Reservering:
                if (Reservering.GereserveerdeTijd > 11)
                {
                    throw new ArgumentException("Gereserveerde tijd mag niet boven 11 zijn.");
                }
                if ((Reservering.ReservatieType.Equals(ReserveringType.NightLife)) && (Reservering.StartDatum.Hour < 20))
                {
                    throw new ArgumentException("NightLife reserveringen mogen niet voor 20 uur of na 24 uur gestart worden.");
                }
                if ((Reservering.ReservatieType.Equals(ReserveringType.Wedding)) && (((Reservering.StartDatum.Hour < 7)) || (Reservering.StartDatum.Hour > 15)))
                {
                    throw new ArgumentException("Wedding reserveringen mogen niet voor 7 uur of na 15 uur gestart worden.");
                }
                if ((Reservering.ReservatieType.Equals(ReserveringType.Wellness)) && (((Reservering.StartDatum.Hour < 7)) || (Reservering.StartDatum.Hour > 12)))
                {
                    throw new ArgumentException("Wellness reserveringen mogen niet voor 7 uur of na 12 uur gestart worden.");
                }
                if (_reserRepo.getReserveringMetLimousine(Reservering.Limousine).Any(r =>
                                                                                     // reservering tussen nu en 6 uur
                                                                                     (Reservering.StartDatum.CompareTo(r.StartDatum) >= 0 && Reservering.StartDatum.AddHours(6).CompareTo(r.StartDatum) <= 0) ||
                                                                                     // reservering tussen -6 uur en nu
                                                                                     (Reservering.StartDatum.CompareTo(r.StartDatum) <= 0 && Reservering.StartDatum.AddHours(-6).CompareTo(r.StartDatum) >= 0))
                    )
                {
                    throw new ArgumentException("Er moet minstens 6 uur tussen het hergebruik van eenzelfde limousine zijn.");
                }
                _reserRepo.Add(Reservering);
                if ((Reservering.Limousine.Nightlife.Equals(0)) && (Reservering.ReservatieType == ReserveringType.NightLife))
                {
                    throw new ArgumentException("Deze Limousine mag niet gebruikt worden voor NightLife reserveringen");
                }
                if ((Reservering.Limousine.Wellness.Equals(0)) && (Reservering.ReservatieType == ReserveringType.Wellness))
                {
                    throw new ArgumentException("Deze Limousine mag niet gebruikt worden voor Wellness reserveringen");
                }
                if ((Reservering.Limousine.Wedding.Equals(0)) && (Reservering.ReservatieType == ReserveringType.Wedding))
                {
                    throw new ArgumentException("Deze Limousine mag niet gebruikt worden voor Wedding reserveringen");
                }
                break;

            default:
                break;
            }
            _klantRepo.SaveChanges();
        }