/// <summary>
        /// Open the rules manager.
        /// </summary>
        /// <param name="sender">The manage rules button.</param>
        /// <param name="eventArgs">The event arguments.</param>
        private void OnManageRules(object sender, RoutedEventArgs eventArgs)
        {
            WindowDebtRuleManager manager = new WindowDebtRuleManager();

            manager.Owner  = this;
            manager.Entity = this.Entity;
            //manager.DebtRule = this.debtRule.SelectedItem as DebtRule;
            manager.Closed += this.OnRuleManagerClosed;
            manager.Show();
            Win32Interop.DisableWindow(this);
        }
Пример #2
0
        /// <summary>
        /// Handle the DebtRule changing. Register with DebtRule property change events and populate the window.
        /// </summary>
        /// <param name="sender">The debt rule manager.</param>
        /// <param name="eventArgs">The event arguments.</param>
        private static void OnDebtRuleChanged(DependencyObject sender, DependencyPropertyChangedEventArgs eventArgs)
        {
            WindowDebtRuleManager manager = sender as WindowDebtRuleManager;

            if (manager.DebtRule != null)
            {
                if (eventArgs.OldValue is DebtRule)
                {
                    (eventArgs.OldValue as DebtRule).PropertyChanged -= manager.OnDebtRuleChanged;
                }

                if (manager.DebtRule != null)
                {
                    manager.DebtRule.PropertyChanged += manager.OnDebtRuleChanged;
                    FluidTrade.Core.ThreadPoolHelper.QueueUserWorkItem(manager.Populate, manager.DebtRule.DebtRuleId);
                }
            }
        }