//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 (post == null) { post = new Expense(); } post.Name = nameTextBox.Text; post.Category = ((ComboBoxItem)categoryComboBox.SelectedItem).Content.ToString(); post.PostDate = new Date(day, month, year); post.Amount = amount; post.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(post, key); // wywołanie dekoratora w celu zaszyfrowania wpisu post.Name = temp.Name; post.Amount = temp.Amount; post.Category = temp.Category; post.Description = temp.Description; post.PostDate = temp.PostDate; } if (isGood != null && isGood == true) { DialogResult = true; } else if (isGood != null) { DialogResult = false; } }
// metoda odszyfrowująca zaszyfrowany wpis private void Decipher(object sender, RoutedEventArgs e) { if (keyTextBox.Text != string.Empty) { int key = 0; try { key = int.Parse(keyTextBox.Text); int index = GetPostIndex(); Post en = (Post)postListBox.SelectedItem; if (en.IsEncrypted(en.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; postList[index] = en; postListBox.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); } } }