示例#1
0
        FileProjectItem CreateNewFile(DirectoryNode upper, string fileName)
        {
            upper.Expanding();

            FileNode fileNode = new FileNode(fileName, FileNodeStatus.InProject);

            fileNode.AddTo(upper);
            fileNode.EnsureVisible();
            return(IncludeFileInProject.IncludeFileNode(fileNode));
        }
        public static FileProjectItem CopyFile(string fileName, DirectoryNode node, bool includeInProject)
        {
            string copiedFileName = Path.Combine(node.Directory, Path.GetFileName(fileName));

            if (!FileUtility.IsEqualFileName(fileName, copiedFileName))
            {
                FileService.CopyFile(fileName, copiedFileName, false, true);
            }
            if (includeInProject)
            {
                FileNode fileNode;
                foreach (TreeNode childNode in node.AllNodes)
                {
                    if (childNode is FileNode)
                    {
                        fileNode = (FileNode)childNode;
                        if (FileUtility.IsEqualFileName(fileNode.FileName, copiedFileName))
                        {
                            if (fileNode.FileNodeStatus == FileNodeStatus.Missing)
                            {
                                fileNode.FileNodeStatus = FileNodeStatus.InProject;
                            }
                            else if (fileNode.FileNodeStatus == FileNodeStatus.None)
                            {
                                return(IncludeFileInProject.IncludeFileNode(fileNode));
                            }
                            return(fileNode.ProjectItem as FileProjectItem);
                        }
                    }
                }
                fileNode = new FileNode(copiedFileName);
                fileNode.InsertSorted(node);
                return(IncludeFileInProject.IncludeFileNode(fileNode));
            }
            return(null);
        }