示例#1
0
        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());
        }