コード例 #1
0
ファイル: Product.cs プロジェクト: galoch-s/OMShopMobile
        public static async Task <ContentAndHeads> GetProductsAsync(string url, int currentPage, int countItems)
        {
            url = WebRequestUtils.GetUrlPage(url, currentPage, countItems);
            ContentAndHeads contentAndHeads = await WebRequestUtils.GetJsonAndHeadsAsync(url, isCancelable : true, isCatalog : true);

            if (contentAndHeads.exceptionStatus == System.Net.WebExceptionStatus.RequestCanceled)
            {
                return(contentAndHeads);
            }

            string json = contentAndHeads.Content[0];

            contentAndHeads.productsList = new List <Product>();
            contentAndHeads.productsList.AddRange(JsonConvert.DeserializeObject <List <Product> >(json));

            return(contentAndHeads);
        }
コード例 #2
0
        public static async Task <ContentAndHeads <OrderPosition> > GetOrderPositionAsync(string url, int currentPage, int countItems)
        {
            url = WebRequestUtils.GetUrlPage(url, currentPage, countItems);
            ContentAndHeads contentAndHeads = await WebRequestUtils.GetJsonAndHeadsAsync(url, isCancelable : true, isCatalog : true);

            ContentAndHeads <OrderPosition> ContentList = new ContentAndHeads <OrderPosition> {
                countPage   = contentAndHeads.countPage,
                currentPage = contentAndHeads.currentPage,
            };

            if (contentAndHeads.exceptionStatus == System.Net.WebExceptionStatus.RequestCanceled)
            {
                return(ContentList);
            }

            string json = contentAndHeads.Content[0];

            contentAndHeads.productsList = new List <Product>();
            List <OrderPosition> orderPositionList = JsonConvert.DeserializeObject <List <OrderPosition> >(json);

            ContentList.ContentList = orderPositionList;

            return(ContentList);
        }
コード例 #3
0
ファイル: Product.cs プロジェクト: galoch-s/OMShopMobile
        public static async Task <ContentAndHeads> GetProductsByCategoryIDAsync(int[] catogoriesIDList, int currentPage, int countItems, FilterParam paramForCheck)
        {
            if (paramForCheck == null)
            {
                return(await Product.GetProductsByCategoryIDAsync(catogoriesIDList, currentPage, countItems));
            }
            string strCategoryID        = string.Join(",", catogoriesIDList);
            string formatAdvancedFilter = string.Format(AdvancedFiltersList.ProductToListCategoryIDAndSortToProductDescrioption);

            formatAdvancedFilter += "," + AdvancedFiltersList.ProductToListFilterProductsQuantity;
            formatAdvancedFilter += "," + string.Format(AdvancedFiltersList.ProductToListFilterCategories, strCategoryID);

            if (paramForCheck.Sizes != null)
            {
                string strSizes = string.Join(",", paramForCheck.Sizes);
                formatAdvancedFilter += "," + string.Format(AdvancedFiltersList.ProductToListFilterSizes, strSizes);
            }
            if (paramForCheck.PriceBegin != 0)
            {
                formatAdvancedFilter += "," + string.Format(AdvancedFiltersList.ProductToListFilterPriceBegin, paramForCheck.PriceBegin);
            }
            if (paramForCheck.PriceEnd != 0)
            {
                formatAdvancedFilter += "," + string.Format(AdvancedFiltersList.ProductToListFilterPriceEnd, paramForCheck.PriceEnd);
            }

            formatAdvancedFilter = "[" + formatAdvancedFilter + "]&distinct=1";


            string advancedSort = null;

            if (paramForCheck.paramForSort != null)
            {
                string desc = paramForCheck.paramForSort.IsDesc ? "desc" : "asc";
                if (paramForCheck.paramForSort.FieldSort == ProductsSort.products_name)
                {
                    advancedSort = string.Format(AdvancedSort.ProductToListCategoryIDAndSortToProductDescrioption,
                                                 paramForCheck.paramForSort.FieldSort, desc);
                }
                else
                {
                    advancedSort = string.Format(AdvancedSort.ProductToListCategoryIDAndSort, paramForCheck.paramForSort.FieldSort, desc);
                }
            }


            string expandList = ExpandList.ProductsAttributesFullInfo + "," + ExpandList.ProductsDescription + "," + ExpandList.ProductsSchedule + "," + ExpandList.ProductsExpress;
            string url        = WebRequestUtils.GetUrl(Constants.UrlProducts, expandList, formatAdvancedFilter, advancedSort);

            url = WebRequestUtils.GetUrlPage(url, currentPage, countItems);

            ContentAndHeads contentAndHeads = await WebRequestUtils.GetJsonAndHeadsAsync(url, isCancelable : true);

            if (contentAndHeads.requestStatus != System.Net.HttpStatusCode.OK)
            {
                throw new Exception();
            }

            if (contentAndHeads.Content == null)
            {
                return(contentAndHeads);
            }
            string json = contentAndHeads.Content[0];

            if (string.IsNullOrEmpty(json))
            {
                return(contentAndHeads);
            }

            contentAndHeads.productsList = new List <Product>();
            contentAndHeads.productsList.AddRange(JsonConvert.DeserializeObject <List <Product> > (json));

            return(contentAndHeads);
        }