예제 #1
0
파일: frmMain.cs 프로젝트: Veivan/GanttDll
        private void FindStatusOn()
        {
            ucGantt1.gantt1.Tasks.Clear();
            foreach (var task in saveTask)
            {
                ucGantt1.gantt1.Tasks.Add(task);
            }
            TaskItemCollection arr = new TaskItemCollection();

            if (новаяToolStripMenuItem.Checked == true)
                FilterStatus("Новая", ref arr);
            if (запросИнформацииToolStripMenuItem.Checked == true)
                FilterStatus("Запрос информации", ref arr);
            if (наСогласованииToolStripMenuItem.Checked == true)
                FilterStatus("На согласовании", ref arr);
            if (согласованоToolStripMenuItem.Checked == true)
                FilterStatus("Согласовано", ref arr);
            if (запланированаToolStripMenuItem.Checked == true)
                FilterStatus("Запланирована", ref arr);
            if (выполняетсяToolStripMenuItem.Checked == true)
                FilterStatus("Выполняется", ref arr);
            if (доработкаToolStripMenuItem.Checked == true)
                FilterStatus("Доработка", ref arr);
            if (сдачаприемкаToolStripMenuItem.Checked == true)
                FilterStatus("Сдача-приемка", ref arr);
            if (завершеноToolStripMenuItem.Checked == true)
                FilterStatus("Завершено", ref arr);
            if (отмененоToolStripMenuItem.Checked == true)
                FilterStatus("Отменено", ref arr);

            ucGantt1.gantt1.Tasks.Clear();
            foreach (var task in arr)
            {
                ucGantt1.gantt1.Tasks.Add(task);
            }
        }
예제 #2
0
파일: frmMain.cs 프로젝트: Veivan/GanttDll
 private void FilterStatus(String status, ref TaskItemCollection arr)
 {
     foreach (var task in ucGantt1.gantt1.Tasks)
     {
         var st = InstHelperPLM.mainList.Where(cur => cur.keyGantt == task.Key);
         //.Where(cur1 => cur1.Status == status); // TODO не переделывал сравнение, потому что фильтрация отключена
         if (!st.IsEmpty())
             arr.Add(task);
     }
 }
예제 #3
0
파일: frmMain.cs 프로젝트: Veivan/GanttDll
        public void GenerationGanttData()
        {
            InfoObject obj = this.MyObj;
            ICollection<CollectionElement> attr = this.MyAttr;
            String job = this.MyJob;

            bool DoOperChildren = (job == "Project");

            // Инициализация данных
            ucGantt1.gantt1.Tasks.Clear();
            ucGantt1.gantt1.Groups.Clear();
            if (saveTask == null)
                saveTask = new TaskItemCollection();
            else
                saveTask.Clear();

            ucGantt1.gantt1.SuspendItemLayout();

            // Чтение данных, относящихся к выбранному проекту, из ПЛМ
            InstHelperPLM.CollectPLMData(obj, attr, DoOperChildren);

            // Создание объектов Гантта из списка
            CreateGanttTasks(ucGantt1.gantt1);

            // Расстановка статуса редактирования для групп
            for (int i = 0; i < ucGantt1.gantt1.Groups.Count; i++)
            {
                ucGantt1.gantt1.Groups[i].SetEditMode();
            }
            
            // Задание зависимостей существующих задач
            SetDependens();

            for (int i = 0; i < ucGantt1.gantt1.Tasks.Count; i++)
            {
                saveTask.Add(ucGantt1.gantt1.Tasks[i]);
            }

            // TODO kkk : фильтрация по статусам временно закрыта - if (!DoOperChildren) FindStatusOn(); // job == "Tasks"

            SetupAllTask();

            MakeMenuBaseLines();

            фильтрToolStripMenuItem.Enabled = DoOperChildren;
            if (DoOperChildren && (ucGantt1.gantt1.Groups.Count == 0))
            {
                mnuAddTask1.Enabled = false;
                mnuAddTask.Enabled = false;
                mnuAddGroup.Enabled = false;
                mnuAddGroup1.Enabled = false;
            }

            ucGantt1.gantt1.ResumeItemLayout();
            ucGantt1.gantt1.AutoMoveItems();
            ResetAllBindings();
            ucGantt1.gantt1.ZoomToFit();
        }