public void MoveToRecycleBin(string id) { CheckIsValid(); string src = id; string dst; if (VirtualDrive.ExistsDirectory(id)) { dst = Path.Combine(RootDir, RecycleBinNameDir()); SafeOperations.MoveDirectory(src, dst); } else if (VirtualDrive.ExistsFile(id)) { dst = Path.Combine(RootDir, RecycleBinNameFile()); VirtualDrive.MoveFile(src, dst); } else { throw new Exception("\"" + id + "\" does not exist!"); } recycledToSrc[dst] = src; srcToRecycled[src] = dst; }
public void Restore(string id) { CheckIsValid(); string recycled = srcToRecycled[id]; string src = id; if (VirtualDrive.ExistsDirectory(recycled)) { SafeOperations.MoveDirectory(recycled, src); } else if (VirtualDrive.ExistsFile(recycled)) { VirtualDrive.MoveFile(recycled, src); } else { throw new Exception("\"" + id + "\" not found!"); } recycledToSrc.Remove(recycled); srcToRecycled.Remove(src); }