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); }
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); }