Ejemplo n.º 1
0
        public void Execute(object parameter)
        {
            var input = new ImportFromWbsInput();

            input.Tasks = this.appContext.Tasks;
            input.Perts = this.appContext.PertEdges;

            var output = this.businessLogic.Execute(input);

            this.appContext.PertEdges.Clear();
            this.appContext.PertEdges.AddRange(output.Perts);
        }
Ejemplo n.º 2
0
        public ImportFromWbsOutput Execute(ImportFromWbsInput input)
        {
            var output       = new ImportFromWbsOutput();
            var tasks        = input.Tasks;
            var perts        = input.Perts;
            var existTaskIds = perts.Select(x => x.TaskCd).ToArray();

            // Pertに未登録のタスクを抽出
            var addTasks = tasks.Where(x => existTaskIds.Contains(x.TaskCd) == false).ToArray();

            // 追加するタスクの一覧を生成
            var addPerts = addTasks.Select(x => new Pert()
            {
                Id        = this.pertIdGen.CreateNewId(),
                TaskCd    = x.TaskCd,
                SrcNodeCd = 0,
                DstNodeCd = 0,
            });

            output.Perts = perts.Concat(addPerts).ToArray();

            return(output);
        }