public override INode DoCreate(bool createParent) { if (!createParent) { if (!this.Address.IsRoot && !ParentDirectory.Exists) { throw new IOException(); } // Mono crashes with ** ERROR **: file object.c: line 1301 (mono_object_get_virtual_method): assertion failed: (res) // DictionaryBasedNodeAttributes attribs = this.Attributes; var attribs = ((DictionaryBasedNodeAttributes)base.Attributes); using (attribs.GetAutoLock().Lock()) { attribs.SetValue <bool>("Exists", true); } return(this); } if (!this.Address.IsRoot && !ParentDirectory.Exists) { ParentDirectory.Create(true); } this.Attributes.SetValue <bool>("Exists", true); ((ImaginaryDirectory)ParentDirectory).Add(this); return(this); }
/// <summary> /// Tries to get the path to a directory, recursively adding all the directories above it if necessary /// </summary> /// <param name="Info">Info for the directory to find</param> /// <param name="Result">On success, receives the directory</param> /// <returns>True if the directory exists</returns> static bool TryGetDirectoryInternal(DirectoryInfo Info, out WorkspaceDirectory Result) { DirectoryInfo ParentInfo = Info.Parent; if (ParentInfo == null) { // Try to find an existing root directory that matches this directory, or add a new one DirectoryReference Location = new DirectoryReference(Info); if (!RootDirectories.TryGetValue(Location, out Result)) { Result = RootDirectories.GetOrAdd(Location, new WorkspaceDirectory(Info)); } return(true); } else { // Get the parent directory WorkspaceDirectory ParentDirectory; if (!TryGetDirectoryInternal(ParentInfo, out ParentDirectory)) { Result = null; return(false); } // Look for a directory within this directory return(ParentDirectory.TryGetDirectory(Info.Name, out Result)); } }
public ActionResult DeleteConfirmed(int id) { ParentDirectory parentDirectory = db.ParentDirectories.Find(id); db.ParentDirectories.Remove(parentDirectory); db.SaveChanges(); return(RedirectToAction("Index")); }
public void ClearPermission() { if (ParentDirectory == this) { return; } ParentDirectory.ClearPermission(); this.Permission = ParentDirectory.Permission; }
public void Rename(string newName) { string newPath = (HasParentDirectory ? ParentDirectory.GetPathWithSeparator() + newName : newName); System.IO.Directory.Move(Path, newPath); // Update Directory info UpdateInfoFrom(FromPath(newPath)); }
private void BuildPathRecursive(StringBuilder stringBuilder) { if (ParentDirectory != null) { ParentDirectory.BuildPathRecursive(stringBuilder); stringBuilder.Append('/'); } stringBuilder.Append(Name); }
public void ClearPermission() { if (ParentDirectory.VirtualPath == "/") { return; } ParentDirectory.ClearPermission(); this.Permission = ParentDirectory.Permission; }
public ActionResult Edit([Bind(Include = "ID,Name,Address,Email,PhoneNum,CreateDate")] ParentDirectory parentDirectory) { if (ModelState.IsValid) { db.Entry(parentDirectory).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(parentDirectory)); }
/// <summary> /// Create the file if it does not already exist. /// </summary> public void Create() { if (!Exists) { // This will recursively create parent directory if any of them not existed. ParentDirectory.Create(); System.IO.File.Create(Path).Dispose(); } }
public string GetPath() { string directoryPath = ParentDirectory == null ? null : ParentDirectory.GetPath(); if (String.IsNullOrEmpty(directoryPath)) { return(Name); } return(directoryPath + "/" + Name); }
public ActionResult Create([Bind(Include = "ID,Name,Address,Email,PhoneNum,CreateDate")] ParentDirectory parentDirectory) { if (ModelState.IsValid) { db.ParentDirectories.Add(parentDirectory); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(parentDirectory)); }
// GET: ParentDirectories/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ParentDirectory parentDirectory = db.ParentDirectories.Find(id); if (parentDirectory == null) { return(HttpNotFound()); } return(View(parentDirectory)); }
protected override void CleanupInternal() { if (Token != null) { if (UploadHandler.GetTransferStatus(Token.TransferId) != TransferStatus.UnknownTransfer) { UploadHandler.CancelTransfer(Token.TransferId, AbortReason.Undefined); } } SystemTime.Reset(); ParentDirectory.Delete(true); base.CleanupInternal(); }
private void OnEndEditName() { if (EditName != Name) { if (CAssetRegistry.Instance.RenameFolder(Path, EditName)) { Name = EditName; ParentDirectory?.UpdateSubDirectories(); } else { EditName = Name; } } }
public DirectoryInfo[] SearchParrentDirectory()//Return array Parent directory at devise { DirectoryInfo[] dire = new DirectoryInfo[0]; foreach (DriveInfo n in DriveInfo.GetDrives()) //Return all drive { if (n.IsReady) { if (n.TotalSize != 0) //if TotalSize is do not equals zero { Array.Resize(ref dire, dire.Length + 1); dire[dire.Length - 1] = new DirectoryInfo(n.Name); } } } for (int i = 0; i < dire.Length; i++) { dire[i] = dire[i].Root; //Root directory for drive // while (dire[i].Parent != null) // { // dire[i] = dire[i].Parent; // } } ParentDirectory <DirectoryInfo> par = new ParentDirectory <DirectoryInfo>(); dire = par.ParDire(dire, new EquateI()); //remove and root directory from the array if there is one similar to it DriveInfo[] drive = new DriveInfo[dire.Length]; foreach (DirectoryInfo dir in par.ParDire(dire, new EquateI())) { int i = 0; drive[i] = new DriveInfo(dir.Name); i++; } Sort <DriveInfo> sort = new Sort <DriveInfo>(); //Fast sort(TotalSize) drive = sort.FastSort(drive, new Comparison()); dire = new DirectoryInfo[0]; foreach (DriveInfo n in drive) { Array.Resize(ref dire, dire.Length + 1); dire[dire.Length - 1] = new DirectoryInfo(n.Name); } return(dire); }
public void Delete() { // Ensure that this file/directory and all children are writable MakeWritable(true); // Also ensure the directory containing this file/directory is writable, // otherwise we will not be able to delete it ParentDirectory.MakeWritable(false); if (Directory.Exists(this)) { Directory.Delete(this, true); } else if (File.Exists(this)) { File.Delete(this); } }
/// <summary> /// Adds a new project based on the supplied template file /// </summary> /// <param name="projectName"></param> /// <param name="templateFile"></param> public SolutionProject AddProjectFromTemplate(string projectName, string templateFile) { var existing = FindProject(projectName); if (existing != null) { ThrowExceptions.ArgumentOutOfRangeException(Exc.GetStackTrace(), type, Exc.CallingMethod(), "projectName", "Project with this name ({0}) already exists in the solution".ToFormat(projectName)); } var project = MSBuildProject.CreateFromFile(projectName, templateFile); var csProjFile = new CsProjFile(ParentDirectory.AppendPath(projectName, projectName + ".csproj"), project); csProjFile.ProjectGuid = Guid.NewGuid(); var reference = new SolutionProject(csProjFile, ParentDirectory); _projects.Add(reference); return(reference); }
/// <summary> /// Moves the Directory to a new Directory. /// </summary> /// <returns>The Directory to move to.</returns> /// <param name="to">The moved Directory.</param> public Directory MoveTo(Directory to) => ParentDirectory.MoveDirectory(this, to);
public FilePath ChangeName(string newName) { return(ParentDirectory.Combine(newName) + Extension); }
public void Requesting_For_Token_Should_Be_Denied() { var subDir = ParentDirectory.CreateSubdirectory("SomeFolder"); UploadHandler.RequestUploadToken(subDir.FullName, true, SourceFilePath.Length, "bin"); }