public void CreateProjects() { _control.Value.ClearMessages(); ProjectCreator creator = null; BackgroundWorker worker = new BackgroundWorker(); worker.WorkerReportsProgress = true; worker.DoWork += (sender, e) => { creator = new ProjectCreator(ProjectRequests, SelectedProjectTemplate); creator.ProgressChanged += (sender2, e2) => { worker.ReportProgress(e2.ProgressPercentage); }; creator.MessageReported += (sender2, e2) => { ReportMessage(e2.Project, e2.Message); }; creator.Execute(); }; worker.ProgressChanged += (sender, e) => { PercentComplete = e.ProgressPercentage; }; worker.RunWorkerCompleted += (sender, e) => { if (e.Error != null) { MessageBox.Show(e.Error.ToString()); } else { foreach (Tuple <ProjectRequest, FileBasedProject> request in creator.SuccessfulRequests) { // accept the request ContentConnector.Instance.RequestAccepted(request.Item1); // remove the request from the list of requests ProjectRequests.Remove(request.Item1); OnProjectRequestsChanged(); } } }; worker.RunWorkerAsync(); }
public void CreateProjects() { _control.Value.ClearMessages(); ProjectCreator creator = null; BackgroundWorker worker = new BackgroundWorker(); worker.WorkerReportsProgress = true; if (SelectedProjects == null || SelectedProjects.Count == 0) { MessageBox.Show(@"Please select a project"); } else { if (SelectedProjects != null && SelectedProjects.Count != 0) { foreach (var selectedProject in SelectedProjects) { if (selectedProject.ProjectTemplate != null) { _hasTemplateList.Add(true); } else { _hasTemplateList.Add(false); } if (HasFiles(selectedProject.Path)) { _hasFiles.Add(true); } else { _hasFiles.Add(false); } } } if (!_hasFiles.Contains(true)) { if (!_hasTemplateList.Contains(false)) { if (SelectedProjects != null && (SelectedProjects.Count != 0 && SelectedProjects != null)) { worker.DoWork += (sender, e) => { if (SelectedProjects.Count != 0 && SelectedProjects != null) { creator = new ProjectCreator(SelectedProjects, SelectedProjectTemplate); } else { creator = new ProjectCreator(ProjectRequests, SelectedProjectTemplate); } creator.ProgressChanged += (sender2, e2) => { worker.ReportProgress(e2.ProgressPercentage); }; creator.MessageReported += (sender2, e2) => { ReportMessage(e2.Project, e2.Message); }; creator.Execute(); }; worker.ProgressChanged += (sender, e) => { PercentComplete = e.ProgressPercentage; }; worker.RunWorkerCompleted += (sender, e) => { if (e.Error != null) { MessageBox.Show(e.Error.ToString()); } else { foreach ( Tuple <ProjectRequest, FileBasedProject> request in creator.SuccessfulRequests) { // accept the request InSource.Instance.RequestAccepted(request.Item1); // remove the request from the list of requests ProjectRequests.Remove(request.Item1); OnProjectRequestsChanged(); } } }; worker.RunWorkerAsync(); } } else { MessageBox.Show(@"Please choose a custom template"); _hasTemplateList.Clear(); } } else { MessageBox.Show( @"Watch folders should contain only folders, please put the files in a directory, and after that click CHECK PROJECT REQUESTS BUTTON "); _hasFiles.Clear(); } } }