private void Decipher(object sender, RoutedEventArgs e) { if (keyTextBox.Text != string.Empty) { int key = 0; try { key = int.Parse(keyTextBox.Text); int index = entryListBox.SelectedIndex; Post en = EntryList1[index]; if (en.IsEncrypted(EntryList1[index].Name)) { try { Post temp = new DecoratorEncryption(en, key); // wywołanie dekoratora w celu odszyfrowania wpisu en.Amount = temp.Amount; en.Category = temp.Category; en.Description = temp.Description; en.PostDate = temp.PostDate; en.Name = temp.Name; EntryList1[index] = en; entryListBox.Items.Refresh(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Błędny kod", MessageBoxButton.OK, MessageBoxImage.Error); } } } catch (FormatException) { MessageBox.Show("Niewłaściwe znaki w kluczu!", "Błąd!", MessageBoxButton.OK, MessageBoxImage.Error); } } }
//metoda zatwierdzenia dodania wydatku private void AcceptEntryExecuted(object sender, ExecutedRoutedEventArgs e) { bool?isGood = true; byte day = byte.Parse(((ComboBoxItem)dayComboBox.SelectedItem).Content.ToString()); string month = ((ComboBoxItem)monthComboBox.SelectedItem).Content.ToString(); int year = int.Parse(((ComboBoxItem)yearComboBox.SelectedItem).Content.ToString()); decimal amount = 0; try { amount = decimal.Parse(amountTextBox.Text); } catch (FormatException) { MessageBox.Show("Kwota zawiera niepożądane znaki (Może zawierać tylko liczby dodatnie)!", "Błąd walidacji!", MessageBoxButton.OK, MessageBoxImage.Error); isGood = null; } if (amount > 0) { MessageBox.Show("Kwota może zawierać tylko liczby ujemne!", "Błąd walidacji!", MessageBoxButton.OK, MessageBoxImage.Error); isGood = null; } if (E == null) { E = new Expense(); } E.Name = nameTextBox.Text; E.Category = ((ComboBoxItem)categoryComboBox.SelectedItem).Content.ToString(); E.PostDate = new Date(day, month, year); E.Amount = amount; E.Description = descTextBox.Text; //kiedy wybrano wpis prywatny if (protectedEntryCheckBox.IsChecked == true) { int key = 0; try { key = int.Parse(keyTextBox.Text); } catch (FormatException) { MessageBox.Show("Kwota zawiera niepożądane znaki (Może zawierać tylko liczby)!", "Błąd walidacji!", MessageBoxButton.OK, MessageBoxImage.Error); isGood = null; } Post temp = new DecoratorEncryption(E, key); // wywołanie dekoratora w celu zaszyfrowania wpisu E.Name = temp.Name; E.Amount = temp.Amount; E.Category = temp.Category; E.Description = temp.Description; E.PostDate = temp.PostDate; } if (isGood != null && isGood == true) { DialogResult = true; } else if (isGood != null) { DialogResult = false; } }