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(); }
/// <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); } } }