Adding the photo in WSP Active Directory users. part 1

This commit is contained in:
dev_amdtel 2015-05-21 17:17:18 +03:00
parent 2d1d464c43
commit 642890f4dc
5 changed files with 136 additions and 1 deletions

View file

@ -768,8 +768,8 @@ namespace WebsitePanel.EnterpriseServer
{ {
return ExchangeServerController.SetExchangeAccountDisclaimerId(itemId, AccountID, ExchangeDisclaimerId); return ExchangeServerController.SetExchangeAccountDisclaimerId(itemId, AccountID, ExchangeDisclaimerId);
} }
[WebMethod]
[WebMethod]
public int GetExchangeAccountDisclaimerId(int itemId, int AccountID) public int GetExchangeAccountDisclaimerId(int itemId, int AccountID)
{ {
return ExchangeServerController.GetExchangeAccountDisclaimerId(itemId, AccountID); return ExchangeServerController.GetExchangeAccountDisclaimerId(itemId, AccountID);
@ -777,5 +777,19 @@ namespace WebsitePanel.EnterpriseServer
#endregion #endregion
#region Picture
[WebMethod]
public ResultObject SetPicture(string accountName, byte[] picture)
{
return ExchangeServerController.SetPicture(accountName, picture);
}
[WebMethod]
public BytesResult GetPicture(string accountName)
{
return ExchangeServerController.GetPicture(accountName);
}
#endregion
} }
} }

View file

@ -28,6 +28,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using WebsitePanel.Providers.Common; using WebsitePanel.Providers.Common;
using WebsitePanel.Providers.ResultObjects;
namespace WebsitePanel.Providers.HostedSolution namespace WebsitePanel.Providers.HostedSolution
{ {
@ -151,5 +152,9 @@ namespace WebsitePanel.Providers.HostedSolution
ResultObject RemoveRetentionPolicyTag(string Identity); ResultObject RemoveRetentionPolicyTag(string Identity);
ResultObject SetRetentionPolicy(string Identity, string[] RetentionPolicyTagLinks); ResultObject SetRetentionPolicy(string Identity, string[] RetentionPolicyTagLinks);
ResultObject RemoveRetentionPolicy(string Identity); ResultObject RemoveRetentionPolicy(string Identity);
// Picture
ResultObject SetPicture(string accountName, byte[] picture);
BytesResult GetPicture(string accountName);
} }
} }

View file

@ -49,6 +49,7 @@ using WebsitePanel.Providers.HostedSolution;
using WebsitePanel.Providers.Utils; using WebsitePanel.Providers.Utils;
using WebsitePanel.Server.Utils; using WebsitePanel.Server.Utils;
using WebsitePanel.Providers.Common; using WebsitePanel.Providers.Common;
using WebsitePanel.Providers.ResultObjects;
using Microsoft.Exchange.Data.Directory.Recipient; using Microsoft.Exchange.Data.Directory.Recipient;
using Microsoft.Win32; using Microsoft.Win32;
@ -7969,6 +7970,67 @@ namespace WebsitePanel.Providers.HostedSolution
#endregion #endregion
#region Picture
public virtual ResultObject SetPicture(string accountName, byte[] picture)
{
ExchangeLog.LogStart("SetPicture");
ResultObject res = new ResultObject() { IsSuccess = true };
Runspace runSpace = null;
try
{
runSpace = OpenRunspace();
Command cmd;
cmd = new Command("Import-RecipientDataProperty");
cmd.Parameters.Add("Identity", accountName);
cmd.Parameters.Add("Picture", true);
cmd.Parameters.Add("FileData", picture);
ExecuteShellCommand(runSpace, cmd, res);
}
finally
{
CloseRunspace(runSpace);
}
ExchangeLog.LogEnd("SetPicture");
return res;
}
public virtual BytesResult GetPicture(string accountName)
{
ExchangeLog.LogStart("GetPicture");
BytesResult res = new BytesResult() { IsSuccess = true };
Runspace runSpace = null;
try
{
runSpace = OpenRunspace();
Command cmd;
cmd = new Command("Export-RecipientDataProperty");
cmd.Parameters.Add("Identity", accountName);
cmd.Parameters.Add("Picture", true);
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd, res);
if (result.Count > 0)
{
//res.Value = ;
}
}
finally
{
CloseRunspace(runSpace);
}
ExchangeLog.LogEnd("GetPicture");
return res;
}
#endregion
} }
} }

View file

@ -48,6 +48,7 @@ using WebsitePanel.Providers.Common;
using WebsitePanel.Providers.HostedSolution; using WebsitePanel.Providers.HostedSolution;
using WebsitePanel.Providers.Utils; using WebsitePanel.Providers.Utils;
using WebsitePanel.Server.Utils; using WebsitePanel.Server.Utils;
using WebsitePanel.Providers.ResultObjects;
using Microsoft.Exchange.Data.Directory.Recipient; using Microsoft.Exchange.Data.Directory.Recipient;
using Microsoft.Win32; using Microsoft.Win32;
@ -7146,5 +7147,17 @@ namespace WebsitePanel.Providers.HostedSolution
#endregion #endregion
#region Picture
public virtual ResultObject SetPicture(string accountName, byte[] picture)
{
// not implemented
return null;
}
public virtual BytesResult GetPicture(string accountName)
{
// not implemented
return null;
}
#endregion
} }
} }

View file

@ -33,6 +33,7 @@ using System.Web.Services.Protocols;
using System.Collections.Generic; using System.Collections.Generic;
using WebsitePanel.Providers; using WebsitePanel.Providers;
using WebsitePanel.Providers.HostedSolution; using WebsitePanel.Providers.HostedSolution;
using WebsitePanel.Providers.ResultObjects;
using WebsitePanel.Server.Utils; using WebsitePanel.Server.Utils;
using Microsoft.Web.Services3; using Microsoft.Web.Services3;
using WebsitePanel.Providers.Common; using WebsitePanel.Providers.Common;
@ -1389,6 +1390,46 @@ namespace WebsitePanel.Server
#endregion #endregion
#region Picture
[WebMethod, SoapHeader("settings")]
public ResultObject SetPicture(string accountName, byte[] picture)
{
ResultObject res = null;
try
{
LogStart("SetPicture");
res = ES.SetPicture(accountName, picture);
LogEnd("SetPicture");
}
catch (Exception ex)
{
LogError("SetPicture", ex);
throw;
}
return res;
}
[WebMethod, SoapHeader("settings")]
public BytesResult GetPicture(string accountName)
{
BytesResult res = null;
try
{
LogStart("GetPicture");
res = ES.GetPicture(accountName);
LogEnd("SetPicture");
}
catch (Exception ex)
{
LogError("GetPicture", ex);
throw;
}
return res;
}
#endregion
protected void LogStart(string func) protected void LogStart(string func)
{ {
Log.WriteStart("'{0}' {1}", ProviderSettings.ProviderName, func); Log.WriteStart("'{0}' {1}", ProviderSettings.ProviderName, func);