Пример #1
0
 private void dgChange_ContextMenuOpening(object sender, ContextMenuEventArgs e)
 {
     try
     {
         if (dgChange.SelectedItem != null)
         {
             fnChangeResult change = (fnChangeResult)dgChange.SelectedItem;
             MenuItemCopy.IsEnabled       = true;
             MenuItemDelete.IsEnabled     = change.Balance == 0 && (CoinChangeStatus)change.ChangeStatusCode == CoinChangeStatus.Unused;
             MenuItemNote.IsEnabled       = true;
             MenuItemProperties.IsEnabled = true;
         }
         else
         {
             MenuItemCopy.IsEnabled       = false;
             MenuItemDelete.IsEnabled     = false;
             MenuItemNote.IsEnabled       = false;
             MenuItemProperties.IsEnabled = false;
         }
     }
     catch (Exception err)
     {
         MessageBox.Show($"{err.Message}", $"{err.Source}.{err.TargetSite.Name}", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
Пример #2
0
        private void MenuItemProperties_Click(object sender, RoutedEventArgs e)
        {
            fnChangeResult         change           = (fnChangeResult)dgChange.SelectedItem;
            ChangePropertiesWindow propertiesWindow = new ChangePropertiesWindow(change, tcBitcoin);

            if (propertiesWindow.ShowDialog() == true)
            {
                Refresh();
                OnBalance?.Invoke(this, new EventArgs());
            }
        }
Пример #3
0
 private void MenuItemCopy_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         Clipboard.Clear();
         fnChangeResult change = (fnChangeResult)dgChange.SelectedItem;
         Clipboard.SetText(change.PaymentAddress);
     }
     catch (Exception err)
     {
         MessageBox.Show($"{err.Message}", $"{err.Source}.{err.TargetSite.Name}", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
Пример #4
0
 private void MenuItemDelete_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         fnChangeResult change = (fnChangeResult)dgChange.SelectedItem;
         if (tcBitcoin.DeleteReceiptKey(change.PaymentAddress))
         {
             Refresh();
             OnBalance?.Invoke(this, new EventArgs());
         }
     }
     catch (Exception err)
     {
         MessageBox.Show($"{err.Message}", $"{err.Source}.{err.TargetSite.Name}", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
Пример #5
0
 private void MenuItemSync_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         Cursor = Cursors.Wait;
         fnChangeResult change = (fnChangeResult)dgChange.SelectedItem;
         tcBitcoin.GetStatement(change.FullHDPath);
         Refresh();
         OnBalance?.Invoke(this, new EventArgs());
     }
     catch (Exception err)
     {
         MessageBox.Show($"{err.Message}", $"{err.Source}.{err.TargetSite.Name}", MessageBoxButton.OK, MessageBoxImage.Error);
     }
     finally
     {
         Cursor = Cursors.Arrow;
     }
 }
Пример #6
0
        private void MenuItemNote_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                fnChangeResult   change           = (fnChangeResult)dgChange.SelectedItem;
                ReceiptKeyWindow receiptKeyWindow = new ReceiptKeyWindow(change.PaymentAddress, change.InvoiceNumber == null ? string.Empty : change.InvoiceNumber);
                receiptKeyWindow.KeyNamespace = change.KeyNamespace;
                receiptKeyWindow.Note         = change?.Note;

                if (receiptKeyWindow.ShowDialog() == true)
                {
                    if (tcBitcoin.ChangeKeyNote(change.PaymentAddress, receiptKeyWindow.Note))
                    {
                        Refresh();
                    }
                }
            }
            catch (Exception err)
            {
                MessageBox.Show($"{err.Message}", $"{err.Source}.{err.TargetSite.Name}", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Пример #7
0
        private void MenuItemProperties_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Clipboard.Clear();
                fnTxResult     txId   = (fnTxResult)dgTx.SelectedItem;
                fnChangeResult change = tcBitcoin.NodeCash.fnChange(txId.CashAccountCode, txId.KeyName, txId.ChangeTypeCode)
                                        .Where(tb => tb.PaymentAddress == txId.PaymentAddress)
                                        .Select(tb => tb)
                                        .First();

                var changeProperties = new ChangePropertiesWindow(change, tcBitcoin);

                if (changeProperties.ShowDialog() == true)
                {
                    Refresh();
                }
            }
            catch (Exception err)
            {
                MessageBox.Show($"{err.Message}", $"{err.Source}.{err.TargetSite.Name}", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
 public ChangePropertiesWindow(fnChangeResult changeResult, TCBitcoin bitcoin)
 {
     InitializeComponent();
     tcBitcoin = bitcoin;
     change    = changeResult;
 }