Beispiel #1
0
        /// <summary>
        /// Metoda odbierająca komunikat o zmianie stanu WorkItema
        /// </summary>
        public void ReloadWorkItem(WorkItemMediator m, WorkItemEventArgs e)
        {
            Ensure.ParamNotNull(e, nameof(e));

            WorkItemPublic workItem = e.WorkItem;
            DateTime       now      = DateTime.Now.Date;

            foreach (CtrlScheduleCanvas canvas in Schedules)
            {
                if (workItem.WorkItemStart.Date <= now.AddDays(((ScheduleCanvasViewModel)canvas.DataContext).DayOffset) && workItem.WorkItemEnd.Date >= now.AddDays(((ScheduleCanvasViewModel)canvas.DataContext).DayOffset))
                {
                    ((ScheduleCanvasViewModel)canvas.DataContext).LoadOrUpdateWorkItem(workItem);
                }
                else
                {
                    ((ScheduleCanvasViewModel)canvas.DataContext).DeleteWorkItem(workItem);
                }
            }
        }
        /// <summary>
        /// Dodaje workItem do kontenera
        /// </summary>
        public void AddWorkItemToContainer(WorkItemMediator m, WorkItemEventArgs e)
        {
            Ensure.ParamNotNull(e, nameof(e));

            WorkItemPublic workItem = e.WorkItem;

            CtrlWorkItemContainer      container = ContainerCollection.FirstOrDefault(cc => ((WorkItemContainerViewModel)cc.DataContext).WorkItemCollection.ID == workItem.WorkItemCollectionID);
            WorkItemContainerViewModel wic       = (WorkItemContainerViewModel)container.DataContext;
            WorkItemPublic             wi        = wic.WorkItems.FirstOrDefault(wi => wi.ID == workItem.ID);

            if (wi == null)
            {
                wic.WorkItems.Add(workItem);
            }
            else
            {
                int index = wic.WorkItems.IndexOf(wi);
                wic.WorkItems.Remove(wi);
                wic.WorkItems.Insert(index, workItem);
            }
        }
 /// <summary>
 /// Usuwa kontener
 /// </summary>
 public void DeleteContainer(WorkItemMediator m, WorkItemCollectionEventArgs e)
 {
     ContainerCollection.Remove(ContainerCollection.FirstOrDefault(cc => ((WorkItemContainerViewModel)cc.DataContext).WorkItemCollection == e.Collection));
 }
Beispiel #4
0
 /// <summary>
 /// Metoda odbierająca komunikat o zmianie stanu wielu Workitemów
 /// </summary>
 /// <param name="m"></param>
 public void OnWorkItemsUpdated(WorkItemMediator m)
 {
     LoadWorkItems();
 }