// Execute the default task sequence on the project. // When a template is created from a Single file project, task sequencies is null. private void ExecuteTaskSequence(FileBasedProject project, ProjectFile[] projectFiles, ProjectRequest request) { try { var taskSequence = project.RunDefaultTaskSequence(projectFiles.GetIds(), (sender, e) => { if (Requests != null) { OnProgressChanged(_currentProgress + (double)e.PercentComplete / Requests.Count); } }, (sender, e) => { OnMessageReported(project, e.Message); }); project.Save(); if (taskSequence.Status.Equals(TaskStatus.Completed)) { if (SuccessfulRequests != null) { SuccessfulRequests.Add(Tuple.Create(request, project)); OnMessageReported(project, $"Project {request.Name} created successfully."); } } else { OnMessageReported(project, $"Project {request.Name} creation failed."); } } catch (Exception ex) { _logger.Error($"ExecuteTaskSequence method: {ex.Message}\n {ex.StackTrace}"); _messageBoxService.ShowMessage(PluginResources.ProjectTemplateSequenceSelection_Message, string.Empty); } }
private FileBasedProject CreateProject(ProjectRequest request) { ProjectInfo projectInfo = new ProjectInfo { Name = request.Name, LocalProjectFolder = GetProjectFolderPath(request.Name), }; FileBasedProject project = new FileBasedProject(projectInfo, new ProjectTemplateReference(request.ProjectTemplate.Uri)); // new ProjectTemplateReference(ProjectTemplate.Uri)); OnMessageReported(project, String.Format("Creating project {0}", request.Name)); //path to subdirectory var subdirectoryPath = request.Files[0].Substring(0, request.Files[0].IndexOf(request.Name, StringComparison.Ordinal)) + request.Name; ProjectFile[] projectFiles = project.AddFolderWithFiles(subdirectoryPath, true); project.RunAutomaticTask(projectFiles.GetIds(), AutomaticTaskTemplateIds.Scan); //when a template is created from a Single file project, task sequencies is null. try { TaskSequence taskSequence = project.RunDefaultTaskSequence(projectFiles.GetIds(), (sender, e) => { OnProgressChanged(_currentProgress + (double)e.PercentComplete / Requests.Count); } , (sender, e) => { OnMessageReported(project, e.Message); }); project.Save(); if (taskSequence.Status == TaskStatus.Completed) { SuccessfulRequests.Add(Tuple.Create(request, project)); OnMessageReported(project, String.Format("Project {0} created successfully.", request.Name)); return(project); } else { OnMessageReported(project, String.Format("Project {0} creation failed.", request.Name)); return(null); } } catch (Exception ex) { MessageBox.Show( @"Please go to File -> Setup -> Project templates -> Select a template -> Edit -> Default Task Sequence -> Ok after that run again Content connector"); TelemetryService.Instance.AddException(ex); } return(project); }
private FileBasedProject CreateProject(ProjectRequest request) { ProjectInfo projectInfo = new ProjectInfo { Name = request.Name, LocalProjectFolder = GetProjectFolderPath(request.Name) }; FileBasedProject project = new FileBasedProject(projectInfo, new ProjectTemplateReference(ProjectTemplate.Uri)); OnMessageReported(project, string.Format("Creating project {0}", request.Name)); ProjectFile[] projectFiles = project.AddFiles(request.Files.ToArray()); project.RunAutomaticTask(projectFiles.GetIds(), AutomaticTaskTemplateIds.Scan); TaskSequence taskSequence = project.RunDefaultTaskSequence(projectFiles.GetIds(), (sender, e) => { OnProgressChanged(_currentProgress + (double)e.PercentComplete / Requests.Count); } , (sender, e) => { OnMessageReported(project, e.Message); }); project.Save(); if (taskSequence.Status == TaskStatus.Completed) { SuccessfulRequests.Add(Tuple.Create(request, project)); OnMessageReported(project, string.Format("Project {0} created successfully.", request.Name)); return(project); } else { OnMessageReported(project, string.Format("Project {0} creation failed.", request.Name)); return(null); } }
private FileBasedProject CreateProject(ProjectRequest request) { try { if (request?.ProjectTemplate != null) { var projectInfo = new ProjectInfo { Name = request.Name, LocalProjectFolder = GetProjectFolderPath(request.Name, request.ProjectTemplate.Uri?.LocalPath) }; var project = new FileBasedProject(projectInfo, new ProjectTemplateReference(request.ProjectTemplate.Uri)); OnMessageReported(project, $"Creating project {request.Name}"); if (request.Files != null) { //path to subdirectory var subdirectoryPath = Path.GetDirectoryName(request.Files[0]); var projectFiles = project.AddFolderWithFiles(subdirectoryPath, true); project.RunAutomaticTask(projectFiles.GetIds(), AutomaticTaskTemplateIds.Scan); //when a template is created from a Single file project, task sequencies is null. try { var taskSequence = project.RunDefaultTaskSequence(projectFiles.GetIds(), (sender, e) => { if (Requests != null) { OnProgressChanged(_currentProgress + (double)e.PercentComplete / Requests.Count); } } , (sender, e) => { OnMessageReported(project, e.Message); }); project.Save(); if (taskSequence.Status == TaskStatus.Completed) { if (SuccessfulRequests != null) { SuccessfulRequests.Add(Tuple.Create(request, project)); OnMessageReported(project, $"Project {request.Name} created successfully."); return(project); } } else { OnMessageReported(project, $"Project {request.Name} creation failed."); return(null); } } catch (Exception ex) { Log.Logger.Error($"ProjectCreator-> CreateProject method: {ex.Message}\n {ex.StackTrace}"); MessageBox.Show( @"Please go to File -> Setup -> Project templates -> Select a template -> Edit -> Default Task Sequence -> Ok after that run again Content connector"); } } return(project); } MessageBox.Show(@"Please select a project template from InSource view", @"Project template is missing", MessageBoxButtons.OK); } catch (Exception e) { Log.Logger.Error($"ProjectCreator-> CreateProject method: {e.Message}\n {e.StackTrace}"); } return(null); }