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); } }
public string MontarProcedimento(EstruturaTransacoesDetalhes venda) { try { List <int> eventos = venda.ListaIngressos.Select(c => c.EventoID).Distinct().ToList(); List <string> eventosNomes = venda.ListaIngressos.Select(c => c.Evento).Distinct().ToList(); EventoTaxaEntrega eventoTaxaEntrega = new EventoTaxaEntrega(); Entrega oEntrega = new Entrega(); EstruturaEntrega oEE = oEntrega.CarregarEstruturaPeloControleID(venda.EntregaControleID); List <string> detalhes = eventoTaxaEntrega.DetalhesEntregaPorEventos(eventos, oEE.ID); StringBuilder tabela = new StringBuilder(); tabela.Append(@"<table width='540' border='0'><tr><td style='font-size: 12px;'>"); if (detalhes.Count == 0) { tabela.Append("<b>Detalhe de Entrega:</b>" + oEE.ProcedimentoEntrega); } else if (detalhes.Count == eventosNomes.Count) { for (int i = 0; i < eventosNomes.Count; i++) { tabela.Append("<b>Evento: </b> " + eventosNomes[i]); string detalheEntrega = eventoTaxaEntrega.DetalheEntregaEvento(eventos[i], oEE.ID); tabela.Append("<br/><br/><b>Detalhe da entrega: </b> " + detalheEntrega + "<br/>"); } } else { if (detalhes.Count > 0) { tabela.Append("<br/><b>Detalhe da Entrega: </b> "); } foreach (string str in detalhes) { tabela.Append("<br/> " + str); } } tabela.Append(@"</td></tr></table>"); return(tabela.ToString()); } catch (Exception ex) { throw new Exception("Procedimento : " + ex.Message); } }
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); } }
public void EnviarConfirmacaoCompra(int clienteID, EstruturaTransacoesDetalhes venda, bool debugMail = false) { try { var email = BuscaEmailCliente(clienteID); if (!string.IsNullOrEmpty(email[0])) { string pedido = MontarDetalhes(venda); string entrega = MontarProcedimento(venda); ServicoEmail.EnviarVendaAprovada(email[1], email[0], venda.Senha, pedido, venda.Atendente, venda.DataVenda.ToString(), venda.Canal, venda.FormasPagamento(), entrega, venda.TaxaEntrega); } } catch (Exception ex) { throw new Exception("EnviarConfirmacaoCompra : " + ex.Message); } }
public void EnviarCancelamentoCompra(int clienteID, EstruturaTransacoesDetalhes venda) { try { string[] email = cliente.BuscaEmail(clienteID); if (!string.IsNullOrEmpty(email[0])) { string pedido = MontarDetalhes(venda); string entrega = MontarProcedimento(venda); ServicoEmailParalela.EnviarEmailCancelamento(email[1], email[0], venda.Senha, pedido, venda.Atendente, venda.DataVenda.ToString(), venda.Canal, venda.FormasPagamento(), entrega, venda.TaxaEntrega); } } catch (Exception ex) { throw new Exception("EnviarCancelamentoCompra : " + ex.Message); } }
public void EnviarCancelamentoFraude(int clienteID, EstruturaTransacoesDetalhes venda, bool debugMail = false) { try { var email = BuscaEmailCliente(clienteID); if (string.IsNullOrEmpty(email[0])) { return; } var pedido = MontarDetalhes(venda); var entrega = MontarProcedimento(venda); ServicoEmail.EnviarEmailCancelamentoFraude(email[1], email[0], venda.Senha, pedido, venda.Atendente, venda.DataVenda.ToString(CultureInfo.InvariantCulture), venda.Canal, venda.FormasPagamento(), entrega, venda.TaxaEntrega); } catch (Exception ex) { throw new Exception("EnviarCancelamentoCompra : " + ex.Message); } }
public void EnviarConfirmacaoCompraComIngresso_im(int clienteID, EstruturaTransacoesDetalhes venda, List <IngressoImpressao> listaIngressos, bool debugMail = false) { try { var email = BuscaEmailCliente(clienteID); if (!string.IsNullOrEmpty(email[0])) { string pedido = MontarDetalhes(venda); string entrega = MontarProcedimento(venda); string querystring = QueryString.Current .Add(QueryString.ID, venda.VendaBilheteriaID.ToString()) .Add(QueryString.LOGADO, "true") .Encrypt(ConfigurationManager.AppSettings["ChaveCriptografiaLogin"]).ToString(); ServicoEmail.EnviarVendaAprovada_eTicket_Anexo_im(email[1], email[0], venda.Senha, pedido, venda.Atendente, venda.DataVenda.ToString(), venda.Canal, venda.FormasPagamento(), entrega, venda.TaxaEntrega, ConfigurationManager.AppSettings["URLImpressao"] + querystring); } } catch (Exception ex) { throw new Exception("EnviarConfirmacaoCompraComIngresso_im : " + ex.Message); } }
public string MontarDetalhes(EstruturaTransacoesDetalhes venda) { try { StringBuilder tabela = new StringBuilder(); decimal soma = 0; soma = venda.TaxaEntregaValor; tabela.Append("<table width='540' border='0' style='font-size: 12px;'>"); bool replaceMesaFechada = false; int LugarAnterior = 0; decimal precoMesa = 0, ConvenienciaMesa = 0; foreach (var item in venda.ListaIngressos) { tabela.Append(@"<tr><td width='242' bgcolor='#EBECEE' style='padding-left: 5px;'>"); if (item.LugarID != LugarAnterior) { replaceMesaFechada = false; tabela.Replace("##PrecoMesa##", precoMesa.ToString("c")); tabela.Replace("##ConvenienciaMesa##", ConvenienciaMesa.ToString("c")); } if (item.TipoLugar == "M") { if (item.LugarID != LugarAnterior) { replaceMesaFechada = true; precoMesa = 0; ConvenienciaMesa = 0; LugarAnterior = item.LugarID; tabela.Append("<b>Local: </b>" + item.Local + "<br />"); tabela.Append("<b>Evento: </b>" + item.Evento + "<br />"); tabela.Append("<b>Setor: </b>" + item.Setor + "<br />"); string dateFormat = hasDateTime(item.Setor, new string[] { "HH:mm" }) ? "dd/MM/yy" : "dd/MM/yy HH:mm"; tabela.Append("<b>Data: </b>" + (item.Apresentacao != DateTime.MinValue ? item.Apresentacao.ToString(dateFormat) : "-") + "</p></td>"); tabela.Append("<td bgcolor='#EBECEE'>"); tabela.Append("<b>Ingresso: </b>" + item.Codigo + "<br />"); tabela.Append("<b>Tipo: </b>" + item.PrecoNome + "<br />"); tabela.Append("<b>Preço: </b>##PrecoMesa##<br />"); tabela.Append("<b>Taxa de Conveniência: </b>##ConvenienciaMesa##</td>"); precoMesa = item.Valor; ConvenienciaMesa = item.TaxaConveniencia; soma += item.Valor + item.TaxaConveniencia; } else { precoMesa += item.Valor; ConvenienciaMesa += item.TaxaConveniencia; soma += item.Valor + item.TaxaConveniencia; } } else { tabela.Append("<b>Local: </b>" + item.Local + "<br />"); tabela.Append("<b>Evento: </b>" + item.Evento + "<br />"); tabela.Append("<b>Setor: </b>" + item.Setor + "<br />"); string dateFormat = hasDateTime(item.Setor, new string[] { "HH:mm" }) ? "dd/MM/yy" : "dd/MM/yy HH:mm"; tabela.Append("<b>Data: </b>" + (item.Apresentacao != DateTime.MinValue ? item.Apresentacao.ToString(dateFormat) : "-") + "</td>"); tabela.Append("<td bgcolor='#EBECEE'>"); tabela.Append("<b>Ingresso: </b>" + item.Codigo + "<br />"); tabela.Append("<b>Tipo: </b>" + item.PrecoNome + "<br />"); tabela.Append("<b>Preço: </b>" + item.Valor.ToString("c") + "<br />"); tabela.Append("<b>Taxa de Conveniência: </b>" + item.TaxaConveniencia.ToString("c") + " </td>"); soma += item.Valor + item.TaxaConveniencia; } tabela.Append(@"</tr>"); } if (replaceMesaFechada) { replaceMesaFechada = false; tabela.Replace("##PrecoMesa##", precoMesa.ToString("c")); tabela.Replace("##ConvenienciaMesa##", ConvenienciaMesa.ToString("c")); } tabela.Append(@"</table>"); tabela.Append(@"<table width='540' border='0'>"); if (venda.TaxaEntregaID > 0) { tabela.Append("<tr ><td bgcolor='#D2D6D7' align='right'><b>" + venda.TaxaEntrega + ": </b>" + venda.TaxaEntregaValor.ToString("c") + "</td></tr>"); } tabela.Append("<tr ><td bgcolor='#D2D6D7' align='right'><b>" + soma.ToString("c") + "</td></tr>"); tabela.Append(@"</table>"); return(tabela.ToString()); } catch (Exception ex) { throw new Exception("Detalhes : " + ex.Message); } }
private void Aprovar(object objVenda) { var sw = new Stopwatch(); sw.Start(); if (!(objVenda is EstruturaVenda)) { LogUtil.Debug(string.Format("##HammerHead.Aprovar.ERRO## OBJ_VENDA: {0}", objVenda)); return; } EstruturaVenda venda = (EstruturaVenda)objVenda; try { LogUtil.Debug(string.Format("##HammerHead.Aprovar## VENDA: {0}", venda.ID)); var listaIngressos = new List <IngressoImpressao>(); var status = VendaBilheteria.StatusAntiFraude.Aprovado; oVendaBilheteria.Score.Valor = venda.Score; oVendaBilheteria.AtualizarStatusAntiFraude(venda.ID, status, venda.Score, venda.RetornoAccertify); LogUtil.Debug(string.Format("##HammerHead.Aprovar.AtualizarStatusAntiFraudeCalled## VENDA: {0}, TEMPO_DECORRIDO: {1} ms", venda.ID, sw.ElapsedMilliseconds)); EstruturaTransacoesDetalhes detalheVendas = oVendaBilheteria.AcompanhamentoIngressos(venda.ID); LogUtil.Debug(string.Format("##HammerHead.Aprovar.AcompanhamentoIngressosCalled## VENDA: {0}, TEMPO_DECORRIDO: {1} ms", venda.ID, sw.ElapsedMilliseconds)); LogUtil.Debug(string.Format("##HammerHead.Aprovar## VENDA: {0}, IMPRESSÃO_INTERNET: {1}", venda.ID, detalheVendas.PermitirImpressaoInternet)); if (detalheVendas.PermitirImpressaoInternet) { listaIngressos = ingressos.PesquisaVendaBilheteria(detalheVendas.VendaBilheteriaID); LogUtil.Debug(string.Format("##HammerHead.Aprovar.PesquisaVendaBilheteriaCalled## VENDA: {0}, TEMPO_DECORRIDO: {1} ms", venda.ID, sw.ElapsedMilliseconds)); } if (listaIngressos.Count > 0) { LogUtil.Debug(string.Format("##HammerHead.Aprovar.EnviarEmail## VENDA: {0}, MSG: {1}", venda.ID, "EnviarConfirmacaoCompraComIngresso")); if ( ConfigurationManager.AppSettings["CanaisImais"].ToString() .Contains(detalheVendas.CanalID.ToString())) { email.EnviarConfirmacaoCompraComIngresso_im(venda.Cliente.ID, detalheVendas, listaIngressos, ConfiguracaoHammerHead.Instancia.Configuracao.AmbienteDeTestes.Valor); } else { email.EnviarConfirmacaoCompraComIngresso(venda.Cliente.ID, detalheVendas, listaIngressos, ConfiguracaoHammerHead.Instancia.Configuracao.AmbienteDeTestes.Valor); } } else { LogUtil.Debug(string.Format("##HammerHead.Aprovar.EnviarEmail## VENDA: {0}, MSG: {1}", venda.ID, "EnviarConfirmacaoCompra")); if ( ConfigurationManager.AppSettings["CanaisImais"].ToString() .Contains(detalheVendas.CanalID.ToString())) { email.EnviarConfirmacaoCompra_im(venda.Cliente.ID, detalheVendas, ConfiguracaoHammerHead.Instancia.Configuracao.AmbienteDeTestes.Valor); } else { email.EnviarConfirmacaoCompra(venda.Cliente.ID, detalheVendas, ConfiguracaoHammerHead.Instancia.Configuracao.AmbienteDeTestes.Valor); } } LogUtil.Debug(string.Format("##HammerHead.Aprovar.EmailConfirmacaoEnviado## VENDA: {0}, TEMPO_DECORRIDO: {1} ms", venda.ID, sw.ElapsedMilliseconds)); } catch (Exception ex) { LogUtil.Error( string.Format("##HammerHead.Aprovar.EXCEPTION## VENDA: {0}, MSG: {1}", venda.ID, ex.Message), ex); throw new Exception("Erro ao Aprovar : " + ex.Message); } finally { sw.Stop(); LogUtil.Debug(string.Format("##HammerHead.Aprovar.FINISHED## VENDA: {0}, TEMPO_DECORRIDO: {1}", venda.ID, sw.ElapsedMilliseconds)); } }