Exemplo n.º 1
0
        public IHttpActionResult Update(HealthRiskEditDto dto)
        {
            //Recupero l'entity
            var oResult = _healthRiskService.UpdateHealthRisk(dto);

            //Se ci sono stati errori, li notifico
            if (oResult.HasErrors())
            {
                Log4NetConfig.ApplicationLog.Warn(string.Format("Errore durante la creazione di un health risk. Type: {0}, Level: {1}",
                                                                dto.Type, dto.Level, oResult.GetValidationErrorsInline(" - ")));
                NHibernateHelper.SessionFactory.GetCurrentSession().Transaction.Rollback();
                return(ResponseMessage(Request.CreateResponse(HttpStatusCode.BadRequest, oResult)));
            }

            //Ritorno i risultati
            return(ResponseMessage(Request.CreateResponse(HttpStatusCode.OK)));
        }
Exemplo n.º 2
0
        public OperationResult <Guid?> UpdateHealthRisk(HealthRiskEditDto dto)
        {
            //Validazione argomenti
            if (dto == null)
            {
                throw new ArgumentNullException(nameof(dto));
            }
            if (!dto.Id.HasValue)
            {
                throw new ArgumentNullException(nameof(dto.Id));
            }

            //Dichiaro la lista di risultati di ritorno
            IList <ValidationResult> vResults = new List <ValidationResult>();
            //Definisco l'entità
            HealthRisk entity = _healthRiskRepository.Load(dto.Id);

            entity.Registry  = dto.Registry != null && dto.Registry.Id.HasValue ? _registryRepository.Load(dto.Registry.Id) : null;
            entity.Level     = dto.Level?.Id;
            entity.Rating    = dto.Rating;
            entity.Type      = dto.Type?.Id;
            entity.StartDate = dto.StartDate;
            entity.EndDate   = dto.EndDate;

            //Eseguo la validazione logica
            vResults = ValidateEntity(entity);

            if (!vResults.Any())
            {
                //Salvataggio su db
                _healthRiskRepository.Save(entity);
            }

            //Ritorno i risultati
            return(new OperationResult <Guid?>
            {
                ReturnedValue = entity.Id,
                ValidationResults = vResults
            });
        }