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); }
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); } }