private FileManagerEntry CopyEntry(string target, FileManagerEntry entry) { var path = NormalizePath(entry.Path); var physicalPath = Server.MapPath(path); var physicalTarget = EnsureUniqueName(NormalizePath(target), entry); FileManagerEntry newEntry; if (entry.IsDirectory) { CopyDirectory(new DirectoryInfo(physicalPath), Directory.CreateDirectory(physicalTarget)); newEntry = directoryProvider.GetDirectory(physicalTarget); } else { System.IO.File.Copy(physicalPath, physicalTarget); newEntry = directoryProvider.GetFile(physicalTarget); } return(newEntry); }