Exemple #1
0
        private void buttonAddActivity_Click(object sender, EventArgs e)
        {
            ActivityDetailForm f = new ActivityDetailForm();

            f.WorkSystemDataSet.Merge(adaWorkSystemDataSet1);

            DataRowView view = this.BindingContext[adaWorkSystemDataSet1, "Schedule"].Current as DataRowView;

            ADAWorkSystemDataSet.ScheduleRow currentScheduleRow = view.Row as ADAWorkSystemDataSet.ScheduleRow;

            int sequenceMax = 0;

            ADAWorkSystemDataSet.ActivityRow lastActivityRow = null;

            foreach (ADAWorkSystemDataSet.ActivityRow activityRow in
                     currentScheduleRow.GetActivityRows())
            {
                if (sequenceMax < activityRow.Sequence)
                {
                    sequenceMax     = activityRow.Sequence;
                    lastActivityRow = activityRow;
                }
            }

            ADAWorkSystemDataSet.ActivityRow currentActivityRow = f.WorkSystemDataSet.Activity.NewActivityRow();
            currentActivityRow.ScheduleId = currentScheduleRow.ScheduleId;
            currentActivityRow.Sequence   = sequenceMax + 1;
            currentActivityRow.Name       = string.Format("Step {0}", currentActivityRow.Sequence);

            if (lastActivityRow != null && !lastActivityRow.IsSymbolIdNull())
            {
                currentActivityRow.SymbolId = lastActivityRow.SymbolId;
                currentActivityRow.Image    = lastActivityRow.Image;
            }

            f.WorkSystemDataSet.Activity.AddActivityRow(currentActivityRow);

            f.WorkSystemDataSet.DefaultViewManager.DataViewSettings["Activity"].RowFilter = "ActivityId=" + currentActivityRow.ActivityId;

            if (f.ShowDialog() == DialogResult.OK)
            {
                adaWorkSystemDataSet1.Merge(f.WorkSystemDataSet);
            }
        }
Exemple #2
0
        SeriesCollection getSeriesCollection(DataRow[] scheduleRows, bool showAll)
        {
            SeriesCollection SC = new SeriesCollection();

            ADAWorkSystemDataSet.ScheduleRow   firstScheduleRow          = scheduleRows[0] as ADAWorkSystemDataSet.ScheduleRow;
            ADAWorkSystemDataSet.ActivityRow[] firstScheduleActivityRows = firstScheduleRow.GetActivityRows();

            DateTime dateTimeMin = DateTime.MaxValue;
            DateTime dateTimeMax = DateTime.MinValue;

            foreach (ADAWorkSystemDataSet.ActivityRow firstScheduleActivityRow in firstScheduleActivityRows)
            {
                Series s = new Series();
                s.Type       = SeriesType.Line;
                s.Line.Width = 4;
                s.Name       = firstScheduleActivityRow.Name;

                foreach (ADAWorkSystemDataSet.ScheduleRow scheduleRow in scheduleRows)
                {
                    ADAWorkSystemDataSet.ActivityRow[] activityRows = scheduleRow.GetActivityRows();

                    foreach (ADAWorkSystemDataSet.ActivityRow activityRow in activityRows)
                    {
                        if (activityRow.Name == s.Name)
                        {
                            Element e = new Element();

                            e.XDateTime = activityRow.ExecutionEnd.Date;

                            if (showAll)
                            {
                                if (e.XDateTime > dateTimeMax)
                                {
                                    dateTimeMax = e.XDateTime;
                                }

                                if (e.XDateTime < dateTimeMin)
                                {
                                    dateTimeMin = e.XDateTime;
                                }
                            }

                            TimeSpan span = activityRow.ExecutionEnd.Subtract(activityRow.ExecutionStart);
                            e.YValue = span.TotalMinutes;

                            int i = s.Elements.Count - 1;

                            while (i >= 0)
                            {
                                if (s.Elements[i].XDateTime.CompareTo(e.XDateTime) <= 0)
                                {
                                    s.Elements.Insert(i + 1, e);
                                    break;
                                }
                                else
                                {
                                    i--;
                                }
                            }

                            if (i < 0)
                            {
                                s.Elements.Insert(0, e);
                            }

                            break;
                        }
                    }
                }

                //s.DefaultElement.Color = Color.Red;
                SC.Add(s);
            }

            if (showAll)
            {
                monthCalendarStart.DateSelected  -= this.monthCalendar_DateSelected;
                monthCalendarStart.SelectionStart = dateTimeMin.AddDays(-2);
                monthCalendarStart.SelectionEnd   = monthCalendarStart.SelectionStart;
                monthCalendarStart.DateSelected  += this.monthCalendar_DateSelected;

                monthCalendarEnd.DateSelected -= this.monthCalendar_DateSelected;
                monthCalendarEnd.SelectionEnd  = dateTimeMax.AddDays(2);
                monthCalendarEnd.SelectionEnd  = monthCalendarEnd.SelectionStart;
                monthCalendarEnd.DateSelected += this.monthCalendar_DateSelected;
            }

            return(SC);
        }