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); }
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); }
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); }