Beispiel #1
0
        public List <SolicitacaoPagamento> ObterSolicitacaoPagamentoCartao()
        {
            var repSolicitacoes = new RepositorioGenerico <tb_solicitacao_documento>();
            var saceEntities    = (SaceEntities)repSolicitacoes.ObterContexto();
            var query           = from solicitacao in saceEntities.tb_solicitacao_documento
                                  where solicitacao.tipoSolicitacao.Equals("NFCE") && solicitacao.haPagamentoCartao == true &&
                                  solicitacao.cartaoProcessado == false
                                  orderby solicitacao.dataSolicitacao
                                  select solicitacao;
            List <tb_solicitacao_documento> listaSolicitacoes = query.ToList();
            List <SolicitacaoPagamento>     listaPagamentos   = new List <SolicitacaoPagamento>();

            if (listaSolicitacoes.Count > 0)
            {
                tb_solicitacao_documento solicitacao = listaSolicitacoes.First();
                foreach (tb_solicitacao_pagamento pagamento in solicitacao.tb_solicitacao_pagamento)
                {
                    listaPagamentos.Add(
                        new SolicitacaoPagamento()
                    {
                        CodSolicitacao          = pagamento.codSolicitacao,
                        CodSolicitacaoPagamento = (long)pagamento.codSolicitacaoPagamento,
                        CodCartaoCredito        = pagamento.codCartao,
                        NomeCartaoCredito       = pagamento.tb_cartao_credito.nome,
                        CodFormaPagamento       = pagamento.codFormaPagamento,
                        QtdDiasPagar            = (int)pagamento.tb_cartao_credito.diaBase,
                        Parcelas = (int)pagamento.parcelas,
                        Valor    = pagamento.valor
                    }
                        );
                }
            }
            return(listaPagamentos);
        }
Beispiel #2
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();
        }
Beispiel #3
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);
                }
            }
        }
Beispiel #4
0
        /// <summary>
        /// Atualiza dados do cupom
        /// </summary>
        /// <param name="cupom"></param>
        public void EnviarProximoECF()
        {
            try
            {
                var           repSolicitacao  = new RepositorioGenerico <tb_solicitacao_documento>();
                var           repSolicitacao2 = new RepositorioGenerico <tb_solicitacao_documento>();
                DirectoryInfo pastaECF        = new DirectoryInfo(Global.PASTA_COMUNICACAO_FRENTE_LOJA);
                if (pastaECF.Exists)
                {
                    FileInfo[] files = pastaECF.GetFiles("*.TXT", SearchOption.TopDirectoryOnly);
                    if (files.Length == 0)
                    {
                        var saceEntities = (SaceEntities)repSolicitacao.ObterContexto();
                        var query        = from solicitacao in saceEntities.tb_solicitacao_documento
                                           where solicitacao.tipoSolicitacao.Equals("ECF")
                                           orderby solicitacao.dataSolicitacao
                                           select solicitacao;
                        List <tb_solicitacao_documento> solicitacoes = query.ToList();
                        if (solicitacoes.Count() > 0)
                        {
                            tb_solicitacao_documento        solicitacaoE          = solicitacoes.FirstOrDefault();
                            List <tb_solicitacao_saida>     listaSolicitacaoSaida = solicitacaoE.tb_solicitacao_saida.ToList();
                            List <tb_solicitacao_pagamento> listaPagamentos       = solicitacaoE.tb_solicitacao_pagamento.ToList();

                            repSolicitacao2.Remover(s => s.codSolicitacao == solicitacaoE.codSolicitacao);
                            repSolicitacao2.SaveChanges();


                            //repSolicitacoesRemover.Remover(solicitacaoE);
                            //repSolicitacoes.SaveChanges();
                            GerarDocumentoECF(listaSolicitacaoSaida, listaPagamentos);
                            //RemoverSolicitacaoDocumento(listaSolicitacaoSaida.FirstOrDefault().codSaida);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw new DadosException("Cupom", e.Message, e);
            }
        }