Ejemplo n.º 1
0
        public SystemFile[] GetQuotasForOrganization(SystemFile[] folders)
        {
            var windows = new WebsitePanel.Providers.OS.Windows2012();

            var quotasArray = new Dictionary <string, Dictionary <string, Quota> >();

            foreach (var folder in folders)
            {
                var parentFolderPath = Directory.GetParent(folder.FullName).ToString();

                var quotas = quotasArray.ContainsKey(parentFolderPath)
                    ? quotasArray[parentFolderPath]
                    : windows.GetQuotasForOrganization(parentFolderPath, string.Empty, string.Empty);

                if (quotas.ContainsKey(folder.FullName) == false)
                {
                    continue;
                }

                var quota = quotas[folder.FullName];

                if (quota != null)
                {
                    folder.Size          = quota.Usage;
                    folder.FsrmQuotaType = quota.QuotaType;

                    if (folder.Size == -1)
                    {
                        folder.Size = FileUtils.BytesToMb(FileUtils.CalculateFolderSize(folder.FullName));
                    }
                }
            }

            return(folders);
        }
Ejemplo n.º 2
0
        public SystemFile[] GetFolders(string organizationId, WebDavSetting[] settings)
        {
            ArrayList items = new ArrayList();

            var webDavSettings = GetWebDavSettings(settings);

            foreach (var setting in webDavSettings)
            {
                string rootPath = string.Format("{0}:\\{1}\\{2}", setting.LocationDrive, setting.HomeFolder,
                                                organizationId);

                var windows = new WebsitePanel.Providers.OS.Windows2012();

                if (Directory.Exists(rootPath))
                {
                    DirectoryInfo root   = new DirectoryInfo(rootPath);
                    IWebDav       webdav = new Web.WebDav(setting);

                    // get directories
                    DirectoryInfo[] dirs   = root.GetDirectories();
                    var             quotas = windows.GetQuotasForOrganization(rootPath, string.Empty, string.Empty);

                    foreach (DirectoryInfo dir in dirs)
                    {
                        string fullName = System.IO.Path.Combine(rootPath, dir.Name);

                        SystemFile folder = new SystemFile();

                        folder.Name        = dir.Name;
                        folder.FullName    = dir.FullName;
                        folder.IsDirectory = true;

                        if (quotas.ContainsKey(fullName))
                        {
                            folder.Size = quotas[fullName].Usage;

                            if (folder.Size == -1)
                            {
                                folder.Size = FileUtils.BytesToMb(FileUtils.CalculateFolderSize(dir.FullName));
                            }

                            folder.Url           = string.Format("https://{0}/{1}/{2}", setting.Domain, organizationId, dir.Name);
                            folder.Rules         = webdav.GetFolderWebDavRules(organizationId, dir.Name);
                            folder.FRSMQuotaMB   = quotas[fullName].Size;
                            folder.FRSMQuotaGB   = windows.ConvertMegaBytesToGB(folder.FRSMQuotaMB);
                            folder.FsrmQuotaType = quotas[fullName].QuotaType;

                            items.Add(folder);
                        }
                    }
                }
            }

            return((SystemFile[])items.ToArray(typeof(SystemFile)));
        }
Ejemplo n.º 3
0
        public SystemFile[] GetQuotasForOrganization(SystemFile[] folders)
        {
            var windows = new WebsitePanel.Providers.OS.Windows2012();

            var quotasArray = new Dictionary<string, Dictionary<string, Quota>>();

            foreach (var folder in folders)
            {
                var parentFolderPath = Directory.GetParent(folder.FullName).ToString();

                var quotas = quotasArray.ContainsKey(parentFolderPath)
                    ? quotasArray[parentFolderPath]
                    : windows.GetQuotasForOrganization(parentFolderPath, string.Empty, string.Empty);

                if (quotas.ContainsKey(folder.FullName) == false)
                {
                    continue;
                }

                var quota = quotas[folder.FullName];

                if (quota != null)
                {
                    folder.Size = quota.Usage;
                    folder.FsrmQuotaType = quota.QuotaType;

                    if (folder.Size == -1)
                    {
                        folder.Size = FileUtils.BytesToMb(FileUtils.CalculateFolderSize(folder.FullName));
                    }
                }
            }

            return folders;
        }
Ejemplo n.º 4
0
        public SystemFile[] GetFolders(string organizationId, WebDavSetting[] settings)
        {
            ArrayList items = new ArrayList();

            var webDavSettings = GetWebDavSettings(settings);

            foreach (var setting in webDavSettings)
            {
                string rootPath = string.Format("{0}:\\{1}\\{2}", setting.LocationDrive, setting.HomeFolder,
                    organizationId);

                var windows = new WebsitePanel.Providers.OS.Windows2012();

                if (Directory.Exists(rootPath))
                {
                    DirectoryInfo root = new DirectoryInfo(rootPath);
                    IWebDav webdav = new Web.WebDav(setting);

                    // get directories
                    DirectoryInfo[] dirs = root.GetDirectories();
                    var quotas = windows.GetQuotasForOrganization(rootPath, string.Empty, string.Empty);

                    foreach (DirectoryInfo dir in dirs)
                    {
                        string fullName = System.IO.Path.Combine(rootPath, dir.Name);

                        SystemFile folder = new SystemFile();

                        folder.Name = dir.Name;
                        folder.FullName = dir.FullName;
                        folder.IsDirectory = true;

                        if (quotas.ContainsKey(fullName))
                        {
                            folder.Size = quotas[fullName].Usage;

                            if (folder.Size == -1)
                            {
                                folder.Size = FileUtils.BytesToMb(FileUtils.CalculateFolderSize(dir.FullName));
                            }

                            folder.Url = string.Format("https://{0}/{1}/{2}", setting.Domain, organizationId, dir.Name);
                            folder.Rules = webdav.GetFolderWebDavRules(organizationId, dir.Name);
                            folder.FRSMQuotaMB = quotas[fullName].Size;
                            folder.FRSMQuotaGB = windows.ConvertMegaBytesToGB(folder.FRSMQuotaMB);
                            folder.FsrmQuotaType = quotas[fullName].QuotaType;

                            items.Add(folder);
                        }
                    }
                }
            }

            return (SystemFile[]) items.ToArray(typeof (SystemFile));
        }