public IHttpActionResult CadastrarGrupo([FromBody] CadastroAtualizacaoDto dadosParaCadastro) { using (var sessao = new GDATransaction()) { try { var grupo = new ConverterCadastroAtualizacaoParaGrupoProduto(dadosParaCadastro) .ConverterParaGrupoProduto(); var resultado = Microsoft.Practices.ServiceLocation.ServiceLocator .Current.GetInstance <Global.Negocios.IGrupoProdutoFluxo>() .SalvarGrupoProduto(grupo); if (!resultado) { return(this.ErroValidacao($"Falha ao cadastrar grupo de produto. {resultado.Message.Format()}")); } return(this.Criado("Grupo de produto cadastrado com sucesso!", 0)); } catch (Exception ex) { sessao.Rollback(); return(this.ErroValidacao($"Erro ao cadastrar grupo de produto.", ex)); } } }
public IHttpActionResult AtualizarGrupo(int id, [FromBody] CadastroAtualizacaoDto dadosParaAlteracao) { using (var sessao = new GDATransaction()) { try { var validacao = this.ValidarExistenciaIdGrupoProduto(sessao, id); if (validacao != null) { return(validacao); } var fluxo = Microsoft.Practices.ServiceLocation.ServiceLocator .Current.GetInstance <Global.Negocios.IGrupoProdutoFluxo>(); var grupoAtual = fluxo.ObtemGrupoProduto(id); grupoAtual = new ConverterCadastroAtualizacaoParaGrupoProduto(dadosParaAlteracao, grupoAtual) .ConverterParaGrupoProduto(); var resultado = fluxo.SalvarGrupoProduto(grupoAtual); if (!resultado) { return(this.ErroValidacao($"Falha ao atualizar grupo de produto. {resultado.Message.Format()}")); } return(this.Aceito($"Grupo de produto atualizado com sucesso!")); } catch (Exception ex) { sessao.Rollback(); return(this.ErroValidacao($"Erro ao atualizar grupo de produto.", ex)); } } }