Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
                }
            }
        }