public Sql8rProject NewProject(string fileName) { var fi = new FileInfo(fileName); string fname = fi.Name.Replace(fi.Extension, string.Empty); DirectoryInfo baseDir = fi.Directory; var projDir = new DirectoryInfo(baseDir + @"\" + fname); FileInfo file; if (projDir.Exists) { MessageBox.Show("Folder/project already exists!", DialogHelper.Instance.GetApplicationName()); file = new FileInfo(projDir + @"\" + fi.Name); if (file.Exists) { return(null); } } else { projDir.Create(); file = new FileInfo(projDir + @"\" + fi.Name); } var pro = new Sql8rProject(fname, projDir); pro.FullFileName = projDir + @"\" + fi.Name; prj = pro; SaveProjectAsXml(pro.FullFileName); return(pro); }
public Sql8rProject LoadProject(string fileName) { var baseFile = new FileInfo(fileName); if (baseFile.Exists) { FileStream fs = new FileStream(fileName, FileMode.Open); XmlSerializer xs = new XmlSerializer(typeof(Sql8rProject)); Sql8rProject pro = (Sql8rProject)xs.Deserialize(fs); pro.FullFileName = fileName; DirectoryInfo baseDir = baseFile.Directory; pro.BaseDir = baseDir; foreach (Sql8rProjectFile _file in pro.ProjectFiles) { // var fi = new FileInfo(_file.Path); // pro.Files.Add(fi); } fs.Close(); pro.IsModified = false; prj = pro; return(pro); } return(null); }
public void OpenProject(string fileName) { Sql8rProject pro = SQL8rProjectHandler.Instance.LoadProject(fileName); presentFiles(pro); MainPresenter.Instance.OpenPane(MainPresenter.DockedPaneKeys.Files); handleProjectModifiedStatus(); updateRecentProject(fileName); }
private void tsbNewProject_Click(object sender, EventArgs e) { SaveFileDialog sfd = DialogFactory.Instance.GetCreateProjectDialog(); if (sfd.ShowDialog() == DialogResult.OK) { Sql8rProject pro = SQL8rProjectHandler.Instance.NewProject(sfd.FileName); if (pro != null) { presentFiles(pro); } MainPresenter.Instance.OpenPane(MainPresenter.DockedPaneKeys.Files); handleProjectModifiedStatus(); } }
public Sql8rProject LoadProject(string fileName) { var baseFile = new FileInfo(fileName); if (baseFile.Exists) { DirectoryInfo baseDir = baseFile.Directory; prj = new Project(); prj.Load(fileName); string name = baseFile.Name; var pro = new Sql8rProject(name, baseDir); foreach (BuildItem o in prj.GetEvaluatedItemsByNameIgnoringCondition("None")) { string itemName = o.Include; string filePath = Path.Combine(baseDir.FullName, itemName); var projectFile = new Sql8rProjectFile(Path.GetFileName(filePath), filePath); pro.ProjectFiles.Add(projectFile); } foreach (BuildItem o in prj.GetEvaluatedItemsByNameIgnoringCondition("Compile")) { string itemName = o.Include; string filePath = Path.Combine(baseDir.FullName, itemName); var projectFile = new Sql8rProjectFile(Path.GetFileName(filePath), filePath); pro.ProjectFiles.Add(projectFile); } return(pro); } return(null); }
public Sql8rProject ImportProject(Sql8rProject oldProject) { prj = oldProject; return(prj); }
private void presentFiles(Sql8rProject pro) { _view.tvwProject.BeginUpdate(); _view.tvwProject.Nodes.Clear(); var pNode = new ProjectNode(pro.Name, pro.BaseDir); _view.tvwProject.Nodes.Add(pNode); foreach (Sql8rProjectFile file in pro.ProjectFiles) { string relName = file.Path.Replace(pNode.FolderObject.FullName, ""); if (relName.StartsWith(Path.DirectorySeparatorChar.ToString(), StringComparison.OrdinalIgnoreCase)) { relName = relName.Substring(1, relName.Length - 1); } UltraTreeNode parentNode = pNode; if (relName.Contains(Path.DirectorySeparatorChar.ToString())) { IList <string> partlist = relName.Split(new[] { Path.DirectorySeparatorChar }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < partlist.Count - 1; i++) { string s = Path.Combine(pNode.FolderObject.FullName, partlist[i]); var di = new DirectoryInfo(s); var foNode = new FolderNode(di); if (!parentNode.Nodes.Exists(foNode.Key)) { parentNode.Nodes.Add(foNode); parentNode = foNode; } else { parentNode = parentNode.Nodes[foNode.Key]; } } } var fiNode = new FileNode(new FileInfo(file.Path)); parentNode.Nodes.Add(fiNode); } foreach (Sql8rProjectFolder folder in pro.ProjectFolders) { string relName = folder.Path.Replace(pNode.FolderObject.FullName, ""); if (relName.StartsWith(Path.DirectorySeparatorChar.ToString(), StringComparison.OrdinalIgnoreCase)) { relName = relName.Substring(1, relName.Length - 1); } UltraTreeNode parentNode = pNode; if (relName.Contains(Path.DirectorySeparatorChar.ToString())) { IList <string> partlist = relName.Split(new[] { Path.DirectorySeparatorChar }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < partlist.Count - 1; i++) { string s = Path.Combine(pNode.FolderObject.FullName, partlist[i]); var di = new DirectoryInfo(s); var foNode = new FolderNode(di); if (!parentNode.Nodes.Exists(foNode.Key)) { parentNode.Nodes.Add(foNode); parentNode = foNode; } else { parentNode = parentNode.Nodes[foNode.Key]; } } } var parentFolderNode = new FolderNode(new DirectoryInfo(folder.Path)); if (!parentNode.Nodes.Exists(parentFolderNode.Key)) { parentNode.Nodes.Add(parentFolderNode); } } pNode.Expanded = true; pNode.Selected = true; _view.tvwProject.EndUpdate(); }