Ejemplo n.º 1
0
        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());
        }