Пример #1
0
        protected async override void OnAppearing()
        {
            base.OnAppearing();
            TablesPageModel.NavigateToDrinksPage += HandleNavigateToDrinksPage;
            TablesPageModel.NavigateToOrderPage  += HandleNavigateToOrderPage;
            if (WcfServicesProxy.Instance.ServiceCallConfig != WcfServicesProxy.ServiceCallConfigType.AllServiceCallsOff)
            {
                TableList.IsEnabled    = false;
                TableList.IsRefreshing = true;

                //Moved to app.xaml.cs
                //if (FirstTimeLoadMenu)
                //{
                //    await DataLoader.LoadToppingsFromFileOrServer();
                //    //var toppingsTask = DataBaseDictionaries.LoadToppingsFromServerAsync();
                //    //var menuTask = WcfServicesProxy.Instance.GetMenuAsync();
                //    //await Task.WhenAll(toppingsTask, menuTask);
                //    FirstTimeLoadMenu = false;
                //}

                var tablesServerTaskSuccess = await DataBaseDictionaries.LoadTableDataAsync();

                if (tablesServerTaskSuccess)
                {
                    TableList.IsRefreshing = false;
                    TableList.IsEnabled    = true;
                }

                //Don't know how to get an exception from the above await.....
                //if (exception != null)
                //{
                //    await DisplayAlert("Warning!", "Loading data from server encountered the exception: " + exception.InnerException.Message, "OK");
                //}
            }
        }
Пример #2
0
        public static void LoadToppingsFromFileOrServer()
        {
            string pizzaToppingsFileName = "WaiterClientPizzaToppings.json";
            string saladToppingsFileName = "WaiterClientSaladToppings.json";

            string writeFilePath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

            var pizzaTopPathWithFileName = Path.Combine(writeFilePath, pizzaToppingsFileName);
            var saladTopPathWithFileName = Path.Combine(writeFilePath, saladToppingsFileName);

            if (File.Exists(pizzaTopPathWithFileName))
            {
                DataBaseDictionaries.PizzaToppingsDictionary = JsonConvert.DeserializeObject <Dictionary <decimal, DBModifier> >(File.ReadAllText(pizzaTopPathWithFileName));
            }
            else
            {
                DataBaseDictionaries.LoadPizzaToppingsFromServer();
                File.WriteAllText(pizzaTopPathWithFileName, JsonConvert.SerializeObject(DataBaseDictionaries.PizzaToppingsDictionary));
            }

            if (File.Exists(saladTopPathWithFileName))
            {
                DataBaseDictionaries.SaladToppingsDictionary = JsonConvert.DeserializeObject <Dictionary <decimal, DBModifier> >(File.ReadAllText(saladTopPathWithFileName));
            }
            else
            {
                DataBaseDictionaries.LoadSaladToppingsFromServer();
                File.WriteAllText(saladTopPathWithFileName, JsonConvert.SerializeObject(DataBaseDictionaries.SaladToppingsDictionary));
            }
        }
Пример #3
0
 private async Task OnRefreshing(object sender, EventArgs e)
 {
     try
     {
         await Task.Run(() => DataBaseDictionaries.LoadTableDataAsync());
     }
     finally
     {
         ((ListView)sender).IsRefreshing = false;
     }
 }