예제 #1
0
 public async Task EditSoftware(Software oldSoftware, Software newSoftware)
 {
     SoftwareList[SoftwareList.IndexOf(oldSoftware)] = newSoftware;
     await SaveSoftwares();
 }
예제 #2
0
        private async void Save_Click(object sender, RoutedEventArgs e)
        {
            SetSaveEnabled(false);
            SaveProgress.IsActive = true;
            SaveError.Text        = "";

            SetLatestEnabled(false);
            SetInstallEnabled(false);
            SoftwareName.IsEnabled = false;

            bool success = false;

            try
            {
                if (SoftwareName.Text == "")
                {
                    throw new Exception("Must specify name above");
                }
                Software software = GetSoftwareFromInputs();
                await software.DetermineInstalledVersion();

                if (software.HasInstalledError())
                {
                    throw new Exception("Could not determine installed version, test above to troubleshoot");
                }
                await software.DetermineLatestVersion();

                if (software.HasLatestError())
                {
                    throw new Exception("Could not determine latest software, test above to troubleshoot");
                }
                if (existingSoftware == null)
                {
                    await App.Current.AddSoftware(software);
                }
                else
                {
                    await App.Current.EditSoftware(existingSoftware, software);
                }
                success = true;
            }
            catch (Exception ex)
            {
                SaveError.Text = ex.Message;
            }
            finally
            {
                if (success)
                {
                    this.Frame.Navigate(typeof(MainPage));
                }
                else
                {
                    SoftwareName.IsEnabled = true;
                    SetInstallEnabled(true);
                    SetLatestEnabled(true);
                    SaveProgress.IsActive = false;
                    SetSaveEnabled(true);
                }
            }
        }
예제 #3
0
 public async Task AddSoftware(Software software)
 {
     SoftwareList.Add(software);
     await SaveSoftwares();
 }
예제 #4
0
        private void EditItem_Click(object sender, RoutedEventArgs e)
        {
            Software software = App.SoftwareList[Row - 1];

            MainPage.Current.Frame.Navigate(typeof(ConfigureSoftware), software);
        }