Added ability to apply exchange and lync plan templates to all tenants. Plan
will only be added is the planName does not exist yet for this tenant. Added ability to match exchange plan (based on size and mapi) to mail enabled users (room and equipment) and add the mailbox plan to the object for all users who has no plan assigned yet configured generate_es_proxies.bat added Allowed admins to delete reseller space
This commit is contained in:
parent
985ed949b5
commit
31fb739b18
12 changed files with 545 additions and 64 deletions
|
@ -26,7 +26,6 @@
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
|
@ -114,6 +113,8 @@ namespace WebsitePanel.EnterpriseServer {
|
||||||
|
|
||||||
private System.Threading.SendOrPostCallback DisableMailboxOperationCompleted;
|
private System.Threading.SendOrPostCallback DisableMailboxOperationCompleted;
|
||||||
|
|
||||||
|
private System.Threading.SendOrPostCallback GetMailboxAdvancedSettingsOperationCompleted;
|
||||||
|
|
||||||
private System.Threading.SendOrPostCallback GetMailboxGeneralSettingsOperationCompleted;
|
private System.Threading.SendOrPostCallback GetMailboxGeneralSettingsOperationCompleted;
|
||||||
|
|
||||||
private System.Threading.SendOrPostCallback SetMailboxGeneralSettingsOperationCompleted;
|
private System.Threading.SendOrPostCallback SetMailboxGeneralSettingsOperationCompleted;
|
||||||
|
@ -304,6 +305,9 @@ namespace WebsitePanel.EnterpriseServer {
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public event DisableMailboxCompletedEventHandler DisableMailboxCompleted;
|
public event DisableMailboxCompletedEventHandler DisableMailboxCompleted;
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
public event GetMailboxAdvancedSettingsCompletedEventHandler GetMailboxAdvancedSettingsCompleted;
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public event GetMailboxGeneralSettingsCompletedEventHandler GetMailboxGeneralSettingsCompleted;
|
public event GetMailboxGeneralSettingsCompletedEventHandler GetMailboxGeneralSettingsCompleted;
|
||||||
|
|
||||||
|
@ -1775,6 +1779,50 @@ namespace WebsitePanel.EnterpriseServer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMailboxAdvancedSettings", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
|
public ExchangeMailbox GetMailboxAdvancedSettings(int itemId, int accountId) {
|
||||||
|
object[] results = this.Invoke("GetMailboxAdvancedSettings", new object[] {
|
||||||
|
itemId,
|
||||||
|
accountId});
|
||||||
|
return ((ExchangeMailbox)(results[0]));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
public System.IAsyncResult BeginGetMailboxAdvancedSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
|
||||||
|
return this.BeginInvoke("GetMailboxAdvancedSettings", new object[] {
|
||||||
|
itemId,
|
||||||
|
accountId}, callback, asyncState);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
public ExchangeMailbox EndGetMailboxAdvancedSettings(System.IAsyncResult asyncResult) {
|
||||||
|
object[] results = this.EndInvoke(asyncResult);
|
||||||
|
return ((ExchangeMailbox)(results[0]));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
public void GetMailboxAdvancedSettingsAsync(int itemId, int accountId) {
|
||||||
|
this.GetMailboxAdvancedSettingsAsync(itemId, accountId, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
public void GetMailboxAdvancedSettingsAsync(int itemId, int accountId, object userState) {
|
||||||
|
if ((this.GetMailboxAdvancedSettingsOperationCompleted == null)) {
|
||||||
|
this.GetMailboxAdvancedSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxAdvancedSettingsOperationCompleted);
|
||||||
|
}
|
||||||
|
this.InvokeAsync("GetMailboxAdvancedSettings", new object[] {
|
||||||
|
itemId,
|
||||||
|
accountId}, this.GetMailboxAdvancedSettingsOperationCompleted, userState);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnGetMailboxAdvancedSettingsOperationCompleted(object arg) {
|
||||||
|
if ((this.GetMailboxAdvancedSettingsCompleted != null)) {
|
||||||
|
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||||
|
this.GetMailboxAdvancedSettingsCompleted(this, new GetMailboxAdvancedSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMailboxGeneralSettings", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMailboxGeneralSettings", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
public ExchangeMailbox GetMailboxGeneralSettings(int itemId, int accountId) {
|
public ExchangeMailbox GetMailboxGeneralSettings(int itemId, int accountId) {
|
||||||
|
@ -5196,6 +5244,32 @@ namespace WebsitePanel.EnterpriseServer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||||
|
public delegate void GetMailboxAdvancedSettingsCompletedEventHandler(object sender, GetMailboxAdvancedSettingsCompletedEventArgs e);
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||||
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
|
public partial class GetMailboxAdvancedSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||||
|
|
||||||
|
private object[] results;
|
||||||
|
|
||||||
|
internal GetMailboxAdvancedSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||||
|
base(exception, cancelled, userState) {
|
||||||
|
this.results = results;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
public ExchangeMailbox Result {
|
||||||
|
get {
|
||||||
|
this.RaiseExceptionIfNecessary();
|
||||||
|
return ((ExchangeMailbox)(this.results[0]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||||
public delegate void GetMailboxGeneralSettingsCompletedEventHandler(object sender, GetMailboxGeneralSettingsCompletedEventArgs e);
|
public delegate void GetMailboxGeneralSettingsCompletedEventHandler(object sender, GetMailboxGeneralSettingsCompletedEventArgs e);
|
||||||
|
|
|
@ -236,12 +236,19 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[WebMethod]
|
||||||
|
public ExchangeMailbox GetMailboxAdvancedSettings(int itemId, int accountId)
|
||||||
|
{
|
||||||
|
return ExchangeServerController.GetMailboxAdvancedSettings(itemId, accountId);
|
||||||
|
}
|
||||||
|
|
||||||
[WebMethod]
|
[WebMethod]
|
||||||
public ExchangeMailbox GetMailboxGeneralSettings(int itemId, int accountId)
|
public ExchangeMailbox GetMailboxGeneralSettings(int itemId, int accountId)
|
||||||
{
|
{
|
||||||
return ExchangeServerController.GetMailboxGeneralSettings(itemId, accountId);
|
return ExchangeServerController.GetMailboxGeneralSettings(itemId, accountId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
[WebMethod]
|
[WebMethod]
|
||||||
public int SetMailboxGeneralSettings(int itemId, int accountId, bool hideAddressBook, bool disabled)
|
public int SetMailboxGeneralSettings(int itemId, int accountId, bool hideAddressBook, bool disabled)
|
||||||
{
|
{
|
||||||
|
|
|
@ -5164,4 +5164,22 @@
|
||||||
<data name="Quota.Lync.EnablePlansEditing" xml:space="preserve">
|
<data name="Quota.Lync.EnablePlansEditing" xml:space="preserve">
|
||||||
<value>Enable Lync User Plans Editing</value>
|
<value>Enable Lync User Plans Editing</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Error.EXCHANGE_APPLYPLANTEMPLATE" xml:space="preserve">
|
||||||
|
<value>Failed to apply plans template</value>
|
||||||
|
</data>
|
||||||
|
<data name="Success.EXCHANGE_APPLYPLANTEMPLATE" xml:space="preserve">
|
||||||
|
<value>Succesfully applied plans template</value>
|
||||||
|
</data>
|
||||||
|
<data name="Error.EXCHANGE_MATCHPLANS" xml:space="preserve">
|
||||||
|
<value>Failed to match plans</value>
|
||||||
|
</data>
|
||||||
|
<data name="Success.EXCHANGE_MATCHPLANS" xml:space="preserve">
|
||||||
|
<value>Succesfully plans matched and applied</value>
|
||||||
|
</data>
|
||||||
|
<data name="Error.LYNC_APPLYPLANTEMPLATE" xml:space="preserve">
|
||||||
|
<value>Failed to apply plans template</value>
|
||||||
|
</data>
|
||||||
|
<data name="Success.LYNC_APPLYPLANTEMPLATE" xml:space="preserve">
|
||||||
|
<value>Succesfully applied plans template</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -213,4 +213,10 @@
|
||||||
<data name="valRequireMailboxPlan.Text" xml:space="preserve">
|
<data name="valRequireMailboxPlan.Text" xml:space="preserve">
|
||||||
<value>*</value>
|
<value>*</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="btnAddMailboxPlanToOrganizations.Text" xml:space="preserve">
|
||||||
|
<value>Add Mailbox Plans Template to All Tenants</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnMatchMailboxPlanToUser.Text" xml:space="preserve">
|
||||||
|
<value>Match Mailbox Plan to User</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -2,8 +2,11 @@
|
||||||
<%@ Register Src="ExchangeServer/UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %>
|
<%@ Register Src="ExchangeServer/UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %>
|
||||||
<%@ Register Src="ExchangeServer/UserControls/DaysBox.ascx" TagName="DaysBox" TagPrefix="wsp" %>
|
<%@ Register Src="ExchangeServer/UserControls/DaysBox.ascx" TagName="DaysBox" TagPrefix="wsp" %>
|
||||||
<%@ Register Src="UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %>
|
<%@ Register Src="UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %>
|
||||||
|
<%@ Register Src="UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||||
|
<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
|
||||||
|
|
||||||
|
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
|
||||||
|
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||||
<asp:GridView id="gvMailboxPlans" runat="server" EnableViewState="true" AutoGenerateColumns="false"
|
<asp:GridView id="gvMailboxPlans" runat="server" EnableViewState="true" AutoGenerateColumns="false"
|
||||||
Width="100%" EmptyDataText="gvMailboxPlans" CssSelectorClass="NormalGridView" OnRowCommand="gvMailboxPlan_RowCommand" >
|
Width="100%" EmptyDataText="gvMailboxPlans" CssSelectorClass="NormalGridView" OnRowCommand="gvMailboxPlan_RowCommand" >
|
||||||
<Columns>
|
<Columns>
|
||||||
|
@ -184,5 +187,15 @@
|
||||||
Text="Add New Mailboxplan" CssClass="Button1" OnClick="btnAddMailboxPlan_Click" />
|
Text="Add New Mailboxplan" CssClass="Button1" OnClick="btnAddMailboxPlan_Click" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="FormButtonsBarClean">
|
||||||
|
<asp:Button ID="btnAddMailboxPlanToOrganizations" runat="server" meta:resourcekey="btnAddMailboxPlanToOrganizations"
|
||||||
|
Text="Add Mailbox Plans Template to All Organizations" CssClass="Button1" OnClick="btnAddMailboxPlanToOrganizations_Click" OnClientClick="if (confirm('Plans with an existing name will not be added. \nAre you sure you want to add the plans template to all tenants ?')) ShowProgressDialog('Adding mailbox plans, this might take a while ...'); else return false;"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="FormButtonsBarClean">
|
||||||
|
<asp:Button ID="btnMatchMailboxPlanToUser" runat="server" meta:resourcekey="btnMatchMailboxPlanToUser"
|
||||||
|
Text="Match Plan to User" CssClass="Button1"
|
||||||
|
OnClientClick="if (confirm('Mail enabled users with no mailbox plan assigned will get a matching mailbox plan applied.\nMatching takes place on mailbox size and the MAPI properties.\n\nAre you sure you want to continue with this ?')) ShowProgressDialog('Applying mailbox plans, this might take a while ...'); else return false;"
|
||||||
|
onclick="btnMatchMailboxPlanToUser_Click" />
|
||||||
|
</div>
|
||||||
|
|
|
@ -238,5 +238,188 @@ namespace WebsitePanel.Portal
|
||||||
settings[UserSettings.DEFAULT_MAILBOXPLANS] = writer.ToString();
|
settings[UserSettings.DEFAULT_MAILBOXPLANS] = writer.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected void btnAddMailboxPlanToOrganizations_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
AddMailboxPlanToOrganizations("ServerAdmin");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AddMailboxPlanToOrganizations(string serverAdmin)
|
||||||
|
{
|
||||||
|
UserInfo ServerAdminInfo = ES.Services.Users.GetUserByUsername(serverAdmin);
|
||||||
|
|
||||||
|
if (ServerAdminInfo == null) return;
|
||||||
|
|
||||||
|
UserInfo[] UsersInfo = ES.Services.Users.GetUsers(ServerAdminInfo.UserId, true);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
foreach (UserInfo ui in UsersInfo)
|
||||||
|
{
|
||||||
|
PackageInfo[] Packages = ES.Services.Packages.GetPackages(ui.UserId);
|
||||||
|
|
||||||
|
if ((Packages != null) & (Packages.GetLength(0) > 0))
|
||||||
|
{
|
||||||
|
foreach (PackageInfo Package in Packages)
|
||||||
|
{
|
||||||
|
Providers.HostedSolution.Organization[] orgs = null;
|
||||||
|
|
||||||
|
orgs = ES.Services.ExchangeServer.GetExchangeOrganizations(Package.PackageId, false);
|
||||||
|
|
||||||
|
if ((orgs != null) & (orgs.GetLength(0) > 0))
|
||||||
|
{
|
||||||
|
foreach (Organization org in orgs)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(org.GlobalAddressList))
|
||||||
|
{
|
||||||
|
ExchangeMailboxPlan[] plans = ES.Services.ExchangeServer.GetExchangeMailboxPlans(org.Id);
|
||||||
|
|
||||||
|
foreach (ExchangeMailboxPlan p in list)
|
||||||
|
{
|
||||||
|
if (!PlanExists(p, plans)) ES.Services.ExchangeServer.AddExchangeMailboxPlan(org.Id, p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
messageBox.ShowSuccessMessage("EXCHANGE_APPLYPLANTEMPLATE");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
messageBox.ShowErrorMessage("EXCHANGE_APPLYPLANTEMPLATE", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool PlanExists(ExchangeMailboxPlan plan, ExchangeMailboxPlan[] plans)
|
||||||
|
{
|
||||||
|
bool result = false;
|
||||||
|
|
||||||
|
foreach (ExchangeMailboxPlan p in plans)
|
||||||
|
{
|
||||||
|
if (p.MailboxPlan.ToLower() == plan.MailboxPlan.ToLower())
|
||||||
|
{
|
||||||
|
result = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void btnMatchMailboxPlanToUser_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
MatchMailboxPlanToUser("serverAdmin");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MatchMailboxPlanToUser(string serverAdmin)
|
||||||
|
{
|
||||||
|
UserInfo ServerAdminInfo = ES.Services.Users.GetUserByUsername(serverAdmin);
|
||||||
|
|
||||||
|
if (ServerAdminInfo == null) return;
|
||||||
|
|
||||||
|
UserInfo[] UsersInfo = ES.Services.Users.GetUsers(ServerAdminInfo.UserId, true);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
foreach (UserInfo ui in UsersInfo)
|
||||||
|
{
|
||||||
|
PackageInfo[] Packages = ES.Services.Packages.GetPackages(ui.UserId);
|
||||||
|
|
||||||
|
if ((Packages != null) & (Packages.GetLength(0) > 0))
|
||||||
|
{
|
||||||
|
foreach (PackageInfo Package in Packages)
|
||||||
|
{
|
||||||
|
Providers.HostedSolution.Organization[] orgs = null;
|
||||||
|
|
||||||
|
orgs = ES.Services.ExchangeServer.GetExchangeOrganizations(Package.PackageId, false);
|
||||||
|
|
||||||
|
if ((orgs != null) & (orgs.GetLength(0) > 0))
|
||||||
|
{
|
||||||
|
foreach (Organization org in orgs)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(org.GlobalAddressList))
|
||||||
|
{
|
||||||
|
ExchangeMailboxPlan[] plans = ES.Services.ExchangeServer.GetExchangeMailboxPlans(org.Id);
|
||||||
|
|
||||||
|
ExchangeAccount[] mailboxes = ES.Services.ExchangeServer.GetAccounts(org.Id, ExchangeAccountType.Mailbox);
|
||||||
|
|
||||||
|
ExchangeAccount[] rooms = ES.Services.ExchangeServer.GetAccounts(org.Id, ExchangeAccountType.Room);
|
||||||
|
|
||||||
|
ExchangeAccount[] equipment = ES.Services.ExchangeServer.GetAccounts(org.Id, ExchangeAccountType.Equipment);
|
||||||
|
|
||||||
|
MatchExchangeAccountToPlan(org.Id, mailboxes, plans);
|
||||||
|
MatchExchangeAccountToPlan(org.Id, rooms, plans);
|
||||||
|
MatchExchangeAccountToPlan(org.Id, equipment, plans);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
messageBox.ShowSuccessMessage("EXCHANGE_MATCHPLANS");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
messageBox.ShowErrorMessage("EXCHANGE_MATCHPLANS", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MatchExchangeAccountToPlan(int itemId, ExchangeAccount[] mailboxes, ExchangeMailboxPlan[] plans)
|
||||||
|
{
|
||||||
|
|
||||||
|
foreach (ExchangeAccount a in mailboxes)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(a.MailboxPlan))
|
||||||
|
{
|
||||||
|
ExchangeMailbox mailbox = ES.Services.ExchangeServer.GetMailboxAdvancedSettings(itemId, a.AccountId);
|
||||||
|
|
||||||
|
if (mailbox != null)
|
||||||
|
{
|
||||||
|
List<ExchangeMailboxPlan> pl = new List<ExchangeMailboxPlan>();
|
||||||
|
//sort a list of similar MAPI
|
||||||
|
foreach (ExchangeMailboxPlan p in plans)
|
||||||
|
{
|
||||||
|
if (p.EnableMAPI == mailbox.EnableMAPI)
|
||||||
|
pl.Add(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
//remove plans smaller than mailbox size
|
||||||
|
ExchangeMailboxPlan p3 = null;
|
||||||
|
foreach (ExchangeMailboxPlan p2 in pl)
|
||||||
|
{
|
||||||
|
if (p2.MailboxSizeMB >= (mailbox.ProhibitSendReceiveKB / 1024))
|
||||||
|
{
|
||||||
|
if (p3 == null)
|
||||||
|
p3 = p2;
|
||||||
|
else
|
||||||
|
if ((p2.MailboxSizeMB) <= p3.MailboxSizeMB)
|
||||||
|
p3 = p2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// no matching plan, just match on size
|
||||||
|
if (p3 == null)
|
||||||
|
{
|
||||||
|
foreach (ExchangeMailboxPlan p in plans)
|
||||||
|
{
|
||||||
|
if (p.MailboxSizeMB >= (mailbox.ProhibitSendReceiveKB / 1024))
|
||||||
|
{
|
||||||
|
if (p3 == null)
|
||||||
|
p3 = p;
|
||||||
|
else
|
||||||
|
if ((p.MailboxSizeMB) <= p3.MailboxSizeMB)
|
||||||
|
p3 = p;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (p3 != null)
|
||||||
|
ES.Services.ExchangeServer.SetExchangeMailboxPlan(itemId, a.AccountId, p3.MailboxPlanId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,32 +1,4 @@
|
||||||
// Copyright (c) 2012, Outercurve Foundation.
|
//------------------------------------------------------------------------------
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
// are permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// - Redistributions of source code must retain the above copyright notice, this
|
|
||||||
// list of conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
// this list of conditions and the following disclaimer in the documentation
|
|
||||||
// and/or other materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from this
|
|
||||||
// software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
//
|
//
|
||||||
|
@ -40,6 +12,24 @@ namespace WebsitePanel.Portal {
|
||||||
|
|
||||||
public partial class SettingsExchangeMailboxPlansPolicy {
|
public partial class SettingsExchangeMailboxPlansPolicy {
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// asyncTasks control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// messageBox control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// gvMailboxPlans control.
|
/// gvMailboxPlans control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -381,5 +371,23 @@ namespace WebsitePanel.Portal {
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.Button btnAddMailboxPlan;
|
protected global::System.Web.UI.WebControls.Button btnAddMailboxPlan;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnAddMailboxPlanToOrganizations control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Button btnAddMailboxPlanToOrganizations;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnMatchMailboxPlanToUser control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Button btnMatchMailboxPlanToUser;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SettingsLyncUserPlansPolicy.ascx.cs" Inherits="WebsitePanel.Portal.SettingsLyncUserPlansPolicy" %>
|
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SettingsLyncUserPlansPolicy.ascx.cs" Inherits="WebsitePanel.Portal.SettingsLyncUserPlansPolicy" %>
|
||||||
<%@ Register Src="UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %>
|
<%@ Register Src="UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %>
|
||||||
|
<%@ Register Src="UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||||
|
<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
|
||||||
|
|
||||||
|
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
|
||||||
|
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||||
<asp:GridView id="gvPlans" runat="server" EnableViewState="true" AutoGenerateColumns="false"
|
<asp:GridView id="gvPlans" runat="server" EnableViewState="true" AutoGenerateColumns="false"
|
||||||
Width="100%" EmptyDataText="gvPlans" CssSelectorClass="NormalGridView" OnRowCommand="gvPlan_RowCommand" >
|
Width="100%" EmptyDataText="gvPlans" CssSelectorClass="NormalGridView" OnRowCommand="gvPlan_RowCommand" >
|
||||||
<Columns>
|
<Columns>
|
||||||
|
@ -133,5 +136,9 @@
|
||||||
Text="Add New plan" CssClass="Button1" OnClick="btnAddPlan_Click" />
|
Text="Add New plan" CssClass="Button1" OnClick="btnAddPlan_Click" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="FormButtonsBarClean">
|
||||||
|
<asp:Button ID="btnAddPlanToOrganizations" runat="server" meta:resourcekey="btnAddPlanToOrganizations"
|
||||||
|
Text="Add Plans Template to All Organizations" CssClass="Button1" OnClick="btnAddPlanToOrganizations_Click" OnClientClick="if (confirm('Plans with an existing name will not be added. \nAre you sure you want to add the plans template to all tenants ?')) ShowProgressDialog('Adding plans, this might take a while ...'); else return false;"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -256,6 +256,75 @@ namespace WebsitePanel.Portal
|
||||||
settings[UserSettings.DEFAULT_LYNCUSERPLANS] = writer.ToString();
|
settings[UserSettings.DEFAULT_LYNCUSERPLANS] = writer.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void btnAddPlanToOrganizations_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
AddPlanToOrganizations("ServerAdmin");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void AddPlanToOrganizations(string serverAdmin)
|
||||||
|
{
|
||||||
|
UserInfo ServerAdminInfo = ES.Services.Users.GetUserByUsername(serverAdmin);
|
||||||
|
|
||||||
|
if (ServerAdminInfo == null) return;
|
||||||
|
|
||||||
|
UserInfo[] UsersInfo = ES.Services.Users.GetUsers(ServerAdminInfo.UserId, true);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
foreach (UserInfo ui in UsersInfo)
|
||||||
|
{
|
||||||
|
PackageInfo[] Packages = ES.Services.Packages.GetPackages(ui.UserId);
|
||||||
|
|
||||||
|
if ((Packages != null) & (Packages.GetLength(0) > 0))
|
||||||
|
{
|
||||||
|
foreach (PackageInfo Package in Packages)
|
||||||
|
{
|
||||||
|
Providers.HostedSolution.Organization[] orgs = null;
|
||||||
|
|
||||||
|
orgs = ES.Services.ExchangeServer.GetExchangeOrganizations(Package.PackageId, false);
|
||||||
|
|
||||||
|
if ((orgs != null) & (orgs.GetLength(0) > 0))
|
||||||
|
{
|
||||||
|
foreach (Organization org in orgs)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(org.LyncTenantId))
|
||||||
|
{
|
||||||
|
LyncUserPlan[] plans = ES.Services.Lync.GetLyncUserPlans(org.Id);
|
||||||
|
|
||||||
|
foreach (LyncUserPlan p in list)
|
||||||
|
{
|
||||||
|
if (!PlanExists(p, plans)) ES.Services.Lync.AddLyncUserPlan(org.Id, p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
messageBox.ShowSuccessMessage("LYNC_APPLYPLANTEMPLATE");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
messageBox.ShowErrorMessage("LYNC_APPLYPLANTEMPLATE", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool PlanExists(LyncUserPlan plan, LyncUserPlan[] plans)
|
||||||
|
{
|
||||||
|
bool result = false;
|
||||||
|
|
||||||
|
foreach (LyncUserPlan p in plans)
|
||||||
|
{
|
||||||
|
if (p.LyncUserPlanName.ToLower() == plan.LyncUserPlanName.ToLower())
|
||||||
|
{
|
||||||
|
result = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,33 +1,4 @@
|
||||||
// Copyright (c) 2012, Outercurve Foundation.
|
//------------------------------------------------------------------------------
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
// are permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// - Redistributions of source code must retain the above copyright notice, this
|
|
||||||
// list of conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
// this list of conditions and the following disclaimer in the documentation
|
|
||||||
// and/or other materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from this
|
|
||||||
// software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
//
|
//
|
||||||
|
@ -41,6 +12,24 @@ namespace WebsitePanel.Portal {
|
||||||
|
|
||||||
public partial class SettingsLyncUserPlansPolicy {
|
public partial class SettingsLyncUserPlansPolicy {
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// asyncTasks control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// messageBox control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// gvPlans control.
|
/// gvPlans control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -229,5 +218,14 @@ namespace WebsitePanel.Portal {
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.Button btnAddPlan;
|
protected global::System.Web.UI.WebControls.Button btnAddPlan;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnAddPlanToOrganizations control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Button btnAddPlanToOrganizations;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,7 +88,7 @@ namespace WebsitePanel.Portal
|
||||||
lnkEditSpaceDetails.Visible = (PanelSecurity.PackageId > 1 && !ownSpace);
|
lnkEditSpaceDetails.Visible = (PanelSecurity.PackageId > 1 && !ownSpace);
|
||||||
|
|
||||||
lnkDelete.NavigateUrl = EditUrl(PortalUtils.SPACE_ID_PARAM, PanelSecurity.PackageId.ToString(), "delete");
|
lnkDelete.NavigateUrl = EditUrl(PortalUtils.SPACE_ID_PARAM, PanelSecurity.PackageId.ToString(), "delete");
|
||||||
if (PanelSecurity.LoggedUser.Role != UserRole.Reseller)
|
if (!((PanelSecurity.LoggedUser.Role == UserRole.Reseller) | (PanelSecurity.LoggedUser.Role == UserRole.Administrator)))
|
||||||
lnkDelete.Visible = false;
|
lnkDelete.Visible = false;
|
||||||
else
|
else
|
||||||
lnkDelete.Visible = ((PanelSecurity.SelectedUserId != PanelSecurity.EffectiveUserId) && (PanelSecurity.PackageId > 1));
|
lnkDelete.Visible = ((PanelSecurity.SelectedUserId != PanelSecurity.EffectiveUserId) && (PanelSecurity.PackageId > 1));
|
||||||
|
|
|
@ -2,5 +2,103 @@ SET WSDL="C:\Program Files (x86)\Microsoft WSE\v3.0\Tools\WseWsdl3.exe"
|
||||||
SET WSE_CLEAN=..\Tools\WseClean.exe
|
SET WSE_CLEAN=..\Tools\WseClean.exe
|
||||||
SET SERVER_URL=http://localhost:9005
|
SET SERVER_URL=http://localhost:9005
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esApplicationsInstaller.asmx /out:.\WebsitePanel.EnterpriseServer.Client\ApplicationsInstallerProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\ApplicationsInstallerProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esAuditLog.asmx /out:.\WebsitePanel.EnterpriseServer.Client\AuditLogProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\AuditLogProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esAuthentication.asmx /out:.\WebsitePanel.EnterpriseServer.Client\AuthenticationProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\AuthenticationProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esBackup.asmx /out:.\WebsitePanel.EnterpriseServer.Client\BackupProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\BackupProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esBlackBerry.asmx /out:.\WebsitePanel.EnterpriseServer.Client\BlackBerryProxy.cs /namespace:WebsitePanel.EnterpriseServer.HostedSolution /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\BlackBerryProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esComments.asmx /out:.\WebsitePanel.EnterpriseServer.Client\CommentsProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\CommentsProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esCRM.asmx /out:.\WebsitePanel.EnterpriseServer.Client\CRMProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\CRMProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esDatabaseServers.asmx /out:.\WebsitePanel.EnterpriseServer.Client\DatabaseServersProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\DatabaseServersProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/ecServiceHandler.asmx /out:.\WebsitePanel.EnterpriseServer.Client\ecServiceHandlerProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\ecServiceHandlerProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/ecStorefront.asmx /out:.\WebsitePanel.EnterpriseServer.Client\ecStorefrontProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\ecStorefrontProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/ecStorehouse.asmx /out:.\WebsitePanel.EnterpriseServer.Client\ecStorehouseProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\ecStorehouseProxy.cs
|
||||||
|
|
||||||
%WSDL% %SERVER_URL%/esExchangeServer.asmx /out:.\WebsitePanel.EnterpriseServer.Client\ExchangeServerProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
%WSDL% %SERVER_URL%/esExchangeServer.asmx /out:.\WebsitePanel.EnterpriseServer.Client\ExchangeServerProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
%WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\ExchangeServerProxy.cs
|
%WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\ExchangeServerProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esExchangeHostedEdition.asmx /out:.\WebsitePanel.EnterpriseServer.Client\ExchangeHostedEditionProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\ExchangeHostedEditionProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esFiles.asmx /out:.\WebsitePanel.EnterpriseServer.Client\FilesProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\FilesProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esHostedSharePointServers.asmx /out:.\WebsitePanel.EnterpriseServer.Client\HostedSharePointServersProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\HostedSharePointServersProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esImport.asmx /out:.\WebsitePanel.EnterpriseServer.Client\ImportProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\ImportProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esOCS.asmx /out:.\WebsitePanel.EnterpriseServer.Client\OCSProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OCSProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esOperatingSystems.asmx /out:.\WebsitePanel.EnterpriseServer.Client\OperatingSystemsProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OperatingSystemsProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esOrganizations.asmx /out:.\WebsitePanel.EnterpriseServer.Client\OrganizationProxy.cs /namespace:WebsitePanel.EnterpriseServer.HostedSolution /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OrganizationProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esPackages.asmx /out:.\WebsitePanel.EnterpriseServer.Client\PackagesProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\PackagesProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esScheduler.asmx /out:.\WebsitePanel.EnterpriseServer.Client\SchedulerProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\SchedulerProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esServers.asmx /out:.\WebsitePanel.EnterpriseServer.Client\ServersProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\ServersProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esSharePointServers.asmx /out:.\WebsitePanel.EnterpriseServer.Client\SharePointServersProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\SharePointServersProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esSystem.asmx /out:.\WebsitePanel.EnterpriseServer.Client\SystemProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\SystemProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esTasks.asmx /out:.\WebsitePanel.EnterpriseServer.Client\TasksProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\TasksProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esUsers.asmx /out:.\WebsitePanel.EnterpriseServer.Client\UsersProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\UsersProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esVirtualizationServer.asmx /out:.\WebsitePanel.EnterpriseServer.Client\VirtualizationServerProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\VirtualizationServerProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esWebApplicationGallery.asmx /out:.\WebsitePanel.EnterpriseServer.Client\WebApplicationGalleryProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\WebApplicationGalleryProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esWebServers.asmx /out:.\WebsitePanel.EnterpriseServer.Client\WebServersProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\WebServersProxy.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esVirtualizationServerForPrivateCloud.asmx /out:.\WebsitePanel.EnterpriseServer.Client\VirtualizationServerProxyForPrivateCloud.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\VirtualizationServerProxyForPrivateCloud.cs
|
||||||
|
|
||||||
|
REM %WSDL% %SERVER_URL%/esLync.asmx /out:.\WebsitePanel.EnterpriseServer.Client\LyncProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\LyncProxy.cs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue