コード例 #1
0
        public async Task <IActionResult> Transform(int id)
        {
            WorkItem item = await _workItemDataService.GetWorkItemByIdAsync(id);

            Project project = new Project
            {
                Title       = item.Title,
                AssignedTo  = item.AssignedTo,
                CreatedBy   = item.CreatedBy,
                CreatedOn   = item.CreatedOn,
                Description = item.Description,
                DueDate     = item.DueDate,
                LastUpdated = item.LastUpdated,
                Active      = true
            };
            //add the project
            await _projectDataService.AddProject(project);

            //move notes to the new project
            foreach (var note in item.Notes)
            {
                ProjectNote projectNote = new ProjectNote
                {
                    CreatedBy   = note.CreatedBy,
                    CreatedOn   = note.CreatedOn,
                    NoteContent = note.NoteContent,
                    Project     = project
                };
                //add the project note
                await _projectNoteDataService.AddProjectNoteAsync(projectNote);
            }

            //deactivate the old work item
            await _workItemDataService.SetInactive(item);

            //go to the project detail page
            return(RedirectToAction("Details", "Projects", new { id = project.ProjectId }));
        }