Пример #1
0
        /// <summary>
        /// Remove o tipo de cartão do sistema, caso ele não esteja em uso.
        /// </summary>
        public override int Delete(TipoCartaoCredito objDelete)
        {
            using (var transaction = new GDATransaction())
            {
                try
                {
                    if (TipoCartaoCreditoEmUso(transaction, (uint)objDelete.IdTipoCartao))
                    {
                        throw new Exception("O tipo cartão não pode ser deletado pois ele já está sendo utilizado.");
                    }

                    JurosParcelaCartaoDAO.Instance.ApagarPeloTipoCartaoCredito(transaction, (int)objDelete.IdTipoCartao);

                    var retorno = base.Delete(transaction, objDelete);

                    transaction.Commit();
                    transaction.Close();

                    return(retorno);
                }
                catch
                {
                    transaction.Rollback();
                    transaction.Close();
                    throw;
                }
            }
        }
Пример #2
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));
                }
            }
        }
Пример #3
0
        public IHttpActionResult ExcluirMovimentacao(int id)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarExistenciaIdMovimentacaoEstoqueReal(sessao, id);

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

                    var movimentacao = MovEstoqueDAO.Instance.GetElementByPrimaryKey(id);

                    MovEstoqueDAO.Instance.Delete(movimentacao);

                    return(this.Aceito($"Movimentação excluída."));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao excluir a movimentação.", ex));
                }
            }
        }
Пример #4
0
        public IHttpActionResult AlterarPosicaoSetor(int id, PosicaoDto posicao)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarExistenciaIdSetor(sessao, id);

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

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

                    var resultado = fluxo.AlterarPosicao(id, posicao.Acima);

                    if (!resultado)
                    {
                        return(this.ErroValidacao($"Falha ao alterar a posição do setor. {resultado.Message}"));
                    }

                    return(this.Aceito($"Posição do setor alterada com sucesso!"));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao atualizar setor.", ex));
                }
            }
        }
        public IHttpActionResult ExcluirTabelasDescontoAcrescimoCliente(int id)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarExistenciaIdTabelaDescontoAcrescimoCliente(sessao, id);

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

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

                    var tabela = fluxo.ObtemTabelaDescontoAcrescimoCliente(id);

                    var resultado = fluxo.ApagarTabelaDescontoAcrescimo(tabela);

                    if (!resultado)
                    {
                        return(this.ErroValidacao($"Falha ao excluir tabela de desconto/acréscimo de cliente. {resultado.Message.Format()}"));
                    }

                    return(this.Aceito($"Tabela de desconto/acréscimo de cliente excluída."));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao excluir tabela de desconto/acréscimo.", ex));
                }
            }
        }
Пример #6
0
        public IHttpActionResult ConsultarSituacao(int id)
        {
            using (var sessao = new GDATransaction())
            {
                var validacao = this.ValidarExistenciaIdNotaFiscal(sessao, id);

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

                try
                {
                    sessao.BeginTransaction();

                    var mensagem = Data.NFeUtils.ConsultaSituacao.ConsultaSitNFe((uint)id);

                    sessao.Commit();

                    return(this.Aceito(mensagem));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao("Falha ao consultar situação da nota fiscal", ex));
                }
            }
        }
Пример #7
0
        public IHttpActionResult ExcluirOrdemCarga(int id)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    sessao.BeginTransaction();

                    var validacao = this.ValidarExistenciaIdOrdemCarga(sessao, id);

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

                    var ordemCarga = OrdemCargaDAO.Instance.GetElementByPrimaryKey(sessao, id);

                    WebGlass.Business.OrdemCarga.Fluxo.OrdemCargaFluxo.Instance.Delete(sessao, ordemCarga);

                    sessao.Commit();
                    sessao.Close();

                    return(this.Aceito($"Ordem de carga excluída."));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao excluir ordem de carga.", ex));
                }
            }
        }
        public IHttpActionResult ExcluirFabricanteFerragem(int id)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarExistenciaIdFabricanteFerragem(sessao, id);

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

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

                    var fabricante = fluxo.ObterFabricanteFerragem(id);

                    var resultado = fluxo.ApagarFabricanteFerragem(fabricante);

                    if (!resultado)
                    {
                        return(this.ErroValidacao($"Falha ao excluir fabricante de ferragem. {resultado.Message.Format()}"));
                    }

                    return(this.Aceito($"Fabricante de ferragem excluído."));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao excluir fabricante de ferragem.", ex));
                }
            }
        }
Пример #9
0
        /// <summary>
        /// Método utilizado para enviar email utilizando configurações de cada loja,
        /// colocando o e-mail na fila de envio.
        /// </summary>
        public static uint EnviaEmailAsyncComTransacao(uint idLoja, string emailDestinatario, string assunto, string mensagem, EmailEnvio emailEnvio, bool emailAdmin,
                                                       params AnexoEmail[] anexos)
        {
            using (var transaction = new GDATransaction())
            {
                try
                {
                    transaction.BeginTransaction();

                    uint idEmail = EnviaEmailAsync(transaction, idLoja, emailDestinatario, assunto, mensagem, emailEnvio, emailAdmin, anexos);

                    transaction.Commit();
                    transaction.Close();

                    return(idEmail);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    transaction.Close();

                    ErroDAO.Instance.InserirFromException("EnviaEmailAsync", ex);
                    throw;
                }
            }
        }
Пример #10
0
        public IHttpActionResult ExcluirContabilista(int id)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    sessao.BeginTransaction();

                    var validacao = this.ValidarExistenciaIdContabilista(sessao, id);

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

                    ContabilistaDAO.Instance.DeleteByPrimaryKey(sessao, id);

                    sessao.Commit();

                    return(this.Aceito($"Contabilista excluído."));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao excluir contabilista.", ex));
                }
            }
        }
Пример #11
0
        public IHttpActionResult AtualizarGrupoProjeto(int id, [FromBody] CadastroAtualizacaoDto dadosParaAlteracao)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    sessao.BeginTransaction();

                    var validacao = this.ValidarExistenciaIdGrupoProjeto(sessao, id);

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

                    var grupoProjetoAtual = GrupoModeloDAO.Instance.GetElementByPrimaryKey(id);

                    grupoProjetoAtual = new ConverterCadastroAtualizacaoParaGrupoProjeto(dadosParaAlteracao, grupoProjetoAtual)
                                        .ConverterParaGrupoProjeto();

                    GrupoModeloDAO.Instance.Update(sessao, grupoProjetoAtual);

                    sessao.Commit();

                    return(this.Aceito($"Grupos de projeto atualizado com sucesso!"));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao atualizar grupo de projeto.", ex));
                }
            }
        }
Пример #12
0
        public IHttpActionResult ExcluirRoteiro(int id)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    sessao.BeginTransaction();

                    var validacao = this.ValidarExistenciaIdRoteiro(sessao, id);

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

                    var roteiro = RoteiroProducaoDAO.Instance.ObtemElemento(sessao, id);

                    RoteiroProducaoDAO.Instance.Delete(sessao, roteiro);
                    RoteiroProducaoSetorDAO.Instance.ApagarPorRoteiroProducao(sessao, roteiro.IdRoteiroProducao);

                    sessao.Commit();

                    return(this.Aceito($"Roteiro excluído."));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao excluir roteiro.", ex));
                }
            }
        }
Пример #13
0
        public void Reabrir(uint idCte)
        {
            lock (_reabrirCTeLock)
            {
                using (var transaction = new GDATransaction())
                {
                    try
                    {
                        transaction.BeginTransaction();

                        var cte = BuscarCte.Instance.GetCte(transaction, idCte);

                        if (cte.Situacao == (int)Glass.Data.Model.Cte.ConhecimentoTransporte.SituacaoEnum.Aberto)
                        {
                            throw new Exception(string.Format("O CTe {0} já foi reaberto.", cte.NumeroCte));
                        }

                        ApagarContasPagar(transaction, idCte);

                        // Altera a situação do CTe
                        ConhecimentoTransporteDAO.Instance.AlteraSituacao(transaction, idCte, Glass.Data.Model.Cte.ConhecimentoTransporte.SituacaoEnum.Aberto);

                        transaction.Commit();
                        transaction.Close();
                    }
                    catch
                    {
                        transaction.Rollback();
                        transaction.Close();
                        throw;
                    }
                }
            }
        }
Пример #14
0
        public IHttpActionResult Cadastrar(int idPedido, [FromBody] CadastroAtualizacaoDto dadosParaCadastro)
        {
            using (var sessao = new GDATransaction())
            {
                var validacao = this.ValidarIdPedido(sessao, idPedido);

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

                try
                {
                    sessao.BeginTransaction();

                    var ambiente = new ConverterCadastroAtualizacaoParaAmbientePedido(dadosParaCadastro)
                                   .ConverterParaAmbientePedido();

                    ambiente.IdPedido = (uint)idPedido;

                    var idAmbiente = AmbientePedidoDAO.Instance.Insert(sessao, ambiente);
                    sessao.Commit();

                    return(this.Criado(string.Format("Ambiente cadastrado com sucesso no pedido {0}!", idPedido), idAmbiente));
                }
                catch (Exception e)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao(string.Format("Erro ao inserir o ambiente no pedido {0}.", idPedido), e));
                }
            }
        }
Пример #15
0
        public IHttpActionResult ReenviarEmail(int id, bool cancelamento)
        {
            using (var sessao = new GDATransaction())
            {
                var validacao = this.ValidarExistenciaIdNotaFiscal(sessao, id);

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

                try
                {
                    sessao.BeginTransaction();

                    NotaFiscalDAO.Instance.EnviarEmailXml(sessao, NotaFiscalDAO.Instance.GetElement(sessao, (uint)id), cancelamento);
                    sessao.Commit();

                    return(this.Aceito("E-mail adicionado à fila de envio."));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao("Falha ao reenviar e-mail", ex));
                }
            }
        }
Пример #16
0
        public IHttpActionResult AlterarTipo(int id, [FromBody] CadastroAtualizacaoDto dadosParaAlteracao)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var tipo = TipoClienteDAO.Instance.GetElementByPrimaryKey(sessao, id);

                    if (tipo == null)
                    {
                        return(this.NaoEncontrado($"Tipo de cliente {id} não encontrado."));
                    }

                    tipo = new ConverterCadastroAtualizacaoParaTipo(dadosParaAlteracao, tipo)
                           .ConverterParaTipo();

                    sessao.BeginTransaction();

                    TipoClienteDAO.Instance.Update(sessao, tipo);
                    sessao.Commit();

                    return(this.Aceito($"Tipo de cliente atualizado com sucesso!"));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao atualizar tipo de cliente.", ex));
                }
            }
        }
Пример #17
0
        public IHttpActionResult EmitirNfceOffline(int id)
        {
            using (var sessao = new GDATransaction())
            {
                var validacao = this.ValidarExistenciaIdNotaFiscal(sessao, id);

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

                try
                {
                    sessao.BeginTransaction();

                    var retornoEmissao = NotaFiscalDAO.Instance.EmitirNfcOffline((uint)id);
                    sessao.Commit();

                    return(this.Aceito(retornoEmissao));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao("Falha ao emitir NFC-e.", ex));
                }
            }
        }
Пример #18
0
        public IHttpActionResult ExcluirCarregamento(int id)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarExistenciaIdCarregamento(sessao, id);

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

                    var carregamento = CarregamentoDAO.Instance.GetElementByPrimaryKey(id);

                    WebGlass.Business.OrdemCarga.Fluxo.CarregamentoFluxo.Instance.Delete(carregamento);

                    return(this.Aceito($"Carregamento excluído."));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao excluir carregamento.", ex));
                }
            }
        }
Пример #19
0
        public IHttpActionResult AlterarObservacoes(int id, [FromBody] ObservacoesPedidoDto dadosEntrada)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarExistenciaIdPedido(sessao, id);

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

                    sessao.BeginTransaction();

                    PedidoDAO.Instance.AtualizaObs(sessao, (uint)id, dadosEntrada?.Observacao, dadosEntrada?.ObservacaoLiberacao);
                    sessao.Commit();

                    return(this.Aceito($"Pedido {id} atualizado com sucesso!"));
                }
                catch (Exception e)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao atualizar a observação do pedido {id}.", e));
                }
            }
        }
Пример #20
0
        public IHttpActionResult CadastrarCondutor([FromBody] CadastroAtualizacaoDto dadosParaCadastro)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarCadastroCondutor(sessao, dadosParaCadastro);

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

                    var condutor = new Helper.Condutores.ConverterCadastroAtualizacaoParaCondutor(dadosParaCadastro)
                                   .ConverterParaCondutor();

                    var idCondutor = CondutoresDAO.Instance.Insert(sessao, condutor);
                    sessao.Commit();

                    return(this.Criado($"Condutor {idCondutor} inserido com sucesso!", idCondutor));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao inserir condutor.", ex));
                }
            }
        }
Пример #21
0
        public IHttpActionResult DesassociarPedidoOrdemCarga(int id, int idPedido)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    sessao.BeginTransaction();

                    var validacao = this.ValidarDesassociacaoPedidoOrdemCarga(sessao, id, idPedido);

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

                    WebGlass.Business.OrdemCarga.Fluxo.PedidosOCFluxo.Instance.RemoverPedido(sessao, (uint)id, (uint)idPedido);

                    sessao.Commit();
                    sessao.Close();

                    return(this.Aceito($"Pedido {idPedido} desassociado da ordem de carga {id}."));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    sessao.Close();
                    return(this.ErroValidacao($"Erro ao desassociar pedido da ordem de carga.", ex));
                }
            }
        }
Пример #22
0
        public IHttpActionResult AlterarCondutor(int id, [FromBody] CadastroAtualizacaoDto dadosParaAlteracao)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarAtualizacaoCondutor(sessao, id, dadosParaAlteracao);

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

                    var condutor = CondutoresDAO.Instance.GetElementByPrimaryKey(sessao, id);

                    if (condutor == null)
                    {
                        return(this.NaoEncontrado($"Condutor {id} não encontrado."));
                    }

                    condutor = new ConverterCadastroAtualizacaoParaCondutor(dadosParaAlteracao, condutor)
                               .ConverterParaCondutor();

                    CondutoresDAO.Instance.Update(sessao, condutor);
                    sessao.Commit();

                    return(this.Aceito($"Condutor {id} atualizado com sucesso!"));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao atualizar condutor.", ex));
                }
            }
        }
Пример #23
0
        public IHttpActionResult ExcluirTurno(int id)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarExistenciaIdTurno(sessao, id);

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

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

                    var turno = fluxo.ObtemTurno(id);

                    var resultado = fluxo.ApagarTurno(turno);

                    if (!resultado)
                    {
                        return(this.ErroValidacao($"Falha ao excluir turno. {resultado.Message.Format()}"));
                    }

                    return(this.Aceito($"Turno excluído."));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao excluir turno.", ex));
                }
            }
        }
        public IHttpActionResult ExcluirCategoriaConta(int id)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var validacao = this.ValidarExistenciaIdCategoriaConta(sessao, id);

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

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

                    var categoriaConta = fluxo.ObtemCategoriaConta(id);

                    var resultado = fluxo.ApagarCategoriaConta(categoriaConta);

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

                    return(this.Aceito($"Categoria de conta excluída."));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao excluir categoria de conta.", ex));
                }
            }
        }
Пример #25
0
        /// <summary>
        /// Cancela pagamento
        /// </summary>
        public void CancelarPagtoComTransacao(uint idPagto, string motivoCanc, bool estornarMovimentacaoBancaria,
                                              DateTime?dataEstornoBanco)
        {
            lock (_cancelarPagamentoLock)
            {
                using (var transaction = new GDATransaction())
                {
                    try
                    {
                        transaction.BeginTransaction();

                        CancelarPagto(transaction, idPagto, motivoCanc, estornarMovimentacaoBancaria, dataEstornoBanco);

                        transaction.Commit();
                        transaction.Close();
                    }
                    catch
                    {
                        transaction.Rollback();
                        transaction.Close();
                        throw;
                    }
                }
            }
        }
Пример #26
0
        public IHttpActionResult Reabrir(int id)
        {
            using (var sessao = new GDATransaction())
            {
                var validacao = this.ValidarExistenciaIdNotaFiscal(sessao, id);

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

                try
                {
                    sessao.BeginTransaction();

                    NotaFiscalDAO.Instance.ReabrirNotaEntradaTerceiros((uint)id);
                    sessao.Commit();

                    return(this.Aceito($"Nota fiscal {id} reaberta."));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao("Falha ao reabrir nota fiscal.", ex));
                }
            }
        }
Пример #27
0
        /// <summary>
        /// Salva o valor padrão de um banco
        /// </summary>
        /// <param name="dados"></param>
        public void SalvarValorPadrao(DadosCnab dados)
        {
            using (var trans = new GDATransaction())
            {
                try
                {
                    trans.BeginTransaction();

                    var dadosOriginais = ObtemValorPadrao(trans, dados.CodBanco, 0);

                    dados.IdArquivoRemessa = null;
                    dados.ValorPadrao      = true;

                    if (dadosOriginais != null)
                    {
                        dados.IdDadosCnab     = dadosOriginais.IdDadosCnab;
                        dados.ExistsInStorage = true;
                        Update(trans, dados);
                    }
                    else
                    {
                        Insert(trans, dados);
                    }

                    trans.Commit();
                    trans.Close();
                }
                catch (System.Exception ex)
                {
                    trans.Rollback();
                    trans.Close();
                    throw ex;
                }
            }
        }
Пример #28
0
        public IHttpActionResult GerarNotaFiscalComplementar(int id)
        {
            using (var sessao = new GDATransaction())
            {
                var validacao = this.ValidarExistenciaIdNotaFiscal(sessao, id);

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

                try
                {
                    sessao.BeginTransaction();

                    var idNf = NotaFiscalDAO.Instance.GeraNFeComplementar((uint)id);
                    sessao.Commit();

                    return(this.Criado("Nota fiscal complementar gerada.", (int)idNf));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao("Falha ao gerar nota complementar.", ex));
                }
            }
        }
        public IHttpActionResult CadastrarSubgrupo([FromBody] CadastroAtualizacaoDto dadosParaCadastro)
        {
            using (var sessao = new GDATransaction())
            {
                try
                {
                    var subgrupo = new ConverterCadastroAtualizacaoParaSubgrupoProduto(dadosParaCadastro)
                                   .ConverterParaSubgrupoProduto();

                    var resultado = Microsoft.Practices.ServiceLocation.ServiceLocator
                                    .Current.GetInstance <Global.Negocios.IGrupoProdutoFluxo>()
                                    .SalvarSubgrupoProduto(subgrupo);

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

                    return(this.Criado("Subgrupo de produto cadastrado com sucesso!", 0));
                }
                catch (Exception ex)
                {
                    sessao.Rollback();
                    return(this.ErroValidacao($"Erro ao cadastrar subgrupo de produto.", ex));
                }
            }
        }
Пример #30
0
        public override int Update(TipoCartaoCredito objUpdate)
        {
            using (var transaction = new GDATransaction())
            {
                try
                {
                    transaction.BeginTransaction();

                    var antigo = GetElementByPrimaryKey(transaction, objUpdate.IdTipoCartao);

                    var retorno = Update(transaction, objUpdate);

                    LogAlteracaoDAO.Instance.LogTipoCartao(transaction, antigo, objUpdate);

                    transaction.Commit();
                    transaction.Close();

                    return(retorno);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    transaction.Close();

                    ErroDAO.Instance.InserirFromException("Alterar Tipo Cartão", ex);
                    throw ex;
                }
            }
        }