public IActionResult UpdateTipoEventi(int tipoEventoId, [FromBody] TipoEvento tipoEventiToUpdate) { if (tipoEventiToUpdate == null) { return(BadRequest(ModelState)); } if (tipoEventoId != tipoEventiToUpdate.TipoEventoId) { return(BadRequest(ModelState)); } if (!_tipoEventoRepository.TipoEventoExists(tipoEventoId)) { return(NotFound()); } if (_tipoEventoRepository.IsDuplicateTipoEvento(tipoEventoId, tipoEventiToUpdate.NomeTipoEvento)) { ModelState.AddModelError("", $"TipoEvento {tipoEventiToUpdate.NomeTipoEvento} esiste già"); return(StatusCode(422, ModelState)); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!_tipoEventoRepository.UpdateTipoEvento(tipoEventiToUpdate)) { ModelState.AddModelError("", $"Si è verificato un errore durante l'aggiornamento {tipoEventiToUpdate.NomeTipoEvento}"); return(StatusCode(500, ModelState)); } return(NoContent()); }