Ejemplo n.º 1
0
        public IHttpActionResult CadastrarTipoPerda([FromBody] CadastroAtualizacaoDto dadosParaCadastro)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var tipoPerda = new ConverterCadastroAtualizacaoParaTipoPerda(dadosParaCadastro)
                                    .ConverterParaTipoPerda();

                    var resultado = Microsoft.Practices.ServiceLocation.ServiceLocator
                                    .Current.GetInstance <PCP.Negocios.IPerdaFluxo>()
                                    .SalvarTipoPerda(tipoPerda);

                    if (!resultado)
                    {
                        return(this.ErroValidacao($"Falha ao cadastrar tipo de perda. {resultado.Message.Format()}"));
                    }

                    return(this.Criado("Tipo de perda cadastrado com sucesso!", tipoPerda.IdTipoPerda));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao cadastrar tipo de perda.", ex));
                }
            }
        }
Ejemplo n.º 2
0
        public IHttpActionResult AtualizarTipoPerda(int id, [FromBody] CadastroAtualizacaoDto dadosParaAlteracao)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarExistenciaIdTipoPerda(sessao, id);

                    if (validacao != null)
                    {
                        return(validacao);
                    }

                    var fluxo = Microsoft.Practices.ServiceLocation.ServiceLocator
                                .Current.GetInstance <PCP.Negocios.IPerdaFluxo>();

                    var turnoAtual = fluxo.ObtemTipoPerda(id);

                    turnoAtual = new ConverterCadastroAtualizacaoParaTipoPerda(dadosParaAlteracao, turnoAtual)
                                 .ConverterParaTipoPerda();

                    var resultado = fluxo.SalvarTipoPerda(turnoAtual);

                    if (!resultado)
                    {
                        return(this.ErroValidacao($"Falha ao atualizar tipo de perda. {resultado.Message.Format()}"));
                    }

                    return(this.Aceito($"Tipo de perda atualizado com sucesso!"));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao atualizar tipo de perda.", ex));
                }
            }
        }