public override int GetHashCode() { return(ProviderType.GetHashCode() ^ CustomDirectory.GetHashCode() ^ Enabled.GetHashCode() ^ DefaultSimulator.GetHashCode()); }
public void GetCustomDirectories(string path) { var dirinfo = new DirectoryInfo(path); CustomDirectory.Items.Clear(); try { foreach (var directory in dirinfo.GetDirectories()) { var dir = new CustomDirectory { Name = directory.FullName, ShortName = directory.FullName.Remove(0, directory.FullName.LastIndexOf('\\') + 1), DateCreated = directory.CreationTime, Type = "File folder", Size = "", }; CustomDirectory.Items.Add(dir); } } catch (System.UnauthorizedAccessException) { System.Console.WriteLine("Got Exception"); } }
public IEnumerable<CustomFile> AllEnumerable(CustomDirectory dir) { List<CustomFile> list = new List<CustomFile>(); var baseDir = dir.PhysicalPath; if (Directory.Exists(baseDir)) { //output directory foreach (var folder in IO.IOUtility.EnumerateDirectoriesExludeHidden(baseDir)) { var customFile = new CustomFile(); customFile.Site = dir.Site; customFile.FileType = "Folder"; customFile.Name = folder.Name; customFile.Directory = new CustomDirectory(dir, customFile.Name); list.Add(customFile); } //output files foreach (var file in IO.IOUtility.EnumerateFilesExludeHidden(baseDir)) { var customFile = new CustomFile(file.FullName); customFile.Site = dir.Site; customFile.Directory = new CustomDirectory(dir, customFile.Name); list.Add(customFile); } } return list; }
public virtual ActionResult Index(string search, string fullName) { CustomDirectory di = new CustomDirectory(Site, fullName ?? ""); var data = Manager.All(di); return(View(data)); }
/// <summary> /// The file URL. /// </summary> /// <param name="relativeFilePath">The relative file path.</param> /// <param name="withCDNResolving">if set to <c>true</c> [with CDN resolving].</param> /// <returns></returns> public virtual IHtmlString FileUrl(string relativeFilePath, bool withCDNResolving) { Site site = this.Site; var dir = Path.GetDirectoryName(relativeFilePath); CustomFile file; if (string.IsNullOrEmpty(dir)) { file = new CustomFile(site, relativeFilePath); } else { CustomDirectory customDir = new CustomDirectory(site, dir).LastVersion(); file = new CustomFile(customDir, Path.GetFileName(relativeFilePath)); } file = file.LastVersion(); if (withCDNResolving) { return(ResourceCDNUrl(file.VirtualPath)); } else { return(new HtmlString(Url.Content(file.VirtualPath))); } }
public override void Execute(CustomDirectoriesViewModel contextViewModel, object parameter) { if (parameter is not CustomDirectory customDir) { customDir = new CustomDirectory(); } Helper.OpenWindow <AdonisWindow>("Custom Directory", () => { var index = contextViewModel.GetIndex(customDir); var input = new CustomDir(customDir); var result = input.ShowDialog(); if (!result.HasValue || !result.Value || string.IsNullOrEmpty(customDir.Header) && string.IsNullOrEmpty(customDir.DirectoryPath)) { return; } if (index > 1) { contextViewModel.Edit(index, customDir); } else { contextViewModel.Add(customDir); } }); }
public IEnumerable <CustomFile> AllEnumerable(CustomDirectory dir) { List <CustomFile> list = new List <CustomFile>(); var baseDir = dir.PhysicalPath; if (Directory.Exists(baseDir)) { //output directory foreach (var folder in IO.IOUtility.EnumerateDirectoriesExludeHidden(baseDir)) { var customFile = new CustomFile(); customFile.Site = dir.Site; customFile.FileType = "Folder"; customFile.Name = folder.Name; customFile.Directory = new CustomDirectory(dir, customFile.Name); list.Add(customFile); } //output files foreach (var file in IO.IOUtility.EnumerateFilesExludeHidden(baseDir)) { var customFile = new CustomFile(file.FullName); customFile.Site = dir.Site; customFile.Directory = new CustomDirectory(dir, customFile.Name); list.Add(customFile); } } return(list); }
public virtual void CreateDirectory(Site site, CustomDirectory parentDir, string folderName) { var dir = parentDir != null ? new CustomDirectory(parentDir, folderName) : new CustomDirectory(); dir.Name = folderName; dir.Site = site; dir.Create(); }
public CustomDir(CustomDirectory customDir) { DataContext = customDir; InitializeComponent(); Activate(); WpfSuckMyDick.Focus(); WpfSuckMyDick.SelectAll(); }
public virtual ActionResult Export(string fullName) { CustomDirectory dir = new CustomDirectory(Site, fullName ?? ""); var fileName = GetZipFileName(fullName ?? ""); Response.AttachmentHeader(fileName); Manager.Export(dir, Response.OutputStream); return(null); }
public virtual ActionResult Import(string fullName, bool @override) { if (Request.Files.Count > 0 && Request.Files[0].ContentLength > 0) { CustomDirectory dir = new CustomDirectory(Site, fullName ?? ""); var file = Request.Files["file"]; Manager.Import(Site, dir, file.InputStream, @override); } return(RedirectToAction("Index", new { fullName = fullName })); }
public void TestPhysicalPath() { string dirName = "dir1"; var site = new Site("Site1"); var dir = new CustomDirectory(site, new string[] { dirName }); string expected1 = Path.Combine(site.PhysicalPath, "files", dirName); Assert.AreEqual(expected1, dir.PhysicalPath, true); }
public void TestVirtualPath() { string dirName = "page1"; var site = new Site("Site1"); var dir = new CustomDirectory(site, new string[] { dirName }); string expected1 = Kooboo.Web.Url.UrlUtility.Combine(site.VirtualPath, "files", dirName); Assert.AreEqual(expected1, dir.VirtualPath, true); }
public void TestParseFromPhysicalPath() { string siteName = "site1"; string dirName = "dir1"; string physicalPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "sites", siteName, "files", dirName); var page = new CustomDirectory(physicalPath); Assert.AreEqual(dirName, page.Name); Assert.AreEqual(siteName, page.Site.Name); }
public void TestChildPhysicalPath() { string parentDir = "dir1"; var site = new Site("Site1"); var parent = new CustomDirectory(site, new string[] { parentDir }); string dir2 = "dir2"; var child = new CustomDirectory(parent, dir2); string expected1 = Path.Combine(site.PhysicalPath, "files", parentDir, dir2); Assert.AreEqual(expected1, child.PhysicalPath, true); }
public void Import(Site site, CustomDirectory dir, Stream zipStream, bool @override) { locker.EnterWriteLock(); try { ImportHelper.Import(site, dir.PhysicalPath, zipStream, @override); } finally { locker.ExitWriteLock(); } }
public XElement Serialize(string name) { var elem = new XElement[] { ((int)ProviderType).Serialize("Type"), CustomDirectory.Serialize("Path"), Enabled.Serialize("Enabled"), (DefaultSimulator.HasValue ? ((int)DefaultSimulator):-1).Serialize("Sim") }; return(new XElement(name, elem)); }
public void Export(CustomDirectory dir, Stream outputStream) { locker.EnterReadLock(); try { ImportHelper.Export(new[] { dir }, outputStream); } finally { locker.ExitReadLock(); } }
public virtual void SaveFile(Site site, string fullName, string fileName, Stream fileSream) { if (!string.IsNullOrEmpty(fullName)) { var nameArr = CustomDirectoryHelper.SplitFullName(fullName); CustomDirectory di = new CustomDirectory(site, nameArr); CustomFile file = new CustomFile(di, fileName); file.Save(fileSream); } else { CustomFile file = new CustomFile(site, fileName); file.Save(fileSream); } }
/// <summary> /// The file URL. /// </summary> /// <param name="relativeFilePath">The relative file path.</param> /// <returns></returns> public virtual IHtmlString FileUrl(string relativeFilePath) { Site site = this.PageRequestContext.Site; var dir = Path.GetDirectoryName(relativeFilePath); CustomFile file; if (string.IsNullOrEmpty(dir)) { file = new CustomFile(site, relativeFilePath); } else { CustomDirectory customDir = new CustomDirectory(site, dir).LastVersion(); file = new CustomFile(customDir, Path.GetFileName(relativeFilePath)); } file = file.LastVersion(); return(ResourceCDNUrl(file.VirtualPath)); }
public virtual void Delete(Site site, string fullName, string fileName) { var nameArr = CustomDirectoryHelper.SplitFullName(fullName); var count = nameArr.Count(); if (count <= 1)//0级目录 { //CustomDirectory di = new CustomDirectory(site, nameArr.Take(count - 1).ToArray()); CustomFile imgFile = new CustomFile(site, fileName); imgFile.Delete(); } else { CustomDirectory di = new CustomDirectory(site, nameArr.Take(count - 1).ToArray()); CustomFile imgFile = new CustomFile(di, fileName); imgFile.Delete(); } }
private void PasteIntoDir(object sender, RoutedEventArgs e) { CustomDirectory selectedDirectory = (CustomDirectory)trvMenu.SelectedItem; MainWindow mainWindow = System.Windows.Application.Current.Windows.OfType <MainWindow>().FirstOrDefault(); string selectedFile = mainWindow.ctrChildView.selected; string selectedFileName = Path.GetFileName(selectedFile); string newPath = Path.Combine(selectedDirectory.Name, selectedFileName); File.Copy(selectedFile, newPath); mainWindow.ctrChildView.Custom.Items.Add(new CustomFile() { Name = selectedFile, ShortName = selectedFileName, Size = new FileInfo(selectedFile).Length / 512 + " KB", Type = Path.GetExtension(selectedFile), DateCreated = new FileInfo(selectedFile).CreationTime, }); }
public string CreateDirectory(string fullName) { Msg msg = new Msg(); try { string folderName = Request.Form["folderName"]; var nameArr = !string.IsNullOrEmpty(fullName) ? CustomDirectoryHelper.SplitFullName(fullName) : new string[] { }; CustomDirectory di = !string.IsNullOrEmpty(fullName) ? new CustomDirectory(this.Site, nameArr) : null; Manager.CreateDirectory(this.Site, di, folderName); msg.Success = true; } catch (Exception e) { msg.Success = false; msg.ErrMsg = e.Message; } return(msg.ToJSON()); }
public virtual ActionResult File(string name) { var dir = Path.GetDirectoryName(name); CustomFile file; if (string.IsNullOrEmpty(dir)) { file = new CustomFile(Site, name); } else { CustomDirectory customDir = new CustomDirectory(Site, dir).LastVersion(); file = new CustomFile(customDir, Path.GetFileName(name)); } file = file.LastVersion(); if (file.Exists()) { SetCache(Response, 2592000, "*"); return File(file.PhysicalPath, IOUtility.MimeType(file.PhysicalPath)); } return null; }
public virtual ActionResult File(string name) { var dir = Path.GetDirectoryName(name); CustomFile file; if (string.IsNullOrEmpty(dir)) { file = new CustomFile(Site, name); } else { CustomDirectory customDir = new CustomDirectory(Site, dir).LastVersion(); file = new CustomFile(customDir, Path.GetFileName(name)); } file = file.LastVersion(); if (file.Exists()) { SetCache(Response, 2592000, "*"); return(File(file.PhysicalPath, IOUtility.MimeType(file.PhysicalPath))); } return(null); }
private void OnItemSelected(object sender, RoutedEventArgs e) { TreeViewItem source = e.OriginalSource as TreeViewItem; MainWindow mainWindow = System.Windows.Application.Current.Windows.OfType <MainWindow>().FirstOrDefault(); try { CustomDrive sourceItem = (CustomDrive)source.Header; mainWindow.ctrChildView.Custom.Items.Clear(); foreach (var item in sourceItem.Items) { mainWindow.ctrChildView.Custom.Items.Add(item); } } catch (InvalidCastException) { try { CustomDirectory sourceItem = (CustomDirectory)source.Header; CustomItemController = new CustomItemController() { CustomDirectory = sourceItem }; var files = CustomItemController.GetCustomFiles(sourceItem.Name); mainWindow.ctrChildView.Custom.Items.Clear(); foreach (var item in sourceItem.Items) { mainWindow.ctrChildView.Custom.Items.Add(item); } foreach (var file in files) { mainWindow.ctrChildView.Custom.Items.Add(file); } } catch (InvalidCastException) { } } }
private void OnExpanded(object sender, RoutedEventArgs e) { TreeViewItem source = e.OriginalSource as TreeViewItem; try { CustomDrive sourceItem = (CustomDrive)source.Header; foreach (CustomDirectory dir in sourceItem.Items) { dir.ShortName = dir.Name.Remove(0, dir.Name.LastIndexOf("\\") + 1); CustomItemController = new CustomItemController() { CustomDirectory = dir }; CustomItemController.GetCustomDirectories(dir.Name); } } catch (InvalidCastException) { try { CustomDirectory sourceItem = (CustomDirectory)source.Header; foreach (var dir in sourceItem.Items) { if (dir.Type.Equals("File folder")) { CustomItemController = new CustomItemController() { CustomDirectory = (CustomDirectory)dir }; CustomItemController.GetCustomDirectories(dir.Name); } } } catch (InvalidCastException) { } } }
private void AddFile() { try { MainWindow mainWindow = System.Windows.Application.Current.Windows.OfType <MainWindow>().FirstOrDefault(); CustomItemWithCollection sourceItem = Custom; CustomDirectory customDirectory = mainWindow.ctrTreeView.trvMenu.SelectedItem as CustomDirectory; bool isExist = false; foreach (var file in Custom.Items) { if (Path.GetFileNameWithoutExtension(file.Name).Equals("New file")) { isExist = true; } } if (!isExist) { string newFilePath = $"{customDirectory.Name}" + @"\New file.txt"; File.CreateText(newFilePath); CustomFile item = new CustomFile { Name = newFilePath, ShortName = @"New file.txt", DateCreated = DateTime.Now, Type = Path.GetExtension(newFilePath), Size = new FileInfo(newFilePath).Length / 512 + " KB" }; Custom.Items.Add(item); } else { MessageBox.Show("File name already exist", "Alert", MessageBoxButton.OK, MessageBoxImage.Error); } isExist = false; } catch (NullReferenceException) { MessageBox.Show("File name already exist", "Alert", MessageBoxButton.OK, MessageBoxImage.Error); } }
/// <summary> /// The file URL. /// </summary> /// <param name="relativeFilePath">The relative file path.</param> /// <param name="withCDNResolving">if set to <c>true</c> [with CDN resolving].</param> /// <returns></returns> public virtual IHtmlString FileUrl(string relativeFilePath, bool withCDNResolving) { Site site = this.Site; var dir = Path.GetDirectoryName(relativeFilePath); CustomFile file; if (string.IsNullOrEmpty(dir)) { file = new CustomFile(site, relativeFilePath); } else { CustomDirectory customDir = new CustomDirectory(site, dir).LastVersion(); file = new CustomFile(customDir, Path.GetFileName(relativeFilePath)); } file = file.LastVersion(); if (withCDNResolving) { return ResourceCDNUrl(file.VirtualPath); } else { return new HtmlString(Url.Content(file.VirtualPath)); } }
public virtual void Import(Site site, CustomDirectory dir, Stream stream, bool @override) { ((ICustomFileProvider)Provider).Import(site, dir, stream, @override); }
public virtual void Export(CustomDirectory dir, Stream stream) { ((ICustomFileProvider)Provider).Export(dir, stream); }
public IQueryable<CustomFile> All(CustomDirectory dir) { return AllEnumerable(dir).AsQueryable(); }
public virtual ActionResult Export(string fullName) { CustomDirectory dir = new CustomDirectory(Site, fullName ?? ""); var fileName = GetZipFileName(fullName ?? ""); Response.AttachmentHeader(fileName); Manager.Export(dir, Response.OutputStream); return null; }
public virtual ActionResult Index(string search, string fullName) { CustomDirectory di = new CustomDirectory(Site, fullName ?? ""); var data = Manager.All(di); return View(data); }
/// <summary> /// The file URL. /// </summary> /// <param name="relativeFilePath">The relative file path.</param> /// <returns></returns> public virtual IHtmlString FileUrl(string relativeFilePath) { Site site = this.PageRequestContext.Site; var dir = Path.GetDirectoryName(relativeFilePath); CustomFile file; if (string.IsNullOrEmpty(dir)) { file = new CustomFile(site, relativeFilePath); } else { CustomDirectory customDir = new CustomDirectory(site, dir).LastVersion(); file = new CustomFile(customDir, Path.GetFileName(relativeFilePath)); } file = file.LastVersion(); return ResourceCDNUrl(file.VirtualPath); }
public IQueryable <CustomFile> All(CustomDirectory dir) { return(AllEnumerable(dir).AsQueryable()); }
public virtual ActionResult Import(string fullName, bool @override) { if (Request.Files.Count > 0 && Request.Files[0].ContentLength > 0) { CustomDirectory dir = new CustomDirectory(Site, fullName ?? ""); var file = Request.Files["file"]; Manager.Import(Site, dir, file.InputStream, @override); } return RedirectToAction("Index", new { fullName = fullName }); }
public CustomFile(CustomDirectory dir, string fileName) : base(dir.Site, fileName) { this.Directory = dir; }
public List <string> ProcessFilesFromFolder(string folder) { return(CustomDirectory.GetFiles(folder, "*.doc|*.docx", SearchOption.AllDirectories)); }