ProductInCategoryTemplate CreateProduct(Product product, bool isInExistence) { ProductInCategoryTemplate productItem = new ProductInCategoryTemplate(); productItem.ShowProduct(product, isInExistence); productItem.EventClick += ClickProduct; return(productItem); //#if __ANDROID__ // var activityManager = Android.App.Application.Context.GetSystemService(Android.App.Activity.ActivityService) as Android.App.ActivityManager; // Android.App.ActivityManager.MemoryInfo memoryInfo = new Android.App.ActivityManager.MemoryInfo(); // activityManager.GetMemoryInfo(memoryInfo); // double TotalUsed = memoryInfo.AvailMem / (1024 * 1024); // double TotalRam = memoryInfo.TotalMem / (1024 * 1024); // bool lowMemory = memoryInfo.LowMemory; // Console.WriteLine("LowMemory = " + lowMemory + " TotalUsed = " + TotalUsed.ToString("f2") + "/" + TotalRam.ToString("f2")); // //Java.Lang.Runtime.GetRuntime().MaxMemory //#endif //#if __IOS__ // double totalRam = Foundation.NSProcessInfo.ProcessInfo.PhysicalMemory / (1024 * 1024); // Console.WriteLine("Memory = " + totalRam.ToString("f2")); //#endif //return productItem; }
public void ShowGrid(Grid grid, List <Product> productsList, bool IsOrientationPortrait, int countColumn) { bool isInExistence; if (productsList == null || productsList.Count == 0) { IsCompleteShowGrid = true; return; } int i = 0; indicator.IsVisible = false; layoutProductGrid.IsVisible = true; Task.Run(() => { foreach (Product product in productsList) { if (CancelTSProduct.IsCancellationRequested) { CancelTSProduct = new CancellationTokenSource(); return; } if (product.productsAttributes.Count > 0) { isInExistence = false; for (int j = 0; j < product.productsAttributes.Count; j++) { if (product.productsAttributes[j].Quantity > 0) { isInExistence = true; } } } else { isInExistence = true; } if (!isInExistence || product.productsDescription == null) { continue; } ProductInCategoryTemplate productItem = null; if (i <= grid.Children.Count - 1) { productItem = grid.Children[i] as ProductInCategoryTemplate; productItem.ShowProduct(product, isInExistence); } else { productItem = new ProductInCategoryTemplate(); productItem.EventClick += ClickProduct; grid.Children.Add(productItem); productItem.ShowProduct(product, isInExistence); AddProduct(productItem, i, countColumn, grid); } i++; } IsCompleteShowGrid = true; }); }
public void ShowGrid(Grid grid, List <Product> productsList, bool IsOrientationPortrait, int countColumn) { bool isGridChildrenZero = grid.Children.Count == 0; bool isInExistence; if (productsList == null || productsList.Count == 0) { IsCompleteShowGrid = true; return; } int i = 0; Task.Run(() => { foreach (Product product in productsList) { if (CancelTSProduct.IsCancellationRequested) { CancelTSProduct = new CancellationTokenSource(); IsCompleteShowGrid = true; return; } if (product.productsAttributes.Count > 0) { isInExistence = false; for (int j = 0; j < product.productsAttributes.Count; j++) { if (product.productsAttributes[j].Quantity > 0) { isInExistence = true; } } } else { isInExistence = true; } if (!isInExistence || product.productsDescription == null) { continue; } ProductInCategoryTemplate productItem = null; if (i <= grid.Children.Count - 1) { productItem = grid.Children[i] as ProductInCategoryTemplate; //.Take(); Device.BeginInvokeOnMainThread(() => { productItem.IsVisible = true; productItem.ShowProduct(product, isInExistence); }); if (isGridChildrenZero) { AddProduct(productItem, i, countColumn, grid); } } else { //productItem = new ProductInCategoryTemplate(); //productItem.EventClick += ClickProduct; ////OnePage.mainPage.productItemsList.Add(productItem); //productItem.ShowProduct(product, isInExistence); //AddProduct(productItem, i, countColumn, grid); } i++; } IsCompleteShowGrid = true; Device.BeginInvokeOnMainThread(() => { grid.HeightRequest = Math.Ceiling((double)productsList.Count / 2) * (210 + 10); //if (CancelTSProduct.IsCancellationRequested) { // CancelTSProduct = new CancellationTokenSource(); // indicator.IsVisible = false; // layoutProductGrid.IsVisible = false; //} if (contentAndHeads1 != null && contentAndHeads1.countPage > 1) { SetPagination(paginationBegin, contentAndHeads1); SetPagination(paginationEnd, contentAndHeads1); } else { paginationBegin.IsVisible = false; paginationEnd.IsVisible = false; } indicator.IsVisible = false; layoutProductGrid.IsVisible = true; }); }); }