Beispiel #1
0
        public IHttpActionResult CadastrarPlanoConta([FromBody] CadastroAtualizacaoDto dadosParaCadastro)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var planoConta = new ConverterCadastroAtualizacaoParaPlanoConta(dadosParaCadastro)
                                     .ConverterParaPlanoConta();

                    var resultado = Microsoft.Practices.ServiceLocation.ServiceLocator
                                    .Current.GetInstance <Financeiro.Negocios.IPlanoContasFluxo>()
                                    .SalvarPlanoContas(planoConta);

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

                    return(this.Criado("Plano de conta cadastrado com sucesso!", planoConta.IdConta));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao cadastrar plano de conta.", ex));
                }
            }
        }
        public IHttpActionResult AtualizarPlanoConta(int id, [FromBody] CadastroAtualizacaoDto dadosParaAlteracao)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarExistenciaIdPlanoConta(sessao, id);

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

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

                    var planoContaAtual = fluxo.ObtemPlanoContas(id);

                    planoContaAtual = new ConverterCadastroAtualizacaoParaPlanoConta(dadosParaAlteracao, planoContaAtual)
                                      .ConverterParaPlanoConta();

                    var resultado = fluxo.SalvarPlanoContas(planoContaAtual);

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

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