Example #1
0
        public IEnumerable <WidgetType> LoadWidgetTypes()
        {
            if (controlTypes == null || controlTypes.Count <= 0)
            {
                controlTypes = new List <WidgetType>();
                var conFiles = fileProvider.GetFiles("Widgets/*", "*.cshtml", false)
                               .Union(fileProvider.GetFiles("Widgets", "*.cshtml", false));
                var moduleFiles = fileProvider.GetFiles("Modules/*/Widgets/*", "*.cshtml", false)
                                  .Union(fileProvider.GetFiles("Modules/*/Widgets", "*.cshtml", false));

                conFiles.ForEach(f =>
                {
                    WidgetType tt = new WidgetType();
                    tt.Name       = f.FileNameWithoutExtension();
                    tt.Path       = "~/" + fileProvider.MakeRelative(f.FullName);
                    tt.Category   = f.Directory.Name.ToLower() == "widgets" ? "" : f.Directory.Name;
                    tt.Parameters = GetParameters(f.FullName);

                    controlTypes.Add(tt);
                });
                moduleFiles.ForEach(f =>
                {
                    WidgetType tt = new WidgetType();
                    tt.Name       = f.FileNameWithoutExtension();
                    tt.Path       = "~/" + fileProvider.MakeRelative(f.FullName);
                    tt.Category   = f.Directory.Name.ToLower() == "widgets" ? "" : f.Directory.Name;
                    tt.Module     = f.Directory.Name.ToLower() == "widgets" ? f.Directory.Parent.Name : f.Directory.Parent.Parent.Name;
                    tt.Parameters = GetParameters(f.FullName);

                    controlTypes.Add(tt);
                });
            }

            return(controlTypes);
        }
Example #2
0
        public IDirectory(string directoryPath, int flags, IFileSystemProvider provider)
        {
            _commands = new Dictionary <int, ServiceProcessRequest>
            {
                { 0, Read },
                { 1, GetEntryCount }
            };

            _provider     = provider;
            DirectoryPath = directoryPath;

            _directoryEntries = new List <DirectoryEntry>();

            if ((flags & 1) != 0)
            {
                _directoryEntries.AddRange(provider.GetDirectories(directoryPath));
            }

            if ((flags & 2) != 0)
            {
                _directoryEntries.AddRange(provider.GetFiles(directoryPath));
            }

            _currentItemIndex = 0;
        }
Example #3
0
        protected virtual void DeleteOldZipFiles(DirectoryInfo directory)
        {
            var oldZips = fileSystemProvider.GetFiles(directory, "*.zip");

            if (oldZips.Length <= 1)
            {
                return;
            }

            Array.Sort(oldZips, new FileInfoCompare());

            var files = new List <FileInfo>(oldZips);

            files.RemoveAt(0);  //do not delete the most current file

            foreach (var file in files)
            {
                try
                {
                    fileSystemProvider.DeleteFile(file.FullName);
                }
                catch (Exception ex)
                {
                    log.Error(ex);
                }
            }
        }
Example #4
0
        public IDirectory(string DirectoryPath, int Flags, IFileSystemProvider Provider)
        {
            m_Commands = new Dictionary <int, ServiceProcessRequest>()
            {
                { 0, Read },
                { 1, GetEntryCount }
            };

            this.Provider      = Provider;
            this.DirectoryPath = DirectoryPath;

            DirectoryEntries = new List <DirectoryEntry>();

            if ((Flags & 1) != 0)
            {
                DirectoryEntries.AddRange(Provider.GetDirectories(DirectoryPath));
            }

            if ((Flags & 2) != 0)
            {
                DirectoryEntries.AddRange(Provider.GetFiles(DirectoryPath));
            }

            CurrentItemIndex = 0;
        }
Example #5
0
        public dynamic Files(string owner, string path, int orderBy = 0, int pi = 0, int ps = 50)
        {
            if (string.IsNullOrEmpty(owner))
            {
                owner = "public";
            }
            path = string.Concat(owner, "/", path);
            var files = fileProvider.GetFiles(path, "*.*");

            switch (orderBy)
            {
            case 1:
                files = files.OrderBy(o => o.Name);
                break;

            case 0:
            default:
                files = files.OrderByDescending(o => o.CreationTime);
                break;
            }

            if (pi >= 0 && ps > 0)
            {
                files = files.Skip(pi * ps).Take(ps);
            }
            var vfs = files.Where(f => !f.Name.StartsWith("_")).Select(f => new
            {
                name         = f.Name,
                url          = UrlHelper.ClientUrl(rootPath.UriCombine(fileProvider.MakeRelative(f.FullName))),
                size         = FileType.GetFriendlyFileSize((int)f.Length),
                creationTime = f.CreationTime.ToString("yyyy-MM-dd")
            }).ToArray();

            return(vfs);
        }
Example #6
0
        public IEnumerable <TemplateType> LoadTemplateTypes()
        {
            if (templateTypes == null || templateTypes.Count <= 0)
            {
                templateTypes = new List <TemplateType>();
                fileProvider.GetFiles(null, "*.cshtml", false)
                .ForEach(f =>
                {
                    TemplateType tt = new TemplateType();
                    tt.Name         = f.FileNameWithoutExtension();
                    tt.Path         = f.Name;
                    tt.Sections     = GetSections(f.FullName);

                    templateTypes.Add(tt);
                });
            }

            return(templateTypes);
        }
Example #7
0
        private void ConfigureRoute(string baseDirectory)
        {
            //Get All files in directory
            var files = _fileSystemProvider.GetFiles(
                baseDirectory, _configManager.Configuration.FileTypes).ToList();

            foreach (var fileInfo in files)
            {
                var directory = fileInfo.Directory ?? new DirectoryInfo(baseDirectory);
                var route     = MapRouteModel(directory, fileInfo);
                Routes[route.Url] = route;
            }

            var subDirectories = _fileSystemProvider.GetDirectories(baseDirectory, "*", SearchOption.AllDirectories);

            //Recersively Call the ConfigureRoute(string path) method to populate all routes.
            foreach (var directoryInfo in subDirectories)
            {
                ConfigureRoute(directoryInfo.FullName);
            }
        }