コード例 #1
0
        public void Update()
        {
            keysToDelete.Clear();

            App.Current.Dispatcher.Invoke((Action) delegate
            {
                foreach (var client in List)
                {
                    client.Value.LastSeen++;
                    if (client.Value.LastSeen > 3)
                    {
                        keysToDelete.Add(client.Key);
                        Project.Project.Current.Groups.ClientHasGone(client.Value);
                    }
                }

                foreach (var key in keysToDelete)
                {
                    if (ScreenList.Contains(List[key]))
                    {
                        ScreenList.Remove(List[key]);
                    }
                    List.Remove(key);
                }
            });
        }
コード例 #2
0
        /// <summary>
        /// Clears the file list
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnClearClick__Main(object sender, RoutedEventArgs e)
        {
            if (_viewModel.CurrentLanguage == "All")
            {
                _viewModel.StatusText    = "Cleared " + _viewModel.List.Count() + " files";
                _viewModel.NotifyMessage = "Cleared";
                _viewModel.List.Clear();
                _viewModel.FlyoutOpen         = true;
                MainView_DataGrid.ItemsSource = null;
                MainView_DataGrid.ItemsSource = _viewModel.List;
            }
            else
            {
                TrulyObservableCollection <MyFile> tempFileList = _viewModel.List;
                foreach (MyFile f in _viewModel.TempList)
                {
                    tempFileList.Remove(f);
                }

                _viewModel.StatusText = "Cleared " + _viewModel.TempList.Count() + " files";
                _viewModel.List       = tempFileList;
                _viewModel.TempList.Clear();
                _viewModel.NotifyMessage      = "Cleared";
                _viewModel.FlyoutOpen         = true;
                MainView_DataGrid.ItemsSource = null;
                MainView_DataGrid.ItemsSource = _viewModel.TempList;
            }
        }
コード例 #3
0
 public static void AddRule(Rule rule)
 {
     if (!Rules.Contains(rule))
     {
         Rules.Add(rule);
         rule.Conclusion.ClearCache();
         ConcreteObservations.Remove(rule.Conclusion);
         foreach (var concreteObservation in rule.ConcreteObservations)
         {
             if (!ConcreteObservations.Contains(concreteObservation) && !concreteObservation.IsConclusion())
             {
                 ConcreteObservations.Add(concreteObservation);
             }
         }
     }
 }
コード例 #4
0
        public static void RemoveRule(Rule rule)
        {
            rule.Conclusion.ConclusionRuleList.Remove(rule);
            rule.Conclusion.ClearCache();

            foreach (var ruleIter in rule.Conclusion.ObservationRuleList)
            {
                ruleIter.Conclusion.ClearCache();
            }

            if (!rule.Conclusion.IsConclusion() && rule.Conclusion.IsObservation())
            {
                rule.Conclusion.ObservedFactor    = 0;
                rule.Conclusion.NotObservedFactor = 0;
                ConcreteObservations.Add(rule.Conclusion);
            }


            Rules.Remove(rule);


            foreach (var concreteObservation in rule.ConcreteObservations)
            {
                concreteObservation.ObservationRuleList.Remove(rule);

                if (!concreteObservation.IsObservation())
                {
                    Observations.Remove(concreteObservation);
                    ConcreteObservations.Remove(concreteObservation);
                }
            }
        }
コード例 #5
0
        public TransactionTypesViewModel(IQueryDispatcher queryDispatcher, ICommandDispatcher commandDispatcher)
        {
            _commandDispatcher = commandDispatcher;

            var query            = new TransactionTypesQuery();
            var types            = queryDispatcher.Execute <TransactionTypesQuery, DtoType[]>(query);
            var transactionTypes = Mapper.Map <TransactionType[]>(types);

            TransactionTypes = new TrulyObservableCollection <TransactionType>(transactionTypes);
            TransactionTypes.CollectionChanged += TransactionTypesOnCollectionChanged;

            AddTransactionTypeCommand = new RelayCommand(() => { TransactionTypes.Add(new TransactionType {
                    Outcome = true
                }); });
            RemoveCommand = new RelayCommand <TransactionType>(x =>
            {
                _commandDispatcher.Execute(new DeleteTransactionTypeCommand(Mapper.Map <DtoType>(x)));
                TransactionTypes.Remove(x);
            });
        }