Ejemplo n.º 1
0
    public override IEnumerable <FileManagerFile> GetFiles(FileManagerFolder folder)
    {
        FileSystemData folderItem = FindFolderItem(folder);

        return
            (from dbItem in DataSource
             where !dbItem.IsFolder && dbItem.ParentId == folderItem.Id
             select new FileManagerFile(this, folder, dbItem.Name));
    }
Ejemplo n.º 2
0
    public override IEnumerable <FileManagerFolder> GetFolders(FileManagerFolder parentFolder)
    {
        FileSystemData dbFolderItem = FindFolderItem(parentFolder);

        return
            (from dbItem in DataSource
             where dbItem.IsFolder && dbItem.ParentId == dbFolderItem.Id
             select new FileManagerFolder(this, parentFolder, dbItem.Name));
    }
Ejemplo n.º 3
0
        private void CreateFileSystemCfgFile()
        {
            FileSystemData fsData = new FileSystemData();

            fsData.ConfFile.DefaultDatabase = this.textBoxDefaultDatabase.Text;
            fsData.ConfFile.DefaultSchema   = this.textBoxDefautSchema.Text;
            fsData.ConfFile.InputDir        = this.textBoxRootDirectory.Text;
            fsData.ConfFile.FileMask        = this.textBoxFileMask.Text;
            fsData.Save();
        }
Ejemplo n.º 4
0
    protected FileSystemData FindFileItem(FileManagerFile file)
    {
        FileSystemData        folderItem = FindFolderItem(file.Folder);
        List <FileSystemData> files      = DataSource.Where(x => !x.IsFolder).ToList();

        if (folderItem == null)
        {
            return(null);
        }
        return
            ((from dbItem in files
              where dbItem.ParentId == folderItem.Id && !dbItem.IsFolder && dbItem.Name == file.Name
              select dbItem).FirstOrDefault());
    }
Ejemplo n.º 5
0
        public static FileSystemData Read(string systemFilePath)
        {
            var fileContent = File.ReadAllText(systemFilePath);
            var match       = Regex.Match(fileContent, @"(class\s+)(\S+)");

            if (match?.Groups.Count != 3)
            {
                return(null);
            }
            var className  = match.Groups[2].Value;
            var systemType = AppDomain.CurrentDomain.GetAssemblies()
                             .SelectMany(a => a.GetTypes())
                             .First(t => t.Name == className);

            var isSystem = typeof(SystemBase).IsAssignableFrom(systemType);

            if (!isSystem)
            {
                return(null);
            }

            var systemName = className;

            if (systemName.EndsWith("System"))
            {
                systemName = systemName.Substring(0, systemName.Length - "system".Length);
            }

            var withoutSingleComments = Regex.Replace(fileContent, @"^\s+\/\/.+$", "", RegexOptions.Multiline);
            var withoutComments       = Regex.Replace(withoutSingleComments, @"\/\*.+\*\/", "", RegexOptions.Singleline);
            var withoutWhitespaces    = Regex.Replace(withoutComments, @"[\r\n\t\f\v]+", " ");
            var lambdas = Regex.Matches(withoutWhitespaces, @"(?<=;)(\s*)(Entities.+?)(\s*;)");

            FileSystemData data = new FileSystemData()
            {
                Name    = systemName,
                Lambdas = new FileSystemLambdaData[lambdas.Count],
            };

            for (int i = 0; i < lambdas.Count; i++)
            {
                var lambda     = lambdas[i];
                var lambdaData = ProcessLambda(lambda.Groups[2].Value);
                data.Lambdas[i] = lambdaData;
            }

            return(data);
        }
Ejemplo n.º 6
0
    protected string GetRelativeName(FileSystemData folder)
    {
        FileSystemData root = GetRootFolder();

        if (folder.Id == root.Id)
        {
            return(string.Empty);
        }
        if (folder.ParentId == root.Id)
        {
            return(folder.Name);
        }
        var    folders = DataSource.Where(x => x.IsFolder);
        string name    = GetRelativeName(folders.Where(x => x.Id == folder.ParentId).FirstOrDefault());

        return(name == null ? null : Path.Combine(name, folder.Name));
    }
Ejemplo n.º 7
0
    public override void RenameFolder(FileManagerFolder folder, string name)
    {
        FileSystemData item = FindFolderItem(folder);

        item.Name = name;
    }
Ejemplo n.º 8
0
    public override void RenameFile(FileManagerFile file, string name)
    {
        FileSystemData item = FindFileItem(file);

        item.Name = name;
    }
Ejemplo n.º 9
0
    public override void MoveFolder(FileManagerFolder folder, FileManagerFolder newParentFolder)
    {
        FileSystemData item = FindFolderItem(folder);

        item.ParentId = FindFolderItem(newParentFolder).Id;
    }
Ejemplo n.º 10
0
    public override void MoveFile(FileManagerFile file, FileManagerFolder newParentFolder)
    {
        FileSystemData item = FindFileItem(file);

        item.ParentId = FindFolderItem(newParentFolder).Id;
    }
Ejemplo n.º 11
0
    public override void DeleteFolder(FileManagerFolder folder)
    {
        FileSystemData item = FindFolderItem(folder);

        DataSource.Remove(item);
    }
Ejemplo n.º 12
0
    public override void DeleteFile(FileManagerFile file)
    {
        FileSystemData item = FindFileItem(file);

        DataSource.Remove(item);
    }