public async void SendReview() { //TEST INTERNET CONNECTTION var httpClient = new HttpClient(); try { var testInternet = await httpClient.GetStringAsync(ServerDatabase.localhost + "store/getstorebyid/test"); } catch (Exception ex) { await App.Current.MainPage.DisplayAlert("Error", "Action fail, check your internet connection and try again!", "OK"); return; } using (UserDialogs.Instance.Loading("Sending..")) { order.Review = Review; DataUpdater.ReceiveOder(order); //call api update orderbill await httpClient.PostAsJsonAsync(ServerDatabase.localhost + "orderbill/update", order); //reload list orders view (TabBarCustomer.GetInstance().Children.ElementAt(3).BindingContext as ListOrdersViewModel).LoadData(); await PopupNavigation.Instance.PopAllAsync(); } MessageService.Show("Received successfully", 0); //PUSH NOTI string datas = PushNotificationService.ConvertDataWrireReview(order); PushNotificationService.Push(NotiNumber.SendReview, datas, false); }
public async static void CancelOrderAction(string data) { OrderBill canceledOder = JsonConvert.DeserializeObject <OrderBill>(data); //fetch data products in server await ServerDatabase.FetchProductData(); //xóa orderbill DataUpdater.DeleteOrderBillByID(canceledOder.IDOrderBill); //update list order+số lượng product cho cửa hàng bị hủy order if (Infor.IDStore == canceledOder.IDStore) { (TabbarStoreManager.GetInstance().Children.ElementAt(1).BindingContext as ProductManagerViewModel).LoadData(true); (TabbarStoreManager.GetInstance().Children.ElementAt(2).BindingContext as OrderManagerViewModel).LoadData(); } if (Infor.IDUser == canceledOder.IDUser) { (TabBarCustomer.GetInstance().Children.ElementAt(3).BindingContext as ListOrdersViewModel).LoadData(); } //update số lượng product cho các user khác (gồm cả user là store bị hủy) var ShowStoreVM = ShowStoreView.GetInstance().BindingContext as ShowStoreViewModel; if (ShowStoreVM != null && ShowStoreVM.IDStore == canceledOder.IDStore) { ShowStoreVM.LoadData(true); } }
protected async override void OnAppearing() { AppDrawer.Destroy(); TabBarCustomer.Destroy(); TabbarStoreManager.Destroy(); UserSettingView.Destroy(); User user = dataProvider.GetUserByIDUser(Infor.IDUser); user.IsLogined = 0; Preferences.Set("IDLogin", ""); //OneSignal.Current.SendTag("IsLogined", "0"); //TEST INTERNET CONNECTTION var httpClient = new HttpClient(); try { var testInternet = await httpClient.GetStringAsync(ServerDatabase.localhost + "store/getstorebyid/test"); OneSignal.Current.SetExternalUserId(""); await httpClient.PostAsJsonAsync(ServerDatabase.localhost + "user/update", user); } catch (Exception ex) { } App.Current.MainPage = new NavigationPage(LoginView.GetInstance()); }
protected override bool OnBackButtonPressed() { int x = App.Current.MainPage.Navigation.NavigationStack.Count; if (x == 1) { if (appShell.CurrentItem == flyoutShopping) { var tabbar = TabBarCustomer.GetInstance(); tabbar.GoHome(); } else if (appShell.CurrentItem == flyoutStore) { var tabbar = TabbarStoreManager.GetInstance(); tabbar.GoHome(); } else { return(true); } } else { base.OnBackButtonPressed(); } return(true); }
public static void UpdateStoreAction(string data) { Store store = JsonConvert.DeserializeObject <Store>(data); DataUpdater.UpdateStore(store); //load lại list store view cho tất cả user (TabBarCustomer.GetInstance().Children.ElementAt(1).BindingContext as ListStoresViewModel).LoadData(); (TabbarStoreManager.GetInstance().Children.ElementAt(0).BindingContext as StoreDashBoardViewModel).LoadData(); }
public static void SendReviewAction(string data) { OrderBill order = JsonConvert.DeserializeObject <OrderBill>(data); DataUpdater.UpdateOrderBill(order); (TabBarCustomer.GetInstance().Children.ElementAt(3).BindingContext as ListOrdersViewModel).LoadData(); (TabbarStoreManager.GetInstance().Children.ElementAt(0).BindingContext as StoreDashBoardViewModel).LoadData(); (TabbarStoreManager.GetInstance().Children.ElementAt(3).BindingContext as ReviewManagerViewModel).LoadData(); }
public static void DeliverOrderAction(string data) { OrderBill order = JsonConvert.DeserializeObject <OrderBill>(data); DataUpdater.UpdateOrderBill(order); //Chỉ load lại màn hình list order cho user là người đặt order if (order.IDUser != Infor.IDUser) { return; } (TabBarCustomer.GetInstance().Children.ElementAt(3).BindingContext as ListOrdersViewModel).LoadData(); }
public void ChooseFruit() { TypeItem typeItem = new TypeItem { productType = dataProvider.GetTypeByID("1"), isChosen = false }; var Tabbar = TabBarCustomer.GetInstance(); var ListStoreVM = (TabBarCustomer.GetInstance().Children.ElementAt(1).BindingContext as ListStoresViewModel); ListStoreVM.ResetChooseType(); ListStoreVM.ChooseType(typeItem); Tabbar.CurrentPage = Tabbar.Children[1]; }
public async void ShowReviewPopup(OrderBillItem orderItem) { if (orderItem.Order.State == OrderState.Waiting) { await PopupNavigation.Instance.PopAsync(); (TabBarCustomer.GetInstance().Children.ElementAt(3).BindingContext as ListOrdersViewModel).DeleteOrder(orderItem.Order); return; } var ReviewPopup = new ReviewStorePopupView(); ReviewPopup.BindingContext = new ReviewStorePopupViewModel(orderItem.Order); await PopupNavigation.Instance.PushAsync(ReviewPopup); }
public static void AnswerFeedbackAction(string data) { OrderBill order = JsonConvert.DeserializeObject <OrderBill>(data); DataUpdater.UpdateOrderBill(order); //Update lại cho tất cả user: list feedback của cửa hàng đó nếu họ đang xem var ShowStoreVM = ShowStoreView.GetInstance().BindingContext as ShowStoreViewModel; if (ShowStoreVM != null && ShowStoreVM.IDStore == order.IDStore) { ShowStoreVM.LoadData(true); } //update lại list orders cho user là người mua của order được trả lời feedback (TabBarCustomer.GetInstance().Children.ElementAt(3).BindingContext as ListOrdersViewModel).LoadData(); }
public async void AddToCart() { List <Product> changedProducts = new List <Product>(); //clone +insert List <Product> cloneProducts = new List <Product>(); for (int i = 0; i < _saveProducts.Count; i++) { if (_saveProducts[i].Product.QuantityOrder > 0) { _saveProducts[i].Product.SetQuantityInventory(_saveProducts[i].Product.QuantityInventory - _saveProducts[i].Product.QuantityOrder); Product cloneProduct = new Product(_saveProducts[i].Product); _saveProducts[i].Product.SetQuantityOrder(0); changedProducts.Add(_saveProducts[i].Product); cloneProduct.IDSourceProduct = _saveProducts[i].Product.IDProduct; cloneProduct.IDCart = Infor.IDUser; cloneProduct.State = ProductState.InCart; cloneProducts.Add(cloneProduct); } } //genid for cloneproducts DateTime date = DateTime.Now; for (int i = 0; i < cloneProducts.Count; i++) { string id = "Product_"; id += date.ToString("HHmmss"); id += i.ToString(); cloneProducts[i].IDProduct = id; } //update data product DataUpdater.UpdateProduct(changedProducts); List <Product> ExistProducts = new List <Product>(); List <Product> NewProducts = new List <Product>(); foreach (Product product in cloneProducts) { if (dataProvider.CheckExistInMyCart(product)) { ExistProducts.Add(product); } else { NewProducts.Add(product); } } DataUpdater.UpdateExistProductIncart(ExistProducts); DataUpdater.InsertProduct(NewProducts); ExistProducts = dataProvider.GetExistProducInCarttByListProduct(ExistProducts); //call api update server database foreach (Product product in changedProducts) { var httpClient = new HttpClient(); await httpClient.PostAsJsonAsync(ServerDatabase.localhost + "product/update", product); } foreach (Product product in ExistProducts) { var httpClient = new HttpClient(); await httpClient.PostAsJsonAsync(ServerDatabase.localhost + "product/update", product); } //call api insert server database foreach (Product product in NewProducts) { var httpClient = new HttpClient(); await httpClient.PostAsJsonAsync(ServerDatabase.localhost + "product/insert", product); } //update UI CART var cartVM = TabBarCustomer.GetInstance().Children[2].BindingContext as CartViewModel; cartVM.LoadData(); //PUSH NOTI string datas = PushNotificationService.ConvertDataAddToCart(changedProducts); PushNotificationService.Push(NotiNumber.AddToCart, datas, true); }
public void GoHome() { var tabbar = TabBarCustomer.GetInstance(); tabbar.CurrentPage = tabbar.Children[0]; }
private AppDrawer() { InitializeComponent(); Shell.SetTabBarIsVisible(this, false); Shell.SetNavBarIsVisible(this, false); //Item CUSTOMER var shoppingTabs = new ShellContent() { Content = TabBarCustomer.GetInstance(), Title = "Shopping", Icon = "drawercart" }; tabShopping.Items.Add(shoppingTabs); flyoutShopping.Items.Add(tabShopping); appShell.Items.Add(flyoutShopping); //Item STORE var storeTabs = new ShellContent() { Content = TabbarStoreManager.GetInstance(), Title = "Your store", Icon = "drawerstore" }; tabStore.Items.Add(storeTabs); flyoutStore.Items.Add(tabStore); appShell.Items.Add(flyoutStore); //Item SETTING var settingTab = new ShellContent() { Content = UserSettingView.GetInstance(), Title = "Setting", Icon = "drawersetting" }; tabSetting.Items.Add(settingTab); flyoutUserSetting.Items.Add(tabSetting); appShell.Items.Add(flyoutUserSetting); //Item LOGOUT var logoutTab = new ShellContent() { Content = new LogoutView(), Title = "Logout", Icon = "flatlogout" }; tabLogout.Items.Add(logoutTab); flyoutLogout.Items.Add(tabLogout); appShell.Items.Add(flyoutLogout); //appShell.CurrentItem.PropertyChanged += CurrentItem_PropertyChanged; flyoutShopping.PropertyChanged += FlyoutShopping_PropertyChanged; flyoutStore.PropertyChanged += FlyoutStore_PropertyChanged; flyoutUserSetting.PropertyChanged += FlyoutUserSetting_PropertyChanged; DataProvider dataProvider = DataProvider.GetInstance(); User user = dataProvider.GetUserByIDUser(Infor.IDUser); this.BindingContext = user; }
public void GoCart() { var Tabbar = TabBarCustomer.GetInstance(); Tabbar.CurrentPage = Tabbar.Children[2]; }
public async void SendOrder() { //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) { var stack = App.Current.MainPage.Navigation.NavigationStack; var page = stack[stack.Count - 1]; await page.DisplayAlert("Error", "Action fail, check your internet connection and try again!", "OK"); return; } using (UserDialogs.Instance.Loading("wait..")) { var result = await httpClient.PostAsJsonAsync(ServerDatabase.localhost + "orderbill/insert", OrderItem.Order); var a = await result.Content.ReadAsStringAsync(); JObject rss = JObject.Parse(a); var resultAPI = rss["result"]; if (resultAPI.ToString() == "fail") { return; } foreach (Product product in OrderItem.AddedProducts) { product.State = ProductState.InBill; product.IDOrderBill = OrderItem.Order.IDOrderBill; await httpClient.PostAsJsonAsync(ServerDatabase.localhost + "product/update", product); } } //update orderbill trong data local DataUpdater.InsertOrderBill(OrderItem.Order); //update products trong bill ở data local DataUpdater.UpdateProduct(OrderItem.AddedProducts); //update UI CART var cartVM = TabBarCustomer.GetInstance().Children[2].BindingContext as CartViewModel; cartVM.LoadData(); //update UI Orders var ordersVM = TabBarCustomer.GetInstance().Children[3].BindingContext as ListOrdersViewModel; ordersVM.LoadData(); //PUSH NOTI string datas = PushNotificationService.ConvertDataInsertOrderBill(OrderItem.Order); PushNotificationService.Push(NotiNumber.MakeBillForStore, datas, false); PushNotificationService.Push(NotiNumber.MakeBillForOther, datas, true); hasSent = true; //await PopupNavigation.Instance.PushAsync(successPopup); await App.Current.MainPage.Navigation.PopAsync(); }
public void GoOrder() { var Tabbar = TabBarCustomer.GetInstance(); Tabbar.CurrentPage = Tabbar.Children[3]; }