public void TechnicalErro_OSB()
        {
            var requestData = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011007,
                CodigoProduto = "40"
            };
            var dao = DAOFactory.GetDAO<ConsultarDetalheProdutoNaoElegivelClienteDAO, ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            var response = dao.Execute(requestData);

            Assert.IsNotNull(response, "Response is null");
            Assert.AreEqual(response.Status, ExecutionStatus.TechnicalError, "Response.Status is not TechnicalError");
        }
        public void BusinessError_ProdutoInexistente()
        {
            var requestData = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 1006983721,
                CodigoProduto = "99"
            };
            var dao = DAOFactory.GetDAO<ConsultarDetalheProdutoNaoElegivelClienteDAO, ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            var response = dao.Execute(requestData);

            Assert.IsNotNull(response, "Response is null");
            Assert.AreEqual(response.Status, ExecutionStatus.BusinessError, "Response.Status is not BusinessError");
        }
        public void TechnicalErro_Timeout()
        {
            var requestData = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 99999999,
                CodigoProduto = "40"
            };
            var dao = DAOFactory.GetDAO<ConsultarDetalheProdutoNaoElegivelClienteDAO, ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            var response = dao.Execute(requestData);

            Assert.IsNotNull(response, "Response is null");
            Assert.AreEqual(response.Status, ExecutionStatus.TechnicalError, "Response.Status is not TechnicalError");
            Assert.AreEqual(response.ErrorCode, ErrorCodes.DAO_OSB_CALL_TIMEOUT_ERROR, "Response.ErrorCode is not DAO_OSB_CALL_TIMEOUT_ERROR");
        }
        public void Success_TaxaAVista()
        {
            var requestData = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011001,
                CodigoProduto = "40"
            };
            var dao = DAOFactory.GetDAO<ConsultarDetalheProdutoNaoElegivelClienteDAO, ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            var response = dao.Execute(requestData);

            Assert.IsNotNull(response, "Response is null");
            Assert.AreEqual(response.Status, ExecutionStatus.Success, "Response.Status is not Success");
            Assert.IsNotNull(response.Produto, "Response.Produto is null");
            Assert.AreEqual(response.Produto.TipoGrupoProduto, "1", "TipoGrupoProduto does not equal 1");
            Assert.IsNotNull(response.Produto.Taxas, "Response.Produto.Taxas is null");
            Assert.IsTrue(response.Produto.Taxas.Count > 0, "Response.Produto.Taxas is empty");
        }
        public void Success_TaxaDeParcelas()
        {
            var requestData = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 1012389950,
                CodigoProduto = "43"
            };
            var dao = DAOFactory.GetDAO<ConsultarDetalheProdutoNaoElegivelClienteDAO, ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            var response = dao.Execute(requestData);

            Assert.IsNotNull(response, "Response is null");
            Assert.AreEqual(response.Status, ExecutionStatus.Success, "Response.Status is not Success");
            Assert.IsNotNull(response.Produto, "Response.Produto is null");
            Assert.IsTrue(response.Produto.CodigoProduto == requestData.CodigoProduto, "Response.Produto.CodigoProduto is different from request");
            Assert.AreEqual(response.Produto.TipoGrupoProduto, "3", "TipoGrupoProduto does not equal 3");
            Assert.IsNotNull(response.Produto.Taxas, "Response.Produto.Taxas is null");
            Assert.IsTrue(response.Produto.Taxas.Count > 0, "Response.Produto.Taxas is empty");
        }
 public ConsultarDetalheProdutoNaoElegivelClienteResponse ConsultarDetalheProdutoNaoElegivelCliente(ConsultarDetalheProdutoNaoElegivelClienteRequest requestData)
 {
     var business = new ConsultarDetalheProdutoNaoElegivelClienteBL();
     var response = this.ExecuteBusiness(business, requestData);
     return response;
 }
        public void ConsultaDetalheProdutoNaoElegivel()
        {
            var mockSets = new List<MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>>();

            var request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011001,
                CodigoProduto = "66"
            };

            var response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "66";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";
            response.Produto.IndicadorVendaUltimoMes = false;
            response.Produto.NomeBandeira = "ELO";
            response.Produto.NomeProduto = "ALIMENTAÇÃO";
            response.Produto.NomeTipoLiquidacao = "ADQUIRÊNCIA";
            response.Produto.QuantidadeDiasPrazo = "30";
            response.Produto.QuantidadeParcelasAdministradora = string.Empty;
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_CREDITO;
            response.Produto.ValorItem = 2;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 2
            });

            var mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);



            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011001,
                CodigoProduto = "65"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "65";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";
            response.Produto.IndicadorVendaUltimoMes = true;
            response.Produto.NomeBandeira = "ELO";
            response.Produto.NomeProduto = "REFEIÇÃO";
            response.Produto.NomeTipoLiquidacao = "ADQUIRÊNCIA";
            response.Produto.QuantidadeDiasPrazo = "30";
            response.Produto.QuantidadeParcelasAdministradora = string.Empty;
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_CREDITO;
            response.Produto.ValorItem = 3;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 2
            });

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);

            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011001,
                CodigoProduto = "3"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "3";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";
            response.Produto.IndicadorVendaUltimoMes = false;
            response.Produto.NomeBandeira = "VISA";
            response.Produto.NomeProduto = "PARCELADO";
            response.Produto.NomeTipoLiquidacao = "ADQUIRÊNCIA";
            response.Produto.QuantidadeDiasPrazo = "45";
            response.Produto.QuantidadeParcelasAdministradora = "6";
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_PARCELADO;
            response.Produto.ValorItem = 4;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                QuantidadeParcelasLoja = "6",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 2,
            });

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);

            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011001,
                CodigoProduto = "5"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "5";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";
            response.Produto.IndicadorVendaUltimoMes = true;
            response.Produto.NomeBandeira = "MASTERCARD";
            response.Produto.NomeProduto = "CRÉDITO À VISTA";
            response.Produto.NomeTipoLiquidacao = "VAN";
            response.Produto.QuantidadeDiasPrazo = "45";
            response.Produto.QuantidadeParcelasAdministradora = "1";
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_CREDITO;
            response.Produto.ValorItem = 5;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                QuantidadeParcelasLoja = "1",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 2
            });

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);

            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011001,
                CodigoProduto = "6"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "6";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";
            response.Produto.IndicadorVendaUltimoMes = false;
            response.Produto.NomeBandeira = "HIPER";
            response.Produto.NomeProduto = "SEGMENTADO";
            response.Produto.NomeTipoLiquidacao = "MULTIVAN";
            response.Produto.QuantidadeDiasPrazo = "45";
            response.Produto.QuantidadeParcelasAdministradora = "12";
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_SEGMENTADO;
            response.Produto.ValorItem = 0;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                NumeroInicialParcelaFaixa = "1",
                NumeroFinalParcelaFaixa = "3",
                QuantidadeParcelasLoja = "12",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 1,
            });
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                NumeroInicialParcelaFaixa = "4",
                NumeroFinalParcelaFaixa = "6",
                QuantidadeParcelasLoja = "12",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 1,
            });
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                NumeroInicialParcelaFaixa = "7",
                NumeroFinalParcelaFaixa = "9",
                QuantidadeParcelasLoja = "12",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 1,
            });

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);


            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011020,
                CodigoProduto = "5"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.BusinessError;
            
            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);

            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011020,
                CodigoProduto = "6"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "6";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";
            response.Produto.IndicadorVendaUltimoMes = false;
            response.Produto.NomeBandeira = "HIPER";
            response.Produto.NomeProduto = "ERRO MULTIVAN";
            response.Produto.NomeTipoLiquidacao = "MULTIVAN";
            response.Produto.QuantidadeDiasPrazo = "45";
            response.Produto.QuantidadeParcelasAdministradora = "12";
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_SEGMENTADO;
            response.Produto.ValorItem = 0;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                NumeroInicialParcelaFaixa = "1",
                NumeroFinalParcelaFaixa = "3",
                QuantidadeParcelasLoja = "12",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 1,
            });
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                NumeroInicialParcelaFaixa = "4",
                NumeroFinalParcelaFaixa = "6",
                QuantidadeParcelasLoja = "12",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 1,
            });
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                NumeroInicialParcelaFaixa = "7",
                NumeroFinalParcelaFaixa = "9",
                QuantidadeParcelasLoja = "12",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 1,
            });

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);

            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011020,
                CodigoProduto = "1004"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "1004";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";
            response.Produto.IndicadorVendaUltimoMes = true;
            response.Produto.NomeBandeira = "MASTERCARD";
            response.Produto.NomeProduto = "CRÉDITO À VISTA";
            response.Produto.NomeTipoLiquidacao = "VAN";
            response.Produto.QuantidadeDiasPrazo = "45";
            response.Produto.QuantidadeParcelasAdministradora = "1";
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_CREDITO;
            response.Produto.ValorItem = 5;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                QuantidadeParcelasLoja = "1",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 2
            });

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);


            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011020,
                CodigoProduto = "1005"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "1005";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";
            response.Produto.IndicadorVendaUltimoMes = false;
            response.Produto.NomeBandeira = "HIPER";
            response.Produto.NomeProduto = "ERRO DEMANDA";
            response.Produto.NomeTipoLiquidacao = "MULTIVAN";
            response.Produto.QuantidadeDiasPrazo = "45";
            response.Produto.QuantidadeParcelasAdministradora = "12";
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_SEGMENTADO;
            response.Produto.ValorItem = 0;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                NumeroInicialParcelaFaixa = "1",
                NumeroFinalParcelaFaixa = "3",
                QuantidadeParcelasLoja = "12",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 1,
            });
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                NumeroInicialParcelaFaixa = "4",
                NumeroFinalParcelaFaixa = "6",
                QuantidadeParcelasLoja = "12",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 1,
            });
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                NumeroInicialParcelaFaixa = "7",
                NumeroFinalParcelaFaixa = "9",
                QuantidadeParcelasLoja = "12",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 1,
            });

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);


            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011020,
                CodigoProduto = "66"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "66";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";
            response.Produto.IndicadorVendaUltimoMes = false;
            response.Produto.NomeBandeira = "ELO";
            response.Produto.NomeProduto = "ERRO ALIMENTAÇÃO";
            response.Produto.NomeTipoLiquidacao = "ADQUIRÊNCIA";
            response.Produto.QuantidadeDiasPrazo = "30";
            response.Produto.QuantidadeParcelasAdministradora = string.Empty;
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_CREDITO;
            response.Produto.ValorItem = 2;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 2
            });

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);



            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011020,
                CodigoProduto = "65"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "65";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";
            response.Produto.IndicadorVendaUltimoMes = true;
            response.Produto.NomeBandeira = "ELO";
            response.Produto.NomeProduto = "ERRO REFEIÇÃO";
            response.Produto.NomeTipoLiquidacao = "ADQUIRÊNCIA";
            response.Produto.QuantidadeDiasPrazo = "30";
            response.Produto.QuantidadeParcelasAdministradora = string.Empty;
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_CREDITO;
            response.Produto.ValorItem = 3;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 2
            });

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);


            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011022,
                CodigoProduto = "5"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.TechnicalError;

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);

            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011022,
                CodigoProduto = "6"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "6";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";
            response.Produto.IndicadorVendaUltimoMes = false;
            response.Produto.NomeBandeira = "HIPER";
            response.Produto.NomeProduto = "ERRO MULTIVAN";
            response.Produto.NomeTipoLiquidacao = "MULTIVAN";
            response.Produto.QuantidadeDiasPrazo = "45";
            response.Produto.QuantidadeParcelasAdministradora = "12";
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_SEGMENTADO;
            response.Produto.ValorItem = 0;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                NumeroInicialParcelaFaixa = "1",
                NumeroFinalParcelaFaixa = "3",
                QuantidadeParcelasLoja = "12",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 1,
            });
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                NumeroInicialParcelaFaixa = "4",
                NumeroFinalParcelaFaixa = "6",
                QuantidadeParcelasLoja = "12",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 1,
            });
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                NumeroInicialParcelaFaixa = "7",
                NumeroFinalParcelaFaixa = "9",
                QuantidadeParcelasLoja = "12",
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 1,
            });

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);


            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011022,
                CodigoProduto = "66"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "66";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";
            response.Produto.IndicadorVendaUltimoMes = false;
            response.Produto.NomeBandeira = "ELO";
            response.Produto.NomeProduto = "ERRO ALIMENTAÇÃO";
            response.Produto.NomeTipoLiquidacao = "ADQUIRÊNCIA";
            response.Produto.QuantidadeDiasPrazo = "30";
            response.Produto.QuantidadeParcelasAdministradora = string.Empty;
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_CREDITO;
            response.Produto.ValorItem = 2;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 2
            });

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);



            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011022,
                CodigoProduto = "65"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "65";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";
            response.Produto.IndicadorVendaUltimoMes = true;
            response.Produto.NomeBandeira = "ELO";
            response.Produto.NomeProduto = "ERRO REFEIÇÃO";
            response.Produto.NomeTipoLiquidacao = "ADQUIRÊNCIA";
            response.Produto.QuantidadeDiasPrazo = "30";
            response.Produto.QuantidadeParcelasAdministradora = string.Empty;
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_CREDITO;
            response.Produto.ValorItem = 3;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 2
            });

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);


            this.WriteObject(@"..\..\Generated\MockConsultarDetalheProdutoNaoElegivelCliente.xml", mockSets);

            //PAT Alelo com Multivan

            mockSets = new List<MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>>();

            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011001,
                CodigoProduto = "66"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "66";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";

            response.Produto.IndicadorVendaUltimoMes = true;
            response.Produto.NomeBandeira = "ELO";
            response.Produto.NomeProduto = "ALIMENTAÇÃO";
            response.Produto.NomeTipoLiquidacao = "MULTIVAN";
            response.Produto.QuantidadeDiasPrazo = "30";
            response.Produto.QuantidadeParcelasAdministradora = "---";
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_CREDITO;
            response.Produto.ValorItem = 1;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 2,
            });

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);

            request = new ConsultarDetalheProdutoNaoElegivelClienteRequest()
            {
                CodigoCliente = 10011001,
                CodigoProduto = "65"
            };

            response = new ConsultarDetalheProdutoNaoElegivelClienteResponse();
            response.Status = Cielo.Sirius.Foundation.ExecutionStatus.Success;

            response.Produto = new ConsultarDetalheProdutoNaoElegivelClienteProdutoDTO();
            response.Produto.CodigoProduto = "65";
            response.Produto.DataHabilitacaoProdutoCliente = new DateTime(2014, 10, 20);
            response.Produto.IndicadorAceitaTransacaoDigitada = "NÃO";
            response.Produto.IndicadorVendaUltimoMes = true;
            response.Produto.NomeBandeira = "ELO";
            response.Produto.NomeProduto = "REFEIÇÃO";
            response.Produto.NomeTipoLiquidacao = "MULTIVAN";
            response.Produto.QuantidadeDiasPrazo = "30";
            response.Produto.QuantidadeParcelasAdministradora = "---";
            response.Produto.TipoGrupoProduto = Constants.TIPOGRUPOPRODUTO_CREDITO;
            response.Produto.ValorItem = 2;

            response.Produto.Taxas = new List<ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO>();
            response.Produto.Taxas.Add(new ConsultarDetalheProdutoNaoElegivelClienteTaxaDTO()
            {
                PercentualTaxaPadrao = 2,
                PercentualDesconto = 2
            });

            mockSet = new MockSet<ConsultarDetalheProdutoNaoElegivelClienteRequest, ConsultarDetalheProdutoNaoElegivelClienteResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);

            this.WriteObject(@"..\..\Generated\MockConsultarDetalheProdutoNaoElegivelClientePATAleloComMultivan.xml", mockSets);


        }
        private bool LoadEnabledProductDetails()
        {
            long clientIdNumber = new long();
            if (!long.TryParse(GetCrmContextValue(Constants.CONTEXTOCRM_CLIENTID), out clientIdNumber))
            {
                ErrorMessage = "Código do cliente inválido";
                ErrorId = Trace.CorrelationManager.ActivityId.ToString("D", CultureInfo.InvariantCulture);
                ViewState = ViewStates.LoadingError;
                _logger.LogError(ErrorMessage);
                return false;
            }

            _producsDetailsModel = new NonElegibleProductDetailsModel();

            ConsultarDetalheProdutoNaoElegivelClienteRequest requestNonElegibleProductDetails = new ConsultarDetalheProdutoNaoElegivelClienteRequest();
            requestNonElegibleProductDetails.CodigoProduto = _codigoProduto;
            requestNonElegibleProductDetails.CodigoCliente = clientIdNumber;
            _producsDetailsModel.Request = requestNonElegibleProductDetails;

            _producsDetailsModel.Execute();
            return true;
        }