Esempio n. 1
0
 private void Triggered(Utilities.Trigger trigger, object result)
 {
     // refresh recent list
     Dispatcher.BeginInvoke((Action)(() =>
     {
         using (var data = new DatalayerDataContext())
         {
             var onGoing = data.ActivityQueues
                           .Where(x => x.TimeStarted >= App.Start && x.TimeCompleted == null &&
                                  x.TimeAdded >= App.Start)
                           .ToList();
             var activities =
                 onGoing.Select(x => App.Activities.First(y => y.Entity.Id == x.ActivityId))
                 .ToList();
             var oldItems =
                 Ongoing.Children.OfType <ContentPresenter>()
                 .Where(x => !activities.Contains(x.Content))
                 .ToList();
             var newItems = activities.Where(x => !Ongoing.Children
                                             .OfType <ContentPresenter>()
                                             .Select(y => y.Content).Contains(x))
                            .ToList();
             foreach (var old in oldItems)
             {
                 Ongoing.Children.Remove(old);
             }
             foreach (var newItem in newItems)
             {
                 Ongoing.Children.Add(new ContentPresenter
                 {
                     Content = newItem,
                     Margin = new Thickness(5)
                 });
             }
         }
     }), DispatcherPriority.ApplicationIdle);
 }
Esempio n. 2
0
        public override void Execute(object context, ActivityQueue queue, Utilities.Trigger trigger)
        {
            if (!Application.Current.Dispatcher.CheckAccess())
            {
                Application.Current.Dispatcher.Invoke(
                    (Action <dynamic>)(context1 => Execute(context1, queue, trigger)),
                    DispatcherPriority.Input, context);
                return;
            }

            var element = context as FrameworkElement;

            if (element != null)
            {
            }

            /*((MainWindow) Application.Current.MainWindow).Timeline.TimelineEvents.Add(new TimelineEvent
             *  {
             *      Description = context.ToString(),
             *      StartDate = queue.TimeAdded.ToLocalTime()
             *  });
             * ((MainWindow) Application.Current.MainWindow).Timeline.RefreshEvents(true);
             * */
        }