Merge
This commit is contained in:
commit
3e0a0c94db
5 changed files with 140 additions and 5 deletions
|
@ -586,7 +586,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
var userGroups = OrganizationController.GetSecurityGroupsByMember(itemId, accountId);
|
||||
|
||||
foreach (var folder in es.GetFolders(org.OrganizationId, webDavSettings))
|
||||
foreach (var folder in es.GetFoldersWithoutFrsm(org.OrganizationId, webDavSettings))
|
||||
{
|
||||
var permissions = ConvertToESPermission(itemId,folder.Rules);
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
public interface IEnterpriseStorage
|
||||
{
|
||||
SystemFile[] GetFolders(string organizationId, WebDavSetting[] settings);
|
||||
SystemFile[] GetFoldersWithoutFrsm(string organizationId, WebDavSetting[] settings);
|
||||
SystemFile GetFolder(string organizationId, string folderName, WebDavSetting setting);
|
||||
void CreateFolder(string organizationId, string folder, WebDavSetting setting);
|
||||
SystemFile RenameFolder(string organizationId, string originalFolder, string newFolder, WebDavSetting setting);
|
||||
|
|
|
@ -122,6 +122,49 @@ namespace WebsitePanel.Providers.EnterpriseStorage
|
|||
return (SystemFile[]) items.ToArray(typeof (SystemFile));
|
||||
}
|
||||
|
||||
public SystemFile[] GetFoldersWithoutFrsm(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);
|
||||
|
||||
if (Directory.Exists(rootPath))
|
||||
{
|
||||
DirectoryInfo root = new DirectoryInfo(rootPath);
|
||||
IWebDav webdav = new Web.WebDav(setting);
|
||||
|
||||
// get directories
|
||||
DirectoryInfo[] dirs = root.GetDirectories();
|
||||
|
||||
foreach (DirectoryInfo dir in dirs)
|
||||
{
|
||||
SystemFile folder = new SystemFile();
|
||||
|
||||
folder.Name = dir.Name;
|
||||
folder.FullName = dir.FullName;
|
||||
folder.IsDirectory = true;
|
||||
|
||||
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);
|
||||
|
||||
items.Add(folder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (SystemFile[])items.ToArray(typeof(SystemFile));
|
||||
}
|
||||
|
||||
public SystemFile GetFolder(string organizationId, string folderName, WebDavSetting setting)
|
||||
{
|
||||
var webDavSetting = GetWebDavSetting(setting);
|
||||
|
|
|
@ -11,10 +11,6 @@
|
|||
//
|
||||
// This source code was auto-generated by wsdl, Version=2.0.50727.3038.
|
||||
//
|
||||
|
||||
using WebsitePanel.Providers.OS;
|
||||
using WebsitePanel.Providers.Web;
|
||||
|
||||
namespace WebsitePanel.Providers.EnterpriseStorage {
|
||||
using System.Xml.Serialization;
|
||||
using System.Web.Services;
|
||||
|
@ -22,6 +18,8 @@ namespace WebsitePanel.Providers.EnterpriseStorage {
|
|||
using System.Web.Services.Protocols;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using WebsitePanel.Providers.OS;
|
||||
using WebsitePanel.Providers.Web;
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
|
@ -36,6 +34,8 @@ namespace WebsitePanel.Providers.EnterpriseStorage {
|
|||
|
||||
private System.Threading.SendOrPostCallback GetFoldersOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback GetFoldersWithoutFrsmOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback GetFolderOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback CreateFolderOperationCompleted;
|
||||
|
@ -60,6 +60,9 @@ namespace WebsitePanel.Providers.EnterpriseStorage {
|
|||
/// <remarks/>
|
||||
public event GetFoldersCompletedEventHandler GetFoldersCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event GetFoldersWithoutFrsmCompletedEventHandler GetFoldersWithoutFrsmCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event GetFolderCompletedEventHandler GetFolderCompleted;
|
||||
|
||||
|
@ -129,6 +132,51 @@ namespace WebsitePanel.Providers.EnterpriseStorage {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetFoldersWithoutFrsm", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public SystemFile[] GetFoldersWithoutFrsm(string organizationId, WebDavSetting[] settings) {
|
||||
object[] results = this.Invoke("GetFoldersWithoutFrsm", new object[] {
|
||||
organizationId,
|
||||
settings});
|
||||
return ((SystemFile[])(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginGetFoldersWithoutFrsm(string organizationId, WebDavSetting[] settings, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("GetFoldersWithoutFrsm", new object[] {
|
||||
organizationId,
|
||||
settings}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public SystemFile[] EndGetFoldersWithoutFrsm(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((SystemFile[])(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetFoldersWithoutFrsmAsync(string organizationId, WebDavSetting[] settings) {
|
||||
this.GetFoldersWithoutFrsmAsync(organizationId, settings, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetFoldersWithoutFrsmAsync(string organizationId, WebDavSetting[] settings, object userState) {
|
||||
if ((this.GetFoldersWithoutFrsmOperationCompleted == null)) {
|
||||
this.GetFoldersWithoutFrsmOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFoldersWithoutFrsmOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("GetFoldersWithoutFrsm", new object[] {
|
||||
organizationId,
|
||||
settings}, this.GetFoldersWithoutFrsmOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnGetFoldersWithoutFrsmOperationCompleted(object arg) {
|
||||
if ((this.GetFoldersWithoutFrsmCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.GetFoldersWithoutFrsmCompleted(this, new GetFoldersWithoutFrsmCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetFolder", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
|
@ -544,6 +592,32 @@ namespace WebsitePanel.Providers.EnterpriseStorage {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void GetFoldersWithoutFrsmCompletedEventHandler(object sender, GetFoldersWithoutFrsmCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class GetFoldersWithoutFrsmCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal GetFoldersWithoutFrsmCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public SystemFile[] Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((SystemFile[])(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void GetFolderCompletedEventHandler(object sender, GetFolderCompletedEventArgs e);
|
||||
|
|
|
@ -75,6 +75,23 @@ namespace WebsitePanel.Server
|
|||
}
|
||||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public SystemFile[] GetFoldersWithoutFrsm(string organizationId, WebDavSetting[] settings)
|
||||
{
|
||||
try
|
||||
{
|
||||
Log.WriteStart("'{0}' GetFolders", ProviderSettings.ProviderName);
|
||||
SystemFile[] result = EnterpriseStorageProvider.GetFoldersWithoutFrsm(organizationId, settings);
|
||||
Log.WriteEnd("'{0}' GetFolders", ProviderSettings.ProviderName);
|
||||
return result;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.WriteError(String.Format("'{0}' GetFolders", ProviderSettings.ProviderName), ex);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public SystemFile GetFolder(string organizationId, string folder, WebDavSetting setting)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue