public IActionResult DeleteAutore(int autoreId)
        {
            if (!_autoriRepository.AutoreExists(autoreId))
            {
                return(NotFound());
            }

            var autoreToDelete = _autoriRepository.GetAutore(autoreId);

            if (_autoriRepository.GetAllEventiFromAnAutore(autoreId).Count() > 0)
            {
                ModelState.AddModelError("", $"L'Autore {autoreToDelete.NomeAutore} " +
                                         "non può essere eliminato perché  è associato ad almeno un evento");
                return(StatusCode(409, ModelState));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (!_autoriRepository.DeleteAutore(autoreToDelete))
            {
                ModelState.AddModelError("", $"Si è verificato un errore durante l'eliminazione " +
                                         $"{autoreToDelete.NomeAutore}");
                return(StatusCode(500, ModelState));
            }

            return(NoContent());
        }