Policies extended with plan templates for Exchange and Lync

Automated provisioning of plans added when template plans are defined
Lync plan maintenance added
Ability to disable editing of lync plans within hosting plans
People picker adjusted for public folders, contact, and distribution liost
This commit is contained in:
robvde 2012-07-29 12:39:55 +04:00
parent 76f6ea43cf
commit 008fc296d5
30 changed files with 2357 additions and 118 deletions

View file

@ -1,32 +1,3 @@
// 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>
// This code was generated by a tool.
@ -51,7 +22,7 @@ namespace WebsitePanel.EnterpriseServer {
using WebsitePanel.Providers.Common;
using WebsitePanel.Providers.HostedSolution;
using WebsitePanel.Providers.ResultObjects;
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
@ -66,6 +37,8 @@ namespace WebsitePanel.EnterpriseServer {
private System.Threading.SendOrPostCallback GetLyncUsersPagedOperationCompleted;
private System.Threading.SendOrPostCallback GetLyncUsersByPlanIdOperationCompleted;
private System.Threading.SendOrPostCallback GetLyncUserCountOperationCompleted;
private System.Threading.SendOrPostCallback GetLyncUserPlansOperationCompleted;
@ -102,6 +75,9 @@ namespace WebsitePanel.EnterpriseServer {
/// <remarks/>
public event GetLyncUsersPagedCompletedEventHandler GetLyncUsersPagedCompleted;
/// <remarks/>
public event GetLyncUsersByPlanIdCompletedEventHandler GetLyncUsersByPlanIdCompleted;
/// <remarks/>
public event GetLyncUserCountCompletedEventHandler GetLyncUserCountCompleted;
@ -279,6 +255,50 @@ namespace WebsitePanel.EnterpriseServer {
}
}
/// <remarks/>
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLyncUsersByPlanId", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
public LyncUser[] GetLyncUsersByPlanId(int itemId, int planId) {
object[] results = this.Invoke("GetLyncUsersByPlanId", new object[] {
itemId,
planId});
return ((LyncUser[])(results[0]));
}
/// <remarks/>
public System.IAsyncResult BeginGetLyncUsersByPlanId(int itemId, int planId, System.AsyncCallback callback, object asyncState) {
return this.BeginInvoke("GetLyncUsersByPlanId", new object[] {
itemId,
planId}, callback, asyncState);
}
/// <remarks/>
public LyncUser[] EndGetLyncUsersByPlanId(System.IAsyncResult asyncResult) {
object[] results = this.EndInvoke(asyncResult);
return ((LyncUser[])(results[0]));
}
/// <remarks/>
public void GetLyncUsersByPlanIdAsync(int itemId, int planId) {
this.GetLyncUsersByPlanIdAsync(itemId, planId, null);
}
/// <remarks/>
public void GetLyncUsersByPlanIdAsync(int itemId, int planId, object userState) {
if ((this.GetLyncUsersByPlanIdOperationCompleted == null)) {
this.GetLyncUsersByPlanIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLyncUsersByPlanIdOperationCompleted);
}
this.InvokeAsync("GetLyncUsersByPlanId", new object[] {
itemId,
planId}, this.GetLyncUsersByPlanIdOperationCompleted, userState);
}
private void OnGetLyncUsersByPlanIdOperationCompleted(object arg) {
if ((this.GetLyncUsersByPlanIdCompleted != null)) {
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
this.GetLyncUsersByPlanIdCompleted(this, new GetLyncUsersByPlanIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
}
}
/// <remarks/>
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLyncUserCount", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
public IntResult GetLyncUserCount(int itemId) {
@ -844,6 +864,32 @@ namespace WebsitePanel.EnterpriseServer {
}
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetLyncUsersByPlanIdCompletedEventHandler(object sender, GetLyncUsersByPlanIdCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetLyncUsersByPlanIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
private object[] results;
internal GetLyncUsersByPlanIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
base(exception, cancelled, userState) {
this.results = results;
}
/// <remarks/>
public LyncUser[] Result {
get {
this.RaiseExceptionIfNecessary();
return ((LyncUser[])(this.results[0]));
}
}
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetLyncUserCountCompletedEventHandler(object sender, GetLyncUserCountCompletedEventArgs e);