private void btnManagePictures_Click(object sender, RoutedEventArgs e) { Deficiency d = Deficiencies.ElementAt(listDeficiencies.SelectedIndex); if (d.PictureId == -1) { d.PictureId = GetFirstPictureId(); } PictureManager window = new PictureManager(d); window.Closing += async delegate { var pictureQuery = from picture in new ParseQuery <Picture>() where picture.ItemId == d.PictureId select picture; var result = await pictureQuery.FindAsync(); if (result.Count() == 0) { d.PictureId = -1; } await d.SaveAsync(); }; window.ShowDialog(); }
private void LoadEditor(Deficiency deficiency) { nameTextBox.TextChanged -= nameTextBox_TextChanged; nameLabel.Visibility = Visibility.Visible; nameTextBox.Visibility = Visibility.Visible; btnManagePictures.Visibility = Visibility.Visible; descriptionLabel.Visibility = Visibility.Visible; descriptionTextBox.Visibility = Visibility.Visible; btnSave.Visibility = Visibility.Visible; nameTextBox.Text = deficiency.Name; descriptionTextBox.Text = deficiency.Description; }
private async void btnSave_Click(object sender, RoutedEventArgs e) { if (listDeficiencies.SelectedIndex == -1) { return; } Deficiency d = Deficiencies.ElementAt(listDeficiencies.SelectedIndex); d.Name = nameTextBox.Text; d.Description = descriptionTextBox.Text; await d.SaveAsync(); MessageBox.Show("Deficiency \"" + d.Name + "\" Saved."); }
private void btnAdd_Click(object sender, RoutedEventArgs e) { Deficiency d = new Deficiency() { DeficiencyId = GetFirstDeficiencyId(), PictureId = GetFirstPictureId() }; Deficiencies.Add(d); listDeficiencies.SelectedIndex = Deficiencies.Count - 1; LoadEditor(d); nameTextBox.TextChanged += nameTextBox_TextChanged; lblDeficiencies.Content = "Deficiencies (" + Deficiencies.Count + ")"; d.SaveAsync(); }
private async void btnDelete_Click(object sender, RoutedEventArgs e) { if (listDeficiencies.SelectedIndex == -1) { return; } MessageBoxResult result = MessageBox.Show("Are you sure you want to delete this deficiency?", "Are you sure?", MessageBoxButton.OKCancel); if (result == MessageBoxResult.OK) { int index = listDeficiencies.SelectedIndex; Deficiency d = Deficiencies.ElementAt(index); index--; if (index < 0) { index = 0; } Deficiencies.Remove(d); var pictureQuery = from pic in new ParseQuery <Picture>() where pic.ItemId == d.PictureId select pic; List <Picture> results = (await pictureQuery.FindAsync()).ToList(); foreach (Picture p in results) { await p.DeleteAsync(); } if (Deficiencies.Count > 0) { listDeficiencies.SelectedIndex = index; } lblDeficiencies.Content = "Deficiencies (" + Deficiencies.Count + ")"; await d.DeleteAsync(); } }