public void BasicData()
        {
            var mockSets = new List<MockSet<GetEnabledProductRequestTypesRequest, GetEnabledProductRequestTypesResponse>>();

            var request = new GetEnabledProductRequestTypesRequest();
            request.ProductGroup = Constants.GRUPO_PRODUTO_ELEGIVEL_HABILITADO;

            var response = new GetEnabledProductRequestTypesResponse();
            response.Status = ExecutionStatus.Success;
            response.ProductRequestTypes = new List<GetEnabledProductRequestTypesDTO>();
            response.ProductRequestTypes.Add(new GetEnabledProductRequestTypesDTO() { IntegrationRequestCode = Constants.TIPO_SOLICITACAO_PRODUTO_ALTERACAODETAXA, Name = "Alteração de Taxa" });
            response.ProductRequestTypes.Add(new GetEnabledProductRequestTypesDTO() { IntegrationRequestCode = Constants.TIPO_SOLICITACAO_PRODUTO_SOLICITACAODENEGOCIACAODETAXA, Name = "Solicitação de Negociação de Taxa" });
            response.ProductRequestTypes.Add(new GetEnabledProductRequestTypesDTO() { IntegrationRequestCode = Constants.TIPO_SOLICITACAO_PRODUTO_HABILITARPRODUTO, Name = "Habilitar Produto" });
            response.ProductRequestTypes.Add(new GetEnabledProductRequestTypesDTO() { IntegrationRequestCode = Constants.TIPO_SOLICITACAO_PRODUTO_DESABILITARPRODUTO, Name = "Desabilitar Produto" });
            response.ProductRequestTypes.Add(new GetEnabledProductRequestTypesDTO() { IntegrationRequestCode = Constants.TIPO_SOLICITACAO_PRODUTO_HABILITARPRAZOFLEXIVEL, Name = "Habilitar Prazo Flexível" });
            response.ProductRequestTypes.Add(new GetEnabledProductRequestTypesDTO() { IntegrationRequestCode = Constants.TIPO_SOLICITACAO_PRODUTO_DESABILITARPRAZOFLEXIVEL, Name = "Desabilitar Prazo Flexível" });
            response.ProductRequestTypes.Add(new GetEnabledProductRequestTypesDTO() { IntegrationRequestCode = Constants.TIPO_SOLICITACAO_PRODUTO_ALTERARPRAZOFLEXIVEL, Name = "Alterar Prazo Flexível" });

            var mockSet = new MockSet<GetEnabledProductRequestTypesRequest, GetEnabledProductRequestTypesResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);

            request = new GetEnabledProductRequestTypesRequest();
            request.ProductGroup = Constants.GRUPO_PRODUTO_ELEGIVEL_NAOHABILITADO;

            response = new GetEnabledProductRequestTypesResponse();
            response.Status = ExecutionStatus.Success;
            response.ProductRequestTypes = new List<GetEnabledProductRequestTypesDTO>();
            response.ProductRequestTypes.Add(new GetEnabledProductRequestTypesDTO() { IntegrationRequestCode = Constants.TIPO_SOLICITACAO_PRODUTO_HABILITARPRODUTO, Name = "Habilitar Produto" });

            mockSet = new MockSet<GetEnabledProductRequestTypesRequest, GetEnabledProductRequestTypesResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);

            request = new GetEnabledProductRequestTypesRequest();
            request.ProductGroup = Constants.GRUPO_PRODUTO_NAOELEGIVEL;

            response = new GetEnabledProductRequestTypesResponse();
            response.Status = ExecutionStatus.Success;
            response.ProductRequestTypes = new List<GetEnabledProductRequestTypesDTO>();
            response.ProductRequestTypes.Add(new GetEnabledProductRequestTypesDTO() { IntegrationRequestCode = Constants.TIPO_SOLICITACAO_PRODUTO_HABILITARPRODUTO, Name = "Habilitar Produto" });

            mockSet = new MockSet<GetEnabledProductRequestTypesRequest, GetEnabledProductRequestTypesResponse>();
            mockSet.request = request;
            mockSet.response = response;

            mockSets.Add(mockSet);

            this.WriteObject(@"..\..\Generated\MockGetProductRequestTypes.xml", mockSets);
        }
            public void Sucesso()
            {
                var requestData = new GetEnabledProductRequestTypesRequest()
                {
                    ProductGroup = "Produtos Habilitados"
                };
                var dao = DAOFactory.GetDAO<GetEnabledProductRequestTypesDAO, GetEnabledProductRequestTypesRequest, GetEnabledProductRequestTypesResponse>();
                var response = dao.Execute(requestData);

                Assert.IsNotNull(response);
    
            }
 public GetEnabledProductRequestTypesResponse GetProductRequestTypesEnabled(GetEnabledProductRequestTypesRequest requestData)
 {
     var business = new GetProductRequestTypesEnabledBL();
     var response = this.ExecuteBusiness(business, requestData);
     return response;
 }
        private void LoadProdutRequestTypes()
        {
            var productRequestTypesRequest = new GetEnabledProductRequestTypesRequest();
            ConsultarProdutoHabilitadoClienteProdutoDTO detailedProduct = _clientProducts.Find(s => s.CodigoProduto == _codigoProduto);

            productRequestTypesRequest.ProductGroup = Constants.GRUPO_PRODUTO_ELEGIVEL_HABILITADO;
            productRequestTypesRequest.EnabledTypedSaleIndicator = detailedProduct.IndicadorVendaDigitadaHabilitada;
            productRequestTypesRequest.FlexibleMaturityRate = detailedProduct.PercentualTaxaGarantia; // Taxa Prazo Flexível

            long ecNumber = new long();
            if (!long.TryParse(GetCrmContextValue(Constants.CONTEXTOCRM_CLIENTID), out ecNumber))
            {
                ViewState = ViewStates.LoadingError;
                ErrorMessage = "Número de Estabelecimento Comercial inválido";
                _logger.LogError(ErrorMessage);
                return;
            }
            productRequestTypesRequest.ECNumber = ecNumber;

            var productRequestTypesModel = new EnabledProductRequestsTypesModel();
            productRequestTypesModel.Request = productRequestTypesRequest;

            var executionState = productRequestTypesModel.Execute();

            if (executionState == ExecutionStatus.Success || executionState == ExecutionStatus.Warning)
            {
                ViewState = ViewStates.Default;
                var requestsTypeList = new List<RequestType>();
                if (productRequestTypesModel.Response != null
                    && productRequestTypesModel.Response.ProductRequestTypes != null)
                {
                    foreach (var type in productRequestTypesModel.Response.ProductRequestTypes)
                    {
                        requestsTypeList.Add(new RequestType()
                        {
                            Id = type.Id,
                            Description = type.Name,
                            IntegrationRequestCode = type.IntegrationRequestCode
                        });
                    }

                    _meiIndicator = productRequestTypesModel.Response.MEIIndicator;
                    _branchOfActivityCode = productRequestTypesModel.Response.BranchOfActivityCode;
                }

                RequestsTypeList = requestsTypeList;
            }
            else if (executionState == ExecutionStatus.BusinessError && productRequestTypesModel.Response != null)
            {
                ViewState = ViewStates.LoadingError;
                ErrorMessage = productRequestTypesModel.Response.ErrorMessage;
                ErrorId = productRequestTypesModel.Response.CorrelationId.ToString();
                _logger.LogError(ErrorMessage);
            }
            else
            {
                ViewState = ViewStates.LoadingError;
                ErrorMessage = "TechnicalError occurred while executing: 'EnabledProductRequestsTypesModel'";
                ErrorId = Trace.CorrelationManager.ActivityId.ToString("D", CultureInfo.InvariantCulture);
                _logger.LogError(ErrorMessage);
            }
        }