public IActionResult DeleteTipoEventi(int tipoEventoId) { if (!_tipoEventoRepository.TipoEventoExists(tipoEventoId)) { return(NotFound()); } var tipoEventiToDelete = _tipoEventoRepository.GetTipoEvento(tipoEventoId); if (_tipoEventoRepository.GetEventiFromATipoEvento(tipoEventoId).Count() > 0) { ModelState.AddModelError("", $"TipoEvento {tipoEventiToDelete.NomeTipoEvento}" + " non può essere eliminato perché viene utilizzato almeno in un evento"); return(StatusCode(409, ModelState)); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!_tipoEventoRepository.DeleteTipoEvento(tipoEventiToDelete)) { ModelState.AddModelError("", $"Si è verificato un errore durante l'eliminazione {tipoEventiToDelete.NomeTipoEvento}"); return(StatusCode(500, ModelState)); } return(NoContent()); }