예제 #1
0
 public void ExcluirVenda()
 {
     if (VendaSelecionada.Id != 0)
     {
         Context.Vendas.Remove(
             VendaSelecionada);
     }
     Vendas.Remove(VendaSelecionada);
 }
예제 #2
0
        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;
            }
        }