public async void LoadProductListItem() { if (ProductListItemsCollection != null) { ProductListItemsCollection.Clear(); } var query = (from product in Context.Products join category in Context.ProductCategories on product.ProductCategoryId equals category.ProductCategoryId join supplier in Context.ProductSuppliers on product.ProductSupplierId equals supplier.ProductSupplierId orderby product.ProductId select new { product.ProductId, product.ProductName, category.Category, supplier.Brand, product.CurrentStock, product.Price, product.Description, product.ImgUrl, }).ToList(); if (query != null) { foreach (var pro in query) { ProductListItemsCollection.Add(new ProductListItemModel { ProductId = pro.ProductId, ProductName = pro.ProductName, ProductCategory = pro.Category, Brand = pro.Brand, CurrentStock = pro.CurrentStock, Price = pro.Price ?? 0, Description = pro.Description, ImgUrl = pro.ImgUrl, }); } } await Task.Delay(TimeSpan.FromSeconds(0.5)); }
public void SearchProduct() { if (SearchText == "") { DI.UI.ShowMessage(new MessageBoxDialogViewModel { Title = "Message", Message = "Data kosong!, Masukan ID, nama, kategori, atau brand produk untuk proses pencarian" }); return; } try { var query = (from product in Context.Products join category in Context.ProductCategories on product.ProductCategoryId equals category.ProductCategoryId join supplier in Context.ProductSuppliers on product.ProductSupplierId equals supplier.ProductSupplierId where product.ProductId.Contains(SearchText.Trim()) || product.ProductName.Contains(SearchText.Trim()) || category.Category.Contains(SearchText.Trim()) || supplier.Brand.Contains(SearchText.Trim()) orderby product.ProductId select new { product.ProductId, product.ProductName, category.Category, supplier.Brand, product.CurrentStock, product.Price, product.Description, product.ImgUrl, }).ToList(); if (query != null) { if (query.Count < 1) { throw new Exception(); } else { ProductListItemsCollection.Clear(); foreach (var pro in query) { ProductListItemsCollection.Add(new ProductListItemModel { ProductId = pro.ProductId, ProductName = pro.ProductName, ProductCategory = pro.Category, Brand = pro.Brand, CurrentStock = pro.CurrentStock, Price = pro.Price ?? 0, Description = pro.Description, ImgUrl = pro.ImgUrl, }); } } } else { throw new Exception(); } } catch (Exception Ex) { DI.UI.ShowMessage(new MessageBoxDialogViewModel { Title = "Message", Message = $"Sistem tidak menemukan data '{SearchText}' di dalam database!" }); CoreDI.Logger.Log(Ex.Message); } }