Exemplo n.º 1
0
        // Control area commands.
        private void SetColorButton_Click(object sender, RoutedEventArgs e)
        {
            NetworkDiagramItem item = NetworkDiagramView.Items[2];

            DlhSoft.Windows.Controls.Pert.NetworkDiagramView.SetShapeFill(item, Resources["CustomShapeFill"] as Brush);
            DlhSoft.Windows.Controls.Pert.NetworkDiagramView.SetShapeStroke(item, Resources["CustomShapeStroke"] as Brush);
        }
Exemplo n.º 2
0
        private void setDependencies(List <NetworkDiagramItem> listItem, NetworkDiagramItem itemStart, NetworkDiagramItem lastItem)
        {
            for (int i = 0; i < PERTTaskResult.Count(); i++)
            {
                List <PERTTask> poprzednicy = PERTTaskResult[i].PreTask;

                if (poprzednicy.Count() == 0)
                {
                    NetworkDiagramItem initItem = listItem.Where(x => x.DisplayedText == PERTTaskResult[i].Name).FirstOrDefault();
                    initItem.Predecessors.Add(new NetworkPredecessorItem {
                        Item = itemStart
                    });
                }

                if (PERTTaskResult[i].PostTask.Count() == 0)
                {
                    NetworkDiagramItem endItem = listItem.Where(x => x.DisplayedText == PERTTaskResult[i].Name).FirstOrDefault();
                    lastItem.Predecessors.Add(new NetworkPredecessorItem {
                        Item = endItem
                    });
                }

                NetworkDiagramItem itemCoMaPoprzednika = listItem.Where(x => x.DisplayedText == PERTTaskResult[i].Name).FirstOrDefault();

                for (int j = 0; j < poprzednicy.Count(); j++)
                {
                    NetworkDiagramItem poprzednik = listItem.Where(x => x.DisplayedText == poprzednicy[j].Name).FirstOrDefault();
                    itemCoMaPoprzednika.Predecessors.Add(new NetworkPredecessorItem {
                        Item = poprzednik
                    });
                }
            }
        }
Exemplo n.º 3
0
        private NetworkDiagramItem setFirstNetworkDiagramItem(List <NetworkDiagramItem> listItem)
        {
            NetworkDiagramItem itemStart = new NetworkDiagramItem {
                DisplayedText = "Start", Content = "Start"
            };

            itemStart.Effort      = TimeSpan.Zero;
            itemStart.EarlyStart  = StartProject;
            itemStart.EarlyFinish = StartProject;
            itemStart.LateStart   = StartProject;
            itemStart.LateFinish  = StartProject;
            itemStart.Slack       = TimeSpan.Zero;
            listItem.Add(itemStart);

            return(itemStart);
        }
Exemplo n.º 4
0
        private NetworkDiagramItem setLastNetworkDiagramItem(List <NetworkDiagramItem> listItem)
        {
            int                maxCS       = PERTTaskResult.Max(x => x.CS);
            PERTTask           tmpPertTask = PERTTaskResult.Where(x => x.CS == maxCS).FirstOrDefault();
            NetworkDiagramItem lastItem    = new NetworkDiagramItem {
                DisplayedText = "End", Content = "End"
            };

            lastItem.Effort      = TimeSpan.Zero;
            lastItem.EarlyStart  = StartProject.AddDays(maxCS);
            lastItem.EarlyFinish = StartProject.AddDays(maxCS);
            lastItem.LateStart   = StartProject.AddDays(maxCS);
            lastItem.LateFinish  = StartProject.AddDays(maxCS);
            lastItem.Slack       = TimeSpan.Zero;
            listItem.Add(lastItem);

            return(lastItem);
        }
Exemplo n.º 5
0
        private void setNetworkDiagramItems(List <NetworkDiagramItem> listItem)
        {
            for (int i = 0; i < PERTTaskResult.Count(); i++)
            {
                NetworkDiagramItem item = new NetworkDiagramItem {
                    DisplayedText = PERTTaskResult[i].Name, Content = PERTTaskResult[i].Name
                };

                item.Effort      = TimeSpan.Parse(PERTTaskResult[i].Expected_t + ":00:00:00");
                item.EarlyStart  = StartProject.AddDays(PERTTaskResult[i].ES);
                item.EarlyFinish = StartProject.AddDays(PERTTaskResult[i].EF);
                item.LateStart   = StartProject.AddDays(PERTTaskResult[i].LS);
                item.LateFinish  = StartProject.AddDays(PERTTaskResult[i].LF);
                item.Slack       = item.LateStart - item.EarlyStart;

                listItem.Add(item);
            }
        }
Exemplo n.º 6
0
        public MainWindow()
        {
            InitializeComponent();

            NetworkDiagramItem item0 = NetworkDiagramView.Items[0];

            item0.EarlyStart         = DateTime.Today.Add(TimeSpan.Parse("08:00:00"));
            item0.EarlyFinish        = item0.EarlyStart;
            item0.LateStart          = item0.EarlyStart;
            item0.LateFinish         = item0.LateStart;
            item0.AssignmentsContent = "N/A";

            NetworkDiagramItem item1 = NetworkDiagramView.Items[1];

            item1.Effort             = TimeSpan.Parse("08:00:00");
            item1.EarlyStart         = DateTime.Today.Add(TimeSpan.Parse("08:00:00"));
            item1.EarlyFinish        = DateTime.Today.Add(TimeSpan.Parse("16:00:00"));
            item1.LateStart          = DateTime.Today.Add(TimeSpan.Parse("08:00:00"));
            item1.LateFinish         = DateTime.Today.Add(TimeSpan.Parse("16:00:00"));
            item1.Slack              = TimeSpan.Zero;
            item1.AssignmentsContent = "Resource 1";
            item1.Predecessors.Add(new NetworkPredecessorItem {
                Item = item0
            });

            NetworkDiagramItem item2 = NetworkDiagramView.Items[2];

            item2.Effort             = TimeSpan.Parse("04:00:00");
            item2.EarlyStart         = DateTime.Today.Add(TimeSpan.Parse("08:00:00"));
            item2.EarlyFinish        = DateTime.Today.Add(TimeSpan.Parse("12:00:00"));
            item2.LateStart          = DateTime.Today.Add(TimeSpan.Parse("12:00:00"));
            item2.LateFinish         = DateTime.Today.Add(TimeSpan.Parse("16:00:00"));
            item2.Slack              = TimeSpan.Parse("04:00:00");
            item2.AssignmentsContent = "Resource 2";
            item2.Predecessors.Add(new NetworkPredecessorItem {
                Item = item0
            });

            NetworkDiagramItem item3 = NetworkDiagramView.Items[3];

            item3.Effort             = TimeSpan.Parse("16:00:00");
            item3.EarlyStart         = DateTime.Today.AddDays(1).Add(TimeSpan.Parse("08:00:00"));
            item3.EarlyFinish        = DateTime.Today.AddDays(2).Add(TimeSpan.Parse("16:00:00"));
            item3.LateStart          = DateTime.Today.AddDays(1).Add(TimeSpan.Parse("08:00:00"));
            item3.LateFinish         = DateTime.Today.AddDays(2).Add(TimeSpan.Parse("16:00:00"));
            item3.Slack              = TimeSpan.Zero;
            item3.AssignmentsContent = "Resource 1, Resource 2";
            item3.Predecessors.Add(new NetworkPredecessorItem {
                Item = item1
            });
            item3.Predecessors.Add(new NetworkPredecessorItem {
                Item = item2
            });

            NetworkDiagramItem item4 = NetworkDiagramView.Items[4];

            item4.Effort             = TimeSpan.Parse("04:00:00");
            item4.EarlyStart         = DateTime.Today.AddDays(1).Add(TimeSpan.Parse("08:00:00"));
            item4.EarlyFinish        = DateTime.Today.AddDays(1).Add(TimeSpan.Parse("12:00:00"));
            item4.LateStart          = DateTime.Today.AddDays(2).Add(TimeSpan.Parse("12:00:00"));
            item4.LateFinish         = DateTime.Today.AddDays(2).Add(TimeSpan.Parse("16:00:00"));
            item4.Slack              = TimeSpan.Parse("12:00:00");
            item4.AssignmentsContent = "Resource 2";
            item4.Predecessors.Add(new NetworkPredecessorItem {
                Item = item1
            });

            NetworkDiagramItem item5 = NetworkDiagramView.Items[5];

            item5.Effort             = TimeSpan.Parse("12:00:00");
            item5.EarlyStart         = DateTime.Today.AddDays(3).Add(TimeSpan.Parse("08:00:00"));
            item5.EarlyFinish        = DateTime.Today.AddDays(4).Add(TimeSpan.Parse("12:00:00"));
            item5.LateStart          = DateTime.Today.AddDays(3).Add(TimeSpan.Parse("08:00:00"));
            item5.LateFinish         = DateTime.Today.AddDays(4).Add(TimeSpan.Parse("12:00:00"));
            item5.Slack              = TimeSpan.Zero;
            item5.AssignmentsContent = "Resource 2";
            item5.Predecessors.Add(new NetworkPredecessorItem {
                Item = item3
            });
            item5.Predecessors.Add(new NetworkPredecessorItem {
                Item = item4
            });

            NetworkDiagramItem item6 = NetworkDiagramView.Items[6];

            item6.Effort             = TimeSpan.Parse("2.00:00:00");
            item6.EarlyStart         = DateTime.Today.AddDays(4).Add(TimeSpan.Parse("12:00:00"));
            item6.EarlyFinish        = DateTime.Today.AddDays(10).Add(TimeSpan.Parse("12:00:00"));
            item6.LateStart          = DateTime.Today.AddDays(4).Add(TimeSpan.Parse("12:00:00"));
            item6.LateFinish         = DateTime.Today.AddDays(10).Add(TimeSpan.Parse("12:00:00"));
            item6.Slack              = TimeSpan.Zero;
            item6.AssignmentsContent = "Resource 1";
            item6.Predecessors.Add(new NetworkPredecessorItem {
                Item = item5
            });

            NetworkDiagramItem item7 = NetworkDiagramView.Items[7];

            item7.Effort             = TimeSpan.Parse("20:00:00");
            item7.EarlyStart         = DateTime.Today.AddDays(4).Add(TimeSpan.Parse("12:00:00"));
            item7.EarlyFinish        = DateTime.Today.AddDays(6).Add(TimeSpan.Parse("16:00:00"));
            item7.LateStart          = DateTime.Today.AddDays(8).Add(TimeSpan.Parse("08:00:00"));
            item7.LateFinish         = DateTime.Today.AddDays(10).Add(TimeSpan.Parse("12:00:00"));
            item7.Slack              = TimeSpan.Parse("1.04:00:00");
            item7.AssignmentsContent = "Resource 2";
            item7.Predecessors.Add(new NetworkPredecessorItem {
                Item = item5
            });

            NetworkDiagramItem item8 = NetworkDiagramView.Items[8];

            item8.LateFinish         = DateTime.Today.AddDays(10).Add(TimeSpan.Parse("12:00:00"));
            item8.LateStart          = item8.LateFinish;
            item8.EarlyFinish        = item8.LateFinish;
            item8.EarlyStart         = item8.EarlyFinish;
            item8.AssignmentsContent = "N/A";
            item8.Predecessors.Add(new NetworkPredecessorItem {
                Item = item6
            });
            item8.Predecessors.Add(new NetworkPredecessorItem {
                Item = item7
            });

            // Optionally, reposition start and finish milestones between the first and second rows of the view.
            // Dispatcher.BeginInvoke((Action)delegate { NetworkDiagramView.RepositionEnds(); }, DispatcherPriority.Background);
        }
Exemplo n.º 7
0
 private void SetCriticalPathHighlighting(NetworkDiagramItem item, bool isHighlighted)
 {
     DlhSoft.Windows.Controls.Pert.NetworkDiagramView.SetShapeFill(item, isHighlighted ? Resources["CustomShapeFill"] as Brush : NetworkDiagramView.ShapeFill);
     DlhSoft.Windows.Controls.Pert.NetworkDiagramView.SetShapeStroke(item, isHighlighted ? Resources["CustomShapeStroke"] as Brush : NetworkDiagramView.ShapeStroke);
 }