コード例 #1
0
        private async void ButtonTable_OnClick(object?sender, RoutedEventArgs e)
        {
            DataContext = this;
            DisableProgressBar();
            EnableProgressBar();

            var settingsClass = GetSetting();

            AsicStats asicStats = new AsicStats(settingsClass);


            try
            {
                Result res      = Result.NoError;
                int    progress = 0;
                bool   update   = true;
                new Thread(() =>
                {
                    do
                    {
                        Thread.Sleep(100);
                        ProgressBar = progress;
                    } while (update == true);
                }).Start();

                await Task.Run(() =>
                {
                    res = asicStats.CreateDataBaseTable(ref progress);
                });

                update = false;



                if (res == Result.ErrorExist)
                {
                    ShowError("Table Exist");
                }
            }
            catch (Exception exception)
            {
                ShowError("DataBase Error");
            }



            Settings.Save(settingsClass);
        }
コード例 #2
0
        async void GetStats(bool autoUpdate)
        {
            ProgressBar = 0;
            DatabaseProgressBar.IsVisible = false;

            BindingContext = this;
            _errors        = false;



            SettingsData            settings    = new SettingsData();
            AsicStandardStatsObject statsObject = new AsicStandardStatsObject();



            await Task.Run(() =>
                           { settings = Settings.Get(ProfileManagement.GlobalSelectedProfile, XamarinPatch).Result; });



            AsicStats asicStats = new AsicStats(settings);

            if (settings.DataBase == true)
            {
                try
                {
                    BlockButtons("Getting from DataBase");
                    await Task.Run(() =>
                                   { statsObject = asicStats.GetDataBase(); });
                }
                catch (Exception exception)
                {
                    ShowMessage("DataBase Error");
                    _errors = true;
                }
            }
            else
            {
                try
                {
                    BlockButtons("Getting from Localhost");

                    await Task.Run(() =>
                                   { statsObject = asicStats.GetLocalhost(); });
                }
                catch (Exception exception)
                {
                    ShowMessage("Localhost Error");
                    _errors = true;
                }



                if (settings.Server == true & _errors == false)
                {
                    BlockButtons("Update Database");

                    DatabaseProgressBar.IsVisible = true;
                    Result res      = Result.ErrorExist;
                    int    progress = 0;
                    bool   update   = true;
                    new Thread(() =>
                    {
                        do
                        {
                            Thread.Sleep(500);
                            ProgressBar = Convert.ToDouble(progress) / 100;
                        } while (update == true);
                    }).Start();

                    await Task.Run(() => { res = asicStats.SetDataBase(statsObject, ref progress); });

                    if (res == Result.ErrorExist)
                    {
                        ShowMessage("DataBase Error");
                        _errors = true;
                    }
                    DatabaseProgressBar.IsVisible = false;



                    update = false;
                }
            }



            if (autoUpdate == false | ButtonStats.Text == "GET")
            {
                UnlockButtons(_errors, "AntStats Xamarin");
            }
            else
            {
                ProgressLabel.Text = default;
            }



            if (_errors == false)
            {
                SetAsicColumnTable(statsObject);
            }
        }