コード例 #1
0
 private void AddNewProjectImp(object obj)
 {
     try {
         if (NewProjectName.Equals(""))
         {
             throw new Exception("A project name is required.");
         }
         foreach (Project proj in ProjDGCollection)
         {
             if (proj.ProjectName.Equals(NewProjectName))
             {
                 throw new Exception("A project already exists with that name.");
             }
         }
         ProjDGCollection.Add(new Project(NewProjectName, "test", "test"));
         addNewProjectWindow.Close();
         MessageBox.Show("Project successfully created!", "Project Created", MessageBoxButton.OK);
     }catch (Exception ex) {
         MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
コード例 #2
0
        private async Task <DirectoryInfo> CopySourceProject()
        {
            ErrorText = null;

            // Can't create a project with no name
            if (string.IsNullOrWhiteSpace(NewProjectName))
            {
                ErrorText = "Can't create project without a project name.";
                return(null);
            }

            await GetCaseSensitiveSourceName();

            // Can't continue without a case-sensitive filter name
            if (string.IsNullOrEmpty(caseSensitiveSourceName))
            {
                ErrorText = $"{SourceProjectDirectory.Name} solution file could not be found.";
                return(null);
            }

            // Photoshop convention: lower-cased folder
            var targetPath = $"{ParentPath}\\{NewProjectName.ToLower()}";
            var targetDir  = Directory.CreateDirectory(targetPath);

            // Don't try to replace the contents of a folder
            if (targetDir.GetDirectories().Length > 0 ||
                targetDir.GetFiles().Length > 0)
            {
                ErrorText = "Can't create project. Target directory is not empty.";
                return(null);
            }

            await IOUtility.CopyFilesRecursivelyAsync(SourceProjectDirectory, targetDir, getNameCallback : (string name) =>
            {
                var newName = name.ReplaceVariations(caseSensitiveSourceName, NewProjectName, HandleRenameConflictResolution);
                return(Task.FromResult(newName));
            });

            return(targetDir);
        }
コード例 #3
0
        private void CreateProject(DialogResult result)
        {
            lblError.Text       = "";
            _newProjectLocation = txtNewProjectLocation.Text.Trim();
            NewProjectName      = txtNewProjectName.Text.Trim();
            NewProjectType      = (ProjectType)cbxProjectType.SelectedValue;

            if (string.IsNullOrEmpty(NewProjectName) || string.IsNullOrEmpty(_newProjectLocation) || !Directory.Exists(_newProjectLocation))
            {
                lblError.Text = "Error: Please enter a valid project name and location";
            }
            else
            {
                try
                {
                    NewProjectPath = Path.Combine(_newProjectLocation, NewProjectName);
                    bool isInvalidProjectName = new[] { @"/", @"\" }.Any(c => NewProjectName.Contains(c));
                    if (isInvalidProjectName)
                    {
                        throw new Exception("Illegal characters in path");
                    }

                    if (!Directory.Exists(NewProjectPath))
                    {
                        Directory.CreateDirectory(NewProjectPath);
                        Action       = ProjectAction.CreateProject;
                        DialogResult = result;
                    }
                    else
                    {
                        lblError.Text = "Error: Project already exists";
                    }
                }
                catch (Exception ex)
                {
                    lblError.Text = "Error: " + ex.Message;
                }
            }
        }
コード例 #4
0
        private void AddProject(object obj)
        {
            if (ConfigProjectsCollection.Where(e => e.ProjectName.ToLower().Equals(NewProjectName.ToLower())).Any())
            {
                MessageBox.Show("Provided project already exists!");
                return;
            }

            var newConfigProjectsLibId = configProjectsLibRepository.AddNewConfigProjectsLib(NewProjectName);
            //nweConfigAreaid configArearepositoer.where.name==notAssigned
            var newConfigProjectId = configProjectRepository.AddNewConfigProjects(newConfigProjectsLibId, ConfigAreasCollection.Where(e => e.AreaName.Equals("Not assigned")).FirstOrDefault().ID);

            //ad new configprojectid (newConfigProjectsLibId, nweConfigAreaid)
            ConfigProjectsCollection.Add
            (
                new ConfigProject()
            {
                ID = newConfigProjectId,

                AreaName           = "Not assigned",
                ConfigAreaID       = ConfigAreasCollection.Where(e => e.AreaName.Equals("Not assigned")).FirstOrDefault().ID,
                ConfigProjectLibID = newConfigProjectsLibId,
                ProjectName        = NewProjectName,
                JdUploaded         = false,
                Selected           = true
            }
            );
            ConfigProjectsCollection = ConfigProjectsCollection.OrderBy(e => e.ProjectName).ToObservableCollection();

            ConfigProjectsLib configProjectsLib = new ConfigProjectsLib()
            {
                Id = newConfigProjectsLibId, ProjectName = NewProjectName, Selected = true
            };

            ///send congifdPorjecr
            configProjectMessenger.RaiseConfigProjectChanged(ConfigProjectsCollection.Where(e => e.ID == newConfigProjectId).FirstOrDefault());
        }
コード例 #5
0
        private void btnCreateProject_Click(object sender, EventArgs e)
        {
            string newProjectLocation = txtNewProjectLocation.Text.Trim();

            NewProjectName = txtNewProjectName.Text.Trim();

            if (string.IsNullOrEmpty(NewProjectName) || string.IsNullOrEmpty(newProjectLocation) || !Directory.Exists(newProjectLocation))
            {
                lblError.Text = "Error: Please enter a valid project name and location";
            }
            else
            {
                try {
                    NewProjectPath = Path.Combine(newProjectLocation, NewProjectName);
                    bool isInvalidProjectName = new[] { @"/", @"\" }.Any(c => NewProjectName.Contains(c));
                    if (isInvalidProjectName)
                    {
                        throw new Exception("Illegal characters in path");
                    }

                    if (!Directory.Exists(NewProjectPath))
                    {
                        Directory.CreateDirectory(NewProjectPath);
                        CreateProject = true;
                        DialogResult  = DialogResult.OK;
                    }
                    else
                    {
                        lblError.Text = "Error: Project already exists";
                    }
                }
                catch (Exception ex)
                {
                    lblError.Text = "Error: " + ex.Message;
                }
            }
        }