public IHttpActionResult CadastrarNaturezaOperacao([FromBody] CadastroAtualizacaoDto dadosParaCadastro) { using (var sessao = new GDATransaction()) { try { sessao.BeginTransaction(); var regra = new ConverterCadastroAtualizacaoParaNaturezaOperacao(dadosParaCadastro) .ConverterParaNaturezaOperacao(); var resultado = Microsoft.Practices.ServiceLocation.ServiceLocator .Current.GetInstance <Fiscal.Negocios.ICfopFluxo>() .SalvarNaturezaOperacao(regra); if (!resultado) { sessao.Rollback(); return(this.ErroValidacao($"Falha ao cadastrar natureza de operação. {resultado.Message.Format()}")); } sessao.Commit(); return(this.Criado("Natureza de operação cadastrada com sucesso!", 0)); } catch (Exception ex) { sessao.Rollback(); return(this.ErroValidacao($"Erro ao cadastrar natureza de operação.", ex)); } } }
public IHttpActionResult AtualizarNaturezaOperacao(int id, [FromBody] CadastroAtualizacaoDto dadosParaAlteracao) { using (var sessao = new GDATransaction()) { try { sessao.BeginTransaction(); var validacao = this.ValidarExistenciaIdNaturezaOperacao(sessao, id); if (validacao != null) { return(validacao); } var fluxo = Microsoft.Practices.ServiceLocation.ServiceLocator .Current.GetInstance <Fiscal.Negocios.ICfopFluxo>(); var naturezaAtual = fluxo.ObtemNaturezaOperacao(id); naturezaAtual = new ConverterCadastroAtualizacaoParaNaturezaOperacao(dadosParaAlteracao, naturezaAtual) .ConverterParaNaturezaOperacao(); var resultado = fluxo.SalvarNaturezaOperacao(naturezaAtual); if (!resultado) { sessao.Rollback(); return(this.ErroValidacao($"Falha ao atualizar a natureza de operação. {resultado.Message.Format()}")); } sessao.Commit(); return(this.Aceito($"Natureza de operação atualizada com sucesso!")); } catch (Exception ex) { sessao.Rollback(); return(this.ErroValidacao($"Erro ao atualizar a natureza de operação.", ex)); } } }