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