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