Exemple #1
0
        public void AtualizarSolicitacaoDocumentoCartao(Cartao.ResultadoProcessamento resultado)
        {
            var repSolicitacao = new RepositorioGenerico <tb_solicitacao_documento>();

            var saceContext = (SaceEntities)repSolicitacao.ObterContexto();
            tb_solicitacao_documento documentoE = repSolicitacao.ObterEntidade(sd => sd.codSolicitacao == resultado.CodSolicitacao);

            documentoE.cartaoProcessado = true;
            documentoE.cartaoAutorizado = resultado.Aprovado;
            documentoE.emProcessamento  = false;
            if (resultado.Aprovado)
            {
                foreach (Cartao.RespostaAprovada respostaAprovada in resultado.ListaRespostaAprovada)
                {
                    tb_solicitacao_pagamento solicitacaoPagamento = documentoE.tb_solicitacao_pagamento.Where(sp => sp.codSolicitacaoPagamento == respostaAprovada.CodSolicitacaoPagamento).FirstOrDefault();
                    solicitacaoPagamento.cupomCliente         = respostaAprovada.CupomCliente;
                    solicitacaoPagamento.cupomEstabelecimento = respostaAprovada.CupomLojista;
                    solicitacaoPagamento.cupomReduzido        = respostaAprovada.CupomReduzido;
                }
            }
            else
            {
                Cartao.RespostaRecusada recusada = resultado.RespostaRecusada;
                documentoE.codMotivoCartaoNegado = recusada.CodMotivo;
                documentoE.motivoCartaoNegado    = recusada.Motivo;
            }
            repSolicitacao.SaveChanges();
        }
Exemple #2
0
        /// <summary>
        /// Insere dados do cupom
        /// </summary>
        /// <param name="cupom"></param>
        /// <returns></returns>
        public long InserirSolicitacaoDocumento(List <SaidaPedido> listaSaidaPedido, List <SaidaPagamento> listaSaidaPagamento, DocumentoFiscal.TipoSolicitacao tipoSolicitacao, bool ehComplementar, bool ehEspelho)
        {
            using (TransactionScope transaction = new TransactionScope())
            {
                EhPossivelEnviarSolicitacao(listaSaidaPedido, tipoSolicitacao, ehComplementar);

                var repSolicitacaoDocumento = new RepositorioGenerico <tb_solicitacao_documento>();
                tb_solicitacao_documento _solicitacao_documentoE = new tb_solicitacao_documento();
                try
                {
                    _solicitacao_documentoE.dataSolicitacao    = DateTime.Now;
                    _solicitacao_documentoE.haPagamentoCartao  = listaSaidaPagamento.Where(sp => sp.CodFormaPagamento.Equals(FormaPagamento.CARTAO)).Count() > 0;
                    _solicitacao_documentoE.cartaoProcessado   = false;
                    _solicitacao_documentoE.cartaoAutorizado   = false;
                    _solicitacao_documentoE.ehComplementar     = ehComplementar;
                    _solicitacao_documentoE.ehEspelho          = ehEspelho;
                    _solicitacao_documentoE.motivoCartaoNegado = "";
                    _solicitacao_documentoE.tipoSolicitacao    = tipoSolicitacao.ToString();
                    repSolicitacaoDocumento.Inserir(_solicitacao_documentoE);

                    repSolicitacaoDocumento.SaveChanges();

                    var repSolicitacaoSaida = new RepositorioGenerico <tb_solicitacao_saida>();
                    foreach (SaidaPedido _saidaPedido in listaSaidaPedido)
                    {
                        tb_solicitacao_saida _solicitacao_saida = new tb_solicitacao_saida();
                        _solicitacao_saida.codSaida       = _saidaPedido.CodSaida;
                        _solicitacao_saida.codSolicitacao = _solicitacao_documentoE.codSolicitacao;
                        _solicitacao_saida.valorTotal     = _saidaPedido.TotalAVista;
                        repSolicitacaoSaida.Inserir(_solicitacao_saida);
                    }
                    repSolicitacaoSaida.SaveChanges();

                    var repSolicitacaoPagamento = new RepositorioGenerico <tb_solicitacao_pagamento>();
                    foreach (SaidaPagamento _solicitacaoPagamento in listaSaidaPagamento)
                    {
                        tb_solicitacao_pagamento pagamento = new tb_solicitacao_pagamento();
                        pagamento.codCartao            = _solicitacaoPagamento.CodCartaoCredito;
                        pagamento.codFormaPagamento    = _solicitacaoPagamento.CodFormaPagamento;
                        pagamento.parcelas             = _solicitacaoPagamento.Parcelas;
                        pagamento.valor                = _solicitacaoPagamento.Valor;
                        pagamento.codSolicitacao       = _solicitacao_documentoE.codSolicitacao;
                        pagamento.cupomCliente         = "";
                        pagamento.cupomEstabelecimento = "";
                        pagamento.cupomReduzido        = "";
                        repSolicitacaoPagamento.Inserir(pagamento);
                    }
                    repSolicitacaoPagamento.SaveChanges();
                    transaction.Complete();
                    return(_solicitacao_documentoE.codSolicitacao);
                }
                catch (Exception e)
                {
                    throw new DadosException("Cupom", e.Message, e);
                }
            }
        }