예제 #1
0
        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); }
            }
        }
예제 #2
0
        //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;
            }
        }