public IActionResult Post([FromBody] AddEventViewModel eventToAdd) { if (!IsMerchant()) { return(BadRequest(new { error = "De voorziene token voldoet niet aan de eisen." })); } //modelstate werkt niet op lijsten :-D if (eventToAdd.Images == null || !eventToAdd.Images.Any()) { return(BadRequest(new { error = "Geen afbeelding(en) meegeven." })); } if (!ContainsJpgs(eventToAdd.Images)) { return(BadRequest(new { error = "Geen jpg afbeelding(en) meegeven" })); } if (eventToAdd.StartDate == null) { return(BadRequest(new { error = "Geen start datum meegeven." })); } if (eventToAdd.EndDate == null) { return(BadRequest(new { error = "Geen eind datum meegeven." })); } if (ModelState.IsValid) { Establishment establishmentFromDb = _establishmentRepository.getById(eventToAdd.EstablishmentId ?? 0); if (establishmentFromDb == null) { return(BadRequest(new { error = "Vestiging met opgegeven id niet gevonden" })); } if (!_establishmentRepository.isOwnerOfEstablishment(int.Parse(User.FindFirst("userId")?.Value), establishmentFromDb.EstablishmentId)) { return(BadRequest(new { error = "Vestiging behoord niet tot uw vestigingen" })); } Event newEvent = new Event { Name = eventToAdd.Name, Message = eventToAdd.Message, StartDate = (DateTime)eventToAdd.StartDate, EndDate = (DateTime)eventToAdd.EndDate }; _eventRepository.addEvent(eventToAdd.EstablishmentId ?? 0, newEvent); //we hebben id nodig voor img path dus erna newEvent.Images = ConvertFileViewModelToImages(eventToAdd.Images, newEvent.EventId); newEvent.Attachments = ConvertFileViewModelToAttachments(eventToAdd.Attachments, newEvent.EventId); _eventRepository.SaveChanges(); return(Ok(new { bericht = "Het evenement werd succesvol toegevoegd." })); } //Als we hier zijn is is modelstate niet voldaan dus stuur error 400, slechte aanvraag string errorMsg = string.Join(" | ", ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage)); return(BadRequest(new { error = errorMsg })); }
public IActionResult Put(int id, [FromBody] ModifyEstablishmentViewModel editedEstablishment) { if (ModelState.IsValid) { if (!IsMerchant()) { return(BadRequest(new { error = "De voorziene token voldoet niet aan de eisen." })); } Establishment establishment = _establishmentRepository.getById(id); if (establishment == null) { return(BadRequest(new { error = "Vestiging met meegegeven id niet gevonden." })); } if (!_establishmentRepository.isOwnerOfEstablishment(int.Parse(User.FindFirst("userId")?.Value), id)) { return(BadRequest(new { error = "Vestiging behoord niet tot uw vestigingen." })); } //alles ok, mag editen if (!string.IsNullOrEmpty(editedEstablishment.Name)) { establishment.Name = editedEstablishment.Name; } if (!string.IsNullOrEmpty(editedEstablishment.Description)) { establishment.Description = editedEstablishment.Description; } if (!string.IsNullOrEmpty(editedEstablishment.PostalCode)) { establishment.PostalCode = editedEstablishment.PostalCode; } if (!string.IsNullOrEmpty(editedEstablishment.City)) { establishment.City = editedEstablishment.City; } if (!string.IsNullOrEmpty(editedEstablishment.Street)) { establishment.Street = editedEstablishment.Street; } if (!string.IsNullOrEmpty(editedEstablishment.HouseNumber)) { establishment.HouseNumber = editedEstablishment.HouseNumber; } if (editedEstablishment.Categories != null && editedEstablishment.Categories.Any()) { establishment.EstablishmentCategories = ConvertCategoryViewModelsToCategory(editedEstablishment.Categories); } if (editedEstablishment.SocialMedias != null && editedEstablishment.SocialMedias.Any()) { establishment.EstablishmentSocialMedias = ConvertEstablishmentSocialMediasViewModelsToEstablishmentSocialMedias(editedEstablishment .SocialMedias); } if (editedEstablishment.OpenDays != null && editedEstablishment.OpenDays.Any()) { establishment.OpenDays = ConvertOpenDaysViewModelsToOpenDays(editedEstablishment.OpenDays); } if (editedEstablishment.ExceptionalDays != null && editedEstablishment.ExceptionalDays.Any()) { establishment.ExceptionalDays = ConvertExceptionalDaysViewModelsToExceptionalDays(editedEstablishment.ExceptionalDays); } if (editedEstablishment.Images != null && editedEstablishment.Images.Any()) { var images = ConvertFileViewModelToImages(editedEstablishment.Images, id); if (images.Any()) { establishment.Images = images; } } _companyRepository.SaveChanges(); return(Ok(new { bericht = "De vestiging werd succesvol bijgewerkt." })); } //Als we hier zijn is is modelstate niet voldaan dus stuur error 400, slechte aanvraag string errorMsg = string.Join(" | ", ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage)); return(BadRequest(new { error = errorMsg })); }