Ejemplo n.º 1
0
        public async void ReturnProduct(ProductItemCart productItem)
        {
            //TEST INTERNET CONNECTTION
            var    httpClient = new HttpClient();
            string x          = "";

            try
            {
                var testInternet = await httpClient.GetStringAsync(ServerDatabase.localhost + "store/getstorebyid/test");

                x = testInternet;
            }
            catch (Exception ex)
            {
                await App.Current.MainPage.DisplayAlert("Error", "Action fail, check your internet connection and try again!", "OK");

                return;
            }

            Product product        = productItem.Product;
            Product deletedProduct = dataProvider.GetProductInCartByIDSourceProduct(product.IDSourceProduct);

            DataUpdater.ReturnProductToSourceProduct(deletedProduct);


            Product changedProduct = dataProvider.GetProductByID(product.IDSourceProduct);

            using (UserDialogs.Instance.Loading("wait.."))
            {
                //Update lại product cho server database
                await httpClient.PostAsJsonAsync(ServerDatabase.localhost + "product/update", changedProduct);

                //xóa product bị hủy trong cart
                await httpClient.PostAsJsonAsync(ServerDatabase.localhost + "product/deleteproductbyid/" + deletedProduct.IDProduct, new { });


                //load lại data product cho store được trả về VÀ TRONG CART
                DataUpdater.DeletedProductInCart(deletedProduct);
                LoadData();
            }



            //PUSH NOTI
            List <Product> productForPushNoti = new List <Product>();

            productForPushNoti.Add(changedProduct);
            productForPushNoti.Add(deletedProduct);
            string datas = PushNotificationService.ConvertDataReturnProductCart(productForPushNoti);

            PushNotificationService.Push(NotiNumber.ReturnProductCart, datas, true);
        }
Ejemplo n.º 2
0
        public void LoadProducts()
        {
            if (StoreItems == null || StoreItems.Count == 0)
            {
                Products = new ObservableCollection <ProductItemCart>();
                return;
            }
            var                    dataProvider = DataProvider.GetInstance();
            List <Product>         products     = dataProvider.GetProductInCartByIDStore(StoreItems[currentStore].IDStore);
            List <ProductItemCart> items        = new List <ProductItemCart>();

            foreach (Product product in products)
            {
                bool isExisted = false;
                foreach (ProductItemCart itemCart in items)
                {
                    if (product.IDSourceProduct == itemCart.Product.IDSourceProduct)
                    {
                        isExisted = true;
                        itemCart.Product.QuantityOrder += product.QuantityOrder;
                        break;
                    }
                }
                if (isExisted == false)
                {
                    ProductItemCart item = new ProductItemCart
                    {
                        Product  = product,
                        isChosen = false
                    };
                    items.Add(item);
                }
            }

            Products = new ObservableCollection <ProductItemCart>(items);
        }