public IHttpActionResult CadastrarCfop([FromBody] CadastroAtualizacaoDto dadosParaCadastro) { using (var sessao = new GDATransaction()) { try { sessao.BeginTransaction(); var cfop = new ConverterCadastroAtualizacaoParaCfop(dadosParaCadastro) .ConverterParaCfop(); var resultado = Microsoft.Practices.ServiceLocation.ServiceLocator .Current.GetInstance <Fiscal.Negocios.ICfopFluxo>() .SalvarCfop(cfop); if (!resultado) { sessao.Rollback(); return(this.ErroValidacao($"Falha ao cadastrar CFOP. {resultado.Message.Format()}")); } sessao.Commit(); return(this.Criado("CFOP cadastrado com sucesso!", 0)); } catch (Exception ex) { sessao.Rollback(); return(this.ErroValidacao($"Erro ao cadastrar CFOP.", ex)); } } }
public IHttpActionResult AtualizarCfop(int id, [FromBody] CadastroAtualizacaoDto dadosParaAlteracao) { using (var sessao = new GDATransaction()) { try { sessao.BeginTransaction(); var validacao = this.ValidarExistenciaIdCfop(sessao, id); if (validacao != null) { return(validacao); } var fluxo = Microsoft.Practices.ServiceLocation.ServiceLocator .Current.GetInstance <Fiscal.Negocios.ICfopFluxo>(); var cfopAtual = fluxo.ObtemCfop(id); cfopAtual = new ConverterCadastroAtualizacaoParaCfop(dadosParaAlteracao, cfopAtual) .ConverterParaCfop(); var resultado = fluxo.SalvarCfop(cfopAtual); if (!resultado) { sessao.Rollback(); return(this.ErroValidacao($"Falha ao atualizar o CFOP. {resultado.Message.Format()}")); } sessao.Commit(); return(this.Aceito($"CFOP atualizado com sucesso!")); } catch (Exception ex) { sessao.Rollback(); return(this.ErroValidacao($"Erro ao atualizar o CFOP.", ex)); } } }