public override IMovilwayApiResponse PerformUtibaOperation(IMovilwayApiRequest requestObject, UMarketSCClient utibaClientProxy, String sessionID)
        {
            GetProductListRequestBody  request  = requestObject as GetProductListRequestBody;
            GetProductListResponseBody response = null;

            logger.InfoLow("[UTI] " + base.LOG_PREFIX + "[GetProductListProvider] [SEND-DATA] getProductListRequest {sessionId=" + sessionID + ",device_type=" + request.DeviceType + ",agent_reference=" + request.Agent + "}");

            getProductListResponse utibaGetProductListResponse = utibaClientProxy.getProductList(new getProductList()
            {
                getProductListRequest = new getProductListRequestType()
                {
                    sessionid       = sessionID,
                    device_type     = request.DeviceType,
                    agent_reference = request.Agent
                }
            });

            StringBuilder sb = new StringBuilder("products={");

            foreach (var pair in utibaGetProductListResponse.getProductListReturn.products)
            {
                sb.Append("keyValuePair={key=" + pair.key + ",value=" + pair.value + "},");
            }
            sb.Remove(sb.Length - 1, 1);
            sb.Append("}");

            logger.InfoLow("[UTI] " + base.LOG_PREFIX + "[GetProductListProvider] [RECV-DATA] getProductListResponse {transid=" + utibaGetProductListResponse.getProductListReturn.transid +
                           ",result=" + utibaGetProductListResponse.getProductListReturn.result +
                           ",result_namespace=" + utibaGetProductListResponse.getProductListReturn.result_namespace +
                           "," + sb.ToString() + "}");

            if (utibaGetProductListResponse != null)
            {
                response = new GetProductListResponseBody()
                {
                    ResponseCode    = Utils.BuildResponseCode(utibaGetProductListResponse.getProductListReturn.result, utibaGetProductListResponse.getProductListReturn.result_namespace),
                    ResponseMessage = utibaGetProductListResponse.getProductListReturn.result_message,
                    TransactionID   = utibaGetProductListResponse.getProductListReturn.transid
                };
                if (utibaGetProductListResponse.getProductListReturn.products != null &&
                    utibaGetProductListResponse.getProductListReturn.products.Length > 0)
                {
                    response.ProductList = new ProductList();
                    foreach (KeyValuePair1 keyValuePair1 in utibaGetProductListResponse.getProductListReturn.products)
                    {
                        response.ProductList.Add(keyValuePair1.key, keyValuePair1.value);
                    }
                }
            }
            return(response);
        }
Example #2
0
        public override IMovilwayApiResponse PerformKinacuOperation(IMovilwayApiRequest requestObject, SaleInterface kinacuWS, String sessionID)
        {
            if (sessionID.Equals("0"))
            {
                return new GetProductListResponseBody()
                       {
                           ResponseCode    = 90,
                           ResponseMessage = "error session",
                           TransactionID   = 0,
                           ProductList     = new ProductList()
                       }
            }
            ;

            GetProductListRequestBody  request  = requestObject as GetProductListRequestBody;
            GetProductListResponseBody response = null;

            logger.InfoLow("[KIN] " + base.LOG_PREFIX + "[GetProductListProvider] [SEND-DATA] getProductsParameters {UserId=" + sessionID + "}");

            Product[] products = kinacuWS.GetProducts(int.Parse(sessionID));

            StringBuilder sb = new StringBuilder();

            foreach (Product product in products)
            {
                sb.Append("Product={Id=" + product.Id + ",ModuleId=" + product.ModuleId + ",Name=" + product.Name + ",ProviderId=" + product.ProviderId + "},");
            }
            if (sb.Length > 0)
            {
                sb.Remove(sb.Length - 1, 1);
            }

            logger.InfoLow("[KIN] " + base.LOG_PREFIX + "[GetProductListProvider] [RECV-DATA] getProductsResult {response={" + sb.ToString() + "}}");

            response = new GetProductListResponseBody()
            {
                ResponseCode    = (products == null ? 99 : 0),
                ResponseMessage = (products == null ? "error" : "exito"),
                TransactionID   = 0
            };
            if (products != null && products.Length > 0)
            {
                response.ProductList = new ProductList();
                foreach (Product product in products)
                {
                    response.ProductList.Add(product.Id.ToString(), product.Name);
                }
            }
            return(response);
        }
    }