private void AtualizarFormaPagamento(BD bd, EstruturaVenda venda) { oVendaBilheteriaFormaPagamento.Ler(venda.FormaPagamento.VendaBilheteriaFormaPagamentoID); if (oProcessamento.oPagamento.TipoPagamento == ClientObjects.EstruturaPagamento.enumTipoPagamento.Adyen) { oVendaBilheteriaFormaPagamento.CodigoRespostaVenda.Valor = oProcessamento.oPagamento.oAdyen.CodigoReferencia; oVendaBilheteriaFormaPagamento.NumeroAutorizacao.Valor = oProcessamento.oPagamento.oAdyen.CodigoAutenticacao ?? oVendaBilheteriaFormaPagamento.NumeroAutorizacao.Valor; oVendaBilheteriaFormaPagamento.Cupom.Valor = IRLib.AdyenStatic.Fields.NotaFiscal; } else { oVendaBilheteriaFormaPagamento.VendaBilheteriaFormaPagamentoTEFID.Valor = oProcessamento.oPagamento.oSitef.ID; oVendaBilheteriaFormaPagamento.CodigoRespostaVenda.Valor = oProcessamento.oPagamento.oSitef.CodigoRespostaSitefVenda; oVendaBilheteriaFormaPagamento.MensagemRetorno.Valor = oProcessamento.oPagamento.oSitef.MensagemFinaliza; oVendaBilheteriaFormaPagamento.HoraTransacao.Valor = oProcessamento.oPagamento.oSitef.HoraTransacao; oVendaBilheteriaFormaPagamento.DataTransacao.Valor = oProcessamento.oPagamento.oSitef.DataTransacao; oVendaBilheteriaFormaPagamento.CodigoIR.Valor = oProcessamento.oPagamento.oSitef.CodigoIR; oVendaBilheteriaFormaPagamento.NumeroAutorizacao.Valor = oProcessamento.oPagamento.oSitef.NumeroAutorizacao; oVendaBilheteriaFormaPagamento.NSUHost.Valor = oProcessamento.oPagamento.oSitef.NSUHost; oVendaBilheteriaFormaPagamento.NSUSitef.Valor = oProcessamento.oPagamento.oSitef.NSUSitef; oVendaBilheteriaFormaPagamento.Cupom.Valor = oProcessamento.oPagamento.oSitef.CupomFiscal; oVendaBilheteriaFormaPagamento.DadosConfirmacaoVenda.Valor = oProcessamento.oPagamento.oSitef.DadosConfirmacao; oVendaBilheteriaFormaPagamento.Rede.Valor = oProcessamento.oPagamento.oSitef.RedeRetorno; oVendaBilheteriaFormaPagamento.CodigoRespostaTransacao.Valor = oProcessamento.oPagamento.oSitef.CodigoRespostaSitefFinaliza; if (ConfiguracaoHammerHead.Instancia.Configuracao.SalvarLog.Valor) { SalvarLog.Salvar("VendaBilheteriaFormaPagamento Atualizada\n NotaFiscal: " + oProcessamento.oPagamento.oSitef.CupomFiscal, Enumeradores.TipoEntrada.Sucesso, SalvarLog.Events.Transacoes); } } oVendaBilheteriaFormaPagamento.Atualizar(bd); }
private void SolicitarDocumentos(object objVenda) { if (!(objVenda is EstruturaVenda)) { return; } EstruturaVenda venda = (EstruturaVenda)objVenda; try { oVendaBilheteria.Score.Valor = venda.Score; oVendaBilheteria.AtualizarStatusAntiFraude(venda.ID, VendaBilheteria.StatusAntiFraude.EmAnalise, venda.Score, venda.RetornoAccertify); EstruturaTransacoesDetalhes detalheVendas = oVendaBilheteria.AcompanhamentoIngressos(venda.ID); if (ConfigurationManager.AppSettings["CanaisImais"].ToString().Contains(detalheVendas.CanalID.ToString())) { email.EnviarSolicitacaoDocumentos_im(venda.Cliente.ID, detalheVendas); } else { email.EnviarSolicitacaoDocumentos(venda.Cliente.ID, detalheVendas); } } catch (Exception ex) { throw new Exception("Solicitar Documentos : " + ex.Message); } }
private void AtualizarVendaBilheteria(BD bd, EstruturaVenda venda) { try { string nota = string.Empty; if (oProcessamento.oPagamento.TipoPagamento == ClientObjects.EstruturaPagamento.enumTipoPagamento.Adyen) { nota = IRLib.AdyenStatic.Fields.NotaFiscal; } else { nota = oProcessamento.oPagamento.oSitef.CupomFiscal; } oVendaBilheteria.AtualizarPagamentoProcessado(bd, venda.ID, nota); if (ConfiguracaoHammerHead.Instancia.Configuracao.SalvarLog.Valor) { SalvarLog.Salvar("Pagamento e Nota fiscal Atualizados.", Enumeradores.TipoEntrada.Informacao, SalvarLog.Events.Transacoes); } } catch (Exception ex) { if (ConfiguracaoHammerHead.Instancia.Configuracao.SalvarLog.Valor) { SalvarLog.SalvarErro("Não foi possível atualizar o Pagamento e Nota Fiscal.", ex.Message, SalvarLog.Events.Transacoes); } throw ex; } }
public void EnviarSMS(HammerHead.EstruturaVenda venda) { if (!APIHuman.Ativo) { return; } try { if (string.IsNullOrEmpty(venda.NumeroCelular)) { return; } EstruturaEnvioSMS sms = new EstruturaEnvioSMS() { Senha = venda.Senha, DataVenda = venda.DataVenda.ToShortDateString(), Email = venda.Cliente.Email, Nome = venda.Cliente.Nome, Numero = venda.NumeroCelular, ValorTotal = venda.ValorTotal, }; this.EnviarSms(true, sms); } catch (Exception ex) { throw new Exception("Erro: " + ex.Message); } }
public Enumeradores.RetornoProcessamento ProcessarVenda(EstruturaVenda venda) { this.Venda = venda; this.MontarPagamento(); venda.RetornoAccertify = this.RetornoAccertify; return(this.Processar()); }
private void Aprovar(object objVenda) { if (!(objVenda is EstruturaVenda)) { return; } EstruturaVenda venda = (EstruturaVenda)objVenda; try { List <IngressoImpressao> listaIngressos = new List <IngressoImpressao>(); var status = VendaBilheteria.StatusAntiFraude.Aprovado; oVendaBilheteria.Score.Valor = venda.Score; oVendaBilheteria.AtualizarStatusAntiFraude(venda.ID, status, venda.Score, venda.RetornoAccertify); EstruturaTransacoesDetalhes detalheVendas = oVendaBilheteria.AcompanhamentoIngressos(venda.ID); if (detalheVendas.PermitirImpressaoInternet) { listaIngressos = ingressos.PesquisaVendaBilheteria(detalheVendas.VendaBilheteriaID); } if (listaIngressos.Count > 0) { if (ConfigurationManager.AppSettings["CanaisImais"].ToString().Contains(detalheVendas.CanalID.ToString())) { email.EnviarConfirmacaoCompraComIngresso_im(venda.Cliente.ID, detalheVendas, listaIngressos); } else { email.EnviarConfirmacaoCompraComIngresso(venda.Cliente.ID, detalheVendas, listaIngressos); } } else { if (ConfigurationManager.AppSettings["CanaisImais"].ToString().Contains(detalheVendas.CanalID.ToString())) { email.EnviarConfirmacaoCompra_im(venda.Cliente.ID, detalheVendas); } else { email.EnviarConfirmacaoCompra(venda.Cliente.ID, detalheVendas); } } } catch (Exception ex) { throw new Exception("Aprovar : " + ex.Message); } }
private void Analisar(object objVenda) { if (!(objVenda is EstruturaVenda)) { return; } EstruturaVenda venda = (EstruturaVenda)objVenda; try { oVendaBilheteria.Score.Valor = venda.Score; oVendaBilheteria.AtualizarStatusAntiFraude(venda.ID, VendaBilheteria.StatusAntiFraude.EmAnalise, venda.Score, venda.RetornoAccertify); } catch (Exception ex) { throw new Exception("Analisar : " + ex.Message); } }
private void CancelarSemFraude(object objVenda) { if (!(objVenda is EstruturaVenda)) { return; } EstruturaVenda venda = (EstruturaVenda)objVenda; try { oVendaBilheteria.Score.Valor = venda.Score; oVendaBilheteria.AtualizarStatusAntiFraude(venda.ID, VendaBilheteria.StatusAntiFraude.Cancelado, venda.Score, venda.RetornoAccertify); } catch (Exception ex) { SalvarLog.SalvarErro("Erro ao cancelar a Venda: " + venda.ID, ex.Message, SalvarLog.Events.Transacoes); } }
private void AtualizarVenda(EstruturaVenda venda) { BD bd = new BD(); try { bd.IniciarTransacao(); this.AtualizarVendaBilheteria(bd, venda); this.AtualizarFormaPagamento(bd, venda); bd.FinalizarTransacao(); } catch (Exception ex) { bd.DesfazerTransacao(); SalvarLog.SalvarErro("Falha ao atualizar a venda", ex.Message, SalvarLog.Events.Transacoes); } finally { bd.Fechar(); } }
private void AtualizarScore(object objVenda) { if (!(objVenda is EstruturaVenda)) { return; } EstruturaVenda venda = (EstruturaVenda)objVenda; BD bd = new BD(); try { oVendaBilheteria.AtualizarScore(bd, venda.ID, venda.Score, venda.RetornoAccertify.ToString()); } catch (Exception ex) { throw ex; } finally { bd.Fechar(); } }
private void EfetuarPagamentos() { try { if (Vendas.Count == 0) { return; // A fila está vazia } while (Vendas.Count > 0) { EstruturaVenda venda = Vendas[0]; try { Enumeradores.RetornoProcessamento retorno = oProcessamento.ProcessarVenda(venda); switch (retorno) { case Enumeradores.RetornoProcessamento.Processado: this.Aprovar(venda); break; case Enumeradores.RetornoProcessamento.CancelarAccertify: this.Fraude(venda); break; case Enumeradores.RetornoProcessamento.AguardarAccertify: case Enumeradores.RetornoProcessamento.Timeout: this.Analisar(venda); break; case Enumeradores.RetornoProcessamento.SolicitarDocumentos: this.SolicitarDocumentos(venda); break; case Enumeradores.RetornoProcessamento.CancelarSemFraude: this.CancelarSemFraude(venda); break; default: this.AtualizarScore(venda); break; } if (ConfiguracaoHammerHead.Instancia.Configuracao.SalvarLog.Valor) { SalvarLog.Salvar(string.Format("Venda processada HammerHead. \n Venda: {0} \nScore:{1}\nRecommendation: {2}", venda.Senha, venda.Score.ToString(), venda.RetornoAccertify.ToString()), Enumeradores.TipoEntrada.Sucesso); } } catch (Exception ex) { SalvarLog.SalvarErro("Falha ao processar transação: " + venda.Senha, ex.Message, this.salvarlogevent); } finally { Vendas.Remove(venda); } } } catch (Exception ex) { throw ex; } }