Exemple #1
0
        /// <summary>
        /// Обновление фильров коллекий
        /// </summary>
        void UpdateUIViewCollection()
        {
            StartInProgress = Voyages.Where(d => d.Status >= -1 && d.Status < 3).Count();
            DestInProgress  = Voyages.Where(d => d.Status >= 3).Count();

            OnPropertyChanged("StartInProgress"); OnPropertyChanged("DestInProgress");

            if (StartViewVoyage.View != null)
            {
                StartViewVoyage.View.Refresh();
            }

            if (DestViewVoyage.View != null)
            {
                DestViewVoyage.View.Refresh();
            }
        }
Exemple #2
0
        public VoyageViewModel()
        {
            //генерируем случайные рейсы
            Services.CreateVoyagesXML(100);
            //загружаем
            Voyages = Services.LoadVoyagesXML();

            // создаем коллекцию с источником
            startViewVoyage = new CollectionViewSource()
            {
                Source = Voyages
            };
            destViewVoyage = new CollectionViewSource()
            {
                Source = Voyages
            };


            //добавляем фильтры
            startViewVoyage.Filter += new FilterEventHandler(startFilter);
            destViewVoyage.Filter  += new FilterEventHandler(destFilter);

            StartInProgress = Voyages.Where(d => d.Status >= -1 && d.Status < 3).Count();
            DestInProgress  = Voyages.Where(d => d.Status >= 3).Count();

            //сервис для потокового обновления коллекций UI
            Executer.Initialize();

            //инициализция графиков
            graphVoyage = new GraphVoyage();
            graphVoyage.ConfigChart();

            //настраиваем таймер и запускаем таймер (имитатор времени)
            RealDateTime         = DateTime.Now;
            dtimer               = new DTimeService(RealDateTime);
            dtimer.OnChangeTime += Dtimer_OnChangeTime;
            dtimer.Start();
        }