/// <summary> /// Rename project both in file system and internal system. /// </summary> /// <param name="project"></param> /// <param name="title"></param> public void RenameProject(Project project, string title) { string projectPath = Path.Combine(AppPath, Helper.GenerateName(project.Id, GetAvailableName(title, project.Id, AppPath))); try { Directory.Move(project.GetPath(), projectPath); } catch (IOException e) { // Should not be accesible Console.WriteLine(e.Message); } project.Title = title; }
public override void RemoveProject(Project project) { if (Projects.Count() == 1) { throw new ArgumentException("You cannot delete all projects"); } if (!Directory.Exists(project.GetPath())) { throw new ArgumentException("Project folder does not exist (" + project.GetPath() + ")"); } Document[] removeDocuments = project.Documents.ToArray(); foreach (Document document in removeDocuments) { RemoveDocument(document); } Folder[] removeFolders = project.Folders.ToArray(); foreach (Folder subFolder in removeFolders) { RemoveFolder(subFolder); } Directory.Delete(project.GetPath()); Projects.Remove(project); }