private void CategoryChanged(int pageId)
 {
     SelectedHotCategory = HotCategories.FirstOrDefault(x => x.PageId == pageId);
     if (SelectedHotCategory?.ProductDetails == null || SelectedHotCategory?.ProductDetails.Count == 0)
     {
         LoadHotProducts(pageId);
     }
 }
        private void UpdateQuantities(ObservableCollection <SaleLineModel> saleLines)
        {
            foreach (var x in HotCategories)
            {
                foreach (var hx in x.ProductDetails)
                {
                    hx.Quantity = (int)saleLines.Where(y => y.Code == hx.StockCode).
                                  Sum(z => double.Parse(z.Quantity, CultureInfo.InvariantCulture));
                }
            }

            var selectedHotProduct = SelectedHotCategory?.PageId;

            if (selectedHotProduct.HasValue && selectedHotProduct.Value != 0)
            {
                SelectedHotCategory = HotCategories.FirstOrDefault(x => x.PageId == selectedHotProduct);
            }
        }
        private async void LoadHotProducts(int pageId)
        {
            try
            {
                var hotProducts = await _stockBussinessLogic.GetHotProducts(pageId);

                var productDetails = new ObservableCollection <ProductDataModel>();

                foreach (var product in hotProducts)
                {
                    var productDetail = new ProductDataModel
                    {
                        DefaultQuantity = Convert.ToInt32(product.DefaultQuantity, CultureInfo.InvariantCulture),
                        Description     = product.Description,
                        ImageSource     = new BitmapImage
                        {
                            UriSource = Helper.IsValidURI(product.Image) ? new Uri(product.Image) :
                                        null
                        },
                        StockCode = product.StockCode
                    };

                    productDetails.Add(productDetail);
                }

                HotCategories.FirstOrDefault(x => x.PageId == pageId).ProductDetails = productDetails;

                MessengerInstance.Send(new RequestForSyncHotProductsMessage());
            }
            finally
            {
                OperationsCompletedInLogin++;
                if (IsSwitchUserStarted)
                {
                    OperationsCompletedInSwitchUser++;
                }
            }
        }