/// <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)); }
/// <summary> /// Metoda odbierająca komunikat o zmianie stanu wielu Workitemów /// </summary> /// <param name="m"></param> public void OnWorkItemsUpdated(WorkItemMediator m) { LoadWorkItems(); }