Beispiel #1
0
        public IActionResult Post([FromBody] AllergieToevoegenViewModel nieuweAllergie)
        {
            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));
                        if (klant.Allergies.Where(a => a.AllergyNaam == nieuweAllergie.Allergie).Count() > 0)
                        {
                            return(BadRequest(new { error = "Je hebt deze allergie reeds toegevoegd." }));
                        }

                        _klantRepository.AddAllergy(int.Parse(User.FindFirst("gebruikersId")?.Value), nieuweAllergie.Allergie);
                        return(Ok(_klantRepository.GetById(int.Parse(User.FindFirst("gebruikersId")?.Value)).Allergies));
                    }
                    catch
                    {
                        return(BadRequest(new { error = "Er is iets fout gegaan tijdens het aanmaken van de allergy." }));
                    }
                }
                return(BadRequest(new { error = ModelState }));
            }
            return(Unauthorized(new { error = "U bent niet aangemeld als klant." }));
        }