From c28faf43ce0554bcb9d0d3057836e0d62aeba0fc Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 30 Apr 2012 16:07:24 +1000 Subject: [PATCH 01/78] Configuration classes needed for accessing MailEnable API from .Net. --- .../MailEnableAddressMap.vb | 233 ++++ .../MailEnableBlacklist.vb | 199 +++ .../MailEnableDomain.vb | 372 ++++++ .../MailEnableGroup.vb | 191 +++ .../MailEnableGroupMember.vb | 141 +++ .../MailEnableList.vb | 1106 +++++++++++++++++ .../MailEnableListMember.vb | 164 +++ .../MailEnableLogin.vb | 264 ++++ .../MailEnableMailbox.vb | 448 +++++++ .../MailEnableOption.vb | 166 +++ .../MailEnablePostoffice.vb | 144 +++ 11 files changed, 3428 insertions(+) create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableAddressMap.vb create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableBlacklist.vb create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableDomain.vb create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroup.vb create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroupMember.vb create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableList.vb create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableListMember.vb create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableLogin.vb create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableMailbox.vb create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableOption.vb create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnablePostoffice.vb diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableAddressMap.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableAddressMap.vb new file mode 100644 index 00000000..dff91818 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableAddressMap.vb @@ -0,0 +1,233 @@ +Option Strict Off +Option Explicit On + +Namespace WebsitePanel.Providers.Mail + Public Class MailEnableAddressMap + Inherits MarshalByRefObject + + Private AccountVal As String = "" + Private SourceAddressVal As String = "" + Private DestinationAddressVal As String = "" + Private ScopeVal As String = "" + Private HostVal As String = "" + Private StatusVal As Integer + + Private Structure IADDRESSMAPENTRYTYPE + Public Account As String + Public SourceAddress As String + Public DestinationAddress As String + Public Scope As String + Public Status As Integer + End Structure + + Private Declare Function AddressMapGet Lib "MEAIAM.DLL" (ByRef lpAddressMap As IADDRESSMAPENTRYTYPE) As Integer + Private Declare Function AddressMapFindFirst Lib "MEAIAM.DLL" (ByRef lpAddressMap As IADDRESSMAPENTRYTYPE) As Integer + Private Declare Function AddressMapFindNext Lib "MEAIAM.DLL" (ByRef lpAddressMap As IADDRESSMAPENTRYTYPE) As Integer + Private Declare Function AddressMapAdd Lib "MEAIAM.DLL" (ByRef lpAddressMap As IADDRESSMAPENTRYTYPE) As Integer + Private Declare Function AddressMapEdit Lib "MEAIAM.DLL" (ByRef TargetAddressMap As IADDRESSMAPENTRYTYPE, ByRef NewAddressMap As IADDRESSMAPENTRYTYPE) As Integer + Private Declare Function AddressMapRemove Lib "MEAIAM.DLL" (ByRef lpAddressMap As IADDRESSMAPENTRYTYPE) As Integer + Private Declare Function SetCurrentHost Lib "MEAIAM.DLL" (ByVal CurrentHost As String) As Integer + + Public Function SetHost() As Integer + SetHost = SetCurrentHost(Host) + End Function + + Public Function GetAddressMap() As Integer + + Dim CAddressMap As IADDRESSMAPENTRYTYPE + + CAddressMap.Account = Account + CAddressMap.SourceAddress = SourceAddress + CAddressMap.DestinationAddress = DestinationAddress + CAddressMap.Scope = Scope + CAddressMap.Status = Status + GetAddressMap = AddressMapGet(CAddressMap) + Account = CAddressMap.Account + SourceAddress = CAddressMap.SourceAddress + DestinationAddress = CAddressMap.DestinationAddress + Scope = CAddressMap.Scope + Status = CAddressMap.Status + End Function + + Public Function FindFirstAddressMap() As Integer + Dim CAddressMap As IADDRESSMAPENTRYTYPE + CAddressMap.Account = Account + CAddressMap.SourceAddress = SourceAddress + CAddressMap.DestinationAddress = DestinationAddress + CAddressMap.Scope = Scope + CAddressMap.Status = Status + FindFirstAddressMap = AddressMapFindFirst(CAddressMap) + Account = CAddressMap.Account + SourceAddress = CAddressMap.SourceAddress + DestinationAddress = CAddressMap.DestinationAddress + Scope = CAddressMap.Scope + Status = CAddressMap.Status + End Function + + Public Function FindNextAddressMap() As Integer + Dim CAddressMap As IADDRESSMAPENTRYTYPE + CAddressMap.Account = Account + CAddressMap.SourceAddress = SourceAddress + CAddressMap.DestinationAddress = DestinationAddress + CAddressMap.Scope = Scope + CAddressMap.Status = Status + FindNextAddressMap = AddressMapFindNext(CAddressMap) + Account = CAddressMap.Account + SourceAddress = CAddressMap.SourceAddress + DestinationAddress = CAddressMap.DestinationAddress + Scope = CAddressMap.Scope + Status = CAddressMap.Status + End Function + + Public Function AddAddressMap() As Integer + Dim CAddressMap As IADDRESSMAPENTRYTYPE + CAddressMap.Account = Account + CAddressMap.SourceAddress = SourceAddress + CAddressMap.DestinationAddress = DestinationAddress + CAddressMap.Scope = Scope + CAddressMap.Status = Status + AddAddressMap = AddressMapAdd(CAddressMap) + Account = CAddressMap.Account + SourceAddress = CAddressMap.SourceAddress + DestinationAddress = CAddressMap.DestinationAddress + Scope = CAddressMap.Scope + Status = CAddressMap.Status + End Function + + Private Function CString(ByVal InString As String) As String + CString = InString & Chr(0) + End Function + + Private Function NonCString(ByVal InString As String) As String + Dim NTPos As Integer + NTPos = InStr(1, InString, Chr(0), CompareMethod.Binary) + If NTPos > 0 Then + NonCString = Left(InString, NTPos - 1) + Else + NonCString = InString + End If + + End Function + Public Function RemoveAddressMap(Optional ByVal DeleteAll As Boolean = False) As Integer + Dim CAddressMap As IADDRESSMAPENTRYTYPE + Dim lResult As Long + + 'if the one to remove is a catchall we need to rename first + If Not DeleteAll And InStr(1, SourceAddress, "[SMTP:*@", vbTextCompare) = 1 Then + + Dim oAddressMap As New MailEnableAddressMap + + With oAddressMap + .Account = Account + .DestinationAddress = DestinationAddress + .Scope = "" + .SourceAddress = SourceAddress + End With + + lResult = oAddressMap.EditAddressMap(Account, "[SMTP:___~@deleteme]", "[SF:___~" & Account & "/toremove]", "", -1) + + oAddressMap = Nothing + + CAddressMap.Account = CString(Account) + CAddressMap.SourceAddress = CString("[SMTP:___~@deleteme]") + CAddressMap.DestinationAddress = CString("[SF:___~" & Account & "/toremove]") + CAddressMap.Scope = CString("") + CAddressMap.Status = Status + RemoveAddressMap = AddressMapRemove(CAddressMap) + Account = NonCString(CAddressMap.Account) + SourceAddress = NonCString(CAddressMap.SourceAddress) + DestinationAddress = NonCString(CAddressMap.DestinationAddress) + Scope = NonCString(CAddressMap.Scope) + Status = CAddressMap.Status + + Exit Function + End If + + CAddressMap.Account = CString(Account) + CAddressMap.SourceAddress = CString(SourceAddress) + CAddressMap.DestinationAddress = CString(DestinationAddress) + CAddressMap.Scope = CString(Scope) + CAddressMap.Status = Status + RemoveAddressMap = AddressMapRemove(CAddressMap) + Account = NonCString(CAddressMap.Account) + SourceAddress = NonCString(CAddressMap.SourceAddress) + DestinationAddress = NonCString(CAddressMap.DestinationAddress) + Scope = NonCString(CAddressMap.Scope) + Status = CAddressMap.Status + End Function + + Public Function EditAddressMap(ByVal NewAccount As String, ByVal NewSourceAddress As String, ByVal NewDestinationAddress As String, ByVal NewScope As String, ByVal NewStatus As Integer) As Integer + Dim CAddressMap As IADDRESSMAPENTRYTYPE + Dim CAddressMapData As IADDRESSMAPENTRYTYPE + CAddressMap.Account = Account + CAddressMap.SourceAddress = SourceAddress + CAddressMap.DestinationAddress = DestinationAddress + CAddressMap.Scope = Scope + CAddressMap.Status = Status + + CAddressMapData.Account = NewAccount + CAddressMapData.SourceAddress = NewSourceAddress + CAddressMapData.DestinationAddress = NewDestinationAddress + CAddressMapData.Scope = NewScope + CAddressMapData.Status = NewStatus + EditAddressMap = AddressMapEdit(CAddressMap, CAddressMapData) + End Function + + Public Property Account() As String + Get + Return Me.AccountVal + End Get + Set(ByVal Value As String) + Me.AccountVal = Value + End Set + End Property + + Public Property SourceAddress() As String + Get + Return Me.SourceAddressVal + End Get + Set(ByVal Value As String) + Me.SourceAddressVal = Value + End Set + End Property + + Public Property DestinationAddress() As String + Get + Return Me.DestinationAddressVal + End Get + Set(ByVal Value As String) + Me.DestinationAddressVal = Value + End Set + End Property + + Public Property Status() As Integer + Get + Return Me.StatusVal + End Get + Set(ByVal Value As Integer) + Me.StatusVal = Value + End Set + End Property + + + Public Property Scope() As String + Get + Return Me.ScopeVal + End Get + Set(ByVal Value As String) + Me.ScopeVal = Value + End Set + End Property + + Public Property Host() As String + Get + Return Me.HostVal + End Get + Set(ByVal Value As String) + Me.HostVal = Value + End Set + End Property + + End Class + +End Namespace diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableBlacklist.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableBlacklist.vb new file mode 100644 index 00000000..c596c085 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableBlacklist.vb @@ -0,0 +1,199 @@ +Option Strict Off +Option Explicit On + +Namespace WebsitePanel.Providers.Mail + + Public Class MailEnableDomainBlacklist + Inherits MarshalByRefObject + + Private TargetDomainNameVal As String + Private BannedDomainNameVal As String + Private StatusVal As Integer + Private AccountVal As String + Private HostVal As String + + Private Structure ISMTPBLACKLISTTYPE + Public TargetDomainName As String + Public BannedDomainName As String + Public Status As Integer + Public Account As String + End Structure + + Private Declare Function SMTPBlacklistAdd Lib "MEAISM.DLL" (ByRef SMTPBlacklist As ISMTPBLACKLISTTYPE) As Integer + Private Declare Function SMTPBlacklistGet Lib "MEAISM.DLL" (ByRef SMTPBlacklistCriteria As ISMTPBLACKLISTTYPE) As Integer + Private Declare Function SMTPBlacklistEdit Lib "MEAISM.DLL" (ByRef SMTPBlacklistCriteria As ISMTPBLACKLISTTYPE, ByRef SMTPBlacklistData As ISMTPBLACKLISTTYPE) As Integer + Private Declare Function SMTPBlacklistRemove Lib "MEAISM.DLL" (ByRef SMTPBlacklist As ISMTPBLACKLISTTYPE) As Integer + Private Declare Function SMTPBlacklistFindFirst Lib "MEAISM.DLL" (ByRef SMTPBlacklist As ISMTPBLACKLISTTYPE) As Integer + Private Declare Function SMTPBlacklistFindNext Lib "MEAISM.DLL" (ByRef SMTPBlacklist As ISMTPBLACKLISTTYPE) As Integer + Private Declare Function SetCurrentHost Lib "MEAISM.DLL" (ByVal CurrentHost As String) As Integer + + Public Function SetHost() As Integer + SetHost = SetCurrentHost(Host) + End Function + + Public Function AddBlacklist() As Integer + + Dim CBlacklist As ISMTPBLACKLISTTYPE + + CBlacklist.TargetDomainName = TargetDomainName + CBlacklist.BannedDomainName = BannedDomainName + CBlacklist.Status = Status + CBlacklist.Account = Account + + AddBlacklist = SMTPBlacklistAdd(CBlacklist) + + TargetDomainName = CBlacklist.TargetDomainName + BannedDomainName = CBlacklist.BannedDomainName + Status = CBlacklist.Status + Account = CBlacklist.Account + + End Function + + + Public Function GetBlacklist() As Integer + + Dim CBlacklist As ISMTPBLACKLISTTYPE + + CBlacklist.TargetDomainName = TargetDomainName + CBlacklist.BannedDomainName = BannedDomainName + CBlacklist.Status = Status + CBlacklist.Account = Account + + GetBlacklist = SMTPBlacklistGet(CBlacklist) + + TargetDomainName = CBlacklist.TargetDomainName + BannedDomainName = CBlacklist.BannedDomainName + Status = CBlacklist.Status + Account = CBlacklist.Account + + End Function + + + Public Function EditBlacklist(ByVal NewTargetDomainName As String, ByVal NewBannedDomainName As String, ByVal NewStatus As Integer, ByVal NewAccount As String) As Integer + + Dim CBlacklist As ISMTPBLACKLISTTYPE + Dim CBlacklistData As ISMTPBLACKLISTTYPE + + CBlacklist.TargetDomainName = TargetDomainName + CBlacklist.BannedDomainName = BannedDomainName + CBlacklist.Status = Status + CBlacklist.Account = Account + CBlacklistData.TargetDomainName = NewTargetDomainName + CBlacklistData.BannedDomainName = NewBannedDomainName + CBlacklistData.Status = NewStatus + CBlacklistData.Account = NewAccount + + EditBlacklist = SMTPBlacklistEdit(CBlacklist, CBlacklistData) + + TargetDomainName = CBlacklist.TargetDomainName + BannedDomainName = CBlacklist.BannedDomainName + Status = CBlacklist.Status + Account = CBlacklist.Account + + End Function + + + Public Function RemoveBlacklist() As Integer + + Dim CBlacklist As ISMTPBLACKLISTTYPE + + CBlacklist.TargetDomainName = TargetDomainName + CBlacklist.BannedDomainName = BannedDomainName + CBlacklist.Status = Status + CBlacklist.Account = Account + + RemoveBlacklist = SMTPBlacklistRemove(CBlacklist) + + TargetDomainName = CBlacklist.TargetDomainName + BannedDomainName = CBlacklist.BannedDomainName + Status = CBlacklist.Status + Account = CBlacklist.Account + + End Function + + + Public Function FindFirstBlacklist() As Integer + + Dim CBlacklist As ISMTPBLACKLISTTYPE + + CBlacklist.TargetDomainName = TargetDomainName + CBlacklist.BannedDomainName = BannedDomainName + CBlacklist.Status = Status + CBlacklist.Account = Account + + FindFirstBlacklist = SMTPBlacklistFindFirst(CBlacklist) + + TargetDomainName = CBlacklist.TargetDomainName + BannedDomainName = CBlacklist.BannedDomainName + Status = CBlacklist.Status + Account = CBlacklist.Account + + End Function + + + Public Function FindNextBlacklist() As Integer + + Dim CBlacklist As ISMTPBLACKLISTTYPE + + CBlacklist.TargetDomainName = TargetDomainName + CBlacklist.BannedDomainName = BannedDomainName + CBlacklist.Status = Status + CBlacklist.Account = Account + + FindNextBlacklist = SMTPBlacklistFindNext(CBlacklist) + + TargetDomainName = CBlacklist.TargetDomainName + BannedDomainName = CBlacklist.BannedDomainName + Status = CBlacklist.Status + Account = CBlacklist.Account + + End Function + + Public Property TargetDomainName() As String + Get + Return Me.TargetDomainNameVal + End Get + Set(ByVal Value As String) + Me.TargetDomainNameVal = Value + End Set + End Property + + Public Property BannedDomainName() As String + Get + Return Me.BannedDomainNameVal + End Get + Set(ByVal Value As String) + Me.BannedDomainNameVal = Value + End Set + End Property + + Public Property Status() As Integer + Get + Return Me.StatusVal + End Get + Set(ByVal Value As Integer) + Me.StatusVal = Value + End Set + End Property + + Public Property Account() As String + Get + Return Me.AccountVal + End Get + Set(ByVal Value As String) + Me.AccountVal = Value + End Set + End Property + + Public Property Host() As String + Get + Return Me.HostVal + End Get + Set(ByVal Value As String) + Me.HostVal = Value + End Set + End Property + + End Class + +End Namespace diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableDomain.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableDomain.vb new file mode 100644 index 00000000..ffc60c88 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableDomain.vb @@ -0,0 +1,372 @@ +Option Strict Off +Option Explicit On + +Namespace WebsitePanel.Providers.Mail + + Public Class MailEnableDomain + Inherits MarshalByRefObject + + Private DomainNameVal As String + Private StatusVal As Integer + Private DomainRedirectionStatusVal As Integer + Private DomainRedirectionHostsVal As String + Private AccountNameVal As String + Private HostVal As String + Private RetainModeVal As Integer ' this is used to hold messages waiting for pickup by issued ETRN + Private PollForMessagesVal As Integer ' this indicates that we need to poll a host for messages for this domain + Private UpStreamHostVal As String ' this is the address of the host to poll if we are set to poll a remote host + Private PollIntervalVal As Integer ' this is the frequency in minutes that we need to poll the remote host + Private AliasModeVal As Integer + Private AliasNameVal As String + + Private Structure ISMTPDOMAINTYPE + Public DomainName As String + Public Status As Integer + Public DomainRedirectionStatus As Integer + Public DomainRedirectionHosts As String + Public AccountName As String + Public RetainMode As Integer ' this is used to hold messages waiting for pickup by issued ETRN + Public PollForMessages As Integer ' this indicates that we need to poll a host for messages for this domain + Public UpStreamHost As String ' this is the address of the host to poll if we are set to poll a remote host + Public PollInterval As Integer ' this is the frequency in minutes that we need to poll the remote host + Public AliasMode As Integer + Public AliasName As String + End Structure + + Private Declare Function SMTPDomainAdd Lib "MEAISM.DLL" (ByRef SMTPDomain As ISMTPDOMAINTYPE) As Integer + Private Declare Function SMTPDomainGet Lib "MEAISM.DLL" (ByRef SMTPDomainCriteria As ISMTPDOMAINTYPE) As Integer + Private Declare Function SMTPDomainEdit Lib "MEAISM.DLL" (ByRef SMTPDomainCriteria As ISMTPDOMAINTYPE, ByRef SMTPDomainData As ISMTPDOMAINTYPE) As Integer + Private Declare Function SMTPDomainRemove Lib "MEAISM.DLL" (ByRef SMTPDomain As ISMTPDOMAINTYPE) As Integer + Private Declare Function SMTPDomainFindFirst Lib "MEAISM.DLL" (ByRef SMTPDomain As ISMTPDOMAINTYPE) As Integer + Private Declare Function SMTPDomainFindNext Lib "MEAISM.DLL" (ByRef SMTPDomain As ISMTPDOMAINTYPE) As Integer + Private Declare Function SetCurrentHost Lib "MEAISM.DLL" (ByVal CurrentHost As String) As Integer + + Public Function SetHost() As Integer + SetHost = SetCurrentHost(Host) + End Function + + Public Function AddDomain() As Integer + + Dim CDomain As ISMTPDOMAINTYPE + + CDomain.AliasMode = 0 + CDomain.AliasName = "" + CDomain.PollForMessages = 0 + CDomain.PollInterval = 0 + CDomain.RetainMode = 0 + CDomain.UpStreamHost = "" + + CDomain.AccountName = AccountName + CDomain.DomainName = DomainName + CDomain.DomainRedirectionHosts = DomainRedirectionHosts + CDomain.DomainRedirectionStatus = DomainRedirectionStatus + CDomain.Status = Status + + AddDomain = SMTPDomainAdd(CDomain) + + AccountName = CDomain.AccountName + DomainName = CDomain.DomainName + DomainRedirectionHosts = CDomain.DomainRedirectionHosts + DomainRedirectionStatus = CDomain.DomainRedirectionStatus + Status = CDomain.Status + + 'Console.WriteLine("AddDomain called on server") + + End Function + + + Public Function GetDomain() As Integer + + Dim CDomain As ISMTPDOMAINTYPE + CDomain.AliasMode = -1 + CDomain.AliasName = "" + CDomain.PollForMessages = -1 + CDomain.PollInterval = -1 + CDomain.RetainMode = -1 + CDomain.UpStreamHost = "" + + CDomain.AccountName = AccountName + CDomain.DomainName = DomainName + CDomain.DomainRedirectionHosts = DomainRedirectionHosts + CDomain.DomainRedirectionStatus = DomainRedirectionStatus + CDomain.Status = Status + + GetDomain = SMTPDomainGet(CDomain) + + AccountName = CDomain.AccountName + DomainName = CDomain.DomainName + DomainRedirectionHosts = CDomain.DomainRedirectionHosts + DomainRedirectionStatus = CDomain.DomainRedirectionStatus + Status = CDomain.Status + + End Function + + + Public Function EditDomain(ByVal NewDomainName As String, ByVal NewStatus As Integer, ByVal NewDomainRedirectionStatus As Integer, ByVal NewDomainRedirectionHosts As String, ByVal NewAccountName As String) As Integer + + Dim CDomain As ISMTPDOMAINTYPE + CDomain.AliasMode = -1 + CDomain.AliasName = "" + CDomain.PollForMessages = -1 + CDomain.PollInterval = -1 + CDomain.RetainMode = -1 + CDomain.UpStreamHost = "" + Dim CDomainData As ISMTPDOMAINTYPE + + CDomain.AccountName = AccountName + CDomain.DomainName = DomainName + CDomain.DomainRedirectionHosts = DomainRedirectionHosts + CDomain.DomainRedirectionStatus = DomainRedirectionStatus + CDomain.Status = Status + CDomainData.AccountName = NewAccountName + CDomainData.DomainName = NewDomainName + CDomainData.DomainRedirectionHosts = NewDomainRedirectionHosts + CDomainData.DomainRedirectionStatus = NewDomainRedirectionStatus + CDomainData.Status = NewStatus + + CDomainData.AliasMode = 0 + CDomainData.AliasName = "" + CDomainData.PollForMessages = 0 + CDomainData.PollInterval = 0 + CDomainData.RetainMode = 0 + CDomainData.UpStreamHost = "" + + EditDomain = SMTPDomainEdit(CDomain, CDomainData) + + AccountName = CDomain.AccountName + DomainName = CDomain.DomainName + DomainRedirectionHosts = CDomain.DomainRedirectionHosts + DomainRedirectionStatus = CDomain.DomainRedirectionStatus + Status = CDomain.Status + + End Function + + + Public Function RemoveDomain() As Integer + + Dim CDomain As ISMTPDOMAINTYPE + CDomain.AliasMode = -1 + CDomain.AliasName = "" + CDomain.PollForMessages = -1 + CDomain.PollInterval = -1 + CDomain.RetainMode = -1 + CDomain.UpStreamHost = "" + + CDomain.AccountName = AccountName + CDomain.DomainName = DomainName + CDomain.DomainRedirectionHosts = DomainRedirectionHosts + CDomain.DomainRedirectionStatus = DomainRedirectionStatus + CDomain.Status = Status + + RemoveDomain = SMTPDomainRemove(CDomain) + + AccountName = CDomain.AccountName + DomainName = CDomain.DomainName + DomainRedirectionHosts = CDomain.DomainRedirectionHosts + DomainRedirectionStatus = CDomain.DomainRedirectionStatus + Status = CDomain.Status + + End Function + + + Public Function FindFirstDomain() As Integer + + Dim CDomain As ISMTPDOMAINTYPE + CDomain.AliasMode = -1 + CDomain.AliasName = "" + CDomain.PollForMessages = -1 + CDomain.PollInterval = -1 + CDomain.RetainMode = -1 + CDomain.UpStreamHost = "" + + CDomain.AccountName = AccountName + CDomain.DomainName = DomainName + CDomain.DomainRedirectionHosts = DomainRedirectionHosts + CDomain.DomainRedirectionStatus = DomainRedirectionStatus + CDomain.Status = Status + + FindFirstDomain = SMTPDomainFindFirst(CDomain) + + AccountName = CDomain.AccountName + DomainName = CDomain.DomainName + DomainRedirectionHosts = CDomain.DomainRedirectionHosts + DomainRedirectionStatus = CDomain.DomainRedirectionStatus + Status = CDomain.Status + + End Function + + + Public Function FindNextDomain() As Integer + + Dim CDomain As ISMTPDOMAINTYPE + + CDomain.AccountName = AccountName + CDomain.DomainName = DomainName + CDomain.DomainRedirectionHosts = DomainRedirectionHosts + CDomain.DomainRedirectionStatus = DomainRedirectionStatus + CDomain.Status = Status + + + CDomain.AliasMode = -1 + CDomain.AliasName = "" + CDomain.PollForMessages = -1 + CDomain.PollInterval = -1 + CDomain.RetainMode = -1 + CDomain.UpStreamHost = "" + + FindNextDomain = SMTPDomainFindNext(CDomain) + + AccountName = CDomain.AccountName + DomainName = CDomain.DomainName + DomainRedirectionHosts = CDomain.DomainRedirectionHosts + DomainRedirectionStatus = CDomain.DomainRedirectionStatus + Status = CDomain.Status + + End Function + + Public Property DomainName() As String + Get + Return Me.DomainNameVal + End Get + Set(ByVal Value As String) + Me.DomainNameVal = Value + End Set + End Property + + Public Property Status() As Integer + Get + Return Me.StatusVal + End Get + Set(ByVal Value As Integer) + Me.StatusVal = Value + End Set + End Property + + Public Property DomainRedirectionStatus() As Integer + Get + Return Me.DomainRedirectionStatusVal + End Get + Set(ByVal Value As Integer) + Me.DomainRedirectionStatusVal = Value + End Set + End Property + + Public Property DomainRedirectionHosts() As String + Get + Return Me.DomainRedirectionHostsVal + End Get + Set(ByVal Value As String) + Me.DomainRedirectionHostsVal = Value + End Set + End Property + + Public Property AccountName() As String + Get + Return Me.AccountNameVal + End Get + Set(ByVal Value As String) + Me.AccountNameVal = Value + End Set + End Property + + Public Property Host() As String + Get + Return Me.HostVal + End Get + Set(ByVal Value As String) + Me.HostVal = Value + End Set + End Property + + Public Property RetainMode() As Integer + Get + Return Me.RetainModeVal + End Get + Set(ByVal Value As Integer) + Me.RetainModeVal = Value + End Set + End Property + + Public Property PollForMessages() As Integer + Get + Return Me.PollForMessagesVal + End Get + Set(ByVal Value As Integer) + Me.PollForMessagesVal = Value + End Set + End Property + + Public Property UpStreamHost() As String + Get + Return Me.UpStreamHostVal + End Get + Set(ByVal Value As String) + Me.UpStreamHostVal = Value + End Set + End Property + + Public Property PollInterval() As Integer + Get + Return Me.PollIntervalVal + End Get + Set(ByVal Value As Integer) + Me.PollIntervalVal = Value + End Set + End Property + + Public Property AliasMode() As Integer + Get + Return Me.AliasModeVal + End Get + Set(ByVal Value As Integer) + Me.AliasModeVal = Value + End Set + End Property + + Public Property AliasName() As String + Get + Return Me.AliasNameVal + End Get + Set(ByVal Value As String) + Me.AliasNameVal = Value + End Set + End Property + + Private Function CString(ByVal InString As String) As String + CString = InString & Chr(0) + End Function + + Private Function NonCString(ByVal InString As String) As String + Dim NTPos As Integer + NTPos = InStr(1, InString, Chr(0), CompareMethod.Binary) + If NTPos > 0 Then + NonCString = Left(InString, NTPos - 1) + Else + NonCString = InString + End If + + End Function + + Public Function Exists(ByVal DomainName As String) As Boolean + + Dim CDomain As New ISMTPDOMAINTYPE + + CDomain.AccountName = CString("") + CDomain.DomainName = CString(DomainName) + CDomain.DomainRedirectionHosts = CString("") + CDomain.DomainRedirectionStatus = -1 + CDomain.Status = -1 + + Exists = (SMTPDomainGet(CDomain) = 1) + + End Function + + Private Sub AddDataTableColumns(ByRef oTable As DataTable) + oTable.Columns.Add("DomainName", GetType(String)) + oTable.Columns.Add("Status", GetType(Long)) + oTable.Columns.Add("RedirectionStatus", GetType(Long)) + oTable.Columns.Add("RedirectionHosts", GetType(String)) + End Sub + + End Class +End Namespace diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroup.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroup.vb new file mode 100644 index 00000000..b6e8367a --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroup.vb @@ -0,0 +1,191 @@ +Namespace WebsitePanel.Providers.Mail + + Public Class MailEnableGroup + Inherits MarshalByRefObject + + Private RecipientAddressVal As String + Private PostofficeVal As String + Private GroupNameVal As String + Private GroupFileVal As String + Private GroupStatusVal As Integer + Private HostVal As String + + Private Structure IGROUPTYPE + Public RecipientAddress As String + Public Postoffice As String + Public GroupName As String + Public GroupFile As String + Public GroupStatus As Integer + End Structure + + Private Declare Function GroupGet Lib "MEAIPO.DLL" (ByRef lpGroup As IGROUPTYPE) As Integer + Private Declare Function GroupFindFirst Lib "MEAIPO.DLL" (ByRef lpGroup As IGROUPTYPE) As Integer + Private Declare Function GroupFindNext Lib "MEAIPO.DLL" (ByRef lpGroup As IGROUPTYPE) As Integer + Private Declare Function GroupAdd Lib "MEAIPO.DLL" (ByRef lpGroup As IGROUPTYPE) As Integer + Private Declare Function GroupEdit Lib "MEAIPO.DLL" (ByRef TargetGroup As IGROUPTYPE, ByRef NewGroup As IGROUPTYPE) As Integer + Private Declare Function GroupRemove Lib "MEAIPO.DLL" (ByRef lpGroup As IGROUPTYPE) As Integer + Private Declare Function SetCurrentHost Lib "MEAIPO.DLL" (ByVal CurrentHost As String) As Integer + + Public Function SetHost() As Integer + SetHost = SetCurrentHost(Host) + End Function + + Public Function FindFirstGroup() As Integer + Dim CGroup As IGROUPTYPE + CGroup.GroupFile = GroupFile + CGroup.Postoffice = Postoffice + CGroup.GroupName = GroupName + CGroup.RecipientAddress = RecipientAddress + CGroup.GroupStatus = GroupStatus + FindFirstGroup = GroupFindFirst(CGroup) + GroupFile = CGroup.GroupFile + Postoffice = CGroup.Postoffice + GroupName = CGroup.GroupName + RecipientAddress = CGroup.RecipientAddress + GroupStatus = CGroup.GroupStatus + End Function + Public Function FindNextGroup() As Integer + Dim CGroup As IGROUPTYPE + CGroup.GroupFile = GroupFile + CGroup.Postoffice = Postoffice + CGroup.GroupName = GroupName + CGroup.RecipientAddress = RecipientAddress + CGroup.GroupStatus = GroupStatus + FindNextGroup = GroupFindNext(CGroup) + GroupFile = CGroup.GroupFile + Postoffice = CGroup.Postoffice + GroupName = CGroup.GroupName + RecipientAddress = CGroup.RecipientAddress + GroupStatus = CGroup.GroupStatus + End Function + + Public Function AddGroup() As Integer + Dim CGroup As IGROUPTYPE + CGroup.GroupFile = GroupFile + CGroup.Postoffice = Postoffice + CGroup.GroupName = GroupName + CGroup.RecipientAddress = RecipientAddress + CGroup.GroupStatus = GroupStatus + AddGroup = GroupAdd(CGroup) + GroupFile = CGroup.GroupFile + Postoffice = CGroup.Postoffice + GroupName = CGroup.GroupName + RecipientAddress = CGroup.RecipientAddress + GroupStatus = CGroup.GroupStatus + End Function + + Public Function GetGroup() As Integer + Dim CGroup As IGROUPTYPE + CGroup.GroupFile = GroupFile + CGroup.Postoffice = Postoffice + CGroup.GroupName = GroupName + CGroup.RecipientAddress = RecipientAddress + CGroup.GroupStatus = GroupStatus + GetGroup = GroupGet(CGroup) + GroupFile = CGroup.GroupFile + Postoffice = CGroup.Postoffice + GroupName = CGroup.GroupName + RecipientAddress = CGroup.RecipientAddress + GroupStatus = CGroup.GroupStatus + End Function + Public Function RemoveGroup() As Integer + Dim CGroup As IGROUPTYPE + CGroup.GroupFile = GroupFile + CGroup.Postoffice = Postoffice + CGroup.GroupName = GroupName + CGroup.RecipientAddress = RecipientAddress + CGroup.GroupStatus = GroupStatus + RemoveGroup = GroupRemove(CGroup) + GroupFile = CGroup.GroupFile + Postoffice = CGroup.Postoffice + GroupName = CGroup.GroupName + RecipientAddress = CGroup.RecipientAddress + GroupStatus = CGroup.GroupStatus + End Function + + Public Function EditGroup(ByVal NewRecipientAddress As String, ByVal NewPostoffice As String, ByVal NewGroupName As String, ByVal NewGroupFile As String, ByVal NewGroupStatus As Integer) As Integer + Dim CGroup As IGROUPTYPE + Dim CGroupData As IGROUPTYPE + ' Get the Find Stuff Set up + CGroup.GroupFile = GroupFile + CGroup.GroupName = GroupName + CGroup.Postoffice = Postoffice + CGroup.RecipientAddress = RecipientAddress + CGroup.GroupStatus = GroupStatus + ' Get the Data Set up + CGroupData.GroupFile = NewGroupFile + CGroupData.GroupName = NewGroupName + CGroupData.Postoffice = NewPostoffice + CGroupData.RecipientAddress = NewRecipientAddress + CGroupData.GroupStatus = NewGroupStatus + + EditGroup = GroupEdit(CGroup, CGroupData) + GroupFile = CGroupData.GroupFile + Postoffice = CGroupData.Postoffice + GroupName = CGroupData.GroupName + RecipientAddress = CGroupData.RecipientAddress + GroupStatus = CGroup.GroupStatus + End Function + + Private Sub AddDataTableColumns(ByRef oTable As DataTable) + oTable.Columns.Add("GroupName", GetType(String)) + oTable.Columns.Add("GroupStatus", GetType(Long)) + oTable.Columns.Add("RecipientAddress", GetType(String)) + End Sub + + Public Property RecipientAddress() As String + Get + Return Me.RecipientAddressVal + End Get + Set(ByVal value As String) + Me.RecipientAddressVal = value + End Set + End Property + + Public Property Postoffice() As String + Get + Return Me.PostofficeVal + End Get + Set(ByVal value As String) + Me.PostofficeVal = value + End Set + End Property + + Public Property GroupName() As String + Get + Return Me.GroupNameVal + End Get + Set(ByVal value As String) + Me.GroupNameVal = value + End Set + End Property + + Public Property GroupFile() As String + Get + Return Me.GroupFileVal + End Get + Set(ByVal value As String) + Me.GroupFileVal = value + End Set + End Property + + Public Property GroupStatus() As Integer + Get + Return Me.GroupStatusVal + End Get + Set(ByVal value As Integer) + Me.GroupStatusVal = value + End Set + End Property + + Public Property Host() As String + Get + Return Me.HostVal + End Get + Set(ByVal value As String) + Me.HostVal = value + End Set + End Property + End Class + +End Namespace \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroupMember.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroupMember.vb new file mode 100644 index 00000000..a8ce2a2e --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroupMember.vb @@ -0,0 +1,141 @@ +Namespace WebsitePanel.Providers.Mail + + Public Class MailEnableGroupMember + Inherits MarshalByRefObject + + Private AddressVal As String + Private PostofficeVal As String + Private MailboxVal As String + Private HostVal As String + + Private Structure IGROUPMEMBERTYPE + Public Address As String + Public Postoffice As String + Public Mailbox As String + End Structure + + Private Declare Function GroupMemberGet Lib "MEAIPO.DLL" (ByRef lpGroupMember As IGROUPMEMBERTYPE) As Integer + Private Declare Function GroupMemberFindFirst Lib "MEAIPO.DLL" (ByRef lpGroupMember As IGROUPMEMBERTYPE) As Integer + Private Declare Function GroupMemberFindNext Lib "MEAIPO.DLL" (ByRef lpGroupMember As IGROUPMEMBERTYPE) As Integer + Private Declare Function GroupMemberAdd Lib "MEAIPO.DLL" (ByRef lpGroupMember As IGROUPMEMBERTYPE) As Integer + Private Declare Function GroupMemberEdit Lib "MEAIPO.DLL" (ByRef TargetGroupMember As IGROUPMEMBERTYPE, ByRef NewGroupMember As IGROUPMEMBERTYPE) As Integer + Private Declare Function GroupMemberRemove Lib "MEAIPO.DLL" (ByRef lpGroupMember As IGROUPMEMBERTYPE) As Integer + Private Declare Function SetCurrentHost Lib "MEAIPO.DLL" (ByVal CurrentHost As String) As Integer + + Public Function SetHost() As Integer + SetHost = SetCurrentHost(Host) + End Function + + + Public Function FindFirstGroupMember() As Integer + Dim CGroupMember As IGROUPMEMBERTYPE + + CGroupMember.Address = Address + CGroupMember.Postoffice = Postoffice + CGroupMember.Mailbox = Mailbox + FindFirstGroupMember = GroupMemberFindFirst(CGroupMember) + Address = CGroupMember.Address + Postoffice = CGroupMember.Postoffice + Mailbox = CGroupMember.Mailbox + + End Function + + Public Function FindNextGroupMember() As Integer + Dim CGroupMember As IGROUPMEMBERTYPE + CGroupMember.Address = Address + CGroupMember.Postoffice = Postoffice + CGroupMember.Mailbox = Mailbox + FindNextGroupMember = GroupMemberFindNext(CGroupMember) + Address = CGroupMember.Address + Postoffice = CGroupMember.Postoffice + Mailbox = CGroupMember.Mailbox + End Function + + Public Function AddGroupMember() As Integer + Dim CGroupMember As IGROUPMEMBERTYPE + CGroupMember.Address = Address + CGroupMember.Postoffice = Postoffice + CGroupMember.Mailbox = Mailbox + AddGroupMember = GroupMemberAdd(CGroupMember) + Address = CGroupMember.Address + Postoffice = CGroupMember.Postoffice + Mailbox = CGroupMember.Mailbox + End Function + + Public Function GetGroupMember() As Integer + Dim CGroupMember As IGROUPMEMBERTYPE + CGroupMember.Address = Address + CGroupMember.Postoffice = Postoffice + CGroupMember.Mailbox = Mailbox + GetGroupMember = GroupMemberGet(CGroupMember) + Address = CGroupMember.Address + Postoffice = CGroupMember.Postoffice + Mailbox = CGroupMember.Mailbox + End Function + Public Function RemoveGroupMember() As Integer + Dim CGroupMember As IGROUPMEMBERTYPE + CGroupMember.Address = Address + CGroupMember.Postoffice = Postoffice + CGroupMember.Mailbox = Mailbox + RemoveGroupMember = GroupMemberRemove(CGroupMember) + Address = CGroupMember.Address + Postoffice = CGroupMember.Postoffice + Mailbox = CGroupMember.Mailbox + End Function + Public Function EditGroupMember(ByVal NewAddress As String, ByVal NewPostoffice As String, ByVal NewMailbox As String) As Integer + + Dim CGroupMember As IGROUPMEMBERTYPE + Dim CGroupMemberData As IGROUPMEMBERTYPE + ' Get the Find Stuff Set up + CGroupMember.Address = Address + CGroupMember.Postoffice = Postoffice + CGroupMember.Mailbox = Mailbox + ' Get the Data Set up + CGroupMemberData.Address = NewAddress + CGroupMemberData.Postoffice = NewPostoffice + CGroupMemberData.Mailbox = NewMailbox + EditGroupMember = GroupMemberEdit(CGroupMember, CGroupMemberData) + + CGroupMemberData.Address = CGroupMemberData.Address + CGroupMemberData.Postoffice = CGroupMemberData.Postoffice + CGroupMemberData.Mailbox = CGroupMemberData.Mailbox + End Function + + Public Property Address() As String + Get + Return Me.AddressVal + End Get + Set(ByVal value As String) + Me.AddressVal = value + End Set + End Property + + Public Property Postoffice() As String + Get + Return Me.PostofficeVal + End Get + Set(ByVal value As String) + Me.PostofficeVal = value + End Set + End Property + + Public Property Mailbox() As String + Get + Return Me.MailboxVal + End Get + Set(ByVal value As String) + Me.MailboxVal = value + End Set + End Property + + Public Property Host() As String + Get + Return Me.HostVal + End Get + Set(ByVal value As String) + Me.HostVal = value + End Set + End Property + End Class + +End Namespace diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableList.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableList.vb new file mode 100644 index 00000000..13f1a679 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableList.vb @@ -0,0 +1,1106 @@ +Namespace WebsitePanel.Providers.Mail + + Public Class MailEnableList + Inherits MarshalByRefObject + + Private DescriptionVal As String + Private AccountNameVal As String + Private ListNameVal As String + Private ListTypeVal As Long + Private ListStatusVal As Long + Private ModeratorAddressVal As String + Private HeaderAnnotationStatusVal As Long + Private HeaderAnnotationVal As String + Private FooterAnnotationStatusVal As Long + Private FooterAnnotationVal As String + Private ListAddressVal As String + + ' + ' New Fields + ' + Private SubscribeMessageFileStatusVal As Long + Private SubscribeMessageFileVal As String + Private UnsubscribeMessageFileStatusVal As Long + Private UnsubscribeMessageFileVal As String + Private SubjectSuffixStatusVal As Long + Private SubjectSuffixVal As String + Private SubjectPrefixStatusVal As Long + Private SubjectPrefixVal As String + Private OwnerVal As String + Private HelpMessageFileStatusVal As Long + Private HelpMessageFileVal As String + Private RemovalMessageFileStatusVal As Long + Private RemovalMessageFileVal As String + Private ReplyToModeVal As Long + Private MaxMessageSizeVal As Long + Private PostingModeVal As Long + Private SubScriptionModeVal As Long + Private AuthenticationModeVal As Long + Private PasswordVal As String + Private DigestModeVal As Long + Private DigestMailboxVal As String + Private DigestAnnotationModeVal As Long + Private DigestAttachmentModeVal As Long + Private DigestMessageSeparationModeVal As Long + Private DigestSchedulingStatusVal As Long + Private DigestSchedulingModeVal As Long + Private DigestSchedulingIntervalVal As Long + Private FromAddressModeVal As Long + + ' + ' Host Fields + ' + Public Host As String + + Private Structure ILISTTYPE + Public ListName As String + Public AccountName As String + Public ListType As Integer + Public ModeratorAddress As String + Public ListStatus As Integer + Public Description As String + Public HeaderAnnotationStatus As Integer + Public HeaderAnnotation As String + Public FooterAnnotationStatus As Integer + Public FooterAnnotation As String + Public ListAddress As String + ' + ' New feilds + ' + Public SubscribeMessageFileStatus As Integer + Public SubscribeMessageFile As String + Public UnsubscribeMessageFileStatus As Integer + Public UnsubscribeMessageFile As String + Public SubjectSuffixStatus As Integer + Public SubjectSuffix As String + Public SubjectPrefixStatus As Integer + Public SubjectPrefix As String + Public Owner As String + Public HelpMessageFileStatus As Integer + Public HelpMessageFile As String + Public RemovalMessageFileStatus As Integer + Public RemovalMessageFile As String + Public ReplyToMode As Integer + Public MaxMessageSize As Integer + Public PostingMode As Integer + Public SubScriptionMode As Integer + Public AuthenticationMode As Integer + Public Password As String + Public DigestMode As Integer + Public DigestMailbox As String + Public DigestAnnotationMode As Integer + Public DigestAttachmentMode As Integer + Public DigestMessageSeparationMode As Integer + Public DigestSchedulingStatus As Integer + Public DigestSchedulingMode As Integer + Public DigestSchedulingInterval As Integer + Public FromAddressMode As Integer + End Structure + + + Private Declare Function ListGet Lib "MEAILS.DLL" (ByRef lpList As ILISTTYPE) As Integer + Private Declare Function ListFindFirst Lib "MEAILS.DLL" (ByRef lpList As ILISTTYPE) As Integer + Private Declare Function ListFindNext Lib "MEAILS.DLL" (ByRef lpList As ILISTTYPE) As Integer + Private Declare Function ListAdd Lib "MEAILS.DLL" (ByRef lpList As ILISTTYPE) As Integer + Private Declare Function ListEdit Lib "MEAILS.DLL" (ByRef TargetList As ILISTTYPE, ByRef NewList As ILISTTYPE) As Integer + Private Declare Function ListRemove Lib "MEAILS.DLL" (ByRef lpList As ILISTTYPE) As Integer + Private Declare Function SetCurrentHost Lib "MEAILS.DLL" (ByVal CurrentHost As String) As Integer + + + Private Structure IANNOTATIONTYPE + Public AnnotationName As String + Public AccountName As String + Public AnnotationText As String + End Structure + + Private Declare Function AnnotationGet Lib "MEAILS.DLL" (ByRef lpAnnotation As IANNOTATIONTYPE) As Integer + Private Declare Function AnnotationAdd Lib "MEAILS.DLL" (ByRef lpAnnotation As IANNOTATIONTYPE) As Integer + Private Declare Function AnnotationRemove Lib "MEAILS.DLL" (ByRef lpAnnotation As IANNOTATIONTYPE) As Integer + + + Public Function SetHost() As Integer + SetHost = SetCurrentHost(Host) + End Function + + Public Function FindFirstList() As Integer + Dim CList As ILISTTYPE + CList.ListType = ListType + CList.AccountName = AccountName + CList.ListName = ListName + CList.Description = Description + CList.ListStatus = ListStatus + CList.HeaderAnnotationStatus = HeaderAnnotationStatus + CList.HeaderAnnotation = HeaderAnnotation + CList.FooterAnnotationStatus = FooterAnnotationStatus + CList.FooterAnnotation = FooterAnnotation + CList.ModeratorAddress = ModeratorAddress + CList.ListAddress = ListAddress + CList.SubscribeMessageFileStatus = SubscribeMessageFileStatus + CList.SubscribeMessageFile = SubscribeMessageFile + CList.UnsubscribeMessageFileStatus = UnsubscribeMessageFileStatus + CList.UnsubscribeMessageFile = UnsubscribeMessageFile + CList.SubjectSuffixStatus = SubjectSuffixStatus + CList.SubjectSuffix = SubjectSuffix + CList.SubjectPrefixStatus = SubjectPrefixStatus + CList.SubjectPrefix = SubjectPrefix + CList.Owner = Owner + CList.HelpMessageFileStatus = HelpMessageFileStatus + CList.HelpMessageFile = HelpMessageFile + CList.RemovalMessageFileStatus = RemovalMessageFileStatus + CList.RemovalMessageFile = RemovalMessageFile + CList.ReplyToMode = ReplyToMode + CList.MaxMessageSize = MaxMessageSize + CList.PostingMode = PostingMode + CList.SubScriptionMode = SubScriptionMode + CList.AuthenticationMode = AuthenticationMode + CList.Password = Password + CList.DigestMode = DigestMode + CList.DigestMailbox = DigestMailbox + CList.DigestAnnotationMode = DigestAnnotationMode + CList.DigestAttachmentMode = DigestAttachmentMode + CList.DigestMessageSeparationMode = DigestMessageSeparationMode + CList.DigestSchedulingStatus = DigestSchedulingStatus + CList.DigestSchedulingMode = DigestSchedulingMode + CList.DigestSchedulingInterval = DigestSchedulingInterval + CList.FromAddressMode = FromAddressMode + ' + ' Make Call + ' + FindFirstList = ListFindFirst(CList) + ListType = CList.ListType + AccountName = CList.AccountName + ListName = CList.ListName + Description = CList.Description + ListStatus = CList.ListStatus + HeaderAnnotationStatus = CList.HeaderAnnotationStatus + HeaderAnnotation = CList.HeaderAnnotation + FooterAnnotationStatus = CList.FooterAnnotationStatus + FooterAnnotation = CList.FooterAnnotation + ModeratorAddress = CList.ModeratorAddress + ListAddress = CList.ListAddress + SubscribeMessageFileStatus = CList.SubscribeMessageFileStatus + SubscribeMessageFile = CList.SubscribeMessageFile + UnsubscribeMessageFileStatus = CList.UnsubscribeMessageFileStatus + UnsubscribeMessageFile = CList.UnsubscribeMessageFile + SubjectSuffixStatus = CList.SubjectSuffixStatus + SubjectSuffix = CList.SubjectSuffix + SubjectPrefixStatus = CList.SubjectPrefixStatus + SubjectPrefix = CList.SubjectPrefix + Owner = CList.Owner + HelpMessageFileStatus = CList.HelpMessageFileStatus + HelpMessageFile = CList.HelpMessageFile + RemovalMessageFileStatus = CList.RemovalMessageFileStatus + RemovalMessageFile = CList.RemovalMessageFile + ReplyToMode = CList.ReplyToMode + MaxMessageSize = CList.MaxMessageSize + PostingMode = CList.PostingMode + SubScriptionMode = CList.SubScriptionMode + AuthenticationMode = CList.AuthenticationMode + Password = CList.Password + DigestMode = CList.DigestMode + DigestMailbox = CList.DigestMailbox + DigestAnnotationMode = CList.DigestAnnotationMode + DigestAttachmentMode = CList.DigestAttachmentMode + DigestMessageSeparationMode = CList.DigestMessageSeparationMode + DigestSchedulingStatus = CList.DigestSchedulingStatus + DigestSchedulingMode = CList.DigestSchedulingMode + DigestSchedulingInterval = CList.DigestSchedulingInterval + FromAddressMode = CList.FromAddressMode + End Function + Public Function FindNextList() As Integer + Dim CList As ILISTTYPE + CList.ListType = ListType + CList.AccountName = AccountName + CList.ListName = ListName + CList.Description = Description + CList.ListStatus = ListStatus + CList.HeaderAnnotationStatus = HeaderAnnotationStatus + CList.HeaderAnnotation = HeaderAnnotation + CList.FooterAnnotationStatus = FooterAnnotationStatus + CList.FooterAnnotation = FooterAnnotation + CList.ModeratorAddress = ModeratorAddress + CList.ListAddress = ListAddress + CList.SubscribeMessageFileStatus = SubscribeMessageFileStatus + CList.SubscribeMessageFile = SubscribeMessageFile + CList.UnsubscribeMessageFileStatus = UnsubscribeMessageFileStatus + CList.UnsubscribeMessageFile = UnsubscribeMessageFile + CList.SubjectSuffixStatus = SubjectSuffixStatus + CList.SubjectSuffix = SubjectSuffix + CList.SubjectPrefixStatus = SubjectPrefixStatus + CList.SubjectPrefix = SubjectPrefix + CList.Owner = Owner + CList.HelpMessageFileStatus = HelpMessageFileStatus + CList.HelpMessageFile = HelpMessageFile + CList.RemovalMessageFileStatus = RemovalMessageFileStatus + CList.RemovalMessageFile = RemovalMessageFile + CList.ReplyToMode = ReplyToMode + CList.MaxMessageSize = MaxMessageSize + CList.PostingMode = PostingMode + CList.SubScriptionMode = SubScriptionMode + CList.AuthenticationMode = AuthenticationMode + CList.Password = Password + CList.DigestMode = DigestMode + CList.DigestMailbox = DigestMailbox + CList.DigestAnnotationMode = DigestAnnotationMode + CList.DigestAttachmentMode = DigestAttachmentMode + CList.DigestMessageSeparationMode = DigestMessageSeparationMode + CList.DigestSchedulingStatus = DigestSchedulingStatus + CList.DigestSchedulingMode = DigestSchedulingMode + CList.DigestSchedulingInterval = DigestSchedulingInterval + CList.FromAddressMode = FromAddressMode + ' + ' Make Call + ' + FindNextList = ListFindNext(CList) + ListType = CList.ListType + AccountName = CList.AccountName + ListName = CList.ListName + Description = CList.Description + ListStatus = CList.ListStatus + HeaderAnnotationStatus = CList.HeaderAnnotationStatus + HeaderAnnotation = CList.HeaderAnnotation + FooterAnnotationStatus = CList.FooterAnnotationStatus + FooterAnnotation = CList.FooterAnnotation + ModeratorAddress = CList.ModeratorAddress + ListAddress = CList.ListAddress + SubscribeMessageFileStatus = CList.SubscribeMessageFileStatus + SubscribeMessageFile = CList.SubscribeMessageFile + UnsubscribeMessageFileStatus = CList.UnsubscribeMessageFileStatus + UnsubscribeMessageFile = CList.UnsubscribeMessageFile + SubjectSuffixStatus = CList.SubjectSuffixStatus + SubjectSuffix = CList.SubjectSuffix + SubjectPrefixStatus = CList.SubjectPrefixStatus + SubjectPrefix = CList.SubjectPrefix + Owner = CList.Owner + HelpMessageFileStatus = CList.HelpMessageFileStatus + HelpMessageFile = CList.HelpMessageFile + RemovalMessageFileStatus = CList.RemovalMessageFileStatus + RemovalMessageFile = CList.RemovalMessageFile + ReplyToMode = CList.ReplyToMode + MaxMessageSize = CList.MaxMessageSize + PostingMode = CList.PostingMode + SubScriptionMode = CList.SubScriptionMode + AuthenticationMode = CList.AuthenticationMode + Password = CList.Password + DigestMode = CList.DigestMode + DigestMailbox = CList.DigestMailbox + DigestAnnotationMode = CList.DigestAnnotationMode + DigestAttachmentMode = CList.DigestAttachmentMode + DigestMessageSeparationMode = CList.DigestMessageSeparationMode + DigestSchedulingStatus = CList.DigestSchedulingStatus + DigestSchedulingMode = CList.DigestSchedulingMode + DigestSchedulingInterval = CList.DigestSchedulingInterval + FromAddressMode = CList.FromAddressMode + End Function + + Public Function AddList() As Integer + Dim CList As ILISTTYPE + CList.ListType = ListType + CList.AccountName = AccountName + CList.ListName = ListName + CList.Description = Description + CList.ListStatus = ListStatus + CList.HeaderAnnotationStatus = HeaderAnnotationStatus + CList.HeaderAnnotation = HeaderAnnotation + CList.FooterAnnotationStatus = FooterAnnotationStatus + CList.FooterAnnotation = FooterAnnotation + CList.ModeratorAddress = ModeratorAddress + CList.ListAddress = ListAddress + CList.SubscribeMessageFileStatus = SubscribeMessageFileStatus + CList.SubscribeMessageFile = SubscribeMessageFile + CList.UnsubscribeMessageFileStatus = UnsubscribeMessageFileStatus + CList.UnsubscribeMessageFile = UnsubscribeMessageFile + CList.SubjectSuffixStatus = SubjectSuffixStatus + CList.SubjectSuffix = SubjectSuffix + CList.SubjectPrefixStatus = SubjectPrefixStatus + CList.SubjectPrefix = SubjectPrefix + CList.Owner = Owner + CList.HelpMessageFileStatus = HelpMessageFileStatus + CList.HelpMessageFile = HelpMessageFile + CList.RemovalMessageFileStatus = RemovalMessageFileStatus + CList.RemovalMessageFile = RemovalMessageFile + CList.ReplyToMode = ReplyToMode + CList.MaxMessageSize = MaxMessageSize + CList.PostingMode = PostingMode + CList.SubScriptionMode = SubScriptionMode + CList.AuthenticationMode = AuthenticationMode + CList.Password = Password + CList.DigestMode = DigestMode + CList.DigestMailbox = DigestMailbox + CList.DigestAnnotationMode = DigestAnnotationMode + CList.DigestAttachmentMode = DigestAttachmentMode + CList.DigestMessageSeparationMode = DigestMessageSeparationMode + CList.DigestSchedulingStatus = DigestSchedulingStatus + CList.DigestSchedulingMode = DigestSchedulingMode + CList.DigestSchedulingInterval = DigestSchedulingInterval + CList.FromAddressMode = FromAddressMode + ' + ' Make Call + ' + AddList = ListAdd(CList) + ListType = CList.ListType + AccountName = CList.AccountName + ListName = CList.ListName + Description = CList.Description + ListStatus = CList.ListStatus + HeaderAnnotationStatus = CList.HeaderAnnotationStatus + HeaderAnnotation = CList.HeaderAnnotation + FooterAnnotationStatus = CList.FooterAnnotationStatus + FooterAnnotation = CList.FooterAnnotation + ModeratorAddress = CList.ModeratorAddress + ListAddress = CList.ListAddress + SubscribeMessageFileStatus = CList.SubscribeMessageFileStatus + SubscribeMessageFile = CList.SubscribeMessageFile + UnsubscribeMessageFileStatus = CList.UnsubscribeMessageFileStatus + UnsubscribeMessageFile = CList.UnsubscribeMessageFile + SubjectSuffixStatus = CList.SubjectSuffixStatus + SubjectSuffix = CList.SubjectSuffix + SubjectPrefixStatus = CList.SubjectPrefixStatus + SubjectPrefix = CList.SubjectPrefix + Owner = CList.Owner + HelpMessageFileStatus = CList.HelpMessageFileStatus + HelpMessageFile = CList.HelpMessageFile + RemovalMessageFileStatus = CList.RemovalMessageFileStatus + RemovalMessageFile = CList.RemovalMessageFile + ReplyToMode = CList.ReplyToMode + MaxMessageSize = CList.MaxMessageSize + PostingMode = CList.PostingMode + SubScriptionMode = CList.SubScriptionMode + AuthenticationMode = CList.AuthenticationMode + Password = CList.Password + DigestMode = CList.DigestMode + DigestMailbox = CList.DigestMailbox + DigestAnnotationMode = CList.DigestAnnotationMode + DigestAttachmentMode = CList.DigestAttachmentMode + DigestMessageSeparationMode = CList.DigestMessageSeparationMode + DigestSchedulingStatus = CList.DigestSchedulingStatus + DigestSchedulingMode = CList.DigestSchedulingMode + DigestSchedulingInterval = CList.DigestSchedulingInterval + FromAddressMode = CList.FromAddressMode + End Function + + Public Function GetList() As Integer + Dim CList As ILISTTYPE + CList.ListType = ListType + CList.AccountName = AccountName + CList.ListName = ListName + CList.Description = Description + CList.ListStatus = ListStatus + CList.HeaderAnnotationStatus = HeaderAnnotationStatus + CList.HeaderAnnotation = HeaderAnnotation + CList.FooterAnnotationStatus = FooterAnnotationStatus + CList.FooterAnnotation = FooterAnnotation + CList.ModeratorAddress = ModeratorAddress + CList.ListAddress = ListAddress + CList.SubscribeMessageFileStatus = SubscribeMessageFileStatus + CList.SubscribeMessageFile = SubscribeMessageFile + CList.UnsubscribeMessageFileStatus = UnsubscribeMessageFileStatus + CList.UnsubscribeMessageFile = UnsubscribeMessageFile + CList.SubjectSuffixStatus = SubjectSuffixStatus + CList.SubjectSuffix = SubjectSuffix + CList.SubjectPrefixStatus = SubjectPrefixStatus + CList.SubjectPrefix = SubjectPrefix + CList.Owner = Owner + CList.HelpMessageFileStatus = HelpMessageFileStatus + CList.HelpMessageFile = HelpMessageFile + CList.RemovalMessageFileStatus = RemovalMessageFileStatus + CList.RemovalMessageFile = RemovalMessageFile + CList.ReplyToMode = ReplyToMode + CList.MaxMessageSize = MaxMessageSize + CList.PostingMode = PostingMode + CList.SubScriptionMode = SubScriptionMode + CList.AuthenticationMode = AuthenticationMode + CList.Password = Password + CList.DigestMode = DigestMode + CList.DigestMailbox = DigestMailbox + CList.DigestAnnotationMode = DigestAnnotationMode + CList.DigestAttachmentMode = DigestAttachmentMode + CList.DigestMessageSeparationMode = DigestMessageSeparationMode + CList.DigestSchedulingStatus = DigestSchedulingStatus + CList.DigestSchedulingMode = DigestSchedulingMode + CList.DigestSchedulingInterval = DigestSchedulingInterval + CList.FromAddressMode = FromAddressMode + ' + ' Make Call + ' + GetList = ListGet(CList) + ListType = CList.ListType + AccountName = CList.AccountName + ListName = CList.ListName + Description = CList.Description + ListStatus = CList.ListStatus + HeaderAnnotationStatus = CList.HeaderAnnotationStatus + HeaderAnnotation = CList.HeaderAnnotation + FooterAnnotationStatus = CList.FooterAnnotationStatus + FooterAnnotation = CList.FooterAnnotation + ModeratorAddress = CList.ModeratorAddress + ListAddress = CList.ListAddress + 'new + SubscribeMessageFileStatus = CList.SubscribeMessageFileStatus + SubscribeMessageFile = CList.SubscribeMessageFile + UnsubscribeMessageFileStatus = CList.UnsubscribeMessageFileStatus + UnsubscribeMessageFile = CList.UnsubscribeMessageFile + SubjectSuffixStatus = CList.SubjectSuffixStatus + SubjectSuffix = CList.SubjectSuffix + SubjectPrefixStatus = CList.SubjectPrefixStatus + SubjectPrefix = CList.SubjectPrefix + Owner = CList.Owner + HelpMessageFileStatus = CList.HelpMessageFileStatus + HelpMessageFile = CList.HelpMessageFile + RemovalMessageFileStatus = CList.RemovalMessageFileStatus + RemovalMessageFile = CList.RemovalMessageFile + ReplyToMode = CList.ReplyToMode + MaxMessageSize = CList.MaxMessageSize + PostingMode = CList.PostingMode + SubScriptionMode = CList.SubScriptionMode + AuthenticationMode = CList.AuthenticationMode + Password = CList.Password + DigestMode = CList.DigestMode + DigestMailbox = CList.DigestMailbox + DigestAnnotationMode = CList.DigestAnnotationMode + DigestAttachmentMode = CList.DigestAttachmentMode + DigestMessageSeparationMode = CList.DigestMessageSeparationMode + DigestSchedulingStatus = CList.DigestSchedulingStatus + DigestSchedulingMode = CList.DigestSchedulingMode + DigestSchedulingInterval = CList.DigestSchedulingInterval + FromAddressMode = CList.FromAddressMode + End Function + Public Function RemoveList() As Integer + Dim CList As ILISTTYPE + CList.ListType = ListType + CList.AccountName = AccountName + CList.ListName = ListName + CList.Description = Description + CList.ListStatus = ListStatus + CList.HeaderAnnotationStatus = HeaderAnnotationStatus + CList.HeaderAnnotation = HeaderAnnotation + CList.FooterAnnotationStatus = FooterAnnotationStatus + CList.FooterAnnotation = FooterAnnotation + CList.ModeratorAddress = ModeratorAddress + CList.ListAddress = ListAddress + CList.SubscribeMessageFileStatus = SubscribeMessageFileStatus + CList.SubscribeMessageFile = SubscribeMessageFile + CList.UnsubscribeMessageFileStatus = UnsubscribeMessageFileStatus + CList.UnsubscribeMessageFile = UnsubscribeMessageFile + CList.SubjectSuffixStatus = SubjectSuffixStatus + CList.SubjectSuffix = SubjectSuffix + CList.SubjectPrefixStatus = SubjectPrefixStatus + CList.SubjectPrefix = SubjectPrefix + CList.Owner = Owner + CList.HelpMessageFileStatus = HelpMessageFileStatus + CList.HelpMessageFile = HelpMessageFile + CList.RemovalMessageFileStatus = RemovalMessageFileStatus + CList.RemovalMessageFile = RemovalMessageFile + CList.ReplyToMode = ReplyToMode + CList.MaxMessageSize = MaxMessageSize + CList.PostingMode = PostingMode + CList.SubScriptionMode = SubScriptionMode + CList.AuthenticationMode = AuthenticationMode + CList.Password = Password + CList.DigestMode = DigestMode + CList.DigestMailbox = DigestMailbox + CList.DigestAnnotationMode = DigestAnnotationMode + CList.DigestAttachmentMode = DigestAttachmentMode + CList.DigestMessageSeparationMode = DigestMessageSeparationMode + CList.DigestSchedulingStatus = DigestSchedulingStatus + CList.DigestSchedulingMode = DigestSchedulingMode + CList.DigestSchedulingInterval = DigestSchedulingInterval + CList.FromAddressMode = FromAddressMode + ' + ' Make Call + ' + RemoveList = ListRemove(CList) + ListType = CList.ListType + AccountName = CList.AccountName + ListName = CList.ListName + Description = CList.Description + ListStatus = CList.ListStatus + HeaderAnnotationStatus = CList.HeaderAnnotationStatus + HeaderAnnotation = CList.HeaderAnnotation + FooterAnnotationStatus = CList.FooterAnnotationStatus + FooterAnnotation = CList.FooterAnnotation + ModeratorAddress = CList.ModeratorAddress + ListAddress = CList.ListAddress + SubscribeMessageFileStatus = CList.SubscribeMessageFileStatus + SubscribeMessageFile = CList.SubscribeMessageFile + UnsubscribeMessageFileStatus = CList.UnsubscribeMessageFileStatus + UnsubscribeMessageFile = CList.UnsubscribeMessageFile + SubjectSuffixStatus = CList.SubjectSuffixStatus + SubjectSuffix = CList.SubjectSuffix + SubjectPrefixStatus = CList.SubjectPrefixStatus + SubjectPrefix = CList.SubjectPrefix + Owner = CList.Owner + HelpMessageFileStatus = CList.HelpMessageFileStatus + HelpMessageFile = CList.HelpMessageFile + RemovalMessageFileStatus = CList.RemovalMessageFileStatus + RemovalMessageFile = CList.RemovalMessageFile + ReplyToMode = CList.ReplyToMode + MaxMessageSize = CList.MaxMessageSize + PostingMode = CList.PostingMode + SubScriptionMode = CList.SubScriptionMode + AuthenticationMode = CList.AuthenticationMode + Password = CList.Password + DigestMode = CList.DigestMode + DigestMailbox = CList.DigestMailbox + DigestAnnotationMode = CList.DigestAnnotationMode + DigestAttachmentMode = CList.DigestAttachmentMode + DigestMessageSeparationMode = CList.DigestMessageSeparationMode + DigestSchedulingStatus = CList.DigestSchedulingStatus + DigestSchedulingMode = CList.DigestSchedulingMode + DigestSchedulingInterval = CList.DigestSchedulingInterval + FromAddressMode = CList.FromAddressMode + End Function + + Public Function EditList(ByVal NewDescription As String, ByVal NewAccountName As String, ByVal NewListName As String, ByVal NewListType As Long, ByVal NewListStatus As Long, ByVal NewHeaderAnnotationStatus As Long, ByVal NewHeaderAnnotation As String, ByVal NewFooterAnnotationStatus As Long, ByVal NewFooterAnnotation As String, ByVal NewModeratorAddress As String, ByVal NewListAddress As String, _ + Optional ByVal NewSubscribeMessageFileStatus As Long = -1, Optional ByVal NewSubscribeMessageFile As String = "(Nil)", Optional ByVal NewUnsubscribeMessageFileStatus As Long = -1, Optional ByVal NewUnsubscribeMessageFile As String = "(Nil)", Optional ByVal NewSubjectSuffixStatus As Long = -1, Optional ByVal NewSubjectSuffix As String = "(Nil)", Optional ByVal NewSubjectPrefixStatus As Long = -1, Optional ByVal NewSubjectPrefix As String = "(Nil)", Optional ByVal NewOwner As String = "(Nil)", Optional ByVal NewHelpMessageFileStatus As Long = -1, _ + Optional ByVal NewHelpMessageFile As String = "(Nil)", Optional ByVal NewRemovalMessageFileStatus As Long = -1, Optional ByVal NewRemovalMessageFile As String = "(Nil)", Optional ByVal NewReplyToMode As Long = -1, Optional ByVal NewMaxMessageSize As Long = -1, Optional ByVal NewPostingMode As Long = -1, Optional ByVal NewSubScriptionMode As Long = -1, Optional ByVal NewAuthenticationMode As Long = -1, Optional ByVal NewPassword As String = "(Nil)", Optional ByVal NewDigestMode As Long = -1, Optional ByVal NewDigestMailbox As String = "(Nil)", _ + Optional ByVal NewDigestAnnotationMode As Long = -1, Optional ByVal NewDigestAttachmentMode As Long = -1, Optional ByVal NewDigestMessageSeparationMode As Long = -1, Optional ByVal NewDigestSchedulingStatus As Long = -1, _ + Optional ByVal NewDigestSchedulingMode As Long = -1, Optional ByVal NewDigestSchedulingInterval As Long = -1, Optional ByVal NewFromAddressMode As Long = -1) As Integer + ' + ' hmm - if we pass these with default values of Blank, then how will we know whether or not to clear then or not? + ' + ' + Dim CList As ILISTTYPE + Dim CListData As ILISTTYPE + ' Get the Find Stuff Set up + CList.ListType = ListType + CList.ListName = ListName + CList.AccountName = AccountName + CList.Description = Description + CList.ListStatus = ListStatus + CList.HeaderAnnotationStatus = HeaderAnnotationStatus + CList.HeaderAnnotation = HeaderAnnotation + CList.FooterAnnotationStatus = FooterAnnotationStatus + CList.FooterAnnotation = FooterAnnotation + CList.ModeratorAddress = ModeratorAddress + CList.ListAddress = ListAddress + CList.SubscribeMessageFileStatus = SubscribeMessageFileStatus + CList.SubscribeMessageFile = SubscribeMessageFile + CList.UnsubscribeMessageFileStatus = UnsubscribeMessageFileStatus + CList.UnsubscribeMessageFile = UnsubscribeMessageFile + CList.SubjectSuffixStatus = SubjectSuffixStatus + CList.SubjectSuffix = SubjectSuffix + CList.SubjectPrefixStatus = SubjectPrefixStatus + CList.SubjectPrefix = SubjectPrefix + CList.Owner = Owner + CList.HelpMessageFileStatus = HelpMessageFileStatus + CList.HelpMessageFile = HelpMessageFile + CList.RemovalMessageFileStatus = RemovalMessageFileStatus + CList.RemovalMessageFile = RemovalMessageFile + CList.ReplyToMode = ReplyToMode + CList.MaxMessageSize = MaxMessageSize + CList.PostingMode = PostingMode + CList.SubScriptionMode = SubScriptionMode + CList.AuthenticationMode = AuthenticationMode + CList.Password = Password + CList.DigestMode = DigestMode + CList.DigestMailbox = DigestMailbox + CList.DigestAnnotationMode = DigestAnnotationMode + CList.DigestAttachmentMode = DigestAttachmentMode + CList.DigestMessageSeparationMode = DigestMessageSeparationMode + CList.DigestSchedulingStatus = DigestSchedulingStatus + CList.DigestSchedulingMode = DigestSchedulingMode + CList.DigestSchedulingInterval = DigestSchedulingInterval + CList.FromAddressMode = FromAddressMode + ' Get the Data Set up + CListData.ListType = NewListType + CListData.ListName = NewListName + CListData.AccountName = NewAccountName + CListData.Description = NewDescription + CListData.ListStatus = NewListStatus 'NewHeaderAnnotationStatus As Long, NewHeaderAnnotation As String, NewFooterAnnotationStatus As Long, NewFooterAnnotation As String,NewModeratorAddress As String + CListData.HeaderAnnotationStatus = NewHeaderAnnotationStatus + CListData.HeaderAnnotation = NewHeaderAnnotation + CListData.FooterAnnotationStatus = NewFooterAnnotationStatus + CListData.FooterAnnotation = NewFooterAnnotation + CListData.ModeratorAddress = NewModeratorAddress + CListData.ListAddress = NewListAddress + CListData.SubscribeMessageFileStatus = NewSubscribeMessageFileStatus + CListData.SubscribeMessageFile = NewSubscribeMessageFile + CListData.UnsubscribeMessageFileStatus = NewUnsubscribeMessageFileStatus + CListData.UnsubscribeMessageFile = NewUnsubscribeMessageFile + CListData.SubjectSuffixStatus = NewSubjectSuffixStatus + CListData.SubjectSuffix = NewSubjectSuffix + CListData.SubjectPrefixStatus = NewSubjectPrefixStatus + CListData.SubjectPrefix = NewSubjectPrefix + CListData.Owner = NewOwner + CListData.HelpMessageFileStatus = NewHelpMessageFileStatus + CListData.HelpMessageFile = NewHelpMessageFile + CListData.RemovalMessageFileStatus = NewRemovalMessageFileStatus + CListData.RemovalMessageFile = NewRemovalMessageFile + CListData.ReplyToMode = NewReplyToMode + CListData.MaxMessageSize = NewMaxMessageSize + CListData.PostingMode = NewPostingMode + CListData.SubScriptionMode = NewSubScriptionMode + CListData.AuthenticationMode = NewAuthenticationMode + CListData.Password = NewPassword + CListData.DigestMode = NewDigestMode + CListData.DigestMailbox = NewDigestMailbox + CListData.DigestAnnotationMode = NewDigestAnnotationMode + CListData.DigestAttachmentMode = NewDigestAttachmentMode + CListData.DigestMessageSeparationMode = NewDigestMessageSeparationMode + CListData.DigestSchedulingStatus = NewDigestSchedulingStatus + CListData.DigestSchedulingMode = NewDigestSchedulingMode + CListData.DigestSchedulingInterval = NewDigestSchedulingInterval + CListData.FromAddressMode = NewFromAddressMode + ' + ' Make the Call + ' + EditList = ListEdit(CList, CListData) + ListType = CListData.ListType + AccountName = CListData.AccountName + ListName = CListData.ListName + Description = CListData.Description + ListStatus = CList.ListStatus + HeaderAnnotationStatus = CList.HeaderAnnotationStatus + HeaderAnnotation = CList.HeaderAnnotation + FooterAnnotationStatus = CList.FooterAnnotationStatus + FooterAnnotation = CList.FooterAnnotation + ModeratorAddress = CList.ModeratorAddress + ListAddress = CList.ListAddress + SubscribeMessageFileStatus = CList.SubscribeMessageFileStatus + SubscribeMessageFile = CList.SubscribeMessageFile + UnsubscribeMessageFileStatus = CList.UnsubscribeMessageFileStatus + UnsubscribeMessageFile = CList.UnsubscribeMessageFile + SubjectSuffixStatus = CList.SubjectSuffixStatus + SubjectSuffix = CList.SubjectSuffix + SubjectPrefixStatus = CList.SubjectPrefixStatus + SubjectPrefix = CList.SubjectPrefix + Owner = CList.Owner + HelpMessageFileStatus = CList.HelpMessageFileStatus + HelpMessageFile = CList.HelpMessageFile + RemovalMessageFileStatus = CList.RemovalMessageFileStatus + RemovalMessageFile = CList.RemovalMessageFile + ReplyToMode = CList.ReplyToMode + MaxMessageSize = CList.MaxMessageSize + PostingMode = CList.PostingMode + SubScriptionMode = CList.SubScriptionMode + AuthenticationMode = CList.AuthenticationMode + Password = CList.Password + DigestMode = CList.DigestMode + DigestMailbox = CList.DigestMailbox + DigestAnnotationMode = CList.DigestAnnotationMode + DigestAttachmentMode = CList.DigestAttachmentMode + DigestMessageSeparationMode = CList.DigestMessageSeparationMode + DigestSchedulingStatus = CList.DigestSchedulingStatus + DigestSchedulingMode = CList.DigestSchedulingMode + DigestSchedulingInterval = CList.DigestSchedulingInterval + FromAddressMode = CList.FromAddressMode + End Function + ' + ' We need to wrapper these routines + ' + Function SetHeader(ByVal Postoffice As String, ByVal List As String, ByVal ListHeader As String) As Integer + + Dim CAnnotation As IANNOTATIONTYPE + + CAnnotation.AccountName = Postoffice + CAnnotation.AnnotationName = List & "-HEADER" + CAnnotation.AnnotationText = ListHeader + SetHeader = AnnotationAdd(CAnnotation) + + End Function + + Function GetHeader(ByVal Postoffice As String, ByVal List As String) As String + + Dim CAnnotation As IANNOTATIONTYPE + CAnnotation.AnnotationText = "" + + CAnnotation.AccountName = Postoffice + CAnnotation.AnnotationName = List & "-HEADER" + If (AnnotationGet(CAnnotation) = 1) Then + GetHeader = CAnnotation.AnnotationText + Else + GetHeader = "" + End If + + End Function + + Function SetFooter(ByVal Postoffice As String, ByVal List As String, ByVal ListFooter As String) As Integer + + Dim CAnnotation As IANNOTATIONTYPE + + CAnnotation.AccountName = Postoffice + CAnnotation.AnnotationName = List & "-FOOTER" + CAnnotation.AnnotationText = ListFooter + SetFooter = AnnotationAdd(CAnnotation) + + End Function + + Public Function GetFooter(ByVal Postoffice As String, ByVal List As String) As String + + Dim CAnnotation As IANNOTATIONTYPE + + CAnnotation.AccountName = Postoffice + CAnnotation.AnnotationName = List & "-FOOTER" + CAnnotation.AnnotationText = "" + + If (AnnotationGet(CAnnotation) = 1) Then + GetFooter = CAnnotation.AnnotationText + Else + GetFooter = "" + End If + + End Function + + Private Sub AddDataTableColumns(ByRef oTable As DataTable) + oTable.Columns.Add("ListName", GetType(String)) + oTable.Columns.Add("ListStatus", GetType(Long)) + oTable.Columns.Add("Description", GetType(String)) + oTable.Columns.Add("ListType", GetType(Long)) + End Sub + + + Public Property Description() As String + Get + Return Me.DescriptionVal + End Get + Set(ByVal value As String) + Me.DescriptionVal = value + End Set + End Property + + Public Property AccountName() As String + Get + Return Me.AccountNameVal + End Get + Set(ByVal value As String) + Me.AccountNameVal = value + End Set + End Property + + Public Property ListName() As String + Get + Return Me.ListNameVal + End Get + Set(ByVal value As String) + Me.ListNameVal = value + End Set + End Property + + Public Property ListType() As Long + Get + Return Me.ListTypeVal + End Get + Set(ByVal value As Long) + Me.ListTypeVal = value + End Set + End Property + + Public Property ListStatus() As Long + Get + Return Me.ListStatusVal + End Get + Set(ByVal value As Long) + Me.ListStatusVal = value + End Set + End Property + + Public Property ModeratorAddress() As String + Get + Return Me.ModeratorAddressVal + End Get + Set(ByVal value As String) + Me.ModeratorAddressVal = value + End Set + End Property + + Public Property HeaderAnnotationStatus() As Long + Get + Return Me.HeaderAnnotationStatusVal + End Get + Set(ByVal value As Long) + Me.HeaderAnnotationStatusVal = value + End Set + End Property + + Public Property HeaderAnnotation() As String + Get + Return Me.HeaderAnnotationVal + End Get + Set(ByVal value As String) + Me.HeaderAnnotationVal = value + End Set + End Property + + Public Property FooterAnnotationStatus() As Long + Get + Return Me.FooterAnnotationStatusVal + End Get + Set(ByVal value As Long) + Me.FooterAnnotationStatusVal = value + End Set + End Property + + Public Property FooterAnnotation() As String + Get + Return Me.FooterAnnotationVal + End Get + Set(ByVal value As String) + Me.FooterAnnotationVal = value + End Set + End Property + + Public Property ListAddress() As String + Get + Return Me.ListAddressVal + End Get + Set(ByVal value As String) + Me.ListAddressVal = value + End Set + End Property + + Public Property SubscribeMessageFileStatus() As Long + Get + Return Me.SubscribeMessageFileStatusVal + End Get + Set(ByVal value As Long) + Me.SubscribeMessageFileStatusVal = value + End Set + End Property + + Public Property SubscribeMessageFile() As String + Get + Return Me.SubscribeMessageFileVal + End Get + Set(ByVal value As String) + Me.SubscribeMessageFileVal = value + End Set + End Property + + Public Property UnsubscribeMessageFileStatus() As Long + Get + Return Me.UnsubscribeMessageFileStatusVal + End Get + Set(ByVal value As Long) + Me.UnsubscribeMessageFileStatusVal = value + End Set + End Property + + Public Property UnsubscribeMessageFile() As String + Get + Return Me.UnsubscribeMessageFileVal + End Get + Set(ByVal value As String) + Me.UnsubscribeMessageFileVal = value + End Set + End Property + + Public Property SubjectSuffixStatus() As Long + Get + Return Me.SubjectSuffixStatusVal + End Get + Set(ByVal value As Long) + Me.SubjectSuffixStatusVal = value + End Set + End Property + + Public Property SubjectSuffix() As String + Get + Return Me.SubjectSuffixVal + End Get + Set(ByVal value As String) + Me.SubjectSuffixVal = value + End Set + End Property + + Public Property SubjectPrefixStatus() As Long + Get + Return Me.SubjectPrefixStatusVal + End Get + Set(ByVal value As Long) + Me.SubjectPrefixStatusVal = value + End Set + End Property + + Public Property SubjectPrefix() As String + Get + Return Me.SubjectPrefixVal + End Get + Set(ByVal value As String) + Me.SubjectPrefixVal = value + End Set + End Property + + Public Property Owner() As String + Get + Return Me.OwnerVal + End Get + Set(ByVal value As String) + Me.OwnerVal = value + End Set + End Property + + Public Property HelpMessageFileStatus() As Long + Get + Return Me.HelpMessageFileStatusVal + End Get + Set(ByVal value As Long) + Me.HelpMessageFileStatusVal = value + End Set + End Property + + Public Property HelpMessageFile() As String + Get + Return Me.HelpMessageFileVal + End Get + Set(ByVal value As String) + Me.HelpMessageFileVal = value + End Set + End Property + + Public Property RemovalMessageFileStatus() As Long + Get + Return Me.RemovalMessageFileStatusVal + End Get + Set(ByVal value As Long) + Me.RemovalMessageFileStatusVal = value + End Set + End Property + + Public Property RemovalMessageFile() As String + Get + Return Me.RemovalMessageFileVal + End Get + Set(ByVal value As String) + Me.RemovalMessageFileVal = value + End Set + End Property + + Public Property ReplyToMode() As Long + Get + Return Me.ReplyToModeVal + End Get + Set(ByVal value As Long) + Me.ReplyToModeVal = value + End Set + End Property + + Public Property MaxMessageSize() As Long + Get + Return Me.MaxMessageSizeVal + End Get + Set(ByVal value As Long) + Me.MaxMessageSizeVal = value + End Set + End Property + + Public Property PostingMode() As Long + Get + Return Me.PostingModeVal + End Get + Set(ByVal value As Long) + Me.PostingModeVal = value + End Set + End Property + + Public Property SubScriptionMode() As Long + Get + Return Me.SubScriptionModeVal + End Get + Set(ByVal value As Long) + Me.SubScriptionModeVal = value + End Set + End Property + + Public Property AuthenticationMode() As Long + Get + Return Me.AuthenticationModeVal + End Get + Set(ByVal value As Long) + Me.AuthenticationModeVal = value + End Set + End Property + + Public Property Password() As String + Get + Return Me.PasswordVal + End Get + Set(ByVal value As String) + Me.PasswordVal = value + End Set + End Property + + Public Property DigestMode() As Long + Get + Return Me.DigestModeVal + End Get + Set(ByVal value As Long) + Me.DigestModeVal = value + End Set + End Property + + Public Property DigestMailbox() As String + Get + Return Me.DigestMailboxVal + End Get + Set(ByVal value As String) + Me.DigestMailboxVal = value + End Set + End Property + + Public Property DigestAnnotationMode() As Long + Get + Return Me.DigestAnnotationModeVal + End Get + Set(ByVal value As Long) + Me.DigestAnnotationModeVal = value + End Set + End Property + + Public Property DigestAttachmentMode() As Long + Get + Return Me.DigestAttachmentModeVal + End Get + Set(ByVal value As Long) + Me.DigestAttachmentModeVal = value + End Set + End Property + + Public Property DigestMessageSeparationMode() As Long + Get + Return Me.DigestMessageSeparationModeVal + End Get + Set(ByVal value As Long) + Me.DigestMessageSeparationModeVal = value + End Set + End Property + + Public Property DigestSchedulingStatus() As Long + Get + Return Me.DigestSchedulingStatusVal + End Get + Set(ByVal value As Long) + Me.DigestSchedulingStatusVal = value + End Set + End Property + + Public Property DigestSchedulingMode() As Long + Get + Return Me.DigestSchedulingModeVal + End Get + Set(ByVal value As Long) + Me.DigestSchedulingModeVal = value + End Set + End Property + + Public Property DigestSchedulingInterval() As Long + Get + Return Me.DigestSchedulingIntervalVal + End Get + Set(ByVal value As Long) + Me.DigestSchedulingIntervalVal = value + End Set + End Property + + Public Property FromAddressMode() As Long + Get + Return Me.FromAddressModeVal + End Get + Set(ByVal value As Long) + Me.FromAddressModeVal = value + End Set + End Property + + End Class + +End Namespace diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableListMember.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableListMember.vb new file mode 100644 index 00000000..04322f4f --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableListMember.vb @@ -0,0 +1,164 @@ +Namespace WebsitePanel.Providers.Mail + + Public Class MailEnableListMember + Inherits MarshalByRefObject + + Private AddressVal As String + Private AccountNameVal As String + Private ListNameVal As String + Private ListMemberTypeVal As Long + Private StatusVal As Long + Private HostVal As String + + + Private Structure ILISTMEMBERTYPE + Public Address As String + Public AccountName As String + Public ListName As String + Public Role As Integer + Public Status As Integer + End Structure + + + Private Declare Function ListMemberGet Lib "MEAILS.DLL" (ByRef lpListMember As ILISTMEMBERTYPE) As Integer + Private Declare Function ListMemberFindFirst Lib "MEAILS.DLL" (ByRef lpListMember As ILISTMEMBERTYPE) As Integer + Private Declare Function ListMemberFindNext Lib "MEAILS.DLL" (ByRef lpListMember As ILISTMEMBERTYPE) As Integer + Private Declare Function ListMemberAdd Lib "MEAILS.DLL" (ByRef lpListMember As ILISTMEMBERTYPE) As Integer + Private Declare Function ListMemberEdit Lib "MEAILS.DLL" (ByRef TargetListMember As ILISTMEMBERTYPE, ByRef NewListMember As ILISTMEMBERTYPE) As Integer + Private Declare Function ListMemberRemove Lib "MEAILS.DLL" (ByRef lpListMember As ILISTMEMBERTYPE) As Integer + Private Declare Function SetCurrentHost Lib "MEAILS.DLL" (ByVal CurrentHost As String) As Integer + + Public Function SetHost() As Integer + SetHost = SetCurrentHost(Host) + End Function + + + Public Function FindFirstListMember() As Integer + Dim CListMember As ILISTMEMBERTYPE + CListMember.Address = Address + CListMember.AccountName = AccountName + CListMember.ListName = ListName + FindFirstListMember = ListMemberFindFirst(CListMember) + Address = CListMember.Address + AccountName = CListMember.AccountName + ListName = CListMember.ListName + End Function + + Public Function FindNextListMember() As Integer + Dim CListMember As ILISTMEMBERTYPE + CListMember.Address = Address + CListMember.AccountName = AccountName + CListMember.ListName = ListName + FindNextListMember = ListMemberFindNext(CListMember) + Address = CListMember.Address + AccountName = CListMember.AccountName + ListName = CListMember.ListName + End Function + + Public Function AddListMember() As Integer + Dim CListMember As ILISTMEMBERTYPE + CListMember.Address = Address + CListMember.AccountName = AccountName + CListMember.ListName = ListName + AddListMember = ListMemberAdd(CListMember) + Address = CListMember.Address + AccountName = CListMember.AccountName + ListName = CListMember.ListName + End Function + + Public Function GetListMember() As Integer + Dim CListMember As ILISTMEMBERTYPE + CListMember.Address = Address + CListMember.AccountName = AccountName + CListMember.ListName = ListName + GetListMember = ListMemberGet(CListMember) + Address = CListMember.Address + AccountName = CListMember.AccountName + ListName = CListMember.ListName + End Function + Public Function RemoveListMember() As Integer + Dim CListMember As ILISTMEMBERTYPE + CListMember.Address = Address + CListMember.AccountName = AccountName + CListMember.ListName = ListName + RemoveListMember = ListMemberRemove(CListMember) + Address = CListMember.Address + AccountName = CListMember.AccountName + ListName = CListMember.ListName + End Function + + Public Function EditListMember(ByVal NewAddress, ByVal NewAccountName, ByVal NewListName, ByVal NewListMemberType, ByVal NewStatus) As Integer + Dim CListMember As ILISTMEMBERTYPE + Dim CListMemberData As ILISTMEMBERTYPE + ' Get the Find Stuff Set up + CListMember.Address = Address + CListMember.AccountName = AccountName + CListMember.ListName = ListName + ' Get the Data Set up + CListMemberData.Address = NewAddress + CListMemberData.AccountName = NewAccountName + CListMemberData.ListName = NewListName + EditListMember = ListMemberEdit(CListMember, CListMemberData) + + NewAddress = CListMemberData.Address + NewAccountName = CListMemberData.AccountName + NewListName = CListMemberData.ListName + End Function + + Public Property Address() As String + Get + Return Me.AddressVal + End Get + Set(ByVal value As String) + Me.AddressVal = value + End Set + End Property + + Public Property AccountName() As String + Get + Return Me.AccountNameVal + End Get + Set(ByVal value As String) + Me.AccountNameVal = value + End Set + End Property + + Public Property ListName() As String + Get + Return Me.ListNameVal + End Get + Set(ByVal value As String) + Me.ListNameVal = value + End Set + End Property + + Public Property ListMemberType() As Long + Get + Return Me.ListMemberTypeVal + End Get + Set(ByVal value As Long) + Me.ListMemberTypeVal = value + End Set + End Property + + Public Property Status() As Long + Get + Return Me.StatusVal + End Get + Set(ByVal value As Long) + Me.StatusVal = value + End Set + End Property + + Public Property Host() As String + Get + Return Me.HostVal + End Get + Set(ByVal value As String) + Me.HostVal = value + End Set + End Property + + End Class + +End Namespace diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableLogin.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableLogin.vb new file mode 100644 index 00000000..0ddeb7b4 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableLogin.vb @@ -0,0 +1,264 @@ +Namespace WebsitePanel.Providers.Mail + + Public Class MailEnableLogin + Inherits MarshalByRefObject + + Private UserNameVal As String + Private StatusVal As Long + Private PasswordVal As String + Private AccountVal As String + Private DescriptionVal As String + Private LoginAttemptsVal As Long + Private LastAttemptVal As Long + Private LastSuccessfulLoginVal As Long + Private RightsVal As String + Private HostVal As String + + Private Structure IAUTHENTRYTYPE + Public UserName As String + Public Status As Integer + Public Password As String + Public Account As String + Public Rights As String + Public Description As String + Public LoginAttempts As Integer + Public LastAttempt As Integer + Public LastSuccessfulLogin As Integer + End Structure + + Private Declare Function GetLastProviderErrorCode Lib "MEAIAU.DLL" Alias "GetLastErrorCode" () As Integer + Private Declare Function LoginGet Lib "MEAIAU.DLL" (ByRef lpLogin As IAUTHENTRYTYPE) As Integer + Private Declare Function LoginFindFirst Lib "MEAIAU.DLL" (ByRef lpLogin As IAUTHENTRYTYPE) As Integer + Private Declare Function LoginFindNext Lib "MEAIAU.DLL" (ByRef lpLogin As IAUTHENTRYTYPE) As Integer + Private Declare Function LoginAdd Lib "MEAIAU.DLL" (ByRef lpLogin As IAUTHENTRYTYPE) As Integer + Private Declare Function LoginEdit Lib "MEAIAU.DLL" (ByRef TargetLogin As IAUTHENTRYTYPE, ByRef NewLogin As IAUTHENTRYTYPE) As Integer + Private Declare Function LoginRemove Lib "MEAIAU.DLL" (ByRef lpLogin As IAUTHENTRYTYPE) As Integer + Private Declare Function SetCurrentHost Lib "MEAIAU.DLL" (ByVal CurrentHost As String) As Integer + + Public Function GetLastErrorCode() As Integer + Return GetLastProviderErrorCode() + End Function + + Public Function SetHost() As Integer + SetHost = SetCurrentHost(Host) + End Function + + Public Function GetLogin() As Integer + Dim CLogin As IAUTHENTRYTYPE + CLogin.UserName = UserName + CLogin.Password = Password + CLogin.Status = Status + CLogin.Account = Account + CLogin.Description = Description + CLogin.Rights = Rights + GetLogin = LoginGet(CLogin) + UserName = CLogin.UserName + Password = CLogin.Password + Status = CLogin.Status + Account = CLogin.Account + Description = CLogin.Description + Rights = CLogin.Rights + End Function + + Public Function FindFirstLogin() As Integer + + Dim CLogin As IAUTHENTRYTYPE + + CLogin.UserName = UserName + CLogin.Password = Password + CLogin.Status = Status + CLogin.Account = Account + CLogin.Description = Description + CLogin.Rights = Rights + FindFirstLogin = LoginFindFirst(CLogin) + UserName = CLogin.UserName + Password = CLogin.Password + Status = CLogin.Status + Account = CLogin.Account + Description = CLogin.Description + Rights = CLogin.Rights + End Function + + Public Function FindNextLogin() As Integer + Dim CLogin As IAUTHENTRYTYPE + CLogin.UserName = UserName + CLogin.Password = Password + CLogin.Status = Status + CLogin.Account = Account + CLogin.Description = Description + CLogin.Rights = Rights + FindNextLogin = LoginFindNext(CLogin) + UserName = CLogin.UserName + Password = CLogin.Password + Status = CLogin.Status + Account = CLogin.Account + Description = CLogin.Description + Rights = CLogin.Rights + End Function + + Public Function AddLogin() As Integer + Dim CLogin As IAUTHENTRYTYPE + CLogin.UserName = UserName + CLogin.Password = Password + CLogin.Status = Status + CLogin.Account = Account + CLogin.Description = Description + CLogin.Rights = Rights + AddLogin = LoginAdd(CLogin) + UserName = CLogin.UserName + Password = CLogin.Password + Status = CLogin.Status + Account = CLogin.Account + Description = CLogin.Description + Rights = CLogin.Rights + End Function + + Public Function RemoveLogin() As Integer + Dim CLogin As IAUTHENTRYTYPE + CLogin.UserName = UserName + CLogin.Password = Password + CLogin.Status = Status + CLogin.Account = Account + CLogin.Description = Description + CLogin.Rights = Rights + RemoveLogin = LoginRemove(CLogin) + End Function + + Public Function EditLogin(ByVal NewUserName As String, ByVal NewStatus As Long, ByVal NewPassword As String, ByVal NewAccount As String, ByVal NewDescription As String, ByVal NewLoginAttempts As Long, ByVal NewLastAttempt As Long, ByVal NewLastSuccessfulLogin As Long, ByVal NewRights As String) As Integer + Dim CLogin As IAUTHENTRYTYPE + Dim CLoginData As IAUTHENTRYTYPE + CLogin.UserName = UserName + CLogin.Password = Password + CLogin.Status = Status + CLogin.Account = Account + CLogin.Description = Description + CLogin.Rights = Rights + ' + CLoginData.UserName = NewUserName + CLoginData.Password = NewPassword + CLoginData.Status = NewStatus + CLoginData.Account = NewAccount + CLoginData.Description = NewDescription + CLoginData.Rights = NewRights + EditLogin = LoginEdit(CLogin, CLoginData) + End Function + + Private Function CString(ByVal InString As String) As String + CString = InString & Chr(0) + End Function + + Private Function NonCString(ByVal InString As String) As String + Dim NTPos As Integer + NTPos = InStr(1, InString, Chr(0), CompareMethod.Binary) + If NTPos > 0 Then + NonCString = Left(InString, NTPos - 1) + Else + NonCString = InString + End If + + End Function + + Public Function Exists(ByVal sUsername As String) As Boolean + Dim CLogin As IAUTHENTRYTYPE + CLogin.UserName = CString(sUsername) + CLogin.Password = CString("") + CLogin.Status = -1 + CLogin.Account = CString("") + CLogin.Description = CString("") + CLogin.Rights = CString("") + Exists = (LoginGet(CLogin) = 1) + End Function + + + Public Property UserName() As String + Get + Return Me.UserNameVal + End Get + Set(ByVal value As String) + Me.UserNameVal = value + End Set + End Property + + Public Property Status() As Long + Get + Return Me.StatusVal + End Get + Set(ByVal value As Long) + Me.StatusVal = value + End Set + End Property + + Public Property Password() As String + Get + Return Me.PasswordVal + End Get + Set(ByVal value As String) + Me.PasswordVal = value + End Set + End Property + + Public Property Account() As String + Get + Return Me.AccountVal + End Get + Set(ByVal value As String) + Me.AccountVal = value + End Set + End Property + + Public Property Description() As String + Get + Return Me.DescriptionVal + End Get + Set(ByVal value As String) + Me.DescriptionVal = value + End Set + End Property + + Public Property LoginAttempts() As Long + Get + Return Me.LoginAttemptsVal + End Get + Set(ByVal value As Long) + Me.LoginAttemptsVal = value + End Set + End Property + + Public Property LastAttempt() As Long + Get + Return Me.LastAttemptVal + End Get + Set(ByVal value As Long) + Me.LastAttemptVal = value + End Set + End Property + + Public Property LastSuccessfulLogin() As Long + Get + Return Me.LastSuccessfulLoginVal + End Get + Set(ByVal value As Long) + Me.LastSuccessfulLoginVal = value + End Set + End Property + + Public Property Rights() As String + Get + Return Me.RightsVal + End Get + Set(ByVal value As String) + Me.RightsVal = value + End Set + End Property + + Public Property Host() As String + Get + Return Me.HostVal + End Get + Set(ByVal value As String) + Me.HostVal = value + End Set + End Property + End Class + +End Namespace diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableMailbox.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableMailbox.vb new file mode 100644 index 00000000..3a75b106 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableMailbox.vb @@ -0,0 +1,448 @@ +Imports System.IO +Imports Microsoft.Win32 + +Namespace WebsitePanel.Providers.Mail + + Public Class MailEnableMailbox + Inherits MarshalByRefObject + + Private PostofficeVal As String + Private MailboxNameVal As String + Private RedirectAddressVal As String + Private RedirectStatusVal As Long + Private StatusVal As Long + Private LimitVal As Long + Private SizeVal As Long + Private HostVal As String + + + Private Structure IMAILBOXTYPE + Public Postoffice As String + Public Mailbox As String + Public RedirectAddress As String + Public RedirectStatus As Integer + Public Status As Integer + Public Limit As Integer + Public Size As Integer + End Structure + + + Private Declare Function MailboxGet Lib "MEAIPO.DLL" (ByRef lpMailbox As IMAILBOXTYPE) As Integer + Private Declare Function MailboxGetLength Lib "MEAIPO.DLL" (ByRef lpMailbox As IMAILBOXTYPE) As Integer + Private Declare Function MailboxFindFirst Lib "MEAIPO.DLL" (ByRef lpMailbox As IMAILBOXTYPE) As Integer + Private Declare Function MailboxFindNext Lib "MEAIPO.DLL" (ByRef lpMailbox As IMAILBOXTYPE) As Integer + Private Declare Function MailboxAdd Lib "MEAIPO.DLL" (ByRef lpMailbox As IMAILBOXTYPE) As Integer + Private Declare Function MailboxEdit Lib "MEAIPO.DLL" (ByRef TargetMailbox As IMAILBOXTYPE, ByRef NewMailbox As IMAILBOXTYPE) As Integer + Private Declare Function MailboxRemove Lib "MEAIPO.DLL" (ByRef lpMailbox As IMAILBOXTYPE) As Integer + + Private Declare Function SetCurrentHost Lib "MEAIPO.DLL" (ByVal CurrentHost As String) As Integer + + Private Structure IANNOTATIONTYPE + Public AnnotationName As String + Public AccountName As String + Public AnnotationText As String + End Structure + + Private Declare Function AnnotationGet Lib "MEAILS.DLL" (ByRef lpAnnotation As IANNOTATIONTYPE) As Integer + Private Declare Function AnnotationAdd Lib "MEAILS.DLL" (ByRef lpAnnotation As IANNOTATIONTYPE) As Integer + Private Declare Function AnnotationRemove Lib "MEAILS.DLL" (ByRef lpAnnotation As IANNOTATIONTYPE) As Integer + + + Public Function SetHost() As Integer + SetHost = SetCurrentHost(Host) + End Function + + Public Function FindFirstMailbox() As Integer + Dim CMailBox As IMAILBOXTYPE + CMailBox.Mailbox = MailboxName + CMailBox.Postoffice = Postoffice + CMailBox.RedirectAddress = RedirectAddress + CMailBox.RedirectStatus = RedirectStatus + CMailBox.Status = Status + CMailBox.Limit = Limit + CMailBox.Size = Size + FindFirstMailbox = MailboxFindFirst(CMailBox) + MailboxName = CMailBox.Mailbox + Postoffice = CMailBox.Postoffice + RedirectAddress = CMailBox.RedirectAddress + RedirectStatus = CMailBox.RedirectStatus + Status = CMailBox.Status + Limit = CMailBox.Limit + Size = CMailBox.Size + End Function + + + Public Function FindNextMailbox() As Integer + Dim CMailBox As IMAILBOXTYPE + CMailBox.Mailbox = MailboxName + CMailBox.Postoffice = Postoffice + CMailBox.RedirectAddress = RedirectAddress + CMailBox.RedirectStatus = RedirectStatus + CMailBox.Status = Status + CMailBox.Limit = Limit + CMailBox.Size = Size + FindNextMailbox = MailboxFindNext(CMailBox) + MailboxName = CMailBox.Mailbox + Postoffice = CMailBox.Postoffice + RedirectAddress = CMailBox.RedirectAddress + RedirectStatus = CMailBox.RedirectStatus + Status = CMailBox.Status + Limit = CMailBox.Limit + Size = CMailBox.Size + End Function + + Public Function AddMailbox() As Integer + Dim CMailBox As IMAILBOXTYPE + CMailBox.Mailbox = MailboxName + CMailBox.Postoffice = Postoffice + CMailBox.RedirectAddress = RedirectAddress + CMailBox.RedirectStatus = RedirectStatus + CMailBox.Status = Status + CMailBox.Limit = Limit + CMailBox.Size = Size + AddMailbox = MailboxAdd(CMailBox) + MailboxName = CMailBox.Mailbox + Postoffice = CMailBox.Postoffice + RedirectAddress = CMailBox.RedirectAddress + RedirectStatus = CMailBox.RedirectStatus + Status = CMailBox.Status + Limit = CMailBox.Limit + Size = CMailBox.Size + End Function + + Public Function GetMailbox() As Integer + Dim CMailBox As IMAILBOXTYPE + CMailBox.Mailbox = MailboxName + CMailBox.Postoffice = Postoffice + CMailBox.RedirectAddress = RedirectAddress + CMailBox.RedirectStatus = RedirectStatus + CMailBox.Status = Status + CMailBox.Limit = Limit + CMailBox.Size = Size + GetMailbox = MailboxGet(CMailBox) + MailboxName = CMailBox.Mailbox + Postoffice = CMailBox.Postoffice + RedirectAddress = CMailBox.RedirectAddress + RedirectStatus = CMailBox.RedirectStatus + Status = CMailBox.Status + Limit = CMailBox.Limit + Size = CMailBox.Size + End Function + + + Public Function RemoveMailbox() As Integer + Dim CMailBox As IMAILBOXTYPE + CMailBox.Mailbox = MailboxName + CMailBox.Postoffice = Postoffice + CMailBox.RedirectAddress = RedirectAddress + CMailBox.RedirectStatus = RedirectStatus + CMailBox.Status = Status + CMailBox.Limit = Limit + CMailBox.Size = Size + RemoveMailbox = MailboxRemove(CMailBox) + MailboxName = CMailBox.Mailbox + Postoffice = CMailBox.Postoffice + RedirectAddress = CMailBox.RedirectAddress + RedirectStatus = CMailBox.RedirectStatus + Status = CMailBox.Status + Limit = CMailBox.Limit + Size = CMailBox.Size + End Function + + + Public Function EditMailbox(ByVal NewPostoffice As String, ByVal NewMailbox As String, ByVal NewRedirectAddress As String, ByVal NewRedirectStatus As Long, ByVal NewStatus As Long, ByVal NewLimit As Long, ByVal NewSize As Long) As Integer + Dim CMailBox As IMAILBOXTYPE + Dim CMailBoxData As IMAILBOXTYPE + ' Get the Find Stuff Set up + CMailBox.Mailbox = MailboxName + CMailBox.Postoffice = Postoffice + CMailBox.RedirectAddress = RedirectAddress + CMailBox.RedirectStatus = RedirectStatus + CMailBox.Status = Status + CMailBox.Limit = Limit + CMailBox.Size = Size + ' Get the Data Set up + CMailBoxData.Mailbox = NewMailbox + CMailBoxData.Postoffice = NewPostoffice + CMailBoxData.RedirectAddress = NewRedirectAddress + CMailBoxData.RedirectStatus = NewRedirectStatus + CMailBoxData.Status = NewStatus + CMailBoxData.Limit = NewLimit + CMailBoxData.Size = NewSize + EditMailbox = MailboxEdit(CMailBox, CMailBoxData) + MailboxName = CMailBox.Mailbox + Postoffice = CMailBox.Postoffice + RedirectAddress = CMailBox.RedirectAddress + RedirectStatus = CMailBox.RedirectStatus + + End Function + + Public Function GetLength() As Integer + Dim CMailBox As IMAILBOXTYPE + CMailBox.Mailbox = MailboxName + CMailBox.Postoffice = Postoffice + CMailBox.RedirectAddress = RedirectAddress + CMailBox.RedirectStatus = RedirectStatus + CMailBox.Status = Status + CMailBox.Limit = Limit + CMailBox.Size = Size + Return MailboxGetLength(CMailBox) + End Function + + + Public Function SetAutoResponderStatus(ByVal bEnabled As Boolean) As Integer + Return SetAutoResponderStatus(Me.Postoffice, Me.MailboxName, bEnabled) + End Function + + Public Shared Function SetAutoResponderStatus(ByVal sPostoffice As String, ByVal sMailbox As String, ByVal bEnabled As Boolean) As Integer + ' + ' This function copies the Auto Responder Config File to indicate Enabled. + ' It deletes the CFG file to Disable + ' + Dim SourcePath As String + Dim TargetPath As String + + On Error Resume Next + + If (bEnabled) Then + ' + ' Copy AUTORESPOND.CF_ to AUTORESPOND.CFG + ' + SourcePath = MailEnable.GetPostofficesPath() & "\" & sPostoffice & "\MAILROOT\" & sMailbox & "\AUTORESPOND.CF_" + TargetPath = MailEnable.GetPostofficesPath() & "\" & sPostoffice & "\MAILROOT\" & sMailbox & "\AUTORESPOND.CFG" + + If Not File.Exists(SourcePath) Then + Return 1 + End If + + File.Copy(SourcePath, TargetPath, True) + SetAutoResponderStatus = 1 + Else + SourcePath = MailEnable.GetPostofficesPath() & "\" & sPostoffice & "\MAILROOT\" & sMailbox & "\AUTORESPOND.CFG" + + If Not File.Exists(SourcePath) Then + Return 1 + End If + + File.Delete(SourcePath) + SetAutoResponderStatus = 1 + End If + + End Function + + + Public Function SetAutoResponderContents(ByVal Headers As String, ByVal MessageBody As String) As Integer + Return SetAutoResponderContents(Me.Postoffice, Me.MailboxName, Headers, MessageBody) + End Function + + Public Shared Function SetAutoResponderContents(ByVal sPostoffice As String, ByVal sMailbox As String, ByVal Headers As String, ByVal MessageBody As String) As Integer + ' + ' This function sets the contents of the autoresponse. + ' The SetAutoResponderStatus routine must be called after this to make the changes effective + ' + Dim SourcePath As String + + SourcePath = MailEnable.GetPostofficesPath() & "\" & sPostoffice & "\MAILROOT\" & sMailbox & "\AUTORESPOND.CF_" + + On Error Resume Next + + Dim oTS As StreamWriter = New StreamWriter(SourcePath, False) + + If Err.Number = 0 Then + oTS.Write(Headers & vbCrLf & vbCrLf & MessageBody) + oTS.Close() + SetAutoResponderContents = 1 + Else + SetAutoResponderContents = 0 + End If + + End Function + + Public Function GetAutoResponderSubject() As String + ' + ' This Routine returns the current AutoResponder Subject + ' + Dim FileContents As String + Dim DelimiterPos As Long + Dim StartPos As Long + Dim EndPos As Long + Dim SubjectOffset As Long + Dim SourcePath As String + + SourcePath = MailEnable.GetPostofficesPath() & "\" & Me.Postoffice & "\MAILROOT\" & Me.MailboxName & "\AUTORESPOND.CF_" + + On Error Resume Next + + If Not File.Exists(SourcePath) Then + Return "" + End If + + Dim oTS As StreamReader = New StreamReader(SourcePath) + + FileContents = oTS.ReadToEnd + oTS.Close() + + DelimiterPos = InStr(1, FileContents, "Subject:") + + If DelimiterPos > 0 Then + SubjectOffset = Len("Subject: ") + StartPos = DelimiterPos + SubjectOffset + EndPos = InStr(DelimiterPos, FileContents, vbCrLf, ) + GetAutoResponderSubject = Mid(FileContents, StartPos, (EndPos - StartPos)) + Else + GetAutoResponderSubject = FileContents + End If + + End Function + + Public Function GetAutoResponderContents() As String + ' + ' This Routine returns the current AutoResponder Message + ' + Dim FileContents As String + Dim DelimiterPos As Long + Dim SourcePath As String + + SourcePath = MailEnable.GetPostofficesPath() & "\" & Me.Postoffice & "\MAILROOT\" & Me.MailboxName & "\AUTORESPOND.CF_" + + On Error Resume Next + + If Not File.Exists(SourcePath) Then + Return "" + End If + + Dim oTS As StreamReader = New StreamReader(SourcePath) + + FileContents = oTS.ReadToEnd + oTS.Close() + + DelimiterPos = InStr(1, FileContents, vbCrLf & vbCrLf) + + If DelimiterPos > 0 Then + ' It has headers + ' Headers = Mid(FileContents, 1, DelimiterPos + Len(vbCrLf & vbCrLf)) + GetAutoResponderContents = Mid$(FileContents, DelimiterPos + Len(vbCrLf & vbCrLf)) + Else + 'Headers = "" + GetAutoResponderContents = FileContents + End If + + End Function + + Public Function GetAutoResponderStatus() As Boolean + ' + ' This Routine returns the current AutoResponder Status + ' + Dim SourcePath As String + + SourcePath = MailEnable.GetPostofficesPath() & "\" & Me.Postoffice & "\MAILROOT\" & Me.MailboxName & "\AUTORESPOND.CFG" + + On Error Resume Next + + GetAutoResponderStatus = System.IO.File.Exists(SourcePath) + + End Function + + + + Function SetSignature(ByVal Postoffice As String, ByVal Mailbox As String, ByVal SignitureText As String) As Integer + Dim CAnnotation As IANNOTATIONTYPE + CAnnotation.AccountName = Postoffice + CAnnotation.AnnotationName = Mailbox & "-AUTOSIG" + CAnnotation.AnnotationText = SignitureText + SetSignature = AnnotationAdd(CAnnotation) + End Function + + Function GetSignature(ByVal Postoffice As String, ByVal Mailbox As String) As String + + Dim CAnnotation As IANNOTATIONTYPE + + CAnnotation.AccountName = Postoffice + CAnnotation.AnnotationName = Mailbox & "-AUTOSIG" + CAnnotation.AnnotationText = "" + + If (AnnotationGet(CAnnotation) = 1) Then + GetSignature = CAnnotation.AnnotationText + Else + GetSignature = "" + End If + End Function + + + Public Property Postoffice() As String + Get + Return Me.PostofficeVal + End Get + Set(ByVal value As String) + Me.PostofficeVal = value + End Set + End Property + + Public Property MailboxName() As String + Get + Return Me.MailboxNameVal + End Get + Set(ByVal value As String) + Me.MailboxNameVal = value + End Set + End Property + + Public Property RedirectAddress() As String + Get + Return Me.RedirectAddressVal + End Get + Set(ByVal value As String) + Me.RedirectAddressVal = value + End Set + End Property + + Public Property RedirectStatus() As Long + Get + Return Me.RedirectStatusVal + End Get + Set(ByVal value As Long) + Me.RedirectStatusVal = value + End Set + End Property + + Public Property Status() As Long + Get + Return Me.StatusVal + End Get + Set(ByVal value As Long) + Me.StatusVal = value + End Set + End Property + + Public Property Limit() As Long + Get + Return Me.LimitVal + End Get + Set(ByVal value As Long) + Me.LimitVal = value + End Set + End Property + + Public Property Size() As Long + Get + Return Me.SizeVal + End Get + Set(ByVal value As Long) + Me.SizeVal = value + End Set + End Property + + Public Property Host() As String + Get + Return Me.HostVal + End Get + Set(ByVal value As String) + Me.HostVal = value + End Set + End Property + + + + End Class + +End Namespace \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableOption.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableOption.vb new file mode 100644 index 00000000..76273259 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableOption.vb @@ -0,0 +1,166 @@ +Namespace WebsitePanel.Providers.Mail + + Public Class MailEnableOption + Inherits MarshalByRefObject + + Private ScopeVal As Integer + Private QueryVal As String + Private ValueNameVal As String + Private ValueVal As String + Private HostVal As String + + Private Declare Function SystemGetOption Lib "MEAISO.DLL" Alias "GetOption" (ByVal Scope As Integer, ByVal Query As String, ByVal ValueName As String, ByVal ReturnValue As String) As Int32 + Private Declare Function SystemSetOption Lib "MEAISO.DLL" Alias "SetOption" (ByVal Scope As Integer, ByVal Query As String, ByVal ValueName As String, ByVal ReturnValue As String) As Int32 + Private Declare Function SetCurrentHost Lib "MEAISO.DLL" (ByVal CurrentHost As String) As Int32 + + Private Shared Function NonCString(ByVal InString As String) As String + Dim NTPos As Integer + NTPos = InStr(1, InString, Chr(0), CompareMethod.Binary) + If NTPos > 0 Then + NonCString = Left(InString, NTPos - 1) + Else + NonCString = InString + End If + End Function + + Private Shared Function CString(ByVal InString As String) As String + CString = InString & Chr(0) + End Function + + Public Function SetHost() As Integer + SetHost = SetCurrentHost(Host) + End Function + + Private Function ValidData() As Boolean + If Len(Query) >= 1024 Then ValidData = False : Exit Function + If Len(ValueName) >= 1024 Then ValidData = False : Exit Function + If Len(Value) >= 1024 Then ValidData = False : Exit Function + ValidData = True + End Function + + + Public Function GetOption() As Integer + If Not ValidData() Then GetOption = 0 : Exit Function + + Value = Space(2048) + Try + GetOption = SystemGetOption(Scope, Query, ValueName, Value) + Value = NonCString(Value) + Catch ex As Exception + GetOption = 0 + Value = String.Empty + End Try + End Function + + Public Function SetOption() As Integer + If Not ValidData() Then SetOption = 0 : Exit Function + + SetOption = SystemSetOption(Scope, Query, ValueName, Value) + End Function + + + Public Property Scope() As Integer + Get + Return Me.ScopeVal + End Get + Set(ByVal value As Integer) + Me.ScopeVal = value + End Set + End Property + + Public Property Query() As String + Get + Return Me.QueryVal + End Get + Set(ByVal value As String) + Me.QueryVal = value + End Set + End Property + + Public Property ValueName() As String + Get + Return Me.ValueNameVal + End Get + Set(ByVal value As String) + Me.ValueNameVal = value + End Set + End Property + + Public Property Value() As String + Get + Return Me.ValueVal + End Get + Set(ByVal value As String) + Me.ValueVal = value + End Set + End Property + + Public Property Host() As String + Get + Return Me.HostVal + End Get + Set(ByVal value As String) + Me.HostVal = value + End Set + End Property + + + Public Shared Function GetSystemOption(ByRef lScope As String, ByRef sQuery As String, ByRef sValueName As String, Optional ByVal DefaultValue As String = "") As String + + Dim oMEAOSO As New MailEnableOption + + On Error Resume Next + oMEAOSO.Scope = lScope + oMEAOSO.Query = sQuery + oMEAOSO.ValueName = sValueName + If oMEAOSO.GetOption() <> 0 Then + GetSystemOption = oMEAOSO.Value + Else + GetSystemOption = DefaultValue + End If + oMEAOSO = Nothing + + End Function + + Public Shared Function SetSystemOption(ByRef lScope As String, ByRef sQuery As String, ByRef sValueName As String, ByRef sValue As String) As Integer + + On Error Resume Next + + If Not IsNothing(sValue) Then + Dim oMEAOSO As New MailEnableOption + + oMEAOSO.Scope = lScope + oMEAOSO.Query = sQuery + oMEAOSO.ValueName = sValueName + oMEAOSO.Value = sValue + oMEAOSO.SetOption() + SetSystemOption = True + + oMEAOSO = Nothing + Return 1 + End If + + Return 0 + + End Function + + Public Shared Function GetRemoteRegistryString(ByVal HostName As String, ByVal ParentKey As String, ByVal RegistryKey As String, ByRef KeyValue As String) As Integer + If HostName Is Nothing Then + HostName = "" + End If + Dim LocalValue As String = Space(4096) + Dim Result As Integer = _GetRemoteRegistryString(HostName, ParentKey, RegistryKey, LocalValue) + If Result = 1 Then + KeyValue = NonCString(LocalValue) + End If + Return Result + End Function + + Private Declare Function GetRemoteRegistryWord Lib "MEAISO.DLL" (ByVal HostName As String, ByVal ParentKey As String, ByVal RegistryKey As String, ByVal KeyValue As Integer) As Integer + Private Declare Function SetRemoteRegistryWord Lib "MEAISO.DLL" (ByVal HostName As String, ByVal ParentKey As String, ByVal RegistryKey As String, ByVal KeyValue As Integer) As Integer + Private Declare Function SetRemoteRegistryString Lib "MEAISO.DLL" (ByVal HostName As String, ByVal ParentKey As String, ByVal RegistryKey As String, ByVal KeyValue As String) As Integer + Private Declare Function _GetRemoteRegistryString Lib "MEAISO.DLL" Alias "GetRemoteRegistryString" (ByVal HostName As String, ByVal ParentKey As String, ByVal RegistryKey As String, ByVal KeyValue As String) As Integer + + End Class + +End Namespace diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnablePostoffice.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnablePostoffice.vb new file mode 100644 index 00000000..1fa8fc2f --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnablePostoffice.vb @@ -0,0 +1,144 @@ +Namespace WebsitePanel.Providers.Mail + + Public Class MailEnablePostoffice + Inherits MarshalByRefObject + + Private NameVal As String + Private StatusVal As Long + Private AccountVal As String + Private HostVal As String + + Private Structure IPOSTOFFICETYPE + Public Name As String + Public Status As Integer + Public Account As String + End Structure + + + Private Declare Function PostofficeGet Lib "MEAIPO.DLL" (ByRef lpPostoffice As IPOSTOFFICETYPE) As Integer + Private Declare Function PostofficeFindFirst Lib "MEAIPO.DLL" (ByRef lpPostoffice As IPOSTOFFICETYPE) As Integer + Private Declare Function PostofficeFindNext Lib "MEAIPO.DLL" (ByRef lpPostoffice As IPOSTOFFICETYPE) As Integer + Private Declare Function PostofficeAdd Lib "MEAIPO.DLL" (ByRef lpPostoffice As IPOSTOFFICETYPE) As Integer + Private Declare Function PostofficeEdit Lib "MEAIPO.DLL" (ByRef TargetPostoffice As IPOSTOFFICETYPE, ByRef NewPostoffice As IPOSTOFFICETYPE) As Integer + Private Declare Function PostofficeRemove Lib "MEAIPO.DLL" (ByRef lpPostoffice As IPOSTOFFICETYPE) As Integer + Private Declare Function SetCurrentHost Lib "MEAIPO.DLL" (ByVal CurrentHost As String) As Integer + + Public Function SetHost() As Integer + SetHost = SetCurrentHost(Host) + End Function + + + Public Function FindFirstPostoffice() As Integer + Dim CPostoffice As IPOSTOFFICETYPE + CPostoffice.Account = Account + CPostoffice.Name = Name + CPostoffice.Status = Status + FindFirstPostoffice = PostofficeFindFirst(CPostoffice) + Account = CPostoffice.Account + Name = CPostoffice.Name + Status = CPostoffice.Status + End Function + Public Function FindNextPostoffice() As Integer + Dim CPostoffice As IPOSTOFFICETYPE + CPostoffice.Account = Account + CPostoffice.Name = Name + CPostoffice.Status = Status + FindNextPostoffice = PostofficeFindNext(CPostoffice) + Account = CPostoffice.Account + Name = CPostoffice.Name + Status = CPostoffice.Status + End Function + + Public Function AddPostoffice() As Integer + Dim CPostoffice As IPOSTOFFICETYPE + CPostoffice.Account = Account + CPostoffice.Name = Name + CPostoffice.Status = Status + AddPostoffice = PostofficeAdd(CPostoffice) + Account = CPostoffice.Account + Name = CPostoffice.Name + Status = CPostoffice.Status + End Function + + Public Function GetPostoffice() As Integer + Dim CPostoffice As IPOSTOFFICETYPE + CPostoffice.Account = Account + CPostoffice.Name = Name + CPostoffice.Status = Status + GetPostoffice = PostofficeGet(CPostoffice) + Account = CPostoffice.Account + Name = CPostoffice.Name + Status = CPostoffice.Status + End Function + Public Function RemovePostoffice() As Integer + Dim CPostoffice As IPOSTOFFICETYPE + CPostoffice.Account = Account + CPostoffice.Name = Name + CPostoffice.Status = Status + RemovePostoffice = PostofficeRemove(CPostoffice) + Account = CPostoffice.Account + Name = CPostoffice.Name + Status = CPostoffice.Status + End Function + + + Public Function EditPostoffice(ByVal NewName As String, ByVal NewStatus As Long, ByVal NewAccount As String) As Integer + + Dim CPostoffice As IPOSTOFFICETYPE + Dim CPostofficeData As IPOSTOFFICETYPE + + ' Get the Find Stuff Set up + CPostoffice.Account = Account + CPostoffice.Name = Name + CPostoffice.Status = Status + ' Get the Data Set up + CPostofficeData.Account = NewAccount + CPostofficeData.Name = NewName + CPostofficeData.Status = NewStatus + EditPostoffice = PostofficeEdit(CPostoffice, CPostofficeData) + Account = CPostoffice.Account + Name = CPostoffice.Name + Status = CPostoffice.Status + + End Function + + + Public Property Name() As String + Get + Return Me.NameVal + End Get + Set(ByVal value As String) + Me.NameVal = value + End Set + End Property + + Public Property Status() As Long + Get + Return Me.StatusVal + End Get + Set(ByVal value As Long) + Me.StatusVal = value + End Set + End Property + + Public Property Account() As String + Get + Return Me.AccountVal + End Get + Set(ByVal value As String) + Me.AccountVal = value + End Set + End Property + + Public Property Host() As String + Get + Return Me.HostVal + End Get + Set(ByVal value As String) + Me.HostVal = value + End Set + End Property + + End Class + +End Namespace From 7fb6b53e206c922aad7c7c207edfdbeea0efc9d6 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 30 Apr 2012 16:17:21 +1000 Subject: [PATCH 02/78] Updated to recognise version 5 and 6 of MailEnable. Will work under 64bit .Net. Fixed issue where saving reply to address could cause .Net error. Faster to list mailboxes. --- .../MailEnable.vb | 516 +++++++++--------- 1 file changed, 251 insertions(+), 265 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb index 4dc67b0b..8364dc53 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb @@ -41,42 +41,31 @@ Public Class MailEnable Inherits HostingServiceProviderBase Implements IMailServer - Private Const DOMAIN_PROG_ID As String = "MEAOSM.Domain" - Private Const BLACKLIST_PROG_ID As String = "MEAOSM.Blacklist" - Private Const POSTOFFICE_PROG_ID As String = "MEAOPO.Postoffice" - Private Const LOGIN_PROG_ID As String = "MEAOAU.Login" - Private Const MAILBOX_PROG_ID As String = "MEAOPO.Mailbox" - Private Const MAILLIST_PROG_ID As String = "MEAOLS.List" - Private Const LIST_MEMBER_PROG_ID As String = "MEAOLS.ListMember" - Private Const ADDRESS_MAP_PROG_ID As String = "MEAOAM.AddressMap" - Private Const GROUP_PROG_ID As String = "MEAOPO.Group" - Private Const GROUP_MEMBER_PROG_ID As String = "MEAOPO.GroupMember" - #Region "Domains" - Public Overridable Function GetDomains() As String() Implements IMailServer.GetDomains + Public Overridable Function GetDomains() As String() Implements IMailServer.GetDomains - Dim domainList As List(Of String) = New List(Of String) - Dim po As Object = CreateObject(POSTOFFICE_PROG_ID) + Dim domainList As List(Of String) = New List(Of String) + Dim po As New WebsitePanel.Providers.Mail.MailEnablePostoffice - po.Account = "" - po.Name = "" - po.Status = -1 - If po.FindFirstPostoffice() = 1 Then - Do - domainList.Add(po.Name) - po.Account = "" - po.Name = "" - po.Status = -1 - Loop While po.FindNextPostoffice() = 1 - End If + po.Account = "" + po.Name = "" + po.Status = -1 + If po.FindFirstPostoffice() = 1 Then + Do + domainList.Add(po.Name) + po.Account = "" + po.Name = "" + po.Status = -1 + Loop While po.FindNextPostoffice() = 1 + End If - Return domainList.ToArray() + Return domainList.ToArray() - End Function + End Function Public Overridable Function DomainExists(ByVal domainName As String) As Boolean Implements IMailServer.DomainExists - Dim domain As Object = CreateObject(DOMAIN_PROG_ID) + Dim domain As New WebsitePanel.Providers.Mail.MailEnableDomain ResetDomain(domain) domain.AccountName = domainName @@ -87,7 +76,7 @@ Public Class MailEnable Public Overridable Function GetDomain(ByVal domainName As String) As MailDomain Implements IMailServer.GetDomain Dim info As MailDomain = Nothing - Dim domain As Object = CreateObject(DOMAIN_PROG_ID) + Dim domain As New WebsitePanel.Providers.Mail.MailEnableDomain ResetDomain(domain) domain.AccountName = domainName @@ -104,7 +93,7 @@ Public Class MailEnable Public Overridable Sub CreateDomain(ByVal domainInfo As MailDomain) Implements IMailServer.CreateDomain 'create a new postoffice for each account - Dim postoffice As Object = CreateObject(POSTOFFICE_PROG_ID) + Dim postoffice As New WebsitePanel.Providers.Mail.MailEnablePostoffice postoffice.Account = domainInfo.Name postoffice.Name = domainInfo.Name postoffice.Status = IIf((domainInfo.Enabled), 1, 0) @@ -113,7 +102,7 @@ Public Class MailEnable Throw New Exception("Postoffice creation failedNot ") End If - Dim domain As Object = CreateObject(DOMAIN_PROG_ID) + Dim domain As New WebsitePanel.Providers.Mail.MailEnableDomain domain.AccountName = domainInfo.Name domain.DomainName = domainInfo.Name domain.DomainRedirectionHosts = domainInfo.RedirectionHosts @@ -127,7 +116,7 @@ Public Class MailEnable Dim blackListedDomain As String For Each blackListedDomain In domainInfo.BlackList - Dim blacklist As Object = CreateObject(BLACKLIST_PROG_ID) + Dim blacklist As New WebsitePanel.Providers.Mail.MailEnableDomainBlacklist blacklist.Account = domainInfo.Name blacklist.Status = 1 blacklist.TargetDomainName = domainInfo.Name @@ -139,7 +128,7 @@ Public Class MailEnable End Sub Public Overridable Sub UpdateDomain(ByVal info As MailDomain) Implements IMailServer.UpdateDomain - Dim domain As Object = CreateObject(DOMAIN_PROG_ID) + Dim domain As New WebsitePanel.Providers.Mail.MailEnableDomain domain.AccountName = info.Name domain.DomainName = info.Name domain.DomainRedirectionHosts = String.Empty @@ -161,12 +150,13 @@ Public Class MailEnable ' ' Update the Catch All Account ' - Dim oAddressMap As Object = CreateObject(ADDRESS_MAP_PROG_ID) + Dim oAddressMap As New WebsitePanel.Providers.Mail.MailEnableAddressMap oAddressMap.Account = info.Name ' account oAddressMap.DestinationAddress = "" oAddressMap.SourceAddress = "[SMTP:*@" & info.Name & "]" oAddressMap.Scope = "" + If info.CatchAllAccount = "" Then ' things are tricky here because we want to change it so we know what we are deleting oAddressMap.SourceAddress = "[SMTP:*@" & info.Name & "]" @@ -175,7 +165,7 @@ Public Class MailEnable ' ' Change its value if it exists ' - If oAddressMap.EditAddressMap(info.Name, "[DELETE:ME]", "[DELETE:ME]", "0") Then + If oAddressMap.EditAddressMap(info.Name, "[DELETE:ME]", "[DELETE:ME]", "0", oAddressMap.Status) Then oAddressMap.Account = info.Name oAddressMap.DestinationAddress = "[DELETE:ME]" oAddressMap.SourceAddress = "[DELETE:ME]" @@ -187,7 +177,8 @@ Public Class MailEnable Dim NewSourceAddress As String = "[SMTP:*@" & info.Name & "]" Dim NewDestinationAddress As String = "[SF:" & info.Name & "/" & GetMailboxName(info.CatchAllAccount) & "]" Dim NewScope As String = "0" - If oAddressMap.EditAddressMap(NewAccount, NewSourceAddress, NewDestinationAddress, NewScope) <> 1 Then + + If oAddressMap.EditAddressMap(NewAccount, NewSourceAddress, NewDestinationAddress, NewScope, 0) <> 1 Then ' ' We need to add it because there was not one defined ' @@ -216,7 +207,7 @@ Public Class MailEnable Dim NewSourceAddress = "[SMTP:postmaster@" & info.Name & "]" Dim NewDestinationAddress = "[SF:" & info.Name & "/" & GetMailboxName(info.PostmasterAccount) & "]" Dim NewScope = "0" - If oAddressMap.EditAddressMap(NewAccount, NewSourceAddress, NewDestinationAddress, NewScope) <> 1 Then + If oAddressMap.EditAddressMap(NewAccount, NewSourceAddress, NewDestinationAddress, NewScope, 0) <> 1 Then ' ' We need to add it because there was not one defined ' @@ -245,7 +236,7 @@ Public Class MailEnable Dim NewSourceAddress = "[SMTP:Abuse@" & info.Name & "]" Dim NewDestinationAddress = "[SF:" & info.Name & "/" & GetMailboxName(info.AbuseAccount) & "]" Dim NewScope = "0" - If oAddressMap.EditAddressMap(NewAccount, NewSourceAddress, NewDestinationAddress, NewScope) <> 1 Then + If oAddressMap.EditAddressMap(NewAccount, NewSourceAddress, NewDestinationAddress, NewScope, 0) <> 1 Then ' ' We need to add it because there was not one defined ' @@ -260,7 +251,7 @@ Public Class MailEnable 'edit blacklists 'delete all the blacklists - Dim blacklist As Object = CreateObject(BLACKLIST_PROG_ID) + Dim blacklist As New WebsitePanel.Providers.Mail.MailEnableDomainBlacklist ResetBlacklist(blacklist) blacklist.Account = info.Name blacklist.TargetDomainName = info.Name @@ -270,7 +261,7 @@ Public Class MailEnable blacklist.RemoveBlacklist() ' initialize blacklist again - blacklist = CreateObject(BLACKLIST_PROG_ID) + blacklist = New WebsitePanel.Providers.Mail.MailEnableDomainBlacklist ResetBlacklist(blacklist) blacklist.Account = info.Name blacklist.TargetDomainName = info.Name @@ -279,7 +270,7 @@ Public Class MailEnable 'add new blacklists Dim blacklistedDomainName As String For Each blacklistedDomainName In info.BlackList - blacklist = CreateObject(BLACKLIST_PROG_ID) + blacklist = New WebsitePanel.Providers.Mail.MailEnableDomainBlacklist blacklist.Account = info.Name blacklist.TargetDomainName = info.Name blacklist.BannedDomainName = blacklistedDomainName @@ -294,13 +285,14 @@ Public Class MailEnable Public Overridable Sub DeleteDomain(ByVal domainName As String) Implements IMailServer.DeleteDomain 'delete all postoffice logins - Dim login As Object = CreateObject(LOGIN_PROG_ID) + Dim login As New WebsitePanel.Providers.Mail.MailEnableLogin ResetLogin(login) login.Account = domainName login.RemoveLogin() 'delete all the mailboxes - Dim mailbox As Object = CreateObject(MAILBOX_PROG_ID) + Dim mailbox As New WebsitePanel.Providers.Mail.MailEnableMailbox + ResetMailbox(mailbox) mailbox.Postoffice = domainName mailbox.RemoveMailbox() @@ -310,7 +302,7 @@ Public Class MailEnable Dim list As MailList For Each list In lists ' remove list members - Dim listMember As Object = CreateObject(LIST_MEMBER_PROG_ID) + Dim listMember As New WebsitePanel.Providers.Mail.MailEnableListMember listMember.AccountName = domainName listMember.ListName = GetMailboxName(list.Name) listMember.Address = "" @@ -319,7 +311,7 @@ Public Class MailEnable listMember.RemoveListMember() ' delete maillist - Dim mailList As Object = CreateObject(MAILLIST_PROG_ID) + Dim mailList As New WebsitePanel.Providers.Mail.MailEnableList ResetMaillist(mailList) mailList.AccountName = domainName mailList.ListName = GetMailboxName(list.Name) @@ -331,14 +323,14 @@ Public Class MailEnable Dim group As MailGroup For Each group In groups ' remove group members - Dim groupMember As Object = CreateObject(GROUP_MEMBER_PROG_ID) + Dim groupMember As New WebsitePanel.Providers.Mail.MailEnableGroupMember groupMember.Postoffice = domainName groupMember.Mailbox = GetMailboxName(group.Name) groupMember.Address = "" groupMember.RemoveGroupMember() ' delete group - Dim objGroup As Object = CreateObject(GROUP_PROG_ID) + Dim objGroup As New WebsitePanel.Providers.Mail.MailEnableGroup ResetGroup(objGroup) objGroup.Postoffice = domainName objGroup.GroupName = GetMailboxName(group.Name) @@ -346,25 +338,25 @@ Public Class MailEnable Next 'delete all address mappings - Dim map As Object = CreateObject(ADDRESS_MAP_PROG_ID) + Dim map As New WebsitePanel.Providers.Mail.MailEnableAddressMap ResetAddressMap(map) map.Account = domainName map.RemoveAddressMap() 'delete all the blacklists - Dim blacklist As Object = CreateObject(BLACKLIST_PROG_ID) + Dim blacklist As New WebsitePanel.Providers.Mail.MailEnableDomainBlacklist ResetBlacklist(blacklist) blacklist.Account = domainName blacklist.RemoveBlacklist() 'delete all domains - Dim domain As Object = CreateObject(DOMAIN_PROG_ID) + Dim domain As New WebsitePanel.Providers.Mail.MailEnableDomain ResetDomain(domain) domain.AccountName = domainName domain.RemoveDomain() 'delete postoffice - Dim po As Object = CreateObject(POSTOFFICE_PROG_ID) + Dim po As New WebsitePanel.Providers.Mail.MailEnablePostoffice po.Account = domainName po.Name = domainName po.Host = "" @@ -390,7 +382,7 @@ Public Class MailEnable ' ' We need to get the catch all account for the domain ' - Dim oAddressMap As Object = CreateObject(ADDRESS_MAP_PROG_ID) + Dim oAddressMap As New WebsitePanel.Providers.Mail.MailEnableAddressMap oAddressMap.Account = info.Name oAddressMap.DestinationAddress = "" oAddressMap.SourceAddress = "[SMTP:*@" & info.Name & "]" @@ -432,7 +424,7 @@ Public Class MailEnable 'getting black mail list Dim blacklists As ArrayList = New ArrayList - Dim blacklist As Object = CreateObject(BLACKLIST_PROG_ID) + Dim blacklist As New WebsitePanel.Providers.Mail.MailEnableDomainBlacklist blacklist.Account = domain.AccountName blacklist.Host = domain.Host blacklist.TargetDomainName = domain.DomainName @@ -461,7 +453,7 @@ Public Class MailEnable #Region "Domain Aliases" Public Overridable Function DomainAliasExists(ByVal domainName As String, ByVal aliasName As String) As Boolean Implements IMailServer.DomainAliasExists - Dim domain As Object = CreateObject(DOMAIN_PROG_ID) + Dim domain As New WebsitePanel.Providers.Mail.MailEnableDomain ResetDomain(domain) domain.AccountName = domainName @@ -472,7 +464,7 @@ Public Class MailEnable Public Overridable Function GetDomainAliases(ByVal domainName As String) As String() Implements IMailServer.GetDomainAliases Dim aliases As List(Of String) = New List(Of String) - Dim domain As Object = CreateObject(DOMAIN_PROG_ID) + Dim domain As New WebsitePanel.Providers.Mail.MailEnableDomain ResetDomain(domain) domain.AccountName = domainName @@ -498,7 +490,7 @@ Public Class MailEnable Public Overridable Sub AddDomainAlias(ByVal domainName As String, ByVal aliasName As String) Implements IMailServer.AddDomainAlias ' add new domain - Dim domain As Object = CreateObject(DOMAIN_PROG_ID) + Dim domain As New WebsitePanel.Providers.Mail.MailEnableDomain domain.AccountName = domainName domain.DomainName = aliasName domain.DomainRedirectionHosts = "" @@ -513,7 +505,7 @@ Public Class MailEnable ' get current "main domain" address mappings Dim srcAddr As String = "@" + domainName + "]" Dim maps As ArrayList = New ArrayList - Dim map As Object = CreateObject(ADDRESS_MAP_PROG_ID) + Dim map As New WebsitePanel.Providers.Mail.MailEnableAddressMap ResetAddressMap(map) map.Account = domainName @@ -545,21 +537,21 @@ Public Class MailEnable 'delete all address mappings Dim addr As String = "@" + aliasName.ToLower() + "]" Dim maps As ArrayList = New ArrayList - Dim map As Object = CreateObject(ADDRESS_MAP_PROG_ID) + Dim map As New WebsitePanel.Providers.Mail.MailEnableAddressMap ResetAddressMap(map) map.Account = domainName map.SourceAddress = "[SMTP:*@" + aliasName + "]" map.RemoveAddressMap() 'delete all the blacklists - Dim blacklist As Object = CreateObject(BLACKLIST_PROG_ID) + Dim blacklist As New WebsitePanel.Providers.Mail.MailEnableDomainBlacklist ResetBlacklist(blacklist) blacklist.Account = domainName blacklist.TargetDomainName = aliasName blacklist.RemoveBlacklist() 'delete all domains - Dim domain As Object = CreateObject(DOMAIN_PROG_ID) + Dim domain As New WebsitePanel.Providers.Mail.MailEnableDomain ResetDomain(domain) domain.AccountName = domainName domain.DomainName = aliasName @@ -568,11 +560,15 @@ Public Class MailEnable #End Region #Region "Accounts" + Public Overridable Function GetAccounts(ByVal domainName As String) As MailAccount() Implements IMailServer.GetAccounts + Dim mailboxes As List(Of MailAccount) = New List(Of MailAccount) - Dim mailbox As Object = CreateObject(MAILBOX_PROG_ID) + Dim mailbox As New WebsitePanel.Providers.Mail.MailEnableMailbox + ResetMailbox(mailbox) mailbox.Postoffice = domainName + mailbox.Size = -4 'we use -4 since this prevents the function from calculating quotas, which is slow If mailbox.FindFirstMailbox() = 1 Then Do @@ -583,6 +579,7 @@ Public Class MailEnable End If ResetMailbox(mailbox) mailbox.Postoffice = domainName + mailbox.Size = -4 Loop While mailbox.FindNextMailbox() = 1 End If @@ -591,10 +588,10 @@ Public Class MailEnable Public Overridable Function GetAccount(ByVal mailboxName As String) As MailAccount Implements IMailServer.GetAccount Dim info As MailAccount = Nothing - Dim mailbox As Object = CreateObject(MAILBOX_PROG_ID) + Dim mailbox As New WebsitePanel.Providers.Mail.MailEnableMailbox ResetMailbox(mailbox) mailbox.Postoffice = GetDomainName(mailboxName) - mailbox.Mailbox = GetMailboxName(mailboxName) + mailbox.MailboxName = GetMailboxName(mailboxName) If (mailbox.GetMailbox() <> 1) Then Throw New Exception("Could not find the mailbox") @@ -607,10 +604,10 @@ Public Class MailEnable Return info End Function - Private Function GetMailboxInfo(ByVal mailbox As Object) As MailAccount + Private Function GetMailboxInfo(ByVal mailbox As WebsitePanel.Providers.Mail.MailEnableMailbox) As MailAccount Dim info As MailAccount = New MailAccount info.MaxMailboxSize = IIf(mailbox.Limit = -1, 0, mailbox.Limit / 1024) - info.Name = mailbox.Mailbox + "@" + mailbox.Postoffice + info.Name = mailbox.MailboxName + "@" + mailbox.Postoffice Dim redirectAddrs As ArrayList = New ArrayList Dim smtpAddress As String @@ -633,12 +630,12 @@ Public Class MailEnable info.ResponderMessage = mailbox.GetAutoResponderContents() info.ReplyTo = GetMailBoxReplyToAddress(info.Name) - Dim map As Object = CreateObject(ADDRESS_MAP_PROG_ID) + Dim map As New WebsitePanel.Providers.Mail.MailEnableAddressMap map.Account = info.Name map.DestinationAddress = String.Format("[SF:{0}/{1}]", info.Name, info.Name) map.SourceAddress = "" - Dim login As Object = CreateObject(LOGIN_PROG_ID) + Dim login As New WebsitePanel.Providers.Mail.MailEnableLogin ResetLogin(login) login.Account = mailbox.Postoffice login.UserName = info.Name @@ -651,9 +648,9 @@ Public Class MailEnable Return info End Function - Private Function GetMailAliasInfo(ByVal mailbox As Object) As MailAlias + Private Function GetMailAliasInfo(ByVal mailbox As WebsitePanel.Providers.Mail.MailEnableMailbox) As MailAlias Dim info As MailAlias = New MailAlias - info.Name = mailbox.Mailbox + "@" + mailbox.Postoffice + info.Name = mailbox.MailboxName + "@" + mailbox.Postoffice Dim redirectAddrs As ArrayList = New ArrayList Dim smtpAddress As String @@ -673,12 +670,12 @@ Public Class MailEnable info.DeleteOnForward = (mailbox.RedirectStatus.Equals(1)) info.Enabled = (mailbox.Status = 1) - Dim map As Object = CreateObject(ADDRESS_MAP_PROG_ID) + Dim map As New WebsitePanel.Providers.Mail.MailEnableAddressMap map.Account = info.Name map.DestinationAddress = String.Format("[SF:{0}/{1}]", info.Name, info.Name) map.SourceAddress = "" - Dim login As Object = CreateObject(LOGIN_PROG_ID) + Dim login As New WebsitePanel.Providers.Mail.MailEnableLogin ResetLogin(login) login.Account = mailbox.Postoffice login.UserName = info.Name @@ -692,22 +689,22 @@ Public Class MailEnable End Function Public Overridable Function AccountExists(ByVal mailboxName As String) As Boolean Implements IMailServer.AccountExists - Dim mailbox As Object = CreateObject(MAILBOX_PROG_ID) + Dim mailbox As New WebsitePanel.Providers.Mail.MailEnableMailbox ResetMailbox(mailbox) mailbox.Postoffice = GetDomainName(mailboxName) - mailbox.Mailbox = GetMailboxName(mailboxName) + mailbox.MailboxName = GetMailboxName(mailboxName) Return (mailbox.GetMailbox() = 1) End Function Public Overridable Sub CreateAccount(ByVal info As MailAccount) Implements IMailServer.CreateAccount - Dim mailbox As Object = CreateObject(MAILBOX_PROG_ID) + Dim mailbox As New WebsitePanel.Providers.Mail.MailEnableMailbox Dim domainName As String = GetDomainName(info.Name) Dim mailboxName As String = GetMailboxName(info.Name) mailbox.Postoffice = domainName mailbox.Limit = IIf(info.MaxMailboxSize = 0, -1, info.MaxMailboxSize * 1024) ' convert to kilobytes - mailbox.Mailbox = GetMailboxName(info.Name) + mailbox.MailboxName = GetMailboxName(info.Name) If info.ForwardingAddresses Is Nothing Then info.ForwardingAddresses = New String() {} @@ -749,7 +746,7 @@ Public Class MailEnable CreateAddressMapsForAllDomains(domainName, mailboxName, destinationAddress) ' create login - Dim login As Object = CreateObject(LOGIN_PROG_ID) + Dim login As New WebsitePanel.Providers.Mail.MailEnableLogin login.Account = domainName login.Password = info.Password login.Status = IIf(info.Enabled, 1, 0) @@ -770,9 +767,9 @@ Public Class MailEnable Dim domainName As String = GetDomainName(info.Name) Dim mailboxName As String = GetMailboxName(info.Name) - Dim mailbox As Object = CreateObject(MAILBOX_PROG_ID) + Dim mailbox As New WebsitePanel.Providers.Mail.MailEnableMailbox mailbox.Postoffice = domainName - mailbox.Mailbox = mailboxName + mailbox.MailboxName = mailboxName If info.ForwardingAddresses Is Nothing Then info.ForwardingAddresses = New String() {} @@ -811,6 +808,8 @@ Public Class MailEnable If (String.IsNullOrEmpty(info.ReplyTo) = False) Then SetMailBoxReplyToAddress(info.Name, info.ReplyTo) + Else + SetMailBoxReplyToAddress(info.Name, "") End If mailbox.SetAutoResponderStatus(info.ResponderEnabled) @@ -824,7 +823,7 @@ Public Class MailEnable ' change login password If (info.Password.Length > 0) Then - Dim login As Object = CreateObject(LOGIN_PROG_ID) + Dim login As New WebsitePanel.Providers.Mail.MailEnableLogin ResetLogin(login) login.Account = domainName login.UserName = info.Name @@ -849,17 +848,17 @@ Public Class MailEnable Dim domainName As String = GetDomainName(name) Dim mailboxName As String = GetMailboxName(name) - Dim mailbox As Object = CreateObject(MAILBOX_PROG_ID) + Dim mailbox As New WebsitePanel.Providers.Mail.MailEnableMailbox ResetMailbox(mailbox) mailbox.Postoffice = domainName - mailbox.Mailbox = mailboxName + mailbox.MailboxName = mailboxName If (mailbox.RemoveMailbox() <> 1) Then Throw New Exception(String.Format("Could not delete mailbox '{0}'", mailboxName)) End If 'delete the login for this mailbox - Dim login As Object = CreateObject(LOGIN_PROG_ID) + Dim login As New WebsitePanel.Providers.Mail.MailEnableLogin ResetLogin(login) login.Account = domainName login.UserName = name @@ -870,7 +869,7 @@ Public Class MailEnable 'delete the address map for this mailbox - Dim map As Object = CreateObject(ADDRESS_MAP_PROG_ID) + Dim map As New WebsitePanel.Providers.Mail.MailEnableAddressMap ResetAddressMap(map) map.Account = domainName map.DestinationAddress = String.Format("[SF:{0}/{1}]", domainName, mailboxName) @@ -885,10 +884,13 @@ Public Class MailEnable End Function Public Function GetMailAliases(ByVal domainName As String) As MailAlias() Implements IMailServer.GetMailAliases + Dim mailAliases As List(Of MailAlias) = New List(Of MailAlias) - Dim mailbox As Object = CreateObject(MAILBOX_PROG_ID) + Dim mailbox As New WebsitePanel.Providers.Mail.MailEnableMailbox + ResetMailbox(mailbox) mailbox.Postoffice = domainName + mailbox.Size = -4 If mailbox.FindFirstMailbox() = 1 Then Do @@ -898,18 +900,20 @@ Public Class MailEnable End If ResetMailbox(mailbox) mailbox.Postoffice = domainName + mailbox.Size = -4 Loop While mailbox.FindNextMailbox() = 1 End If Return mailAliases.ToArray() End Function + Public Function GetMailAlias(ByVal mailAliasName As String) As MailAlias Implements IMailServer.GetMailAlias Dim info As MailAlias = Nothing - Dim mailAlias As Object = CreateObject(MAILBOX_PROG_ID) + Dim mailAlias As New WebsitePanel.Providers.Mail.MailEnableMailbox ResetMailbox(mailAlias) mailAlias.Postoffice = GetDomainName(mailAliasName) - mailAlias.Mailbox = GetMailboxName(mailAliasName) + mailAlias.MailboxName = GetMailboxName(mailAliasName) If (mailAlias.GetMailbox() <> 1) Then Throw New Exception("Could not find the mailbox") @@ -942,7 +946,7 @@ Public Class MailEnable ' ============================ Public Overridable Function GroupExists(ByVal groupName As String) As Boolean Implements IMailServer.GroupExists - Dim group As Object = CreateObject(GROUP_PROG_ID) + Dim group As New WebsitePanel.Providers.Mail.MailEnableGroup ResetGroup(group) group.Postoffice = GetDomainName(groupName) group.GroupName = GetMailboxName(groupName) @@ -951,7 +955,7 @@ Public Class MailEnable End Function Public Overridable Function GetGroup(ByVal groupName As String) As MailGroup Implements IMailServer.GetGroup - Dim objGroup As Object = CreateObject(GROUP_PROG_ID) + Dim objGroup As New WebsitePanel.Providers.Mail.MailEnableGroup ResetGroup(objGroup) objGroup.Postoffice = GetDomainName(groupName) objGroup.GroupName = GetMailboxName(groupName) @@ -966,7 +970,7 @@ Public Class MailEnable Public Overridable Function GetGroups(ByVal domainName As String) As MailGroup() Implements IMailServer.GetGroups Dim groups As List(Of MailGroup) = New List(Of MailGroup) - Dim objGroup As Object = CreateObject(GROUP_PROG_ID) + Dim objGroup As New WebsitePanel.Providers.Mail.MailEnableGroup ResetGroup(objGroup) objGroup.Postoffice = domainName @@ -992,7 +996,7 @@ Public Class MailEnable group.Members = New String() {} End If - Dim objGroup As Object = CreateObject(GROUP_PROG_ID) + Dim objGroup As New WebsitePanel.Providers.Mail.MailEnableGroup ResetGroup(objGroup) objGroup.Postoffice = domainName @@ -1007,7 +1011,7 @@ Public Class MailEnable ' add group members Dim member As String For Each member In group.Members - Dim groupMember As Object = CreateObject(GROUP_MEMBER_PROG_ID) + Dim groupMember As New WebsitePanel.Providers.Mail.MailEnableGroupMember groupMember.Postoffice = domainName groupMember.Address = String.Format("[SMTP:{0}]", member) groupMember.Mailbox = groupName @@ -1028,7 +1032,7 @@ Public Class MailEnable group.Members = New String() {} End If - Dim objGroup As Object = CreateObject(GROUP_PROG_ID) + Dim objGroup As New WebsitePanel.Providers.Mail.MailEnableGroup ResetGroup(objGroup) objGroup.Postoffice = domainName @@ -1046,7 +1050,7 @@ Public Class MailEnable IIf(group.Enabled, 1, 0)) 'delete group members - Dim objMember As Object = CreateObject(GROUP_MEMBER_PROG_ID) + Dim objMember As New WebsitePanel.Providers.Mail.MailEnableGroupMember objMember.Postoffice = domainName objMember.Mailbox = groupName objMember.Address = "" @@ -1055,7 +1059,7 @@ Public Class MailEnable ' add group members Dim member As String For Each member In group.Members - Dim groupMember As Object = CreateObject(GROUP_MEMBER_PROG_ID) + Dim groupMember As New WebsitePanel.Providers.Mail.MailEnableGroupMember groupMember.Postoffice = domainName groupMember.Address = String.Format("[SMTP:{0}]", member) groupMember.Mailbox = groupName @@ -1071,21 +1075,21 @@ Public Class MailEnable Dim groupName As String = GetMailboxName(name) ' remove group - Dim objGroup As Object = CreateObject(GROUP_PROG_ID) + Dim objGroup As New WebsitePanel.Providers.Mail.MailEnableGroup ResetGroup(objGroup) objGroup.Postoffice = domainName objGroup.GroupName = groupName objGroup.RemoveGroup() 'delete group members - Dim objMember As Object = CreateObject(GROUP_MEMBER_PROG_ID) + Dim objMember As New WebsitePanel.Providers.Mail.MailEnableGroupMember objMember.Postoffice = domainName objMember.Mailbox = groupName objMember.Address = "" objMember.RemoveGroupMember() ' delete address maps - Dim map As Object = CreateObject(ADDRESS_MAP_PROG_ID) + Dim map As New WebsitePanel.Providers.Mail.MailEnableAddressMap ResetAddressMap(map) map.Account = domainName map.DestinationAddress = String.Format("[SF:{0}/{1}]", domainName, groupName) @@ -1096,7 +1100,7 @@ Public Class MailEnable #Region "Lists" Public Overridable Function GetList(ByVal maillistName As String) As MailList Implements IMailServer.GetList - Dim mailList As Object = CreateObject(MAILLIST_PROG_ID) + Dim mailList As New WebsitePanel.Providers.Mail.MailEnableList ResetMaillist(mailList) mailList.AccountName = GetDomainName(maillistName) mailList.ListName = GetMailboxName(maillistName) @@ -1112,7 +1116,7 @@ Public Class MailEnable Dim maillists As List(Of MailList) = New List(Of MailList) Try - Dim mailList As Object = CreateObject(MAILLIST_PROG_ID) + Dim mailList As New WebsitePanel.Providers.Mail.MailEnableList ResetMaillist(mailList) mailList.AccountName = domainName @@ -1165,7 +1169,7 @@ Public Class MailEnable Dim domainName As String = GetDomainName(name) Dim mailListName As String = GetMailboxName(name) - Dim listMember As Object = CreateObject(LIST_MEMBER_PROG_ID) + Dim listMember As New WebsitePanel.Providers.Mail.MailEnableListMember listMember.AccountName = domainName listMember.ListName = mailListName listMember.Address = "" @@ -1192,7 +1196,7 @@ Public Class MailEnable End Function Public Overridable Function ListExists(ByVal maillistName As String) As Boolean Implements IMailServer.ListExists - Dim mailList As Object = CreateObject(MAILLIST_PROG_ID) + Dim mailList As New WebsitePanel.Providers.Mail.MailEnableList ResetMaillist(mailList) mailList.AccountName = GetDomainName(maillistName) mailList.ListName = GetMailboxName(maillistName) @@ -1210,7 +1214,7 @@ Public Class MailEnable info.Members = New String() {} End If - Dim mailList As Object = CreateObject(MAILLIST_PROG_ID) + Dim mailList As New WebsitePanel.Providers.Mail.MailEnableList ResetMaillist(mailList) mailList.AccountName = domainName @@ -1239,7 +1243,7 @@ Public Class MailEnable 'create mail list members Dim member As String For Each member In info.Members - Dim listMember As Object = CreateObject(LIST_MEMBER_PROG_ID) + Dim listMember As New WebsitePanel.Providers.Mail.MailEnableListMember listMember.AccountName = domainName listMember.Address = String.Format("[SMTP:{0}]", member) listMember.ListMemberType = 0 @@ -1265,7 +1269,7 @@ Public Class MailEnable info.Members = New String() {} End If - Dim mailList As Object = CreateObject(MAILLIST_PROG_ID) + Dim mailList As New WebsitePanel.Providers.Mail.MailEnableList ResetMaillist(mailList) mailList.AccountName = domainName @@ -1318,7 +1322,7 @@ Public Class MailEnable -1) 'delete list members - Dim listMember As Object = CreateObject(LIST_MEMBER_PROG_ID) + Dim listMember As New WebsitePanel.Providers.Mail.MailEnableListMember listMember.AccountName = domainName listMember.ListName = maillistName listMember.Address = "" @@ -1329,7 +1333,7 @@ Public Class MailEnable 'create mail list members Dim member As String For Each member In info.Members - listMember = CreateObject(LIST_MEMBER_PROG_ID) + listMember = New WebsitePanel.Providers.Mail.MailEnableListMember listMember.AccountName = domainName listMember.ListName = maillistName listMember.Address = String.Format("[SMTP:{0}]", member) @@ -1353,14 +1357,14 @@ Public Class MailEnable Dim maillistName As String = GetMailboxName(name) ' remove mailing list - Dim mailList As Object = CreateObject(MAILLIST_PROG_ID) + Dim mailList As New WebsitePanel.Providers.Mail.MailEnableList ResetMaillist(mailList) mailList.ListName = maillistName mailList.AccountName = domainName mailList.RemoveList() ' delete list members - Dim listMember As Object = CreateObject(LIST_MEMBER_PROG_ID) + Dim listMember As New WebsitePanel.Providers.Mail.MailEnableListMember listMember.AccountName = domainName listMember.ListName = maillistName listMember.Address = "" @@ -1370,7 +1374,7 @@ Public Class MailEnable listMember.RemoveListMember() ' delete address maps - Dim map As Object = CreateObject(ADDRESS_MAP_PROG_ID) + Dim map As New WebsitePanel.Providers.Mail.MailEnableAddressMap ResetAddressMap(map) map.Account = domainName map.DestinationAddress = String.Format("[LS:{0}/{1}]", domainName, maillistName) @@ -1415,10 +1419,10 @@ Public Class MailEnable login.Status = -1 End Sub - Private Sub ResetMailbox(ByVal mailbox As Object) + Private Sub ResetMailbox(ByVal mailbox As WebsitePanel.Providers.Mail.MailEnableMailbox) mailbox.Postoffice = "" mailbox.Host = "" - mailbox.Mailbox = "" + mailbox.MailboxName = "" mailbox.RedirectAddress = "" mailbox.Limit = -1 mailbox.RedirectStatus = -1 @@ -1495,7 +1499,7 @@ Public Class MailEnable Dim domainName As String = GetDomainName(name) Dim groupName As String = GetMailboxName(name) - Dim groupMember As Object = CreateObject(GROUP_MEMBER_PROG_ID) + Dim groupMember As New WebsitePanel.Providers.Mail.MailEnableGroupMember groupMember.Postoffice = domainName groupMember.Mailbox = groupName groupMember.Address = "" @@ -1516,8 +1520,8 @@ Public Class MailEnable End Function Private Sub CreateAddressMapsForAllDomains(ByVal domainName As String, ByVal aliasName As String, ByVal targetAddress As String) - Dim oDomain As Object = CreateObject(DOMAIN_PROG_ID) - Dim oAddressMap As Object = CreateObject(ADDRESS_MAP_PROG_ID) + Dim oDomain As New WebsitePanel.Providers.Mail.MailEnableDomain + Dim oAddressMap As New WebsitePanel.Providers.Mail.MailEnableAddressMap oDomain.AccountName = domainName oDomain.DomainName = "" oDomain.Status = -1 @@ -1586,88 +1590,88 @@ Public Class MailEnable End Sub Public Overrides Sub DeleteServiceItems(ByVal items() As ServiceProviderItem) - For Each item As ServiceProviderItem In items - If TypeOf item Is MailDomain Then - Try - DeleteDomain(item.Name) - Catch ex As Exception - Log.WriteError(String.Format("Error deleting '{0}' mail domain", item.Name), ex) - End Try - End If - Next - End Sub + For Each item As ServiceProviderItem In items + If TypeOf item Is MailDomain Then + Try + DeleteDomain(item.Name) + Catch ex As Exception + Log.WriteError(String.Format("Error deleting '{0}' mail domain", item.Name), ex) + End Try + End If + Next + End Sub Public Overrides Function GetServiceItemsDiskSpace(ByVal items() As ServiceProviderItem) As ServiceProviderItemDiskSpace() - Dim itemsDiskspace As List(Of ServiceProviderItemDiskSpace) = New List(Of ServiceProviderItemDiskSpace) + Dim itemsDiskspace As List(Of ServiceProviderItemDiskSpace) = New List(Of ServiceProviderItemDiskSpace) - ' update items with diskspace - Dim item As ServiceProviderItem - For Each item In items - If TypeOf item Is MailAccount Then - Try - ' get mailbox size - Dim name As String = item.Name + ' update items with diskspace + Dim item As ServiceProviderItem + For Each item In items + If TypeOf item Is MailAccount Then + Try + ' get mailbox size + Dim name As String = item.Name - ' try to get MailEnable postoffices path - Dim poPath As String = GetPostofficesPath() - If poPath Is Nothing Then - Continue For - End If - Dim mailboxName As String = name.Substring(0, name.IndexOf("@")) - Dim domainName As String = name.Substring((name.IndexOf("@") + 1)) + ' try to get MailEnable postoffices path + Dim poPath As String = GetPostofficesPath() + If poPath Is Nothing Then + Continue For + End If + Dim mailboxName As String = name.Substring(0, name.IndexOf("@")) + Dim domainName As String = name.Substring((name.IndexOf("@") + 1)) - Dim mailboxPath As String = [String].Format("{0}\{1}\Mailroot\{2}", poPath, domainName, mailboxName) + Dim mailboxPath As String = [String].Format("{0}\{1}\Mailroot\{2}", poPath, domainName, mailboxName) - ' calculate disk space - Dim diskspace As New ServiceProviderItemDiskSpace() - diskspace.ItemId = item.Id - diskspace.DiskSpace = FileUtils.CalculateFolderSize(mailboxPath) - itemsDiskspace.Add(diskspace) - Catch ex As Exception - Log.WriteError("Error calculating disk space for mail account: " + item.Name, ex) - End Try - End If - Next item + ' calculate disk space + Dim diskspace As New ServiceProviderItemDiskSpace() + diskspace.ItemId = item.Id + diskspace.DiskSpace = FileUtils.CalculateFolderSize(mailboxPath) + itemsDiskspace.Add(diskspace) + Catch ex As Exception + Log.WriteError("Error calculating disk space for mail account: " + item.Name, ex) + End Try + End If + Next item - Return itemsDiskspace.ToArray() + Return itemsDiskspace.ToArray() End Function Public Overrides Function GetServiceItemsBandwidth(ByVal items() As ServiceProviderItem, ByVal since As Date) As ServiceProviderItemBandwidth() - Dim itemsBandwidth(items.Length) As ServiceProviderItemBandwidth + Dim itemsBandwidth(items.Length) As ServiceProviderItemBandwidth - Dim logsPath As String = GetLoggingPath() - If logsPath Is Nothing Then - Return Nothing - End If - ' calculate bandwidth for mail enable - ' parse mail logs - Dim parser As New LogParser("Mail", "mailenable_pop", Path.Combine(logsPath, "pop"), "account") + Dim logsPath As String = GetLoggingPath() + If logsPath Is Nothing Then + Return Nothing + End If + ' calculate bandwidth for mail enable + ' parse mail logs + Dim parser As New LogParser("Mail", "mailenable_pop", Path.Combine(logsPath, "pop"), "account") parser.ParseLogs(Of LogReader)() - parser = New LogParser("Mail", "mailenable_smtp", Path.Combine(logsPath, "smtp"), "account") + parser = New LogParser("Mail", "mailenable_smtp", Path.Combine(logsPath, "smtp"), "account") parser.ParseLogs(Of MELogReader)() - ' update items with diskspace - Dim i As Integer - For i = 0 To items.Length - 1 - Dim item As ServiceProviderItem = items(i) + ' update items with diskspace + Dim i As Integer + For i = 0 To items.Length - 1 + Dim item As ServiceProviderItem = items(i) - ' create new bandwidth object - itemsBandwidth(i) = New ServiceProviderItemBandwidth() - itemsBandwidth(i).ItemId = item.Id - itemsBandwidth(i).Days = New DailyStatistics(0) {} + ' create new bandwidth object + itemsBandwidth(i) = New ServiceProviderItemBandwidth() + itemsBandwidth(i).ItemId = item.Id + itemsBandwidth(i).Days = New DailyStatistics(0) {} - If TypeOf item Is MailDomain Then - Try - ' get daily statistics - itemsBandwidth(i).Days = parser.GetDailyStatistics(since, New String() {item.Name}) - Catch ex As Exception - Log.WriteError("Error calculating bandwidth for mail domain: " + item.Name, ex) - End Try - End If - Next i - Return itemsBandwidth + If TypeOf item Is MailDomain Then + Try + ' get daily statistics + itemsBandwidth(i).Days = parser.GetDailyStatistics(since, New String() {item.Name}) + Catch ex As Exception + Log.WriteError("Error calculating bandwidth for mail domain: " + item.Name, ex) + End Try + End If + Next i + Return itemsBandwidth End Function Private Sub DeleteMailBoxDirectory(ByVal name As String) @@ -1772,87 +1776,60 @@ Public Class MailEnable End Sub Private Sub SetMailBoxReplyToAddress(ByVal mailbox As String, ByVal replyToAddress As String) - Dim mailBoxFile As String = String.Format("Config\PostOffices\{0}\MAILBOXES\{1}.sys", GetDomainName(mailbox), GetMailboxName(mailbox)) - Dim mailboxPath As String = Path.Combine(GetInstallPath(), mailBoxFile) - If (File.Exists(mailboxPath) <> True) Then - Dim stream As New IO.FileStream(mailboxPath, IO.FileMode.OpenOrCreate, IO.FileAccess.ReadWrite, IO.FileShare.None) - Dim writer As New StreamWriter(stream) - writer.WriteLine("[General]") - writer.Dispose() - stream.Dispose() - End If + Dim oMEAOSO As New WebsitePanel.Providers.Mail.MailEnableOption - Dim reader As New StreamReader(mailboxPath) + With oMEAOSO + .Scope = 2 + .Query = GetDomainName(mailbox) & "/" & GetMailboxName(mailbox) + .ValueName = "ReplyAddress" + .Value = replyToAddress + .SetOption() + End With - Dim Count As Integer = 0 - While reader.Peek <> -1 - Dim line As String = reader.ReadLine() - If line.Contains("ReplyAddress") Then - reader.Dispose() - ReplaceLine(mailboxPath, Count, String.Format("ReplyAddress={0}", replyToAddress)) - Exit Sub - End If - Count = Count + 1 - End While - - reader.Dispose() - AppendLine(mailboxPath, String.Format("ReplyAddress={0}", replyToAddress)) - - 'Dim writer As New StreamWriter(mailboxPath) - 'writer.WriteLine(String.Format("ReplyAddress={0}", replyToAddress)) - 'writer.Close() - 'writer.Dispose() - - End Sub - - - Private Sub ReplaceLine(ByRef FileAddress As String, ByRef line As Integer, ByVal address As String) - Dim TheFileLines As New List(Of String) - TheFileLines.AddRange(System.IO.File.ReadAllLines(FileAddress)) - If line >= TheFileLines.Count Then Exit Sub - TheFileLines.RemoveAt(line) - TheFileLines.Add(address) - File.WriteAllLines(FileAddress, TheFileLines.ToArray) - End Sub - - Private Sub AppendLine(ByRef FileAddress As String, ByRef line As String) - Dim TheFileLines As New List(Of String) - TheFileLines.AddRange(System.IO.File.ReadAllLines(FileAddress)) - TheFileLines.Add(line) - File.WriteAllLines(FileAddress, TheFileLines.ToArray) End Sub Private Function GetMailBoxReplyToAddress(ByVal mailbox As String) - Dim mailBoxFile As String = String.Format("Config\PostOffices\{0}\MAILBOXES\{1}.sys", GetDomainName(mailbox), GetMailboxName(mailbox)) - Dim mailboxPath As String = Path.Combine(GetInstallPath(), mailBoxFile) - If (File.Exists(mailboxPath) = False) Then - Return String.Empty - End If + Dim oMEAOSO As New WebsitePanel.Providers.Mail.MailEnableOption - Dim reader As New StreamReader(mailboxPath) + With oMEAOSO + .Scope = 2 + .Query = GetDomainName(mailbox) & "/" & GetMailboxName(mailbox) + .ValueName = "ReplyAddress" + .GetOption() + Return .Value + End With - While reader.Peek <> -1 - Dim line As String = reader.ReadLine() - If line.Contains("ReplyAddress") Then - Dim split As String() = line.Split(New [Char]() {"="c}) - Return split(1) - End If - End While - reader.Dispose() - Return String.Empty End Function - Private Function GetPostofficesPath() As String - Dim key As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Mail Enable\Mail Enable") - Return CStr(key.GetValue("Mail Root")) + Function GetMailEnableRegistryItem(item As String) As String + + Dim key As RegistryKey + + If IntPtr.Size > 4 Then + key = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\Mail Enable\Mail Enable") + Else + key = Registry.LocalMachine.OpenSubKey("SOFTWARE\Mail Enable\Mail Enable") + End If + + Return CStr(key.GetValue(item)) + + End Function + + + Shared Function GetPostofficesPath() As String + + Dim oLocal As New MailEnable + Return oLocal.GetMailEnableRegistryItem("Mail Root") + End Function Private Function GetInstallPath() As String - Dim key As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Mail Enable\Mail Enable") - Return CStr(key.GetValue("Program Directory")) + + Return GetMailEnableRegistryItem("Program Directory") + End Function @@ -1970,6 +1947,20 @@ Public Class MailEnable End Function + Private Function NonCString(ByVal InString As String) As String + Dim NTPos As Integer + NTPos = InStr(1, InString, Chr(0), CompareMethod.Binary) + If NTPos > 0 Then + NonCString = Left(InString, NTPos - 1) + Else + NonCString = InString + End If + End Function + + Private Function CString(ByVal InString As String) As String + CString = InString & Chr(0) + End Function + Private Function GetLoggingPath() As String Dim programPath As String = "" @@ -1986,36 +1977,31 @@ Public Class MailEnable End If End Function + #End Region Public Overrides Function IsInstalled() As Boolean + Dim version As String = "" - Dim key32bit As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Mail Enable\Mail Enable") - If (key32bit Is Nothing) Then - Dim key64bit As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\Mail Enable\Mail Enable") - If (key64bit Is Nothing) Then - Return False - Else - version = CStr(key64bit.GetValue("Enterprise Version")) - If (version Is Nothing) Then - version = CStr(key64bit.GetValue("Version")) - If (version Is Nothing Or version.Equals("0")) Then - version = CStr(key64bit.GetValue("Professional Version")) - End If - End If - End If + Dim key As RegistryKey + + If IntPtr.Size > 4 Then + key = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\Mail Enable\Mail Enable") Else - version = CStr(key32bit.GetValue("Enterprise Version")) - If (version Is Nothing) Then - version = CStr(key32bit.GetValue("Version")) - If (version Is Nothing Or version.Equals("0")) Then - version = CStr(key32bit.GetValue("Professional Version")) - End If + key = Registry.LocalMachine.OpenSubKey("SOFTWARE\Mail Enable\Mail Enable") + End If + + version = CStr(key.GetValue("Enterprise Version")) + If (version Is Nothing) Then + version = CStr(key.GetValue("Version")) + If (version Is Nothing Or version.Equals("0")) Then + version = CStr(key.GetValue("Professional Version")) End If End If + If [String].IsNullOrEmpty(version) = False Then Dim split As String() = version.Split(New [Char]() {"."c}) - Return split(0).Equals("1") Or split(0).Equals("2") Or split(0).Equals("3") Or split(0).Equals("4") + Return split(0).Equals("1") Or split(0).Equals("2") Or split(0).Equals("3") Or split(0).Equals("4") Or split(0).Equals("5") Or split(0).Equals("6") Else Return False End If From ce6ac034416d32d8c6886573691ecff43ff7091a Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 30 Apr 2012 16:17:50 +1000 Subject: [PATCH 03/78] Added MailEnable API classes. --- .../WebsitePanel.Providers.Mail.MailEnable.vbproj | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/WebsitePanel.Providers.Mail.MailEnable.vbproj b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/WebsitePanel.Providers.Mail.MailEnable.vbproj index 0a3e858d..755a2804 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/WebsitePanel.Providers.Mail.MailEnable.vbproj +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/WebsitePanel.Providers.Mail.MailEnable.vbproj @@ -73,6 +73,17 @@ VersionInfo.vb + + + + + + + + + + + From c66050c25f64ebf6c38c40753fac6a36483599ec Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 2 May 2012 14:55:05 +1000 Subject: [PATCH 04/78] Corrected the removing of address maps. Fixed the list headers and footers where it was not handling 32bit/64bit correctly. --- .../MailEnable.vb | 50 +++++++++++-------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb index 8364dc53..e96a87b2 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb @@ -341,7 +341,7 @@ Public Class MailEnable Dim map As New WebsitePanel.Providers.Mail.MailEnableAddressMap ResetAddressMap(map) map.Account = domainName - map.RemoveAddressMap() + map.RemoveAddressMap(True) 'delete all the blacklists Dim blacklist As New WebsitePanel.Providers.Mail.MailEnableDomainBlacklist @@ -541,7 +541,7 @@ Public Class MailEnable ResetAddressMap(map) map.Account = domainName map.SourceAddress = "[SMTP:*@" + aliasName + "]" - map.RemoveAddressMap() + map.RemoveAddressMap(True) 'delete all the blacklists Dim blacklist As New WebsitePanel.Providers.Mail.MailEnableDomainBlacklist @@ -1930,19 +1930,23 @@ Public Class MailEnable End Function Private Function GetAnnotationPath(ByVal postOfficeName As String) As String + + 'the annotation paths are in the configuration directory + Dim programPath As String = "" - Dim key32bit As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Mail Enable\Mail Enable") - If (key32bit Is Nothing) Then - Dim key64bit As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\Mail Enable\Mail Enable") - If (key64bit Is Nothing) Then - Return String.Empty - Else - programPath = CStr(key64bit.GetValue("Data Directory")) - Return Path.Combine(programPath, String.Format("Config\Postoffices\{0}\ANNOTATIONS", postOfficeName)) - End If + Dim key As RegistryKey + + If IntPtr.Size > 4 Then + key = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\Mail Enable\Mail Enable") Else - programPath = CStr(key32bit.GetValue("Data Directory")) - Return Path.Combine(programPath, String.Format("Config\Postoffices\{0}\ANNOTATIONS", postOfficeName)) + key = Registry.LocalMachine.OpenSubKey("SOFTWARE\Mail Enable\Mail Enable") + End If + + If (key Is Nothing) Then + Return String.Empty + Else + programPath = CStr(key.GetValue("Configuration Directory")) + Return Path.Combine(programPath, String.Format("Postoffices\{0}\ANNOTATIONS", postOfficeName)) End If End Function @@ -1964,16 +1968,18 @@ Public Class MailEnable Private Function GetLoggingPath() As String Dim programPath As String = "" - Dim key32bit As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Mail Enable\Mail Enable") - If (key32bit Is Nothing) Then - Dim key64bit As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\Mail Enable\Mail Enable") - If (key64bit Is Nothing) Then - Return String.Empty - Else - Return CStr(key64bit.GetValue("W3C Logging Directory")) - End If + Dim key As RegistryKey + + If IntPtr.Size > 4 Then + key = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\Mail Enable\Mail Enable") Else - Return CStr(key32bit.GetValue("W3C Logging Directory")) + key = Registry.LocalMachine.OpenSubKey("SOFTWARE\Mail Enable\Mail Enable") + End If + + If (key Is Nothing) Then + Return String.Empty + Else + Return CStr(key.GetValue("W3C Logging Directory")) End If End Function From 0da4a434d882d22103ffd836ca88e9bf60699850 Mon Sep 17 00:00:00 2001 From: Dan Date: Thu, 3 May 2012 17:21:53 +0100 Subject: [PATCH 05/78] Added hMailServer Disk Space Calculation --- .../hMailServer.vb | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb index fb0a85fc..7a2d6f36 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb @@ -1169,7 +1169,30 @@ Public Class hMailServer End Try End If Next - End Sub + End Sub + + Public Overrides Function GetServiceItemsDiskSpace(ByVal items() As ServiceProviderItem) As ServiceProviderItemDiskSpace() + Dim itemsDiskspace As List(Of ServiceProviderItemDiskSpace) = New List(Of ServiceProviderItemDiskSpace) + Dim item As ServiceProviderItem + For Each item In items + If TypeOf item Is MailAccount Then + Try + Dim name As String = item.Name + Dim domainName As String = name.Substring((name.IndexOf("@") + 1)) + Dim objDomain As Service = GetDomainObject(domainName) + Dim objAccount = objDomain.ComObject.Accounts.ItemByAddress(name) + Dim objAccountSize As Long = objAccount.Size() * 1048576 + Dim diskspace As New ServiceProviderItemDiskSpace() + diskspace.ItemId = item.Id + diskspace.DiskSpace = objAccountSize + itemsDiskspace.Add(diskspace) + Catch ex As Exception + Log.WriteError("Error calculating disk space for mail account: " + item.Name, ex) + End Try + End If + Next item + Return itemsDiskspace.ToArray() + End Function Public Overrides Sub DeleteServiceItems(ByVal items() As ServiceProviderItem) For Each item As ServiceProviderItem In items From f2c4ad4345e649be1f951db59aa2195244789ca5 Mon Sep 17 00:00:00 2001 From: Dan Date: Thu, 3 May 2012 17:31:16 +0100 Subject: [PATCH 06/78] Fixed hMailServer Forwarding to empty address --- .../ProviderControls/hMailServer43_EditAccount.ascx.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.cs index b5958f1c..73989b3c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.cs @@ -67,7 +67,9 @@ namespace WebsitePanel.Portal.ProviderControls item.ResponderEnabled = chkResponderEnabled.Checked; item.ResponderSubject = txtSubject.Text; item.ResponderMessage = txtMessage.Text; - item.ForwardingAddresses = new string[] { txtForward.Text }; + if (txtForward.Text.Length > 0) { + item.ForwardingAddresses = new string[] { txtForward.Text }; + } item.RetainLocalCopy = chkOriginalMessage.Checked; item.FirstName = txtFirstName.Text; item.LastName = txtLastName.Text; From 99c0ebf7dbabacdf35143e8747d7a9059b34cd33 Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 4 May 2012 15:28:11 +1000 Subject: [PATCH 07/78] [workitem:59] Added smart host options for domain under MailEnable --- .../MailEnable_EditDomain.ascx | 24 +++++++++++- .../MailEnable_EditDomain.ascx.cs | 16 +++++++- .../MailEnable_EditDomain.ascx.designer.cs | 39 ++++++++++++++++++- 3 files changed, 74 insertions(+), 5 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx index 2958c470..784aa888 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx @@ -1,7 +1,7 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MailEnable_EditDomain.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.MailEnable_EditDomain" %> - + @@ -18,4 +18,24 @@ -
\ No newline at end of file + + + + + + + + + + + + + + +
+ +
Only smart host email from authenticated senders: + +
Smart host mail to: + + (enter IP address or domain name of destination)
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx.cs index e3c0775a..7aa33557 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx.cs @@ -39,6 +39,7 @@ using System.Web.UI.HtmlControls; using WebsitePanel.Providers.Mail; + namespace WebsitePanel.Portal.ProviderControls { public partial class MailEnable_EditDomain : WebsitePanelControlBase, IMailEditDomainControl @@ -50,13 +51,26 @@ namespace WebsitePanel.Portal.ProviderControls public void BindItem(MailDomain item) { BindMailboxes(item); + + chkDomainSmartHostEnabled.Checked = Convert.ToBoolean(item["MailEnable_SmartHostEnabled"]); + chkDomainSmartHostAuthSenders.Checked = Convert.ToBoolean(item["MailEnable_SmartHostAuth"]); + txtDestination.Text = item.RedirectionHosts; } public void SaveItem(MailDomain item) { - item.CatchAllAccount = ddlCatchAllAccount.SelectedValue; item.AbuseAccount = ddlAbuseAccount.SelectedValue; item.PostmasterAccount = ddlPostmasterAccount.SelectedValue; + + // if we have a smarthost we need to clear the catchall + if (chkDomainSmartHostEnabled.Checked) + item.CatchAllAccount= ""; + else + item.CatchAllAccount = ddlCatchAllAccount.SelectedValue; + + item["MailEnable_SmartHostEnabled"] = chkDomainSmartHostEnabled.Checked.ToString(); + item["MailEnable_SmartHostAuth"] = chkDomainSmartHostAuthSenders.Checked.ToString(); + item.RedirectionHosts = txtDestination.Text; } private void BindMailboxes(MailDomain item) diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx.designer.cs index 53d48312..32593262 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.3074 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -66,5 +65,41 @@ namespace WebsitePanel.Portal.ProviderControls { /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.DropDownList ddlAbuseAccount; + + /// + /// lblDomainSmartHostEnabled control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblDomainSmartHostEnabled; + + /// + /// chkDomainSmartHostEnabled control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkDomainSmartHostEnabled; + + /// + /// chkDomainSmartHostAuthSenders control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkDomainSmartHostAuthSenders; + + /// + /// txtDestination control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtDestination; } } From e56ff1a28a1a5db9f120f7cb8c298faf5c777acf Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 4 May 2012 15:29:37 +1000 Subject: [PATCH 08/78] [workitem:59] Added domain smart host options for MailEnable --- .../MailEnable.vb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb index e96a87b2..64f1a337 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb @@ -137,9 +137,22 @@ Public Class MailEnable domain.Status = -1 If (domain.GetDomain() = 1) Then + Dim newStatus As Integer = IIf(info.Enabled, 1, 0) Dim newRedirectionStatus As Integer = IIf(info.RedirectionActive, 1, 0) + 'redirection status has 3 states, so we don't use redirectionaction + '0=off, 1=on, 2=on for authenticated only + If info("MailEnable_SmartHostEnabled") Then + If info("MailEnable_SmartHostAuth") Then + newRedirectionStatus = 2 + Else + newRedirectionStatus = 1 + End If + Else + newRedirectionStatus = 0 + End If + domain.EditDomain( _ info.Name, _ newStatus, _ @@ -280,6 +293,7 @@ Public Class MailEnable blacklist.AddBlacklist() Next + End If End Sub @@ -377,6 +391,18 @@ Public Class MailEnable info.Name = domain.DomainName info.RedirectionHosts = domain.DomainRedirectionHosts info.RedirectionActive = (domain.DomainRedirectionStatus = 1) + + If domain.DomainRedirectionStatus = 2 Then + info("MailEnable_SmartHostAuth") = True + info("MailEnable_SmartHostEnabled") = True + ElseIf domain.DomainRedirectionStatus = 1 Then + info("MailEnable_SmartHostEnabled") = True + info("MailEnable_SmartHostAuth") = False + Else + info("MailEnable_SmartHostEnabled") = false + info("MailEnable_SmartHostAuth") = False + End If + info.Enabled = (domain.Status = 1) ' @@ -842,6 +868,8 @@ Public Class MailEnable ' build autoresponder file WriteMailboxAutoresponderFile(info) + + End Sub Public Overridable Sub DeleteAccount(ByVal name As String) Implements IMailServer.DeleteAccount From 0ae5ff96b5a703f1d643fb37fde4fcaea2aeb2c1 Mon Sep 17 00:00:00 2001 From: DanVB Date: Fri, 4 May 2012 11:23:27 +0100 Subject: [PATCH 09/78] Fixed MSDeploy InstallPath for WebApplicationGallery Check if running in 32bit mode under 64bit Windows (WOW64) - works with .NET 2.0+ http://blogs.msdn.com/b/david.wang/archive/2006/03/26/howto-detect-process-bitness.aspx --- .../WebApplicationGallery.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/WebApplicationGallery.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/WebApplicationGallery.cs index c0b7d363..95794f25 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/WebApplicationGallery.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/WebApplicationGallery.cs @@ -121,6 +121,13 @@ namespace WebsitePanel.Providers.Web Array.ForEach(versionKeys, (x) => { Log.WriteInfo("MSDeploy version key found: {0}", x); }); // Determine appropriate key name to query for var installPathKey = (IntPtr.Size == 8) ? "InstallPath" : "InstallPath_x86"; + + // Check if running in 32bit mode under 64bit Windows (WOW64) - works with .NET 2.0+ + if (Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432") == "AMD64") + { + installPathKey = "InstallPath_x64"; + } + var fileVersion = String.Empty; // var libPath = String.Empty; From 77aa23f87a18e59357eea01086a3be1549795193 Mon Sep 17 00:00:00 2001 From: DanVB Date: Sat, 5 May 2012 16:57:32 +0100 Subject: [PATCH 10/78] + hMailServer Bandwidth Calculation. Note: AWStats Logging must be enabled in Admin. + hMailserver Extra Mail Account Information/Settings on Edit Page. + hMailServer Forwarding Fixes + AWStats version 7 detection --- .../Mail/MailAccount.cs | 28 +- .../hMailServer.vb | 323 +++++++++++++----- .../AWStats.cs | 2 +- .../hMailServer43_EditAccount.ascx.resx | 37 +- .../hMailServer43_EditAccount.ascx | 77 ++++- .../hMailServer43_EditAccount.ascx.cs | 20 +- ...hMailServer43_EditAccount.ascx.designer.cs | 146 +++++++- 7 files changed, 505 insertions(+), 128 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailAccount.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailAccount.cs index b143f283..bdf5f440 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailAccount.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailAccount.cs @@ -50,12 +50,8 @@ namespace WebsitePanel.Providers.Mail private bool isDomainAdmin; private bool isDomainAdminEnabled; private bool retainLocalCopy; - private bool signatureEnabled; - private string signatureHTML; - /// - /// - /// + public bool UnlimitedSize { get @@ -184,19 +180,17 @@ namespace WebsitePanel.Providers.Mail #endregion - #region hMail - public bool SignatureEnabled - { - get { return signatureEnabled; } - set { signatureEnabled = value; } - } - - public string SignatureHTML - { - get { return signatureHTML; } - set { signatureHTML = value; } - } + #region hMailServer + public bool SignatureEnabled { get; set; } + public string SignatureHTML { get; set; } + public bool ForwardingEnabled { get; set; } + public long Size { get; set; } + public string LastLogonTime { get; set; } + public long QuotaUsed { get; set; } + public bool ResponderExpires {get;set;} + public string ResponderExpirationDate { get; set; } + #endregion } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb index 7a2d6f36..3bc45f4b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb @@ -109,11 +109,25 @@ Public Class hMailServer objDomain.ComObject = hMailServer.Utilities objDomain.Succeed = True Catch ex As Exception - Log.WriteError("Couldn't create hMailServer.Application ActiveX object.", ex) + Log.WriteError("Couldn't create hMailServer.Application Utilities ActiveX object.", ex) End Try Return objDomain - End Function + End Function + + Private Function GetSettingsObject() As Service + Dim objSettings As New Service() + objSettings.Succeed = False + + Try + objSettings.ComObject = hMailServer.Settings + objSettings.Succeed = True + Catch ex As Exception + Log.WriteError("Couldn't create hMailServer.Application Settings ActiveX object.", ex) + End Try + + Return objSettings + End Function Private Function GetDomainObject(ByVal domainName As String) As Service ' find existing domain @@ -124,7 +138,7 @@ Public Class hMailServer objDomain.ComObject = hMailServer.Domains.ItemByName(domainName) objDomain.Succeed = True Catch ex As Exception - Log.WriteError("Couldn't create hMailServer.Application ActiveX object.", ex) + Log.WriteError("Couldn't create hMailServer.Application Domain ActiveX object.", ex) End Try Return objDomain @@ -139,7 +153,7 @@ Public Class hMailServer objDomain.ComObject = hMailServer.Domains objDomain.Succeed = True Catch ex As Exception - Log.WriteError("Couldn't create hMailServer.Application ActiveX object.", ex) + Log.WriteError("Couldn't create hMailServer.Application Domains ActiveX object.", ex) End Try Return objDomain @@ -285,19 +299,26 @@ Public Class hMailServer If mailbox.ResponderEnabled Then objAccount.VacationMessageIsOn = True objAccount.VacationSubject = mailbox.ResponderSubject - objAccount.VacationMessage = mailbox.ResponderMessage - End If + objAccount.VacationMessage = mailbox.ResponderMessage + objAccount.VacationMessageExpires = False + If mailbox.ResponderExpires Then + If IsDate(mailbox.ResponderExpirationDate) Then + objAccount.VacationMessageExpires = True + objAccount.VacationMessageExpiresDate = mailbox.ResponderExpirationDate.Substring(0, 10) + End If + End If + End If 'set forwarding address - If mailbox.ForwardingAddresses.Length > 0 Then - objAccount.ForwardAddress = mailbox.ForwardingAddresses(0) - objAccount.ForwardEnabled = True - objAccount.ForwardKeepOriginal = mailbox.RetainLocalCopy - End If + If mailbox.ForwardingEnabled Then + objAccount.ForwardAddress = mailbox.ForwardingAddresses(0) + objAccount.ForwardEnabled = True + objAccount.ForwardKeepOriginal = mailbox.RetainLocalCopy + End If objAccount.Save() - ' set account rules + ' set account rules SetAccountRules(mailbox, objAccount) @@ -322,43 +343,43 @@ Public Class hMailServer ' delete rule objAccount.Rules.DeleteByDBID(objRule.ID) End If + '// Removed to use built-in forwarding: + 'If Not mailbox.ForwardingAddresses Is Nothing _ + ' And mailbox.ForwardingAddresses.Length > 0 Then + ' ' create rule - If Not mailbox.ForwardingAddresses Is Nothing _ - And mailbox.ForwardingAddresses.Length > 0 Then - ' create rule + ' ' add "default" rule + ' objRule = objAccount.Rules.Add() + ' objRule.AccountID = objAccount.ID + ' objRule.Active = True + ' objRule.Name = WEBSITEPANEL_RULE_NAME + ' objRule.Save() - ' add "default" rule - objRule = objAccount.Rules.Add() - objRule.AccountID = objAccount.ID - objRule.Active = True - objRule.Name = WEBSITEPANEL_RULE_NAME - objRule.Save() + ' ' Add criteria + ' Dim objCriteria As Object = objRule.Criterias.Add() + ' objCriteria.RuleID = objRule.ID + ' objCriteria.PredefinedField = 6 ' hMailServer.eRulePredefinedField.eFTMessageSize + ' objCriteria.MatchType = 4 ' hMailServer.eRuleMatchType.eMTGreaterThan + ' objCriteria.MatchValue = "0" + ' objCriteria.Save() - ' Add criteria - Dim objCriteria As Object = objRule.Criterias.Add() - objCriteria.RuleID = objRule.ID - objCriteria.PredefinedField = 6 ' hMailServer.eRulePredefinedField.eFTMessageSize - objCriteria.MatchType = 4 ' hMailServer.eRuleMatchType.eMTGreaterThan - objCriteria.MatchValue = "0" - objCriteria.Save() + ' ' add forwarding addresses + ' Dim forwarding As String + ' For Each forwarding In mailbox.ForwardingAddresses + ' Dim objRuleAction As Object = objRule.Actions.Add() + ' objRuleAction.RuleID = objRule.ID + ' objRuleAction.Type = 2 'eRAForwardEmail + ' objRuleAction.To = forwarding + ' objRuleAction.Save() + ' Next - ' add forwarding addresses - Dim forwarding As String - For Each forwarding In mailbox.ForwardingAddresses - Dim objRuleAction As Object = objRule.Actions.Add() - objRuleAction.RuleID = objRule.ID - objRuleAction.Type = 2 'eRAForwardEmail - objRuleAction.To = forwarding - objRuleAction.Save() - Next - - If mailbox.DeleteOnForward Then - Dim objRuleAction As Object = objRule.Actions.Add() - objRuleAction.RuleID = objRule.ID - objRuleAction.RuleID = 1 'eRADeleteEmail - objRuleAction.Save() - End If - End If + ' If mailbox.DeleteOnForward Then + ' Dim objRuleAction As Object = objRule.Actions.Add() + ' objRuleAction.RuleID = objRule.ID + ' objRuleAction.RuleID = 1 'eRADeleteEmail + ' objRuleAction.Save() + ' End If + 'End If End Sub Public Sub CreateDomain(ByVal domain As MailDomain) Implements IMailServer.CreateDomain @@ -743,11 +764,19 @@ Public Class hMailServer account.LastName = objAccount.PersonLastName account.Enabled = objAccount.Active account.MaxMailboxSize = objAccount.MaxSize - account.Password = objAccount.Password - account.ResponderEnabled = objAccount.VacationMessageIsOn + account.Password = objAccount.Password + account.Size = objAccount.Size() + account.QuotaUsed = objAccount.QuotaUsed() + account.LastLogonTime = CType(objAccount.LastLogonTime(), DateTime) + 'auto-responder + account.ResponderEnabled = objAccount.VacationMessageIsOn account.ResponderSubject = objAccount.VacationSubject - account.ResponderMessage = objAccount.VacationMessage - Dim forwardings As List(Of String) = New List(Of String) + account.ResponderMessage = objAccount.VacationMessage + account.ResponderExpires = objAccount.VacationMessageExpires + account.ResponderExpirationDate = objAccount.VacationMessageExpiresDate + 'forwarding + account.ForwardingEnabled = objAccount.ForwardEnabled + Dim forwardings As List(Of String) = New List(Of String) forwardings.Add(objAccount.ForwardAddress) account.ForwardingAddresses = forwardings.ToArray account.RetainLocalCopy = objAccount.ForwardKeepOriginal @@ -793,24 +822,32 @@ Public Class hMailServer End If ' get account details - Dim account As MailAccount = New MailAccount() - account.Name = objAccount.Address - account.FirstName = objAccount.PersonFirstName - account.LastName = objAccount.PersonLastName - account.Enabled = objAccount.Active - account.MaxMailboxSize = objAccount.MaxSize - account.Password = objAccount.Password - account.ResponderEnabled = objAccount.VacationMessageIsOn - account.ResponderSubject = objAccount.VacationSubject - account.ResponderMessage = objAccount.VacationMessage - Dim forwardings As List(Of String) = New List(Of String) - forwardings.Add(objAccount.ForwardAddress) - account.ForwardingAddresses = forwardings.ToArray - account.RetainLocalCopy = objAccount.ForwardKeepOriginal - 'Signature - account.SignatureEnabled = objAccount.SignatureEnabled - account.Signature = objAccount.SignaturePlainText - account.SignatureHTML = objAccount.SignatureHTML + Dim account As MailAccount = New MailAccount() + account.Name = objAccount.Address + account.FirstName = objAccount.PersonFirstName + account.LastName = objAccount.PersonLastName + account.Enabled = objAccount.Active + account.MaxMailboxSize = objAccount.MaxSize + account.Password = objAccount.Password + account.Size = objAccount.Size() + account.QuotaUsed = objAccount.QuotaUsed() + account.LastLogonTime = CType(objAccount.LastLogonTime(), DateTime) + 'auto-responder + account.ResponderEnabled = objAccount.VacationMessageIsOn + account.ResponderSubject = objAccount.VacationSubject + account.ResponderMessage = objAccount.VacationMessage + account.ResponderExpires = objAccount.VacationMessageExpires + account.ResponderExpirationDate = objAccount.VacationMessageExpiresDate + 'forwarding + account.ForwardingEnabled = objAccount.ForwardEnabled + Dim forwardings As List(Of String) = New List(Of String) + forwardings.Add(objAccount.ForwardAddress) + account.ForwardingAddresses = forwardings.ToArray + account.RetainLocalCopy = objAccount.ForwardKeepOriginal + 'Signature + account.SignatureEnabled = objAccount.SignatureEnabled + account.Signature = objAccount.SignaturePlainText + account.SignatureHTML = objAccount.SignatureHTML accounts.Add(account) Next End If @@ -975,31 +1012,42 @@ Public Class hMailServer objAccount.Active = mailbox.Enabled objAccount.Password = mailbox.Password objAccount.MaxSize = mailbox.MaxMailboxSize - objAccount.VacationMessageIsOn = mailbox.ResponderEnabled + 'Auto-Responder + objAccount.VacationMessageIsOn = mailbox.ResponderEnabled objAccount.VacationSubject = mailbox.ResponderSubject - objAccount.VacationMessage = mailbox.ResponderMessage - 'Personal Information - objAccount.PersonFirstName = mailbox.FirstName - objAccount.PersonLastName = mailbox.LastName - 'Signature - objAccount.SignatureEnabled = mailbox.SignatureEnabled - objAccount.SignaturePlainText = mailbox.Signature - objAccount.SignatureHTML = mailbox.SignatureHTML + objAccount.VacationMessage = mailbox.ResponderMessage + objAccount.VacationMessageExpires = False + If mailbox.ResponderExpires Then + If IsDate(mailbox.ResponderExpirationDate) Then + objAccount.VacationMessageExpires = True + objAccount.VacationMessageExpiresDate = mailbox.ResponderExpirationDate.Substring(0, 10) + End If + End If + 'Personal Information + objAccount.PersonFirstName = mailbox.FirstName + objAccount.PersonLastName = mailbox.LastName + 'Signature + objAccount.SignatureEnabled = mailbox.SignatureEnabled + objAccount.SignaturePlainText = mailbox.Signature + objAccount.SignatureHTML = mailbox.SignatureHTML + 'Forwarding + If mailbox.ForwardingEnabled Then + If mailbox.ForwardingAddresses.Length > 0 Then + objAccount.ForwardAddress = mailbox.ForwardingAddresses(0) + objAccount.ForwardKeepOriginal = mailbox.RetainLocalCopy + objAccount.ForwardEnabled = True + End If + Else + objAccount.ForwardEnabled = False + End If + objAccount.Save() - If mailbox.ForwardingAddresses.Length > 0 Then - objAccount.ForwardAddress = mailbox.ForwardingAddresses(0) - objAccount.ForwardKeepOriginal = mailbox.RetainLocalCopy - objAccount.ForwardEnabled = True - End If + ' set account rules + SetAccountRules(mailbox, objAccount) - objAccount.Save() - - ' set account rules - SetAccountRules(mailbox, objAccount) - - Catch ex As Exception - Log.WriteError("Couldn't update an account.", ex) - End Try + Catch ex As Exception + Log.WriteError("Couldn't update an account.", ex) + End Try End If End Sub @@ -1177,10 +1225,8 @@ Public Class hMailServer For Each item In items If TypeOf item Is MailAccount Then Try - Dim name As String = item.Name - Dim domainName As String = name.Substring((name.IndexOf("@") + 1)) - Dim objDomain As Service = GetDomainObject(domainName) - Dim objAccount = objDomain.ComObject.Accounts.ItemByAddress(name) + Dim objDomain As Service = GetDomainObject(GetDomainName(item.Name)) + Dim objAccount = objDomain.ComObject.Accounts.ItemByAddress(item.Name) Dim objAccountSize As Long = objAccount.Size() * 1048576 Dim diskspace As New ServiceProviderItemDiskSpace() diskspace.ItemId = item.Id @@ -1194,6 +1240,97 @@ Public Class hMailServer Return itemsDiskspace.ToArray() End Function + Public Overrides Function GetServiceItemsBandwidth(ByVal items() As ServiceProviderItem, ByVal since As Date) As ServiceProviderItemBandwidth() + Dim itemsBandwidth(items.Length) As ServiceProviderItemBandwidth + Dim objSets As Service = GetSettingsObject() + If objSets.ComObject.Logging.AWStatsEnabled Then + Dim logsPath As String = objSets.ComObject.Logging.CurrentAwstatsLog() + + Dim i As Integer + For i = 0 To items.Length - 1 + Dim item As ServiceProviderItem = items(i) + + itemsBandwidth(i) = New ServiceProviderItemBandwidth() + itemsBandwidth(i).ItemId = item.Id + itemsBandwidth(i).Days = New DailyStatistics(0) {} + + If TypeOf item Is MailDomain Then + Try + itemsBandwidth(i).Days = GetDailyStatistics(since, item.Name, logsPath) + Catch ex As Exception + Log.WriteError("Error calculating bandwidth for mail domain: " + item.Name, ex) + End Try + End If + Next i + End If + Return itemsBandwidth + End Function + + Private Function GetDailyStatistics(ByVal since As DateTime, ByVal mailDomainName As String, ByVal logpath As String) As DailyStatistics() + Dim days As New ArrayList() + Dim now As DateTime = DateTime.Now + Dim [date] As DateTime = since + Dim mailDomainBytesReceived As Long = 0 + Dim mailDomainBytesSent As Long = 0 + + Try + While [date] < now + If File.Exists(logpath) Then + + Using r As StreamReader = New StreamReader(logpath) + Dim line As String + ' Read first line. + line = r.ReadLine + + Do While (Not line Is Nothing) + Dim vals As String() = line.Split(vbTab) + If vals.Length = 9 Then + Dim logDate As DateTime = CType(vals(0), DateTime) + If logDate >= [date] Then + 'get sent bytes + If InStr(vals(1), mailDomainName) Then + mailDomainBytesSent += Int32.Parse(vals(8)) + End If + + 'get received bytes + If InStr(vals(2), mailDomainName) Then + mailDomainBytesReceived += Int32.Parse(vals(8)) + End If + End If + If logDate.Date > [date].Date Then + Exit Do + End If + + End If + + line = r.ReadLine + + Loop + End Using + End If + + If mailDomainBytesReceived <> 0 Or mailDomainBytesSent <> 0 Then + Dim dailyStats As New DailyStatistics() + dailyStats.Year = [date].Year + dailyStats.Month = [date].Month + dailyStats.Day = [date].Day + dailyStats.BytesSent = mailDomainBytesSent + dailyStats.BytesReceived = mailDomainBytesReceived + days.Add(dailyStats) + End If + + ' advance day + [date] = [date].AddDays(1) + mailDomainBytesReceived = 0 + mailDomainBytesSent = 0 + End While + Catch ex As Exception + Log.WriteError("Could't parse hMailServer Log", ex) + End Try + Return DirectCast(days.ToArray(GetType(DailyStatistics)), DailyStatistics()) + End Function + + Public Overrides Sub DeleteServiceItems(ByVal items() As ServiceProviderItem) For Each item As ServiceProviderItem In items If TypeOf item Is MailDomain Then diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.AWStats/AWStats.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.AWStats/AWStats.cs index a923092d..29f68685 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.AWStats/AWStats.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.AWStats/AWStats.cs @@ -343,7 +343,7 @@ namespace WebsitePanel.Providers.Statistics string[] split = versionNumber.Split(new char[] { '.' }); - return split[0].Equals("6"); + return split[0].Equals("6") | split[0].Equals("7"); } } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer43_EditAccount.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer43_EditAccount.ascx.resx index 23eb4074..cb9887d3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer43_EditAccount.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer43_EditAccount.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Yes @@ -165,4 +165,37 @@ Signature + + Yes + + + Yes + + + Yes + + + Mailbox Enabled: + + + Forwarding Enabled: + + + Last Login Date: + + + Quota Used: + + + Autoresponder Expire Date: + + + Autoresponder Expires: + + + Current Size: + + + Account Information + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx index 54462ec4..43be89f2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx @@ -1,6 +1,45 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer43_EditAccount.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer43_EditAccount" %> <%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %> + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + +
+ + + +
+
+ @@ -8,15 +47,15 @@ - - - + + + + + + + + + + + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx.designer.cs index 93fb9dc1..d599044c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx.designer.cs @@ -157,6 +157,15 @@ namespace WebsitePanel.Ecommerce.Portal.UserControls { /// protected global::System.Web.UI.WebControls.PlaceHolder MsSQL2008; + /// + /// MsSQL2012 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.PlaceHolder MsSQL2012; + /// /// Localize3 control. /// @@ -175,6 +184,15 @@ namespace WebsitePanel.Ecommerce.Portal.UserControls { /// protected global::System.Web.UI.WebControls.Repeater MsSQL2008_Quotas; + /// + /// MsSQL2012_Quotas control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Repeater MsSQL2012_Quotas; + /// /// MySQL4 control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelControlBase.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelControlBase.cs index a95f60d8..9c528998 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelControlBase.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelControlBase.cs @@ -302,6 +302,7 @@ namespace WebsitePanel.Portal AddDatabaseVersion(cntx, ResourceGroups.MsSql2000, items, versions); AddDatabaseVersion(cntx, ResourceGroups.MsSql2005, items, versions); AddDatabaseVersion(cntx, ResourceGroups.MsSql2008, items, versions); + AddDatabaseVersion(cntx, ResourceGroups.MsSql2012, items, versions); AddDatabaseVersion(cntx, ResourceGroups.MySql4, items, versions); AddDatabaseVersion(cntx, ResourceGroups.MySql5, items, versions); } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcEditSource.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcEditSource.ascx.cs index 671f451b..9acf1b31 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcEditSource.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcEditSource.ascx.cs @@ -206,9 +206,11 @@ namespace WebsitePanel.Portal sqlDatabases.AddRange(ES.Services.DatabaseServers.GetSqlDatabases(packageId, ResourceGroups.MsSql2000, false)); sqlDatabases.AddRange(ES.Services.DatabaseServers.GetSqlDatabases(packageId, ResourceGroups.MsSql2005, false)); sqlDatabases.AddRange(ES.Services.DatabaseServers.GetSqlDatabases(packageId, ResourceGroups.MsSql2008, false)); + sqlDatabases.AddRange(ES.Services.DatabaseServers.GetSqlDatabases(packageId, ResourceGroups.MsSql2012, false)); sqlUsers.AddRange(ES.Services.DatabaseServers.GetSqlUsers(packageId, ResourceGroups.MsSql2000, false)); sqlUsers.AddRange(ES.Services.DatabaseServers.GetSqlUsers(packageId, ResourceGroups.MsSql2005, false)); sqlUsers.AddRange(ES.Services.DatabaseServers.GetSqlUsers(packageId, ResourceGroups.MsSql2008, false)); + sqlUsers.AddRange(ES.Services.DatabaseServers.GetSqlUsers(packageId, ResourceGroups.MsSql2012, false)); } else if (driverName == "MySql") { diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointEditSite.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointEditSite.ascx.cs index c9d27324..077f795e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointEditSite.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointEditSite.ascx.cs @@ -69,6 +69,7 @@ namespace WebsitePanel.Portal versions.Add(ResourceGroups.MsSql2000); versions.Add(ResourceGroups.MsSql2005); versions.Add(ResourceGroups.MsSql2008); + versions.Add(ResourceGroups.MsSql2012); FillDatabaseVersions(PanelSecurity.PackageId, ddlDatabaseVersion.Items, versions); } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryParams.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryParams.ascx.cs index 904f4661..e0efe20b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryParams.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryParams.ascx.cs @@ -140,6 +140,8 @@ namespace WebsitePanel.Portal PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId); // add SQL Server engines + if (cntx.Groups.ContainsKey(ResourceGroups.MsSql2012)) + AddDatabaseEngine(DeploymentParameterWellKnownTag.Sql, ResourceGroups.MsSql2012, GetSharedLocalizedString("ResourceGroup." + ResourceGroups.MsSql2012)); if (cntx.Groups.ContainsKey(ResourceGroups.MsSql2008)) AddDatabaseEngine(DeploymentParameterWellKnownTag.Sql, ResourceGroups.MsSql2008, GetSharedLocalizedString("ResourceGroup." + ResourceGroups.MsSql2008)); if (cntx.Groups.ContainsKey(ResourceGroups.MsSql2005)) From 99e93e99da32cc4efbc4690889ccaec0efc35b0d Mon Sep 17 00:00:00 2001 From: omara Date: Tue, 15 May 2012 20:01:08 -0400 Subject: [PATCH 16/78] Various changes to prepare Installers for 1.2.2 Update Installer EULA Date for 2012 Update Build.XML for 1.2.2 Update email address in installer to info@websitepanel.net --- .../Sources/Setup/Setup.vdproj | 144 +++---- .../Sources/Setup/WebsitePanel Help.url | 4 +- WebsitePanel.Installer/Sources/VersionInfo.cs | 6 +- .../Properties/Settings.Designer.cs | 2 +- .../ApplicationForm.Designer.cs | 384 +++++++++--------- .../WebsitePanel.Installer/ApplicationForm.cs | 2 +- .../ApplicationForm.resx | 12 +- .../Sources/WebsitePanel.Installer/Program.cs | 4 +- .../WebsitePanel.Installer/Updater.exe | Bin 198144 -> 198144 bytes .../Actions/BaseActionManager.cs | 2 +- .../Sources/WebsitePanel.Setup/EULA.rtf | Bin 1991 -> 34050 bytes .../WebsitePanel.Setup/EnterpriseServer10.cs | 27 ++ .../Sources/WebsitePanel.Setup/Portal10.cs | 27 ++ .../Sources/WebsitePanel.Setup/Server10.cs | 27 ++ .../StandaloneServerSetup10.cs | 12 + .../Wizard/WizardPageBase.cs | 2 +- .../WebsitePanel.Updater/UpdaterForm.cs | 2 +- WebsitePanel/Sources/VersionInfo.cs | 13 +- WebsitePanel/Sources/VersionInfo.vb | 13 +- WebsitePanel/build.xml | 16 +- 20 files changed, 398 insertions(+), 301 deletions(-) diff --git a/WebsitePanel.Installer/Sources/Setup/Setup.vdproj b/WebsitePanel.Installer/Sources/Setup/Setup.vdproj index c8bcd76d..5dfe2cf1 100644 --- a/WebsitePanel.Installer/Sources/Setup/Setup.vdproj +++ b/WebsitePanel.Installer/Sources/Setup/Setup.vdproj @@ -45,42 +45,42 @@ } "Entry" { - "MsmKey" = "8:_8358EC0621F48BC59677CAE4E2FA8FC3" - "OwnerKey" = "8:_05F59A142DD147798C90054A203C0EE9" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_8358EC0621F48BC59677CAE4E2FA8FC3" - "OwnerKey" = "8:_1239E87E938248B1BAF9BF75C32D3EDC" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_B0491B1356193E1DEAF528DAD55FD861" - "OwnerKey" = "8:_05F59A142DD147798C90054A203C0EE9" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_B0491B1356193E1DEAF528DAD55FD861" - "OwnerKey" = "8:_1239E87E938248B1BAF9BF75C32D3EDC" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_B0491B1356193E1DEAF528DAD55FD861" - "OwnerKey" = "8:_8358EC0621F48BC59677CAE4E2FA8FC3" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_BD9DC4338DFD4472BE5D099C388608B6" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_D1E9D2FA126C6929E2B4AD4D3D6B2B30" + "OwnerKey" = "8:_05F59A142DD147798C90054A203C0EE9" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_D1E9D2FA126C6929E2B4AD4D3D6B2B30" + "OwnerKey" = "8:_E0E145E0B464F51A66C25ABBABC52B7D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_D1E9D2FA126C6929E2B4AD4D3D6B2B30" + "OwnerKey" = "8:_1239E87E938248B1BAF9BF75C32D3EDC" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_E0E145E0B464F51A66C25ABBABC52B7D" + "OwnerKey" = "8:_05F59A142DD147798C90054A203C0EE9" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_E0E145E0B464F51A66C25ABBABC52B7D" + "OwnerKey" = "8:_1239E87E938248B1BAF9BF75C32D3EDC" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_UNDEFINED" "OwnerKey" = "8:_1239E87E938248B1BAF9BF75C32D3EDC" "MsmSig" = "8:_UNDEFINED" @@ -88,21 +88,21 @@ "Entry" { "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_D1E9D2FA126C6929E2B4AD4D3D6B2B30" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_E0E145E0B464F51A66C25ABBABC52B7D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" "OwnerKey" = "8:_05F59A142DD147798C90054A203C0EE9" "MsmSig" = "8:_UNDEFINED" } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_8358EC0621F48BC59677CAE4E2FA8FC3" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_B0491B1356193E1DEAF528DAD55FD861" - "MsmSig" = "8:_UNDEFINED" - } } "Configurations" { @@ -153,7 +153,7 @@ "DisplayName" = "8:Release" "IsDebugOnly" = "11:FALSE" "IsReleaseOnly" = "11:TRUE" - "OutputFilename" = "8:..\\..\\..\\WebsitePanel\\Deploy\\Release\\WebsitePanelInstaller121.msi" + "OutputFilename" = "8:..\\..\\..\\WebsitePanel\\Deploy\\Release\\WebsitePanelInstaller122.msi" "PackageFilesAs" = "3:2" "PackageFileSize" = "3:-2147483648" "CabType" = "3:1" @@ -177,6 +177,11 @@ "Name" = "8:Microsoft .NET Framework 4 (x86 and x64)" "ProductCode" = "8:.NETFramework,Version=v4.0" } + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.4.5" + { + "Name" = "8:Windows Installer 4.5" + "ProductCode" = "8:Microsoft.Windows.Installer.4.5" + } } } } @@ -268,16 +273,10 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_8358EC0621F48BC59677CAE4E2FA8FC3" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BD9DC4338DFD4472BE5D099C388608B6" { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:WebsitePanel.Installer.Core, Version=1.2.1.0, Culture=neutral, processorArchitecture=MSIL" - "ScatterAssemblies" - { - } - "SourcePath" = "8:WebsitePanel.Installer.Core.dll" - "TargetName" = "8:" + "SourcePath" = "8:Banner.bmp" + "TargetName" = "8:Banner.bmp" "Tag" = "8:" "Folder" = "8:_E742E59BFE4D43C59AA65A07792B89FB" "Condition" = "8:" @@ -290,22 +289,17 @@ "SharedLegacy" = "11:FALSE" "PackageAs" = "3:1" "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" + "Exclude" = "11:TRUE" + "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B0491B1356193E1DEAF528DAD55FD861" + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D1E9D2FA126C6929E2B4AD4D3D6B2B30" { "AssemblyRegister" = "3:1" "AssemblyIsInGAC" = "11:FALSE" "AssemblyAsmDisplayName" = "8:Ionic.Zip.Reduced, Version=1.8.4.28, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL" "ScatterAssemblies" { - "_B0491B1356193E1DEAF528DAD55FD861" - { - "Name" = "8:Ionic.Zip.Reduced.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Ionic.Zip.Reduced.dll" "TargetName" = "8:" @@ -325,10 +319,16 @@ "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BD9DC4338DFD4472BE5D099C388608B6" + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E0E145E0B464F51A66C25ABBABC52B7D" { - "SourcePath" = "8:Banner.bmp" - "TargetName" = "8:Banner.bmp" + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:WebsitePanel.Installer.Core, Version=1.2.2.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + } + "SourcePath" = "8:WebsitePanel.Installer.Core.dll" + "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_E742E59BFE4D43C59AA65A07792B89FB" "Condition" = "8:" @@ -341,8 +341,8 @@ "SharedLegacy" = "11:FALSE" "PackageAs" = "3:1" "Register" = "3:1" - "Exclude" = "11:TRUE" - "IsDependency" = "11:FALSE" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } } @@ -412,19 +412,19 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:WebsitePanel Installer" - "ProductCode" = "8:{A22F374C-4AFC-4B5D-A509-7456A6107588}" - "PackageCode" = "8:{62AE518E-85D1-4D7E-9642-660FB1794974}" + "ProductCode" = "8:{A09C3303-E60E-4A3E-B0F9-96CEE379FFF7}" + "PackageCode" = "8:{C49F3454-E18F-4146-A97C-7951FBB6C9B3}" "UpgradeCode" = "8:{2950A907-11E7-436C-86CE-049C414AFD08}" "AspNetVersion" = "8:4.0.30319.0" "RestartWWWService" = "11:FALSE" - "RemovePreviousVersions" = "11:FALSE" + "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:FALSE" "InstallAllUsers" = "11:TRUE" - "ProductVersion" = "8:1.2.1" + "ProductVersion" = "8:1.2.2" "Manufacturer" = "8:Outercurve Foundation" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:" - "Title" = "8:WebsitePanel Installer" + "Title" = "8:WebsitePanel Installer (Beta)" "Subject" = "8:" "ARPCONTACT" = "8:Outercurve Foundation" "Keywords" = "8:" @@ -972,7 +972,7 @@ { "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_05F59A142DD147798C90054A203C0EE9" { - "SourcePath" = "8:..\\WebsitePanel.Installer\\obj\\Debug\\WebsitePanel.Installer.exe" + "SourcePath" = "8:..\\WebsitePanel.Installer\\obj\\Release\\WebsitePanel.Installer.exe" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_E742E59BFE4D43C59AA65A07792B89FB" @@ -1000,7 +1000,7 @@ } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_1239E87E938248B1BAF9BF75C32D3EDC" { - "SourcePath" = "8:..\\WebsitePanel.SilentInstaller\\obj\\x86\\Debug\\WebsitePanel.SilentInstaller.exe" + "SourcePath" = "8:..\\WebsitePanel.SilentInstaller\\obj\\x86\\Release\\WebsitePanel.SilentInstaller.exe" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_E742E59BFE4D43C59AA65A07792B89FB" diff --git a/WebsitePanel.Installer/Sources/Setup/WebsitePanel Help.url b/WebsitePanel.Installer/Sources/Setup/WebsitePanel Help.url index a2e9a73d..4247fa7b 100644 --- a/WebsitePanel.Installer/Sources/Setup/WebsitePanel Help.url +++ b/WebsitePanel.Installer/Sources/Setup/WebsitePanel Help.url @@ -1,7 +1,7 @@ [DEFAULT] -BASEURL=http://help.websitepanel.net/ +BASEURL=http://www.websitepanel.net/ [InternetShortcut] -URL=http://help.websitepanel.net/ +URL=http://www.websitepanel.net/ IDList= [{000214A0-0000-0000-C000-000000000046}] Prop3=19,2 diff --git a/WebsitePanel.Installer/Sources/VersionInfo.cs b/WebsitePanel.Installer/Sources/VersionInfo.cs index f939546f..f829f4b5 100644 --- a/WebsitePanel.Installer/Sources/VersionInfo.cs +++ b/WebsitePanel.Installer/Sources/VersionInfo.cs @@ -36,6 +36,6 @@ using System.Reflection; // [assembly: AssemblyCompany("Outercurve Foundation")] [assembly: AssemblyCopyright("Copyright © 2012 Outercurve Foundation.")] -[assembly: AssemblyVersion("1.2.1.0")] -[assembly: AssemblyFileVersion("1.2.1.0")] -[assembly: AssemblyInformationalVersion("1.2.1")] \ No newline at end of file +[assembly: AssemblyVersion("1.2.2.0")] +[assembly: AssemblyFileVersion("1.2.2.1")] +[assembly: AssemblyInformationalVersion("1.2.2")] \ No newline at end of file diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Installer.Core/Properties/Settings.Designer.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Installer.Core/Properties/Settings.Designer.cs index 77d00e5e..26d7262a 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Installer.Core/Properties/Settings.Designer.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Installer.Core/Properties/Settings.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.269 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Installer/ApplicationForm.Designer.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Installer/ApplicationForm.Designer.cs index 1eba1298..a6ed5690 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Installer/ApplicationForm.Designer.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Installer/ApplicationForm.Designer.cs @@ -28,198 +28,200 @@ namespace WebsitePanel.Installer /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ApplicationForm)); - this.statusBar = new System.Windows.Forms.StatusStrip(); - this.statusBarLabel = new System.Windows.Forms.ToolStripStatusLabel(); - this.splitContainer = new System.Windows.Forms.SplitContainer(); - this.scopeTree = new System.Windows.Forms.TreeView(); - this.smallImages = new System.Windows.Forms.ImageList(this.components); - this.pnlRight = new System.Windows.Forms.Panel(); - this.pnlResultView = new System.Windows.Forms.Panel(); - this.pnlDescription = new System.Windows.Forms.Panel(); - this.lblResultViewPath = new System.Windows.Forms.Label(); - this.lblResultViewTitle = new System.Windows.Forms.Label(); - this.pictureBox = new System.Windows.Forms.PictureBox(); - this.backgroundWorker = new System.ComponentModel.BackgroundWorker(); - this.lineBox2 = new WebsitePanel.Installer.LineBox(); - this.topLogoControl = new WebsitePanel.Installer.TopLogoControl(); - this.statusBar.SuspendLayout(); - this.splitContainer.Panel1.SuspendLayout(); - this.splitContainer.Panel2.SuspendLayout(); - this.splitContainer.SuspendLayout(); - this.pnlRight.SuspendLayout(); - this.pnlDescription.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit(); - this.SuspendLayout(); - // - // statusBar - // - this.statusBar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Visible; - this.statusBar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ApplicationForm)); + this.statusBar = new System.Windows.Forms.StatusStrip(); + this.statusBarLabel = new System.Windows.Forms.ToolStripStatusLabel(); + this.splitContainer = new System.Windows.Forms.SplitContainer(); + this.scopeTree = new System.Windows.Forms.TreeView(); + this.smallImages = new System.Windows.Forms.ImageList(this.components); + this.pnlRight = new System.Windows.Forms.Panel(); + this.pnlResultView = new System.Windows.Forms.Panel(); + this.pnlDescription = new System.Windows.Forms.Panel(); + this.lineBox2 = new WebsitePanel.Installer.LineBox(); + this.lblResultViewPath = new System.Windows.Forms.Label(); + this.lblResultViewTitle = new System.Windows.Forms.Label(); + this.pictureBox = new System.Windows.Forms.PictureBox(); + this.backgroundWorker = new System.ComponentModel.BackgroundWorker(); + this.topLogoControl = new WebsitePanel.Installer.TopLogoControl(); + this.statusBar.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit(); + this.splitContainer.Panel1.SuspendLayout(); + this.splitContainer.Panel2.SuspendLayout(); + this.splitContainer.SuspendLayout(); + this.pnlRight.SuspendLayout(); + this.pnlDescription.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit(); + this.SuspendLayout(); + // + // statusBar + // + this.statusBar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Visible; + this.statusBar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.statusBarLabel}); - this.statusBar.Location = new System.Drawing.Point(0, 431); - this.statusBar.Name = "statusBar"; - this.statusBar.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional; - this.statusBar.Size = new System.Drawing.Size(632, 22); - this.statusBar.TabIndex = 1; - // - // statusBarLabel - // - this.statusBarLabel.Name = "statusBarLabel"; - this.statusBarLabel.Size = new System.Drawing.Size(39, 17); - this.statusBarLabel.Text = "Ready"; - // - // splitContainer - // - this.splitContainer.BackColor = System.Drawing.SystemColors.Control; - this.splitContainer.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer.Location = new System.Drawing.Point(0, 63); - this.splitContainer.Name = "splitContainer"; - // - // splitContainer.Panel1 - // - this.splitContainer.Panel1.Controls.Add(this.scopeTree); - this.splitContainer.Panel1.Padding = new System.Windows.Forms.Padding(0, 1, 0, 0); - // - // splitContainer.Panel2 - // - this.splitContainer.Panel2.Controls.Add(this.pnlRight); - this.splitContainer.Panel2.Padding = new System.Windows.Forms.Padding(0, 1, 0, 0); - this.splitContainer.Size = new System.Drawing.Size(632, 368); - this.splitContainer.SplitterDistance = 250; - this.splitContainer.SplitterWidth = 2; - this.splitContainer.TabIndex = 2; - // - // scopeTree - // - this.scopeTree.Dock = System.Windows.Forms.DockStyle.Fill; - this.scopeTree.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); - this.scopeTree.HideSelection = false; - this.scopeTree.ImageIndex = 0; - this.scopeTree.ImageList = this.smallImages; - this.scopeTree.ItemHeight = 19; - this.scopeTree.Location = new System.Drawing.Point(0, 1); - this.scopeTree.Name = "scopeTree"; - this.scopeTree.SelectedImageIndex = 0; - this.scopeTree.ShowLines = false; - this.scopeTree.Size = new System.Drawing.Size(250, 367); - this.scopeTree.TabIndex = 0; - this.scopeTree.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.OnScopeTreeBeforeExpand); - this.scopeTree.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.OnScopeTreeAfterSelect); - // - // smallImages - // - this.smallImages.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit; - this.smallImages.ImageSize = new System.Drawing.Size(16, 16); - this.smallImages.TransparentColor = System.Drawing.Color.Transparent; - // - // pnlRight - // - this.pnlRight.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; - this.pnlRight.Controls.Add(this.pnlResultView); - this.pnlRight.Controls.Add(this.pnlDescription); - this.pnlRight.Dock = System.Windows.Forms.DockStyle.Fill; - this.pnlRight.Location = new System.Drawing.Point(0, 1); - this.pnlRight.Name = "pnlRight"; - this.pnlRight.Size = new System.Drawing.Size(380, 367); - this.pnlRight.TabIndex = 0; - // - // pnlResultView - // - this.pnlResultView.Dock = System.Windows.Forms.DockStyle.Fill; - this.pnlResultView.Location = new System.Drawing.Point(0, 63); - this.pnlResultView.Name = "pnlResultView"; - this.pnlResultView.Size = new System.Drawing.Size(376, 300); - this.pnlResultView.TabIndex = 14; - // - // pnlDescription - // - this.pnlDescription.Controls.Add(this.lineBox2); - this.pnlDescription.Controls.Add(this.lblResultViewPath); - this.pnlDescription.Controls.Add(this.lblResultViewTitle); - this.pnlDescription.Controls.Add(this.pictureBox); - this.pnlDescription.Dock = System.Windows.Forms.DockStyle.Top; - this.pnlDescription.Location = new System.Drawing.Point(0, 0); - this.pnlDescription.Name = "pnlDescription"; - this.pnlDescription.Size = new System.Drawing.Size(376, 63); - this.pnlDescription.TabIndex = 13; - // - // lblResultViewPath - // - this.lblResultViewPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.lblResultViewPath.AutoEllipsis = true; - this.lblResultViewPath.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); - this.lblResultViewPath.Location = new System.Drawing.Point(47, 28); - this.lblResultViewPath.Name = "lblResultViewPath"; - this.lblResultViewPath.Size = new System.Drawing.Size(251, 21); - this.lblResultViewPath.TabIndex = 15; - this.lblResultViewPath.Text = "Path"; - // - // lblResultViewTitle - // - this.lblResultViewTitle.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.lblResultViewTitle.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); - this.lblResultViewTitle.Location = new System.Drawing.Point(47, 8); - this.lblResultViewTitle.Name = "lblResultViewTitle"; - this.lblResultViewTitle.Size = new System.Drawing.Size(318, 20); - this.lblResultViewTitle.TabIndex = 14; - this.lblResultViewTitle.Text = "Title"; - // - // pictureBox - // - this.pictureBox.Location = new System.Drawing.Point(9, 8); - this.pictureBox.Name = "pictureBox"; - this.pictureBox.Size = new System.Drawing.Size(32, 32); - this.pictureBox.TabIndex = 13; - this.pictureBox.TabStop = false; - // - // lineBox2 - // - this.lineBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.lineBox2.Location = new System.Drawing.Point(6, 51); - this.lineBox2.Name = "lineBox2"; - this.lineBox2.Size = new System.Drawing.Size(366, 2); - this.lineBox2.TabIndex = 16; - this.lineBox2.TabStop = false; - this.lineBox2.Text = "lineBox2"; - // - // topLogoControl - // - this.topLogoControl.BackColor = System.Drawing.Color.White; - this.topLogoControl.Dock = System.Windows.Forms.DockStyle.Top; - this.topLogoControl.Location = new System.Drawing.Point(0, 0); - this.topLogoControl.Name = "topLogoControl"; - this.topLogoControl.Size = new System.Drawing.Size(632, 63); - this.topLogoControl.TabIndex = 3; - // - // ApplicationForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(632, 453); - this.Controls.Add(this.splitContainer); - this.Controls.Add(this.statusBar); - this.Controls.Add(this.topLogoControl); - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MinimumSize = new System.Drawing.Size(640, 480); - this.Name = "ApplicationForm"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "WebsitePanel Installer"; - this.Shown += new System.EventHandler(this.OnApplicationFormShown); - this.statusBar.ResumeLayout(false); - this.statusBar.PerformLayout(); - this.splitContainer.Panel1.ResumeLayout(false); - this.splitContainer.Panel2.ResumeLayout(false); - this.splitContainer.ResumeLayout(false); - this.pnlRight.ResumeLayout(false); - this.pnlDescription.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); + this.statusBar.Location = new System.Drawing.Point(0, 431); + this.statusBar.Name = "statusBar"; + this.statusBar.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional; + this.statusBar.Size = new System.Drawing.Size(632, 22); + this.statusBar.TabIndex = 1; + // + // statusBarLabel + // + this.statusBarLabel.Name = "statusBarLabel"; + this.statusBarLabel.Size = new System.Drawing.Size(39, 17); + this.statusBarLabel.Text = "Ready"; + // + // splitContainer + // + this.splitContainer.BackColor = System.Drawing.SystemColors.Control; + this.splitContainer.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer.Location = new System.Drawing.Point(0, 63); + this.splitContainer.Name = "splitContainer"; + // + // splitContainer.Panel1 + // + this.splitContainer.Panel1.Controls.Add(this.scopeTree); + this.splitContainer.Panel1.Padding = new System.Windows.Forms.Padding(0, 1, 0, 0); + // + // splitContainer.Panel2 + // + this.splitContainer.Panel2.Controls.Add(this.pnlRight); + this.splitContainer.Panel2.Padding = new System.Windows.Forms.Padding(0, 1, 0, 0); + this.splitContainer.Size = new System.Drawing.Size(632, 368); + this.splitContainer.SplitterDistance = 250; + this.splitContainer.SplitterWidth = 2; + this.splitContainer.TabIndex = 2; + // + // scopeTree + // + this.scopeTree.Dock = System.Windows.Forms.DockStyle.Fill; + this.scopeTree.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.scopeTree.HideSelection = false; + this.scopeTree.ImageIndex = 0; + this.scopeTree.ImageList = this.smallImages; + this.scopeTree.ItemHeight = 19; + this.scopeTree.Location = new System.Drawing.Point(0, 1); + this.scopeTree.Name = "scopeTree"; + this.scopeTree.SelectedImageIndex = 0; + this.scopeTree.ShowLines = false; + this.scopeTree.Size = new System.Drawing.Size(250, 367); + this.scopeTree.TabIndex = 0; + this.scopeTree.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.OnScopeTreeBeforeExpand); + this.scopeTree.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.OnScopeTreeAfterSelect); + // + // smallImages + // + this.smallImages.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit; + this.smallImages.ImageSize = new System.Drawing.Size(16, 16); + this.smallImages.TransparentColor = System.Drawing.Color.Transparent; + // + // pnlRight + // + this.pnlRight.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.pnlRight.Controls.Add(this.pnlResultView); + this.pnlRight.Controls.Add(this.pnlDescription); + this.pnlRight.Dock = System.Windows.Forms.DockStyle.Fill; + this.pnlRight.Location = new System.Drawing.Point(0, 1); + this.pnlRight.Name = "pnlRight"; + this.pnlRight.Size = new System.Drawing.Size(380, 367); + this.pnlRight.TabIndex = 0; + // + // pnlResultView + // + this.pnlResultView.Dock = System.Windows.Forms.DockStyle.Fill; + this.pnlResultView.Location = new System.Drawing.Point(0, 63); + this.pnlResultView.Name = "pnlResultView"; + this.pnlResultView.Size = new System.Drawing.Size(376, 300); + this.pnlResultView.TabIndex = 14; + // + // pnlDescription + // + this.pnlDescription.Controls.Add(this.lineBox2); + this.pnlDescription.Controls.Add(this.lblResultViewPath); + this.pnlDescription.Controls.Add(this.lblResultViewTitle); + this.pnlDescription.Controls.Add(this.pictureBox); + this.pnlDescription.Dock = System.Windows.Forms.DockStyle.Top; + this.pnlDescription.Location = new System.Drawing.Point(0, 0); + this.pnlDescription.Name = "pnlDescription"; + this.pnlDescription.Size = new System.Drawing.Size(376, 63); + this.pnlDescription.TabIndex = 13; + // + // lineBox2 + // + this.lineBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lineBox2.Location = new System.Drawing.Point(6, 51); + this.lineBox2.Name = "lineBox2"; + this.lineBox2.Size = new System.Drawing.Size(366, 2); + this.lineBox2.TabIndex = 16; + this.lineBox2.TabStop = false; + this.lineBox2.Text = "lineBox2"; + // + // lblResultViewPath + // + this.lblResultViewPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblResultViewPath.AutoEllipsis = true; + this.lblResultViewPath.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.lblResultViewPath.Location = new System.Drawing.Point(47, 28); + this.lblResultViewPath.Name = "lblResultViewPath"; + this.lblResultViewPath.Size = new System.Drawing.Size(251, 21); + this.lblResultViewPath.TabIndex = 15; + this.lblResultViewPath.Text = "Path"; + // + // lblResultViewTitle + // + this.lblResultViewTitle.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblResultViewTitle.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.lblResultViewTitle.Location = new System.Drawing.Point(47, 8); + this.lblResultViewTitle.Name = "lblResultViewTitle"; + this.lblResultViewTitle.Size = new System.Drawing.Size(318, 20); + this.lblResultViewTitle.TabIndex = 14; + this.lblResultViewTitle.Text = "Title"; + // + // pictureBox + // + this.pictureBox.Location = new System.Drawing.Point(9, 8); + this.pictureBox.Name = "pictureBox"; + this.pictureBox.Size = new System.Drawing.Size(32, 32); + this.pictureBox.TabIndex = 13; + this.pictureBox.TabStop = false; + // + // topLogoControl + // + this.topLogoControl.BackColor = System.Drawing.Color.White; + this.topLogoControl.Dock = System.Windows.Forms.DockStyle.Top; + this.topLogoControl.Location = new System.Drawing.Point(0, 0); + this.topLogoControl.Name = "topLogoControl"; + this.topLogoControl.Size = new System.Drawing.Size(632, 63); + this.topLogoControl.TabIndex = 3; + // + // ApplicationForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(632, 453); + this.Controls.Add(this.splitContainer); + this.Controls.Add(this.statusBar); + this.Controls.Add(this.topLogoControl); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MinimumSize = new System.Drawing.Size(640, 480); + this.Name = "ApplicationForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "WebsitePanel Installer (Beta)"; + this.Shown += new System.EventHandler(this.OnApplicationFormShown); + this.statusBar.ResumeLayout(false); + this.statusBar.PerformLayout(); + this.splitContainer.Panel1.ResumeLayout(false); + this.splitContainer.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).EndInit(); + this.splitContainer.ResumeLayout(false); + this.pnlRight.ResumeLayout(false); + this.pnlDescription.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); } diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Installer/ApplicationForm.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Installer/ApplicationForm.cs index 38c72590..32e08c87 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Installer/ApplicationForm.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Installer/ApplicationForm.cs @@ -339,7 +339,7 @@ namespace WebsitePanel.Installer internal void ShowError() { ShowError("An unexpected error has occurred. We apologize for this inconvenience.\n" + - "Please contact Technical Support at support@websitepanel.net.\n\n" + + "Please contact Technical Support at info@websitepanel.net.\n\n" + "Make sure you include a copy of the Installer.log file from the\n" + "WebsitePanel Installer home directory."); } diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Installer/ApplicationForm.resx b/WebsitePanel.Installer/Sources/WebsitePanel.Installer/ApplicationForm.resx index 37d70fbb..58da9be2 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Installer/ApplicationForm.resx +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Installer/ApplicationForm.resx @@ -112,21 +112,21 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 17, 17 - + 115, 17 - + 229, 17 - + AAABAAoAAAAAAAEACADKTwAApgAAADAwAAABAAgAqA4AAHBQAAAgIAAAAQAIAKgIAAAYXwAAGBgAAAEA diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Installer/Program.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Installer/Program.cs index a0bb0800..7e56801c 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Installer/Program.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Installer/Program.cs @@ -148,7 +148,7 @@ namespace WebsitePanel.Installer { Log.WriteError("Fatal error occured.", e.Exception); string message = "A fatal error has occurred. We apologize for this inconvenience.\n" + - "Please contact Technical Support at support@websitepanel.net.\n\n" + + "Please contact Technical Support at info@websitepanel.net.\n\n" + "Make sure you include a copy of the Installer.log file from the\n" + "WebsitePanel Installer home directory."; MessageBox.Show(message, "WebsitePanel Installer", MessageBoxButtons.OK, MessageBoxIcon.Error); @@ -162,7 +162,7 @@ namespace WebsitePanel.Installer { Log.WriteError("Fatal error occured.", (Exception)e.ExceptionObject); string message = "A fatal error has occurred. We apologize for this inconvenience.\n" + - "Please contact Technical Support at support@websitepanel.net.\n\n" + + "Please contact Technical Support at info@websitepanel.net.\n\n" + "Make sure you include a copy of the Installer.log file from the\n" + "WebsitePanel Installer home directory."; MessageBox.Show(message, "WebsitePanel Installer", MessageBoxButtons.OK, MessageBoxIcon.Error); diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Installer/Updater.exe b/WebsitePanel.Installer/Sources/WebsitePanel.Installer/Updater.exe index 9105eeef3bb49c3a4d2c266c1f99c21cb48f39cf..310afe242adc8e9a49f1a5f37820095dcaa6ca8f 100644 GIT binary patch delta 44894 zcma&P34BvU_dY%|Ns}~PXu4%-(xjz@Pzsc_Eo+g*A|N1JD_aW`C<3WzK~|Fj;#L&6 z$VEj(MFmAg3xYc;Dlek4sfeKHiwKH}S``%V|IE3!q4?_e_pcwGJI^_1&YU^3+_^Vt z4cEnn>ta{jX2{#{{Bw8S&aKxlW*YhoXH{Ia-O6)9NqJUQ$h05f=ZslJ5Lo3mz)%Rk zz{T$b6gGpAu=}H=Jav(gF=LLfYgcGE1nFdM&G}rbXVvPZ%X$l>eb*#eG?2KfS(a0; zk?mL^gWj402XJrA=?MYJb^l3u2G&Y8!kA4gfQiv+iZL7fCK%ViP{fLbQOcLGUJt^( z!ou=D7BGheYBu!&m(qtxDUI`b5Xu!6p8GLA{HPC#;%Dnd*YG_gJP<- zqRt{IZt6)hH27nn%wb7+%~*HTK^%w+@rR6sdEkZ`NVru?sxSp&VQmV;5u#0$(So%a zV`vH>UQ>=7=cGIn>xjyT6~RA`;GGma;x;^DvK#BrCV#}_h|&wxsTealg&@jpSjN#=DV#??pl;ZzCt!WP8je5_ufVJKuF8G&YUl_Wg_fqul zz0Z=p&uH3v5QbEt_j}QMdz0Qr`uZ637(f6r)uvzl0xXaO*pDOq&B1)?y3x6QK0W$AUf8#F65#{ zifqE|sP_Gfv9v|&m_)SYW$IViW{w<#=CS}kjS;Rg6o!yT?4roGu@JLZF9xz;i3-_z zg`~VO>@JyXX;Iw*(nS~=qo~FZTNhzeQ1r_pyrI}i7BL7$u|S#y(56-R2{l1$DOe!u zg#x)$COb_meKe7JW4+PUZD15=8?g+Y!yE{-i*VmgYyjSpYOFnLpnXK_3Ur8+Qv=vp z^hUi2Ucc@V%S9Ikt+;vVK4oOS_0p%ksZS}k2RcQn*aMxLl(n{G^ziR!8nToHGcUWB z+_zS`PY5;jFXgFv%rbqxT4__&)Rhzm3og5o+&l2fFr_T5iJRacY2SrHl{$MMKT-~1 zugCsvsxE*ifE%_|VA|{~0u1e4-4)#5O$zOPSXqVdQ$*xjjcGt}`+G>CUmG{+S{pZA zKx0b7>-6`OhN=Eu+NDTdg4ZLgke@~|)!$o+?Eb4rgOh?DFv5eesk#s3{=QO4GblCC zPnJ{t@}jSj#lqhoEY*LtRQb^tlW_QpiJ%X3o4ZTi+Yq#=8henn`WkGP)5BQyqN|6Zm}IgU zHJRK;ZD6*j>S0g>u9E>#Rhua=9K=6D+MCU^4<%WI#b%~1g^Y4&Oj`H6lbiN07Xj(B zrb*vzW}8K`mVRCM1Fr}A z#{dd(+hV%dk2Pj$f$5-)o*a#1*mYP^j4ejWOocdUuwxh)W{U}og}R0C_fZB!H4kCu z=4p9mCg&(7pe=Q}o(O}yo8WYpI=yHDbis*;$xuBGb?0lDGMFlT$TbTfnWk7v*H~$_ z?y{B9BIl~fWVx$ydWkj4 zFgr`f*rq70Olc(u!x|SI7|5BaE3_EkKrzZCR!g7^sy4@t$&^?Mafo0R+LDiw#7q*i zCW%T7l*2d*V>eM=F-4ViCLf=mylN`w7YPp2fP6lGtQox7Ooh0CdS(GM=(q$NP zmSnM6{KZOF^Bt7eKZJi0+OT(%Q&3wmg>qQ*#WNW?{U$<-sRCSAO+ir}7Gv3B*kk$F zf+u8VgQtN0sn8~H|1?~z_Lu@p6r}G_Y*IYdVhB`1To}S+V<6K(0yhBSqJw8pSJV2S z)cFi)Etf;IJ({c?rGc4bpJTR{#F$NYRd#rkP8|BSag8vDz${p#dK3HsTwBOM%?w>& z*wSplvuMT|5~jaf>33VKPkFC5GHkH2lI>>P>W#_%D##0ckOhA+u&RBSO~QX8WPu={ zx*A|Lg{3Lk>%q8g#?2ZBk#rHJf;=tBWIM4;Y{FWADa=f>v4L?qD%o>Pfg1AE=Cq)7 z5MvHrZA4mTLkgdbk53fj_5L}KruuIJ%B|hxpDV5EAF?fta_QZOV_04+7p+y_45if+ zRFod}bpDVs)}F@4Ds%0-`J+m2NB@Cx)dfO;;6t)OSrQAdoQ!q2cL@J(`2V|lA!fWW zxDDq1rH!>)m;z&!1CCO7&2_#C{MK2{k12y(Z9~X_wGeX!k9NWDWTm?xScDm9EReGo zCp=je!C#>h3uM`UH!OnZ!Gq=~1hqoajwl6tMCfoyOCxlGq!kf58zq{Li^`Sru6B-j zQls@vHb6xRxhU->^X;w5bH zyRKLNrt$hFczwF=er1R|19`vEz0me3>@0N{8SYnQm)=({xm*8(w5#Wzq;ouN{=s&u zr_(=3&wJYP>54x+i+`#NPEU7S9$Wu2jUy`iU%w>%Zq9#Fl6={rXj3FdSjon&R`fj> z2Vp^s9Hs?QNR#vL^I-wD1!J8LHvg#hzknA1?u~>^%%LvH+}b*NJU!SN?5n=`tEs6+R|BBe;~u0c7#f<`BSxt7a42Tz;9G(^8a5|cgHDpGa? zJ4VXRVDCsdCN;L8Ih>g-v}skZgZsE>VYb*yNDz1cf&^x9l*B6KnH4-=c{ejVG!XSu z{Tral4h~1zu9wH4?9j_HwNAZkN7<#9%TZ3#%QI1S>*aYUd-U=xD5vXX1!ZrvP9BiN znyIsAC5zF?i;~3ZWVy1u`9jP+MgC8odWOvAuJEZ1MPWFvpk7b~pMYxd} zZMJ>1wKUqu>?-LkiZs8SQ>P~-Hu0U5WJ?O%0|&vc(WwC47qSq(Eh!a>=}_2lXHcGQ zk?ubIF9!0~p?m{_A0q}h>i*qBM$2sXFaKgd9x_@wl?5$h-RC1lcvSdbFR99lEmPeW z|HVl6l&Wxl3MP=%56z1NGQ_^#}&g3$fwE6tXvz79BZeB>=;E^PG zC&6PE&Xh6cLg}a=0bouwM`jW=L#G;=Yi<5(2rLyiNEQr&p(TJ@pEb@{m7A5rF&=^ngUCC6OZn)0Hjl3i%Dn zx9x7`DN1Et4)-Xl^Lp~w`h$6e#?iN0u$R(XH~EN?YSCUa+N}2I#*)LPzlO9~oi_bN zq|NHGnHmk!Z05$I|9x~YDJJ+?{iM!r?&=tg4cS}nKZ=|N2Y}E@!b_n{<=!qHzFgVf z<#|3_nVz2>y$ITPBU(~c<`1*|ByEquR~XxtG5A-s@=N|so~~>yc%D0zsfEpfcNSja zG4*$J-OYKnGQ9gdK2mwVdpG`s65Zov({?Me{gaZ>%T<4($4=o&!acM4JRHt9ruLF& zsi@TM@?IUxP`>D$!mm~i72VEnQpWe5`u{S0OZm0;I)t+7sy4u#S4{!7?32#DO8-80 zX3!Lo@B9qR2lo>(Nvh*9_pPEUH5aY?+~*n|t@P+SkPlF9@0$tS+;>RZ+E|SE!xHRq zh;%I?t-cjmn{UMXv7Rm&DVel^Hh7EjbU%mEyI;???s(Ad5_SOou^O4|l_s*rK*6C22m#xwX+B=jmQkk{Y=fx@2ayRwef&u!JaiQL`^nH1yk40$ zEQ2R0cMSVRY)n)thxx>X#QJ-#Ysm!$`?cX7c{w(`m=94}jL46>0gd2fPGMCl(?|GY zE;sv-^1z7svDl%klw#peQ<{$~v1?tBQaVs)Qz*gPl~p6N#Kk0K$H<~gd$K$U$*oB& zz{EAy#Uc^HzYv1J*Qi++tGGs8Mv6;0j<`{kHKwIln%hFpp;`L(B4crgB?ZJD#TOC@beS z#Z|r|G|z!&hXOpiuwaOaOJ(s^D$bL|yQzqWR2F=gig*@b!Fno|$l`}o94w39QSmBS z)I8vH#ez5#qX~KU2|B5WQxyxgqM}JoiC}wW^u!zlw0Po(Ye$ouJWrw`dA^Z~#}YzbQptelk&x1F6DYnQ}baD+@Sn6c~p92S{D{V7d2Fy4zgL4-OBWe{!L5-#PZXE;Nmol{38-} z)_+jZp4$(htnJz&K=WN+{i##m5&G&^zN&25xDhm)evct`svAK!ZWCK(x(yv)ha_HG zHuRWQjb}d7e0-MqHl|mUr<(`u2h%*PDyj}c$)&0CS5;xs28hIhC*>TB$OqooGJae- z=K5t(_{M9*rF3QQjaBiTyjM86CYWtG2oZU_DOhL;`gF1bBrZcI=YvGi`GY%=mhv;+WwGED)J>Vy z6Wa?5&OvL{KS4a-V2e(7(MLUE!E66!;Z1;vl5&4h4#g3vV!+u%s|+{Z*v29WmC*ej zwEw{U9|C8t>x_r=N7psy_bKnL^ZDg{p^(mI2BUu)I-R4Rl^bRIr7YN>G<#qVzgF4# zaIRu{(3d#@)nbI%@5F&tKO25aCsGr=io|O~W!-}grR+g}av4n9{I9YKyJ*})Ej9I< z$NC`|m+KZkl%*+7lGA8%8V#r6he|ZXslT;$=Ak9nN2}H+r_f2?Dkl_rv=h;{K=}3d zu5ZC9{x3|^{g|msmB${rD~67_v?r}odOq43`|DLe(q)gk8;gB=giktag@)~bU?IE8BjKSr~!yD${;llCQ zK%QSe`LVpFckpeGzl=6-d}3jYjJm75YXz@U&OI@YZ&ZRCyYqF*vm1katCG3thGd!Y zSmBqC5OD=9VHq8mpgg=OsW)}P0)fqF32a1%qXT8IZL|N%+(C5ItZ6ooCi2!;`E}FP z$?{~jC=Rzqd4frj*Wgde&?lRdLVl=hL&Nm`+8X>y32gRYRXp~j_h0Mb1bX2~C;v*h zv^hN*lZneWmm`#ipR)g7RqCF~{lC;_pX&6lYEsBC|A#=AZ~pf{(`3&Z>xn4;FUVk| zp9miP^gNx8j&y(8hw`|mdtjp7|MUQpD+lu^tbF_Q^`Xm;OR>lP%jKNVw!_9p6tnh# z*VOD4m}%m_*&4KGJ$VQ>#~!=qvf1TZ+l0RfL!EH^3G@KOMPFHc^gjd>eMJMEVG;e$ zA)MDjz+})PHQ2RJ+4b1|fS!8Vy~)#<)~72C4@gIpg1#ps&qZ;QJfGr>-tGB*(AGYmjzi=6=iMn=H-RE2IdIWh1_SFiG;3%!&43=pH zS8#^X;nj}j`Jkw&%y`w4@(#-MR{jxNltcR<3dfTNU-e|gVl_h;z^BO8=s*$Hi}snL z+(?DL0X+DF^2MuF@_74NNB8Ai_{j2Dn7KPbPy;o+%D%A4}|-TBS=F;}&Pa;${a%1dwN zActSS*$KO<>#YU+4Xdo6!US@X_F zn`~EmN(xZtK2a{b5jdi@d3SJX8%P7!f)`LWvw<|l| z9gZ_i?Cw4?GrNoa!STbp=kR+J$A7x;AC)2h>5(|5ed9Sa@&Nkaf97-SK+gBt!b|ac zx#+=c;7`gU?`8FqH;JSuj17H;NH>KjOJEj;1c#Y2DBB#-KJUBy>IOpXQ^d=6*_geB z@Y-*04&M1!?M*Xv?0`TS49x3-=BtLUVQ&5V9^Ki zF=*TekJ#vBA&vBy;w#P~F zwu5GYW8;dC)@8_Jl3axHvpIa(PkSCs_0Pr4On&(<_^dMc<4N)@ww1niXh^_Up*pjw z1YUqOiKuDL$^DLMCgA&qr;*G;snn{gmn-!?G7NK0IntL8QVt)kRDwSt(zotpDr-8~_4Gi}@|ej-y_FOa0-aMma#oj;--}<(SM7et8uO@P5Ily_s0h zMfTRKtonR3k5Rt;Jexb~6TYZP%la6}tu8d+*(u&=?#annxJ_dYInZWU@PU-bmmnM8?efY0yni{ybeZ+6(Az4Fy&T~h><81=A$_kd-pk?d&2c(>3x?q}}D| z*=JB!#IykQ5fjxsA=J;z{4V&PZs9!(x=6hq^TY76;AV`d_Ac%J&dqTPzX?exiRJ^~ z>ychObrX!)8UvTLzWYXq zR%*S}Que-;5pkRpr|aTX5pldO-u`5N{y-F3EFQ#Lx6^#Cj#y zm+N8P7t!YEmDIGsd`q-k0y)oPc5FX1n13kH(uSeD3of4x<(ar#8j2}+NKGBa(_<5R zHSTc1p=!}EUc#5E_YUKEJVo6z3=1tqJ+HBx>-ZhKP~CPNAIkTrrs2@-Q9BQZXI91{%yZ+1b>wC)oRaC*l|~@ zi$?uFcigR`XjjP{jjeXII&n01mDTE9qp_>3R$my6t#-9~RSCA*)o8tO+qw}kXj|=F zCA8J7yS&x=rAFrH_c>2wqn>W1-roNeq?GHcYx^=JgE zF>wN)(d;#d^$)Y;$6M<13Ebf==mVkl$%y{xmiGFVZqmUG>aGdMhgTh1#%shMebjf# z_+oyQI-s2A@EWzIoX_WL)E~?FGK|=qiTpaO#s5s?dHpVb4AuDg)7XAU=45%_G8$3? z6)0$*OHI2hk1By?3N+dqwXtf?N&I}q92f}yTpSv-FN|E7QM^%BOD6N@&0An5iLHX~ zNR;Wg^3{m?Sq0CzERP(2RQnXl=(s7^U9!}hr|>qoY@WggBej1_;oh_?_`>@Ze5KWz zWW3Vp_D)lIH;%PXHH~M)NJE@ZY00dc#>cjbJB4S~<|Bu*sx6FVsZp!=H|oSyJXPJN z@CE9bRk;6DD!g-i&9q=e`D9jI5u8&wsX~1~;hyaSSMy$J>b7T*`#z_ze(rddr$)7% zR1*kpH$TT)3iZgde46_57VcI{x8R0zbPH}XS8d^TSf9YG8njTY`VaE1+uI)EUmDewpYmk?l*$;jDHaj?j1tw0fm;_!iYjQ=9Rj4n2%Cn7CO6l zQ{GEd%-#OQr@X&e?eQhguwPeE9he=QR57@GR{2!a?lXHv&Fo;s_HkeGuxb0GQ{2ea zW8d($s_hg`JB6osPTa_v${E#cXfQA}SUz+6l+*l=D0R@!+@UT%%RT*uBZ?uxp@Hg} zKIJoJOe~*t0~VN904L|b^YT1uGKdXNrIJ2>}(Ur3%2X3lvD`nMe zfS%Qgpc-|SH+N~VumOE3H{}y&R8Zc7ff;J(CmvAq&hq~1lV|xIYSB-;Nd4m{ew|ON z(|ckdSaW%_dRJA=sGL+TM{axeFT9sgec*TAQN8aRX7`bE+-baecI9NX`gfiqsa3sr zj@wlKIi9Wl_&aZ@e)>CR>)>;Iuo`!cr>Q&6@nrRl^W3G*KF`~!@qpaE6%%Jq#n23| zsi;B-f!R~1^{%N2R!*FaboHBDi5YuU5IvQhP*0r4cG2@Z&sXRD!F#Hoo##pF_CI*n zgyE<$Yiggs%&PKWWp!YddiD=Y`m6uMq>cKMUuC;)_NLQQ!EBw^9dO;Dfe( zDMs~n7_B@pRzk7_wyRpMo%T7R`DR%aFqulh={NK;o8 ziySkagXJT+`cbjSOO55s+`erG{MQ~k0B2D|)b_=~t#&LHU6Z5mSd5RY2%~Y+niQB^ zp^hFP=Bv+NBigCUuMyb>BWLQCYeaiuv0(US3CCAJ&39m>A_(_QNO%KdXaZ2X&te-@)DG5ocJ(*~2RJN^|*vR9bmg~U*}`q|3GPmG=oSuGprR*A6Z>?r4`MWBRa;&!GRw_WCA`V(Gw}HM#F;wZ zk3iz%qZmV12=T=*1Qk9Vg%83Lvkf>GntTR<_x)C1RAN6|wQxjYzbKy&@$m>Mu^$}v zRws-R&%|ZR9%Rcv;?aNCSWz4OeY}Mk+==1u)eU1sPJF3}2}@#WJTBJ6QuXLqk(*fR ziLzJ_1&>b5roNV{u5qGWa%n8OoLHI|-fFdlcf}xd)EGBTw81WO=Qz<1m;K|!d|U>N zmzh>;#|u|sX*@!+pjSSQhAap_KCv_*J{r$&7@ox1k!Fg(69tJBgpUd|EnOcPFIvWz zS}25U3pxQ=^aODo#&GNek;CoinM|M1vS?eVb+lA{piESkmBvedM-xj^5^J$$hFW!+ zSi8-}45UHvf0QFHD@W?exXb1UH<=l!vRYLxy1Gjdz3@bNqM~rcOq0DTrGOCZJLRJH zHCB8lUthIR7>)4z7}9uj6hn@DB$mqTSfV6G)09DV*^k6htLzpoXdxVi#+bu)R>AzA(>3vT(J(Tsf(keFdIqt{xw&|t>*4>v1}n@Hg{>5cxpaf*;wZ&vp>=dO+JuahMq8ShtyuW#pc$gZ zh0XL-YjdjHRL>-aw^(hpuO`;UQSBo$gb(xKPkAX--7|%!Wt>@D87?u*LUWW}qVA|; zXNt)gX|fMZ^VX!QOnkQb1z3$fR4!G=&l2e^s6R1gY;h*J zfz*yfH?YZ#Og7`U=w;y4hWhXmk@pjHy>>rbZVHGCy-Q{L zr8cvf{E@Eas9#r!@fllsO$gaOvUas> zpFeh#v(xe0OUpWZ^mx^*Ax|E>eb=RLG7{9uH;PrEf#a;Ka@@jkCboQ>EI%}EBk);B z;@QjN-a`39NKEWw(!M%m(I?1%9S(d4gin#%Zu&EuD_ zXuK+Sv9t*p6I|?cR0h5@mIt|&b(^qpoQoAhp31I;B$Z7d`Arj~hb7P^vgH%jOu&c5 z595-^o+5m8!Urgi>Gr_{EBkVSjQV$&TG?L{;>xVdU)HHCm0evX-Hinzb7fLH8<@%# zlEgLSR#>hr+W>r#w6B%Di}I&s3t{sE+5AEBzshXo)(~r3jtlEmJ{VY9E}NWKE}hl@ z6WOBjC6GTt^5;nMLb(j(HNyAE@-r%*F24jz&qS%snkYRKO_bgSO?gv z9%yAVp-5z*N;&oFP`0vlm2w``SISX;jc^ay9IM2%QrpiF$sznA{c|JV9En@1{14AQ z$H98w5z7Uhz+y+eIkFX4I_Wxt^}rvJ@R4pb>7rQ{>E@8m%36?4C7qSw>-6|O{kBoB zkMgh>mW#7~0{cv7o$!P;CV_o5>W5L~_$~Yb&;(`}9XHy8#`}_Ko6)kOn-#M#Ds~+G z1F>tU!EU36jJ^onKw_m}Jy@pBsw7jrH;FX9N$qx%7>=9H-8YFlxkpW#D~3<R?23wFNp<7SH*rLwwQE_*aeDgE$Nmsd<`3Y zcuX>N|6GyQtdu>-@G2d`JtX{duE<9a9p{Nw%{;6$R6N_h}}f&A&%dhMAVDHJZuxU86;alY!7!5dw|$~c{;Jp#4hq2Vp}CsqvnhJ zk=d-DD8R#40{f0k`iZVEVeEIE6;TB-Mm97`TxF2sXdzZ2`Wb4$5{XR}V-2zoKCn`C z<$UV&O=1pQGd6Gxj+yGq5PCdpgSguupTwVqum{^D));WKW3Q0OFZ0FAAlQIQwVP%e3Wn(;Ss`f zgegW@w;N#zVGZHkK+e_~Wxt;^%8Wj5v_tYb$=@})Q9cwhdT}{Pc!5l zG9x`}71aXGv?J_II272}?;E0WpsgaTA-oCLs9g}%4%%A6TY-)8cMz&3N-4^my+!x|;bGGR zNPZ!-nWarDvkax9`Cy8P^)-)49TvWh|t<$l7$gkKPzjF$QMozP^JZ%!**tau^cM^f- z#>sWjJFW$AO58KRWpVYuEpgi;1KLuo4q-(1$E^k)CHyb2adoy7n;`!Vu1AG`B>bK5 z0*r>LzUkk`$JUzn(!Br7@A3MDa}5FrHjh#31yBs8%X6*gf}*W zw-BWf>zhRSxHgmXU~RJlsPGWUYuP6#-^GptpOn?u{p>XGDfTmPJNpy(8d)AjU2IBJ z&P*`c|7{3ttZzcJ-DC=Bx0V|c4j_Tmg!2e*0X8PNE+N@ID!dvvEWAEJHn2Iti}8LX zK`zmE6BeYlXP-gB*_i~HWLwNF!1E+A*|7OUZeULMvDqX#3DZM#X%1{O%CV(G-I1^d z;Xq)cc9g9-v||a&fy2U6Z1VP6L%57^72yMf8ws}&?j(Gl@Ce}vTS!*^p2)9+e-T;| zr96SqMc9HckFYCYAHsozBM8e0rvtHq68-k}Y-wT};BrXXv-=4j1!6x`K^|@LIxB zAZHaxJzzfr<&c5RBgIm})r1caZX&EFd_BpC3j31wpve=|%nyX;2wCz~(3%P32~(40 zK;Go5fmz8i+%|+=k_ST4oyu2946$p8j3yjMSV34tIG6C2WVyN4q0HGm$#Q{h0vgyG z$wM&12BlnW@5oAl237_Mc2dIWgjIxdNV||QM7TJVG9DFfBegau zmQ#5Zp-M*DNIyW5hY24i+??_uva&Tr?(;9DOu|}t6Y^o<-GqAy4-y_GJWlvE;c3Dj zQfU7F45Ia*G4?+oF|bS2ydhPV;|Y@p?S#z<{i)N?fwqL5Qf2SElDt2a2cbMHtSw7z z5tfi-0^#IT%>QBG=|rjs=MXL=TugX7;R-^P@Ik`M$!`o=%il>_BafxtfKcL7Wo|aX z9ygv;Ib-&qjES5Yu-mYwj!6wQj{Q+``X%8HgntkUyX=9DFr6@munTZ_xIf_#!V+Ld zHqI{R!4$#(;T*z6giC=2b|>Lo5<_eSkyV7N3D*FJg|$sa+g`M-M%!NGRx>=jmYS4X z&G4|?tcKHOH9RagtKng}i46~LfKAhFrz3kFo;$MF2=@?%KCusk=s4kbgy%?MbjV2K z9daGp9WrS?M@?iKZYhk|hI1Se+Y@#pyozuD;ZVZSgg4+;G%7rv$`yn&2&+SMSpsa_ z;crOTgIm!Z4v7k|QT~u)9$ah${{P91*6)t29v$e&b^?>w`{+Ot`;723(7?_)Lb88G zr|fGpr|hMR&hwY~h2+&FSwOg)@T?etPe&t$aPvXD1?gv`a z)&tYi9s_oua{sg^QNBLyS>UX+t@fl4Uo0CQvxyCJPjdvda22pOz!7}$J$Uz<98o~{P+ku?D>9(UYAG+nRhK{)J#webE z$i&XLk7AsDhr)ml_as^gQwXy>&9P~;_MD6~)84Zj%@h#!0v7w^`-f$Yjh-`TX0^sF z&v?#)t<%{Ho(8Z(I(seTId2#2s7?=iE`puW+0P!~Ffe}x!_P8HYP!JZYLj)=Bi(|} z+ScoAG?pWW@QP@HJ#a;jxP|7&{?v#g`*iOi?BA1M7EPyEoL_l79J{T%qt7qNHvX750U zFT(1**J)jcI*bHYi)FmtbHfIa;zZV#_T5@g_S$t@Vm>)cQFZnRGhS(WZ&h z8b`YblTJIbxlNpQVs#OxA%}dccsbBUCVeh-bd7ka_ulE~9*R)uw1{nJ;Xl!a(jc=D@ z6wAVEUB+rzEm$erOCwdw?)2?-jAgNHHQl|wLyqxmz0S7y8tfC;)(AUeFJnjBQvT({ zkn{v870XM$PaS0}mj+z1eBk>6tdq`;_`U|~PHYW3={w^nXJKMmpC+=~h^=H7eLp)U z%19zpwvox1@S9_@RE21k)_X5Hrb?>MS&MUq&a`PcGostzvUE?3B*> zXPmdsXJ>UbEaM_rY@Uo@nPqH7H|GMDth4DEMPNRi&CNJ#U&!R&l$4gYWi)_wk}L$e zHe-!r5$moipU&v-T*QiX_9k>Uv!Ocs47!`ySYlcaLu@iJxhm3~Ay!39VGS7rowaPW z&i>4}&bfrWqBEX3*13!wCKggybmm0ot;~WibIApi4CS3Hi+pb<@$Mt%zWxfGRhx{A{L;rRtbFcFi=F{mxRD6ZyX$*Zj16B}W4PbpEY`^nW zHk8;>SRQu1&c;S`XY6mV$r087Ruy6Uoo}**k$R!S&Ry)bi1Lj69kwFE8o<^?*na1` zY-6P2VdsC?)`;$m{XO0i!bIN^ zvf^R3fmkj3IrFshQ#P~k=Mh#$Oxx!^W7CLfZa!m2BbG&u&sbmlT9(|Nf6n~D zd6ZosCR_N*d5le_8=~gr^AMXs^sSf+nGN>OS#qJQs5$+D;g_!PqlNYb8$nDuEpi-Z z8zQ=|oL@5hb`^d!r(dz7#FkiW&ClAuVqv=HF0o`cZvZRkE-ked{>wsjL~B`L^Ix6+ zWv>v^8vL3a)pb8-{^dN$3VO(jS}(p~CB(D_Pq8v$ODz4Hn_Q>ZG@T7?9t*ZQQm@Ey znq~F8-2As}Z-}Vo^jkKlmsDy_zhfgJtik>rtI?R{di3cGTcNWm^yv)SOKc@u);!7e zJ?lH*auYwWGGet%4(|^vOl%oj)7<6yk<|?dQG=jauCuJ_8p)*TSI(c=3S!IHBhA~n zeqjv}*2C4n_6;OUTB5(P!^9M}rTHM&Z!B++)G6%s=EGgTv+fZ##&w<@C8q5O7ubnG z^8N$Ux0_FPU0~hm#G$Z*U>DhHVr$rGuuJTMt`k|6uD_V$TCE9@6?Abf|7bI9-C1*8 zf*0tlRo2Ze12558*Q{GzQGA8Yior~LJs8?w$%bYvcbR$Y5b5R~HX&=ZE1F**rm&e= z_q$?vc&OIIGO$=~9Hy~{vNpKl_=({f+miK^E1p-4kZcWmBkOrrGrob?O13}i1u)A< zsawgu&3eUU<8H}9=>4BrZ@3cqVO<%Wz1L;u$2I0~X8-JP@YqqZqMR28Tn_Hmn8la9 z#^K~y8e{FV`#YU{F0pr5LH1#ni*M9fkL=?v58tgZOP}oXb{{`XEcA|L2+>ozatyI^ zdc|qkXJBd>Et`MGG7Am*xI<_2i1~H449)vE{l#A_E+zYvD}xtnI<^+N=DdWM9Q(7b zEWS`<^8Rfb!KVNU~kPkl}azQETzR6doEu~Y?&pL(<0=^2)m*yE<{pIE__;<@4O}8Vk2L?&`|J#I%9w!3!ox z-7?F{5E?Av>xsU@uC`|zRV#Awv|@X0!pgVu*n)0rH!KDcobS4L_4_~dbW!a(r&OUsdUQv!(U%o+Sa@6|s&BU}7do@2yYz=$1MMm1y z+(HN1HEc%=6_ZTPjZ3d#lLX%ye6G0IFS->Ng2nNq$(XEHOTe3xEN zW~P+y)^##7p;Eq2r!qCA{IJgCd@kk3^@=hx*Yi_4lbIRI&k|c=5iQT#$MM)HGPETu zv*j5uA2EgHwH%T*j?bmjyuy04EJ+*BZzHB{@)JUQhej=Mbz<29xYRgGrMmqS{ zTIROQc9!vEV#_SI!m^CJb+(pRmd-X2%hecrspWK7-lntNV3YW2-SQ)ZJ%xwX>GVR& zi=dlz*4%&IK9z6P+137wV7qj7ga4+qX?(BF=J^+a9n#rt{v}{%bf&^fC2!E#Gw@Q$ z-Loi9mbd+9?bCTyi0CqlJo!!MxjOsA-vG8#XD9r3q}{-G>#V_lz;y#Zt21M(^Y$71 zoX#>^-JLdrvw&=3nWasud%!F@>(%NkEE9A#uvG(?PyQWaX*#;qy=gPK{G;KLRT9h7 z*&?`^$qRIL2eBfZt#9=RbUSqRLaQ~7S$wC?{zGiH&OUGTMA|IwuhLrhrB$|b7SF4q z``s5n$-ZF07N9oCuL*#f-NjhfT$s8_{{bT&NaB3Oye zrsuqnb|Wv-+2Wj+!DfJ=|H~}*<-Cy=6~}L!aCatr`5bpXUB3rNUP?nb@oTj zL9q2Yv$y^>Qd8@vX!{+CebPcN48;hTJpuFyB=}ZY*)R+0HQc&(>J$+%=9c?@O%KQbf8kV$0ZY zs#g_Z7vbf$2zxoLmamVn1Fpq3hH z4^~I4md(%Y?_SGC+@$4VdF~x)_wp6QYS}}%gWdP?jXHY{f!@#e>Ff=#b-Y1m`@kOH zv2&%DTJ}{46(8hTL|3vObMJGk=f%46Lhf+)!+hTY%`~>n821Lgd7;L#+q7~%&iCpp zuT8o82|n#+sawLjx3Ri6@>p8hwU+*E&f1^kHDRh}nLwAHgK#qN4uRi{}R+SY~K+xU8-D_L^eRqhwKd%09DVIAAv>)y`i-X&Qr>(}-{ z_YS^6XEWPA=6;F$R%p80z+U57D>e2I*qeN(&Rzw3hg%d)cNlCBKS68>`>pK(SLg$N zR#)2E9dLcf$KI=%c53&GdmrENfX4c?JCU}Z=RK&gl6E1-e(qSWu^Zc+x9{i44@OL6aBc9Oc$L+G6AMwLF`>Nd;`$xQL zqtq>7zqIQFoo|z7$?^`kKIUtm*I2W>m))Q6EyR}KWN^TBm>aigx@=f}%JX#A7VHRL z{eq_J2lg2ct=_KD(!4j^NBOQ7H5LT>oUeaLvXyiQKh6&mTgL9l+v7gYPej;$_m|xF zvb0>rRzde)o*QBN-6weLE1K@UyieUHd0B*g?f!;u4e4}a-jD86e5cNy13S(4Ms(-h z-}1u|X7rrl8(-C&K9_gi{Uf)$rm13*Mc#$Pw<$< zS)Ikg5`PzAr>08>ixUYuwfi4SZ{OULAc`Z(1W&RE>nsOu?4nL*hW70|F0m_O+0Nq; z7l_reZtXiceIon@!_P7{xcwe?hNz3M{q9V$R%h2kmnBYsq5rjPX8S@9{#3%7vZ7>t zJ$|w7EplU7*8aRbS8ULk(*7dY7M;msSsSrKXY1Ry0^6mtXWM5x+lsw9dkea@;;_y> zfzNj0xMcGF_Y0i16K8Z~vkpT&d7?pQ?hd2C*e)%YRvpgT+Y5`%I&^3NOV(Mp4&yu> zgj;7rJ4^!e>r9?~I*L4<$+J&KQA8}X%pwnhokX#&l;^-sVua4*Ik2-Bt222H>@21c zTVko`aNgcU%++-_5)13BuERy>>U1XW{`q3P&g9)cU+mIY$nr#o>7D|yS69B)p$hD< z&g8MIP^@@c>%Bad6^gYwlc$D4v0i8L)KDlk>+GWrH+i~>tvdUu!y>SqI+KUeZeq92 zLh@AFO&ro`T*tHa?&7GtFWEbnN|%fnU=QJ^zN0 z-Qnpg3jWimJ7e!J)57hg#ci4r>>^m~ zK3TEW@(I#bBDU)6n~n!uCE~cwe#e|C6&JvKSj^2j?emlh$9|3Zz^)gaz+}2Rb^6RR zMr5bo$;iQOwZUtzeVH zZD4Zqx*wL4#R;8lB348%hnKJyJ9TnS7MpeUcBgZm3K8n`5mmJ8@3h7-Rn&pWUf`8< z`c$z|XLt#nK27Y>ELl?LnDk0f^s%gm=iSbqd1i_oI&0rKCA~`Y{Y2C4%S}(O7CVU5 zvi_YL?6XDkVQPawYx{>Gn2Ky~yU4+@)%f#^rv$}5+S)VsrCb;hqVGz7d2)i?V zomd-T_oP24HbmIt=?{x75mukRK@=RP`=4y^-Smy37*uQi!}Lv}B*H#Ve@aY?u+!;J zi@6c@XZjYgG{Q{Y=f#Q$b9lFjbrIIWyF=uC$?zlF>*jq$6iF5$+Q<8<7#dMt>wR5p zCbp7UyNva|Dc1g1R$R%_z}^zYCp4DdWs-N7n5?s*(7i2+zSeXVVDE_CCpESJ>|L?% z8;z|2+bvd{k}R~6ZR%3#{g2p3bP3zhrN8q%aY|#Bce|`{>=hS?tzk#HJPu|#Eh|cP zqxXF=H^Of6ekh8+mAYl@L>GK`BhH+Wtd^Z7HuQUqog;RX*s>5z@yU)D`h!%;iU(W= z#0p}yEHVFp>!4WwqgJtfezx)43&kO(WTE!3Z z?e0HCU4$+3UKD2|>=iFFl$?{6C;7?zx4lNgTw-7HhWveCVPeZzMuB9v5nIV}3qA&0 zp)nlnLq9vB3>!34OTU6OV4HPTQjqP8GVIV8n^sWnjxy}h*^LFqye7l6^ID*_1z&qD zh8ki^*j)wRd98*zUALj&xGUChj+pi&(abRU52`0$eTVGL3^f|HJd5U=8J0$r2VBhz zt0U|uZ-QY%gq`yy8g@n4U*2TH31ad^t=VTcIR2z2Eb>K@%i!19+Xd(CE<>Kq4i?}& zh|AEOsP>9A&G3rO%!BV;JkE6P`_nTBaPldo8_3{}LwN@#eJln9A zn3mFP!vmsBoc`Gw7V*@jcZ6n0f% zs;{L1zhp?d!O*ofjK#0iNz2iNIQ1J&>8zsA=WAn_jNg}&x*AyK8P?*L(`55E7an(Y zFuW3BJ<~cHP7zzeZY^x(>|((8kF|;`LGumCI(wk7rLVxyS7%QYw)J&2oYC2Hh`YOC zEd68vwYv7rQi5=Zv8U)MACfrh#A z7ZTxR80rl)to#33I~%yDs=SY%d(R!_4m0W?*Z`u=E5pEmqT~x83^1S=ioCdKYU0AW zn&fI(YH1f%ZFO}EHWekl7<(~5I zk^LANr7HXbdA~K6CUmN));#L(RHfEJTG*+cu#TrY!_+LM^J*r>r`s$RJGP( z8rrGeuuh}SPW6s;2K94w$Z#_8nDt>=sHwjt{sn42Q|$X6`x-fmE>k1Q>}%vKdP7s} z+u*OLZ0Fg_?Aze4sF$llhA$G=gwCcuO|^4X$d!8Q)oi+1_2Y-{9NMHQcKFVrr@6xQ zKX&}ip~S(mIK+?NIn=2te#LJN^=gV8zjNpkO|j#54qd6mV;3ABp*u9i4(7+`ZcVX+ zc^*BWDK@jrr!8EqQAj}2BjHcdWGBmh4e6D1#=4NM)RZ%6e)uBVq^W!1_Y{qAscpf& z(<;=dDfXRKp?*!Vs|jT^M^o%-LK(%XPS%BTR+1~MoXV;SRalRf(-2M8^r^Kjrq)jN zhV^Oc?Nskrm(v`s)E@mEounz&qranNYDnIp&(I1@u?~HP5;t#O-f7R$5KXl!=(T5Q z6qjnRJxf=sp1jv8=x$B1UaO#unqr++K`*I_cUlECMe!_nr&Zv=|Egl0RzdM<4%WRg z>$D2GOjYw3CbQxlW& zt$(E66xFXdsl~E^`ZcvHu{nGLovW$oDB7!ZS%-4vTVJImJ{C_sm^abYT&d>@WfNVe zO7ck373(H?R#Ov`zOinhhwoD}oR>sxuTy{i?PTg{5m$@l#Yyd!dOBTG)k)t%&E-nH z#1sD! zJyBI*L9Vd3>9I+wnx53h_BK7sm0I6D)HIp-m6L->PTL+jX{s9XL{gIN2vtsN@{^=d zw)d%2%sihX?MYK?AJHhT%1O6mPuN)+QNsMxI-R3VuGB2f(F0sPN5Ye5+s@Gzt`-wp z@?*BY(gD9zGxS3JjaJN1a~P7m(AG>%%0sG5OI~XGg!;Ksv-p(eaHVGPDNUGpJNr** za;Ivud`d@hwT9#%m5X$2r&?jVM8|8YFnN{jGg`ydbL7F~N5a3PJ7@Cq-*e=l$DorY42#6c3Q)g8nT@>s($iQ z$!kK}>ER!QY@Wr>e=Ng#TRR>5E1nGbZL%xuCN1hzdu%u9>`s+${e~{-RQqkW=x$B1 zQSu#a*3>$r@;!~1t){t&E1#yebCm;y^WW2Cd-4(6_jFRH=Ls8;N;}nQnmRLwR? zTE`UzRPr91Ub>B6E562>FiHB3Zdo zC+ptQ08O#Uy0=uw6@LF@r{4&vM2*N#zY$WC7L=W0`$(5G#ZIw(q+496lXV}d@G+L* zAwF66l@@A>P1b#-GEK3`y028DDn42Fm5!-O;j?vLsYwgUX6wF^7Z*S~X6wFEf~qiE zpAPRQP0|$qe_1Ng6#su&D%BJ_#k!=`T&dG@lypH;Y+p6Xj5=A1-;9ungA_XHs{2s&qnA_a@zA zPm{(kWq#*{rNi45ONL~AnoGko!{fp-q)=4}AE2Q!B&(*_H=qouL<@Oyct3lFRLT|W z7!Tqta5pHIv+%4F(h917SWpeONXQ6QGClau zSR`^g9W{Jcia+pGLz;NXW(7MDOK4d(7VhrLJ#M=xvBDy;_g5f{hcg>JA(8=bV;v*+ zRTE`l{J@yKN4KOTzyePYl0(!Ju(gl?=?JBm|Vd3>K}(W_;< zi-=Ku7LR0wTLyMSywjq_t}NLv4hUCkS;50sbB1t!l2!Sq{i6K`{;JQu4*$>gi-{t_ zMII3C*4y1AkRjPDcb2k9e44v*`T;QtPZ?TuKpcT(d1nrYo`LFdwUUQe3U(Z6szogs z3nP-3J5uo-6vHdW927%X#w7>EL`6+xSud95or(P4EO*PArT;1~2BS#SWApvWK8M64 z|G!=nmfZI|IdPQQT9tn~gvn{!A+cwrco_Ic)6~D_5&f<>fVI`6cg0uxb?qe89gfZv z$&f5zxnHx_k`BB{44Lt09@k-}t?|)ph2w&HaI4;Js z!(zb+@m|bbub&V{YfbvkOfPB^{AeCaJSpB}hvneEh&%bH8#05BYBlhk$^I}pYe6kc z<+W3yL+)ti$~Qk0b22&<3-k7w?SqyJs$J1VDtBsza^ z7WjwN7};KsNU)vIiknCe|BINSSU= zBfm&_#GXgyq#O&&BTuHZTk^>Alz#RZge?PZ5Gqq5?r9KSOqpk&qaa$FWe%xLabfM_ zwiGNi6LzI6Lgbo0PlNmM|L-tfpjG5tN=bMX`7-6z&?>Bxea2o3`)Yd~|4LHF@2_W; zb@m2wJ!NfZgBJ37%4?zRSiH(sk+ItVPV&^waGodl#jwS4nF~Rp|E1@{?Jkh%}{$*FA?n=lP_ z55i}L3c{~bkJ#hkK4BjwtW5n7+?aaKzL&hIAfdhFVCn_%3?l3$mpR)xjlR$AX*`L& zq>t|_BpvHxVOXIBA<@^4SP%NXvuE=#*I?HaG|$t{!9@*ILNJMF4vudpEP zeq{Vq+H}Vm;hD5qV0GF&#}O1_kt3UINjrwPjfizkIFj}ics8xweogo;ZK)%VS1g;i z9Ale>@no37cBjLFL{{%0QA}Uqn96Gw1`GOIlfFDxH(-xt#B`>`b0J!34n2BA6qup@%k&&e4< zE~X!c{d0u(!r}?@5=-g_4lij{-A zzn9bz_Qk!9FG%u;TQVj%J>r`gQ@}kL?Uo~G53AK9p33+IEdRw>(`Sy8wc^y@+mxIIn?Ur)5PhyB2O0RHUBP0El z&hz3J|2h=0$p1%Y9ei6Xb-dn}H8)$FRY%zGM|Fh#9#O}CFRCMKRMoMSR0=XH_18Mv z5#e>GK-Xr}I}H>=!x;p&;8N`4eovTtst=vRK~N+ykI-CV0M!(T%~ ziJ4Py7jm~uHewH@2fG?bSY~h64C>BI#8D8R>43%0IRUKVmMU(kBFxf29_Dt&TJfpO z7?+3sCNmy|!5lx)kq*D;qjAgfcMYc3x?9&vZ(no!oS z54etq?`Cf5J(sZi!se3S44UR@z!6l63{GdVMa!RNKH{q5vwaEqEVJEG!qcoH>?fWQ zq!52d?VoiNEtI5W zopcpy_4qjbBiCk>E)!2n@MoQaT|JOkrxfB;+s!qM-{p3M=4M@UouozJ5}bVh8}4av zujKC4oa;C@aNOk6r)BS}y9qHp>z2KFN6o92|L` zyDx)nmTTPI&fTkcJp>&qmH}+BET`&J#x7UOcv$h@@ZjSCgy6-)WF^7kO;SNz;A#>LzCike>j)Mr zl4>#x+(=Tu8j=BSCL_VEWHh*gd|; zyMxJAng;HqxF446ruTu3bS!v)jsp+V2f!0_3fP4EM9@NX26&dv0&Ap4!OhZqaI3Tk z+#&rM+%5eEY?M}l2c%VCi?jy3D*Zvhu1%^2Z%D6zx1|37CEe?wtlI&abPb?cw+9T> z?FS=the50EJ-T{#=-&m` z>5qZc`jg;B{fD4ZqyHGY&H83=tNv4PhyF8gr~V4KTi*sY>f6Bs`tQKQdMcsI^fGuu z-wnK_?+Fsw0!nfOD9bj`Bu9c~IR*@o2Y{jSy-%g=(x599;4S$mNDL=H$?ySaGW;iK zHvA0?FA}xoClsVuG4RT zd%b=?iv=Dvo&Zl7uj`K}ol7d&P@51up&&Q{}xW*hjiISp(!PX#|U zmxG^~*MnEgd%-sId9d9qxLS?hnHyaW6Aki3w;KIHMPPPN88{}W8Y~EE2FK&+Z>>gU za*!3fp9lHCUj~)MI!vWOB+g-aHK+{ydr%{o(6eZ$!?dht8F;iO9xh_)9$W^F2(C_S zHI@c9f^&kcNv+1mgMHwW!9`$Ma2dEX*qYpG{B5ugd^Wf!wbi&fxD2cct_ELHf*Y~h z5N!3e8f$`m;FjPba9eO0SRYJAI!wERi$FP~3>+9z4gNf&5qu@28N3uivSIIK1sC;d z96QLgrC0OVR^yw!a1V@WS1&8r*sBOU*sBcub1#9Ia1n0;eiibQ%Bau8LZ!F6x7&#= z7TaKVlH1pXBiuRevDn7BXS(OQE1_O?zv6zabKB}>+Z%j)%gwgEd^_ZR&wa{$25bhK zvA>MCIqomvy6$f0pYP%R-W{MsU3VAYGd=35sOO_zj@pcETU3s_K5AFgzNnMf&P82; zz8>{$RDD#SC&bg+WAj9Myx8ia26={oK2Me>-}5tUlRd?rQqNou%WSD<75rZGZ1imN z?DV|vY4V(b&T;?M^LOmO_K48|(cPkzKGF3^*cR=H?jJooI>$XFdS>*a(Tk&3MAt_j zjs76|Z1k7W?a?HrdrT-kIqv9~c7)1t4}yDG%!ruLF~5je8nYs1Q|Goh<{cj9a7@Sc zevG=EayP}?-u^QNn-bF;a}mjO-3;C!Y!+{%SBxGJGr*ha9pkN!dcZr?`?z;g%t~*y z_jT_s@1MPY#dZN3iRsv`c&~eJd4)vY6)>u#GTJML$3#RxGg?yq26yKJ@@FIj zqLf5b>b?;B;T6t!*&=?A4gh7MLy&;VAzz3yl;M$td^;u$49?Bu9L1RnhUXT5(YX`A zfw@z_)ZAh)CzpjU$ejUB&Sfdg$YtT5;Cz;cT*tYE`@Wq!3%+efy7Pg-hb}jb#NY!)z-!3Ab9Yt}V2mhdj#JpztjJtKcIRtxN6I zVqGsd2fNyg-3nRuYW=#_Os#jt`A^C-@lH&^% z7N~?LJ-?9Ecm?NL&RQPm4enMO{M|xU@1GtqCwZ7lg+^qfwvgH?U-5Kqa(1SmAh|oo zx!P#zkfGyPNxLR@*M#nxj$s@t?&HaJBWL@@G*{SZ+m zHhjM_6FVpp7h>RFVG)mCB_2@3Ol^dvzi5JG04S17(hZg&Vs}`Ef+EQxJ&^tg5Z`u0 zGwj1bk<_oj(i|Orw;o6O>i2?H{X3vtA56y)r=Hm(^^1hlS+B&INf_Q|6hj7)M3P2E zk~~rq_W+qnrjyxZ0VyZTu?VY*tjCK7wvh(hEqnZXk&x@%4+o6JN$mziinB|ipr{>s3`8DETaBDbM9>bpYQwoSNYueoO9;P%$fDxo20fO zvbG^|*D`{c_ik=YV$4+fEN4|*wJqV9!DQj%j9D||ayfG`#z1VsCm^z#dX$OIf+tFVc+21hoVuolJ3TF!)bUW{rnd#1@Bi5yl__SeE6 zg;az&fVNfnqjf)8c|oo93x%%<YycpQc!lYJjym4zK{V zHHvu>{ipy{JV9QQax>V|C=Q{qiFqjAnCMT0Ld-+)#z22r5xe9;pF>^(%OUZ>!i4lg zjp+yxc&afSDFV+orlUk)cVjxvC<1SUNSLVh!pQT2v5p2vlUQcAlnkB=z%c!^C5{aCr;@y8oEFe%pXHF+*;>qkusPjdl78r&w*W} zr5%PI3-rEbWwgi%WHMRqn>?l58fHovKV_JCxUV@pP~0H*vQBW&8D`96&f7>ej0(T5 z%5qr$>B{7?zwlRE%i^>O+gUP(npw$?PAd1oV^p}mFK4E9hy;4xUxIYG)#7gfRraY< zGFFyiG>=*Q7}nO4Br%i3tVzNW{VkyhL)T=R<(kz7*oHI zBfjVpw9M$wMKTj>Q6yUkJ!ZZwuv|tw@F36!ch(s0%frQLk0=@f6O;J~j3XXtq3*O6 z2RqAr27du;{A~bH;em&cS9Z3w*bAl3+e$9O9&QgOYsXN3A=zh|?d1_>(|wckp17k3 z5(HGPD}97P_=~|4Q(}DWaK*|Qhk=E;&QNz-U@eNV28HSGRx>)Y~qT z6hkb8?X_~?a5&Z^SW4sS4v;RuurrG4jxvdEMzWJk$|Xlsqp{Wn=oG9A(#+q51rbVL z7l?I9S4zr^{%(JlN*~urQzBEstGmO<-y>uh_?JNJdWN`nFGgibd37&oc2h{~@|Wo8 zpj;Ju6Oo0c#H9GH_bFw8o!5Ly?p-H++OPL1#dd$6kQ=+d?{#UdELnTFcURZ5lrBZ134UiY_G1SN_7cHu{?^Y@Fb(J_z zdeiz%7f|0*_d0{VGHH|O8>n3d$xFau!0e%3O!N(w61xwR2MR9~+MMneI^X^4F^f|jR01oGA7?hQp#OCC{uB{Muz#tte6&eV2&B%eWSo= z`UP%Ak%zFV2p^VRtA7ljx&mM|)k;&c*9&spfruG1aXhG{L|m?wVFuEl@Qp<#5qMlS z4M8*s;Y-EdXYygrnu<{^hE}FaMdAXq%$O#q`*9gXvv_=J634<{#UT#1p^skBC0*CQbJGi~pz`RfcrTG6(X=0wVj5g{m*D9>F z9)nQt+2Y_0t(U{$f43ehxXIt;`qpDwFhmTkpN`hsuWNm%txqCc=s*A>)=U`Uedtly zhqAF9u&Oc?irS#f*IJ7qpm(Pf|F?I|TyNU-EyGyU$J>qFD#z$QHY`Z}+FP~^JCD|{ z^8VpAbhoUvtR=L}3C9N7)eW?D`vNeadxykKLv=L>#!C$@UU`er8Rfy_Oz^;+h)j}i z7Lx7I?YPxQY>Y-9VGIkRgKmdT7#5%itVp*C-)za}Ng5je@{nK*yJqXU(N@yXu==|# z=GXOpB~4u2*ezQhwJi>Fag>PB7sapvvMe;U`VL5}rocl=M|(1VQW;@S;!(FVg!7gN~kmn(AMNi>gAVjk9NV*?gU;X5E(|2Oq~EXu~fOEC8>Zp_`xcCs-9ev+B)gJ1!cQ)7`lI3iv$EdswoC+5kt?|xaIzrX`g zVW`wHNpXI!3Um+Ap^}ac(Mn0DhUh$`=qR|LLb>e9aRjACHbX0bl2qj`Nw=HtmwA_S zWlvJeLKAr>wiKw~w~#`n7-4q zGd6f(^N(uZ3n=mL-bi?zxyKZtmrmXCs`o*&9LfftQyG=o5+nAWRJTcXjxV5WN^KjY z20aXmgf1AtEFe2rQ18Sr*HWxz9BX$V6}4Y4iOC+w38ftY-1O*jXW*t#IwCQ$s41M8 zEp)$7y$0^1!iCvlFDHS2Ed(*l;wX<)D$*)>s`5r!MsNV~C;HYyl@S<)UC;yQoQYVVC zwCQ||KwG9$`99qg?kw*pH|hXMVh+iEqhppW%w~NeRT-W>CuAJ0rxG*L_0+(OrdldW znme?>1YS}e$#9rtpaUN&FK6WCVui43{^Vfa0QMxbVgZhLMw{&rEiH{UGP+7~vo4z7 zHi=W>Vz2WZ7iWv}KL`hb^JtVG`-!zU9o4tRB|=dEYR65P@=UX2_YeQWK;E?}U%}wl zkU`7;_K?~{_t^d~J$H>x)Hyqc=z_2EghB?iJ}VfivL^|D6RID4b8trFG3ja->6 z-0kI*xh^Lyj|k#*-AI09gtH#ECBjGOo>!@B(fxl_>&F&awOXJ#?K9iPODEDPO&O}1 zueEY#=48y_A2Np|;@JgOd7K`#wIm>?0}MvAEXm1%s(KNMpIf~dh{I*!ABzKY`4hQiO z=3?onC1kK6+;gcXsl&_ZtyP_c(zm2PZsOUOYiIVjNb{CRX z)1h1C+#0R?ncW<*ZPsdhE}dlLo@$Odm5q!3oaXgYIGEufsR#CPMw?N4HiPF1%8RWs z@WhBt3>GR1dlQa;GehGk92td!9+Jc`5ts*s78@DJ7#3J0yG*W=R+9+4rex-LC%p5& zGJha5%dVhaK;{!SWR}^q1yMI_v%1% z<DZ$$zeTybM;dTbk6T(TiA0Y-CBYMgnyx}ktCt{Z zbB%aq&>yRG+^6d6r4_S$ZJr{6*D4E4o=1LzBpFlE8p^6KMTx7>Ue z&%lvgd;Ay}9D^!gSvAeY4bK>A^t|mbHQ^vKy41@zE48JA(cX_sm+@W7qyeeisoXQ* zEAecsGI@Ykh`6l}-rAfCboQPykGz~JD}hO~frU}HeUc}0s#d--WuPzOTCq78_bU>$A`^n_g4a|GWm@h_vW;K zYHyruXp_#3sA;nzdHfdh-a;$pC2(epl5=e7@GKstyf{3AH&;#%uW(c*VicSKhjbx^?>~uN+?=jh@3ZmC`YV+^XC)CWjl8ontC^k>aY@84Nmb z?@)w$7Z$jal8a?>DJAE~)@&NpkW$nUduBc1n`xC6px34^xsnKS@dQ z{2V29$LZt7wb})NKDvB&VNCdrBa+(u2uyQb)AffAeXxC8p$JP-z909KHgxHb5`}td zKJ5NB%5UQbCx?c0F?x@Mm1@I57K^k|nNr#7Iuil0y!Q^=m4u$(AYuR3cPm?S`*EbT zRa^LJyz8?+apHcV&wk~z$;}%Vf+kZQG(=8!qtcDb#OCR4L;mZKL~GNAZqur9&u5y8 zCxfqJc!hb|V;g0GR1d2PYd}|WX{!8HRUG#;L}K34atwy#eQ#?XJuVqz{hFxuHaq}G zQ4Zc#72Pi71}A+28J1%Zk;mHu#g^G#o$LgOOV!Ecz)jK5f?QYp&DATT%hIkFZT-2r zC6Bf=y+PJ;W^)raZ7rL((Z~bJAHiNG`Qil2NAFq>ZWkxkX2;4kDWYfvnyB>6tbhn>R*jjNGPcb zu=V_XssSxn^Z<5DlhSrYE8cc%<%)0-9n)NnJsj=uLK9CS=C53ga=7{#tj?;Vye9ZG zhv8(#|4Vg<;FX<&Si+L|2Z^DdDwBgN1 zY1KbLJl9|gPj>k=i#`9#A|(bUO2WfkGN~S+EC!rSw9Igm64{s}p%Q%9gYwrt{2p-n znl`vee_~BjzD{{#jh9}M;~0YQ8;ri~XmqB2R&JCXma@PVrODd2_&{avV_Ayn5pSA2 zyhaGK&xr%Aem4AuPNXK>5F;u$5w3Z}p^SONr=6w$TUmuwH0sgjn)=mKcwKsQiQ{4?W5(I;@sa#`}WaASVybY#V627AKM+Z2rrOK%~1WV53Os)ss5ju zs(cu!_b5+3eqRI~b7@U_T

gORUFJo>+);*LP2}PPDYZh%c6o0?9}gg~?P8rC@z} zjJ#Kjj5bCU$-7@e;8tbQ`cwz)!Pw0Ig3=moOzbG{2aEwld2IbG+*~-G?2EO3{FAxY z@8H}2^%Baw?Wy?@vexb7t`#U(EvY#|-n)Rd!y|7h&-FQ!WdA1bbUKhxXf&BQpWSH5{>Sn%5IQsk-6;m<&~HrH-Z%-Rj!^=2=_OcVdj z)}Y<%A!N)Pc?xf$8_lk5ZKMAt3>M({8Ay*Y<_m5R;x@YTwbz72gXk53&9kIA2`hS^(50p2yG~-_?-*0hvCcmiqB4AY5}&;F_U$P`vyYYbp6l#oTH0^j@rJaY_oB2{Uu@4c z`*>-ea-F?QOZy*Qiso%Dp-xHKJu70C80eD4svbvN0)4cEBQQcsI0F;3gewqG@^^&;L@dGPhYvDO?`72Yrf4Qss7Q~r2;6@OD%xqpyNmaE+*`KfWI zl&kx_w(wkeNc&Ts0}2rc98t61=%1JmssCp1B8rBVVY0I9jpqD*W#=1ZIMYNP=q@93 zpvylve(b<3{;=YBvn~Hsx#i7{u@$Ww&!LU=+WN?wb2(NZ=i9B|rR41_v|uLiqVo9L z={@Bp5f_HOp^xv-rVwWF&p?;pFw+9c?Bm);ZLU4Kfl&JZ&$V4P;$Shn_B@!0XZ}?O zlT5{VXjEHe`N4SJUHR9+mi!^*{evy|bIR3&Dk`z!okBfB=a2`@Zht5Zca5VCJ&JPwJXD3pRsO?wVC;N4EJ^|BuFXq%%Vkj4VTp2)y5hRmJck%t_Rm#++R5 zC}#}b-hYi?7E7f*)Q>CQeUu%U)fOG)AEXV0W*@h}N>Tdp0PU>u5N)@iPfRJ>KYkm} z8S9QZH1(%{JIXwBw6K-z#|V5zP9SprTTr6e=%0>@e%8_+OC=iF|Vy`tyy{ClOeoV z`R0=h&bP*VT9cH162Yx5HsIbV+Gy`APo~kvl<-dSS!5uyP`=1$DBil^ipjudZGG;K zJ9$JZ#?*o_0>`fhl+J&(y^inSTKiX@>kZPjf5`9PL779o=UG_)XfyuDZ=U zfp<{z%sda5N;7X-MoT!oIcqNu!r124!!wNI!L`<=f~h>-W}*s`Z!zQ|BlUR3%?yfDG%qp;p_2m1f_%e zZa9L{LH#Y9KaI;{Rz43GPXzDFO*@V7BK)izPQmlls(v{002%}-GaqA4OHqj@V{ zqc%kIl&E4k$X=4Ivo9@HcSdusJSoYy_WzMW?`fO@mKN_gAI-}|xHOInmxedl_(S}j z9cOGjh4aljcpP71;NPg=W7YGCJf9cuNU`%ZMxLj>oW!5YqMQk~gv6BaM{EgkiSQwP z*=_bj_aioYoI@8laowT1`Qb2!G{`t~FQVo912wAMhWez$q3qf;Zs&Z*sx&^)z$d)W zj1Lz4k(JH(@g1#O@CPjX5w$p<2i5L*{8v6<2hvSAFIIaO@SGgE=`Z+=TD#z~y!d2e zGg&=a{|`F#sRI5Me@hLt;T8N_^++53Wu&8n+%bPeW{ltcZF$F-@ga$8Tyi<2afN&% zU$tX*As-<4vK>v@@il_)S2uM)uzpkzcHk~POZ}XA<@bNrLeHqL%p%bg3wIbyY zYmr=1Oet5}%e^2vJg`drsRti0OvZCT48kc46#NCa#W0GL7>&eA;?&Y{q-dg%`0K3_ zB$+2O-Z$CMfgVS~nYyMYU&OiU?Zp%IZo>yM^=`8wl`;lKH$&S?>(pf-ZKTwuP)Qkw zmWRYqQk<-d9|(z~b@7g;d-1hlD6ym;Z<(X{ToJNLzdrMWA#sKj%klGgKVG3%b9G3Y zsb^A?`t!}1jsFXe|+QyFxJ)HY?XJfu!2<4tk7r;PXG z7u1i-_`0U8y2^o8fqKoGjL~-AWO|gVOQzEJ+p&5ee}ePXYNx?iaaXGg2LC@-+--wt zRmmEHrFOMCb_iCL)#`miu&S(9Ul@X=cD35A982wLl-{^(-G(}7OYME-wA3Cf=W=Or z59OhyW${qCwCs3hC|{2SLA`Z2-{L(7AKDX#?~w{zpa$J88zgr%Uu!je1d2E9C>??I zy8;y9F)zUE>pKI%(?jOS!@)EUo1<&Mj z)tU-Em#pnmkVZ zTH%Fi&I;~U$3DOlRqyjWMNL)sh#h@b@Xkrp8uuW)7RE%UIbY|Ltn?!+e6e@-SxNuODDFe)OHwqpB)uCb0>Vr&ZouF}+f)Ifm9(&PID?jIRu^O7)RrymP_$$<d7-EvRM_= zW>&J9Xl_|eMNK8E2ux)D2@_BiRy}zxG=XW%KXyvxxEi(ZF`lvG^fBJk?7p?K+CMWe zuCjl{jEaeH+kNJ=nwf!0HVD@0_cAD*&v5gOQD=D2q@Fp)TN!I6Ppej=zQ%MY4frPp zDyFNgzUD1=ocf9z`HqQS^UGoCnjd*#uxw6sP33epkb0r(Sbw0V=j?HnRW+0GnNUsF zO4G^8_wom(H%f<0o-y8kdvz-*tJd?g-rfB(Y7lx3{-()VSsi_)LiGKWnXRBZT#P5md-GjncF?L#| z8u*!aRonc;XGC@|72Zx2zw>x?$nU(Hn)o~Kns)2V88wrqR}P$0 zRasIoWBjyAR#p>0*kuSS0+XxJ&ZmFpk3M+6=(pqCAAA6A_SJTO@sFaa*-Tc2|NJb# zY96$UbhXPLd;=n~?oW~V-~`b^?R}MB+gE#Ra$7kIYuzfZRcpL|!p_K8Bxhz4 zw8~YVEfF1>;)^$&4HSt(0u@y^`)7oP6owL_%w;Y$sYGNs@dzp5mYFq`fpIefvnsv4 z{4-~a*ShrP5|L}t>Yy&^CvINZTg+A~`iLBLZEs;!t9y$~HNTI@&|p~~5vFNLCQS@R z&anTY^=hfezQ)d%in<*S_7T7Gu)2esWveN-2=9(7{lr>>stgc{+HHVnzT?(g#WP`D zg~?(t#kRmdFaBlYUu*npgMY>N*U@N-t$kj?b_uWJdn=Hp<6jp36&Oq&x7xW}Bw`E< zE*AwnVaL7Y;z6#yHB6+94Z~aKSdYmoxI4DD*=yj@(XnkbI>+b*1K{NuK;TB6<3T;j zBE(18I682+9sz-@KyIT^t~4@wnI}wB6g4V}qynW`O?Jo6!5h61>!Ni0mHX#}pYixr0)(DXm zo8SqvSfUZA@K_HuEJ3x56glw;s1%P)h^^gbwbky6KB61Sp5`-~Qu+>UOP{U@|;w9S{XgLC!XF`{}*LbUXEGBzP0w(dnh_I(GC{`15+*U6x*nNjD`FF@vQfB@FY24lW5r5u zf~_uHi#!sxI(Il(AuY7d+41XG(SjrPDdR`8wg?C$J)N!>fTxvv5(L}H< zpl<3(1AXCgA_JPDv9T4gBT<+`;A;v9j>Ca07AwYO9KO56Yzx$?N?{K+VPUofu?ruH zhTpZeg^$rpT1sBJN|(0U<=W*zx-5K>%Bfw8!12gPP4$?j+NfQg(Js%+OKdGZ;*3j% ztbyAtn^n8Zws1R@vK!6Hm3^{1LXMDkwErVxxFMOvBs2LREIjULkK2mzj|-L@^|A3H zK71GT5oWXcQl(hu+J&-W>v~3Gs7j+a!Dty@^E| z9&t<`;2%yDDY3g{&Fan&o|3`0sisL{VtJT_RwIeq4L&SGJ}g5%x#$>uSUW)R=|pBB z(Lso8B>+rfY0>~q7*e*n1c|jrDD9C33F^K{VoA_o#=>VtVPR%0kTN-(Q?+qU+wc2vmrKJ{wEVz@;{j4~lD9bpcOy)Cx( zk7#%7O!edx@d)O_ys5NKZJa86>6mv>=5VYOn6g;u5Fj(YMLa*j9Dy0)3By8&ko-DT zv~{4EK`0uL2{)m}3E`F|W-BJH+I^a+abYPu*V3FQm&9*lYd2eMb-QEhqA2&_X~H|! zW2-%Cu_82^!;!ges9Yz|Mpz4*IYQ1yE7X{4Qeia%q!)_?Hgb)KG>dDkvuGqbx`|mH z7O?EermI7yi}5K=wDrqa-vEQ9K!KM)Sfg*h|onmhf<7O;Cr=5Xl+T zbc7Cdlxs!ZAhZ~(nJvzYFQ~~j%I;Plogs!diIoMeM{wG3s)f}rlnA+P$Yvgf!wr6M zwM&95J;7!+lQ&XWVi)r0NNTCHL&J>-y)a=AV5Py@WR(3UJQkBI>x(KeDs{))5rdrt zr|-6G?mRkZ`_S5M@;CE7zW-v=u1{JYf8w(wlSv(an|L5tJkrFvkCfP-a5&+~C@Gmh z>D{+XMLIBY$w(_(HF7P|Tab=syGHJV-jFqs9awx?|M+z~SxhA7x^XkCFxNL`}&@y@|iisaB3u^&1 zv9^$yST~aQhNL?ih>u<;vI(Q7jZS1=hfN!8W%J0g9yW{&EBN+JA|JSen)tP@UJnp3R94^s=$SHuILXOS|M9MwnA2-1{lp2R4ju0 zagskzk{2puRQ3?QO_nDp{dL8ku=I?T+Vru~Lzl7ATfecT*5_!3gLRf9b~_c z((hCH9O0jYiQ}a=PjGzJc+`=|knz-dN>8G6V7zQi?RYr?8c6;y;ZvmD25iq?8IPxh z>>$aHjF;^@L+P{Q<{Qwa|qP{t@|N=nJPYENZZQuw-udiD89rBd1q;#?Fl<_L*l2}jDd4|Z0N%#VxblQH% zEkpi5aeavm1^bDm>8wgJHRX1Z#CxmlZx>}ajog2`xR)POlV*#uamUzXhL4h=5q*a4 zC_l!gus3jn8N{0%skhNY2c8qQ0HiKl#h`q&~#MTn~oF^08MC=cqNo<>BYS>&+ILO0# ziXzN;j*B?qML!EAPcc_(bG@|7E5fR7-5iY@PZ|%%jZ&~ zZx^%Rnz6p<-(%`a5PFWW_2PbmyeEGS!k^eivC6_D(`s?E%7% z2)`n{L}=wwn*bb8n-1g*&$5AS_z_@7eiT^3PXY(<)4-AZEN~J(mtbQ7{w?qh{u3nk z@!x~bPZ1>c#7SL7^))3wfY}C#RYXxl`;Syk@d}&xPABu;Hi|`%7 z4}k`Dn(*terKvg&SAw~)Qh)B@=O(@l^U0}ZST z(8l_j`UP>h)zl9-#54fv5vIYw(Iy#{=|BUUZ5jr=gYX_g)kGmhnzPpk-z7Y18U@KO zgf_FZXlWu(jr?DEM)6 z74RAJOxSFL3(j69e8ViO_#WYBB>4><2G<%ba}moV!k&axg!fyd_A$a&2tSe-tUW{I zd&>f3yFzFRUjWy!;k7_V_~KA+C5KOdO*0@SVffuZEm~Rw+J?*4_arP2m#v>l>3M`p zfd;k)xeV;7@Cu+xaSCoB#cScRFAozQCH$1|%WxTwi-abtOeYW)0S&C5Rfcys(7*u@iX>>~%_i1~jmr$)|{vrNl)_pG_m@LM}&!fwhkeD!6oy zj0WBkDKl3_$^lqIxG-`R((5SO3xsbI9*bND`FDhWlEf6X0YlgpC8Ow$dIuHFijwo9 zYg7hsLew+B`lv0y%~3CeI<&b^g6Pr1Q3~)R;pf1{+1Xrdfc!jM53c=z@FL+=V53co zuxFqRi5#cAcYb0 zn?!oQHj(3CRg=TW@F>aa*hfg;$36u$ zR~Oh=j~I*HWD06q%hZ^|2w*kg9Kt(+jX`dRiL(!`T>%_WyDml+uqh@P{rz%`oT6{U z%uQ^~PC&xhw=puvwur^R%Oo+`u=s>FFbDkDY!aP>$w9g_1vVOG+B{I_6Luu*3vAR5 zwxvNkg0KQOpmu^yZp}4>^@I-)t|i<+xSen>;X8!K3D4SsGV^ytekJ^i&=M=4fBloHw^yn@!j@z7HfFDBVqBkljpV2;oS=O2R6_*@Sn-%f+<;Y0e¨JFw(7;}azZoN3 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 diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Actions/BaseActionManager.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Actions/BaseActionManager.cs index d17a7dcb..b30697e7 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Actions/BaseActionManager.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Actions/BaseActionManager.cs @@ -296,7 +296,7 @@ namespace WebsitePanel.Setup.Actions var args = new ActionErrorEventArgs { ErrorMessage = "An unexpected error has occurred. We apologize for this inconvenience.\n" + - "Please contact Technical Support at support@websitepanel.net.\n\n" + + "Please contact Technical Support at info@websitepanel.net.\n\n" + "Make sure you include a copy of the Installer.log file from the\n" + "WebsitePanel Installer home directory.", OriginalException = ex, diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/EULA.rtf b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/EULA.rtf index f4dd41e74d3cf080c7c258040a69c85d1d1859d5..61a0704ec27f36408239bfc257dffbaf5e9560c1 100644 GIT binary patch literal 34050 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 delta 619 zcmb7BJx{|h5Cz0k30T+|@Wy9@?Y0!u34xG6LLgXALQZ107OoR)r+}&miIIUNe}(_R z${%20W9J8elfr`90m(X_b?=?uyL)(?d0Dt0f^mWX(^gg?O1p%%D8yU{Tt>xow@Gm8 zHy6Bo4M8N@xls88gRnQ!S`ewZrXZpoGnPAy_L-8Qk)7Ow2ndt(nf?Qs!KiqjUA*_S zab=1w?)qV(I(a@<8^Sttx#ots#Gn%^9FL_#t)NK)>Q4*rc5)a}SdmC~fVIv{Q=C_LKC^$ZpS})o2Y-OvolW%^WvTW(FJ`CYg?zlZg&W zD@tnaxoA%*RIw~F+;WeMgYwI{T9K?h9gotH1|jQ>ZS0wC>ZObk diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/EnterpriseServer10.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/EnterpriseServer10.cs index 07551895..dd90ac25 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/EnterpriseServer10.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/EnterpriseServer10.cs @@ -5,7 +5,34 @@ using System.Windows.Forms; using WebsitePanel.Setup.Actions; namespace WebsitePanel.Setup + { + ///

+ /// Release 1.2.2 + /// + public class EnterpriseServer122 : EnterpriseServer + { + public static new object Install(object obj) + { + // + return EnterpriseServer.InstallBase(obj, "1.2.2"); + } + + public static new DialogResult Uninstall(object obj) + { + return EnterpriseServer.Uninstall(obj); + } + + public static new DialogResult Setup(object obj) + { + return EnterpriseServer.Setup(obj); + } + + public static new DialogResult Update(object obj) + { + return UpdateBase(obj, "1.2.2", "1.2.1", true); + } + } /// /// Release 1.2.1 /// diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Portal10.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Portal10.cs index 01854e9b..3818b293 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Portal10.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Portal10.cs @@ -6,6 +6,33 @@ using WebsitePanel.Setup.Actions; namespace WebsitePanel.Setup { + /// + /// Release 1.2.2 + /// + public class Portal122 : Portal + { + public static new object Install(object obj) + { + // + return Portal.InstallBase(obj, "1.2.2"); + } + + public static new DialogResult Uninstall(object obj) + { + return Portal.Uninstall(obj); + } + + public static new DialogResult Setup(object obj) + { + return Portal.Setup(obj); + } + + public static new DialogResult Update(object obj) + { + return UpdateBase(obj, "1.2.2", "1.2.1", false); + } + } + /// /// Release 1.2.1 /// diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Server10.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Server10.cs index bd63cb57..b5d08705 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Server10.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Server10.cs @@ -6,6 +6,33 @@ using WebsitePanel.Setup.Actions; namespace WebsitePanel.Setup { + /// + /// Release 1.2.2 + /// + public class Server122 : Server + { + public static new object Install(object obj) + { + // + return Server.InstallBase(obj, "1.2.2"); + } + + public static new object Uninstall(object obj) + { + return Server.Uninstall(obj); + } + + public static new object Setup(object obj) + { + return Server.Setup(obj); + } + + public static new object Update(object obj) + { + return Server.UpdateBase(obj, "1.2.2", "1.2.1", false); + } + } + /// /// Release 1.2.1 /// diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/StandaloneServerSetup10.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/StandaloneServerSetup10.cs index 116f45c2..24bd0e0d 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/StandaloneServerSetup10.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/StandaloneServerSetup10.cs @@ -5,6 +5,18 @@ using System.Windows.Forms; namespace WebsitePanel.Setup { + /// + /// Release 1.2.2 + /// + public class StandaloneServerSetup122 : StandaloneServerSetup + { + public static new object Install(object obj) + { + return StandaloneServerSetup.InstallBase(obj, "1.2.2"); + } + } + + /// /// Release 1.2.1 /// diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/WizardPageBase.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/WizardPageBase.cs index aa694969..ae6d43c0 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/WizardPageBase.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/WizardPageBase.cs @@ -293,7 +293,7 @@ namespace WebsitePanel.Setup protected void ShowError() { ShowError("An unexpected error has occurred. We apologize for this inconvenience.\n" + - "Please contact Technical Support at support@websitepanel.net.\n\n" + + "Please contact Technical Support at info@websitepanel.net.\n\n" + "Make sure you include a copy of the Installer.log file from the\n" + "WebsitePanel Installer home directory."); } diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Updater/UpdaterForm.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Updater/UpdaterForm.cs index 3ffae895..f3b8230a 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Updater/UpdaterForm.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Updater/UpdaterForm.cs @@ -272,7 +272,7 @@ namespace WebsitePanel.Updater private void ShowError() { string message = "An unexpected error has occurred. We apologize for this inconvenience.\n" + - "Please contact Technical Support at support@websitepanel.net"; + "Please contact Technical Support at info@websitepanel.net"; MessageBox.Show(this, message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } } diff --git a/WebsitePanel/Sources/VersionInfo.cs b/WebsitePanel/Sources/VersionInfo.cs index 9efe6796..5a84a297 100644 --- a/WebsitePanel/Sources/VersionInfo.cs +++ b/WebsitePanel/Sources/VersionInfo.cs @@ -1,7 +1,7 @@ -//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.261 +// Runtime Version:4.0.30319.269 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -10,13 +10,14 @@ using System; using System.Reflection; +using System.Resources; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; [assembly: AssemblyCompany("Outercurve Foundation")] -[assembly: AssemblyCopyright("Copyright © 2011 Outercurve Foundation.")] -[assembly: AssemblyVersion("1.2.1.0")] -[assembly: AssemblyFileVersion("1.2.1.6")] -[assembly: AssemblyInformationalVersion("1.2.1")] +[assembly: AssemblyCopyright("Copyright © 2012 Outercurve Foundation.")] +[assembly: AssemblyVersion("1.2.2.0")] +[assembly: AssemblyFileVersion("1.2.2.1")] +[assembly: AssemblyInformationalVersion("1.2.2")] diff --git a/WebsitePanel/Sources/VersionInfo.vb b/WebsitePanel/Sources/VersionInfo.vb index 9acd5803..10e75385 100644 --- a/WebsitePanel/Sources/VersionInfo.vb +++ b/WebsitePanel/Sources/VersionInfo.vb @@ -1,7 +1,7 @@ -'------------------------------------------------------------------------------ +'------------------------------------------------------------------------------ ' ' This code was generated by a tool. -' Runtime Version:4.0.30319.261 +' Runtime Version:4.0.30319.269 ' ' Changes to this file may cause incorrect behavior and will be lost if ' the code is regenerated. @@ -13,11 +13,12 @@ Option Explicit On Imports System Imports System.Reflection +Imports System.Resources Imports System.Runtime.CompilerServices Imports System.Runtime.InteropServices + Assembly: AssemblyCopyright("Copyright © 2012 Outercurve Foundation."), _ + Assembly: AssemblyVersion("1.2.2.0"), _ + Assembly: AssemblyFileVersion("1.2.2.1"), _ + Assembly: AssemblyInformationalVersion("1.2.2")> diff --git a/WebsitePanel/build.xml b/WebsitePanel/build.xml index 5415e9b6..00782de3 100644 --- a/WebsitePanel/build.xml +++ b/WebsitePanel/build.xml @@ -1,10 +1,10 @@  - + - 1.2.1.0 - 1.2.1.6 - 1.2.1 - 2012-03-29 + 1.2.2.0 + 1.2.2.1 + 1.2.2 + 2012-05-13 Release .. $(RootFolder)\WebsitePanel @@ -15,7 +15,7 @@ $(TrunkFolder)\Build\$(BuildConfiguration) $(TrunkFolder)\Deploy\$(BuildConfiguration) - C:\Projects\WebsitePanel-1.2.0-distr\$(BuildConfiguration) + C:\Projects\WebsitePanel-1.2.1\$(BuildConfiguration) $(TrunkFolder)\Tools\Diff.exe "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe" -S (local)\SQLEXPRESS -E @@ -42,9 +42,9 @@ - - From 131fdca1b0b18a3134c8a7ad3c9a67741ae3c345 Mon Sep 17 00:00:00 2001 From: Daniel Grotjan Date: Thu, 24 May 2012 12:06:36 -0400 Subject: [PATCH 17/78] Added ability to specify log directory for Gene6FTP --- WebsitePanel/Database/install_db.sql | 2 ++ WebsitePanel/Database/update_db.sql | 6 ++++++ .../WebsitePanel.Providers.FTP.Gene6/Gene6FTP.cs | 13 ++++++++++++- .../ProviderControls/Gene6FTP_Settings.ascx | 11 +++++++++-- .../ProviderControls/Gene6FTP_Settings.ascx.cs | 6 ++++-- .../Gene6FTP_Settings.ascx.designer.cs | 2 ++ 6 files changed, 35 insertions(+), 5 deletions(-) diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index 75fc6abe..3efd1a64 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -24160,6 +24160,8 @@ INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [Property GO INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (12, N'InstallFolder', N'%PROGRAMFILES%\Gene6 FTP Server') GO +INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (12, N'LogsFolder', N'%PROGRAMFILES%\Gene6 FTP Server\Log') +GO INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (14, N'AdminPassword', N'') GO INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (14, N'AdminUsername', N'admin') diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index 950e401e..9f6c49be 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -827,3 +827,9 @@ BEGIN END GO +IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 12 AND [PropertyName] = 'LogsFolder') +BEGIN + INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (12, N'LogsFolder', N'%PROGRAMFILES%\Gene6 FTP Server\Log') +END +GO + diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.Gene6/Gene6FTP.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.Gene6/Gene6FTP.cs index 7bee1650..66286ced 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.Gene6/Gene6FTP.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.Gene6/Gene6FTP.cs @@ -52,6 +52,11 @@ namespace WebsitePanel.Providers.FTP { get { return FileUtils.EvaluateSystemVariables(ProviderSettings["InstallFolder"]); } } + + protected string LogsFolder + { + get { return FileUtils.EvaluateSystemVariables(ProviderSettings["LogsFolder"]); } + } #endregion #region Sites @@ -589,7 +594,13 @@ TransferLimitType=never"); private string GetLogsPath() { - return GetInstallFolder() + "Log"; + if (String.IsNullOrEmpty(LogsFolder)) + return GetInstallFolder() + "Log"; + else + { + string folder = LogsFolder.Replace("/", "\\"); + return folder.TrimEnd('\\'); + } } private void WriteTextFile(string path, string content) diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx index 38fcc97f..4daf17b7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx @@ -1,14 +1,21 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Gene6FTP_Settings.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.Gene6FTP_Settings" %>
+ +
+ @@ -33,23 +72,35 @@ - - + - + - + + + + + + + + +
+
+ +
+ +
@@ -59,13 +110,19 @@ - - + + + + + - + + + +
+ + +
+ 0) { - item.ForwardingAddresses = new string[] { txtForward.Text }; - } + item.ResponderExpires = chkResponderExpires.Checked; + if (txtResponderExireDate.Text.Trim().Length >= 10) { + item.ResponderExpirationDate = txtResponderExireDate.Text.Trim().Substring(0, 10);} + item.ForwardingEnabled = chkForwardingEnabled.Checked; + if (txtForward.Text.Trim().Length > 0) { + item.ForwardingAddresses = new string[] { txtForward.Text.Trim() };} item.RetainLocalCopy = chkOriginalMessage.Checked; item.FirstName = txtFirstName.Text; item.LastName = txtLastName.Text; diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.designer.cs index 77b5a1b8..a5bb873e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.designer.cs @@ -3,7 +3,7 @@ // This code was generated by a tool. // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -12,6 +12,96 @@ namespace WebsitePanel.Portal.ProviderControls { public partial class hMailServer43_EditAccount { + /// + /// secStatusInfo control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel secStatusInfo; + + /// + /// StatusInfoPanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel StatusInfoPanel; + + /// + /// lblEnabled control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblEnabled; + + /// + /// chkEnabled control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkEnabled; + + /// + /// lblSize control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSize; + + /// + /// lblSizeInfo control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSizeInfo; + + /// + /// lblQuotaUsed control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblQuotaUsed; + + /// + /// lblQuotaUsedInfo control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblQuotaUsedInfo; + + /// + /// lblLastLoginDate control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblLastLoginDate; + + /// + /// lblLastLoginDateInfo control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblLastLoginDateInfo; + /// /// secPersonalInfo control. /// @@ -138,6 +228,42 @@ namespace WebsitePanel.Portal.ProviderControls { /// protected global::System.Web.UI.WebControls.TextBox txtMessage; + /// + /// lblResponderExpires control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblResponderExpires; + + /// + /// chkResponderExpires control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkResponderExpires; + + /// + /// lblResponderExpireDate control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblResponderExpireDate; + + /// + /// txtResponderExireDate control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtResponderExireDate; + /// /// secForwarding control. /// @@ -156,6 +282,24 @@ namespace WebsitePanel.Portal.ProviderControls { /// protected global::System.Web.UI.WebControls.Panel ForwardingPanel; + /// + /// lblForwardingEnabled control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblForwardingEnabled; + + /// + /// chkForwardingEnabled control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkForwardingEnabled; + /// /// lblForwardTo control. /// From e0829fed82fa220cc3efe64dd3210055344ad0f0 Mon Sep 17 00:00:00 2001 From: Kenneth Date: Tue, 8 May 2012 01:18:24 +0200 Subject: [PATCH 11/78] Workitem 46 Add variables into web site parking page template --- WebsitePanel/Database/install_db.sql | 2 ++ WebsitePanel/Database/update_db.sql | 3 ++- .../Code/WebServers/WebServerController.cs | 7 +++++++ .../App_LocalResources/SettingsWebPolicy.ascx.resx | 7 +++++-- .../DesktopModules/WebsitePanel/SettingsWebPolicy.ascx | 4 ++++ .../WebsitePanel/SettingsWebPolicy.ascx.cs | 2 ++ .../WebsitePanel/SettingsWebPolicy.ascx.designer.cs | 9 +++++++++ 7 files changed, 31 insertions(+), 3 deletions(-) diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index e5b39fa7..da8fcc11 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -22006,6 +22006,8 @@ INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [Property GO INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'WebPolicy', N'DefaultDocuments', N'Default.htm,Default.asp,index.htm,Default.aspx') GO +INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'WebPolicy', N'EnableParkingPageTokens', N'False') +GO INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'WebPolicy', N'EnableAnonymousAccess', N'True') GO INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'WebPolicy', N'EnableBasicAuthentication', N'False') diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index a949fd61..8e434f71 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -9,5 +9,6 @@ SET @build_date = '${release.date}T00:00:00' -- ISO 8601 Format (YYYY-MM-DDTHH:M IF NOT EXISTS (SELECT * FROM [dbo].[Versions] WHERE [DatabaseVersion] = @build_version) BEGIN INSERT [dbo].[Versions] ([DatabaseVersion], [BuildDate]) VALUES (@build_version, @build_date) + INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'WebPolicy', N'EnableParkingPageTokens', N'False') END -GO +GO \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs index 28089a6e..1d7504cd 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs @@ -404,6 +404,13 @@ namespace WebsitePanel.EnterpriseServer if (!String.IsNullOrEmpty(pageName) && pageContent != null) { + + if (Utils.ParseBool(webPolicy["EnableParkingPageTokens"], false)) + { + pageContent = pageContent.Replace("[DOMAIN_NAME]", site.Name); + pageContent = pageContent.Replace("[SITE_IP]", site.SiteIPAddress); + + } string path = Path.Combine( FilesController.GetVirtualPackagePath(packageId, site.ContentPath), pageName); diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/SettingsWebPolicy.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/SettingsWebPolicy.ascx.resx index e2a8d72f..29c96bcf 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/SettingsWebPolicy.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/SettingsWebPolicy.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Add Parking Page @@ -147,6 +147,9 @@ Dedicated Application Pool + + Allow tokens + Enable Parent Paths diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx index 40ac9a70..da64e4be 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx @@ -21,6 +21,10 @@
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx.cs index b2f35566..9704c31a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx.cs @@ -50,6 +50,7 @@ namespace WebsitePanel.Portal txtPageName.Text = settings["ParkingPageName"]; txtPageContent.Text = settings["ParkingPageContent"]; PublishingProfileTextBox.Text = settings["PublishingProfile"]; + chkEnableParkingPageTokens.Checked = Utils.ParseBool(settings["EnableParkingPageTokens"], false); // default documents if (!String.IsNullOrEmpty(settings["DefaultDocuments"])) @@ -102,6 +103,7 @@ namespace WebsitePanel.Portal settings["ParkingPageName"] = txtPageName.Text; settings["ParkingPageContent"] = txtPageContent.Text; settings["PublishingProfile"] = PublishingProfileTextBox.Text; + settings["EnableParkingPageTokens"] = chkEnableParkingPageTokens.Checked.ToString(); // default documents settings["DefaultDocuments"] = String.Join(",", Utils.ParseDelimitedString(txtDefaultDocs.Text, '\n', '\r', ';', ',')); ; diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx.designer.cs index 8406c411..117307fc 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx.designer.cs @@ -75,6 +75,15 @@ namespace WebsitePanel.Portal { /// protected global::System.Web.UI.WebControls.TextBox txtPageContent; + /// + /// chkEnableParkingPageTokens control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkEnableParkingPageTokens; + /// /// WebPublishingProfile control. /// From 29cc2fa168e01a5b0ac9109c65353aa3ab61670d Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 10 May 2012 09:54:29 +1000 Subject: [PATCH 12/78] Added copyright information for the new MailEnable API files. --- .../MailEnableAddressMap.vb | 30 ++++++++++++++++++- .../MailEnableBlacklist.vb | 30 ++++++++++++++++++- .../MailEnableDomain.vb | 30 ++++++++++++++++++- .../MailEnableGroup.vb | 30 ++++++++++++++++++- .../MailEnableGroupMember.vb | 30 ++++++++++++++++++- .../MailEnableList.vb | 30 ++++++++++++++++++- .../MailEnableListMember.vb | 30 ++++++++++++++++++- .../MailEnableLogin.vb | 30 ++++++++++++++++++- .../MailEnableMailbox.vb | 30 ++++++++++++++++++- .../MailEnableOption.vb | 30 ++++++++++++++++++- .../MailEnablePostoffice.vb | 30 ++++++++++++++++++- 11 files changed, 319 insertions(+), 11 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableAddressMap.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableAddressMap.vb index dff91818..30f8db75 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableAddressMap.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableAddressMap.vb @@ -1,4 +1,32 @@ -Option Strict Off +' Copyright (c) 2011, 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. + +Option Strict Off Option Explicit On Namespace WebsitePanel.Providers.Mail diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableBlacklist.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableBlacklist.vb index c596c085..d2e81bba 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableBlacklist.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableBlacklist.vb @@ -1,4 +1,32 @@ -Option Strict Off +' Copyright (c) 2011, 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. + +Option Strict Off Option Explicit On Namespace WebsitePanel.Providers.Mail diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableDomain.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableDomain.vb index ffc60c88..736fa129 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableDomain.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableDomain.vb @@ -1,4 +1,32 @@ -Option Strict Off +' Copyright (c) 2011, 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. + +Option Strict Off Option Explicit On Namespace WebsitePanel.Providers.Mail diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroup.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroup.vb index b6e8367a..b60ade86 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroup.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroup.vb @@ -1,4 +1,32 @@ -Namespace WebsitePanel.Providers.Mail +' Copyright (c) 2011, 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. + +Namespace WebsitePanel.Providers.Mail Public Class MailEnableGroup Inherits MarshalByRefObject diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroupMember.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroupMember.vb index a8ce2a2e..d01e8232 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroupMember.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroupMember.vb @@ -1,4 +1,32 @@ -Namespace WebsitePanel.Providers.Mail +' Copyright (c) 2011, 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. + +Namespace WebsitePanel.Providers.Mail Public Class MailEnableGroupMember Inherits MarshalByRefObject diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableList.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableList.vb index 13f1a679..56c9f5c8 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableList.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableList.vb @@ -1,4 +1,32 @@ -Namespace WebsitePanel.Providers.Mail +' Copyright (c) 2011, 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. + +Namespace WebsitePanel.Providers.Mail Public Class MailEnableList Inherits MarshalByRefObject diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableListMember.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableListMember.vb index 04322f4f..0b43ddac 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableListMember.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableListMember.vb @@ -1,4 +1,32 @@ -Namespace WebsitePanel.Providers.Mail +' Copyright (c) 2011, 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. + +Namespace WebsitePanel.Providers.Mail Public Class MailEnableListMember Inherits MarshalByRefObject diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableLogin.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableLogin.vb index 0ddeb7b4..5ac6d0de 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableLogin.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableLogin.vb @@ -1,4 +1,32 @@ -Namespace WebsitePanel.Providers.Mail +' Copyright (c) 2011, 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. + +Namespace WebsitePanel.Providers.Mail Public Class MailEnableLogin Inherits MarshalByRefObject diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableMailbox.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableMailbox.vb index 3a75b106..0f79485b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableMailbox.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableMailbox.vb @@ -1,4 +1,32 @@ -Imports System.IO +' Copyright (c) 2011, 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. + +Imports System.IO Imports Microsoft.Win32 Namespace WebsitePanel.Providers.Mail diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableOption.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableOption.vb index 76273259..66e39568 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableOption.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableOption.vb @@ -1,4 +1,32 @@ -Namespace WebsitePanel.Providers.Mail +' Copyright (c) 2011, 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. + +Namespace WebsitePanel.Providers.Mail Public Class MailEnableOption Inherits MarshalByRefObject diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnablePostoffice.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnablePostoffice.vb index 1fa8fc2f..fcfdd71d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnablePostoffice.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnablePostoffice.vb @@ -1,4 +1,32 @@ -Namespace WebsitePanel.Providers.Mail +' Copyright (c) 2011, 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. + +Namespace WebsitePanel.Providers.Mail Public Class MailEnablePostoffice Inherits MarshalByRefObject From cf9abeb47c4285aa6362c24380564a3c7c668bde Mon Sep 17 00:00:00 2001 From: DanVB Date: Thu, 10 May 2012 18:52:56 +0100 Subject: [PATCH 13/78] Corrected awstats v7 detection --- .../WebsitePanel.Providers.Statistics.AWStats/AWStats.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.AWStats/AWStats.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.AWStats/AWStats.cs index 29f68685..b9681b98 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.AWStats/AWStats.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.AWStats/AWStats.cs @@ -343,7 +343,7 @@ namespace WebsitePanel.Providers.Statistics string[] split = versionNumber.Split(new char[] { '.' }); - return split[0].Equals("6") | split[0].Equals("7"); + return split[0].Equals("6") || split[0].Equals("7"); } } From e294a3db8a650f9a5280be375a1a1b67d22b8e41 Mon Sep 17 00:00:00 2001 From: omara Date: Fri, 11 May 2012 19:21:22 -0400 Subject: [PATCH 14/78] update WebsitePanel website project --- .../WebsitePanel.WebSite/ContactUs.aspx | 11 - .../WebsitePanel.WebSite/ContactUs.aspx.cs | 45 -- .../ContactUs.aspx.designer.cs | 15 - .../Content/Images/msi-icon.gif | Bin 282 -> 0 bytes .../Content/Images/page_bg.jpg | Bin 7797 -> 0 bytes .../Content/Images/pdf-icon.png | Bin 748 -> 0 bytes .../Content/Images/wsp_logo.png | Bin 6460 -> 0 bytes .../Content/Images/wsp_screenshot.png | Bin 31884 -> 0 bytes .../Content/Images/zip-icon.png | Bin 783 -> 0 bytes .../Content/Styles/Default.css | 141 ------ .../Controls/SideBar.ascx | 31 -- .../Controls/SideBar.ascx.cs | 45 -- .../Controls/SideBar.ascx.designer.cs | 15 - .../Data/ProductReleasesFeed.Beta.xml | 358 +++++++++++---- .../Data/ProductReleasesFeed.Staging.xml | 388 ++++++++++++---- .../Data/ProductReleasesFeed.xml | 421 +++++++++++------- .../Sources/WebsitePanel.WebSite/Default.aspx | 39 -- .../WebsitePanel.WebSite/Default.aspx.cs | 45 -- .../Default.aspx.designer.cs | 15 - .../WebsitePanel.WebSite/Documentation.aspx | 14 - .../Documentation.aspx.cs | 45 -- .../Documentation.aspx.designer.cs | 15 - .../WebsitePanel.WebSite/Downloads.aspx | 28 -- .../WebsitePanel.WebSite/Downloads.aspx.cs | 45 -- .../Downloads.aspx.designer.cs | 15 - .../Sources/WebsitePanel.WebSite/Error.htm | 18 - .../Sources/WebsitePanel.WebSite/License.aspx | 23 - .../WebsitePanel.WebSite/License.aspx.cs | 45 -- .../License.aspx.designer.cs | 16 - .../Properties/AssemblyInfo.cs | 4 +- .../Sources/WebsitePanel.WebSite/Site.Master | 51 --- .../WebsitePanel.WebSite/Site.Master.cs | 45 -- .../Site.Master.designer.cs | 52 --- .../Sources/WebsitePanel.WebSite/Web.config | 102 ----- .../WebPI/{2.0 => 1.1.0}/WebsitePanelFeed.xml | 0 .../WebPI/{3.0 => 1.2.0}/WebsitePanelFeed.xml | 46 +- .../WebPI/1.2.1/WebsitePanelFeed.xml | 283 ++++++++++++ .../WebsitePanel.WebSite.csproj | 86 +--- .../WebsitePanel.WebSite/WorksWith.aspx | 86 ---- .../WebsitePanel.WebSite/WorksWith.aspx.cs | 45 -- .../WorksWith.aspx.designer.cs | 15 - 41 files changed, 1131 insertions(+), 1517 deletions(-) delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/ContactUs.aspx delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/ContactUs.aspx.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/ContactUs.aspx.designer.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Images/msi-icon.gif delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Images/page_bg.jpg delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Images/pdf-icon.png delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Images/wsp_logo.png delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Images/wsp_screenshot.png delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Images/zip-icon.png delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Styles/Default.css delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Controls/SideBar.ascx delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Controls/SideBar.ascx.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Controls/SideBar.ascx.designer.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Default.aspx delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Default.aspx.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Default.aspx.designer.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Documentation.aspx delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Documentation.aspx.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Documentation.aspx.designer.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Downloads.aspx delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Downloads.aspx.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Downloads.aspx.designer.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Error.htm delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/License.aspx delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/License.aspx.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/License.aspx.designer.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Site.Master delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Site.Master.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Site.Master.designer.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Web.config rename WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/{2.0 => 1.1.0}/WebsitePanelFeed.xml (100%) rename WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/{3.0 => 1.2.0}/WebsitePanelFeed.xml (86%) create mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/1.2.1/WebsitePanelFeed.xml delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WorksWith.aspx delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WorksWith.aspx.cs delete mode 100644 WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WorksWith.aspx.designer.cs diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/ContactUs.aspx b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/ContactUs.aspx deleted file mode 100644 index 16c42ad0..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/ContactUs.aspx +++ /dev/null @@ -1,11 +0,0 @@ -<%@ Page Title="WebsitePanel - Contact Us" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="ContactUs.aspx.cs" Inherits="WebsitePanel.WebSite.ContactUs" %> - - - -

Contact Us

- -

WebsitePanel project is owned and maintained by SMB SAAS Systems Inc. - privately-held company located in Richmond, BC, Canada.

-

For general inquiries please contact: info@websitepanel.net

-

Do not send support requests to the e-mail above, use online forums please.

-
diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/ContactUs.aspx.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/ContactUs.aspx.cs deleted file mode 100644 index ec3de6e8..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/ContactUs.aspx.cs +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (c) 2011, SMB SAAS Systems Inc. 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 SMB SAAS Systems Inc. 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. -*/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace WebsitePanel.WebSite -{ - public partial class ContactUs : System.Web.UI.Page - { - protected void Page_Load(object sender, EventArgs e) - { - - } - } -} diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/ContactUs.aspx.designer.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/ContactUs.aspx.designer.cs deleted file mode 100644 index bacf153a..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/ContactUs.aspx.designer.cs +++ /dev/null @@ -1,15 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.WebSite { - - - public partial class ContactUs { - } -} diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Images/msi-icon.gif b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Images/msi-icon.gif deleted file mode 100644 index e53333c59deff950ca4f17e4623ef5f1a0a0a8f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmZ?wbhEHb6krfwIKlt|Z)H>%{xkgl&tRN(#yIVNTG|Uu$fPSLBit#Lt{I? zqDG3wghobIZZQo9g+fI~HZkKon+p>aSUTBElq>=ksCZ1^)#=l5SfJcInMdl#m6O5C z53wsS{;2WX!pN{dphb%HfXD&w#U8Cj9upD{crFddxAMKPK#OIrFEfMbtj*fN8<>w< mJ>_&@2<=ZQUYGkJlp(4yYwo-p0|$nfjfu=Asa}Q(4AuZ#k5;k( diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Images/page_bg.jpg b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Images/page_bg.jpg deleted file mode 100644 index 4f567472213501afdf41e6c251c322ff13a926e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7797 zcmeI1eM}o=9LJyQ-O*QA3s=U>l0n%)*RYqwG46ZT~WGyJTu(<2p73$~apaK9O0~k^RB+!z= zLGvL$z@Uvl+w<&@@C)()P)BCgX5Opd*a0T&ly zLlLMPS*{XftUyAn5^l!xAZiu~hy+9eA_0-WN&+sxfe>I}7m9`SwBnwgSS)NK$zaq- zvmq~MWI_QlNry?3v62M#+GLn!c5|^}FW2o4I?8^0=e@FGKkF##u(njTgd4aXe^Y;i zYwN$Go$24rRI_EZ&Rm5(X-fve0WL-tCj-5~s4eNxWun`lEj%W5PJ4v)**uM|MGrV~ z=oZ(KNFbfV4Lh zk2!SlxSzH8XrI-~vQ~qawy*}1iKPuRYcUyEi-oPSnzopICa-QWJD#!z|HiD>?_4Ms?WBMV4i^j<819{1 zF1M2_b7q`YXkPS&TL-PBjfOLeZ$J~1WCdBoCF078KvvG;=@M~eMIb9@@pS#qa4i>$ zTo6`>30MlIr$7ThB@*F+4TBdh!*LA56;f%AOr=n%lnSLXH!okEo2SWBD%FK*O#z|R zYE`RN7Znmk`Gl4bf*>fIgW+-*#5%XJT%>#Tz*wR}`);T64>Wjb-}sip|#BsU7+uHBEtE2Po9SqC) zx_kWhMq}|kiR9k?fd>vgciHL5eCg$pW3Rk%eC))VZ=D=} z`~45joc-|JM<1X6^s@^WKmX#=<;m$QUw!?}x8HsL!_53oKVSXj+ONO;{)eCo0qBCP zC1roprGdI67=~g}K^G!Pz>aD#yu_4~U+mq zo@3+8wTad#iaI}P6viXt%sf>~w0FIlA4m-iP%WQ~Zp4W{6}Q$5?n*sJl^i78b;<$C z#!JH~zPxLXLZ5o%oSPy*rnjCYUPCCt^Eytr+iUWsD1)|238yp-r-mp%xGCV|^&=p~ z>p|*acik#z=uI#fz6)AK?$*@cDSe8kI^iv+M#AraZhS=$q2SWM7@Q3w;GH|i+D3*u zXo}dr-OKM2GHWxTi!wPpS9lO7-1YT*`Bl$JAyOUTnN8ha$m@qCuzP2rTU{4?E)|ll HNnid8M)w3G diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Images/pdf-icon.png b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Images/pdf-icon.png deleted file mode 100644 index 340c26fcf840dee951add255255d0cb77b93340b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 748 zcmV11Q!mvP$`%0G(j9%6vU{J2*K=JNK6prU@GAsgQ$h#&&<3xw{z~y!?8N> z@!q}n{Cww}Pk16hyt1B30kVgg48;8WysWFMg9royFijI;0g&FJBK$l*$LFyzh~7w0 z`w@&tx0Gli2s;ZWd2YPc#PZ{)JiGXa*z`0)`Xect!%f<^=C`tvJTy&%s#h>M3E9_| zy@*p4CtaQrei452e>e=E&j-mx9#B<|`hNeNv@8pbkr5pRVD7MufwdU zP+hF9u3nK;1o^wU3C-(OU7gbguC*x-4j@ZQp|7k!FDp~`S8cAXsc0Dtsw1}uIxB|^ z?OLy@0ti~ppB?yK&B3;rTQ6ioLj%&(5kKLXU$<|YYQx?Ob%Aw zmthdbySs68bfnlN5((_>?NQrn5K}p|u<^X>>+2PL+eCjq%&sn=untay>)CwnHur7F51--pUEiY%qL+^%Rs5fTwPXc?w?4*Z6$n^988yj#eEkPb0 zl9-O6pPaxN8v1LGd1kb?L$Px#1ZP1_K>z@;j|==^1poj532;bRa{vG?BLDy{BLR4&KXw2B03mcmSad^jWnpw_ zZ*Cw|X>DZyGB7bPIxsXkF*P7DFgi6dIx{oP{7Mf102ri6L_t(|UhSO&uxvRKfb-V2 zZQHhO+qJfByVkaC+qP}nyXWsO_4lbhnS-3UGxzCq)zrSdlXQ|!(rHhhM8GxBP@the zLxD&N3=-L{Y1UAnp+G|cPl1MMGzX!fKtq9A6lj=6Epj!D8wxZOXqZNG1{w-96sSdk zhH2CySJSwmKtq9sX*6e`p+G}{S`_HhxLjN5_1ka1xwFnX%kf`4($h>cjazx;m1_~U zZ#Mq>@4wx5-+kvs8D$hV_~3*0&8akF_vaM&@y8$iUEoY{7iO7d7S}M1oK5}u>#yC! z6Hn}Z{q?TRa|=x(^-hW=vvUw{2|x7Ai#xtCsg$;~v=Ozz~9Pj=H!KYf2O_hyp) z9tGZi|9v;Tq*wbWAXw%cy=bnM^Yjyvvf7him_8)T4tEt>TX zI_RKogb_w?Bab|?n|$)gJ)@jriYeTXLk`)$Ew`VX?*|`z;HH~yy7U3{cTmKRWVYF6 zgN>x03opD7t)(`6`|Y>MSYwTq!FAnr*VV>D2f3&jJSUuRLR)y+=_Je|8GZE8)A5;0 z{{Zaew9`(Tq1)6`Po41h{t=Eo`smDB>=`Zk_Ygx2k<2>ltjQ^-oRY{x*gr12pPI8s z8p*K34x8?SFpXr8!3G=5t+2uh87_C{WPV6O;g@u(?TFLSE82IU@pWH_ueH7EQSK7qR+fL@Mzy5NZ!|k@)&Mm(9 z;_lT~U+tB-4ori1xo@$>7V~1B!lREq>VEm(N6d1U8BzD+g2RFwYbGU;KKDeJH z-3&9#;2#gptA6I6e}1o$VDt^)i6@?L%PqH@<2*IcK?)!XA;wKP<&>!iA{;(>{PD+Y ziAjI{`DcroBhySow@hTyYT-KSsG~As>CQXvT&sUi8~3m3NjvLC{1lr&O7D#}+Nd2g zUFmcD@yBP*!8O-h(=v`cQi*uEl21SVG~s)Zv|3b}x#pTHkw>sAa~#l-=Bg*~pW%iZ z&KnvP{`u!0cmMtO*J4fYyz@@V(J`i~t52ATd+4EuqH$r|dho#q)AktfcvTwc4h4`5 zt&y}}HkgJ|EEG|L`#9r_<5pdDRd@5vH#>QBGLkbANB>~R?#>Q(9&2ir4s~IeM&2eB zP2qtD9!S*?+?5keG*Q~Lj*SG51v;q$o)YQ`V znVDAPl26w+Q|(w%rGe(h+FyMi!TOxx^#j7Dbql_n|=1#Q=H;HbzJrsKsrDK zRKPf8af!a^UU=b!7*t-BK}At$M>WBS%K>3tb&ar5lQfNpn1i{(=&;;(3jY1~Umw+} zxKZ=E0eGgYO45$UB5z(q)9N1l{`>FUn0hHr4Ci8}OWWv~h?xlL`42z*;O9@wPB+gG zXXeW2QKxe@P7pxqg1|NU?vAh2I>m30>@4ox4_x|7!8h-fU-FV}T z=U5v$?}QUh7=^E_5%!y_uDZ%0T`?{fgt0~%X(VsShi1zzyR4I#fm&lhvpes+(-GMA z;)^eO>5PpA_lP5o=v6*!PvDk#j9lE$KmWY%uZ&>z)mP7Wo;XD3op+uO)?u%B9PD95 z(v$cI$6hGF#PM2Gsfip;0?RlMv!-dNj>;aDw55Q`xt=21^Flf)1&;#Id!U&20 z*X&()-Q^$3H{N)|2Rp(nV4}<)4<2+Ucn%w26@2o^Cq6I@fPS3)x#ynS|39>aMps{b zwVxmR%ziPB#MSuo1D)CpP~-e_7g!I$S=#vA#-rK=C`AGP2 zB800n5O2Tz_GurnXLw6B9tg2Vq<m zRt5qIk$lh(7WXnJ@}4mNV~#l{8DoqwD#u!Ap@kB;fR(h<1`_?6h+0>PmwlOe=9v?` zRe8YrbpQCTguiE+NgPHZhbL+riw93e5kQyIPd`1816hd|+8uf1kx>C>q4z`>bu>L` zxcu_VXXYbJKGUCb@W>;NB*F+X0Zew?;lCyKA`!+?IS+aKGGiZd$RWPZTW`IUEWPy7 zm2?s&lgQ&#IgV|B7fD>^QRh=0&qN-NO8j}=6S!as97Kqsgo1&HT2YEvUa4fp8D~uU zth?^IX?yXJr+>$-#{|kiEZiAlO6)*sdwDsMHP>7-cLU@#C_D(e?6ONK;|Q6?T5GM9 z$m@_04QCILNC5r&t3AtNV9yLEFLEOB9l3Lt6bSE%mKVC^ zd-jzFwhY*Jksi{%L^Q($L~Y98D?6tWmy(DCUwM9LAnHxB%reWg%#}Hmol%%f8B{V2 zI`6vcu9<-);i(iUOvN7R^Ups&ZGYm4CuVS6e);94xFpdkZO>wFy6L9E_FNhfu`>8a z9d%Sc|9kGaCy~T0A0KkdEw?1Z9)uU~j5E$C#2qq?_10T2IsEX$)3JEzC4kB^1jgY2 ziCFH(5gS2fPLoVBNy6)11Y*_CwCA9T5ij9Y6fxO<#9ovjiEOsnX35xNkDW-4McYh+ zQ2(vB-a3J~vo1--%g{!Wlalqiy@T};PA%4F>pn4gA7iyD<64NI<+U#qAM$(wJ!>Eo5y zdz)6k8bn{`|cB^2-V77VJgH#JAmc+e)S(YG5MK zubI9uwte>5ClSx3KSPXx)X5{uW2fV=?kldiqHv5Trom=|NRdhya`eW+HLXYm;jOx} z`R1D!;zDA9v+B60He!e>Y=6K32V{tZgjB};kz%Y^4p9jR%7c(;Aj;|CVk61|g*b3r zY`ghf_B{Hq2T@D|Zan_@<7YTDm#7G=NHp)f z^Jchj$Ot%8=v{fhg|`bqwJ8GHS_Z(Ps|X7&>=E`LAuYr(4ef&(5d$y|%Pf%|@-7GB zvK4<3^Lq+)nFb=deUW45KtCiqr42SEE@2fQ;aRbL|NZwb?9wjNz@A{&#CT$OY#E0= z!3Gp#x1%#sh&?}Qr^s7C$Ta9D2Kmy<3?8I6>|u7CGN~BGWu<8BkY$gp&ULT7_R5T5 zH3Yk!!iZ3rU<$QqJBI#t>;Q=A{A_ky|FpZd|-qWz*h8w1B@ghiw zb4y=5PIi1@)=~KTg+^zdd8YTgD3G&4d`=Z?u)zl26QKZIVqKaxKPqn=@W|nJc#N#4 z1dj*avk<5gA>x0umjXQ2qoJOesx|BP2OfB!Pv0*CyfvIt3-*qMeaSCUS3e#jVYE@D zC`jnDB`b)S6=o5&l-xoEmcSq?is-~Wh5r}e^5(@axMFAUE>S+XNy&!3_10S*7jnM&=5w2DvPmX5 zkhzI%t*|CX)WH951XH(lX2Oi_GF-Siaihinu36lp3amK~pq;2y=~sj&ls&c$Jc+MZ{141U-?W`gIVa znxmqV0;Lsf^kvojiDgkB#s%gb0~CuQ6IVY(3&SYLWF@;dl!)1Dm|G_#IO1h^uxF_6nN;EMKgap1$(fX%j2 z16(VQC@danK;fBZo=GcW>EBRU;F=1kG^jRt5Jr|lOkVNW57DU>v^rNAu@EWqQm@PU zh~dHwm}jTqn1x=hqieKC1z8*-G=?Lb3<*2r9bV$njKcn zDVsY%XfR#^ulR78@}h8g@DRTVzOzxGRdj&?ut!`*f}_Mu>bBWt8z*rU4hDq;K+u{( zEW@C^JquOyKpL};HfzjVr&H?nyMR(GNeYKE#TysFmV8FDM^2v)4K_6xYR4IM``gR2)oDB|%8oV)qGO%Y(6-q-`iA$t{j zmc;M)aCOq)IXg%Os3zn;9d_7Zj$%DAfDu}vQ@y$)aTDHlN4`n8Pg;i*b+e8dX6H~x zZHSpWZ92UVu?FeF-#rn3az>=WyP?I0nXqLdY?4id4;PIw%36)Fk*IhZrov+bL2NGq zYe8ot*huULj8XSPoWITNjoqx+c3RDx_AmsPYaUP(SKMm8hKU4AwWxV83ko#Dm_?$C z9lmSr!a~37eNXlvw(vCS0r?*i9`23b*fOxcQC6RvqAKr-B?#va6-Hc-8FiVxAmf|V zdXWx%acj;ihC-N=&ED=Bfg=&y^|B|ZKt0(9)*c0AGLsFPMg$dI$v6M-!w)k-I{196 zfQUeukpB<_MzkG(s$%{2MX?i#U%VKZXf|RZ@Us&WQujm5NM1fnCn|R#wh}a?YZha0 zX=JFS9}#>6`5=~RfBWCE_<-I}PsCG^nHQ0UJ=uez!pH5#X;hs>z9;X((iF7>HK{D# zhqGeSEb6EyZcoX#3c^z1j0Zm|rGUz#Y3pTkLfwq^F!aLWLRG1^_Mwz%5CCF}=|F7a8f;7juGSb`D2(I4 zU8F%eN?-I-I9?gRpsYKV*oICPzsVb$dB*y%wLdSHeU)PCg5-@)oCq%?OhkbS+wDj| zojA+r%~s;W7Sm4k`cBNH9UMFYmUgkfKnJ6#Q_ZfOxz*{zU9eIbH9G2)=&UoAZCm*R z(6)9cK5UBISSx;vYN7+$wiGGB5^gznOqDJq4I4v3(HN}h-2^TKzh@Z>tc`GH1q`4V z?|K5f?h{NfL5hM`udeiyH$I2X8a899M==jP4hk?;$&~EL@_Myztd}616vc~r<5I>F z180SmHt@FP1y9D}i)~lQG_Wz)mmN2k9xTLdTgAL;P(s7ih5)DMvZJB^==)f$s{p%) zEgDOI+-0#*h2Y1{%Gh-z6ucW$#Hs?M3+7{AB&sCk1sTDFt%s!yH*>c66sV2uR(7)E zz|gE~7&}Z=P#H{yFnJ5OgsC`W!k3IHS={~T3 zc)i$r3B@mL8$we1kv&lSl&J;)@ z8d&Fxi&Gy^`t}PTZdOWK&eLG-Mha76@-&CvY+E zuu_+f0Rxk?<)2mG+w3?k_I>^*n$*g>7#qB7pAC2D02}TM{Ycc z?m=G3Jn$2XP*%&Ln@odZM&S#s>*w5rb0)-`b73XieuZhUhf<_C5w$CKAK1gPyO39) zNY7U7I1SZr2xG>AZvh*GO+?FlS@J*FEy83p3~Mp97(%q9@RO7zFLBF{9Lu7;?Iko8 z;>D4d)d>eKjM1R4)wKy-Cz}$z)*4~aA@huC(1o@npOpcTlzEY~;AMO}cW6c;8}9D1 zko_=@pvpeM{BU(kj!VlPYiK@g!YEK(7jwb*MrwR$W6?bb=Y&^|QUla*D6`9i{W@Xz z)p>IcNJ`5q!N9rEv9ZBX1BA-qoOv4+U1l_f?yO&-ZhVKu9b=p(+Z#_Jj*D=w*vGuP zKr}Ta1x`Edw8CS`8m!$7TT~x7O3a0az<31|_*npolGFu;6R|u~zy;3$zVdbfoFaO8 zZwxg)FhW8kJOf-djE1CR6DxuTrz&)uzJw3!W^t+1iv$A^QQhY~;5DEP2MgmG3`HuL z`Iw5>m<+<`xpago<3`orr(okTQbHT%4TFq{haqhpTndC*#}p`{J#`yIo$_%ZWS(-^ zSQq0{tfs1f46b=XDj=iTW>S-F+UXwx=Mu1&7y~in zs_Ph+GV6v>Yrr9l0Op~Y(Ug3Uq_Ny(P`-h4qCjXuoky19L~2ZD4`9kML2%3wno(m! ze_Dix4F>{ufslRf0`p;ARoUB|cMQPF^eCVd%`~buxL^7nBI#x3z}Bg^QD+?-I4*|% zHb$MkMQxck^M?_^cw!DpC&mqNFb9}MEb|NdD{WXuH}{~EYv;mgjSOO9x{+ko$@#|M z;ym%;4zLfMI8Os4(}*Ev)25+7LxJ`vP#LGu9@?f?LxF|@11bd?rZJ%IY_qP00$rj& z!!)`?*amGwfdQ2Q4bvDGjfre=es5{%NtD!)bDDXdc Wj|UL|uI4TP0000w8EjMz4qC_4vu5|hf6!V_`2EI*m?jea7RDDQJnvwZdPXhk%Bzz9IXKFZ*kG#Z_xjH zqv>qz;cez-1u$}X{f`{;e}mh(TR51(N!6X`ceuuJR+;gd;X6L;?gEp>d~0cGxr&7h05osuAWBFWK4S|Ud!i^8B}J9r z=mmGU+N`>uv_5Q5G;Z0$*6usb2!IHP0AnFMSZ*Bb!TFgL+zmu^u5MG8buYnLPk(x9b$;c|AT zl>$$H!3qJ8N%`5+f-Y!{Tzq#trRDDpJ5LyfS|ILW#f~Lf4o{#{ncod@?T%c?;?PVW ztUu~AlwTxqF2zL0>Pt^I_vsBa1Ksvk2)C`0iVRO?o&n`sN)Vsi%@fq^KHz&|LNAmo zJyztStv>$`usg)kf!%go`R(h}`6XL}$Wi^XVGXHQRv$KFY&+!9Sf{yxN|-UxqqL>H zx!yL*debvgk9o1VxjCo&CTYW+Rl3)LE|kWmns3EtH@U0fOU(DXzo*eXJ}k~-WADa% zTwEYi38@^qiMAm?c_a2k{xEA!jH2JJK9GUOCs~;xlhYge8JCOcXse~bkC-8ZG}11V zb>f`Xdn<9EJ*DGy{TlUr!8YBuWIhfM$?EdAa;yT-<`?sAZ5mQtbAnefGBR92tePqZ zs^BAyC2s9>lGF{mTiO**sV;EHl9Oyu)7um?a;SuHn*n(qDOrWl-F-rdHA%CA@yobL z%r6NsXHHe4TDCO$XsnXsfCjSe(~j3jBsagU)pGGW$r{5G&#ch{cTWfdkj_9hgNZ32 zU~hqGK$a9~yqmDX;crQ)dwR2ALk`=XBF>#z{dBbIux)i!b@Sv{#^u;9j5EqWrr(@5 z?pu{*BdK(yBT`i1@Kl3u@RWmBuQz8Sgvi?uwkECy+bwKYujUANIvYvkficzq9EI&xB5N1Jvnvhbk zO9*K+l|OFCUNe7{n|dD+Da()?*nlQp8_ZSpMhLk}9cJ08nSwM=B> zn%iq5hlQhRdc`ter_qVZkTo6mbR$V135_%?#{vhJ&=GcM#1bYbr&YI>GV~iKfnez` z@;8q<3b|=y(6;To<}bcSMQhGUA)1ENbc7N>PtRqc7bx6Rl=E0&S*Mm#%`E3G$i=tC z;%h+h5;lD-QFwYyzvSj&4y0GfWldLl0n27Gh9z~uH1_Uq2uprK!zMjjS7Cha_`nRG$1JHcTB3| z1($Y&X;$|pkin9CmG}pG3cV2D)V}#8T}nkx4VYD* ze8J~ktUbZKLW1`(ECfUqF+=1O)Kh87>QWbeZWo>Nhis3Q_$f&tXdcQo%>zWz8`lX&0~GmQ4OeP?8#(7MnY!|dGCq<7$CL4g7NoN{EVIUC`1_HOidUiNK0~k)AL@m zHA<+jGH}==FbdZ%@BKlNd~)B^0F4qW_ZihVs6e89YnV4`c&Pc!YO~_{w&Lcpcu@-d z67#$A6+D4XQ~)i0lRNJcI}6>mG*p8%nzj*vrmyw80M&SR)^E#~L%1HymS!P}ps|Rp zLIC7kUehQ&s3{lbNXG%b__Jdm&!y&=J?qT>eF*VdY^c)iO& z`b;k$upyv4<4OrY>#bfnxw*bJ+Ahq>$vM9Ed%Qg(`SVa)+>n=(V;QTgq|~l@l%{dw z)wXcNJ%AA|RioQJwH$dH2|c`iSY2Js6ZM}?w}ESVyrR^+{mP@5c|TF0bzpS8SYk_O zU%-*U1}h;(*EvNO0)Us7cjIYKAmOd(!?0=)KAws1Zd%hu&||{O-vpS@A(Qz1@XpT8 zc&_k)Uu!m+f5-fonydU<2NgW}-3$l%0_ z58T0d`yJ0WD|7bO1o?O12L0zc@yEKdvN8jIpcyHDwsP@oB~{*e;`jGu1`ksY#sbe` zbX5I!oz%#Zq!F%^O!BnFS_;JlHR|Rt-ait3HhI2#QxIP zyBC?fHZS+$ulw@Jl;S~8;UvaGyKedSqc%8{f{FTmFE3}WFL&qLbaZqk57QYD5fLS& zr6xXG;UgKG)M5d5E&F)}#>T`_?3|pzClC|GWO}UL{XGA8?wgF@`wT@z#Yh~ghhHR} z06>Y|TOqfd#TpA$(d$`(&hxmLQq@SayN%Z;pyFFJzyT-Q?B&2kfcuO8 z_<>&D+S>Z?x>e(FvnR~C<9fd9x#{(0$tK^CkNow&{n>cz*dUN<4!`ZHy27vv@ey?n_`wk5h4K4A~f(2fJqj$Q}`qF*15B**@rPe^KGE@wg{uA zg~@A~Ui$SY??n6EpBRHi2R%c>r<0AB6B1(|v!I|(ukANmRn7;`!;R;*;Ea)7k%`9x)!>J#8CCzh+yAyL@Em^n!Oz#6 zLFX|Ct3MZxl$Dh`Zk8dMnwqL2=U?`HyRHqoJdYP^sD!1-BMyQGsa$?51Vx0I z-h4*a({9&YOqb8|^+NEickt~&X}+<5AVJc67B|1Ja9e%-l}+%C4Iq(zxF_t*%p}!< zCle!M(5_C$}=wt7o|xDeR~fw&K)ubo~%T z!1T_z{cGzHX85m1(g+?g2j*f<<@fDsNZkc=QWK)}{go5oW#TaY>`Hew`SsSnxYup& zQL$(-#A6eUB%&w)-^kl`M2RiqjlMwea(ERR+k#7P%?5l%DfIXAO`ZR-3?W8%R8&+| z;0dIzt`4r+1+XkUJg)w2_5P>OhJ;jwpUN~#_xAVO)?jv7mzS5WlA2E0~54Jv9fJvUb2!qHM=ApD>?1GX>^US?)y zHtxs0U+xlKec=4{dT8=oel5KEBQ@vJtt9|Xw(-2S!9g5jMoNqku458-9e66T-5Xv~ zwEHmx5t)wL+@Omh;`v>6>t;u<&)nX~T5~GzIKRj^04Q0uTMSa+L(ol~Jsyi9(VuIhX^q<-q526UgUwS|FxXt9Qch2>mM1ixIGJRj=(C){vZacvs z{XH-5<%x4}n|65zTy4OW%}?!e&Woi8fUzhw5otznU$Y&hkyV6Efs&ZTWO>ktZ{sdV#-@= za?ZEQvaqm-FjG=d@%oS(5)yKL?mANIb-b8FKU}Ps!3bx~lZ7CT{E2+H42)*->K}0i z-;cm`1=8p9^K-|QMk0)G<0_KDbGRnNeJkR#^(#C)9A#h;X4GcikYz?H?0s4>XMfQ5 z+m&*`lhdd*b!0c5QpoMF zpU+)kn0^v4n@=Tb+sDZXZr0*Dwx8}V6GSeC;M}uUza{fUa`KdaBu$KVj10t6{2tFI zNNs5UOS2uysNpjiHAYeD^Yb%B*CK37#xwF1)r_=+IKs1wi8fEfR|8GGOpCvqXd#k! z{S-BQw=cQm@aNhL0iE`6zsf?_`w4lt7fOu*ObQD+dEDrn#A=K?3-~i7yLzO(4w|#~ zA{B@(zMZ9Qb1!lwiZClm39R(Y!lwy*JvF*TYKY^dB~}#SEicJnvDt#y%njanv{K6J5Z}h%fNtuP($M5*hRxXiY!Y}`2h-RQx{<*{ZYHo^yW7f9n6 z+&>lL1M%c3Wfh{o?DYpP}@5Xho=x_ArYDaFP;9$g=TsK&jj4}|=0@9XC^Y6279!n}K5 z9A!uN^9>wQe}0m72|-8qu74_1Sx`lbzNfWW^%~vc$Z}Uo-ia4rluu@k4%jf6AR!rq z%ZEZ)n`=w9lmZJW)$%)>1l}HbJ3u@X$kqBj%;$e!U>~t>)K_V7ZpX@E)|wTVl+CKw z=5~WhSqr9RVM6fCD4)Su0N`nDpW2~aTbs`C&|PApg3{Y7WjQ7GG7@9qXfrf@BvA2zFI1Z(%IKi9 z{*YGIaBO`X_#Q!evfgj@(_=-+earL&9(s}-ouf|*9Vm3VXki-BQDn|fQQKV*P>r3f zt=ieB1!*uR1lB^Tl9Q5LA;2USF6*73O=&RgFs1;Q7@rh%Mab09IF?pw!CbyTNOroL zv@aR@8I3g53Iy13d@J*lXxcPMpw0fYMF8-S>5V`Qs)k7l3|fzk8A#?O~)~U6GR3EKHg2 zq(8T)1?-CAq z;bv-L2KCd_UbV!mnU9@ZkB$e9x50PFCSHYsB-I9WBstJ^)qwtqHQP_)0f? z7?vAz@MT3ytM2pZqLP(oiq<92Zkh4bh0!h;lV5+}B%ELsE}VQX)k9>U7{p z^p>7AQH{s8<}Jf_@WQHIK~wtEdDi#TQ&a_1$wE9D^S>x(v$}*cJ4(XomZX1mMW9;A zYH&dyYeL74%Orsr0geHF1$l@Nr!!MREE$2x>=u1|~jY%u9764(F^dy64TEo9~ z1C`{lv##`|-`jIY3`S{}=ZY&Ny9XhoVFAg2o9V3^wlcYLMuz{Acynlz92iTzUr&wrU5WsRt*3&vlD$hP5bGYbg>)nC4X)8#6!;vQZ& zQ;`E+*U(7mv|<_Xi+>X`(rtUuNX`CmqSe(A>1?_QetEF=7Ngxn4DZ>NOX@U;(52m^ z3?EL>wM)zN=jCxCq5YGiXV3kEGoV|#Z~Y{#(%?*T`tn*Lt*t}GjsTXNbWTHaqB^s` zEpSME1*CZoz7?F%mXR3Ooji;=uiQHG*R2er5)3{`eh498+3@hJPO73mBH1^ z;-*>ijJK0)_;lNMe~Om~QWWQsQ*4==Wfm|wR^GKXQq!*tL=HY+C@NwTn)|l2G_MX5 zUDTX~lVjem_BHm{_gJBc2Oh147+JKicj(Ft?1iEkSNZ#1jNbE>l316lR9aUp#QjoJ zD66;55ms?p=^M8ZzZF+LUd3+qMcIPM#Zt4VW}-wYt8k>V^&3x22w68BaV)ItD%ce- zQJrws>n#7~;xsg-kBhk`5)W~k^1MV@Xhe{3xm!i1(uYZ<2I&=JhA)8*V}xjr4K6g@&k!%Ql^+#t!$XN zKdQ1)6ogQ8CF2JTlJSXPU^x2vB8_7udTRZhASqf7K})E5~Z;A*SWz@M{crDsH~47@jPTXV07)_~9dWTuh9iLqS}{sFH^ z@%zZLu9t0Uu6Ol}WvLqa2MyH4RT4!FdxlT{!p{OOc=LmwhMDF{QX|`Fxl7EBb4gno z?(jO&6Z`pi1BZteMSx4`l?39)Ps&v@)`nc;Lek?crm>gq*b?reR$>Eg;GDB)? zl;7(XE~zLgE3gRdlT73vH2Q~|yArf3E-3bt?H*k6O4HFbwEHep<-<*(Fo>b@0a_^I zg^L72#5e!oAYT+)yqrw%iS1UiOL!rQx$;qR)3a?XO{S)v4B!1kE{dB=;${0>GbUG; z3rH!5glvi>_-5cUH!xr>XN1fp$k9RU&!O-^4BO*&S{)7Ieq#TvmE|h`2YU_|8l@)N z55B$Q=reyJdcK$%y7W;l5TGn;00F7QPc(>`^lMHO0{ut+bIcL-Iqf1%v$mWKf!K?X z%63=lM%_wB3id|*lj1a(CVNKs2l0&$^}#yBv!xTN0v4;H+|xR`6Coet{6r=EznQW( z1q{|4#l+N&xon(9)h4yO9TpfdpRF%%I5iw8bLue1b1__T~C1D~( z$w6k3^&v`-G&?{wGQ}uGe2?Fjy*5&@C1FJNB~h2U`D}~##Oqz3R@u%?0hnoBz{H1+ zhw>}Tgn17h9YkfG?3HO$Moap;G59(FO+>^#G3&aI@@ z&(CisrC+qaby$FDMRVqhtf3&K^p`EQF8t(-{Ijh}2^xy+g&QgyJB=Ww%8y^iDVU!> zvP`lX!E1JoDHK>U?~$S3>KQxa=Vsut8efQcIaU)@nJ*@|Y-ra&vfp`I=S~;)sm%08 z7mpfS@YU3s^UL3{&S!s|4=1nt{V~OhtHD>3+s_YY8(9VpUJze4$3V(KJQfg9e=_ve zPt2Y2U)DzOvqOWnh6b*WebJtnr|qA=;~`@;b~ctG6^Zj7E_Al#H0tN&E3BmK$cGyG z6`;(5%(SS?#kCIp?)p9-%}J$kW-tHv6?Uwme=&>4!Ft}S3M{ZR4K&;OWv)sZ%56>h ziw7H#N65g=>xe(0h`;~AHxVB3ToF?&+TQ!)oCY2yooAScy>v9`Hz=GebX^UL#dzvh zdY7hu;S$`>E-r%C#F+FMd2j%LG}LJY8P@n>tt`1JJ@2&nxt#lO>E85i&CA?;BPUlH z);X~T76$SvIV_CFq-TS!OI+u`lT{RsiX_Kv6Q7Fv%GdKkjbcAjb9hzDfug;uOT!IW z;N-*tNfsC9C3wUC*?F8oHTY^%ZY*w_6i`$|LEGFHQScxQ53@u3%#DP5={c4|4KuP$lRjc!(Xo< zD>G7Rt>4>g@bK`4-$s<)OX?7YLO>^x+{fx!#mgw@8-x|B7cmLO%GAzsjgZhtva6;~ zN`@xoWjcF=kpdAG`)=?uj={#V~tw9pUOqS)A54f7+a% zw@1>gcISuoFaJxbLG;q?vZT;xkS(zAJ_3(anx|-K0W|7%=`H|k#1QJ<<X*ld=5q&t%YGy`a(No-$36UsJ7D*hkP^By zRC=(2f7yHylrV`=0}NnRQiMo#FL_mOcNgYAjn*jFsYCq|06qN99n$0_TQ}Lw+F|+| zGhevD-=OViZp4ww#1dHWTv!0ZqYCq1R-Lb~ zv7Gb;h%|cSGSjG(x?a)6)Kto@XEiDOU0b~_@;K|Xqq7hykz4;cWlGsok@Kb^xh+S!hY<(!EJ z3O^s*Z2W@4g-&COI{am=CzM-y3rmhwZs`p&O`I|uR8Fj!Ojr$b>~~^z9SZ{~qiB>S z-m&2CT|FrbYSu66xIVJpr`Xs$j>Mbk(}j)l$MIFTXg+>0UnIO9Z*l1BCOw1eyi+3`*H2$XG~@DA(FrCeLQ3JKD>GyS zW(92d=5yB~7G98Ic#3OEg{+(F_*oMt2bdW*R$1iyAVvIXW#|l{x}F>jG*DxBdev&I z81FfXx2cSmrx3{5PdzFiFK|VN+$mrAD?x}Q{6XGw_sHg&4U*DFM zlM?ETF^KX&7%m>dXDhu1{Yo|FRcBT@cK@fO1O~~oX@e@C-1OuqZJyMhbC`d?85mv+ z`-`DvhE_5cDW&hOgl@JCB5!dP6yiJdbN*U43q{d<25U%5Rq&VH95I?k&zVZ~%?;8N z=VWH0hkjFIHoW|-(Z7Hk4L}gmI0UyD`!C=YL!6k_Tu$1$Y&8eMK9WYj^Yw*=g~b{N zL67Nf3Ul8F#p`UfmiITJ-nA2FlW3(l>M&Pue7eq9N7)n*l6aZrN;;y6JGwy z5)Tk6i8kE(f`1oO`_DLc8eH}q)N6)Z=1BdSH^OI*tV+0gB=v6)Dqi4*iLvoJLJTQG zPKzB;T4;*q<+VTwaeA`3n1Fum_%fmE9$F7}4-ijIv7GeAQFStrbrvj{+#Y1-)VOrt zm*=P&n?USv6lQW-!laN4ng$+3%9@*FLvHdvMWOcswMPzMjsP{l7}%p8qKiWiQKnbm z!KQxAg%8A8QJ-u69lPV16_^3Vnu?5HFe|+{Sq{P7k?miA^;b$cd@`voX0~6`?N()}S7UEOq3VQdI_@VR zm7ss8{lS9nW$Ty`7x7Dm<7AszPFeo=001-X7WOf^Vz0cELU}!9h#fiR+B)2_E)j7) zjdoI{t-et{b4kIM1_06l#b>8ryBQE-SeSA4L4|mHLvnLDu91CC0*77dV+@R;Ihl~2 z6?By(zr*&O`;4qD=0#gTPn`bWip@lhwxur2jEoUuMWds&6!k$NV?2)&7l&S>jEn3o z)v-rgF460D{%ZyFX@rC`EwU-HBPA|Pdt;LHu2K=RGVBc_F-caM0{2DR8uWsgUwC~o zJ@?IxL)&%pNNn50d+JjEct*e7r_rVju@!6!O;Vh)Q-!({l)30(Qhb2j+P_bQA0!Rp z>3=1E=S-UiD`=83!5kSCUN^7$!Bg(CUTHbP`Cu6U0C5>{vm{RJmIZ8DiH+iPC8UNN zQ^QiZtUL7)AfCLYc1ycE_(6$Tn~?4J%bu#pX79SLisXl?sUph)0I@Z3)A4EtkGMfO z;j@>;+j=e~vimV(bI5z)_vrUQL|)Rxk2!zt?iP2;6pi}JeckOZD1m3}oOz;5iqifH zI8@?+ddm!T$qCQv#brx@ZG+VDH9OLya~q#-zlM9=t~lo(L~u*8@p%IhtE;@T&cw7d3&!n*jhtjN(eaVU^GzA8Q`x%zW|snFql3-|ReQn$Z4` zE$NFBc>rTu@&Q|*`?fSqfy%EowdHj8v;q}STgc&EE75PKq7GgEq#Fw=wrF&7yO+K3 zZXyXl$!@%3Ht-i(?~8Vw0magEelP6olRZ-M!Pl7Y0b|oVI={!1l_whgLd}xFCn|%i zgiqFxGQ5+;mW~-+OkX3awc3820{yW;^&y4g$ZgesW}88Yq_odrDJht_ zd8Sx+$^%@nUT3SWJ37I;@ZA3O1MPl*NzH6+v~t`@UOqEJL$ZF=E;>`0CsXW0j1V|r zYvDdeLru(l;NJHm8;eeFo*t$NiA3I+Wdm{ zq`#GfjdMDu#;@BeElw4SDY|-9KEb}OobNYSPI zVwOovnl;Zvmr%v^n|`PH&RSQnMfuGsyhW}>U>ivqtT=WfZk!`8iVn5qvgTpWh}l)R zA1=+KrJQ8idr<&FH2 z!~H}9z^ID9RXo~cDF#ld>Z9bBa>(xQ zCef7;e6TzzWqm5@LkdVuhLlS#PX1#C%4e=_QH(7bUInILYO~zm6dz~GDT-2cXc;AIt*Gd>PU;SkqpZi?98)Pf%R(`)Wxxp3 z>_bv{lzZpUu|JB$dNR#+$X(NRtZH6XT9%~n`Aw@bGftwBf99?rTD)iEdoBVwnSV|i z0NRKI^tm1jj(0er0FxFj$2r;A3bf1xc_KF9ol4|(j(QR~j<@a1>CyO=1jWVkhobj6 zKy`fNs8Iu%qFIM>cO81`-s@?K=CF)rPKmyro*t?10O)XZp3%;l+BNOk#qN%qhqYLa zqoN5u4M^59mK0Iiyc^jMgAIv}4&~*aXnJfm16t_g)?--xsqcC%2`oGwaeoNFKC+Xe z$PzM?Vc&TqudFd_=?N;F^OQA1uF;wXV!4z|`2_@A;qYIxM#+bs{yO#;OlUe?%&p_F zWN*NB8Bf&!3<1#+xz#l2wr@jvj>3MCmTQ+c=wk!22*Y_DXYGrbR7a7StV6B8L1{1| zutIoEzoOpLzF{Oqyt=){O&e1(;}MxCUpTrAtJJZhs?hsHD%~SwGs=|+O{SMDK;gu| zFH2RJ4=U0)M9nlW(umTEtvT?MmLERL5wey>K`a`-IBwBo(uJir^$E{p9RIcrmRB;) zc}uzS?wQEkYf5H+C18);z$s*(-3>IWOe{>P}e(6Gz6_^wh zi;HQCohJjn@Z}29zN`N*=GCTOwp!+?t3w}w7HjBgxsu*eR;FkpEV8hX_j3PaCNHHzkOPhF?<-^TH45ApT0}J zBi+~i9fiCpm;b50AIYbX43`6{%TBBiugrl95R&c51m?KH8j>}QGbZaJnX@I=VaD7Wj(18otiteF)4p8ye;mF<(a8~iZe(_*AY~?kJR3B| z_vc2C)FmbL7v zgM6G+RV>jz@SgG-4&Gm_pTK&!bD6mZgk;B4=M{ddRNyN|&DYG9*U?wbJ;tL=gS(QZ zM=Iktj@DQ_m<4D;xG}FftD&O$|T{Fpysh<3{8W!R`6#$-}=dPp+ubbox z4w8}NpwoOVod2NxTk~703f0^JSl&+g>`_P?tb}BD2zDj>sDC8PqqEG+ZCA{M3b=pS z5~;9$Fvd&>k9)0qBLqdoYnmGkzR5%o|4!ge<1(OZ{dLs!i=+Fd65Wo&INl(~osFut z;&@m<6B#aNPR)d9?F8R_0^>f^wHMf}&O*gT#j2$sUxr_d-$G7!`GNxFvqPLk?wmay zU#b(2J@Sh}gT_0#zEn+Mi@YxXZo8Iqb^4k^5h{ou>L@ilxng)u5&2vA0jqLLY(ye8 zsU{lur1|KLn-=Xn{?0c#F$Fai4Zi? z68RnlvSf0fu;N3oKc$IKM*B*lks~uKDWw0$Mq=B@)#CgUbk|e(yPZDlXdO4`cWmsf zIa-kE$Um1Bt|eRl&OuU4J_d5j579{q3Jhs})FzAi^0aP({sBK~A(oTFyQi~nUPQlp zW0}rq`Z|k2zm}}6>buLZX|F6`=Zm026G_xOzyEa^AO$IwM%;c1N{o$#n8seGMKdg% zJOmNm#mRl(Ikm4$jV_MX2|KmzAYYEaQ2}%VsY0G%fiB;ku3(NxNY4?jgBS!x4BSag zJOaGR)@CE=+%sGPP6cBsUH(lH;BjC5BZ~Q7l&C;2q>43a*h1!rCBrttFD`I{R-%vq z^h%}NX=NEA441+loYf7RX+n6ivCj>XcZ98zcGO$6T286YZ6LcXE zu`bzEQ_aP@Ca<+@T#__kNoeTy6$!?6U>Yd?nfWGkGGUup?PvDKi>tDIQxEUBKi+22eF&4t!B!-W9B(P4a z)BLnrGF-}AgRPKTBz3eT656vxWQj8DWY}kDxe#dHO>$L=B@`DP{?Kr_&jls~23Q^q zrD8gF`L`^JH;P_J@1;V*8fppr*`oZaFCX#MfylS=SUv+tkydM9oRi1!*;6RmvBD4e zWfcBF9G5x7(BJ=jPyhh0;H$;>L8xmVlUMrwZfc2J=rt584*0vv2O5D=F z&!D

s2wZ8DVG8#YJbJ@Z;*^lwDh9{srVT_~h4@auwGvo@aNx$(j-PEUG5F~mu^&-?k|>3FvvIWCZ( zSF%a8VewtsNTHQ`$rNV0t&4-LfAEX(#?|AwSt=<2AW>PirnsDIx|Biu2FU&of3F`& zy8mZ(CFxKzL;ce*glYZj3AWZMDEYGP()sE5#804cWKK3BR)=ZjQI?fyyrTs&=u)+B zqHiBFlx=)dA8W0Do{_(7Mn(zvWqf;`pI;g4NM(^r!Wm9C8Mx)Ky%|pfx~|(U-COy- zMVz;)em|TUe%{lW@CkDJkQa=wfKx;2PhH59)EV>(ec)};C&jEp!4w7WUtk`>95PCS zH9@mcp2a`4O^b17o)o-qm6A6b++zlV4hp-@kH06QX!2t6R$4CHsV#Abave~UKje$Q z?tpA$-wOXbpexKM-A@mA*qM-0zfi>ctbh5)T)bxJ^ctVk)9&i)ce*O& zJlOcXvw%p(wbSr^x<)p^p>lOa_$Azs%5T4kc)ujmh>VF-SIW_O#;W7593nvnMF3ib#@yq3-MVT8$Q zrIciXGh;%@a{afaka2w)Wc$Fw)zN-iE4>UH+}pIUo9r{g>NgRn7>!b5t0ooXHGdiY z;6zrh62YQl4*2)>OE@FlP?LvPv@DzEF3H(Wj2oPX4D>d`?NxSc_nra*%{=xCXET3# z?~EfwQuUB$*qAqIvnq95ChSKvQb!qNJgHIq+R=o7 zT~SH8x-dZrYe%`@a46s_uPZING4cZX|Nv zn8KMTu5%_&_Km!6+RGw(w`0{P@jx#D`DHd^s0eOyWi+hR5MOyLFrhvtFmm`ajY# z2=opq=65_BWL1KE9I_9uiAmmdx})cjW|~Jatj!-n1^4^1brf$PcU{~%etJtqk%%69Dh>ej(si}po}1uH*;XQCZkEIRE9KE{zIhnaBGOmVs2A~p z?0XX3ExS)=`!b+>Nz>&Ef3Spjn&Un*R~BQn4Pm_#1R+^|eNk*CH}PR2?YAt%Ew>Kqk)xlXD+o6>C?<}#iRt})yiybs9HD+eF-H7inD^>yP#HU#Jx zXhsdRr*#w~#zI8cxJ(5&`@i0uWD0Z+Btpns%raY|4~WMM(+qr__L`Gqow$-L1}d2X z=HX4m9cgK4*6zg%M|PEtD_&F!u0|`3$}ko$UXn&U# z%5nKMelk=EGjP6}qD>yIAx&JkyqqS`yty*}-nph8S)y>Jt$t-C7_L*LOx|moB$|sPe@%#4q^>egUW92Yw}kqH<(N6^bZq>wz9iy| zlQD)$UDj^z;}rBwFR>@ZUrl-tZUFc6i}q?;Azz=<%NZ>l=eh5=#{G*vCEqXO5p8tV zgtD(pj)^0Lr=7V`Sa_boRPa_t4KrwJkTe9N(8bJ*1`V-Tt0mx#IUkfcew!<{XddwS zbBUE;V_<&daFzS{(DG{p z+=2Xs#iwjphXvk8zGf16WZ5BYnEPTF0$cbFT-1+lf3x-)3b>9B9v7du=+Lg6{{Geu z$^1&Ba49CMGg;kkNkr(Rp9%3W{zqxVjqo39;x&A}FjK~y_=+^IRlW1{ULQdw_YS9x zXlidMm<6QYxVh*L!NdN9qj-H?^@+7J4f+Sk+Fw-tREHkVesurvNe>B1!m~&b2t2YI z=?`yOFWoQG9oyo=pr1c~9-7WN!P>&{c}StpG||n<%#Q1YqQCtpKXHrjV}79t@^~j< za-zbJ+Triv_nYIELjI_)>{9)CRimyPUMe?+!M%VV;W5KyBQb#u2rKm9DTrsq#pHJ* z3pyECsy9F)RQ-SgA$V_2V59K@W|{+4ih+zNglh;;x;E2>4op9dI;^?HSr_KAWl#yc z_NC1E2Ocf#+eb~+*6^*Iehi~q!4Sff@Jy%3b<#Mk+PQH0$ru|l|E(e3ud+WJrI#g* z?bAvPR!@B={?9?cY*@b88Z?EYJ= zvUJNCNA$Z*VVgQY&z9Y;wu7s9Vkpf8ewo&)CS;9>$`BgcQ(e1Zv&-y4I~dt*E;(+= z6mhHVR^X%A1bpO}c6>v{15O@_XObpsjsL{DtdHcDs3Bu!sXtJO9x_i~oRyb3rH}cp zd9%ch@FLv4veh2ay+ZW^Qc04YzAollyXNqrkpa0%Aj>@leqBZ}%k(Ty)a35irqOxD zEkBZ-h;>(X;DN3BVp=s`R$fGqE7AQVhkJEH=il=%2tCHPNsDUrgVsO)^_*1g9xKX) zkp!-2itBLuDRR=kDFCNVhwNXbKaHL3l}omDcT74(-h}SE@w@Krx!p^BH>CQpI;DT> zomh@B&QJW#q?wPwYSzIM1K4P8G)9y)CK&aBWZAQjOUr9=9cR6QSn~jaNzrXb{%0Tz=vcKsT$s@^K z<;ER#H3CvZ&AI@pLjnn=#Yt{%Zr*`<(?hC$Wy-DkZRRcB{-ua`ms~O}gZj@uG(?}y z5p+j?LSvz^v3CQPPvafch8~=q6iUhhV7@CzjNkG)wd6W&7)Vc7Y`;ZSGEhY78?PJ; zXTHr+HSW5;4(OPxNA}MZKLSy+Pb-O#dnrGD|8@Llds7d2)4+O;uw!*tE8s!0b$O+; zrEz-ANl{$A@!Py@d)@$>fUtnm4}uLH6^_4m=7+B%WOe1gHZUgG{l(rEB(juj0bPC| zOST(vX(^;?u!MtY5LOQ>&w4rYvx7P}MMgbjXh6vaGRidAzv$(YL1;x<@kbz9fMjTb zEe0tTst(L}WpxqyYqC*EdBLya#f1wF_D(@HZl3Pl#||Q3)OJxqHEMh0`-zX^-W(sl ze$S4FAko^W!8oCO$#TjwJRY!Ag#tNs7;k~WI|jfPt=}(~`>J}4@<2_R<`PW>W{E6D z`JYcx2$l{)Vhf&WCEbE@2(c6q!wCgcsGDL@2*=lNN=)q1E4?>@+)I^5cu(!iC+Is` zx`wH+Tf;Vty2wk_E7I)KthzKB9s~^h4OUrCoE%Bm`mfoX!=Kf+M_ck=uV2fFN-G06 z_Q&2n3lY*(uMl(yDlK%fNSvGydf$dXG!U-n<`Tdl(8okB%ZIj^2xr>|2`_viYD06> z?+!+)H(s|FHoj&*y&Sh6CXbsc8s-CBgaG!StFqt`O+w0|vm)VQ& z_}$05YSm?(Y211;ckZI~ImqKZZt|ZqMRHF2;#NHYLCqh3LyQ!m$Y~El^j-;_%;6fp zQ2%f~cW~U!a}HEZ2xBs|1^ko8rae7AK6XA+=E&JDkl7Z63fnbj79HGluj7oPS0evN zO_mZ%j!AM)XOz!T7??E`B*xc-Ut_y$Lrl6Sn?7NEWwkWK%f|Ik`SR7B%WeC=i_LdD$uIC@RxN<{0hXu!7n<^?sKv?Kv zqdegx(}flaaX+=JhrzhLl$$zeG@&7y97%V$fC z{<1plLobwgFs1v0?zN4XD*4`=<`VG3!9~W-kp_c8dbd_!KY zwds+m@MJu_jg64i>rv~yv0Pc7zwaQJZ@->Vv3{=u0qYkg?%$4%eJ2|Eg&aOim7v=0D;DP**ebD#l*wtP{8v-vyI!6x*^}-jFx}3O{}6fh>+j~j zD65|+NrE>DjN6?Y-txswgi-aw&ErRpeb=IHc9*VJcZCuFe)ye_FcEa&bNQHXyObV5 z_Ty2_&sbyhQeP?EyjEYZi;t*SfLv@5B0uC}0hknW(K!D&yayJiX-|VW?q@@w0y>{C zxhHXGeadb?d|vo~rE7HkxNY{3Ihh$>Pj~*}5*>crhC1K|ZEj|x#>Le_9Pj$`8RqMp zy1jP#iKvM)E>`|s(Ob&D9KGmf5c3mch-gX{`o46cvW`+GWj%`?Hqt{MxczRADiP9z zVuNeHMM97awZTF4&zZ?03>We%!NTdOuyQNe)Nn0ejIOuv_#bg~iTB_}eO|b4kOLW^ zGK>JHPahcJ-~IRYj2cr~Wy2#YN?qs6JG&p>Lz~yS*r#sP_RT!7&dqHvGNm3fuqmpQ z(4D&deN-Epd!au5dGB${IW~aVEz4yyA^u-}3SE@o*$?dEllEJAZ73Ep5S|?j*x$R)elaC)r^7oukeSr zPBFf}o}<0&32+6X7^X17Ph0|oq9C9$O7G6)#Kb47mv73V3CxE5OxkrAh@&?w>S2{X zTbv~F;hkEP>@eq}!#op1sp}S+$Qd^&)XZYu^HQ6MwaSRR@!9k4Ae8Gf^{YH@+fA(1 z8inmdhyxqaylIxeN!vqB36yvlmAjWD?=D)A;75F21pIkBGTvfCBbfMI*$eBU@Ri zf}7U5Bl?@w(E{VfbBF;K_~vpw^3wGnU?M%l8ji;wh68Q?L!Vfw=#!uNYDoc4tjg_f zKChtHq3d9~mfXNHs1zY}B=aD0{Tpmk?+lM}e)f3*`p@fod_^lhzi*9JXnfzhQtZ3MT-T#r)jy6n@vrV>B;<62_QCH#axU_>*B!5K6e& z34JOx!L&J5rm3ZXpo~J&pI5>vn^t#X$7{Op?!K96x(K&jP=d*J&jU-VlFWt6C$Fxu zb0#m1I`?vnP^Uy4&KXtOyj!HZln?-TNGlh=utm`;F^j_%L7`a!R7=t3(!IbFSQoO6 zhFR=kYfVm%uwnVD(sTNnY<-s!OB~l(ARpU zWWRL!ujd~MFJyb}vs)BCI=E=RptJ9;U47#15M{|)78YvTa5Qlxn_Z3Ye9%O9gjA|oWxrP3?Hg_h|tNZO3ts&{h z#I|qdejyBhF|U|JL77dbWE+hK z+w9C%Ql1h*>9Cejx>4A@q_R(-z#h-u{h&QM{X_|Yz-1W6r@E#>9~m zi|O(6KAsdfeUdlRjqG})I06D4|Int286i-P>g6P(PfyVF{?^n_rlCe##m)ZMyG&nU`4KpZPuQfDUO3u)dt@V@Iqv-Y)nVm(HKX zyO8LbujH6WiRe8<+d@~J=tyj%YhnhyP6xOjyl(u{5?ngUg{-@1qF=qHuh_)5A{BTm z_lY^PI7`SQl0nuA^aApEe(ygQeM5VDdq+n{clYwqWk0`a8XI9hSpC_vXTi7YOa&Nk zs@7tS9<(ftQysIb_b?vy#y2-cNv&2Gze#6Byp2-~{__-H_#NLfm!Xr@iR#}>;wm!K zlhda9Jkno+ZVx6*@h@c;*H)5FTO}L&AC3F@7WS!ph`-?znd$3Jlzv~<5VYRi>N4!P zdF4XypA8}K`M#T&<6PO~vlos9(hul0AppCoDNYssc!EbB9@>WMc6Ts3ycsN;WiL!5 z{@QJHeBpTHF$P_bf4H&d@uo*5>6gA9KDlCw>TkWRjf9OuCC=&Y>E_wMFUvp5zUdo^ ztskkOKH6_r41byY&)K^ED`g*^t;}v}c)z%}?o(ijwg9-m*l*>U{^8ElM4#aC2c zjC$oxb*zi336HxmprjycxC${l^A!^hZLQ};i~4Y$$@$&Jd+Q>t(?Cwz9IaySqCwQiHi%g7(s7@7HDXF`|@#ANL9@ z59_k`B|@W|=sfj${qI}1%icZ#K6R@{AKye`EcQ9@nGe1fUtb8eAD>rrtnYHR)zPy} zjg=AA{S-a$OlPm{@k~iN?9?5sPz%=b``8%h z7V3bdMwJ%aqgnY@p51|)yS(yamB=VJ!~5y(0uok2meOS6Kkl<8eNWeEG<1~pH4z}w z=wkS8E|!)8A#=2If^=mWtOoIbK@SYdZU={0T5>1!_nj)X8qdE(7sFnJF#}lkNghk> z2ZUI6>`iukbtj72`I#i?H!U8lHaZ!5*v_;B%rE7W;p0o_#B!^2LKg&dvMvP^uDld0 zgJW_-?VfJ+EQUIQQD)%0w>J1N7kln)DX5?)D>IzJBYlVnQ~sLMmf`EfA0RJ|NNiNEyng{pQ*==mnAm?PDP zr-M>?jNe#@0T@hF&b21~>Z#Kxj!x@n)Ke%2)ow&#+DK5uue%pB;a|lI^yLUxYArP; zg{RpzJ5&JRev^<=_yt?q#xFF2mG;R{r4Bv}WQL#^F&5JU&i3&qq(SC|%aUQPj%bgq zXSN!e%!CMqNI5IIiikZr#ZZkWFCYVK1h4y(-JT7_?rk`ZGDi%of#2$EL0AQzbZdTJ zJwU4C<7yUsra3ma#IxY1i>P;%n*1Rmr#g)gaHdh>-&V3ioQgw4VnL8DNo~!TKk@at zj2YF`F1Ob;ro7UpCy}=0od*+#CZi|S=T&tcwX{)4S%-`oO7ELBR|Xn3XbLqEBQRDD zATOjg>dQ6yds$4&Vt=A8VnXUvkR`2+@z57n>~W0Qf+%aKLH_6S!f3O4!|s4a-$+*G zP;17GCPIbpWv#)-6NVKqo&sZIIRpYDb??Y)%=&p0oms9r@0ll5g|(jOzbwjx+ztiQ zG}G@b`<`wNB4cf>iUU6`87_-1Ew!I+aYZhDbIDnmz~B%5d<@IZC$Bx=@Oz^&F8k0o zib?*mH|T;zZKC*d3$i!i7Cb4;tW$C9rsZyR=(jrbhf7P;?U9BPbu$%QR~ie|6x<(I zu7)R9;A0bPpowu&o>2p1laA}0-T>Pdc?E*3V=pIk@izn$yA{~C4~sV>lSztows_QV zEv58$(&O)K=`?5RLaqyZSQkI3iP2ey?bI0MH1B|-emFQCCY{wux2jsvaC`@8*0O)g z%;r@a8sOy}Q-A)=+|9Pocyd+WfWU{Z)|oU}PI#Ms@On6Fw{Kx9TO0QxYt@yEEpJ6x zqh+37UNFHAWr6ZJAdEJ*Kj_M(&TdQetRZDES^ttqDMIIbq zJPE4OS};V{&W$?Ei%~G2FK|S4AIyFAc6|PO!gn2sUT<8zcCLXj7yQfT2Wpv4o+<*e?v_q%MOW^YHDv$2gJe!5nEh<`KClODdOGb^$Qrz&J@isaI-u2Q3Ai&Z z`xb8Ee7L0QF#`5qr$PN;Rj=uySJdSCXCx^JK^ad@UWudr-40Q33Nkclb9wY|r^*2) z14yP$8Z{~~;GWkwxP|$6EMTy2=fAJ-=UqddodOF94<>QT-mFaq^DK*=<3mHi;VyEM6ne@aX&ow#Sf3k-jVjW zziMx%r8uMtwC^~FnqSOVSl-Od`g;_Ksnb}utpB;~+Vd-e8n9Ne5kGDAy}k)|N4myyu7|PD&X6y}9qsMqH&2M&3&4X4ZwMXNbPdb zjVGCkpS6F7g#}7+A3aXW&tRlHS;^RrDr8!)e@cpr%|*ZoEzR!?3aYEAp^ehwmHn$l zc81Og$g{AHtNtVlb@%&#EkEG8M5^t{V}yG0D%_-1qs@eeD)F_QIm+pPK8Zf*(JM^N zkP*9-f~&d8f&Q`2ZUv@HBTW3rnnEd6dxj@kJE1RGlOvUl<_Y$Dj&S8rC9Jjyxro>^ z55K&p*gx%$xE1f*MUEBv8ddiMrWaE-*{bXa*rRzA#oMz&=@jT|3 z(c<(U6r+HK2~-wACWvpH$vEPDpuN%QT zp%yY`O)*$m zAqGZ)^3eRCa6y3a0qdv&-nBm&SG@NzdtKNIkNPRo7#e8}n2ylK+o z{++AM=F8OsoWIQrYVWkZzM)9sHN9mn7k`&nmQqLK?$DcqT&H)q8E19$di~86 z5doSKNlOE&I}laaeQ9l2zPp|`?eMw^YLwFEdnPp>cr@O-dieAah4iZL{XWIuziyvZ zjba`BL(H}fyQaF=*XIe!oVd&QuUf^wW@^*#k{WD>92j;+!qD&pBX8crbzsUJ#zvKP z(C%`-yS#Z~F|(R@U@I+h!rypP+?%tRvhEA2+#hGuD*pq2$vg9xr)VsJ&)%qQZKb7SV_J|A1|boF0u6^e(;9 zXG@h&ZEd(niftC>_$!23cT;_H#YQ>ZwXJP!TP^i7kg_I#*95c)QR|_uiW19=?xfL@ zE~X|%63xlLnno`N7X-rHKl#h1vAIJvN=kZm(WpT7JeNgjJaU0X7zy{dH}>$}tXVZJ zUTWgWu|u9LP}|R5PaHaD6TY#H%Ip0LtI?|WZbjGD493Y88BqMk4?Ok-O-^+0X1*`P zm8}o}W>h4@bYMaZiKWvHyJK71;Mwgrj5o_)kC zy0xWL^7Y)EQiqYIWV>Ca1j5RHT?+dt6no{FTipIPT(d9~6rvLQgm34utNn76P zkIRS|a|zD$zq4&>E2Elb?b%gQM>mY;gAjB;(`S`r3iwdqmLo;}Uuz~UWWU_um}$>f zY`za!sunWpscc3@n8ivG@MFi*5k0Yi;hLJvpO>s^Uhyi7xRF6YSjiM4K7vs4Ci|D`hLgHycgxq4z%FZIT^gPc^40iG*8=1?BndfzNpZ=hxw!M;Gd@%(+yFsCN2R**QvG%`9S1X79 zIGceUi$8u|jHKVC#Jzr3u_V>}vsBQ;z~}{_=HBjb0Q3UheRX(l++&uhB(nv@Jx4ZK zOOcCUCi(>emh-zd+4Y)a|{6giC`^R+PFEJ4#-*EPy!WT>rYO1=^oJ)QL* z?rdntru6L=pIySlY9^ZBsof+?ac-@7XTZ^vSAhCP*U%SG+Xjma^=^Fpo`M|-hR`GE;n@(w(u7p zYM^}&Ic}&~He3b_xMlK4U-ku-XmNiGl)d~@Rclp(QS`A4U@CYQ7cKDYT#o^C_Yg;- zSTJZ+Es+nwY3oYmR`!8ZL zpT&Ra8moQxA|hEm`s~Ka=VPt}Zr;T9?rgm!5vV6DtL}BUcKpg@@I7};L-L+!tlfJ0 z(d^~L;%Pil^Nx~7u-}YfWkxR*hbAvr@&==OQA}OA>4L%7-PqV-pGr6$k#{Pj@hkmA zn}~d7MOuD4&;2G`((uKure^l z*Erf-nWfd+T;IH!>+(ncwx22Ajo40SS6q)tv9icoeUDS6Zhr5~zr~4&C5)NONBPJM z?cHtC>SRRp=miN2&sTFc4(N=t(Rnm6<%@`)qGYUJ<&aupzCgF$PSY*z%cOipx>#VC zK(8keWF*Fzx}6|j+&cH5J(-<-}% zWs|{@VxQBtcvVf}!NeAD$+-`k8k}ojUE!_8ibDfG=X*B5%n2rq9_CA2-gf6m)O(%` zOb-VnsZLU#2%WZ)nx)p-qe%ez1&4AWQdSg?0AzUbEQwu_WzKc;@K#O^6VQeg^E!B9 zX(`v*Kmni4kw^T^hB=a-KW_Tn)WIt*Jl>@4+-d+T#v!y=DkiK1H~sml6UHN3Oh7}f z%`#o{Qk<@SE%{v!PKW%%Zk;m2=#J9giV&q+DdNWpQm~Mlgvm$&T`nrwknYI{dfmgM zpn)&T6%}u8gD_)>AghHBA0|EQs)nM(@C#I$Wu}&O zuA^yj*|5=CZM4ne2iux|D+$0#U%ah+-hSqM)xY0iGtIk6lq)kW#u`EMLCLM?(_4r3 z^z?tE!OEc!4B7H)U2vY@%W_H^n?K_@uum%&O6bZUMp*3?N_gVxm2#*;!f&uDtfk%jVZ*eXh-j+1t}N!@+ZUHM^ZGGSpAAi$;-X(CeoOoJyVa=iamz&kMlWMIWMb=;`URkx%-8>Cm2#w)_?Vb6G;F4tmM+ zp{`eFuWGiM9;M^2}h)etD~oa+ly+I=B}S zI$wPl&ZHiblB^ImIJ|fdWC`qXq`d`Q+}dD<`&FDKE?Huz1kMMnrPsx$6TBDO> zTrod!BxR*DGLB7wu}PZteOH;-Z8lkKloAVebYwVNYYVT@a}P*ATWby~D{nxBq5@8# zn6k&XcrOa4`RXsdMeXv*U;5wihvs0HhjFpijQpaG{5WA1ZF|Eo0rMNJ?3Eqi{Nqe` zYm{XDPc;23S35A_<=ed^YsjJf4iK=xel2Uk}0E! zc(GI!YTVFQ@NNI*J`tO;?P#EXc#T5RBjzo`G8kr!jK0Ii4-K_R%}iLc1G*TCt@zn` zp6YsDIB=;%b>AN@)>yQ|PENl!F_ROL3J{Kh!Ea4(cKE#CD6ZS~8ZkYc786*hLBva7r399c#eWskAa%mk9%UC*h?$A8t!VTbvSvB2jQfl~C zVrs%PNqL^AOEx5Uv>OnPQ`*)g$@OQc_ut%E-RkNEwEc+cGv5s=gfI)!eSleR;*#6f zAnLuveoId&oN|beTno>f4q1Xeg~=9Z`|SvAzj>47 z*D41DVM|#`mtuPn{p$v48xDciddG@n;=%h`@zz42jQ<`r6RD7*6&G13gs|df8@CI= zr<>Wz2W^pxOco+^r92=y+=%R2qW21b^$0iq^FL$zs?FK5I^flA=HFI~)KP0-;@AV4 zDCfWfhsbM$@p4+W0oOC4H}UL~0<;IUb({Mo|JrWszsRZ*qnGxS%4@WX!t|AuM3i{z zE~o&uIKs=eT2KJ&)PoTi8F(-#_# zJJMWc-jpqkeO}jZ8KjYQWPDLHbIvg0%TUdn91-gDszjdXs_XQ-wKi>M-eD=+kYPxL zCdyv*`BtgJ=RpPXUxjvbY06_CiB5%3A7ll%9svNmxHqr)p8GRgQ(+EnXfo`wu-^97 z-e3nb(;@OZ!sz!Pv|H0oqINHTRwU5_PmYnjAcpKWxZK*Dw*rBU#J8jjm9mKXKG5h) z69pqA=X4uZNsTaXTl%z#*B=9uP9!Gt8~v0HC6zWF`3~mE8d$<3FSn;kL;=4k+%;Jn zby$1UYC%JjRi=Oa8Nw3ttz-XZSp@+VG0h4tU2l#qo}lmq!Q?_8(=hJ4DImigg}6IxhJ;mfk~lfHdzSZ}fCE za%J*_uD(5{cMz+!yON0S5U9tD;s7f$+P_m$&w1&D3l-m(XkO=%-L(ASq_%87zly6M5p|yI!y5C1x|HfmnbEzaQx5$}Y|$4$X#IV}!Vm0m$y| z*}Fey7VDZ@oa@YNmHUZL)zd^$Gkq+WkJaCO}Ng5Y-&mDwGuVEwNgUqVaDD)1C5u-C(BiyQ5q?%5@yP zJKYd6y5OsT)hng4?T`)#c`9C>Y1c9OscFD5@}@W7sGmEWS;p-;0rWe?DlzOHz1jm; z%UkE;HR<++Qxf(Ijw)Vmrjw#>cTjIo1}f1*6U~Xo0rbmHQNizrFXyBECVvRG=r{7! zoL#&57aP>lk%4|Xd}woe%fN_tT%#+fC%`bD%@>3_{x@qNkO5M*cl`yWXN)#jU0gQV zBQP1$cy9k9LfPhOs>Z0&2KVNpSC8@W^Rm9g<)5rmdoISa?_0cEcePP9&c4^Tjqhgy zhhVW61tDG~zjMT#Yd&<=komPsB$lkr1@~r79&321unI0q2LxZ;k*+Lw-d>eyALP|6 z&pOQ4ex|lBqk7@ve>LC|9Ae$PX3`z#)+*HUZho9fePZ_d-)x{w@Xpz*1p+HLzsU}= zAGpB8F`Fu_%`c4d^^>`5?KL)i&Jnzle=H)Xy!!JwAx?ZFx5LTVuzjOd(0N$8VC)q* zLbF%+yg%g3R`_|(!-}MNy*~eKV9{p}?@XETQvFKVhZ?4{R*aR*D{pveck%B6HDBf~ z@^Nce+Ncn>o-R>v&+_2}FQ3Sp_Vec1HE?E)=RyA6d%9VN-@PFUV6SMq}f8X@Bj-GpXWwY{uuSc$xg2d_j zq{zW9&WrQrXOnaYe~32c4vR;AolUVQ49*?Ui>TxC5y4<&r4b12T|q8 zJ}8}5e)(?P6L^&nUqB1u87IVfqraMN{E{7ygQR0 zb~9Rp6MoqP9UED6wZ^?Ivg)=r+2Te<-QG?$R6U++3C=WhC4}-Qaa<^=u53%yPO$^1uD zrr=+$1fc3GCI7SR5U-AX+T(6TacY&K5_o>s8XOYj1K(j&>SxA#^;mlT_WCsOa-|cN z<*?G>@8;stilT*teK4X2i4gU?tD22TaB2lhift`K$Cyufy(E6BvzAD@YH-9smFA6H zcjm+|b^~v}-O`ZpaWx);~6&m{&N`upwpZBb@#3*3_63W)DTvP7rJO6ilB4e*6$5h&l)l+e18ze=x zvaVfedp%Hb%TLgdaL^JIL22v`_lk!*sf#BtVD*PRYr6;myta2Er~ zaZ_>*7Uy*m(dPL29lnRfYd|4Ca!q|Ry;CAo8DkMEw%>+R8GHGio$wUIK925J^rGz& zQ@h4}B(MNev~5Yxq6HN~!DUHzC%NduXi2OQa90P@vcF7cl_T3 z?66f2UGeNqUb?PiIp3TYQcla=9(mvswXW6n4fJ7}*FJOPKsZsma&M;P;0ub$ZUQ%L zpDxPbxkT^7o2@owV%8S)f$(^CfRz+Qny66$`H*ITph?KxrVC$VS(S7Qo2F*OKaRa9 ziw?)$tNYEQUz55&H^ybOYMt#8wML;rD%B*A6auxKPXzOG04X^n9#6RZ; z6OJVSSfAx~)&1bH@bkSA%^F<{Iex6F+gggQ9PXcgNjuArKi}gOY{c)ck%tM3Ego;o*7^n@; zBzXOcs{%6~1>#N@tBNte;_XjU^6!@pT#7%4a1Ep30^|C$uP&#=+KP z)-W>L(o1u0HLBDRj1^}d+7OmDbC1Z#$XG@^ea}VCsuHQHt;!Z(mcjL|ko*<-x6GyG z?u(1_oScL`)%B=a$tw$WZOMRcg=WD+?{IjRa@`%xZ zDOY8YSHQAIuvdG{5)r3vy|3~Xn{v9Y);d&DZ*MDE^*-$^AI!#3+dxS~9II0Afw}oc zK=8t^+fmLO3#N>9RsqtmP;3M~1v#x2qD&&zk(`?XL^~9=-zP@#X(dllg(dXMlv%H2 z3=bctQVj%tJ;xFMC(=cObnzyI>@F|wO+zyinv>SpsD0<{=1tzRd`L23yBPkc1S*sR6Eo)E=tOpuzqg zgF^|x=6?$-qyR=z#8R-tk>lg=9(^YgP(}X|PS(%Q79DpMQ+7g6eR|77CGaiG_NaNN zW5a-z7`OhVHi~%O>&ZLI8K|~7Svh_PfOm9r!p_Po#&B^npi`PMnus5h|H6PIxw zxvor`%$MOvVnpvynf&jQ^a~-u9-O4+0f4*`j#(8#jvWyv@Vv6LF11$m8mI&^92xAK zqvX`n*EfvA`6Fd(%*E&0KdWNPe{t893bWMwtVX?iDwvr3#q1|%hsS2t>7BWmWV$

5wsml1O6lrX}tj&CG)GP1{Mmm9+63+R$c($>JmIBm{?#c>;Prk|~@Q;&t+ z6WF4b%ul$nH8m61AZ4F$M(X3xf{WU2MrH3)$w&0vNg$m@=?M=0%`(z{0Wu+-j?t!{ zmsXgIO)%SOITApju-}u`2k+=zPLh4^Ty+*wK$*hY#l?||2k6zNqXd^#OJ={jF&jqn z#H^h9$0Sw&j%^sjrMsi4_>%nduvMs_ylOfklvRDfjFL#=J8yLYfg6KuPw6W+WA$e& zYz33(mY_>M{6h2j!dR$;;3D<9S2~H73Zw`jM+tm74$9ybQS>nVonp%XDhB$088GW@ zzFV86>eLtQ_q^Vx)u;&FnY$(t+IO!xo0&ED4{^OPM815keg=a8K+CVUHeR0kg}AFg_9h`VL)N?dM9AC^NN z#zXGwY{!^YQF}-4;=URN9``jdYPL4`?Tri*t=?T1{oH$@+?_$0959oALFLM^&D`(M&JfAmAd9fCA3;Nr%>V!{XG5-5yFxU^n+ zE2xmgr4vJ#j&Hfy7Ad?#pgYaIdSR>Xf0bPeFX;V-StK;p+n~fOOOkNW2RDhfRFc}? zzV8O}nByq(Y}!#ECvfCx`!y~Kg!=r*QwjOPRh2zT6S;3-Gk3n|^LB~qo9;|^re{lR zJHz5>u;0olw<@ZE0EW5IU6tJ?RUI(KJXYwRB2MIg#r~Q@MFD@K9B##1iuu#phj{^= zAejRDPWA*W{RE@zBvM0843C!utVAJ1Lkuj-3bc|UlqV~NUn_Ey#R-#Gu7NM|9F27d z30UA1M2bAxvcEr`xuwvQ>5$>n?lB%8y;zSCO3CDNjrP6E6T9!{bGa3J_+6mK@J!J> zo1?R{v*X}{xAP%nZgeug>78B~0Y#NnoZORsvweKE(+}|jU-L+)vQpUB$#*;@On>(1 zNZjv)+-roKqewrRUQZB-xI1~hvE5n4D9F*#A zpAt(q3=Wd6G?zeoVE-F)#W{d7NC zRcrkFr##<_g0Y@1DWj(49cYQnzPA_p=8!ZPm@JTsTQU8)^Wnr)&gs~AHgf0cofRg) z>r1R$rIIL~;!V|s+|=f@N{5q|>s9Oyb~Ohd820fbyc)+GCfF!=v_F(6bA6tz2$0Mf z8;-T(N#FLwGZvDPl@$|vbo^`c`d+8oe{XlgO+hN2*b+9eUItfPQ}LiawFLXb4lf>AW!e2Q1V zSHEtI=3NqtGCiUMN?+)sNx7UuytwhNJ1te5(jrrSQ3|61FE4wK&Xw|y+Jgm-{_;m! zHT91kK-JwYx?v35^i6oPb(PIRSVXdwTYpsb9X>EA#j=j(FE{(Jev-X|&$Mo@7%EV=8qN5F9i|D8AXcR>Qun zRUj?H>sU;HP;NAG2s0UZAJwJJU*30hf>9q65-iySpp}?X{`N}3YkB+>+If;eOf)Ot zmkFz+^4-V@=38()UE2qF0h8hfG@;LjhN}W?8FDosmaG8$H7n98%=*X{Mb<}SnQ+kB z$*R)${XSt*2_GvI2OoeXr%<^i-fo=a5$s}nmN2=|raXpIiC71F@6a@7e)q-an2n4` zPMC@<1V+Z-e6Y7|E*U#cr2&{BY@8;AWauH7ZhpbofHDNxfaCU!CWB=E+l;$hH!_a! zkHTtv7!xX8A~SdE^%n+7jK&2FzPY&x2ngsl;q%au6<$EFyjXvafR=rR{eF?Eg6Wg- zNPu{~w*7KcCZi%(MG=QJ1 z5MqEMIV&EZ1)u!UU)`D^fVt966hHjQUtQGBOo4W;HSM#@72+zI(DO|3$Aj5|r^Y%LcOQsK#Cf!MuVM{AILksZLf@Ad3$Jy{}+-V$GuYh^93 zs#;%PXKSAozxd7YRNDUxsD`@qvi!Sdp!W37sG29xBD1}!3ammxN_waAp~=QBDhth2 zTd4=J63mJzbRhYABta?QnZ?A)YOz;E0qbVtJt3kVj7{C?qP0P$o(j~AUNpX z&Z`#TuGWHHiJ*5`$KSpxb?Y0%`ZKLEfjC*izR`rLVWy+11G8a@KOLTw4SujK!qg+& zWc&>BZhPi!bEJcVczdNoWW;Yu3^lW@YxCdDoGmXH9F@40e_na`ljG7$2U!vxukC&O zb@@lVA9%B)Dy|qT`;g-mQb(;T2nnQd;t0k(Aw~D{yG`AQY{wUX= ztG)KNLaAiRPI&SB9l%q4h@%GUS8rqtR_IHG0l?R1EEa(O|4pZu7*^0E^`8ED>FwDH z_!7{#;CPD6t{sYt!E~i*_Imfxx?P_quK4?@)a2<^VE&e$7NtIz^oJX?5*UZ^seyW$ zS~g~PO>CSGfIYwK%9=%y7P4XlnZifUX-jU1Ez0U7JS9}%K5Ds%fQR)1qX<|} zvPvr3jNmS;GkL0MTJc0SNZa&F#PS}rvZJ;>>v`dNpbL^TKSBXnF$Ob*x0gU_4l%9N z%jC0vE0yA;9t;sxXnQfvCy73!FuEh;^`r0NPlQ98Z^zH8OIst&3o^@ckk`I_r_`L zz~#Po?svcQedoN#Vr3zG?W|P{6k6~ASZu6K@xm}z!PY#ml@F95Owo9YdOKc=-DVqH ztR9QNoE<>0e8#(j)j0Xk$2RN=L6}iU&Y@9`2_pe39fh(bes&yH%r;hFr;||155aw2 zm6Bh#m6B;l!ExsNM?AZ~5An$z)NW9Vbv6 z($ev6x*CVpk0BpPL?@;^-Cth!W|eNnFeZioZdal-T))E8w;`W{6k+g(pij@g!p z(!F6QY2rnnjnU8h(bgQqO6C%?c$z%wBv3;`!vz97AU&yUNoJXvtKJdVe&-36mSULy zHjCwZ$5r{Iejnpz3c@l7kVfm-J!tCGVHy)CtGPw@`@y)8f}%soHSj#?(mFZhYLLRF zG6Df>(M>wJbNzqN?YiJPzP}mB;D>R#iWv6SA<%VKz?yP zv_+l9^e>pF*=dzY1SVbNnI$kdG=f>G?t~;?sfA@YUGoq3C{|PN%Mx%yqhU}hg^?j4 z71BmPn}Rk!fz;e2gs4PfZVp>2chK1@{J42U?YuJReQpk`Gc1=x8q@+$!D=)%RMDJL zF3vWh5F4)%zB$JNOEEIEE_RrwCC2A&k0je*w>Swqs?UhhhK# N002ovPDHLkV1gV&T`2$n diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Styles/Default.css b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Styles/Default.css deleted file mode 100644 index c55ca01a..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Content/Styles/Default.css +++ /dev/null @@ -1,141 +0,0 @@ -BODY -{ - font-family: Arial,sans-serif,Tahoma,Verdana,Helvetica,Helvetica-Narrow; - font-size: 0.9em; - color: #333333; - line-height: 1.166; - margin: 0px; - padding: 0px; - background: #ffffff url('../images/page_bg.jpg') repeat-x top left; -} - -#PageOutline -{ - width: 950px; - margin-left: auto; - margin-right: auto; - margin-top: 20px; -} -#PageContainer -{ - width: 920px; - padding: 10px 10px 10px 20px; - background-color: #FFFFFF; - float: right; -} - -#Header -{ - padding-top: 10px; - padding-bottom: 10px; -} - -#SideBar -{ - padding: 15px; - float: right; - width: 270px; - background-color: #f8f8f8; -} - -#Content -{ - margin-right: 320px; -} - -.Clear -{ - clear: both; -} - -#Footer -{ - font-size: 8pt; - padding-top: 10px; - text-align: center; -} -#Footer A -{ - color: #000000; -} -H1 -{ - font-size: 1.8em; - font-weight: normal; - color: #336699; -} -H2 -{ - font-size: 1.1em; - color: #336699; -} - -#SideBar H2 -{ - margin-top: 0px; -} - -A -{ - color: #4b79aa; -} -LI -{ - padding-bottom: 4px; -} -INPUT.Button -{ - font-size: 1.2em; - padding: 5px; -} -.NewFeature -{ - color: #ff0000; -} -.Red -{ - color: #ff0000; -} -.ProductOption -{ - font-size: 1.3em; - font-weight: bold; -} -.Form -{ - background-color: #f1f7fc; - padding: 10px 20px 10px 20px; -} -.FormFooter -{ - text-align: center; - margin-top: 10px; -} -.Tips LI -{ - padding-bottom: 20px; -} - -.Download -{ - padding: 10px 10px 10px 30px; - border: 1px dashed #f0f0f0; - background-color: #f9f9f9; - background-repeat: no-repeat; - background-position: 8px center; -} - -.Download.msi -{ - background-image: url('../images/msi-icon.gif'); -} - -.Download.pdf -{ - background-image: url('../images/pdf-icon.png'); -} - -.Download.zip -{ - background-image: url('../images/zip-icon.png'); -} \ No newline at end of file diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Controls/SideBar.ascx b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Controls/SideBar.ascx deleted file mode 100644 index a6db4a31..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Controls/SideBar.ascx +++ /dev/null @@ -1,31 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SideBar.ascx.cs" Inherits="WebsitePanel.WebSite.Controls.SideBar" %> - -

WebsitePanel

- - -

Support Options

- - -

Get Involved

- - -

- -

\ No newline at end of file diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Controls/SideBar.ascx.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Controls/SideBar.ascx.cs deleted file mode 100644 index 8a084035..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Controls/SideBar.ascx.cs +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (c) 2011, SMB SAAS Systems Inc. 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 SMB SAAS Systems Inc. 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. -*/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace WebsitePanel.WebSite.Controls -{ - public partial class SideBar : System.Web.UI.UserControl - { - protected void Page_Load(object sender, EventArgs e) - { - - } - } -} \ No newline at end of file diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Controls/SideBar.ascx.designer.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Controls/SideBar.ascx.designer.cs deleted file mode 100644 index 07e57472..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Controls/SideBar.ascx.designer.cs +++ /dev/null @@ -1,15 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.WebSite.Controls { - - - public partial class SideBar { - } -} diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Data/ProductReleasesFeed.Beta.xml b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Data/ProductReleasesFeed.Beta.xml index 99a382c6..cebc7188 100644 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Data/ProductReleasesFeed.Beta.xml +++ b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Data/ProductReleasesFeed.Beta.xml @@ -1,101 +1,273 @@  - - - Express setup for standalone server configuration. It installs all components on the same server and configures WebsitePanel using recommended settings. - - - 105 - ~/Files/Beta/WebsitePanel-StandaloneServerSetup-1.1.1.1.zip - - setup\setup.dll - WebsitePanel.Setup.StandaloneServerSetup111 - - - + - - - WebsitePanel Portal is a user interface to the control panel which allows managing user accounts, hosting spaces, web sites, FTP accounts, files, etc. - - - 205 - ~/Files/Beta/WebsitePanel-Portal-1.1.1.1.zip - ~/Files/Beta/WebsitePanel-Portal-1.1.1.1-Update.zip - setup\setup.dll - WebsitePanel.Setup.Portal111 - - - 206 - ~/Files/1.1.0/release/WebsitePanel-Portal-1.1.0.10.zip - ~/Files/1.1.0/release/WebsitePanel-Portal-1.1.0.10-Update.zip - setup\setup.dll - WebsitePanel.Setup.Portal110 - - - + + + Express setup for standalone server configuration. It installs all components on the same server and configures WebsitePanel using recommended settings. + + + 109 + http://bit.ly/x5jLpO#/WebsitePanel-StandaloneServerSetup-1.2.1.6.zip + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup121 + + + 108 + ~/Files/1.2.0/WebsitePanel-StandaloneServerSetup-1.2.0.38.zip + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup120 + + + 107 + ~/Files/1.1.2/release/WebsitePanel-StandaloneServerSetup-1.1.2.13.zip + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup112 + + + 106 + ~/Files/1.1.0/release/WebsitePanel-StandaloneServerSetup-1.1.0.10.zip + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup110 + + + 103 + ~/Files/WebsitePanel-StandaloneServerSetup-1.0.2.0.zip + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup102 + + + 102 + ~/Files/WebsitePanel-StandaloneServerSetup-1.0.1.0.zip + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup101 + + + 101 + ~/Files/WebsitePanel-StandaloneServerSetup-1.0.zip + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup10 + + + - - - Enterprise Server is the core of WebsitePanel system. It includes all business logic of the application. Enterprise Server should have access to Server and be accessible from Portal applications. - - - 305 - ~/Files/Beta/WebsitePanel-EnterpriseServer-1.1.1.1.zip - ~/Files/Beta/WebsitePanel-EnterpriseServer-1.1.1.1-Update.zip - setup\setup.dll - WebsitePanel.Setup.EnterpriseServer111 - - - 306 - ~/Files/1.1.0/release/WebsitePanel-EnterpriseServer-1.1.0.10.zip - ~/Files/1.1.0/release/WebsitePanel-EnterpriseServer-1.1.0.10-Update.zip - setup\setup.dll - WebsitePanel.Setup.EnterpriseServer110 - - - + + + WebsitePanel Portal is a user interface to the control panel which allows managing user accounts, hosting spaces, web sites, FTP accounts, files, etc. + + + 209 + http://bit.ly/xgkw9j#/WebsitePanel-Portal-1.2.1.6.zip + http://bit.ly/zogNeL#/WebsitePanel-Portal-1.2.1.6-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal121 + + + 208 + ~/Files/1.2.0/WebsitePanel-Portal-1.2.0.38.zip + ~/Files/1.2.0/WebsitePanel-Portal-1.2.0.38-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal120 + + + 207 + ~/Files/1.1.2/release/WebsitePanel-Portal-1.1.2.13.zip + ~/Files/1.1.2/release/WebsitePanel-Portal-1.1.2.13-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal112 + + + 206 + ~/Files/1.1.0/release/WebsitePanel-Portal-1.1.0.10.zip + ~/Files/1.1.0/release/WebsitePanel-Portal-1.1.0.10-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal110 + + + 203 + ~/Files/WebsitePanel-Portal-1.0.2.0.zip + ~/Files/WebsitePanel-Portal-1.0.2.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal102 + + + 202 + ~/Files/WebsitePanel-Portal-1.0.1.0.zip + ~/Files/WebsitePanel-Portal-1.0.1.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal101 + + + 201 + ~/Files/WebsitePanel-Portal-1.0.zip + + setup\setup.dll + WebsitePanel.Setup.Portal10 + + + - - - WebsitePanel Server is a set of services running on the remote server to be controlled. Server application should be reachable from Enterprise Server one. - - - 405 - ~/Files/Beta/WebsitePanel-Server-1.1.1.1.zip - ~/Files/Beta/WebsitePanel-Server-1.1.1.1-Update.zip - setup\setup.dll - WebsitePanel.Setup.Server111 - - - 406 - ~/Files/1.1.0/release/WebsitePanel-Server-1.1.0.10.zip - ~/Files/1.1.0/release/WebsitePanel-Server-1.1.0.10-Update.zip - setup\setup.dll - WebsitePanel.Setup.Server110 - - - + + + Enterprise Server is the core of WebsitePanel system. It includes all business logic of the application. Enterprise Server should have access to Server and be accessible from Portal applications. + + + 309 + http://bit.ly/xIuPt5#/WebsitePanel-EnterpriseServer-1.2.1.6.zip + http://bit.ly/y0ZgqF#/WebsitePanel-EnterpriseServer-1.2.1.6-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer121 + + + 308 + ~/Files/1.2.0/WebsitePanel-EnterpriseServer-1.2.0.38.zip + ~/Files/1.2.0/WebsitePanel-EnterpriseServer-1.2.0.38-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer120 + + + 307 + ~/Files/1.1.2/release/WebsitePanel-EnterpriseServer-1.1.2.13.zip + ~/Files/1.1.2/release/WebsitePanel-EnterpriseServer-1.1.2.13-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer112 + + + 306 + ~/Files/1.1.0/release/WebsitePanel-EnterpriseServer-1.1.0.10.zip + ~/Files/1.1.0/release/WebsitePanel-EnterpriseServer-1.1.0.10-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer110 + + + 303 + ~/Files/WebsitePanel-EnterpriseServer-1.0.2.0.zip + ~/Files/WebsitePanel-EnterpriseServer-1.0.2.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer102 + + + 302 + ~/Files/WebsitePanel-EnterpriseServer-1.0.1.0.zip + ~/Files/WebsitePanel-EnterpriseServer-1.0.1.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer101 + + + 301 + ~/Files/WebsitePanel-EnterpriseServer-1.0.zip + + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer10 + + + - - - Installer Core Files - - - - 501 - - - - - - - + + + WebsitePanel Server is a set of services running on the remote server to be controlled. Server application should be reachable from Enterprise Server one. + + + 409 + http://bit.ly/zxq3uj#/WebsitePanel-Server-1.2.1.6.zip + http://bit.ly/zbbHVj#/WebsitePanel-Server-1.2.1.6-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server121 + + + 408 + ~/Files/1.2.0/WebsitePanel-Server-1.2.0.38.zip + ~/Files/1.2.0/WebsitePanel-Server-1.2.0.38-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server120 + + + 407 + ~/Files/1.1.2/release/WebsitePanel-Server-1.1.2.13.zip + ~/Files/1.1.2/release/WebsitePanel-Server-1.1.2.13-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server112 + + + 406 + ~/Files/1.1.0/release/WebsitePanel-Server-1.1.0.10.zip + ~/Files/1.1.0/release/WebsitePanel-Server-1.1.0.10-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server110 + + + 403 + ~/Files/WebsitePanel-Server-1.0.2.0.zip + ~/Files/WebsitePanel-Server-1.0.2.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server102 + + + 402 + ~/Files/WebsitePanel-Server-1.0.1.0.zip + ~/Files/WebsitePanel-Server-1.0.1.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server101 + + + 401 + ~/Files/WebsitePanel-Server-1.0.zip + + setup\setup.dll + WebsitePanel.Setup.Server10 + + + + + + Installer Core Files + + + 505 + + ~/Files/1.2.1/WebsitePanel-Installer-1.2.1.1-Update.zip + + + + + + + 504 + + ~/Files/1.2.0/WebsitePanel-Installer-1.2.0.38-Update.zip + + + + + 503 + + ~/Files/1.1.2/release/WebsitePanel-Installer-1.1.2.12-Update.zip + + + + + 502 + + ~/Files/1.1.0/release/WebsitePanel-Installer-1.1.0-Update.zip + + + + + 501 + + + + + + + \ No newline at end of file diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Data/ProductReleasesFeed.Staging.xml b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Data/ProductReleasesFeed.Staging.xml index babe177c..3b4464e4 100644 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Data/ProductReleasesFeed.Staging.xml +++ b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Data/ProductReleasesFeed.Staging.xml @@ -1,101 +1,291 @@ - + - - - Express setup for standalone server configuration. It installs all components on the same server and configures WebsitePanel using recommended settings. - - - - 103 - ~/Files/WebsitePanel-StandaloneServerSetup-1.1.0.9.zip - - setup\setup.dll - WebsitePanel.Setup.StandaloneServerSetup102 - - - - - - - WebsitePanel Portal is a user interface to the control panel which allows managing user accounts, hosting spaces, web sites, FTP accounts, files, etc. - - - - 203 - ~/Files/WebsitePanel-Portal-1.1.0.9.zip - ~/Files/WebsitePanel-Portal-1.1.0.9-Update.zip - setup\setup.dll - WebsitePanel.Setup.Portal102 - - - - - - - Enterprise Server is the core of WebsitePanel system. It includes all business logic of the application. Enterprise Server should have access to Server and be accessible from Portal applications. - - - - 303 - ~/Files/WebsitePanel-EnterpriseServer-1.1.0.9.zip - ~/Files/WebsitePanel-EnterpriseServer-1.1.0.9-Update.zip - setup\setup.dll - WebsitePanel.Setup.EnterpriseServer102 - - - - - - - WebsitePanel Server is a set of services running on the remote server to be controlled. Server application should be reachable from Enterprise Server one. - - - - 403 - ~/Files/WebsitePanel-Server-1.1.0.9.zip - ~/Files/WebsitePanel-Server-1.1.0.9-Update.zip - setup\setup.dll - WebsitePanel.Setup.Server102 - - - - - - - Installer Core Files - - - 502 - - ~/Files/1.1.0/release/WebsitePanel-Installer-1.1.0-Update.zip - - - - - - + + + + Express setup for standalone server configuration. It installs all components on the same server and configures WebsitePanel using recommended settings. + + + 109 + http://bit.ly/ycuBo2#/WebsitePanel-StandaloneServerSetup-1.2.1.1.zip + + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup120 + + + 108 + ~/Files/1.2.0/WebsitePanel-StandaloneServerSetup-1.2.0.38.zip + + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup120 + + + 107 + ~/Files/1.1.2/release/WebsitePanel-StandaloneServerSetup-1.1.2.13.zip + + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup112 + + + 106 + ~/Files/1.1.0/release/WebsitePanel-StandaloneServerSetup-1.1.0.10.zip + + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup110 + + + 103 + ~/Files/WebsitePanel-StandaloneServerSetup-1.0.2.0.zip + + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup102 + + + 102 + ~/Files/WebsitePanel-StandaloneServerSetup-1.0.1.0.zip + + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup101 + + + 101 + ~/Files/WebsitePanel-StandaloneServerSetup-1.0.zip + + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup10 + + + + + + WebsitePanel Portal is a user interface to the control panel which allows managing user accounts, hosting spaces, web sites, FTP accounts, files, etc. + + + 209 + http://bit.ly/yCb0c1#/WebsitePanel-Portal-1.2.1.1.zip + http://bit.ly/yzMCDV#/WebsitePanel-Portal-1.2.1.1-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal120 + + + 208 + ~/Files/1.2.0/WebsitePanel-Portal-1.2.0.38.zip + ~/Files/1.2.0/WebsitePanel-Portal-1.2.0.38-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal120 + + + 207 + ~/Files/1.1.2/release/WebsitePanel-Portal-1.1.2.13.zip + ~/Files/1.1.2/release/WebsitePanel-Portal-1.1.2.13-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal112 + + + 206 + ~/Files/1.1.0/release/WebsitePanel-Portal-1.1.0.10.zip + ~/Files/1.1.0/release/WebsitePanel-Portal-1.1.0.10-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal110 + + + 203 + ~/Files/WebsitePanel-Portal-1.0.2.0.zip + ~/Files/WebsitePanel-Portal-1.0.2.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal102 + + + 202 + ~/Files/WebsitePanel-Portal-1.0.1.0.zip + ~/Files/WebsitePanel-Portal-1.0.1.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal101 + + + 201 + ~/Files/WebsitePanel-Portal-1.0.zip + + + setup\setup.dll + WebsitePanel.Setup.Portal10 + + + + + + Enterprise Server is the core of WebsitePanel system. It includes all business logic of the application. Enterprise Server should have access to Server and be accessible from Portal applications. + + + 309 + http://bit.ly/z4gCyP#/WebsitePanel-EnterpriseServer-1.2.1.1.zip + http://bit.ly/y2lE8O#/WebsitePanel-EnterpriseServer-1.2.1.1-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer120 + + + 308 + ~/Files/1.2.0/WebsitePanel-EnterpriseServer-1.2.0.38.zip + ~/Files/1.2.0/WebsitePanel-EnterpriseServer-1.2.0.38-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer120 + + + 307 + ~/Files/1.1.2/release/WebsitePanel-EnterpriseServer-1.1.2.13.zip + ~/Files/1.1.2/release/WebsitePanel-EnterpriseServer-1.1.2.13-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer112 + + + 306 + ~/Files/1.1.0/release/WebsitePanel-EnterpriseServer-1.1.0.10.zip + ~/Files/1.1.0/release/WebsitePanel-EnterpriseServer-1.1.0.10-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer110 + + + 303 + ~/Files/WebsitePanel-EnterpriseServer-1.0.2.0.zip + ~/Files/WebsitePanel-EnterpriseServer-1.0.2.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer102 + + + 302 + ~/Files/WebsitePanel-EnterpriseServer-1.0.1.0.zip + ~/Files/WebsitePanel-EnterpriseServer-1.0.1.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer101 + + + 301 + ~/Files/WebsitePanel-EnterpriseServer-1.0.zip + + + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer10 + + + + + + WebsitePanel Server is a set of services running on the remote server to be controlled. Server application should be reachable from Enterprise Server one. + + + 409 + http://bit.ly/A3rpyB#/WebsitePanel-Server-1.2.1.1.zip + http://bit.ly/zFwbjM#/WebsitePanel-Server-1.2.1.1-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server120 + + + 408 + ~/Files/1.2.0/WebsitePanel-Server-1.2.0.38.zip + ~/Files/1.2.0/WebsitePanel-Server-1.2.0.38-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server120 + + + 407 + ~/Files/1.1.2/release/WebsitePanel-Server-1.1.2.13.zip + ~/Files/1.1.2/release/WebsitePanel-Server-1.1.2.13-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server112 + + + 406 + ~/Files/1.1.0/release/WebsitePanel-Server-1.1.0.10.zip + ~/Files/1.1.0/release/WebsitePanel-Server-1.1.0.10-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server110 + + + 403 + ~/Files/WebsitePanel-Server-1.0.2.0.zip + ~/Files/WebsitePanel-Server-1.0.2.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server102 + + + 402 + ~/Files/WebsitePanel-Server-1.0.1.0.zip + ~/Files/WebsitePanel-Server-1.0.1.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server101 + + + 401 + ~/Files/WebsitePanel-Server-1.0.zip + + + setup\setup.dll + WebsitePanel.Setup.Server10 + + + + + + Installer Core Files + + + 505 + + ~/Files/1.2.1/WebsitePanel-Installer-1.2.1.1-Update.zip + + + + + + + 504 + + + ~/Files/1.2.0/WebsitePanel-Installer-1.2.0.38-Update.zip + + + + + + + 503 + + + ~/Files/1.1.2/release/WebsitePanel-Installer-1.1.2.12-Update.zip + + + + + + + 502 + + + ~/Files/1.1.0/release/WebsitePanel-Installer-1.1.0-Update.zip + + + + + + + 501 + + + + + + + + + + + \ No newline at end of file diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Data/ProductReleasesFeed.xml b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Data/ProductReleasesFeed.xml index 6c22b6d0..cebc7188 100644 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Data/ProductReleasesFeed.xml +++ b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Data/ProductReleasesFeed.xml @@ -1,164 +1,273 @@  - - - Express setup for standalone server configuration. It installs all components on the same server and configures WebsitePanel using recommended settings. - - - 106 - ~/Files/1.1.0/release/WebsitePanel-StandaloneServerSetup-1.1.0.10.zip - - setup\setup.dll - WebsitePanel.Setup.StandaloneServerSetup110 - - - 103 - ~/Files/WebsitePanel-StandaloneServerSetup-1.0.2.0.zip - - setup\setup.dll - WebsitePanel.Setup.StandaloneServerSetup102 - - - 102 - ~/Files/WebsitePanel-StandaloneServerSetup-1.0.1.0.zip - - setup\setup.dll - WebsitePanel.Setup.StandaloneServerSetup101 - - - 101 - ~/Files/WebsitePanel-StandaloneServerSetup-1.0.zip - - setup\setup.dll - WebsitePanel.Setup.StandaloneServerSetup10 - - - + - - - WebsitePanel Portal is a user interface to the control panel which allows managing user accounts, hosting spaces, web sites, FTP accounts, files, etc. - - - 206 - ~/Files/1.1.0/release/WebsitePanel-Portal-1.1.0.10.zip - ~/Files/1.1.0/release/WebsitePanel-Portal-1.1.0.10-Update.zip - setup\setup.dll - WebsitePanel.Setup.Portal110 - - - 203 - ~/Files/WebsitePanel-Portal-1.0.2.0.zip - ~/Files/WebsitePanel-Portal-1.0.2.0-Update.zip - setup\setup.dll - WebsitePanel.Setup.Portal102 - - - 202 - ~/Files/WebsitePanel-Portal-1.0.1.0.zip - ~/Files/WebsitePanel-Portal-1.0.1.0-Update.zip - setup\setup.dll - WebsitePanel.Setup.Portal101 - - - 201 - ~/Files/WebsitePanel-Portal-1.0.zip - - setup\setup.dll - WebsitePanel.Setup.Portal10 - - - + + + Express setup for standalone server configuration. It installs all components on the same server and configures WebsitePanel using recommended settings. + + + 109 + http://bit.ly/x5jLpO#/WebsitePanel-StandaloneServerSetup-1.2.1.6.zip + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup121 + + + 108 + ~/Files/1.2.0/WebsitePanel-StandaloneServerSetup-1.2.0.38.zip + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup120 + + + 107 + ~/Files/1.1.2/release/WebsitePanel-StandaloneServerSetup-1.1.2.13.zip + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup112 + + + 106 + ~/Files/1.1.0/release/WebsitePanel-StandaloneServerSetup-1.1.0.10.zip + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup110 + + + 103 + ~/Files/WebsitePanel-StandaloneServerSetup-1.0.2.0.zip + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup102 + + + 102 + ~/Files/WebsitePanel-StandaloneServerSetup-1.0.1.0.zip + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup101 + + + 101 + ~/Files/WebsitePanel-StandaloneServerSetup-1.0.zip + + setup\setup.dll + WebsitePanel.Setup.StandaloneServerSetup10 + + + - - - Enterprise Server is the core of WebsitePanel system. It includes all business logic of the application. Enterprise Server should have access to Server and be accessible from Portal applications. - - - 306 - ~/Files/1.1.0/release/WebsitePanel-EnterpriseServer-1.1.0.10.zip - ~/Files/1.1.0/release/WebsitePanel-EnterpriseServer-1.1.0.10-Update.zip - setup\setup.dll - WebsitePanel.Setup.EnterpriseServer110 - - - 303 - ~/Files/WebsitePanel-EnterpriseServer-1.0.2.0.zip - ~/Files/WebsitePanel-EnterpriseServer-1.0.2.0-Update.zip - setup\setup.dll - WebsitePanel.Setup.EnterpriseServer102 - - - 302 - ~/Files/WebsitePanel-EnterpriseServer-1.0.1.0.zip - ~/Files/WebsitePanel-EnterpriseServer-1.0.1.0-Update.zip - setup\setup.dll - WebsitePanel.Setup.EnterpriseServer101 - - - 301 - ~/Files/WebsitePanel-EnterpriseServer-1.0.zip - - setup\setup.dll - WebsitePanel.Setup.EnterpriseServer10 - - - + + + WebsitePanel Portal is a user interface to the control panel which allows managing user accounts, hosting spaces, web sites, FTP accounts, files, etc. + + + 209 + http://bit.ly/xgkw9j#/WebsitePanel-Portal-1.2.1.6.zip + http://bit.ly/zogNeL#/WebsitePanel-Portal-1.2.1.6-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal121 + + + 208 + ~/Files/1.2.0/WebsitePanel-Portal-1.2.0.38.zip + ~/Files/1.2.0/WebsitePanel-Portal-1.2.0.38-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal120 + + + 207 + ~/Files/1.1.2/release/WebsitePanel-Portal-1.1.2.13.zip + ~/Files/1.1.2/release/WebsitePanel-Portal-1.1.2.13-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal112 + + + 206 + ~/Files/1.1.0/release/WebsitePanel-Portal-1.1.0.10.zip + ~/Files/1.1.0/release/WebsitePanel-Portal-1.1.0.10-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal110 + + + 203 + ~/Files/WebsitePanel-Portal-1.0.2.0.zip + ~/Files/WebsitePanel-Portal-1.0.2.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal102 + + + 202 + ~/Files/WebsitePanel-Portal-1.0.1.0.zip + ~/Files/WebsitePanel-Portal-1.0.1.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.Portal101 + + + 201 + ~/Files/WebsitePanel-Portal-1.0.zip + + setup\setup.dll + WebsitePanel.Setup.Portal10 + + + - - - WebsitePanel Server is a set of services running on the remote server to be controlled. Server application should be reachable from Enterprise Server one. - - - 406 - ~/Files/1.1.0/release/WebsitePanel-Server-1.1.0.10.zip - ~/Files/1.1.0/release/WebsitePanel-Server-1.1.0.10-Update.zip - setup\setup.dll - WebsitePanel.Setup.Server110 - - - 403 - ~/Files/WebsitePanel-Server-1.0.2.0.zip - ~/Files/WebsitePanel-Server-1.0.2.0-Update.zip - setup\setup.dll - WebsitePanel.Setup.Server102 - - - 402 - ~/Files/WebsitePanel-Server-1.0.1.0.zip - ~/Files/WebsitePanel-Server-1.0.1.0-Update.zip - setup\setup.dll - WebsitePanel.Setup.Server101 - - - 401 - ~/Files/WebsitePanel-Server-1.0.zip - - setup\setup.dll - WebsitePanel.Setup.Server10 - - - + + + Enterprise Server is the core of WebsitePanel system. It includes all business logic of the application. Enterprise Server should have access to Server and be accessible from Portal applications. + + + 309 + http://bit.ly/xIuPt5#/WebsitePanel-EnterpriseServer-1.2.1.6.zip + http://bit.ly/y0ZgqF#/WebsitePanel-EnterpriseServer-1.2.1.6-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer121 + + + 308 + ~/Files/1.2.0/WebsitePanel-EnterpriseServer-1.2.0.38.zip + ~/Files/1.2.0/WebsitePanel-EnterpriseServer-1.2.0.38-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer120 + + + 307 + ~/Files/1.1.2/release/WebsitePanel-EnterpriseServer-1.1.2.13.zip + ~/Files/1.1.2/release/WebsitePanel-EnterpriseServer-1.1.2.13-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer112 + + + 306 + ~/Files/1.1.0/release/WebsitePanel-EnterpriseServer-1.1.0.10.zip + ~/Files/1.1.0/release/WebsitePanel-EnterpriseServer-1.1.0.10-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer110 + + + 303 + ~/Files/WebsitePanel-EnterpriseServer-1.0.2.0.zip + ~/Files/WebsitePanel-EnterpriseServer-1.0.2.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer102 + + + 302 + ~/Files/WebsitePanel-EnterpriseServer-1.0.1.0.zip + ~/Files/WebsitePanel-EnterpriseServer-1.0.1.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer101 + + + 301 + ~/Files/WebsitePanel-EnterpriseServer-1.0.zip + + setup\setup.dll + WebsitePanel.Setup.EnterpriseServer10 + + + - - - Installer Core Files - - - 502 - - ~/Files/1.1.0/release/WebsitePanel-Installer-1.1.0-Update.zip - - - - - 501 - - - - - - - + + + WebsitePanel Server is a set of services running on the remote server to be controlled. Server application should be reachable from Enterprise Server one. + + + 409 + http://bit.ly/zxq3uj#/WebsitePanel-Server-1.2.1.6.zip + http://bit.ly/zbbHVj#/WebsitePanel-Server-1.2.1.6-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server121 + + + 408 + ~/Files/1.2.0/WebsitePanel-Server-1.2.0.38.zip + ~/Files/1.2.0/WebsitePanel-Server-1.2.0.38-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server120 + + + 407 + ~/Files/1.1.2/release/WebsitePanel-Server-1.1.2.13.zip + ~/Files/1.1.2/release/WebsitePanel-Server-1.1.2.13-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server112 + + + 406 + ~/Files/1.1.0/release/WebsitePanel-Server-1.1.0.10.zip + ~/Files/1.1.0/release/WebsitePanel-Server-1.1.0.10-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server110 + + + 403 + ~/Files/WebsitePanel-Server-1.0.2.0.zip + ~/Files/WebsitePanel-Server-1.0.2.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server102 + + + 402 + ~/Files/WebsitePanel-Server-1.0.1.0.zip + ~/Files/WebsitePanel-Server-1.0.1.0-Update.zip + setup\setup.dll + WebsitePanel.Setup.Server101 + + + 401 + ~/Files/WebsitePanel-Server-1.0.zip + + setup\setup.dll + WebsitePanel.Setup.Server10 + + + + + + Installer Core Files + + + 505 + + ~/Files/1.2.1/WebsitePanel-Installer-1.2.1.1-Update.zip + + + + + + + 504 + + ~/Files/1.2.0/WebsitePanel-Installer-1.2.0.38-Update.zip + + + + + 503 + + ~/Files/1.1.2/release/WebsitePanel-Installer-1.1.2.12-Update.zip + + + + + 502 + + ~/Files/1.1.0/release/WebsitePanel-Installer-1.1.0-Update.zip + + + + + 501 + + + + + + + \ No newline at end of file diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Default.aspx b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Default.aspx deleted file mode 100644 index ac230d88..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Default.aspx +++ /dev/null @@ -1,39 +0,0 @@ -<%@ Page Title="WebsitePanel - The control panel for Windows hosting" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebsitePanel.WebSite.Default" %> - - - - -

Welcome to WebsitePanel project

- -

- WebsitePanel is an easy to use control panel for Windows hosting. It allows you to manage multiple servers, - it has a robust, scalable and secure architecture. -

- - -

WebsitePanel Home Page - With WebsitePanel you can easily manage all your web sites, FTP accounts, databases and other resources from a single place. -

- -

WebsitePanel highlights:

-
    -
  • It's an open source project under BSD license
  • -
  • Built exclusively for Windows platform
  • -
  • True multi-server architecture
  • -
  • Huge list of 3rd party software
  • -
  • Tight integration with Microsoft Web App Gallery
  • -
  • Easy to install and use
  • -
  • Great community support
  • -
  • Supported by Microsoft
  • -
- -

WebsitePanel is an ideal solution for:

-
    -
  • Developers managing their own or customer servers and web sites.
  • -
  • Providers offering Windows hosting services.
  • -
  • Individuals managing their dedicated or virtual Windows servers.
  • -
-

- Download WebsitePanel and take the most from your Windows server! -

-
\ No newline at end of file diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Default.aspx.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Default.aspx.cs deleted file mode 100644 index 3302197b..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Default.aspx.cs +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (c) 2011, SMB SAAS Systems Inc. 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 SMB SAAS Systems Inc. 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. -*/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace WebsitePanel.WebSite -{ - public partial class Default : System.Web.UI.Page - { - protected void Page_Load(object sender, EventArgs e) - { - - } - } -} diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Default.aspx.designer.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Default.aspx.designer.cs deleted file mode 100644 index 1ebd86ed..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Default.aspx.designer.cs +++ /dev/null @@ -1,15 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.WebSite { - - - public partial class Default { - } -} diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Documentation.aspx b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Documentation.aspx deleted file mode 100644 index 0a1e22fa..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Documentation.aspx +++ /dev/null @@ -1,14 +0,0 @@ -<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Documentation.aspx.cs" Inherits="WebsitePanel.WebSite.Documentation" %> - - - -

Documentation

- -

Essential Guides

-

User the following guide to install and configure WebsitePanel. It's primarily for users installing WebsitePanel in a standalone mode:

-

WebsitePanel Installation Guide (~3 MB)

- -

Modules

-

WebsitePanel Exchange 2010 SP1 Hosting Mode Module Guide (~300 KB)

-

Guidance for migration to Exchange 2010 SP1 Hosting Mode (~770 KB)

-
diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Documentation.aspx.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Documentation.aspx.cs deleted file mode 100644 index 903f7d5e..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Documentation.aspx.cs +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (c) 2011, SMB SAAS Systems Inc. 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 SMB SAAS Systems Inc. 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. -*/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace WebsitePanel.WebSite -{ - public partial class Documentation : System.Web.UI.Page - { - protected void Page_Load(object sender, EventArgs e) - { - - } - } -} diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Documentation.aspx.designer.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Documentation.aspx.designer.cs deleted file mode 100644 index ab5ac4aa..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Documentation.aspx.designer.cs +++ /dev/null @@ -1,15 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.WebSite { - - - public partial class Documentation { - } -} diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Downloads.aspx b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Downloads.aspx deleted file mode 100644 index 1c41b23d..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Downloads.aspx +++ /dev/null @@ -1,28 +0,0 @@ -<%@ Page Title="WebsitePanel - Downloads" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Downloads.aspx.cs" Inherits="WebsitePanel.WebSite.Downloads" %> - - - -

Downloads

- -

WebsitePanel Installer

- -

WebsitePanel Installer is used for initial installation of WebsitePanel components and for their further upgrades. - WebsitePanel Installer does not include WebsitePanel distributives - they will - be downloaded during the installation or upgrade process. Use link below to - download the installer:

-

WebsitePanel Installer (~1 MB)

- -

Tools

- -

WebsitePanel Localization Toolkit helps users to build multi-lingual WebsitePanel Portal sites:

-

WebsitePanel Localization Toolkit 1.0 (~1 MB)

- -

Language Packs

-

Danish Language Pack for WebsitePanel 1.0.1
(Original author: Jeppe Richardt; updated for WebsitePanel by Klaus E. Frederiksen)

- -

German Language Pack for WebsitePanel 1.0.2
(Author: Mike Schwarz)

- -

Templates

-

Mail templates for WebsitePanel

- -
diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Downloads.aspx.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Downloads.aspx.cs deleted file mode 100644 index 663ff58e..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Downloads.aspx.cs +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (c) 2011, SMB SAAS Systems Inc. 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 SMB SAAS Systems Inc. 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. -*/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace WebsitePanel.WebSite -{ - public partial class Downloads : System.Web.UI.Page - { - protected void Page_Load(object sender, EventArgs e) - { - - } - } -} diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Downloads.aspx.designer.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Downloads.aspx.designer.cs deleted file mode 100644 index 3633f372..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Downloads.aspx.designer.cs +++ /dev/null @@ -1,15 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.WebSite { - - - public partial class Downloads { - } -} diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Error.htm b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Error.htm deleted file mode 100644 index 3e806714..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Error.htm +++ /dev/null @@ -1,18 +0,0 @@ - - - - WebsitePanel Error - - - -

- Error

-

- Sorry, an error occurred while processing your request. Please try again later.

- - \ No newline at end of file diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/License.aspx b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/License.aspx deleted file mode 100644 index c24eaf8f..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/License.aspx +++ /dev/null @@ -1,23 +0,0 @@ -<%@ Page Title="WebsitePanel - License" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="License.aspx.cs" Inherits="WebsitePanel.WebSite.License" %> - - - - -

Project License

- -

Copyright (c) 2010, SMB SAAS Systems Inc. -
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 SMB SAAS Systems Inc. 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.

- -
diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/License.aspx.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/License.aspx.cs deleted file mode 100644 index 62d8bafb..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/License.aspx.cs +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (c) 2011, SMB SAAS Systems Inc. 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 SMB SAAS Systems Inc. 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. -*/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace WebsitePanel.WebSite -{ - public partial class License : System.Web.UI.Page - { - protected void Page_Load(object sender, EventArgs e) - { - - } - } -} diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/License.aspx.designer.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/License.aspx.designer.cs deleted file mode 100644 index 106aba95..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/License.aspx.designer.cs +++ /dev/null @@ -1,16 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:2.0.50727.4927 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.WebSite { - - - public partial class License { - } -} diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Properties/AssemblyInfo.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Properties/AssemblyInfo.cs index ec4d606d..17f64084 100644 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Properties/AssemblyInfo.cs +++ b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Properties/AssemblyInfo.cs @@ -8,9 +8,9 @@ using System.Runtime.InteropServices; [assembly: AssemblyTitle("WebsitePanel.WebSite")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("SMB SAAS Systems Inc.")] +[assembly: AssemblyCompany("Outercurve Foundation")] [assembly: AssemblyProduct("WebsitePanel Web Site")] -[assembly: AssemblyCopyright("Copyright © 2010 SMB SAAS Systems Inc.")] +[assembly: AssemblyCopyright("Copyright © 2012 Outercurve Foundation.")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Site.Master b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Site.Master deleted file mode 100644 index cd28f360..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Site.Master +++ /dev/null @@ -1,51 +0,0 @@ -<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="WebsitePanel.WebSite.Site" %> -<%@ Register src="Controls/SideBar.ascx" tagname="SideBar" tagprefix="wsp" %> - - - - - - - - - - - -
- -
-
- - - - - -
- - - - - - -
- -
- -
- - -
- -
- - - - diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Site.Master.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Site.Master.cs deleted file mode 100644 index 0748d616..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Site.Master.cs +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (c) 2011, SMB SAAS Systems Inc. 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 SMB SAAS Systems Inc. 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. -*/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace WebsitePanel.WebSite -{ - public partial class Site : System.Web.UI.MasterPage - { - protected void Page_Load(object sender, EventArgs e) - { - - } - } -} diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Site.Master.designer.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Site.Master.designer.cs deleted file mode 100644 index 285c1991..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Site.Master.designer.cs +++ /dev/null @@ -1,52 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:2.0.50727.4927 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.WebSite { - - - public partial class Site { - - /// - /// head control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.ContentPlaceHolder head; - - /// - /// AspForm control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlForm AspForm; - - /// - /// SideBarContent control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.WebSite.Controls.SideBar SideBarContent; - - /// - /// ContentColumn control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.ContentPlaceHolder ContentColumn; - } -} diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Web.config b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Web.config deleted file mode 100644 index 0b6886f0..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/Web.config +++ /dev/null @@ -1,102 +0,0 @@ - - - - - -
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/2.0/WebsitePanelFeed.xml b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/1.1.0/WebsitePanelFeed.xml similarity index 100% rename from WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/2.0/WebsitePanelFeed.xml rename to WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/1.1.0/WebsitePanelFeed.xml diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/3.0/WebsitePanelFeed.xml b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/1.2.0/WebsitePanelFeed.xml similarity index 86% rename from WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/3.0/WebsitePanelFeed.xml rename to WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/1.2.0/WebsitePanelFeed.xml index c971c190..eede85b7 100644 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/3.0/WebsitePanelFeed.xml +++ b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/1.2.0/WebsitePanelFeed.xml @@ -1,34 +1,34 @@  - 1.0.1 - 2011-01-12T15:09:00Z - WebsitePanel 1.1.0 + 1.0.2 + 2011-07-14T12:14:00Z + WebsitePanel 1.2.0 - SMB SAAS Systems + Outercurve Foundation http://www.websitepanel.net http://www.websitepanel.net/WebPI/3.0/WebsitePanelFeed.xml - WebsitePanel - WebsitePanel 1.1.0 - 1.1.0 + WebsitePanel120 + WebsitePanel 1.2.0 + 1.2.0 WebsitePanel is an easy to use control panel for Windows hosting. It allows you to manage multiple servers, it has a robust, scalable and secure architecture. With WebsitePanel you can easily manage all your web sites, FTP accounts, databases and other resources from a single place. http://www.websitepanel.net/web/webpi/wsp - 2010-12-30T17:40:00Z + 2011-07-13T17:40:00Z WebsitePanel is an easy to use control panel for Windows hosting. It allows you to manage multiple servers, it has a robust, scalable and secure architecture. With WebsitePanel you can easily manage all your web sites, FTP accounts, databases and other resources from a single place. - 2010-12-30T17:40:00Z + 2011-07-13T17:40:00Z http://www.websitepanel.net/content/images/wsp_screenshot.png - SMB SAAS Systems + Outercurve Foundation http://www.websitepanel.net/Contact-Us - + Server ProductSpotlight @@ -38,12 +38,12 @@ - %ProgramFiles%\SMB SAAS Systems\WebsitePanel Installer\WebsitePanel.Installer.exe + %ProgramFiles%\WebsitePanel Installer\WebsitePanel.Installer.exe - %ProgramFiles(x86)%\SMB SAAS Systems\WebsitePanel Installer\WebsitePanel.Installer.exe + %ProgramFiles(x86)%\WebsitePanel Installer\WebsitePanel.Installer.exe @@ -54,10 +54,10 @@ - NETFramework20SP1 + NETFramework4 - ASPNET + IIS7 SQLExpress @@ -107,9 +107,9 @@ http://www.websitepanel.net/License - 1059 - http://www.websitepanel.net/Files/1.1.0/release/WebsitePanelInstaller11.msi - 0F6EAFE073590A9BFC190C72113B4B73A3A375F7 + 1076 + http://websitepanel.codeplex.com/releases/view/69982#DownloadId=258992 + CC6F4CF24F3BEE262EE798A9B07F54198A794CC2 @@ -118,7 +118,7 @@ /i "%InstallerFile%" /q - %ProgramFiles%\SMB SAAS Systems\WebsitePanel Installer\WebsitePanel.SilentInstaller.exe + %ProgramFiles%\WebsitePanel Installer\WebsitePanel.SilentInstaller.exe /cname:"standalone" @@ -201,10 +201,10 @@ http://www.websitepanel.net/License - 1059 - http://www.websitepanel.net/Files/1.1.0/release/WebsitePanelInstaller11.msi + 1076 + http://websitepanel.codeplex.com/releases/view/69982#DownloadId=258992 - 0F6EAFE073590A9BFC190C72113B4B73A3A375F7 + CC6F4CF24F3BEE262EE798A9B07F54198A794CC2 @@ -212,7 +212,7 @@ /i "%InstallerFile%" /q - %ProgramFiles(x86)%\SMB SAAS Systems\WebsitePanel Installer\WebsitePanel.SilentInstaller.exe + %ProgramFiles(x86)%\WebsitePanel Installer\WebsitePanel.SilentInstaller.exe /cname:"standalone" diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/1.2.1/WebsitePanelFeed.xml b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/1.2.1/WebsitePanelFeed.xml new file mode 100644 index 00000000..d49a7bc2 --- /dev/null +++ b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebPI/1.2.1/WebsitePanelFeed.xml @@ -0,0 +1,283 @@ + + + + + WebsitePanel Installer v4.0 Feed + 2012-05-02T00:00:00Z + + + Outercurve Foundation + http://www.websitepanel.net/ + + http://www.websitepanel.net/web/webpi/1.2.1/WebsitePanelList.xml + + + WebsitePanel121 + WebsitePanel 1.2.1 + 1.2.1 + WebsitePanel is an easy to use control panel for Windows hosting. It allows you to manage multiple servers, it has a robust, scalable and secure architecture. With WebsitePanel you can easily manage all your web sites, FTP accounts, databases and other resources from a single place. + http://www.websitepanel.net/web/webpi/wsp/121 + 2012-05-02T00:00:00Z + WebsitePanel is an easy to use control panel for Windows hosting. It allows you to manage multiple servers, it has a robust, scalable and secure architecture. With WebsitePanel you can easily manage all your web sites, FTP accounts, databases and other resources from a single place. + 2011-07-15T17:40:00Z + + + http://www.websitepanel.net/content/images/wsp_screenshot.png + + + Outercurve Foundation + http://www.websitepanel.net/Contact-Us + + + + Server + ProductSpotlight + + + + + + + %ProgramFiles%\WebsitePanel Installer\WebsitePanel.Installer.exe + + + + + %ProgramFiles(x86)%\WebsitePanel Installer\WebsitePanel.Installer.exe + + + + + + + + + + + IIS7 + + + ManagementService + + + + + NETFramework4 + + + NETFX4 + + + NETFramework45 + + + + + SQLExpress + + + WDeploy + + + + + + + + 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. + http://www.websitepanel.net/License + Terms of Use + + + + + + 1 + en + + + + + + + 5 + 2 + 2 + + + 5 + 2 + + + + + 6 + 0 + 0 + + + + + + + http://www.websitepanel.net/License + + + 1104 + http://websitepanel.codeplex.com/Project/Download/FileDownload.aspx?DownloadId=339227 + 2AEE726B0CD696C08DA90246CEB5D8E3154C0333 + + + + + msiexec.exe + /i "%InstallerFile%" /q + + + %ProgramFiles%\WebsitePanel Installer\WebsitePanel.SilentInstaller.exe + /cname:"standalone" + + + 0 + + Installation operation completed successfully. + + + + -1000 + + Failed to install WebsitePanel Standalone Setup package + + + + -999 + + Unknown component name has been supplied + + + + -998 + + Another instance of WebsitePanel installation is in progress + + + + -997 + + Not enough permissions to install run the installation + + + + -996 + + No input parameters supplied + + + + -995 + + WebsitePanel Standalone Setup or one of its parts has been already installed + + + + + + http://social.msdn.microsoft.com/Forums/en-US/category/websitepanel + + + + 2 + en + + + + + + + 5 + 2 + 2 + + + 5 + 2 + + + + + 6 + 0 + 0 + + + + + + + http://www.websitepanel.net/License + + + 1104 + http://websitepanel.codeplex.com/Project/Download/FileDownload.aspx?DownloadId=339227 + + 2AEE726B0CD696C08DA90246CEB5D8E3154C0333 + + + + msiexec.exe + /i "%InstallerFile%" /q + + + %ProgramFiles(x86)%\WebsitePanel Installer\WebsitePanel.SilentInstaller.exe + /cname:"standalone" + + + 0 + + Installation operation completed successfully. + + + + -1000 + + Failed to install WebsitePanel Standalone Setup package + + + + -999 + + Unknown component name has been supplied + + + + -998 + + Another instance of WebsitePanel installation is in progress + + + + -997 + + Not enough permissions to install run the installation + + + + -996 + + No input parameters supplied + + + + -995 + + WebsitePanel Standalone Setup or one of its parts has been already installed + + + + + + http://social.msdn.microsoft.com/Forums/en-US/category/websitepanel + + + + \ No newline at end of file diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebsitePanel.WebSite.csproj b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebsitePanel.WebSite.csproj index 53a912de..2d09ef83 100644 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebsitePanel.WebSite.csproj +++ b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WebsitePanel.WebSite.csproj @@ -60,7 +60,7 @@ - + Designer @@ -70,58 +70,14 @@ Designer - - - Designer - - + + + - - ContactUs.aspx - ASPXCodeBehind - - - ContactUs.aspx - - - SideBar.ascx - ASPXCodeBehind - - - SideBar.ascx - - - Default.aspx - ASPXCodeBehind - - - Default.aspx - - - Documentation.aspx - ASPXCodeBehind - - - Documentation.aspx - - - Downloads.aspx - ASPXCodeBehind - - - Downloads.aspx - - - License.aspx - ASPXCodeBehind - - - License.aspx - InstallerService-Staging.asmx @@ -133,43 +89,9 @@ InstallerService.asmx - - Site.Master - ASPXCodeBehind - - - Site.Master - - - WorksWith.aspx - ASPXCodeBehind - - - WorksWith.aspx - - - - - - - - - - - - - - - - - - Designer - - - diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WorksWith.aspx b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WorksWith.aspx deleted file mode 100644 index 9fff2c1f..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WorksWith.aspx +++ /dev/null @@ -1,86 +0,0 @@ -<%@ Page Title="WebsitePanel - 3rd Party Software" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="WorksWith.aspx.cs" Inherits="WebsitePanel.WebSite.WorksWith" %> - - - -

3rd Party Software

-

WebsitePanel works with a huge list of 3rd party products. Please note that support for the software systems managed by WebsitePanel is provided by the publisher or manufacturer of those software systems. For example support for SmarterMail is provided by SmarterTools. Likewise support for Microsoft products such as IIS is provided by Microsoft support under the standard product support channels.

- -

Operating Systems

-
    -
  • Windows Server 2008 R2 any edition, 64 bits
  • -
  • Windows Server 2008 any edition, 32 and 64 bits 
  • -
  • Windows Server 2003 R2 any edition, 32 and 64 bits
  • -
  • Windows Server 2003 any edition, 32 and 64 bits
  • -
- -

Web Servers

-
    -
  • IIS 7.5
  • -
  • IIS 7.0
  • -
  • IIS 6.0
  • -
  • ColdFusion 7/8/9
  • -
- -

FTP Servers

-
    -
  • MS FTP 7.5
  • -
  • MS FTP 7.0
  • -
  • MS FTP 6.0
  • -
  • Gene6 FTP Server
  • -
  • Serv-U FTP Server 6.x
  • -
  • FileZilla FTP Server
  • -
- -

Mail Servers

-
    -
  • SmarterMail 2.x - 7.x
  • -
  • MailEnable 2.x - 4.x
  • -
  • Merak Mail Server 8.x - 10.x
  • -
  • MDaemon 9.x - 10.x
  • -
  • hMailServer 4.x
  • -
  • ArgoMail Server 1.x
  • -
  • Ability Mail Server 2.x
  • -
- -

Database Engines

-
    -
  • Microsoft SQL Server 2008 R2 of any edition
  • -
  • Microsoft SQL Server 2000/2005/2008 of any edition
  • -
  • Microsoft SQL Server 7.0 of any edition
  • -
  • MySQL Server of 4.0.x, 4.1.x and 5.x versions
  • -
  • Microsoft Access 2000 
  • -
- -

DNS Servers

-
    -
  • Microsoft DNS Server (bundled with Windows Server)
  • -
  • Simple DNS Plus 4.x-5.x
  • -
  • ISC BIND DNS Server
  • -
  • Nettica DNS Service
  • -
- -

Statistics Servers

-
    -
  • SmarterStats 3.x - 6.x
  • -
  • AWStats Statistics (free software)
  • -
- -

Collaboration

-
    -
  • Microsoft Exchange Server 2010 SP1 installed with /hosting switch
  • -
  • Microsoft Exchange Server 2007 and 2010 -
    Please refer to this post for support status update on Exchange 2007 and 2010.
  • -
  • BlackBerry Enterprise Server
  • -
  • Windows SharePoint Services 3.0
  • -
  • SharePoint Foundation 2010
  • -
  • Office Communication Server 2007
  • -
  • Microsoft Dynamics CRM 4.0
  • -
- -

Virtualization

-
    -
  • Hyper-V Technology
  • -
- -
diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WorksWith.aspx.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WorksWith.aspx.cs deleted file mode 100644 index 1351dbfc..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WorksWith.aspx.cs +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (c) 2011, SMB SAAS Systems Inc. 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 SMB SAAS Systems Inc. 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. -*/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace WebsitePanel.WebSite -{ - public partial class WorksWith : System.Web.UI.Page - { - protected void Page_Load(object sender, EventArgs e) - { - - } - } -} diff --git a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WorksWith.aspx.designer.cs b/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WorksWith.aspx.designer.cs deleted file mode 100644 index 252dbc73..00000000 --- a/WebsitePanel.WebSite/Sources/WebsitePanel.WebSite/WorksWith.aspx.designer.cs +++ /dev/null @@ -1,15 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.WebSite { - - - public partial class WorksWith { - } -} From bb347537afb45a1a2a270eaca5d840040ecf545e Mon Sep 17 00:00:00 2001 From: Alejandro Date: Sat, 12 May 2012 14:17:46 -0400 Subject: [PATCH 15/78] Microsoft SQL Server 2012 support Upgraded: Database scripts install_db.sql and upload_db.sql in order to support MSSQL2012 Upgraded: Installer to allow setup WebsitePanel with MSSQL2012 Added: MsSqlServer2012.cs --- .../Actions/StandaloneServerActionManager.cs | 4 + .../WebsitePanel.Setup/Wizard/DatabasePage.cs | 4 +- .../Wizard/ExpressInstallPage.cs | 4 + WebsitePanel/Database/install_db.sql | 75 +- WebsitePanel/Database/update_db.sql | 816 ++++++++++++++++++ .../Resources/build-serveradmin-settings.xml | 41 + .../Resources.xml | 82 +- .../Servers/ResourceGroups.cs | 1 + .../Code/Packages/PackageController.cs | 1 + .../WebAppGallery/WebAppGalleryController.cs | 9 +- .../MsSqlServer2012.cs | 47 + ...ePanel.Providers.Database.SqlServer.csproj | 1 + .../App_Data/ModulesData.config | 2 + .../App_Data/WebsitePanel_Pages.config | 20 + .../WebsitePanel_Modules.ascx.resx | 6 + .../WebsitePanel_Pages.ascx.resx | 6 + .../WebsitePanel_SharedResources.ascx.resx | 33 + .../HostingPlanQuotas.ascx.resx | 3 + .../UserControls/HostingPlanQuotas.ascx | 18 + .../HostingPlanQuotas.ascx.designer.cs | 18 + .../Code/Framework/WebsitePanelControlBase.cs | 1 + .../WebsitePanel/OdbcEditSource.ascx.cs | 2 + .../WebsitePanel/SharePointEditSite.ascx.cs | 1 + .../WebApplicationGalleryParams.ascx.cs | 2 + 24 files changed, 1179 insertions(+), 18 deletions(-) create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2012.cs diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Actions/StandaloneServerActionManager.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Actions/StandaloneServerActionManager.cs index 308ed56c..64240951 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Actions/StandaloneServerActionManager.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Actions/StandaloneServerActionManager.cs @@ -499,6 +499,10 @@ namespace WebsitePanel.Setup.Actions { serviceInfo.ProviderId = 202; } + else if (sqlVersion.StartsWith("11.")) + { + serviceInfo.ProviderId = 209; + } serviceId = ES.Services.Servers.AddService(serviceInfo); } else diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/DatabasePage.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/DatabasePage.cs index 134c9653..933c0201 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/DatabasePage.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/DatabasePage.cs @@ -124,11 +124,11 @@ namespace WebsitePanel.Setup { // check SQL server version string sqlVersion = GetSqlServerVersion(connectionString); - if (!sqlVersion.StartsWith("9.") && !sqlVersion.StartsWith("10.")) + if (!sqlVersion.StartsWith("9.") && !sqlVersion.StartsWith("10.") && !sqlVersion.StartsWith("11.")) { // SQL Server 2005 engine required e.Cancel = true; - ShowWarning("This program can be installed on SQL Server 2005/2008 only."); + ShowWarning("This program can be installed on SQL Server 2005/2008/2012 only."); return; } int securityMode = GetSqlServerSecurityMode(connectionString); diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/ExpressInstallPage.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/ExpressInstallPage.cs index f101d6da..6f5def75 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/ExpressInstallPage.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Setup/Wizard/ExpressInstallPage.cs @@ -862,6 +862,10 @@ namespace WebsitePanel.Setup { serviceInfo.ProviderId = 202; } + else if (sqlVersion.StartsWith("11.")) + { + serviceInfo.ProviderId = 209; + } serviceId = ES.Services.Servers.AddService(serviceInfo); } else diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index e5b39fa7..75fc6abe 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -3625,8 +3625,22 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (217, 22, 4, N'MsSQL2008.MaxLogSize', N'Max Log Size', 3, 0, NULL) GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (218, 23, 1, N'MsSQL2012.Databases', N'Databases', 2, 0, 37) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (219, 23, 2, N'MsSQL2012.Users', N'Users', 2, 0, 38) +GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (220, 1, 5, N'OS.DomainPointers', N'Domain Pointers', 2, 0, NULL) GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (221, 23, 3, N'MsSQL2012.MaxDatabaseSize', N'Max Database Size', 3, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (222, 23, 5, N'MsSQL2012.Backup', N'Database Backups', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (223, 23, 6, N'MsSQL2012.Restore', N'Database Restores', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (224, 23, 7, N'MsSQL2012.Truncate', N'Database Truncate', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (225, 23, 4, N'MsSQL2012.MaxLogSize', N'Max Log Size', 3, 0, NULL) +GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (300, 30, 1, N'VPS.ServersNumber', N'Number of VPS', 2, 0, 33) GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (301, 30, 2, N'VPS.ManagingAllowed', N'Allow user to create VPS', 1, 0, NULL) @@ -10469,37 +10483,39 @@ INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupContr GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (5, N'MsSQL2000', 8, N'WebsitePanel.EnterpriseServer.DatabaseServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (6, N'MySQL4', 11, N'WebsitePanel.EnterpriseServer.DatabaseServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (6, N'MySQL4', 12, N'WebsitePanel.EnterpriseServer.DatabaseServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (7, N'DNS', 16, N'WebsitePanel.EnterpriseServer.DnsServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (7, N'DNS', 17, N'WebsitePanel.EnterpriseServer.DnsServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (8, N'Statistics', 17, N'WebsitePanel.EnterpriseServer.StatisticsServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (8, N'Statistics', 18, N'WebsitePanel.EnterpriseServer.StatisticsServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (9, N'SharePoint', 13, N'WebsitePanel.EnterpriseServer.SharePointServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (9, N'SharePoint', 14, N'WebsitePanel.EnterpriseServer.SharePointServerController') GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (10, N'MsSQL2005', 9, N'WebsitePanel.EnterpriseServer.DatabaseServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (11, N'MySQL5', 12, N'WebsitePanel.EnterpriseServer.DatabaseServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (11, N'MySQL5', 13, N'WebsitePanel.EnterpriseServer.DatabaseServerController') GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (12, N'Exchange', 5, NULL) GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (13, N'Hosted Organizations', 6, NULL) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (20, N'Hosted SharePoint', 14, N'WebsitePanel.EnterpriseServer.HostedSharePointServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (20, N'Hosted SharePoint', 15, N'WebsitePanel.EnterpriseServer.HostedSharePointServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (21, N'Hosted CRM', 15, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (21, N'Hosted CRM', 16, NULL) GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (22, N'MsSQL2008', 10, N'WebsitePanel.EnterpriseServer.DatabaseServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (30, N'VPS', 18, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (23, N'MsSQL2012', 11, N'WebsitePanel.EnterpriseServer.DatabaseServerController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (31, N'BlackBerry', 20, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (30, N'VPS', 19, NULL) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (32, N'OCS', 21, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (31, N'BlackBerry', 21, NULL) +GO +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (32, N'OCS', 22, NULL) GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (33, N'ExchangeHostedEdition', 7, N'WebsitePanel.EnterpriseServer.ExchangeHostedEditionController') GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (40, N'VPSForPC', 19, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (40, N'VPSForPC', 20, NULL) GO SET ANSI_NULLS ON GO @@ -13920,7 +13936,7 @@ INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [D GO INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [DefaultValue], [ParameterOrder]) VALUES (N'SCHEDULE_TASK_BACKUP_DATABASE', N'BACKUP_NAME', N'String', N'database_backup.bak', 4) GO -INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [DefaultValue], [ParameterOrder]) VALUES (N'SCHEDULE_TASK_BACKUP_DATABASE', N'DATABASE_GROUP', N'List', N'MsSQL2000=SQL Server 2000;MsSQL2005=SQL Server 2005;MsSQL2008=SQL Server 2008;MySQL4=MySQL 4.0;MySQL5=MySQL 5.0', 1) +INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [DefaultValue], [ParameterOrder]) VALUES (N'SCHEDULE_TASK_BACKUP_DATABASE', N'DATABASE_GROUP', N'List', N'MsSQL2000=SQL Server 2000;MsSQL2005=SQL Server 2005;MsSQL2008=SQL Server 2008;MsSQL2012=SQL Server 2012;MySQL4=MySQL 4.0;MySQL5=MySQL 5.0', 1) GO INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [DefaultValue], [ParameterOrder]) VALUES (N'SCHEDULE_TASK_BACKUP_DATABASE', N'DATABASE_NAME', N'String', N'', 2) GO @@ -21050,6 +21066,7 @@ and below is the summary information for its resources.
  • SQL Server 2000
  • SQL Server 2005
  • SQL Server 2008
  • +
  • SQL Server 2012
  • My SQL 4.x
  • My SQL 5.x
  • Microsoft Access
  • @@ -21497,6 +21514,34 @@ using this IP address instead of actual POP3/SMTP/IMAP servers name: + + + +

    SQL Server 2012

    + + + + + + + + + + +
    Maximum Number of Databases:
    Maximum Number of Users:
    + +

    + In order to connect to SQL Server 2012 from Management Studio, Enterprise Manager, Query Analyzer + or other client software you can use the following SQL Server address: +

    + + + + +
    #MsSQL2012Address#
    + +
    +

    MySQL 4.x

    @@ -22242,6 +22287,10 @@ INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeNa GO INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (36, 40, N'VirtualSwitch', N'WebsitePanel.Providers.Virtualization.VirtualSwitch, WebsitePanel.Providers.Base', 2, 0, 0, 1, 1, 1, 0, 0) GO +INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (37, 23, N'MsSQL2012Database', N'WebsitePanel.Providers.Database.SqlDatabase, WebsitePanel.Providers.Base', 1, 1, 0, 0, 1, 1, 1, 1) +GO +INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (38, 23, N'MsSQL2012User', N'WebsitePanel.Providers.Database.SqlUser, WebsitePanel.Providers.Base', 1, 0, 0, 0, 1, 1, 1, 1) +GO INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (40, 33, N'ExchangeOrganization', N'WebsitePanel.Providers.ExchangeHostedEdition.ExchangeOrganization, WebsitePanel.Providers.Base', 1, 0, 0, 1, 1, 1, 0, 0) GO INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (200, 20, N'SharePointSiteCollection', N'WebsitePanel.Providers.SharePoint.SharePointSiteCollection, WebsitePanel.Providers.Base', 25, 1, 0, 0, 1, 1, 1, 1) @@ -23205,6 +23254,8 @@ INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName] GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (208, 20, N'HostedSharePoint2010', N'Hosted SharePoint Foundation 2010', N'WebsitePanel.Providers.HostedSolution.HostedSharePointServer2010, WebsitePanel.Providers.HostedSolution', N'HostedSharePoint30', NULL) GO +INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (209, 23, N'MsSQL', N'Microsoft SQL Server 2012', N'WebsitePanel.Providers.Database.MsSqlServer2012, WebsitePanel.Providers.Database.SqlServer', N'MSSQL', NULL) +GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (300, 30, N'HyperV', N'Microsoft Hyper-V', N'WebsitePanel.Providers.Virtualization.HyperV, WebsitePanel.Providers.Virtualization.HyperV', N'HyperV', 1) GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (301, 11, N'MySQL', N'MySQL Server 5.5', N'WebsitePanel.Providers.Database.MySqlServer55, WebsitePanel.Providers.Database.MySQL', N'MySQL', NULL) diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index a949fd61..950e401e 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -11,3 +11,819 @@ BEGIN INSERT [dbo].[Versions] ([DatabaseVersion], [BuildDate]) VALUES (@build_version, @build_date) END GO + +IF NOT EXISTS (SELECT * FROM [dbo].[ResourceGroups] WHERE [GroupName] = 'MsSQL2012') +BEGIN + INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (23, N'MsSQL2012', 10, N'WebsitePanel.EnterpriseServer.DatabaseServerController') +END +GO + +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 1 WHERE [GroupName] = N'OS' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 2 WHERE [GroupName] = N'Web' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 3 WHERE [GroupName] = N'FTP' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 4 WHERE [GroupName] = N'Mail' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 5 WHERE [GroupName] = N'Exchange' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 6 WHERE [GroupName] = N'Hosted Organizations' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 7 WHERE [GroupName] = N'ExchangeHostedEdition' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 8 WHERE [GroupName] = N'MsSQL2000' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 9 WHERE [GroupName] = N'MsSQL2005' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 10 WHERE [GroupName] = N'MsSQL2008' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 11 WHERE [GroupName] = N'MsSQL2012' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 12 WHERE [GroupName] = N'MySQL4' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 13 WHERE [GroupName] = N'MySQL5' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 14 WHERE [GroupName] = N'SharePoint' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 15 WHERE [GroupName] = N'Hosted SharePoint' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 16 WHERE [GroupName] = N'Hosted CRM' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 17 WHERE [GroupName] = N'DNS' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 18 WHERE [GroupName] = N'Statistics' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 19 WHERE [GroupName] = N'VPS' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 20 WHERE [GroupName] = N'VPSForPC' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 21 WHERE [GroupName] = N'BlackBerry' +GO +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 22 WHERE [GroupName] = N'OCS' +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[ServiceItemTypes] WHERE [DisplayName] = 'MsSQL2012Database') +BEGIN + INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (37, 23, N'MsSQL2012Database', N'WebsitePanel.Providers.Database.SqlDatabase, WebsitePanel.Providers.Base', 1, 1, 0, 0, 1, 1, 1, 1) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[ServiceItemTypes] WHERE [DisplayName] = 'MsSQL2012User') +BEGIN + INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (38, 23, N'MsSQL2012User', N'WebsitePanel.Providers.Database.SqlUser, WebsitePanel.Providers.Base', 1, 0, 0, 0, 1, 1, 1, 1) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Microsoft SQL Server 2012') +BEGIN + -- provider + INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (209, 23, N'MsSQL', N'Microsoft SQL Server 2012', N'WebsitePanel.Providers.Database.MsSqlServer2012, WebsitePanel.Providers.Database.SqlServer', N'MSSQL', NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Databases') +BEGIN + INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (218, 23, 1, N'MsSQL2012.Databases', N'Databases', 2, 0, 37) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Users') +BEGIN + INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (219, 23, 2, N'MsSQL2012.Users', N'Users', 2, 0, 38) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.MaxDatabaseSize') +BEGIN + INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (221, 23, 3, N'MsSQL2012.MaxDatabaseSize', N'Max Database Size', 3, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Backup') +BEGIN + INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (222, 23, 5, N'MsSQL2012.Backup', N'Database Backups', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Restore') +BEGIN + INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (223, 23, 6, N'MsSQL2012.Restore', N'Database Restores', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Truncate') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (224, 23, 7, N'MsSQL2012.Truncate', N'Database Truncate', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.MaxLogSize') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (225, 23, 4, N'MsSQL2012.MaxLogSize', N'Max Log Size', 3, 0, NULL) +END +GO + +UPDATE [dbo].[ScheduleTaskParameters] SET DefaultValue = N'MsSQL2000=SQL Server 2000;MsSQL2005=SQL Server 2005;MsSQL2008=SQL Server 2008;MsSQL2012=SQL Server 2012;MySQL4=MySQL 4.0;MySQL5=MySQL 5.0' WHERE [ParameterID] = N'DATABASE_GROUP' +GO + +UPDATE [dbo].[UserSettings] SET [PropertyValue] = N' + + Hosting Space Summary Information + + + +
    + + + +
    + Hosting Space Information +
    + + +

    +Hello #user.FirstName#, +

    + +

    +"#space.Package.PackageName#" hosting space has been created under your user account +and below is the summary information for its resources. +

    +
    + + + + + +

    Control Panel URL

    + + + + + + + + + + + + + + + +
    Control Panel URLUsernamePassword
    http://panel.HostingCompany.com#user.Username##user.Password#
    +
    + + +

    Hosting Space Overview

    + +

    + General hosting space limits: +

    + + + + + + + + + + + + + + + + + +
    Disk Space, MB:
    Bandwidth, MB/Month:
    Maximum Number of Domains:
    Maximum Number of Sub-Domains:
    + + + +

    Web

    + +

    + Limits +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Maximum Number of Web Sites:
    Web Application Gallery:
    Classic ASP:
    ASP.NET 1.1:
    ASP.NET 2.0:
    ASP.NET 4.0:
    PHP 4:
    PHP 5:
    Perl:
    CGI-BIN:
    + + + +

    Name Servers

    +

    + In order to point your domain to the web site in this hosting space you should use the following Name Servers: +

    + + + + + + +
    #NameServer#
    +

    + You should change the name servers in domain registrar (Register.com, GoDaddy.com, etc.) control panel. + Please, study domain registrar''s user manual for directions how to change name servers or contact your domain + registrar directly by e-mail or phone. +

    +

    + Please note, the changes in domain registrar database do not reflect immediately and sometimes it requires from + 12 to 48 hours till the end of DNS propagation. +

    + + +

    Web Sites

    +

    + The following web sites have been created under hosting space: +

    + + + + + + +
    http://#WebSite.Name#
    +

    + * Please note, your web sites may not be accessible from 12 to 48 hours after you''ve changed name servers for their respective domains. +

    + + + +

    Temporary URL

    +

    + You can access your web sites right now using their respective temporary URLs (instant aliases). + Temporary URL is a sub-domain of the form http://yourdomain.com.providerdomain.com where "yourdomain.com" is your + domain and "providerdomain.com" is the domain of your hosting provider. +

    +

    + You can use the following Temporary URL for all your web sites: +

    + + + + +
    + http://YourDomain.com.#InstantAlias# +
    +
    + + +

    Files Location

    +

    + Sometimes it is required to know the physical location of the hosting space folder (absolute path). + Hosting space folder is the folder where all hosting space files such as web sites content, web logs, data files, etc. are located. +

    +

    + The root of your hosting space on our HDD is here: +

    + + + + +
    + #PackageRootFolder# +
    +

    + By default the root folder of any web site within your hosting space is built as following (you can change it anytime from the control panel): +

    + + + + +
    + #PackageRootFolder#\YourDomain.com\wwwroot +
    +
    + + + + +

    FTP

    + + +

    Limits

    + + + + + +
    Maximum Number of FTP Accounts:
    + + + +

    FTP Server

    +

    +Your hosting space allows working with your files by FTP. +You can use the following FTP server to access your space files remotely: +

    + + + + +
    ftp://#FtpIP#
    +

    + Also, you can use the following domain names to access your FTP server: +

    + + + + +
    ftp://ftp.YourDomain.com
    + +

    + During DNS propagation period (when domain name servers have been changed), similar to web sites, FTP server can be access with Temporary URL too: +

    + + + + +
    ftp://ftp.YourDomain.com.#InstantAlias#
    +
    + +

    FTP Accounts

    +

    + The following FTP accounts have been created under your hosting space and can be used to access FTP server: +

    + + + + + + + + + + + + + + + + + + + + + +
    UsernamePasswordFolder
    #FtpAcocunt.Name# + #FtpAcocunt.Password# + #FtpAcocunt.Folder#
    +
    + + + + +

    Mail

    + + +

    Limits

    + + + + + + + + + + + + + + + + + +
    Maximum Number of Mail Accounts:
    Maximum Number of Mail Forwardings:
    Maximum Number of Mail Groups (Aliases):
    Maximum Number of Mailing Lists:
    + + +

    SMTP/POP3 Server

    +

    +Below is the IP address of your POP3/SMTP/IMAP server. You can always access your mailbox(es) +using this IP address instead of actual POP3/SMTP/IMAP servers name: +

    + + + + +
    + #MailRecords[0].ExternalIP# +
    + +

    + Also, you can use the following domain names to access SMTP/POP3 server from your favourite e-mail client software: +

    + + + + +
    mail.YourDomain.com
    + + +

    + During DNS propagation period (when domain name servers have been changed), similar to web sites, SMTP/POP3 server can be access with temporary domain too: +

    + + + + +
    mail.YourDomain.com.#InstantAlias#
    +
    + + +

    Mail Accounts

    +

    + The following mail accounts have been created under your hosting space: +

    + + + + + + + + + + + + + + + + + + + + + +
    E-mailUsername (for POP3/SMTP/IMAP/WebMail)Password
    #MailAccount.Name##MailAccount.Name# + #MailAccount.Password# +
    +
    + + +

    Databases

    + +

    + You can create databases and database users on "Space Home -> Databases" screen in the control panel. +

    + + + + +

    SQL Server 2000

    + + + + + + + + + + +
    Maximum Number of Databases:
    Maximum Number of Users:
    + +

    + In order to connect to SQL Server 2000 from Management Studio, Enterprise Manager, Query Analyzer + or other client software you can use the following SQL Server address: +

    + + + + +
    #MsSQL2000Address#
    + +
    + + + + +

    SQL Server 2005

    + + + + + + + + + + +
    Maximum Number of Databases:
    Maximum Number of Users:
    + +

    + In order to connect to SQL Server 2005 from Management Studio, Enterprise Manager, Query Analyzer + or other client software you can use the following SQL Server address: +

    + + + + +
    #MsSQL2005Address#
    + +
    + + + + +

    SQL Server 2008

    + + + + + + + + + + +
    Maximum Number of Databases:
    Maximum Number of Users:
    + +

    + In order to connect to SQL Server 2008 from Management Studio, Enterprise Manager, Query Analyzer + or other client software you can use the following SQL Server address: +

    + + + + +
    #MsSQL2008Address#
    + +
    + + + + +

    SQL Server 2012

    + + + + + + + + + + +
    Maximum Number of Databases:
    Maximum Number of Users:
    + +

    + In order to connect to SQL Server 2012 from Management Studio, Enterprise Manager, Query Analyzer + or other client software you can use the following SQL Server address: +

    + + + + +
    #MsSQL2012Address#
    + +
    + + + +

    MySQL 4.x

    + + + + + + + + + + +
    Maximum Number of Databases:
    Maximum Number of Users:
    + +

    + In order to connect to MySQL 4.x server you can use the following address: +

    + + + + +
    #MySQL4Address#
    +
    + + + + +

    MySQL 5.x

    + + + + + + + + + + +
    Maximum Number of Databases:
    Maximum Number of Users:
    + +

    + In order to connect to MySQL 5.x server you can use the following address: +

    + + + + +
    #MySQL5Address#
    +
    + + + +

    Microsoft Access

    +

    + Microsoft Access database are automatically allowed in any hosting plan. You can create/upload any number of Access + database from File Manager in control panel. +

    + + + + +

    Web Statistics

    + + + + + + +
    Maximum Number of Statistics Sites:
    + +

    + You can view advanced statistics from your domain using URL of the following form: +

    + + + + +
    http://stats.YourDomain.com
    + +

    + During DNS propagation period (when domain name servers have been changed), you can access web site statistics with Temporary URL: +

    + + + + +
    http://stats.YourDomain.com.#InstantAlias#
    +
    +
    + + +

    +If you have any questions regarding your hosting account, feel free to contact our support department at any time. +

    + +

    +Best regards,
    +ACME Hosting Inc.
    +Web Site: www.AcmeHosting.com
    +E-Mail: support@AcmeHosting.com +

    +
    + + + +

    + You may also use SQL Server address above in your application connection strings, for example: +

    + + + + + + + + + +
    Classic ASP (ADO Library)Provider=SQLOLEDB;Data source=#server#;Initial catalog=databaseName;User Id=userName;Password=password;
    ASP.NET (ADO.NET Library)Server=#server#;Database=databaseName;Uid=userName;Password=password;
    +
    + + + + #space.Quotas[quota].QuotaAllocatedValue#Unlimited + + 0 + + + + + + EnabledDisabled + + Disabled + + + +
    + +' WHERE [PropertyName] = N'HtmlBody' +GO + + + +IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Microsoft SQL Server 2012') +BEGIN + INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (209, 23, N'MsSQL', N'Microsoft SQL Server 2012', N'WebsitePanel.Providers.Database.MsSqlServer2012, WebsitePanel.Providers.Database.SqlServer', N'MSSQL', NULL) +END +GO + diff --git a/WebsitePanel/Resources/build-serveradmin-settings.xml b/WebsitePanel/Resources/build-serveradmin-settings.xml index 0a0b96ef..e6c2859d 100644 --- a/WebsitePanel/Resources/build-serveradmin-settings.xml +++ b/WebsitePanel/Resources/build-serveradmin-settings.xml @@ -228,6 +228,7 @@ and below is the summary information for its resources. <ad:if test="#space.Groups.ContainsKey("MsSQL2000")#"><li><a href="##mssql2000">SQL Server 2000</a></li></ad:if> <ad:if test="#space.Groups.ContainsKey("MsSQL2005")#"><li><a href="##mssql2005">SQL Server 2005</a></li></ad:if> <ad:if test="#space.Groups.ContainsKey("MsSQL2008")#"><li><a href="##mssql2008">SQL Server 2008</a></li></ad:if> + <ad:if test="#space.Groups.ContainsKey("MsSQL2012")#"><li><a href="##mssql2012">SQL Server 2012</a></li></ad:if> <ad:if test="#space.Groups.ContainsKey("MySQL4")#"><li><a href="##mysql4">My SQL 4.x</a></li></ad:if> <ad:if test="#space.Groups.ContainsKey("MySQL5")#"><li><a href="##mysql5">My SQL 5.x</a></li></ad:if> <li><a href="##msaccess">Microsoft Access</a></li> @@ -675,6 +676,34 @@ using this IP address instead of actual POP3/SMTP/IMAP servers name: <ad:MsSqlConnectionStrings server="#MsSQL2008Address#" /> </ad:if> +<ad:if test="#space.Groups.ContainsKey("MsSQL2012")#"> +<a name="mssql2012"></a> + +<h2>SQL Server 2012</h2> + +<table> + <tr> + <td class="Label">Maximum Number of Databases:</td> + <td><ad:NumericQuota quota="MsSQL2012.Databases" /></td> + </tr> + <tr> + <td class="Label">Maximum Number of Users:</td> + <td><ad:NumericQuota quota="MsSQL2012.Users" /></td> + </tr> +</table> + +<p> + In order to connect to SQL Server 2012 from Management Studio, Enterprise Manager, Query Analyzer + or other client software you can use the following SQL Server address: +</p> +<table> + <tr> + <td>#MsSQL2012Address#</td> + </tr> +</table> +<ad:MsSqlConnectionStrings server="#MsSQL2012Address#" /> +</ad:if> + <ad:if test="#space.Groups.ContainsKey("MySQL4")#"> <a name="mysql4"></a> <h2>MySQL 4.x</h2> @@ -1009,6 +1038,18 @@ In order to connect to SQL Server 2008 from Management Studio, Enterprise Manage <ad:MsSqlConnectionStrings server="#MsSQL2008Address#" /> </ad:if> +<ad:if test="#space.Groups.ContainsKey("MsSQL2012")#">SQL Server 2012 +--------------- +Maximum Number of Databases: <ad:NumericQuota quota="MsSQL2012.Databases" /> +Maximum Number of Users: <ad:NumericQuota quota="MsSQL2012.Users" /> + +In order to connect to SQL Server 2012 from Management Studio, Enterprise Manager, Query Analyzer or other client software you can use the following SQL Server address: + + #MsSQL2012Address#</td> + +<ad:MsSqlConnectionStrings server="#MsSQL2012Address#" /> +</ad:if> + <ad:if test="#space.Groups.ContainsKey("MySQL4")#">MySQL 4.x --------- diff --git a/WebsitePanel/Sources/Tools/WebsitePanel.LocalizationToolkit.Setup/Resources.xml b/WebsitePanel/Sources/Tools/WebsitePanel.LocalizationToolkit.Setup/Resources.xml index 49586147..973cbf22 100644 --- a/WebsitePanel/Sources/Tools/WebsitePanel.LocalizationToolkit.Setup/Resources.xml +++ b/WebsitePanel/Sources/Tools/WebsitePanel.LocalizationToolkit.Setup/Resources.xml @@ -1,4 +1,4 @@ - + App_GlobalResources\Ecommerce_Modules.ascx.resx @@ -3334,6 +3334,16 @@ ModuleTitle.Sql2008Users SQL Server 2008 Logins + + App_GlobalResources\WebsitePanel_Modules.ascx.resx + ModuleTitle.Sql2012Databases + SQL Server 2012 Databases + + + App_GlobalResources\WebsitePanel_Modules.ascx.resx + ModuleTitle.Sql2012Users + SQL Server 2012 Logins + App_GlobalResources\WebsitePanel_Modules.ascx.resx ModuleTitle.SQLDatabaseProperties @@ -3994,6 +4004,16 @@ PageTitle.SpaceMsSql2008 {user} - {space} - SQL Server 2008 + + App_GlobalResources\WebsitePanel_Pages.ascx.resx + PageName.SpaceMsSql2012 + SQL Server 2012 + + + App_GlobalResources\WebsitePanel_Pages.ascx.resx + PageTitle.SpaceMsSql2012 + {user} - {space} - SQL Server 2012 + App_GlobalResources\WebsitePanel_Pages.ascx.resx PageTitle.SpaceMsSql2005 @@ -7094,6 +7114,36 @@ Quota.MsSQL2008.Users Users + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + Quota.MsSQL2012.Backup + Database Backups + + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + Quota.MsSQL2012.Databases + Databases + + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + Quota.MsSQL2012.MaxDatabaseSize + Max Database Size, MB + + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + Quota.MsSQL2012.Restore + Database Restores + + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + Quota.MsSQL2012.Truncate + Database Truncate + + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + Quota.MsSQL2012.Users + Users + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx Quota.MySQL5.Backup @@ -7129,6 +7179,11 @@ ResourceGroup.MsSQL2008 SQL Server 2008 + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + ResourceGroup.MsSQL2012 + SQL Server 2012 + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx ResourceGroup.MySQL5 @@ -7449,6 +7504,16 @@ ServiceItemType.MsSQL2008User MS SQL 2008 User + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + ServiceItemType.MsSQL2012Database + MS SQL 2012 Database + + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + ServiceItemType.MsSQL2012User + MS SQL 2012 User + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx ServiceItemType.MySQL4Database @@ -9300,6 +9365,11 @@ Quota.MsSQL2008.MaxLogSize Max Log Size, MB + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + Quota.MsSQL2012.MaxLogSize + Max Log Size, MB + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx Error.EXCHANGE_UPDATE_MAILBOX_PERMISSIONS @@ -11875,6 +11945,11 @@ ReportResourceGroup.MsSQL2008 SQL Server 2008 + + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx + ReportResourceGroup.MsSQL2012 + SQL Server 2012 + App_GlobalResources\WebsitePanel_SharedResources.ascx.resx WebAppGallery.ApplicationInstallationError @@ -15762,6 +15837,11 @@ for your installation of ResellerClub .NET API Kit.</div> lclMSSQL2008Resources.Text Microsoft SQL 2008 Quotas + + DesktopModules\Ecommerce\UserControls\App_LocalResources\HostingPlanQuotas.ascx.resx + lclMSSQL2012Resources.Text + Microsoft SQL 2012 Quotas + DesktopModules\Ecommerce\UserControls\App_LocalResources\LoginUserAccount.ascx.resx lclPassword.Text diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs index d7ae1e70..ffa8d80c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs @@ -38,6 +38,7 @@ namespace WebsitePanel.EnterpriseServer public const string MySql4 = "MySQL4"; public const string MsSql2005 = "MsSQL2005"; public const string MsSql2008 = "MsSQL2008"; + public const string MsSql2012 = "MsSQL2012"; public const string MySql5 = "MySQL5"; public const string Dns = "DNS"; public const string Statistics = "Statistics"; diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs index b69898c7..0cbd25ca 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs @@ -1875,6 +1875,7 @@ namespace WebsitePanel.EnterpriseServer SetSqlServerExternalAddress(packageId, items, ResourceGroups.MsSql2000); SetSqlServerExternalAddress(packageId, items, ResourceGroups.MsSql2005); SetSqlServerExternalAddress(packageId, items, ResourceGroups.MsSql2008); + SetSqlServerExternalAddress(packageId, items, ResourceGroups.MsSql2012); SetSqlServerExternalAddress(packageId, items, ResourceGroups.MySql4); SetSqlServerExternalAddress(packageId, items, ResourceGroups.MySql5); diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebAppGallery/WebAppGalleryController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebAppGallery/WebAppGalleryController.cs index 49a4338d..09464f13 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebAppGallery/WebAppGalleryController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebAppGallery/WebAppGalleryController.cs @@ -169,10 +169,11 @@ namespace WebsitePanel.EnterpriseServer //{ // appsFilter.AddRange(SupportedAppDependencies.PHP_SCRIPTING); //} - //// if either MSSQL 2000, 2005 or 2008 enabled in the hosting plan + //// if either MSSQL 2000, 2005, 2008 or 2012 enabled in the hosting plan //if (context.Groups.ContainsKey(ResourceGroups.MsSql2000) || // context.Groups.ContainsKey(ResourceGroups.MsSql2005) || - // context.Groups.ContainsKey(ResourceGroups.MsSql2008)) + // context.Groups.ContainsKey(ResourceGroups.MsSql2008) || + // context.Groups.ContainsKey(ResourceGroups.MsSql2012)) //{ // appsFilter.AddRange(SupportedAppDependencies.MSSQL_DATABASE); //} @@ -342,6 +343,7 @@ namespace WebsitePanel.EnterpriseServer !(context.Groups.ContainsKey(ResourceGroups.MsSql2000) || context.Groups.ContainsKey(ResourceGroups.MsSql2005) || context.Groups.ContainsKey(ResourceGroups.MsSql2008) + || context.Groups.ContainsKey(ResourceGroups.MsSql2012) || context.Groups.ContainsKey(ResourceGroups.MySql4) || context.Groups.ContainsKey(ResourceGroups.MySql5))) result.ErrorCodes.Add(GalleryErrors.DatabaseRequired); @@ -350,7 +352,8 @@ namespace WebsitePanel.EnterpriseServer else if ((app.WellKnownDependencies & GalleryApplicationWellKnownDependency.SQL) == GalleryApplicationWellKnownDependency.SQL && !(context.Groups.ContainsKey(ResourceGroups.MsSql2000) || context.Groups.ContainsKey(ResourceGroups.MsSql2005) - || context.Groups.ContainsKey(ResourceGroups.MsSql2008))) + || context.Groups.ContainsKey(ResourceGroups.MsSql2008) + || context.Groups.ContainsKey(ResourceGroups.MsSql2012))) result.ErrorCodes.Add(GalleryErrors.SQLRequired); // MySQL diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2012.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2012.cs new file mode 100644 index 00000000..f9930f20 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2012.cs @@ -0,0 +1,47 @@ +// 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. + +using System; + +namespace WebsitePanel.Providers.Database +{ + public class MsSqlServer2012 : MsSqlServer2005 + { + public override bool IsInstalled() + { + return CheckVersion("11."); + } + + public override void TruncateDatabase(string databaseName) + { + SqlDatabase database = GetDatabase(databaseName); + ExecuteNonQuery(String.Format(@"USE [{0}];DBCC SHRINKFILE ('{1}', 1);", + databaseName, database.LogName)); + } + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/WebsitePanel.Providers.Database.SqlServer.csproj b/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/WebsitePanel.Providers.Database.SqlServer.csproj index 59740a36..2e00638b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/WebsitePanel.Providers.Database.SqlServer.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/WebsitePanel.Providers.Database.SqlServer.csproj @@ -65,6 +65,7 @@ + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config index f4ac71d6..ffd5eab9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config @@ -55,6 +55,7 @@ + @@ -97,6 +98,7 @@ + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config index e3a9e46c..70ffb1a7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config @@ -340,6 +340,26 @@ + +
    +
    +
    +
    +
    +
    <%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:<%# GetQuotaItemAllocatedValue((string)Container.DataItem) %>
    - - + + + + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.cs index a4f1e1f2..5bc12d15 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.cs @@ -54,25 +54,35 @@ namespace WebsitePanel.Portal // toggle panels ShowPanels(false); - // domain name - DomainInfo domain = ES.Services.Servers.GetDomain(PanelRequest.DomainID); - litDomainName.Text = domain.DomainName; + // domain name + DomainInfo domain = ES.Services.Servers.GetDomain(PanelRequest.DomainID); + litDomainName.Text = domain.DomainName; } } - public string GetRecordFullData(string recordType, string recordData, int mxPriority) + public string GetRecordFullData(string recordType, string recordData, int mxPriority, int port) { - return (String.Compare(recordType, "mx", true) == 0) - ? String.Format("[{0}], {1}", mxPriority, recordData) : recordData; + + switch (recordType) + { + case "MX": + return String.Format("[{0}], {1}", mxPriority, recordData); + case "SRV": + return String.Format("[{0}], {1}", port, recordData); + default: + return recordData; + } } private void GetRecordsDetails(int recordIndex) { GridViewRow row = gvRecords.Rows[recordIndex]; + ViewState["SrvPort"] = ((Literal)row.Cells[0].FindControl("litSrvPort")).Text; + ViewState["SrvWeight"] = ((Literal)row.Cells[0].FindControl("litSrvWeight")).Text; + ViewState["SrvPriority"] = ((Literal)row.Cells[0].FindControl("litSrvPriority")).Text; ViewState["MxPriority"] = ((Literal)row.Cells[0].FindControl("litMxPriority")).Text; ViewState["RecordName"] = ((Literal)row.Cells[0].FindControl("litRecordName")).Text; ; - ViewState["RecordType"] = (DnsRecordType)Enum.Parse(typeof(DnsRecordType), - ((Literal)row.Cells[0].FindControl("litRecordType")).Text, true); + ViewState["RecordType"] = (DnsRecordType)Enum.Parse(typeof(DnsRecordType), ((Literal)row.Cells[0].FindControl("litRecordType")).Text, true); ViewState["RecordData"] = ((Literal)row.Cells[0].FindControl("litRecordData")).Text; } @@ -88,6 +98,9 @@ namespace WebsitePanel.Portal txtRecordName.Text = ViewState["RecordName"].ToString(); txtRecordData.Text = ViewState["RecordData"].ToString(); txtMXPriority.Text = ViewState["MxPriority"].ToString(); + txtSRVPriority.Text = ViewState["SrvPriority"].ToString(); + txtSRVWeight.Text = ViewState["SrvWeight"].ToString(); + txtSRVPort.Text = ViewState["SrvPort"].ToString(); } catch (Exception ex) { @@ -103,24 +116,39 @@ namespace WebsitePanel.Portal private void ToggleRecordControls() { - rowMXPriority.Visible = (ddlRecordType.SelectedValue == "MX"); - if (ddlRecordType.SelectedValue == "A") + rowMXPriority.Visible = false; + rowSRVPriority.Visible = false; + rowSRVWeight.Visible = false; + rowSRVPort.Visible = false; + lblRecordData.Text = "Record Data:"; + IPValidator.Enabled = false; + + switch (ddlRecordType.SelectedValue) { - lblRecordData.Text = "IP:"; - IPValidator.Enabled = true; - } - else - { - lblRecordData.Text = "Record Data:"; - IPValidator.Enabled = false; + case "A": + lblRecordData.Text = "IP:"; + IPValidator.Enabled = true; + break; + case "MX": + rowMXPriority.Visible = true; + break; + case "SRV": + rowSRVPriority.Visible = true; + rowSRVWeight.Visible = true; + rowSRVPort.Visible = true; + lblRecordData.Text = "Host offering this service:"; + break; + default: + break; } + } private void SaveRecord() { if (Page.IsValid) { - bool newRecord = (bool) ViewState["NewRecord"]; + bool newRecord = (bool)ViewState["NewRecord"]; if (newRecord) { @@ -130,10 +158,13 @@ namespace WebsitePanel.Portal int result = ES.Services.Servers.AddDnsZoneRecord(PanelRequest.DomainID, txtRecordName.Text.Trim(), (DnsRecordType) - Enum.Parse(typeof (DnsRecordType), + Enum.Parse(typeof(DnsRecordType), ddlRecordType.SelectedValue, true), txtRecordData.Text.Trim(), - Int32.Parse(txtMXPriority.Text.Trim())); + Int32.Parse(txtMXPriority.Text.Trim()), + Int32.Parse(txtSRVPriority.Text.Trim()), + Int32.Parse(txtSRVWeight.Text.Trim()), + Int32.Parse(txtSRVPort.Text.Trim())); if (result < 0) { @@ -156,9 +187,12 @@ namespace WebsitePanel.Portal ViewState["RecordName"].ToString(), ViewState["RecordData"].ToString(), txtRecordName.Text.Trim(), - (DnsRecordType) ViewState["RecordType"], + (DnsRecordType)ViewState["RecordType"], txtRecordData.Text.Trim(), - Int32.Parse(txtMXPriority.Text.Trim())); + Int32.Parse(txtMXPriority.Text.Trim()), + Int32.Parse(txtSRVPriority.Text.Trim()), + Int32.Parse(txtSRVWeight.Text.Trim()), + Int32.Parse(txtSRVPort.Text.Trim())); if (result < 0) { @@ -217,6 +251,10 @@ namespace WebsitePanel.Portal txtRecordName.Text = ""; txtRecordData.Text = ""; txtMXPriority.Text = "1"; + txtSRVPriority.Text = "0"; + txtSRVWeight.Text = "0"; + txtSRVPort.Text = "0"; + ShowPanels(true); } @@ -253,7 +291,7 @@ namespace WebsitePanel.Portal { if (e.Exception != null) { - ShowErrorMessage("GDNS_GET_RECORD", e.Exception); + ShowErrorMessage("GDNS_GET_RECORD", e.Exception); //this.DisableControls = true; e.ExceptionHandled = true; } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.designer.cs index 88859342..b9a95504 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.3074 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -220,6 +219,141 @@ namespace WebsitePanel.Portal { /// protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectPriority; + /// + /// rowSRVPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVPriority; + + /// + /// lblSRVPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSRVPriority; + + /// + /// txtSRVPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSRVPriority; + + /// + /// valRequireSrvPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSrvPriority; + + /// + /// valRequireCorrectSrvPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectSrvPriority; + + /// + /// rowSRVWeight control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVWeight; + + /// + /// lblSRVWeight control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSRVWeight; + + /// + /// txtSRVWeight control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSRVWeight; + + /// + /// valRequireSrvWeight control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSrvWeight; + + /// + /// valRequireCorrectSrvWeight control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectSrvWeight; + + /// + /// rowSRVPort control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVPort; + + /// + /// lblSRVPort control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSRVPort; + + /// + /// txtSRVPort control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSRVPort; + + /// + /// valRequireSrvPort control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSrvPort; + + /// + /// valRequireCorrectSrvPort control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectSrvPort; + /// /// btnSave control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsEditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsEditDomain.ascx.cs index 20beb6d1..98698245 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsEditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsEditDomain.ascx.cs @@ -304,7 +304,7 @@ namespace WebsitePanel.Portal try { // create instant alias - int result = ES.Services.Servers.CreateDomainInstantAlias(PanelRequest.DomainID); + int result = ES.Services.Servers.CreateDomainInstantAlias("", PanelRequest.DomainID); if (result < 0) { ShowResultMessage(result); diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx index 68d67f1e..cc0a9e28 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx @@ -49,10 +49,13 @@ - - - - + + + + + + + @@ -61,7 +64,7 @@ - <%# GetRecordFullData((string)Eval("RecordType"), (string)Eval("RecordData"), (int)Eval("MxPriority")) %> + <%# GetRecordFullData((string)Eval("RecordType"), (string)Eval("RecordData"), (int)Eval("MxPriority"), (int)Eval("SrvPort"))%> @@ -112,11 +115,12 @@ @@ -126,27 +130,60 @@ - - - - + + + + + - - - - + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx.cs index 705612dd..5a301b16 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx.cs @@ -64,14 +64,16 @@ namespace WebsitePanel.Portal.ProviderControls Utils.SelectListItem(ddlFtpSite, settings["SiteId"]); txtInstallFolder.Text = settings["InstallFolder"]; - chkBuildUncFilesPath.Checked = Utils.ParseBool(settings["BuildUncFilesPath"], false); + txtLogsFolder.Text = settings["LogsFolder"]; + chkBuildUncFilesPath.Checked = Utils.ParseBool(settings["BuildUncFilesPath"], false); } public void SaveSettings(StringDictionary settings) { settings["SiteId"] = ddlFtpSite.SelectedValue; settings["InstallFolder"] = txtInstallFolder.Text.Trim(); - settings["BuildUncFilesPath"] = chkBuildUncFilesPath.Checked.ToString(); + settings["LogsFolder"] = txtLogsFolder.Text.Trim(); + settings["BuildUncFilesPath"] = chkBuildUncFilesPath.Checked.ToString(); } } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx.designer.cs index 81189130..40927e54 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx.designer.cs @@ -13,6 +13,8 @@ namespace WebsitePanel.Portal.ProviderControls { public partial class Gene6FTP_Settings { protected System.Web.UI.WebControls.Label lblInstallFolder; protected System.Web.UI.WebControls.TextBox txtInstallFolder; + protected System.Web.UI.WebControls.Label lblLogsFolder; + protected System.Web.UI.WebControls.TextBox txtLogsFolder; protected System.Web.UI.WebControls.Label lblSite; protected System.Web.UI.WebControls.DropDownList ddlFtpSite; protected System.Web.UI.WebControls.Label lblBuildUncFilesPath; From 0d19fbf3ddab8174ea08add0f692fbb5f024e642 Mon Sep 17 00:00:00 2001 From: Dan Date: Sat, 26 May 2012 13:55:35 +0100 Subject: [PATCH 18/78] A new solution for commit "ea82271b61ea" to fix and add features to hMailServer but only to version 5 and up. + Fix workitem/255 --- WebsitePanel/Database/install_db.sql | 6 +- WebsitePanel/Database/update_db.sql | 14 + ...tePanel.Providers.Mail.hMailServer5.vbproj | 4 - .../hMailServer5.vb | 1270 ++++++++++++++++- .../hMailServer.vb | 340 ++--- .../hMailServer43_EditAccount.ascx.resx | 37 +- .../hMailServer5_EditAccount.ascx.resx | 201 +++ .../hMailServer5_EditDomain.ascx.resx | 132 ++ .../hMailServer5_EditGroup.ascx.resx | 123 ++ .../hMailServer5_EditList.ascx.resx | 147 ++ .../hMailServer5_Settings.ascx.resx | 132 ++ .../hMailServer43_EditAccount.ascx | 77 +- .../hMailServer43_EditAccount.ascx.cs | 21 +- ...hMailServer43_EditAccount.ascx.designer.cs | 146 +- .../hMailServer5_EditAccount.ascx | 177 +++ .../hMailServer5_EditAccount.ascx.cs | 93 ++ .../hMailServer5_EditAccount.ascx.designer.cs | 402 ++++++ .../hMailServer5_EditDomain.ascx | 9 + .../hMailServer5_EditDomain.ascx.cs | 87 ++ .../hMailServer5_EditDomain.ascx.designer.cs | 33 + .../hMailServer5_EditForwarding.ascx | 1 + .../hMailServer5_EditForwarding.ascx.cs | 60 + ...ailServer5_EditForwarding.ascx.designer.cs | 15 + .../hMailServer5_EditGroup.ascx | 12 + .../hMailServer5_EditGroup.ascx.cs | 60 + .../hMailServer5_EditGroup.ascx.designer.cs | 33 + .../hMailServer5_EditList.ascx | 48 + .../hMailServer5_EditList.ascx.cs | 77 + .../hMailServer5_EditList.ascx.designer.cs | 105 ++ .../hMailServer5_Settings.ascx | 35 + .../hMailServer5_Settings.ascx.cs | 64 + .../hMailServer5_Settings.ascx.designer.cs | 87 ++ .../WebsitePanel.Portal.Modules.csproj | 63 + 33 files changed, 3588 insertions(+), 523 deletions(-) create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditAccount.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditDomain.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditGroup.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditList.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_Settings.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx.designer.cs diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index 75fc6abe..a85b7c2a 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -23222,7 +23222,7 @@ INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName] GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (62, 8, N'SmarterStats', N'SmarterStats 5.x-6.x', N'WebsitePanel.Providers.Statistics.SmarterStats5, WebsitePanel.Providers.Statistics.SmarterStats', N'SmarterStats', NULL) GO -INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (63, 4, N'hMailServer5', N'hMailServer 5.x', N'WebsitePanel.Providers.Mail.hMailServer5, WebsitePanel.Providers.Mail.hMailServer5', N'hMailServer43', NULL) +INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (63, 4, N'hMailServer5', N'hMailServer 5.x', N'WebsitePanel.Providers.Mail.hMailServer5, WebsitePanel.Providers.Mail.hMailServer5', N'hMailServer5', NULL) GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (64, 4, N'SmarterMail', N'SmarterMail 7.x', N'WebsitePanel.Providers.Mail.SmarterMail7, WebsitePanel.Providers.Mail.SmarterMail7', N'SmarterMail60', NULL) GO @@ -24361,6 +24361,10 @@ INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [Property GO INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (62, N'Username', N'Admin') GO +INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (63, N'AdminPassword', N'') +GO +INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (63, N'AdminUsername', N'Administrator') +GO INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (64, N'AdminPassword', N'') GO INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (64, N'AdminUsername', N'admin') diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index 950e401e..8a72f451 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -827,3 +827,17 @@ BEGIN END GO +UPDATE [dbo].[Providers] SET [EditorControl] = N'hMailServer5' WHERE [ProviderID] = 63 +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 63 AND [PropertyName] = N'AdminUsername') +BEGIN + INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (63, N'AdminUsername', N'Administrator') +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 63 AND [PropertyName] = N'AdminPassword') +BEGIN + INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (63, N'AdminPassword', N'') +END +GO \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMail5/WebsitePanel.Providers.Mail.hMailServer5.vbproj b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMail5/WebsitePanel.Providers.Mail.hMailServer5.vbproj index 3a556d7c..bd9f74f1 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMail5/WebsitePanel.Providers.Mail.hMailServer5.vbproj +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMail5/WebsitePanel.Providers.Mail.hMailServer5.vbproj @@ -117,10 +117,6 @@ {684C932A-6C75-46AC-A327-F3689D89EB42} WebsitePanel.Providers.Base - - {67EEA793-8621-4AD2-AE1D-4D975A8DA059} - WebsitePanel.Providers.Mail.hMailServer - {E91E52F3-9555-4D00-B577-2B1DBDD87CA7} WebsitePanel.Server.Utils diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMail5/hMailServer5.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMail5/hMailServer5.vb index 5298fd30..158a72f3 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMail5/hMailServer5.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMail5/hMailServer5.vb @@ -36,7 +36,13 @@ Imports Microsoft.Win32 Imports WebsitePanel.Server.Utils Public Class hMailServer5 - Inherits hMailServer + Inherits HostingServiceProviderBase + Implements IMailServer + + Private Const APPLICATION_PROG_ID As String = "hMailServer.Application" + Private Const WEBSITEPANEL_RULE_NAME As String = "WebsitePanel" + Private Const MAIL_GROUP_RULE As String = "Mail Group Rule" + Private Const FORWARDING_RULE As String = "Forwarding Rule" #Region "Public Properties" Public ReadOnly Property AdminUsername() As String @@ -52,9 +58,9 @@ Public Class hMailServer5 End Property #End Region - Protected Overrides ReadOnly Property hMailServer() As Object + Protected ReadOnly Property hMailServer() As Object Get - Dim svc As Object = MyBase.hMailServer + Dim svc As Object = CreateObject(APPLICATION_PROG_ID) ' Authenticate API Dim account As Object = svc.Authenticate(AdminUsername, AdminPassword) @@ -66,6 +72,1261 @@ Public Class hMailServer5 End Get End Property + Class Service + Public ComObject As Object + Public Succeed As Boolean + End Class + +#Region "Private Helper methods" + Private Function CheckAccountIsGroup(ByVal objAccount As Object) As Boolean + If objAccount.Rules.Count > 0 Then + ' check rule actions + Dim objRule As Object = objAccount.Rules.Item(0) + ' first read rule name + If String.Compare(objRule.Name, MAIL_GROUP_RULE, True) = 0 Then + Return True + Else ' read rule actions + For j As Integer = 0 To objRule.Actions.Count - 1 + If objRule.Actions.Item(j).Type = 1 Then 'eRADeleteEmail + Return True + End If + Next + End If + End If + Return False + End Function + + Private Function GetAccountForwardings(ByVal objAccount As Object) As String() + Dim forwardings As List(Of String) = New List(Of String) + If objAccount.Rules.Count > 0 Then + ' check rule actions + Dim objRule As Object = objAccount.Rules.Item(0) + Dim j As Integer + For j = 0 To objRule.Actions.Count - 1 + If objRule.Actions.Item(j).Type = 2 Then 'eRAForwardEmail + forwardings.Add(objRule.Actions.Item(j).To) + End If + Next + End If + Return forwardings.ToArray() + End Function + + Private Function GetMailboxName(ByVal email As String) As String + If (email.IndexOf("@") = -1) Then + Return email + End If + Return email.Substring(0, email.IndexOf("@")) + End Function + + Private Function GetDomainName(ByVal email As String) As String + Return email.Substring(email.IndexOf("@") + 1) + End Function + + Private Function GetUtilitiesObject() As Service + ' find existing domain + Dim objDomain As New Service() + objDomain.Succeed = False + + Try + objDomain.ComObject = hMailServer.Utilities + objDomain.Succeed = True + Catch ex As Exception + Log.WriteError("Couldn't create hMailServer.Application Utilities ActiveX object.", ex) + End Try + + Return objDomain + End Function + + Private Function GetSettingsObject() As Service + Dim objSettings As New Service() + objSettings.Succeed = False + + Try + objSettings.ComObject = hMailServer.Settings + objSettings.Succeed = True + Catch ex As Exception + Log.WriteError("Couldn't create hMailServer.Application Settings ActiveX object.", ex) + End Try + + Return objSettings + End Function + + Private Function GetDomainObject(ByVal domainName As String) As Service + ' find existing domain + Dim objDomain As New Service() + objDomain.Succeed = False + + Try + objDomain.ComObject = hMailServer.Domains.ItemByName(domainName) + objDomain.Succeed = True + Catch ex As Exception + Log.WriteError("Couldn't create hMailServer.Application Domain ActiveX object.", ex) + End Try + + Return objDomain + End Function + + Private Function GetDomainsObject() As Service + ' find existing domain + Dim objDomain As New Service() + objDomain.Succeed = False + + Try + objDomain.ComObject = hMailServer.Domains + objDomain.Succeed = True + Catch ex As Exception + Log.WriteError("Couldn't create hMailServer.Application ActiveX object.", ex) + End Try + + Return objDomain + End Function + + Protected Overridable Function ConvertToMailList(ByRef objMailList As Object) As MailList + Dim mailList As New MailList() + + mailList.Enabled = objMailList.Active + mailList.Name = objMailList.Address + mailList.RequireSmtpAuthentication = objMailList.RequireSMTPAuth + + 'If objMailList.RequireSMTPAuth Then + 'mailList.PostingMode = PostingMode.MembersCanPost + 'ElseIf Not String.IsNullOrEmpty(objMailList.RequireSenderAddress) Then + 'mailList.PostingMode = PostingMode.ModeratorCanPost + 'mailList.ModeratorAddress = objMailList.RequireSenderAddress + 'Else + 'mailList.PostingMode = PostingMode.AnyoneCanPost + 'End If + + If objMailList.Mode = 1 Then + mailList.PostingMode = PostingMode.MembersCanPost + ElseIf Not String.IsNullOrEmpty(objMailList.RequireSenderAddress) And (objMailList.Mode = 2) Then + mailList.PostingMode = PostingMode.ModeratorCanPost + mailList.ModeratorAddress = objMailList.RequireSenderAddress + Else + mailList.PostingMode = PostingMode.AnyoneCanPost + End If + + ' load list members + Dim membersCount As Integer = objMailList.Recipients.Count - 1 + + Dim objRecipient As Object + If membersCount > 0 Then + mailList.Members = New String(membersCount) {} + For index As Integer = 0 To membersCount + objRecipient = objMailList.Recipients.Item(index) + mailList.Members(index) = objRecipient.RecipientAddress + Next index + Else + 'case when list has one member + If membersCount = 0 Then + mailList.Members = New String(1) {} + objRecipient = objMailList.Recipients.Item(0) + mailList.Members(0) = objRecipient.RecipientAddress + End If + End If + 'membersCount = -1 - list does not have members + + Return mailList + End Function + + Protected Overridable Function ConvertToMailGroup(ByRef objMailGroup As Object) As MailGroup + Dim mailGroup As New MailGroup() + + mailGroup.Name = objMailGroup.Address + mailGroup.Enabled = objMailGroup.Active + 'mailGroup.DiskSpace = objMailGroup.MaxSize + + Dim objGroupRules As Object = objMailGroup.Rules + Dim rulesCount As Integer = objGroupRules.Count - 1 + + Dim objGroupRule As Object = Nothing + ' find mail group rule + For i As Integer = 0 To rulesCount + objGroupRule = objMailGroup.Rules.Item(i) + If String.Compare(objGroupRule.Name, MAIL_GROUP_RULE, True) = 0 Then + Exit For + End If + Next i + + If Not objGroupRule Is Nothing Then + Dim groupMembers As New List(Of String) + Dim actionsCount As Integer = objGroupRule.Actions.Count - 1 + + ' copy group members + For i As Integer = 0 To actionsCount + Dim objRuleAction As Object = objGroupRule.Actions.Item(i) + If objRuleAction.Type = 2 Then 'eRAForwardEmail + groupMembers.Add(objRuleAction.To) + End If + Next i + + mailGroup.Members = New String(groupMembers.Count) {} + groupMembers.CopyTo(mailGroup.Members) + End If + + Return mailGroup + End Function + + Private Function GetDailyStatistics(ByVal since As DateTime, ByVal mailDomainName As String, ByVal logpath As String) As DailyStatistics() + Dim days As New ArrayList() + Dim now As DateTime = DateTime.Now + Dim [date] As DateTime = since + Dim mailDomainBytesReceived As Long = 0 + Dim mailDomainBytesSent As Long = 0 + + Try + While [date] < now + If File.Exists(logpath) Then + + Using r As StreamReader = New StreamReader(logpath) + Dim line As String + ' Read first line. + line = r.ReadLine + + Do While (Not line Is Nothing) + Dim vals As String() = line.Split(vbTab) + If vals.Length = 9 Then + Dim logDate As DateTime = CType(vals(0), DateTime) + If logDate >= [date] Then + 'get sent bytes + If InStr(vals(1), mailDomainName) Then + mailDomainBytesSent += Int32.Parse(vals(8)) + End If + + 'get received bytes + If InStr(vals(2), mailDomainName) Then + mailDomainBytesReceived += Int32.Parse(vals(8)) + End If + End If + If logDate.Date > [date].Date Then + Exit Do + End If + + End If + + line = r.ReadLine + + Loop + End Using + End If + + If mailDomainBytesReceived <> 0 Or mailDomainBytesSent <> 0 Then + Dim dailyStats As New DailyStatistics() + dailyStats.Year = [date].Year + dailyStats.Month = [date].Month + dailyStats.Day = [date].Day + dailyStats.BytesSent = mailDomainBytesSent + dailyStats.BytesReceived = mailDomainBytesReceived + days.Add(dailyStats) + End If + + ' advance day + [date] = [date].AddDays(1) + mailDomainBytesReceived = 0 + mailDomainBytesSent = 0 + End While + Catch ex As Exception + Log.WriteError("Could't parse hMailServer Awstats Log", ex) + End Try + Return DirectCast(days.ToArray(GetType(DailyStatistics)), DailyStatistics()) + End Function +#End Region + +#Region "IMailServer members" + Public Function AccountExists(ByVal mailboxName As String) As Boolean Implements IMailServer.AccountExists + ' find existing domain + Dim objDomain As Service = GetDomainObject(GetDomainName(mailboxName)) + + If objDomain.Succeed Then + ' find existing account + Dim i As Integer + For i = 0 To objDomain.ComObject.Accounts.Count - 1 + If String.Compare(objDomain.ComObject.Accounts.Item(i).Address, mailboxName, True) = 0 Then + Return True + End If + Next + End If + + Return False + End Function + + Public Sub AddDomainAlias(ByVal domainName As String, ByVal aliasName As String) Implements IMailServer.AddDomainAlias + ' find existing domain + Dim objDomain As Service = GetDomainObject(domainName) + + If objDomain.Succeed Then + ' add domain alias + Dim objAlias As Object = objDomain.ComObject.DomainAliases.Add() + objAlias.DomainID = objDomain.ComObject.ID + objAlias.AliasName = aliasName + objAlias.Save() + objDomain.ComObject.DomainAliases.Refresh() + End If + End Sub + + Public Sub CreateAccount(ByVal mailbox As MailAccount) Implements IMailServer.CreateAccount + ' find existing domain + Dim objDomain As Service = GetDomainObject(GetDomainName(mailbox.Name)) + + If objDomain.Succeed Then + ' add account + Dim objAccount As Object = objDomain.ComObject.Accounts.Add() + objAccount.DomainID = objDomain.ComObject.ID + objAccount.Address = mailbox.Name + objAccount.Active = mailbox.Enabled + objAccount.Password = mailbox.Password + objAccount.MaxSize = mailbox.MaxMailboxSize + objAccount.PersonFirstName = mailbox.FirstName + objAccount.PersonLastName = mailbox.FirstName + objAccount.SignatureEnabled = mailbox.SignatureEnabled + objAccount.SignaturePlainText = mailbox.Signature + objAccount.SignatureHTML = mailbox.SignatureHTML + + If mailbox.ResponderEnabled Then + objAccount.VacationMessageIsOn = True + objAccount.VacationSubject = mailbox.ResponderSubject + objAccount.VacationMessage = mailbox.ResponderMessage + objAccount.VacationMessageExpires = False + If mailbox.ResponderExpires Then + If IsDate(mailbox.ResponderExpirationDate) Then + objAccount.VacationMessageExpires = True + objAccount.VacationMessageExpiresDate = mailbox.ResponderExpirationDate.Substring(0, 10) + End If + End If + End If + + 'set forwarding address + If mailbox.ForwardingEnabled Then + objAccount.ForwardAddress = mailbox.ForwardingAddresses(0) + objAccount.ForwardEnabled = True + objAccount.ForwardKeepOriginal = mailbox.RetainLocalCopy + End If + + objAccount.Save() + + ' set account rules + SetAccountRules(mailbox, objAccount) + + + End If + End Sub + + Private Sub SetAccountRules(ByVal mailbox As MailAccount, ByVal objAccount As Object) + ' check for default WebsitePanel rule + Dim ruleExists As Boolean = False + Dim objRule As Object = Nothing + + For i As Integer = 0 To objAccount.Rules.Count - 1 + objRule = objAccount.Rules.Item(i) + If String.Compare(objRule.Name, WEBSITEPANEL_RULE_NAME, True) = 0 Then + ruleExists = True + Exit For + End If + Next i + + If ruleExists Then + ' delete forwarding rule + objAccount.Rules.DeleteByDBID(objRule.ID) + End If + End Sub + + Public Sub CreateDomain(ByVal domain As MailDomain) Implements IMailServer.CreateDomain + Dim objDomain As New Service() + + objDomain.ComObject = hMailServer.Domains.Add() + objDomain.ComObject.Name = domain.Name + objDomain.ComObject.Active = domain.Enabled + objDomain.ComObject.Postmaster = domain.CatchAllAccount + objDomain.ComObject.Save() + End Sub + + Public Sub CreateGroup(ByVal group As MailGroup) Implements IMailServer.CreateGroup + Dim objDomain As Service = GetDomainObject(GetDomainName(group.Name)) + Dim objGroup As Object = Nothing + + If objDomain.Succeed Then + Dim Length As Integer = objDomain.ComObject.Accounts.Count - 1 + + ' check whether a group is already created + For index As Integer = 0 To Length + Dim objAccount As Object = objDomain.ComObject.Accounts.Item(index) + If CheckAccountIsGroup(objAccount) Then + If String.Compare(objAccount.Address, group.Name, True) = 0 Then + objGroup = objAccount + Exit For + End If + End If + Next index + + ' throw an exception + If Not objGroup Is Nothing Then + Throw New Exception("Group is already exsists.") + End If + + objGroup = objDomain.ComObject.Accounts.Add() + objGroup.DomainID = objDomain.ComObject.ID + objGroup.Address = group.Name + objGroup.Active = group.Enabled + objGroup.AdminLevel = 0 ' hAdminLevelNormal + + ' group should be empty + 'objGroup.MaxSize = group.DiskSpace + objGroup.VacationMessageIsOn = False + objGroup.VacationSubject = String.Empty + objGroup.VacationMessage = String.Empty + objGroup.Save() + + ' Create mail group rule + Dim objRule As Object = objGroup.Rules.Add() + objRule.AccountID = objGroup.ID + objRule.Active = True + objRule.Name = MAIL_GROUP_RULE + objRule.Save() + + ' Add criteria + Dim objCriteria As Object = objRule.Criterias.Add() + objCriteria.RuleID = objRule.ID + objCriteria.PredefinedField = 6 ' hMailServer.eRulePredefinedField.eFTMessageSize + objCriteria.MatchType = 4 ' hMailServer.eRuleMatchType.eMTGreaterThan + objCriteria.MatchValue = "0" + objCriteria.Save() + + ' create group members + If Not group.Members Is Nothing Then + For Each member As String In group.Members + Dim objGroupMemberAction As Object = objRule.Actions.Add() + objGroupMemberAction.RuleID = objRule.ID + objGroupMemberAction.Type = 2 'eRAForwardEmail + objGroupMemberAction.To = member + objGroupMemberAction.Save() + Next member + End If + + ' Add delete mail action + Dim objGroupAction As Object = objRule.Actions.Add() + objGroupAction.RuleID = objRule.ID + objGroupAction.Type = 1 'eRADeleteEmail + objGroupAction.Save() + + End If + End Sub + + Public Sub CreateList(ByVal maillist As MailList) Implements IMailServer.CreateList + Dim objDomain As Service = GetDomainObject(GetDomainName(maillist.Name)) + + If objDomain.Succeed Then + Dim objMailList As Object = objDomain.ComObject.DistributionLists.Add() + objMailList.Active = maillist.Enabled + objMailList.Address = maillist.Name + + Select Case maillist.PostingMode + Case PostingMode.MembersCanPost + objMailList.RequireSMTPAuth = True + Case PostingMode.ModeratorCanPost + If String.IsNullOrEmpty(maillist.ModeratorAddress) Then + Throw New Exception("List moderator address doesn't specified.") + End If + objMailList.RequireSenderAddress = maillist.ModeratorAddress + End Select + + objMailList.Save() + + ' save list members + If Not maillist.Members Is Nothing Then + For Each member As String In maillist.Members + Dim objRecipient As Object = objMailList.Recipients.Add() + objRecipient.RecipientAddress = member + objRecipient.Save() + Next member + End If + End If + End Sub + + Public Sub DeleteAccount(ByVal mailboxName As String) Implements IMailServer.DeleteAccount + Dim objDomain As Service = GetDomainObject(GetDomainName(mailboxName)) + + If objDomain.Succeed Then + Dim index As Integer + + ' find and remove account if exists + For index = 0 To objDomain.ComObject.Accounts.Count - 1 + Dim objAccount As Object = objDomain.ComObject.Accounts.Item(index) + If String.Compare(objAccount.Address, mailboxName, True) = 0 Then + objDomain.ComObject.Accounts.Delete(index) + Exit For + End If + Next + + ' find and remove alias if exists + For index = 0 To objDomain.ComObject.Aliases.Count - 1 + Dim objAlias As Object = objDomain.ComObject.Aliases.Item(index) + If String.Compare(objAlias.Name, mailboxName, True) = 0 Then + objDomain.ComObject.Aliases.Delete(index) + Exit For + End If + Next + End If + End Sub + + Public Function MailAliasExists(ByVal mailAliasName As String) As Boolean Implements IMailServer.MailAliasExists + ' find existing domain + Dim objDomain As Service = GetDomainObject(GetDomainName(mailAliasName)) + + If objDomain.Succeed Then + Try + ' find existing account + Dim i As Integer + For i = 0 To objDomain.ComObject.Aliases.Count - 1 + If String.Compare(objDomain.ComObject.Aliases.Item(i).Address, mailAliasName, True) = 0 Then + Return True + End If + Next + Catch ex As Exception + Log.WriteError("Couldn't determine if mail alias exists.", ex) + End Try + End If + + Return False + End Function + + Public Function GetMailAliases(ByVal domainName As String) As MailAlias() Implements IMailServer.GetMailAliases + Dim aliases As New List(Of MailAlias) + + ' find existing domain + Dim objDomain As Service = GetDomainObject(domainName) + + If objDomain.Succeed Then + Try + ' get all domain accounts + Dim i As Integer + For i = 0 To objDomain.ComObject.Aliases.Count - 1 + Dim objAccount As Object = objDomain.ComObject.Aliases.Item(i) + + + ' get account details + Dim mailAlias As MailAlias = New MailAlias() + mailAlias.Name = objAccount.Name + mailAlias.Enabled = objAccount.Active + mailAlias.ForwardTo = objAccount.Value + aliases.Add(mailAlias) + Next + Catch ex As Exception + Log.WriteError("Couldn't get mail aliases.", ex) + End Try + End If + + Return aliases.ToArray() + End Function + + Public Function GetMailAlias(ByVal mailAliasName As String) As MailAlias Implements IMailServer.GetMailAlias + 'recreate alias if it was created incorrectly before + Dim mailAlias As New MailAlias + Dim newMailAlias As New MailAlias + + If AccountExists(mailAliasName) Then + Dim mailAccount As MailAccount = GetAccount(mailAliasName) + newMailAlias.Name = mailAccount.Name + newMailAlias.ForwardTo = mailAccount.ForwardingAddresses(0) + 'delete incorrect account + DeleteAccount(mailAliasName) + 'recreate mail alias + CreateMailAlias(newMailAlias) + Return newMailAlias + End If + + ' find existing domain + Dim objDomain As Service = GetDomainObject(GetDomainName(mailAliasName)) + + If objDomain.Succeed Then + Try + ' find through all domain accounts + For i As Integer = 0 To objDomain.ComObject.Aliases.Count - 1 + Dim objAccount As Object = objDomain.ComObject.Aliases.Item(i) + + If String.Compare(objAccount.Name, mailAliasName, True) = 0 Then + ' check if this is a Group + 'If CheckAccountIsGroup(objAccount) Then + 'Continue For + 'End If + + ' get account details + mailAlias.Name = objAccount.Name + mailAlias.Enabled = objAccount.Active + mailAlias.ForwardTo = objAccount.Value + Return mailAlias + End If + Next + Catch ex As Exception + Log.WriteError("Couldn't get mail alias.", ex) + End Try + End If + + Return Nothing + End Function + + Public Sub CreateMailAlias(ByVal mailAlias As MailAlias) Implements IMailServer.CreateMailAlias + Dim objDomain As Service = GetDomainObject(GetDomainName(mailAlias.Name)) + If objDomain.Succeed Then + Try + ' add alias + Dim objAlias As Object = objDomain.ComObject.Aliases.Add() + objAlias.DomainID = objDomain.ComObject.ID + objAlias.Name = mailAlias.Name + objAlias.Active = True + objAlias.Value = mailAlias.ForwardTo + objAlias.Save() + Catch ex As Exception + Log.WriteError("Couldn't create mail alias.", ex) + End Try + End If + End Sub + + Public Sub UpdateMailAlias(ByVal mailAlias As MailAlias) Implements IMailServer.UpdateMailAlias + ' find existing domain + Dim objDomain As Service = GetDomainObject(GetDomainName(mailAlias.Name)) + + If objDomain.Succeed Then + Try + ' find through all domain accounts + For i As Integer = 0 To objDomain.ComObject.Aliases.Count - 1 + Dim objAccount As Object = objDomain.ComObject.Aliases.Item(i) + + If String.Compare(objAccount.Name, mailAlias.Name, True) = 0 Then + 'Fix mail alias is disabled in hMail Server when update it in WSP + objAccount.Active = True + objAccount.Value = mailAlias.ForwardTo + objAccount.Save() + End If + Next + Catch ex As Exception + Log.WriteError("Couldn't update mail alias.", ex) + End Try + End If + End Sub + + Public Sub DeleteMailAlias(ByVal mailAliasName As String) Implements IMailServer.DeleteMailAlias + Dim objDomain As Service = GetDomainObject(GetDomainName(mailAliasName)) + If objDomain.Succeed Then + Try + Dim index As Integer + ' find and remove alias if exists + For index = 0 To objDomain.ComObject.Aliases.Count - 1 + Dim objAlias As Object = objDomain.ComObject.Aliases.Item(index) + If String.Compare(objAlias.Name, mailAliasName, True) = 0 Then + objDomain.ComObject.Aliases.Delete(index) + Exit For + End If + Next + Catch ex As Exception + Log.WriteError("Couldn't delete mail alias.", ex) + End Try + End If + End Sub + + Public Sub DeleteDomain(ByVal domainName As String) Implements IMailServer.DeleteDomain + ' find existing domain + Dim objDomain As Object + Try + objDomain = hMailServer.Domains.ItemByName(domainName) + Catch + Throw New Exception("Specified mail domain does not exists") + End Try + + ' delete domain + objDomain.Delete() + End Sub + + Public Sub DeleteDomainAlias(ByVal domainName As String, ByVal aliasName As String) Implements IMailServer.DeleteDomainAlias + ' find existing domain + Dim objDomain As Service = GetDomainObject(domainName) + + If objDomain.Succeed Then + Dim i As Integer + For i = 0 To objDomain.ComObject.DomainAliases.Count - 1 + If String.Compare(objDomain.ComObject.DomainAliases.Item(i).AliasName, aliasName, True) = 0 Then + objDomain.ComObject.DomainAliases.Delete(i) + Return + End If + Next + End If + End Sub + + Public Sub DeleteGroup(ByVal groupName As String) Implements IMailServer.DeleteGroup + DeleteAccount(groupName) + End Sub + + Public Sub DeleteList(ByVal maillistName As String) Implements IMailServer.DeleteList + Dim objDomain As Service = GetDomainObject(GetDomainName(maillistName)) + + If objDomain.Succeed Then + Dim objMailList = objDomain.ComObject.DistributionLists.ItemByAddress(maillistName) + + If Not objMailList Is Nothing Then + objMailList.Delete() + End If + End If + End Sub + + Public Function DomainAliasExists(ByVal domainName As String, ByVal aliasName As String) As Boolean Implements IMailServer.DomainAliasExists + ' find existing domain + Dim objDomain As Service = GetDomainObject(domainName) + + If objDomain.Succeed Then + ' check aliases + Dim i As Integer + For i = 0 To objDomain.ComObject.DomainAliases.Count - 1 + If String.Compare(objDomain.ComObject.DomainAliases.Item(i).AliasName, aliasName, True) = 0 Then + Return True + End If + Next + End If + + Return False + End Function + + Public Function DomainExists(ByVal domainName As String) As Boolean Implements IMailServer.DomainExists + Dim objDomain As Service = GetDomainObject(domainName) + + Return objDomain.Succeed + End Function + + Public Function GetAccount(ByVal mailboxName As String) As MailAccount Implements IMailServer.GetAccount + ' find existing domain + Dim objDomain As Service = GetDomainObject(GetDomainName(mailboxName)) + + If objDomain.Succeed Then + ' find through all domain accounts + For i As Integer = 0 To objDomain.ComObject.Accounts.Count - 1 + Dim objAccount As Object = objDomain.ComObject.Accounts.Item(i) + + If String.Compare(objAccount.Address, mailboxName, True) = 0 Then + ' check if this is a Group + If CheckAccountIsGroup(objAccount) Then + Continue For + End If + + ' get account details + Dim account As MailAccount = New MailAccount() + account.Name = objAccount.Address + account.FirstName = objAccount.PersonFirstName + account.LastName = objAccount.PersonLastName + account.Enabled = objAccount.Active + account.MaxMailboxSize = objAccount.MaxSize + account.Password = objAccount.Password + account.Size = objAccount.Size() + account.QuotaUsed = objAccount.QuotaUsed() + account.LastLogonTime = CType(objAccount.LastLogonTime(), DateTime) + 'auto-responder + account.ResponderEnabled = objAccount.VacationMessageIsOn + account.ResponderSubject = objAccount.VacationSubject + account.ResponderMessage = objAccount.VacationMessage + account.ResponderExpires = objAccount.VacationMessageExpires + account.ResponderExpirationDate = objAccount.VacationMessageExpiresDate + 'forwarding + account.ForwardingEnabled = objAccount.ForwardEnabled + Dim forwardings As List(Of String) = New List(Of String) + forwardings.Add(objAccount.ForwardAddress) + account.ForwardingAddresses = forwardings.ToArray + account.RetainLocalCopy = objAccount.ForwardKeepOriginal + 'Signature + account.SignatureEnabled = objAccount.SignatureEnabled + account.Signature = objAccount.SignaturePlainText + account.SignatureHTML = objAccount.SignatureHTML + Return account + End If + Next + + ' find through forwardings (hMail aliases) + For i As Integer = 0 To objDomain.ComObject.Aliases.Count - 1 + Dim objAlias As Object = objDomain.ComObject.Aliases.Item(i) + If String.Compare(objAlias.Name, mailboxName, True) = 0 Then + Dim account As MailAccount = New MailAccount() + account.Name = objAlias.Name + account.Enabled = objAlias.Active + account.ForwardingAddresses = New String() {objAlias.Value} + account.DeleteOnForward = True + Return account + End If + Next + End If + + Return Nothing + End Function + + Public Function GetAccounts(ByVal domainName As String) As MailAccount() Implements IMailServer.GetAccounts + Dim accounts As New List(Of MailAccount) + + ' find existing domain + Dim objDomain As Service = GetDomainObject(domainName) + + If objDomain.Succeed Then + ' get all domain accounts + Dim i As Integer + For i = 0 To objDomain.ComObject.Accounts.Count - 1 + Dim objAccount As Object = objDomain.ComObject.Accounts.Item(i) + + If CheckAccountIsGroup(objAccount) Then + Continue For + End If + + ' get account details + Dim account As MailAccount = New MailAccount() + account.Name = objAccount.Address + account.FirstName = objAccount.PersonFirstName + account.LastName = objAccount.PersonLastName + account.Enabled = objAccount.Active + account.MaxMailboxSize = objAccount.MaxSize + account.Password = objAccount.Password + account.Size = objAccount.Size() + account.QuotaUsed = objAccount.QuotaUsed() + account.LastLogonTime = CType(objAccount.LastLogonTime(), DateTime) + 'auto-responder + account.ResponderEnabled = objAccount.VacationMessageIsOn + account.ResponderSubject = objAccount.VacationSubject + account.ResponderMessage = objAccount.VacationMessage + account.ResponderExpires = objAccount.VacationMessageExpires + account.ResponderExpirationDate = objAccount.VacationMessageExpiresDate + 'forwarding + account.ForwardingEnabled = objAccount.ForwardEnabled + Dim forwardings As List(Of String) = New List(Of String) + forwardings.Add(objAccount.ForwardAddress) + account.ForwardingAddresses = forwardings.ToArray + account.RetainLocalCopy = objAccount.ForwardKeepOriginal + 'Signature + account.SignatureEnabled = objAccount.SignatureEnabled + account.Signature = objAccount.SignaturePlainText + account.SignatureHTML = objAccount.SignatureHTML + accounts.Add(account) + Next + End If + + Return accounts.ToArray() + End Function + + Public Overridable Function GetDomains() As String() Implements IMailServer.GetDomains + Dim objDomains As Service = GetDomainsObject() + + If objDomains.Succeed Then + Dim domains As New List(Of String) + + For Index As Integer = 0 To objDomains.ComObject.Count - 1 + domains.Add(objDomains.ComObject.Item(Index).Name) + Next + + Return domains.ToArray() + End If + + Return Nothing + End Function + + Public Function GetDomain(ByVal domainName As String) As MailDomain Implements IMailServer.GetDomain + Dim objDomain As Service = GetDomainObject(domainName) + + If objDomain.Succeed Then + Dim domain As MailDomain = New MailDomain() + domain.Name = objDomain.ComObject.Name + domain.Enabled = objDomain.ComObject.Active + domain.CatchAllAccount = GetMailboxName(objDomain.ComObject.Postmaster) + Return domain + End If + + Return Nothing + End Function + + Public Function GetDomainAliases(ByVal domainName As String) As String() Implements IMailServer.GetDomainAliases + ' find existing domain + Dim objDomain As Service = GetDomainObject(domainName) + Dim aliases As New List(Of String) + + If objDomain.Succeed Then + For i As Integer = 0 To objDomain.ComObject.DomainAliases.Count - 1 + aliases.Add(objDomain.ComObject.DomainAliases.Item(i).AliasName) + Next + End If + + Return aliases.ToArray() + End Function + + Public Function GetGroup(ByVal groupName As String) As MailGroup Implements IMailServer.GetGroup + Dim objDomain As Service = GetDomainObject(GetDomainName(groupName)) + Dim mailGroup As MailGroup = Nothing + + If objDomain.Succeed Then + Dim mailboxCount As Integer = objDomain.ComObject.Accounts.Count - 1 + + For i As Integer = 0 To mailboxCount + Dim objAccount As Object = objDomain.ComObject.Accounts.Item(i) + + If String.Compare(objAccount.Address, groupName, True) = 0 Then + If CheckAccountIsGroup(objAccount) Then + mailGroup = ConvertToMailGroup(objAccount) + Exit For + End If + End If + Next i + End If + + Return mailGroup + End Function + + Public Function GetGroups(ByVal domainName As String) As MailGroup() Implements IMailServer.GetGroups + Dim objDomain As Service = GetDomainObject(domainName) + Dim mailGroups As New List(Of MailGroup) + + If objDomain.Succeed Then + Dim Count As Integer = objDomain.ComObject.Accounts.Count - 1 + For I As Integer = 0 To Count + Dim objAccount As Object = objDomain.ComObject.Accounts.Item(I) + If CheckAccountIsGroup(objAccount) Then + mailGroups.Add(ConvertToMailGroup(objAccount)) + End If + Next I + End If + + Return mailGroups.ToArray() + End Function + + Public Function GetList(ByVal maillistName As String) As MailList Implements IMailServer.GetList + Dim objDomain As Service = GetDomainObject(GetDomainName(maillistName)) + Dim mailList As MailList = Nothing + + If objDomain.Succeed Then + Dim objMailList As Object = objDomain.ComObject.DistributionLists.ItemByAddress(maillistName) + + If Not objMailList Is Nothing Then + mailList = ConvertToMailList(objMailList) + End If + End If + + Return mailList + End Function + + Public Function GetLists(ByVal domainName As String) As MailList() Implements IMailServer.GetLists + Dim objDomain As Service = GetDomainObject(domainName) + + Dim lists As New List(Of MailList) + + If objDomain.Succeed Then + Dim mailListCount As Integer = objDomain.ComObject.DistributionLists.Count - 1 + + For index As Integer = 0 To mailListCount + Dim objMailList As Object = objDomain.ComObject.DistributionLists.Item(index) + lists.Add(ConvertToMailList(objMailList)) + Next index + End If + + Return lists.ToArray() + End Function + + Public Function GroupExists(ByVal groupName As String) As Boolean Implements IMailServer.GroupExists + Dim objDomain As Service = GetDomainObject(GetDomainName(groupName)) + Dim exists As Boolean = False + + If objDomain.Succeed Then + Try + Dim objAccount As Object = objDomain.ComObject.Accounts.ItemByAddress(groupName) + exists = CheckAccountIsGroup(objAccount) + Catch ex As Exception + Log.WriteError("Couldn't find mail group.", ex) + End Try + End If + + Return exists + End Function + + Public Function ListExists(ByVal maillistName As String) As Boolean Implements IMailServer.ListExists + Dim objDomain As Service = GetDomainObject(GetDomainName(maillistName)) + Dim exists As Boolean = False + + If objDomain.Succeed Then + Try + Dim objMailList As Object = objDomain.ComObject.DistributionLists.ItemByAddress(maillistName) + exists = True + Catch ex As Exception + Log.WriteError("Couldn't find mail list.", ex) + End Try + End If + + Return exists + End Function + + Public Sub UpdateAccount(ByVal mailbox As MailAccount) Implements IMailServer.UpdateAccount + Dim objDomain As Service = GetDomainObject(GetDomainName(mailbox.Name)) + + If objDomain.Succeed Then + Try + ' update account + Dim objAccount As Object = objDomain.ComObject.Accounts.ItemByAddress(mailbox.Name) + objAccount.Active = mailbox.Enabled + objAccount.Password = mailbox.Password + objAccount.MaxSize = mailbox.MaxMailboxSize + 'Auto-Responder + objAccount.VacationMessageIsOn = mailbox.ResponderEnabled + objAccount.VacationSubject = mailbox.ResponderSubject + objAccount.VacationMessage = mailbox.ResponderMessage + objAccount.VacationMessageExpires = False + If mailbox.ResponderExpires Then + If IsDate(mailbox.ResponderExpirationDate) Then + objAccount.VacationMessageExpires = True + objAccount.VacationMessageExpiresDate = mailbox.ResponderExpirationDate.Substring(0, 10) + End If + End If + 'Personal Information + objAccount.PersonFirstName = mailbox.FirstName + objAccount.PersonLastName = mailbox.LastName + 'Signature + objAccount.SignatureEnabled = mailbox.SignatureEnabled + objAccount.SignaturePlainText = mailbox.Signature + objAccount.SignatureHTML = mailbox.SignatureHTML + 'Forwarding + If mailbox.ForwardingEnabled Then + If mailbox.ForwardingAddresses.Length > 0 Then + objAccount.ForwardAddress = mailbox.ForwardingAddresses(0) + objAccount.ForwardKeepOriginal = mailbox.RetainLocalCopy + objAccount.ForwardEnabled = True + End If + Else + objAccount.ForwardEnabled = False + End If + objAccount.Save() + + ' set account rules + SetAccountRules(mailbox, objAccount) + + Catch ex As Exception + Log.WriteError("Couldn't update an account.", ex) + End Try + End If + End Sub + + Public Sub UpdateDomain(ByVal domain As MailDomain) Implements IMailServer.UpdateDomain + ' find existing domain + Dim objDomain As Service = GetDomainObject(domain.Name) + + If objDomain.Succeed Then + ' update domain + objDomain.ComObject.Name = domain.Name + objDomain.ComObject.Active = domain.Enabled + objDomain.ComObject.Postmaster = String.Concat(domain.CatchAllAccount, "@", domain.Name) + objDomain.ComObject.Save() + End If + End Sub + + Public Sub UpdateGroup(ByVal group As MailGroup) Implements IMailServer.UpdateGroup + Dim objDomain As Service = GetDomainObject(GetDomainName(group.Name)) + + If objDomain.Succeed Then + Try + Dim objGroup As Object = objDomain.ComObject.Accounts.ItemByAddress(group.Name) + If CheckAccountIsGroup(objGroup) Then + objGroup.Active = group.Enabled + + ' group should be empty + 'objGroup.MaxSize = group.DiskSpace + objGroup.VacationMessageIsOn = False + objGroup.VacationSubject = String.Empty + objGroup.VacationMessage = String.Empty + objGroup.Save() + + Dim groupRuleExists As Boolean = False + Dim objRule As Object = Nothing + + For i As Integer = 0 To objGroup.Rules.Count - 1 + objRule = objGroup.Rules.Item(i) + If String.Compare(objRule.Name, MAIL_GROUP_RULE, True) = 0 Then + groupRuleExists = True + Exit For + End If + Next i + + If Not groupRuleExists Then + ' Create mail group rule + objRule = objGroup.Rules.Add() + objRule.AccountID = objGroup.ID + objRule.Active = True + objRule.Name = MAIL_GROUP_RULE + objRule.Save() + End If + + Dim criteriaExists As Boolean = False + Dim objCriteria As Object + ' Check for the criteria + For i As Integer = 0 To objRule.Criterias.Count - 1 + objCriteria = objRule.Criterias.Item(i) + + If objCriteria.PredefinedField = 6 And objCriteria.MatchType = 4 And objCriteria.MatchValue = "0" Then + criteriaExists = True + Exit For + End If + Next i + + If Not criteriaExists Then + ' Add criteria + objCriteria = objRule.Criterias.Add() + objCriteria.RuleID = objRule.ID + objCriteria.PredefinedField = 6 ' hMailServer.eRulePredefinedField.eFTMessageSize + objCriteria.MatchType = 4 ' hMailServer.eRuleMatchType.eMTGreaterThan + objCriteria.MatchValue = "0" + objCriteria.Save() + End If + + ' cleanup previous rule actions + Do + objRule.Actions.Delete(0) + Loop While objRule.Actions.Count > 0 + + + ' create group members + If Not group.Members Is Nothing Then + For Each member As String In group.Members + Dim objGroupMemberAction As Object = objRule.Actions.Add() + objGroupMemberAction.RuleID = objRule.ID + objGroupMemberAction.Type = 2 'eRAForwardEmail + objGroupMemberAction.To = member + objGroupMemberAction.Save() + Next member + End If + + ' Add delete mail action + Dim objGroupAction As Object = objRule.Actions.Add() + objGroupAction.RuleID = objRule.ID + objGroupAction.Type = 1 'eRADeleteEmail + objGroupAction.Save() + End If + Catch ex As Exception + Log.WriteError("Couldn't update specified mail group.", ex) + End Try + End If + End Sub + + Public Sub UpdateList(ByVal maillist As MailList) Implements IMailServer.UpdateList + Dim objDomain As Service = GetDomainObject(GetDomainName(maillist.Name)) + + If objDomain.Succeed Then + Try + Dim objMailList As Object = objDomain.ComObject.DistributionLists.ItemByAddress(maillist.Name) + objMailList.Active = maillist.Enabled + + objMailList.RequireSMTPAuth = maillist.RequireSmtpAuthentication + + Select Case maillist.PostingMode + Case PostingMode.MembersCanPost + objMailList.Mode = 1 + Case PostingMode.ModeratorCanPost + If String.IsNullOrEmpty(maillist.ModeratorAddress) Then + Throw New Exception("List moderator address doesn't specified.") + End If + objMailList.RequireSenderAddress = maillist.ModeratorAddress + objMailList.Mode = 2 + Case PostingMode.AnyoneCanPost + objMailList.Mode = 3 + End Select + + objMailList.Save() + + Dim count As Integer = objMailList.Recipients.Count + + ' cleanup list members + ' check if list has members to avoid Invalid Index exception + If objMailList.Recipients.Count > 0 Then + For i As Integer = 0 To objMailList.Recipients.Count - 1 + Dim objRecipient As Object = objMailList.Recipients.Item(0) + objRecipient.Delete() + Next i + End If + + + ' save list members + If Not maillist.Members Is Nothing Then + For Each member As String In maillist.Members + Dim objRecipient As Object = objMailList.Recipients.Add() + objRecipient.RecipientAddress = member + objRecipient.Save() + Next member + End If + + Catch ex As Exception + Log.WriteError("Couldn't update a mail list.", ex) + End Try + End If + End Sub +#End Region + +#Region "HostingServiceProviderBase" + + Public Overrides Sub ChangeServiceItemsState(ByVal items() As ServiceProviderItem, ByVal enabled As Boolean) + For Each item As ServiceProviderItem In items + If TypeOf item Is MailDomain Then + Try + Dim domain As MailDomain = GetDomain(item.Name) + domain.Enabled = enabled + UpdateDomain(domain) + Catch ex As Exception + Log.WriteError(String.Format("Error switching '{0}' mail domain", item.Name), ex) + End Try + End If + Next + End Sub + + Public Overrides Sub DeleteServiceItems(ByVal items() As ServiceProviderItem) + For Each item As ServiceProviderItem In items + If TypeOf item Is MailDomain Then + Try + DeleteDomain(item.Name) + Catch ex As Exception + Log.WriteError(String.Format("Error deleting '{0}' mail domain", item.Name), ex) + End Try + End If + Next + End Sub + + Public Overrides Function GetServiceItemsDiskSpace(ByVal items() As ServiceProviderItem) As ServiceProviderItemDiskSpace() + Dim itemsDiskspace As List(Of ServiceProviderItemDiskSpace) = New List(Of ServiceProviderItemDiskSpace) + Dim item As ServiceProviderItem + For Each item In items + If TypeOf item Is MailAccount Then + Try + Dim objDomain As Service = GetDomainObject(GetDomainName(item.Name)) + Dim objAccount = objDomain.ComObject.Accounts.ItemByAddress(item.Name) + Dim objAccountSize As Long = objAccount.Size() * 1048576 + Dim diskspace As New ServiceProviderItemDiskSpace() + diskspace.ItemId = item.Id + diskspace.DiskSpace = objAccountSize + itemsDiskspace.Add(diskspace) + Catch ex As Exception + Log.WriteError("Error calculating disk space for mail account: " + item.Name, ex) + End Try + End If + Next item + Return itemsDiskspace.ToArray() + End Function + + Public Overrides Function GetServiceItemsBandwidth(ByVal items() As ServiceProviderItem, ByVal since As Date) As ServiceProviderItemBandwidth() + Dim itemsBandwidth(items.Length) As ServiceProviderItemBandwidth + Dim objSets As Service = GetSettingsObject() + If objSets.ComObject.Logging.AWStatsEnabled Then + Dim logsPath As String = objSets.ComObject.Logging.CurrentAwstatsLog() + + For i As Integer = 0 To items.Length - 1 + Dim item As ServiceProviderItem = items(i) + + itemsBandwidth(i) = New ServiceProviderItemBandwidth() + itemsBandwidth(i).ItemId = item.Id + itemsBandwidth(i).Days = New DailyStatistics(0) {} + + If TypeOf item Is MailDomain Then + Try + itemsBandwidth(i).Days = GetDailyStatistics(since, item.Name, logsPath) + Catch ex As Exception + Log.WriteError("Error calculating bandwidth for mail domain: " + item.Name, ex) + End Try + End If + Next i + End If + Return itemsBandwidth + End Function +#End Region + Public Overrides Function IsInstalled() As Boolean Dim displayName As String = "" Dim version As String = "" @@ -93,5 +1354,4 @@ Public Class hMailServer5 End If End Function - -End Class +End Class \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb index 3bc45f4b..fb0a85fc 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb @@ -109,25 +109,11 @@ Public Class hMailServer objDomain.ComObject = hMailServer.Utilities objDomain.Succeed = True Catch ex As Exception - Log.WriteError("Couldn't create hMailServer.Application Utilities ActiveX object.", ex) + Log.WriteError("Couldn't create hMailServer.Application ActiveX object.", ex) End Try Return objDomain - End Function - - Private Function GetSettingsObject() As Service - Dim objSettings As New Service() - objSettings.Succeed = False - - Try - objSettings.ComObject = hMailServer.Settings - objSettings.Succeed = True - Catch ex As Exception - Log.WriteError("Couldn't create hMailServer.Application Settings ActiveX object.", ex) - End Try - - Return objSettings - End Function + End Function Private Function GetDomainObject(ByVal domainName As String) As Service ' find existing domain @@ -138,7 +124,7 @@ Public Class hMailServer objDomain.ComObject = hMailServer.Domains.ItemByName(domainName) objDomain.Succeed = True Catch ex As Exception - Log.WriteError("Couldn't create hMailServer.Application Domain ActiveX object.", ex) + Log.WriteError("Couldn't create hMailServer.Application ActiveX object.", ex) End Try Return objDomain @@ -153,7 +139,7 @@ Public Class hMailServer objDomain.ComObject = hMailServer.Domains objDomain.Succeed = True Catch ex As Exception - Log.WriteError("Couldn't create hMailServer.Application Domains ActiveX object.", ex) + Log.WriteError("Couldn't create hMailServer.Application ActiveX object.", ex) End Try Return objDomain @@ -299,26 +285,19 @@ Public Class hMailServer If mailbox.ResponderEnabled Then objAccount.VacationMessageIsOn = True objAccount.VacationSubject = mailbox.ResponderSubject - objAccount.VacationMessage = mailbox.ResponderMessage - objAccount.VacationMessageExpires = False - If mailbox.ResponderExpires Then - If IsDate(mailbox.ResponderExpirationDate) Then - objAccount.VacationMessageExpires = True - objAccount.VacationMessageExpiresDate = mailbox.ResponderExpirationDate.Substring(0, 10) - End If - End If - End If + objAccount.VacationMessage = mailbox.ResponderMessage + End If 'set forwarding address - If mailbox.ForwardingEnabled Then - objAccount.ForwardAddress = mailbox.ForwardingAddresses(0) - objAccount.ForwardEnabled = True - objAccount.ForwardKeepOriginal = mailbox.RetainLocalCopy - End If + If mailbox.ForwardingAddresses.Length > 0 Then + objAccount.ForwardAddress = mailbox.ForwardingAddresses(0) + objAccount.ForwardEnabled = True + objAccount.ForwardKeepOriginal = mailbox.RetainLocalCopy + End If objAccount.Save() - ' set account rules + ' set account rules SetAccountRules(mailbox, objAccount) @@ -343,43 +322,43 @@ Public Class hMailServer ' delete rule objAccount.Rules.DeleteByDBID(objRule.ID) End If - '// Removed to use built-in forwarding: - 'If Not mailbox.ForwardingAddresses Is Nothing _ - ' And mailbox.ForwardingAddresses.Length > 0 Then - ' ' create rule - ' ' add "default" rule - ' objRule = objAccount.Rules.Add() - ' objRule.AccountID = objAccount.ID - ' objRule.Active = True - ' objRule.Name = WEBSITEPANEL_RULE_NAME - ' objRule.Save() + If Not mailbox.ForwardingAddresses Is Nothing _ + And mailbox.ForwardingAddresses.Length > 0 Then + ' create rule - ' ' Add criteria - ' Dim objCriteria As Object = objRule.Criterias.Add() - ' objCriteria.RuleID = objRule.ID - ' objCriteria.PredefinedField = 6 ' hMailServer.eRulePredefinedField.eFTMessageSize - ' objCriteria.MatchType = 4 ' hMailServer.eRuleMatchType.eMTGreaterThan - ' objCriteria.MatchValue = "0" - ' objCriteria.Save() + ' add "default" rule + objRule = objAccount.Rules.Add() + objRule.AccountID = objAccount.ID + objRule.Active = True + objRule.Name = WEBSITEPANEL_RULE_NAME + objRule.Save() - ' ' add forwarding addresses - ' Dim forwarding As String - ' For Each forwarding In mailbox.ForwardingAddresses - ' Dim objRuleAction As Object = objRule.Actions.Add() - ' objRuleAction.RuleID = objRule.ID - ' objRuleAction.Type = 2 'eRAForwardEmail - ' objRuleAction.To = forwarding - ' objRuleAction.Save() - ' Next + ' Add criteria + Dim objCriteria As Object = objRule.Criterias.Add() + objCriteria.RuleID = objRule.ID + objCriteria.PredefinedField = 6 ' hMailServer.eRulePredefinedField.eFTMessageSize + objCriteria.MatchType = 4 ' hMailServer.eRuleMatchType.eMTGreaterThan + objCriteria.MatchValue = "0" + objCriteria.Save() - ' If mailbox.DeleteOnForward Then - ' Dim objRuleAction As Object = objRule.Actions.Add() - ' objRuleAction.RuleID = objRule.ID - ' objRuleAction.RuleID = 1 'eRADeleteEmail - ' objRuleAction.Save() - ' End If - 'End If + ' add forwarding addresses + Dim forwarding As String + For Each forwarding In mailbox.ForwardingAddresses + Dim objRuleAction As Object = objRule.Actions.Add() + objRuleAction.RuleID = objRule.ID + objRuleAction.Type = 2 'eRAForwardEmail + objRuleAction.To = forwarding + objRuleAction.Save() + Next + + If mailbox.DeleteOnForward Then + Dim objRuleAction As Object = objRule.Actions.Add() + objRuleAction.RuleID = objRule.ID + objRuleAction.RuleID = 1 'eRADeleteEmail + objRuleAction.Save() + End If + End If End Sub Public Sub CreateDomain(ByVal domain As MailDomain) Implements IMailServer.CreateDomain @@ -764,19 +743,11 @@ Public Class hMailServer account.LastName = objAccount.PersonLastName account.Enabled = objAccount.Active account.MaxMailboxSize = objAccount.MaxSize - account.Password = objAccount.Password - account.Size = objAccount.Size() - account.QuotaUsed = objAccount.QuotaUsed() - account.LastLogonTime = CType(objAccount.LastLogonTime(), DateTime) - 'auto-responder - account.ResponderEnabled = objAccount.VacationMessageIsOn + account.Password = objAccount.Password + account.ResponderEnabled = objAccount.VacationMessageIsOn account.ResponderSubject = objAccount.VacationSubject - account.ResponderMessage = objAccount.VacationMessage - account.ResponderExpires = objAccount.VacationMessageExpires - account.ResponderExpirationDate = objAccount.VacationMessageExpiresDate - 'forwarding - account.ForwardingEnabled = objAccount.ForwardEnabled - Dim forwardings As List(Of String) = New List(Of String) + account.ResponderMessage = objAccount.VacationMessage + Dim forwardings As List(Of String) = New List(Of String) forwardings.Add(objAccount.ForwardAddress) account.ForwardingAddresses = forwardings.ToArray account.RetainLocalCopy = objAccount.ForwardKeepOriginal @@ -822,32 +793,24 @@ Public Class hMailServer End If ' get account details - Dim account As MailAccount = New MailAccount() - account.Name = objAccount.Address - account.FirstName = objAccount.PersonFirstName - account.LastName = objAccount.PersonLastName - account.Enabled = objAccount.Active - account.MaxMailboxSize = objAccount.MaxSize - account.Password = objAccount.Password - account.Size = objAccount.Size() - account.QuotaUsed = objAccount.QuotaUsed() - account.LastLogonTime = CType(objAccount.LastLogonTime(), DateTime) - 'auto-responder - account.ResponderEnabled = objAccount.VacationMessageIsOn - account.ResponderSubject = objAccount.VacationSubject - account.ResponderMessage = objAccount.VacationMessage - account.ResponderExpires = objAccount.VacationMessageExpires - account.ResponderExpirationDate = objAccount.VacationMessageExpiresDate - 'forwarding - account.ForwardingEnabled = objAccount.ForwardEnabled - Dim forwardings As List(Of String) = New List(Of String) - forwardings.Add(objAccount.ForwardAddress) - account.ForwardingAddresses = forwardings.ToArray - account.RetainLocalCopy = objAccount.ForwardKeepOriginal - 'Signature - account.SignatureEnabled = objAccount.SignatureEnabled - account.Signature = objAccount.SignaturePlainText - account.SignatureHTML = objAccount.SignatureHTML + Dim account As MailAccount = New MailAccount() + account.Name = objAccount.Address + account.FirstName = objAccount.PersonFirstName + account.LastName = objAccount.PersonLastName + account.Enabled = objAccount.Active + account.MaxMailboxSize = objAccount.MaxSize + account.Password = objAccount.Password + account.ResponderEnabled = objAccount.VacationMessageIsOn + account.ResponderSubject = objAccount.VacationSubject + account.ResponderMessage = objAccount.VacationMessage + Dim forwardings As List(Of String) = New List(Of String) + forwardings.Add(objAccount.ForwardAddress) + account.ForwardingAddresses = forwardings.ToArray + account.RetainLocalCopy = objAccount.ForwardKeepOriginal + 'Signature + account.SignatureEnabled = objAccount.SignatureEnabled + account.Signature = objAccount.SignaturePlainText + account.SignatureHTML = objAccount.SignatureHTML accounts.Add(account) Next End If @@ -1012,42 +975,31 @@ Public Class hMailServer objAccount.Active = mailbox.Enabled objAccount.Password = mailbox.Password objAccount.MaxSize = mailbox.MaxMailboxSize - 'Auto-Responder - objAccount.VacationMessageIsOn = mailbox.ResponderEnabled + objAccount.VacationMessageIsOn = mailbox.ResponderEnabled objAccount.VacationSubject = mailbox.ResponderSubject - objAccount.VacationMessage = mailbox.ResponderMessage - objAccount.VacationMessageExpires = False - If mailbox.ResponderExpires Then - If IsDate(mailbox.ResponderExpirationDate) Then - objAccount.VacationMessageExpires = True - objAccount.VacationMessageExpiresDate = mailbox.ResponderExpirationDate.Substring(0, 10) - End If - End If - 'Personal Information - objAccount.PersonFirstName = mailbox.FirstName - objAccount.PersonLastName = mailbox.LastName - 'Signature - objAccount.SignatureEnabled = mailbox.SignatureEnabled - objAccount.SignaturePlainText = mailbox.Signature - objAccount.SignatureHTML = mailbox.SignatureHTML - 'Forwarding - If mailbox.ForwardingEnabled Then - If mailbox.ForwardingAddresses.Length > 0 Then - objAccount.ForwardAddress = mailbox.ForwardingAddresses(0) - objAccount.ForwardKeepOriginal = mailbox.RetainLocalCopy - objAccount.ForwardEnabled = True - End If - Else - objAccount.ForwardEnabled = False - End If - objAccount.Save() + objAccount.VacationMessage = mailbox.ResponderMessage + 'Personal Information + objAccount.PersonFirstName = mailbox.FirstName + objAccount.PersonLastName = mailbox.LastName + 'Signature + objAccount.SignatureEnabled = mailbox.SignatureEnabled + objAccount.SignaturePlainText = mailbox.Signature + objAccount.SignatureHTML = mailbox.SignatureHTML - ' set account rules - SetAccountRules(mailbox, objAccount) + If mailbox.ForwardingAddresses.Length > 0 Then + objAccount.ForwardAddress = mailbox.ForwardingAddresses(0) + objAccount.ForwardKeepOriginal = mailbox.RetainLocalCopy + objAccount.ForwardEnabled = True + End If - Catch ex As Exception - Log.WriteError("Couldn't update an account.", ex) - End Try + objAccount.Save() + + ' set account rules + SetAccountRules(mailbox, objAccount) + + Catch ex As Exception + Log.WriteError("Couldn't update an account.", ex) + End Try End If End Sub @@ -1217,119 +1169,7 @@ Public Class hMailServer End Try End If Next - End Sub - - Public Overrides Function GetServiceItemsDiskSpace(ByVal items() As ServiceProviderItem) As ServiceProviderItemDiskSpace() - Dim itemsDiskspace As List(Of ServiceProviderItemDiskSpace) = New List(Of ServiceProviderItemDiskSpace) - Dim item As ServiceProviderItem - For Each item In items - If TypeOf item Is MailAccount Then - Try - Dim objDomain As Service = GetDomainObject(GetDomainName(item.Name)) - Dim objAccount = objDomain.ComObject.Accounts.ItemByAddress(item.Name) - Dim objAccountSize As Long = objAccount.Size() * 1048576 - Dim diskspace As New ServiceProviderItemDiskSpace() - diskspace.ItemId = item.Id - diskspace.DiskSpace = objAccountSize - itemsDiskspace.Add(diskspace) - Catch ex As Exception - Log.WriteError("Error calculating disk space for mail account: " + item.Name, ex) - End Try - End If - Next item - Return itemsDiskspace.ToArray() - End Function - - Public Overrides Function GetServiceItemsBandwidth(ByVal items() As ServiceProviderItem, ByVal since As Date) As ServiceProviderItemBandwidth() - Dim itemsBandwidth(items.Length) As ServiceProviderItemBandwidth - Dim objSets As Service = GetSettingsObject() - If objSets.ComObject.Logging.AWStatsEnabled Then - Dim logsPath As String = objSets.ComObject.Logging.CurrentAwstatsLog() - - Dim i As Integer - For i = 0 To items.Length - 1 - Dim item As ServiceProviderItem = items(i) - - itemsBandwidth(i) = New ServiceProviderItemBandwidth() - itemsBandwidth(i).ItemId = item.Id - itemsBandwidth(i).Days = New DailyStatistics(0) {} - - If TypeOf item Is MailDomain Then - Try - itemsBandwidth(i).Days = GetDailyStatistics(since, item.Name, logsPath) - Catch ex As Exception - Log.WriteError("Error calculating bandwidth for mail domain: " + item.Name, ex) - End Try - End If - Next i - End If - Return itemsBandwidth - End Function - - Private Function GetDailyStatistics(ByVal since As DateTime, ByVal mailDomainName As String, ByVal logpath As String) As DailyStatistics() - Dim days As New ArrayList() - Dim now As DateTime = DateTime.Now - Dim [date] As DateTime = since - Dim mailDomainBytesReceived As Long = 0 - Dim mailDomainBytesSent As Long = 0 - - Try - While [date] < now - If File.Exists(logpath) Then - - Using r As StreamReader = New StreamReader(logpath) - Dim line As String - ' Read first line. - line = r.ReadLine - - Do While (Not line Is Nothing) - Dim vals As String() = line.Split(vbTab) - If vals.Length = 9 Then - Dim logDate As DateTime = CType(vals(0), DateTime) - If logDate >= [date] Then - 'get sent bytes - If InStr(vals(1), mailDomainName) Then - mailDomainBytesSent += Int32.Parse(vals(8)) - End If - - 'get received bytes - If InStr(vals(2), mailDomainName) Then - mailDomainBytesReceived += Int32.Parse(vals(8)) - End If - End If - If logDate.Date > [date].Date Then - Exit Do - End If - - End If - - line = r.ReadLine - - Loop - End Using - End If - - If mailDomainBytesReceived <> 0 Or mailDomainBytesSent <> 0 Then - Dim dailyStats As New DailyStatistics() - dailyStats.Year = [date].Year - dailyStats.Month = [date].Month - dailyStats.Day = [date].Day - dailyStats.BytesSent = mailDomainBytesSent - dailyStats.BytesReceived = mailDomainBytesReceived - days.Add(dailyStats) - End If - - ' advance day - [date] = [date].AddDays(1) - mailDomainBytesReceived = 0 - mailDomainBytesSent = 0 - End While - Catch ex As Exception - Log.WriteError("Could't parse hMailServer Log", ex) - End Try - Return DirectCast(days.ToArray(GetType(DailyStatistics)), DailyStatistics()) - End Function - + End Sub Public Overrides Sub DeleteServiceItems(ByVal items() As ServiceProviderItem) For Each item As ServiceProviderItem In items diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer43_EditAccount.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer43_EditAccount.ascx.resx index cb9887d3..23eb4074 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer43_EditAccount.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer43_EditAccount.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Yes @@ -165,37 +165,4 @@ Signature - - Yes - - - Yes - - - Yes - - - Mailbox Enabled: - - - Forwarding Enabled: - - - Last Login Date: - - - Quota Used: - - - Autoresponder Expire Date: - - - Autoresponder Expires: - - - Current Size: - - - Account Information - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditAccount.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditAccount.ascx.resx new file mode 100644 index 00000000..cb9887d3 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditAccount.ascx.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Yes + + + Keep original Message + + + First Name: + + + Forward mail to address: + + + HTML Signature + + + Last Name: + + + Message: + + + Plain Text Signature + + + Reply to address: + + + Autoresponder Enabled: + + + Signature Enabled: + + + Subject: + + + Autoresponder + + + Mail Forwarding + + + Personal Information + + + Signature + + + Yes + + + Yes + + + Yes + + + Mailbox Enabled: + + + Forwarding Enabled: + + + Last Login Date: + + + Quota Used: + + + Autoresponder Expire Date: + + + Autoresponder Expires: + + + Current Size: + + + Account Information + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditDomain.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditDomain.ascx.resx new file mode 100644 index 00000000..1db5fcef --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditDomain.ascx.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Abuse Account: + + + Catch-All Account: + + + Postmaster Account: + + + <Not Selected> + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditGroup.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditGroup.ascx.resx new file mode 100644 index 00000000..3917aca2 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditGroup.ascx.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Group E-Mails: + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditList.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditList.ascx.resx new file mode 100644 index 00000000..702532c9 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_EditList.ascx.resx @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Announcements + + + Membership + + + Password Protected Posting + + + Public + + + Announcements E-mail: + + + Mailing List Members: + + + Posting Mode: + + + Require SMTP Authentication + + + Security + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_Settings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_Settings.ascx.resx new file mode 100644 index 00000000..1bd942e1 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/hMailServer5_Settings.ascx.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Admin Login: + + + Admin Password: + + + Current Admin Password: + + + Public IP Address: + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx index 43be89f2..54462ec4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx @@ -1,45 +1,6 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer43_EditAccount.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer43_EditAccount" %> <%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %> - - - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - - - -
    - - - -
    -
    - @@ -47,15 +8,15 @@ - - - @@ -106,10 +108,43 @@ function confirmation() + + + + + + + + + + + + + + + + + +
    + +
    + @@ -72,35 +33,23 @@ - - + - + - + - - - - - - - -
    +
    - -
    - -
    @@ -110,19 +59,13 @@ - - - - - - + - + + - + - - + + )2(mFm*tX*wwB?OQi=2|^*SOxC3md5gt*u&r&a5Q|p~iw??S+XJ zhju~O_gj?v?K*ps8oM1s+Nfghs{Vi-Ur%qkU`gKAdb!>UuOjH>qt3v{>K)mnMs>-D zFrFl?YrQoerhTspyRS%_kaczS9bO9d0WA~sk=AYHEibt)QVsdx5q zeCwI5Cj{qej)^PHFu1A3f##Z!;s(l*_SwpDHa{u(j+`E$!WX($4anh!5!4nd@8hh8%UZO%>MA z6!i{bHBN(r$~f&F>Co_Zo$xhQJW1br#f#!I@8DLD4q0(&oA#A?PKz_}$_s3@p76Da zmXvqWa4L@+qrync*2Y?6&Q|WSn+GNusbl80Z~E{vj~r=h!EnKBQoU_RSQ`VQxUd?b z8n>e7Ry-{%Jz0Rhe{y6&lyz?NlIBGs&^MPA&tnUb=YhI}M*eZizI!;A&~<++F~bEx zhMi2RqF~?G6_(fzj$E=g&3Q%iWlJN>j%%M}Kk=qo{kD-m?69j_ne%qL^@elO;pcQx zCLQp5$Mfx-H>g(f9kLh4+?p7$>`t%d41@C^+@a3;BZux9h#Q#}>F^*da1|DXx{s4u z7vIYKl(5sw9UXCxHeA-x+`LYl-oiw0Ma}`-7Oo8|c)ciY;D79(y*a*o0(1iy+DK-f z9I$GYbdJVtCdAUq(f%RvBu*ZLX$+>Gi#}7~s=u;Hv1Obrv~j*6o~IY%r;=T5dJEob zK-PTrmfVMv3L`y`;P{k+yb9wmN5hP9wl`zP>SS_tVb3 zgfpQr@%`KMB%@THS*o*%)KuKbJ*tyK3$_0d>#pO#*aaRt(h2xD_66H;O+1SBYF0JQ znJfY9gn*ZKq%l_{mv<$R`1|mpG?`8VIo2WfOH5d=r6q&XQO=>1%5PCiv3hOYA_8S4 zcp+F-#hFi`$HDsbtj(E=iYL9%<&#lmL{$&YCq96!@KnMgu5ClOmbJzll#ZFQbi^XE8)S4ujq_QO{B_=6#b$7Lp{FGXx#3ETG zv3nY3VLUJlFJ@s3yz;{E!pp%dW-$xHFbuB^W8j6?UKobqrB~kg|BLg^jW}`deeb>` zH69NLzI^ZAh!YVfPMq(E_^$bF{G;yCpsfA~NI-|{P=XADJ;LfPv@3q{-wQf%7A^&$ zCHFg_71|T@F!PD&$w9k^teK&M)PyQ)uR7Vha23{mT<2xwa;#jiL@(F)V5D$yfU$RLyhRcMOK(n{;SL#}M68-;1v? z&sy01^@;kz4D)74nl?SS;8Jy{tnGrT_f8cpgB$|WtLk`JnYG_#tawk-TV|gixj1!z zdrP6g?su@QjRI|NRa5UZey7){osQNXowiQ;iH;KdiE_-9w}592&QByB+IGlE`@@)9 zsE7IE*Ii+5Ja1v7{6S`lvDE%W4m})r8sY(Ue+FS3f!>}7j@bjiL;rZDF{LATYDV6@ zepS7}YmTjQN2QVYtW4IJ=@yTL3pmw1QERy#IR)Fh?jI1Bf^?vtx0!TNsKu}=D>eAD z>lUx|%N{5>Cf@s`D?UB%q$~9Iu^yGW( z9jociBpUk-?TogWmc8G77@fubnjP#}*R9*%QTyqQ%el8&ML&@~H%i}%@w|l`f!|{3 zKhbaabM-sK?CN%6J(m#{onn72bW}2M)4oTV0e>EIjUv>l)IN)0qt9u@orfAZAco)Q zsjLRHJ-9V%vo76X>-rd;=-blJ_HT;@@IgG0Ey2aqqqqC>H&E*Rv6a}L#ev#yA{U7N2uq{%g%vO>bHGo}F?kOENC$7|?Vaqy zdpy&)1ub*#8 zp#SxqlTEpt^AfW@hP@DFKT?eM-VppL_0t-w1urhzuUR0hBrK3!tx(Nm&^FrA&X;Gm z5wDqK1JjIeEB}2YiGz3E_HrqH+?R1jJXW(3=GdT*mR$p@%pP3IY$l`t@fmv-vw{|uðNc(*h&c=KxB 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 N0PkJ&$WMhp{tjR<3vmDd diff --git a/WebsitePanel/Lib/References/Microsoft/Microsoft.Exchange.Data.Storage.dll b/WebsitePanel/Lib/References/Microsoft/Microsoft.Exchange.Data.Storage.dll index b61a808e1f7b36d94aebc31b0b4332796d257ff9..8b32a497fb1923559adfab65400c6da60e666f68 100644 GIT binary patch literal 5204808 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�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

    p*jNJ?lAY6DD@7mz=&pLEr#lK)}k8Jp5V) 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

    0QLf`+B??j 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

    K{h-)j6whQs_g9q;}-H*5-qK*HQL51 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�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

    uHe7I`(>T?VV}!fMjUMa2OyW@nV0-8blex1 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 z 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≻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ξ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볗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

    dxpw1MeM&2l`)J>7||>UOkXI#UkUGP_3R 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 SEw*Eeil_e1!MJ086#gGwtqynq literal 5204808 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

    pmXNO462VejxLBv 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 z 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 alH;}f%_;8Q>#Lzp$;SqVhwd~IgB;j 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�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

    aM*VS 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 z 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%0D$7W6d*-sbHp&xxmrZ5IDJ*?fL|(~ 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

    Sp#1O=G$?lX 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

    }=uu7Vmf2Wc; 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 fG@`Yv#36Q1wQSj@h*HjmDuj1 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

    5Bkqp5Su#V{IN|Jj+ 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 QpB=)wGqf>VD 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 lTP$GHW|t>~ThY?AkNl0)*DPRfyN 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

    %$b3N^qf$2b)S^^* zNXI&D!B`LKc}TB7-=RLIjzI0vR#-ofv54$wE~Oc( zNv+-P*IO!{&uE=@x>(3OURbX-(PxX8?g3AK?lqU%KpmwnQ#bGMIm%N_sIJs-Y7VuM z`j)y#71`-auIH54&ayps8zy_jcBHDlrcP5=sJvh3bSb7d6ttG}TNy}}JjGOoWN*Y5 zf>a$y)_#g<%;~0$)A^>DhZyS!J%;F^a)niuc5&OmJ z2k5L-eC?lec|#_?rgQG{>pTtm)8+_MRhinDifBdrTQm3H5?L0EROg1_2 zP8YrrgLG^1+ggfw{43oiQ_OS`a-^8~khDgMSqw?u6!V#%F5xS`bBHZMYAm>Jk184z zgLIp$NA;wpLfX!+Q>&;ioU(&sRPtWUksTDFs!~y^lM_Y`qQ*kaB}m8p{cRt{j~F4X7TT{{Sjgmsbg%V$C`OTCtSL0p=4b=y@t_wq1e#}4 zM?ed#rb4 z2L5OkG2IZ;@`gcDN~-bOc&d33F+F0&k9z)Chj*uWRPKMsx8!t4Tj)bbN{$9Ozw=w- z&5$fx#M}-^YQ)rVN;R*dr|slOS<@X5)A7d#LLb@xWxa^AuAT$p+rfCG>KS4Nq+7(h z)E4NBEpIoZ+ktJU;!mU@r| z`2S-3XbaeHfABeER0hebe+-fFUc=@Fq~3%6HT)SUOGliI2E!4PC5i^mQ!|_r^S*=F zKwE=0xW<&x2XNJlm?#$PgJfA7{L)y=^1KNrl zDJJQp_C=GjG9R;qt;RVQL95X?*YcnQ`eu;Ua*ky{g`+H zjhMbw+ygpnmrYV-pFv*+V%kSL9m@BN?cZ>*kog{}hgg>FZ;~-J?+UwtXJ zK%+5V?faV1%6}D58skT&8u=DLHUCdld`nCq2v_{;Y^TZ7bhbnr4n5 z^$cQZCUh3Pp;iSU>Bo$h7cmtP(>vVzsBVy~w^ZZH(?2KV94qsE3aPoQUZLVO*oxTo zHuWHMlhr9m_7p5HB)z(LBKy0xMyeTkUX@`YQ*kYTCwm!Y2VyhPw}L+*LGz%*I{()@ z*Z7@qs=5A8-8NE9DM;>wQ%xmE?u1iKbx77F-m-vJqU22DpW|ejA&ALyx=b^bS`5kA zAk%zI?V!G+&QLin_#FAEVpN2x=PH1J{^5 zCsE0B5>aBwKO@IFTi#jfGL?MErxv0P-C=Bw#8QeOb(1Y+1bT^8cQPh@01}G^nTScN zp?`yFP4%J%QB$Zz)M{!AwU_#tI!Bqm{E;C{Re{FiDM!RKfZljh_J9XmYN~k>nuyd? zGs!7z%HW8r*Be!!Cnn30%kS}Fb1!0YRTVbbPO0`EhZXwD@!gR%S?vk9fu4f+lJIC z!^}lY=8<6*QSU)=PRTH9skuY+udo@W3`V%uCmj1+j`-X{MvmSMrpOZI%aLMYR`OqI znMdMu>yWzDrb>U^4l6k_d}9?qo|em*Vjg%w%BuzGF}5kB$Jj@p);4tz)Y)nrq`iKA zE&Q|nW@EZoa6?jx5oH+J#PSjWClT}Y^waHM&9HInL^j3m{QY3r64W2F;v#Z9)Yr~dO=mJ26MUz zR6MWz(R12Aa!ksTV%FH$A?RDH;(1fdX{$<*-tBCJ@}ti)WKKhctgb-%o=1Eh@i#tX zZtd)J?_HsXDhPq^;2g+J=1wJ+sHL z?b){Pj+k!u@%hHb`jah3{~GW(rqgFYKi-I^Ff;73L0OQ#@tfL9t{yH_%4JmYouMdk zPuV%qm|DmY3tpvuq;8$$Q}3pRQh#u|R~TDKEoEw3#y+QxP?xAYlXY&1^^^Xxq*f}asY;eyCGDb;c2P;4MQP@8{uFb+RT0dsFBCRC zZ%VN(88)Z67S_48$5TeEUwNNUukd6ogv|@cp=S-b`z-aMlp-V5yo)U&Y~&A2Iq~cX zBZgtRTvjqNvK-sPrdS`0!-S`_iETAtiZOX+%DP-ZbwT|!Hk69K;A1_hiA;T&T1h>} z@^(|FsT)~JCUuf|L!53LQ(vJ9F!e*mzKx5eG@9z`+=CiSm87asQ>e0>#|4($fU%o6 z-5b<;r^MEk_PgG;uC%F2T1_Rbrjk}u$@)-9`>ABjsH7!T(vm7^NtLW4m8>I`w5dwk zR3&Yyk~USzT2M*rs-z86(#|SrXD5~{?W{3rXO*TRCIs`KZb>Q3=5n5g;MNOim$*+Es5r^inD|D~K)vrJROy3CPtqnss=TE&mgzNXP2Ev#qaEVB#$E0_CU z9A9w{px2`QpOcAOth_zZcCH+4>!0(w6{TpbI8~OaOx33Dr(#rFss}ZY8c9ud!U)-r zEIF>9Z}V3Vji42%U&tK5HOXqL7-A3N>w(1Oc+pLVD*&g&R2eYfzI4L4dH8-`ro(^DtLgnhc5n)*vbM5=i_|sgK30S(L)}d^qB>KuO;sME4oN3lUW9G@d-=N$5)#2tle5-v1jkP`H9lPR<7CiG${HkIvQWwmZHjO_& zKghg4QKzZ+yC3m?D_%jWUiIZFo?;f-^0s1Id)q1vv1L~B_b^ov#5TV#btz5V1L^yO zEvT;4XlgdKl-foep>mY)^SFsB1L-_!Q!S`I)JSR;^$xX}Iu7Zz?F4L-s>_VsTGFT1 zfaFPL$TXm`sSZ?MNR9`1`-Xa&de#XeY(Oi~riokjl*jPjVZ>rVwNkiRw`xeWrn*!8 zof1otqkyczSP&ppHHv!PDKW>3i2Y!5yi6^m-f_Y+Vcdc1n60Z2Q|%b#|CX^CG1=qs zO#^j|@*~M+m?5}&J%hPrme% zhJVaqI@J=V3?qF|dOy7xF{yoqnNS-e!6S$M*Sw$A?b%6Yh?UG^3Y6GZG7pKxf)1bH zPu^C$P@d`tb-_vBN|g7sGE7S86n&CzpYTdwMl85^QClMxT%lx)RcRsg6(EP|$?1N& z+ZmH_S2eXB{wl7zld1AwJdM@3q>BG(BV@{z!8pI@0mqj}kgT^HrMa=UN+}q=wC%gj*W!rm$kD(4w*lc&glU8UO=7#sp zptY~a-2R4kUoX0@oW???D70?5)US+F*vLDYWf#b?u6(B7Fa7^8^y^VAxh7Ke&A673 zj`=-$8O9PtUhO58f4$+)taxuz|G%&d)2TkCzM;-TBkg?imG_d`KaUu`tHl4%bSwe+ z)4eKIAmk+9WNJ*#;;K%s`P6w8w0>D8gty%^^%3S>%+%G?M(PXdfK#S9N&P{kWchg% zhGbo4nZZSTttv6~Q~cRbYY=YeQ|mJIUF^pUn}{pQd7hDPm-z~bI4bc8j~+4Rohs~G{$Ce zy2(zN=8&5%)BMUDIV<`$E#BMLY9vdk)6&=A+W2%%ndV-qHB%p_`m&UVSjw}^F^|*9 z@l=;%F=OkfJ=D+C1?sv=zV_)<1*#s^oO%vDkUFG* zqxMrjQ|GAl+)g*R?I6>byS4V2CZAK5`2+9BNc}QR(zYBqt;SiP=~4W)HPLot-@4A>RWC( z4H+vs&u?MJ&UiIrY7c4<^$hg_wSZbqt);e5Us2yvC!O?2o$pmS|K_NMQT=i3%`&$^ zy58=hDm!JG7K}Yg^`Yd+h2+gNLm8V$$zH>Rb(%`L$ItCXsuXn()sSjQb)}wk$~4b2Hk*pFrtdPgj@m>0OkJi5R`>OL{E9#4 zJxjep72|Xp8QY)ak4=A4HzfO5S?WHjD>Z?t!IJA!ZK&SVNNOInocfeHNS&pws^OQi zD3wJurMgi=sj1YP)F;%})Hy0&O+UAiR5hv@)rEST8cEHjR#V?lzf$t-PPfjM+$KY{ zSOabwb*N*U?qlj!mm||esC%f!EUyCIr`EZ(Wvm5by%`Ir=crlK+fJEgEn~Z=pQyj6 z+_n7@<)!j<@>^_}v1(Ln>M3e2^%3PPAvl~m8qcRa7d3NTiR%9Wc(Z(dc^cBz>ro6`-XMp6B8_L4Zm<N9DiY&#e;GlIl&3r4~|~sN+=LM!viV)tu@@ zJx9GoZJ>@(IU8$vx@PKP%@i}YBc}Z-6`_7F$@3ZcuiLqr(x0;ov7wkQ8hi#xk5ZPA z?;vG+$uvJ8rn*cOZsO}))(LmV)I&@iM2(@QQ;Vt6Zf;pdzRA?NeazII)W7x4_+FPx z^R=5U)5LpNer4WJQ(xy)r%ZDPl||L0no;ejzEnH5(0CWiGA}|h;!c)%httLTjQmx2 zmieEqy>-34i1ndb1jUyq)A-iNG`>wUjc>_J^KZ-Hd$RD3A!`+HXWuTFCf+W7{o<~Y zZ5m(u@h!r)E=uNfeqCmocnihbSz1WeFa8Av={9*7x{UV^GR+xi1C}>zd@O8IqbcU% zJ<^XUqj>y;RQ%xxF)1a>{C|DD@qfL_`2XwL;@^(3CD|G^s3uPTTQ8XJm&!E0uO-vO z`(NUHGQR&s*TQ+b7W{UVWqdy&dXzBAoUWP9tVWUM;P`#MweGj$nb zo2hT9lhk=CPcy%j+)QOq6{-4EyoaR)V=~g7)~Y>XxzMMRWgcVdIBGs6qwi^sWsI$( z_D~0@Q`AML#H*^j*?u{SQWdBMR68eKN8^gg{?QLHt@E>-ZUOZ^q{pkB)X!9?xu5TC zR2fM2+ALES(!8yyepC-!DQN1`jJ-h3rxrnZY@2R}bS&FnnR;ytKaZl2w5cvz5u4+D zec#R(J9{0a+TdF&$&qQQxV)LB!bX2Bb@*-H+t`$;?WrfIiPTEUUuUBq)7?E~ntd)c z%N(Z8Qm5S9FdjEcxjv>#lxd1lcT!nS7{$^pWu|Gs*i?75j!_AR`Mu{I##(W@_?25q z7vDlfd-%QVapqWoQPOmat)1nki}!wHbGjl8eCj05wJOe)EM;yYjAFkUyd$JeTtewEuennvNbB}+vT9U>&P@qIi36&Q@5s@ zTn=14Fz=geKlwv|w&WVdu4nzaF*UE-Iy&9~yVOkc09Ed8zib^D>&;RYuvS%F8)TV5obKPQ6yjHc@$>$3@$&dQAbuSY zzqTldXSmvab2*RqsSVUFmUko9O#BY53EQ*=j{?V-<8Lb8gTB?$scKFUlMP9qsvdLh z!Z8P9J0MmW(l?W2v_?&BfLNLtiBvi2#ixsy7g>tDAtX8Q?|H`Ln&zSZrsRnE=%Ez* z4PbsV_oTMV|3lro$7wb7|Nm=WQ!`g88j+A{NK&D>hY@m!%9%zrqDaZ9gAhW=RgSrcooKmn@YdOydcnOix$2&our5 z@yQl?PD~0t7@-BOP3K(yOTY!L6r>T}Wkxp|jWoL7=t-lp^FrM43#<8V60|AE1Kus5 zCwy-EoiDq%eAD@MZg6LKDh@^{OJD42nby*@q>n8%t&7nWMgxs*H=1U25xkX@$IM+q z+YSAAv3ttww%rj*^`dF#!y`&@FEZ+7^tRc3X0*j9uS>YL0;9u?+8A{->S=Vd(cMNf zjOH7?Vf2;JcB5S{uo4&*8XajgcT%{@)~20pbb%3nD_OPCE77cWhbLsAbHr_oLq zhHKl^sGd<1qhpQQ8C_Xkj48{IVm9I(Ma^k+z_gn)l#=S<*89o1VxVBG>QojW4 zz1U9a9qZHMDz`@A^l=dF-W|KFd}t%1mPY3qU2k-Y(Ile8tr~j$fK#z$wn6& z4L7>q=sBa;jlMK;7l)MV869JEp;3RM2}W~_-ZA>oXpc)m$_E>r3hLzRs!L3&-3y?J zuJoaaCs8s()x0>goWy@9nX5`Xgsw-*Y!OB7-#vd4zaZ>mhMoMmIA$2^^G&{qlkeZ; zdph|(Prk*&mpa~vUBgH<`A!~>JovR(-CgA78ijAaBDZZ^r8sn%g|0W^7a!xQ zhQ|7mCNt{61Eu;)!`zStivWHO=i%-3R|%Yt6#-9|36$u;t!H|7bSi{iQi2{ z9!FQ_REn=WtV0yJuntk=axM+`XeXnZF%`SIMh%S)jY)Md1$7X)i=iz6$tzJ_guHTU zrJ0^_Xldrkmt zrkDy`VUIAXVp(SS^sazLpURTVO-3V(rW(x#(eJP%^9G1<@muUYm0m*lT@+~Q;SM)y zXLO~}Fr!IE<U7w81E+S4g?QsN;j#d3;<}4yGweh=T^{H_BYFualusT>&ylEQY^SG8 z+L@+xGU8LF&_1T|DWirNdd$BKlE?=tm)4zesAByM*X*i~584pZ==CSN zk*3{e^oS8X0cA%|KoR}_MD+g?(RWZZ&*JhOFO944BKk9k=nE#IFPMnFU?Td0iMTQ^ zqSt|l9;+hy1B)6N(H~eE{eeYqTd6)VqK~jb=@B5JM}Ua_%A%hvMx`r5DCd$|*#Mw&`*Re%ha}{yTRm2r-5m!}3Tn`nUWvOuGRvOosMf@IA z55kpOX(w3?bvEK`yzJ;BEIY2Rimrm4>W^#h(m0c^7@WlxmBCI#-+0BK--u$+OJ2k= zx`-=)BCZOGxKb#(!^$_+XpYfhqj!zCj;OdCt&6_4P<~BF3+p{t1!x}1OwV+cKIf`H z`9}4O4mLW$sG||R+La1D(?y(}7ELjYv(qXIXQxG%TPmCjR}8Mth`2tZI_3I|G_KEx zIHxb-N{xssH6qULi#WS4;!2W;D>WjnB#F3|CE~h^h^r$auJVYu(k0@0iimSnqNKkI@8|`a!q|q5hos4=J z4KeDrJI(;}-#Fu;i5>*$UOr}aoNHD|Im0YF&M=EO!z|(qvxqayG1)!hyt1_6X2*GD zX`ELUabB6Z)pDFyW?5=E&MS*JudMQMURg0XuPoxcvWWA_BF-zT^qg0g#(8BC=aogA zO%`!BS;X075oeP{oJ|&S4q3!GWD)0(MVvzxaSmC;Ib@ZEbI8&-hb-b8vWRoYBF-U; zICCuG%&~|w$4ZYg$0E)gi#T&E;>@v#s|AY7c@=4#R}pbuMU-R2nHXvG)lgjeYKRtF z%SpU8-ZhQ>C9>lzn22*}BKntz=zkze{3z%tA&uTABF?^vIF}~koAT*M@u>7_~Gy*XVMin~X*oO*Wcm^t#bnqb)|Mej#6a z9O-)Laim(?-9n3vPBXg5=sKfOMw3BG)gcgI8?-i zo(-aFER>!)(&+mk+8@`Z+Ms`vH2OS=Znn5%jp)~+81#dZ-TfB&xDov$6iS~7(Q_8M z+~^&nbw*o^D&G)Fy1P+Bqvl4Z8g(@40a8h))eg^AU(<#eaVM+nhOZ4oA9`t%%t=R+jfNVHHJWDhtkG*mTwPLn+ST1S(HNsCMstl`H(F=3&1jFCLmmeiondsb(IBIHjTV4(e>a-O(+6}#Jh?!`lM6&V zxj@8|3q(A*K*UoIL_E1b#FGm|HOfV`9KEEd)pGQb646Uab`4^?V)rkj(Ursd;{?+> z7Teu^j&40Z(pGdOX)f+BL{cG|XtS(GsJNjJ6pS3=45jGwNwH+URkk zRYt!WH5eXJIo{}Eqd`Uw8Z9>3Xq10TNaYx#^NofWO*2|)^s~{vBSI=IjV?ACYV?@V z3M1}qR*iF~vg(xklcjMthlsnEMclJ2;<-JFvDwnwW;Dyz0v8#*XY_^9??%<5uzI+! z(cwm?8l7)+r4jcrtCi6EPNm|hDkAP+6m_wu_DlGoCiil^fh`4WC#C_W$?%NjaG&0n99i#n?c%qH&2hYzD z@k}QX&vX*;OeYb~bQ1AQC((133eQ%O_T8Z&w9s8+56c1_dTih*1+^ecko(CYRd|M!%`yq|zeux^H z9Zw68#iB8?}Ch`7U7#C^S@;fSFp zo~MjR7YAmYgiBA%=u;>il4hDJPDK^jk15bbS z@ni)NPgW4|WCan=LlN^AAKkX+?HC zX+^}7Rzy5$MZ}XMujtqF!+iEmT>|ZC)Yz!S1tIi!(*_z%H2T1( zipAL1=nbQ9jB0faDIae1kkJw&*DcufHfnQW&@M5$#b}z*a-+)KLySg7qb$9Lj0%ie z8|`eVTxD_R+4X*7p<^uc-Wx;Du-LRujea+}(rROj(Rp^|WkwI$bH32%Bcts`wMU0m zyyl{Cz0FNK&*)mCaYplv)*4kF6Vkiul91j@RxcZjYFcP5%Xf}l(Ppcwwsz$|T8zCe z4Jm(QS{u{mn>O*{VAt0|Z!_BOvJm>Q)mm@U1{qywWjVvN2}W~`+F9uv+ZFw0p*4Dh z+zv7-F}lL&HlxRk8d-aJ#k4|eFQ1vV&1kotA-DBbf+vrE5>bHlKk2X5rsN86p(ISvM)88^mPE9;zYS;nQ-Y7Yj zvj@Hs6gN4svZDPO$qtX?oY`cLNpfmaV>`boIlC>{WAe3?FFiKoo1E;n4gQlVOLE3< za&}vCVp}7NThUpB$@y?yjt_bKw`aWJmjo0*K-h&{?2^6k$*BSr?S)Uy4M@)Y z=wLM&&Lt^!$?3t#sldsJsV{d6dl~y!+~W$ui5(f!?lOAZXp`;ATL?|>+GQ5n`{0oB zJEpBMy76qxk@*_p$y%cNk7L%^Ysp#9$qxPGbkuN`K(XUlCDnZlp79~#nH-`oEw_I@ zarOt;?dnr0!tBf*o{lv-(`Y;F)JN=dN1(%vIv8DJG}dUQ(R)T4jq>gc>D4nj!l;u` zU!&yQ51wGAx=+sJSgJOST zhlnRj*YS15lchy-%v}HD=;E@B8cdTAfm5zpF4bBegmDdIY(i0hmpu5*gG&MD$L zr-!kh--@?t}TkVwiw$P zacxl=*PcXNdlGRjSHzV^5mz2XTzM36LEG{X@j{4^sBKo8M)pJjQo7zspG3q5MUiGkqw>B_fVXNZR+_9#oQf8|9nj z_nNPdsmM+YEOv=sZsLQR_~j}e-w>t82in!BfzdHW^vP0siSKVR4oiHV!srVpz~TNXMi_k+x!`$Q7S= zdRR#dXKxp|a2|J&3#V`wIqtWT9rs{~xbsRB&Xy~3;ViQvmz-r5PIfDD+!du5C1{f( zdhLqn@hhVLu897-BKq%&=)WtX|E`GsyCVAUis-c~q9?D2zQm$%vS4ybA6m9uWpZX= zI6JV&{nKf0g{}*(C^>)aHQ%f7w;FZo+IPo`iX6R~SOT?|k71X6&y%~F+{;kXVpq{A zbN#GNL-`6_|G$)F6Y@yTctbzbQ6<3q3;fYp7W8Xp2aW#O(&(S9x}r}OsnFf`mz3S( zZ0+>tk{$iINV>Lsgd*P&;nxnQ;5RZqMQBOpS){@~w!rZ>(QknVa=v>R+N;na_Zw(m zA9t4tx$YoOht|#UF>pRKwB}xG4*I<+V?2*vw>%D7NoEl=_1@pcl;lz9cAJ>%`uVsG zK(ve8Nk)A^1AJ(|SSxUC?#^}Rp33r_4H|-yX1`NrKy$PB#(CaomC^c`3f!-ts<6v< zIrrqc8lG6@URWKCTx0yY)KX~4@1~Vx-h`dX$Iu>6WQS&#;M4n4ZU90{Gc_Izw5QQ0 zNQI&K?i<9|Trv-L*}fshKhL=(b8{S-D~~XTSLDL4U*R-tyu}sD zc|DS@axAW>maFnWuDcIZ?2?k!gQghC+#z=(NaOd1h~FQg@Vi?0-74%@qK01?!$?(B zQAzn-p}5I;P|2^ug?d5H)jZhIQ%o_!bridUtfc&|P$<{@MO^bI>3SdYSGg;^NvRb% z?y{0yn1Pht3*L@iuDrjeO(6b0Vu5Qq zNp=P9sGcd`7Z>0cD)k$*>en8hL%T$K38CuOzH6W3*6qRCT?Oq$*hTJ=-j!pm%Y(Tw zT?gvlmG|TF-%{?$0lb&DL*uVD7P?TDLN^22Z%9SIko-(p4(M0BfA=1egOn>z*2pq) z`x%9l3tU@hI{P!6^PX=hs|_9Z6rVxPpy^I0XDQPYU-ymP`67Dki|G9>qDQ=le*YrQ zn~B2jlPI?mfb-i_#SyCItj-D_~rP$HeMMMu5lG0m>REq5M z`63s7?WV|uU%SC6Y51m7S;FsO6gm38NDIGRQ{=*L;b62B=TYS7K_a{GTR257{8A1^ zpshk^_;s2hNADQLpm&TY{Mt>Cqo0g4`nrhd>ms7Bi-=w&qVQWiMUK8H(&(ipqL-eC zUV0*W>51s2C!&|0h+cXkdg+Pir6;17o`_z0B-QgrzLjw0f?BcT%7y6vo0SWdYJ+c0 z`~}lC9sd2BIQ=w74{P{Tc-mm}yU~r4vAY_f`?<=eNB&9K&+#2kEqgS=Z|psMDmhcI zw&SUqQ7t2;$Iv2oS>4DT0a8hi0hMH)f*pI{lFU*N+kJ8tT;vWMnd3_kxkF-7+=+-= z?C6`PJJVrmsC#nqDXR4PlNP?(vQPS^_o71Sy(sEw`O+s) z8hrvq^a&KvCs0J6KoNZcMf3?2(G!qV%Y_x_S}s|Yrgxz1lJkLidIL4p%Oj|lWb~i! zu15Ki@09tz*0>(8RJa~5;(EM@>+vG4!i%^HFXAe^h^z1-uG@>a90^PE2p!W|BH2i=-BiaResY#%V zS_ZoR1W|UW*mr*DOLY{=EIQe!y-^pV9!A#~mB*BwGCfj0^(lXUtc!^)R@wx_5N*LT zBN}WmxY{i3X48flO@1aP4sC?9nPtb_Y@+)tWqQ3x+Xvq%qK7P$J}1)XJt5+W4kErQ zNZD633vt)`D|*`K1*4aYUNu^2^!{x*aop9Wtugw-=o_OSV#+Q7zq>d360mkftXM8Xznzlr$KC!k$V&LRVTLMji6?8skMA0*InbO7w8sG{Xpz3A~yuY zXE1W3L3jAj#`lN$k}xulT#K2(E_I9wbunFH z+T})h^HOo>>HR9jREGAfxcy_he8&}c=8^9{-nB|h4{QzEVYdhBYxL~FL0fLxaHO{% zN|o>K0TqF2x<^3AczPOilBeaMb|8#cKzyR|9n%{>oZkjaZ>Fc*v1zy5Q!CI0PlG}3 z7TUcC+Rc-@BkdY_Iu_Kz)7pE}uC1pF?@POdBXZoK_MH;Bs~*G5#Ir0x8E9)&-lKa! zYzO&nI!JZ@B&dhCTLikOChcA~df(_Xqi>C($3u+jMsYxJ$r?N8>q-JW9|JO$d*(>BoT-Y%=I^wsvxD1NJ*zbWNTMja$IncXJy zXX9HOsg!0;Iyxt&y<#ofZUNflY2NON*@5=yRXNt`A%;RPw$Oe?2UzHlMkgDcYt+MN zKup;sIO<`%7kvpj8QldtX_G*Fel>pS?CWI?v>Ptu-RJM!ah@S^pW#FY#)#a+Uo}E0 z&2VmnaZ5A&#S2oAyMB&lEA;zT)#r0GJac8riR#qC={jC(i7$0hNoE9MFm6)gk^Ax& z7q`>rwmSC~PEbznLTTpbI7XrsxM}q(xw&&$g6JuoWL)Ix#+2_a!`k~QDq#u0Ou=W!H6nh|$xipV7@mV~n_CNpT-G z?P;S|jovl-DkiKnn3nr|$hXnCeQ^abL5Tz@os5mY%I>tD#_ftZ;o#- zC7JRU)N)EPcY-wjdn~3x_Zn!NAOE?9xo)mcuK@JCr+%PKo+g8S^Yj9!>H_BbJ*bAK z9>tYhhl4p9UVt{ldHw=7auG^(JzMPEpqsqiA`pAl0@r#8W`&>?xDwD(Pu)PTdg@0) zYcFu)KrC~Cn*mzsL%#;qL75BOCbO&YQm)(k1*Z4l((vY-1?uXx=Rk`4qR~#vLRtEO zmcy>l-M?JFic{$38ogn(Ii>=)+so<`3tSV>+!4%o*H=P%4L~Y=3!`>1MQ%ArDE3ifYy8<@{M6IEF?lPU)o=qPilqJaS;rO;^jhALN zBUH4_sQPO`t8G-@sK}_T5x=dJ%0;I2FuEe9>=KM068Sq_nweyD4eWULv+X##W;@VZ zLo^h2qLD_UjqWmf*l4!V3r4RPy&F@Z`v}B#TIhZSjX~`e`nEg%AZj_UTs-7*lq3_-7X>I(YA({-Q$@Zl|RBS0IyHW{?d(`*oDR}0)i zQ1l{GSq);`e0SB%%I*ieXBxWVN1boQ4c*h<=}pqmt$I`KrJ?%_)OZnNgl8*qKSN_l zQNM4gMHIRc(0#Bga2$7DdM_!&C~(~nTB{Sa{-7z|ZWie5#Z2XWP&ZIRci(_YzWqh+ zpjAp4_Y0(PQ$Nr*u*<%ySD`)r0j)H%1j98EzidPwBL*pQ+d=#yRb2g+L7jJScK#B^ zZ5&fc=5&yHvx|%dgBT;jd^63r4~*vWZcrsHHFSocIfBtDUZ_3cB5+V2W=mtBVvkNM-ZP?tcrf6yBfLf z(BhhmsU-9Ku9f5KT?~z-!WaGOT({kq^m7pV@nUzx2f41=OT2@vKtEheyL&)&p+#=C z(N<8g*RJ_6*Y)(oRIUV-WL}4+ekhDB3T&)b;66m?&9EzQ&wrP4pP=pLyN%Fp@u~a@ zy35n9YtV)~H3X^5O&e79*H-BILHlMQ+x>75%bf3S2d(ln4Wxc@A?OpI%IlynJ*@$4 zgRd%nw-uDZ`X^SFi=((EpKTbqw~%t=-bPfarw6T36$MB%digniDOY}1@1t+iJt-CU4~Fy$1J0zAl<>YLA-AznfpIcODxGuHySci-+3jOXP_yS zWuQ$y<&_}a^F{bdB^A0)q45i&(0yyP-Du}eLug&2W=1Vz!kE=)J&1Lh@3xv&eQnSh zf|y&rYi`;Zrgb*$a?|>oHqx~5u?Elg!b-kvpa#ox;_u`WKMQr$9dyVt*6H9_%f26T zgqCEQu2*^`nWI6x=Y{TM5Wgi0{1eZ}SW=5Zh&!uMDlYCSZgJj`;2B8EjC(ZwBG0! zqv~IV8Y%#(hS)nkIgmBf44UptqJ=s@SrE!!X2G}<)X>*y=$i`N6liz9%xeqZtN6{T z_**D)p@)myRD4H$GlX`3YzTeva>UhhnS5_`-+*6}_UZ8+E%$USTDy9I8DFWSky~Q) zK};o?KR|l+Ls?2PPi)L}_g}!au^hx_u-L5uX=e6UP^Xi^TZnN>Gu&I>?-kx@p87}9 z^Y*>(2_OGj?JsgKgE&r%+y;=!x6?Q1PyK4{fuKix++#o*V}?={_#X2#s($KV% zLGPgiC7FRBJ^>|}yJJdLc=6=`Z5{0JZ3X%c6uGsaA3>VaVrb-&o^aacQ0CV`Y^R0p zccUY|hcD9#Y8M*uce;i{Q_scHC+)uCcJR&*;o7zsB`spFA4BMoMoBB_1WixCU{Ei# zrjkt6Es9Z+IUuHDcRWZfHnd`lspGbrJbBr7m94nlYoSGm*h)lPZ5HuN2~pH45Ld&c zag|%db#W2b#YJ4(7IAG`#FcLm&vp=T)m${ih^Ht>&xzcKR*@g|;ht|(9wnK>K*}S8 zVm%M*uzdR!JFduzT0RwMU!%q`VgBWhTsPF0Wg19jS!T2zr1n?!&k))Oq?z|)j;!SB zHD&o)Lu&xaZejeEoQjl7Gj|}Av}5QDA36b{qG>T@+tq<5*5lsp8H9?K8QqGvv$VHN z`@m?U(Yts%%WjKl^aP}qog2%{dxU*$4^)b&9J6oKcC_OiEX_3Rkn;DkG*fB2?rLdf zVJm4n#+c({RD+#px0tf+m>%EkrI{1=55)BJw%;2u__iv|4931Y-YtBoL(_d*@SVo@ zk$ojZu5T{ZJ8*~KH3_@UZ;)1jcvm%R)$@@Y&c5a3xoRufa&CE{QcUHh-EH)U5mzo4 zBXaYgsUzY&`y(Yriy#ul5~i1rBTxFCVlZJgsQcN_d?{RTZ|PTz0djH5+yw~-{;r8 z$=W!+O31AwroVr$&PI&V4Bx9F`oxIn6Cbf zYYnsFaj7sXZuF#;IT^nsZ>yxAOzJABzoZVfAr;jh-(~6}Xs3R%(@uHu_df67j`jEN zaZ57q!P8J>o`krhLiY@)$8~H&9jfNVU*O66{32*-8@GYj?$yTAk8_QR-sMd|rJ0vv zyVA@%F%`NmK$?%;zgnIj11DpPd>6i*^WDDiuhW-Y6WC?&PA+uMf#`FW?|ytO<<};( zUZIi48wl0&_7zB9)*(HNAQy(2-rCjk+*zyGhMI%U_S71rx@vE9AxKwwC8(>n<1F!r zF^oF|+QrbadzI66kye^1HM+=XkkNfc^Nm)=l+;E-@YH^_vfKHcP|xqo%0X=;qdtZ< zLTGkb%Fyo~0j)H%bXMh<*q2Z%atu8NggE$8q87Ou;$9_t?6|N-p6lyFKLlOp=@+9K z`9Ui*>IG7*m4PPt7)h^^w4v#-U3Qt-J3fXOn4>`NC}N)|VxLHAmw7Rc+b;8#(dRKm z?wo$14_mNnC`&Tl^9VZ>R4~WL zE6wm;D&?BcbVc<*EFb35K>Wo~e8t2oXNB$?Xg?v9d{=D`Jk!2Z^*|c?9Ab1VNLTsE zvz6V`{aMm8pjCR0)EQL8Q*RLSh}=MVhut)CAPghrR`p*X{=(rT3N5Pe#8P<<$vw^>BZE&6Z@Mx~hYc z%pOJu8#Om-ZFFW#h3>Y=k^e?Sy+Au-HOqW4sGX-5K=*t49xZ~a$g-OPE#Ey+5B=H) z;h82CyM62DdC#-RJ@inHzoOF2Y-qZ_OF-ZIx!l)5x^GGAJou_GR$hxxy$$+bT*_j(AxL?gX>^g%O-6ScJ!|wS=n$U@ z@7AH7zJ+##r|lp;zq>aGWj+j~GM{c*ACT_HAk*#zDehd;J_0FjYX6X4p;0@dn~d%P z9plULgwdNuTVuQI9&^yac;kG;o?(p9WTUx8uN!TODLa*%L-JftpUN&q^<&Dm<5>O* zZ`XNlpt4wl2Q2z9^_WK?uI_o#J0`u}zxQ<|ncj$@_B<4H4f2TGogmfUQy|s&B9Q9& zZ43Rvv~3{fn_cEN8l#W!WnP9pSG2NO&^E_Zap|Al=;D4nr!ZU**OZt_U&!yKR=2751Pui7e*BH zqmA4v&^RK?zB61ey9%jjy^MtQH|7Dm$ZbQCcC{IrTHV7% zdG2m+_XKFicEHtP_JpOGGY`#+>0F}=V=8vNKrDUo<}7x@plQzX?wAVQoS5?63J}|F zzFP;97w{IN-4Dxi%YCVuf%LWt>!I+1gQn}{>J8^2BX<@w)p*{NFlOii?Jb{5Z;)zt z0O%vHjRh%{IiR8xYx2#QvTK}s&Z@6v9o%sQdQnf)jh;7p*J!=bk4EVuL)_X%&5T;b zl$|eULwEJLoo>Wmx{}6IK}0-tLv#jG5p_0V%G5Bn0%;6V?F@MuM=q(WYY@7Jw;K*( zot9+AgIH@NnVCk<#gvR`N;4Z`tu(XqQ6a|uMu!`nVsx3&tws+RJ#F;5(N{))7}aPI zay!tdwNW>tfkq>Z9y59~rhNAfNG;;tb5LLY8LVimSL5i$FQwverUq_MO zI`r*f#GSlnBFFK@Tz?%&Z^pNu`~diUsjK`7@5UY98euIEdE#3`9s%|3{c)I4yO;`H z>o%dEY!BMv^X(2&>8~>43<2LM`HrWR-MWNxJoKFw(RW%z-)Rwjr$zLg7SY3*d1PO2 za+P&Tv3~L$>oh4#Qi3nGRdW3h3Xh%>RpSNj`$Fsv!L<~)rO=-Bp{qe0WfZt|ru_oq z6~U8jz4n9@xag!1qcN!RCZ@u@jN0>aG&GF>+JRWlh3-nwPOxj}w!`a!F&et|NSUL8 z?6$V${K%K3G*i7xpbjf4#pPoj93NmU+DbYHDXVq!}BLupQ<{5w~|r)(}LF0=pv&b zMis3S=bfJCnr-I&y&g2R8|f|(>p8prIIA%bcBPrM2qo43eh>Mr~h8#agM+c`;#U0y%Kc4;u?(sP4U_! z(8HdtX`knI`GKj7GWwu2r1BF;`8GH^JOM3?I)Lu;ajyc&ZX8G@m=oJ+e!S1iT$vx( z5%XM#(Js^WoKWW5&qe=oDeI3{)aXZ+B}sWELiwb?yVU42qisg@JB9Sx#H4)3zY^x< zN$?{>Xpzt3El_h%N#?E2%A;Loi&2g9f_7L;rI{N*?5|2Q!(u9S%?_*VKF9umLGB%B zbtn6hE~xCwoXk^4?wa#M`G&=mgtp5(4^3BjN*DB3TUZD0y;#YO_UR>a$h%<$pxsXl zt#$!s0zK^xx)S^HBgfEEKhri2U%k@)Jzso}3<`Ua&PLqXK9xheh7ufY)Yj;HqrOH1 zjP5jg$Y_Dln?~Oo{b^LQTgbPbQB$LqMj4Q1!R|47*66M7A+*~?A-&6u1{mF9beB<5 zf~QSOYGbKs9~k{)RQ2MJ+x|vJ8l7%bYILblQj^!2Ho|D8(R`!TM&BFla!Dw`fksCg zoodw6Xn@f_*Xga7hLoooC3W?fX$y>!T3cb-YNIcVelT*Eg*>Vl)i(N<(P>6Wt(|XL zKcnGB4;ejew9x2tqu-6H^ay1sFgnEOpX(}Ve>e6Fsf;q3WHircvC(RyFN`)D{b7{f zE2O-qQ8S}sjZQW?+o+e(wMH4EQAYoCmAP(k9r%dg>jXQ*>uax3u3Lg}J3aDp-NbkD z+@BaRX4`Rm#XU*c+V5XGcao1$CH9GikE&_)E2rJG-!S%ZNob4S@o3XkE7zK9b_{w} zd!O>G(7Eud-{W_tlBAs2CD)OZuRZc8@TE$wZDu;{S9r017D<7#QYV-C9< zL5h*2_Y$D+_Q`Wg(Pv}dO+HqPQz=l#o8cePn%b}RD#doy zP|poUQQPGTy;l|Y10Um`?e@Xy*K=5-%5}BB&WTHP2z)ihRgpw7-RL7d46pt*Hx5TMR_EtB-b|l zvPy9t4f|pan=sUs{6C9&GX;Cxvnp$6;2_Zaq+B*s9* zpyzycjGIkM?6!TH6Q}n9Qr^qw!LQywUt-)lzsQM8aJ$8233wtRPU^83|7_RtGtKd2 z$6)EN#gm)s4qTh#dhA2mseU>xb44Xc@;wN4b!xHxj)0xuVejJE?qI5bktxFBgr8+~GKv68ow54Rz2ORJsSRvJ}+G(N~#;Kt4p^QQAz@x7sb%!=_1nF+jYd)2kptn3d4|>m2ldAG>%5|?pQ>nHi zH?@22_2~8_^X)zxr#bsp%zpCiJy{#$8m8U*p1M35LXSEe-$>qWdq2G;v5)b(K;;Lf z-63@ux6102Tl5rD-ULlC{xD*1G2TB>1x?bf+d;Hz4C=ox<1)1C5kY%k2QAD&<+?72 z@yQOMN!;2uz@NsavOD@t^B^@eZrOf+&F!CKBq<-#Kcq4gDQ|?IYOXsTTHXEs zn%>{p9q8?@9F*tU><}X6+PfZkgRP=Xizo9@^C zk-N>`qhIhYI}j&ys7{yS{4jWLqA&Sr54N1J10dHOg}1KiCHVcrH~XeMH@!LIz6yHO z)1t%D?nzH?fmEl778R%C+F)IAO(gqm+6kfUF^hq>B<_MjE3)GoTW{Ul5Tobc#z@}m zOJO(I+a+)IFh7YMtH`b4k<9mZkjfn9MX^u+`Y_^2Vz7m&P8rI%SJj`&%(Yq7b5i<5 zo3$}KTeqRs^h_sqyn`Bze1>PH7Up1b9qX@-rws%1+%s)LZr9^3;?7`olm0I%fwY1n zD*HKK>^xhfQ)y7A_r<5-_@_s93{~7_M?|h3JWsPz;fWak`;-S^ETvS2fcVXxokvoF zitLhBJPL7D<2Rw!RJ#?`hDarmo=kiZPISdIVo2&N}rf^mtuCTW_06O zK^tQ<)o7m4M$i=(Fh+;l(r(Zrq}3DBuI2*LAvp7*XbH#_%uKss=+$ewQ=g0}8jG!% z7wwz_yJ;Ym;J9~j)Nghn>6@dJjnVcN%D7mvE<#znsK-sdwW+82_m+ zaa}?xzx-G^9;NM+$@44t7>!gAde_}pi}CNvib6-md$e=iaKt^&e|01&-_#@J)?dym zO5(DWRPICVON@N=4MFYL9W*|JCwc9!ad)(9cLCbQ-`XXmPx7cpOX?u8OSA`32h;o; zapeP{CKJ2lDu05V?#CGP-XeETpu~=S&W@qG!cO<7BD?8baeuF1tvv(!d%JxswE)tDs5P;ClYEQ? zmdDFR?;3q&6x|zYC@E=D`kfJ~eD^lHgFve1B;PZk{owOWw2siKT*d3?ZgD$yPrHM> zmehC>dX3qYgOo=_b^o8%bLo9p>-D)MPt+WgV2IbA1L>ZB4ANC5+88Ur-BzkcK=XXu zxfc58MQOLnYe@^+iqPJD*;^#{s3yvCr62k31G=Cu>t)5o=ubT*B~4-^sU$J>za;Gj z?hqr1o5V=2cjI`h;9tqIR8)fGX)L=e?cVIiQt=sl&(jmobQflW)_9Gh=Cz)N;<^07 z6aA{x=Wty7^$vDNV5g{NP7*qyN7`L?oo^eU8$CUVd7m;*6QK?B#P70Eo{|`kAoO;x ztpwfmAH;ZmK%P6n_qNHk9oH-EZo7f?lJu^u2o+`+@HVko~GceK05`m2iUn8$(} zcx_3&Bz6q_!iQFrTM}AP9!Y3LDYMW1#iyK0c zQq%sd1E$i}hbBFB61O6|ipqE5<(P-_{XNsW{BP6aJF2ghB`JYoRFpEWeCQ4_YF!bY z?t?)3`aBk-k!oAe_wahrR|3zKz$^(g^#aLv=m67x!#zLN&r$65S>^a!_n*IxZ$n&t z56;0Cv%X=cLThmo>zP;C(o;B*AiFF-t<`!D&OaOz#@R_K6_w>8+%5HHydTPU__&}Y zag*HmM7`=uz`MWFQ&I;#AIx*R4`N9N_D#FV{(EaYNHsLe=oJum5v!G)?_(rmq|IjM zuEvPMhgKAKXM`$`dPZy|uyI3-RY#gg!3}6Upe;fP>ibnsbCGY7|XcH%t;a>nQ2Sx z!p`wr_ryb3uN}cF|GUu57OFBchO|RLDkNP8yCa9;EB|JeG>O6Qt>pVx zsc@}4=8XvbOY$bZd1SZ?<3Q?t{!=Y^$0zCi z^?m-z)QVeO_P0@ zj~V~ipEY~d;G4TJ3-Rn<%a@d@qEMDzF%mnL>IR?6|6Ho6-j4Gd4;~v@oixT(Ntxb` zT1BN#?3kYV`--%;$A^1a{0#i-=JR@a5{F_WbHj`~W-&`OYA#kTUZ5S{Q7?JAb7I=P z;%O2>758yyr}#CDByM-i`A+e(oJkLoguXW~4<}qPk555*X7=73=I>`DvT_ypKiS3vYVua>US`PS%|_EXi}lXft~D zkMi`t(YSv8z*j86Ubp7N^O&1)y7mQrt>ZA{)+vX%J$Gd#zlx9b8T2$QHZlgU;2MR1Gz>qegG= zs(%}LJ-#8-+LPxaNiPZgYbv@&iCuDk6YZ}tb}Uszxg{}5p2LaOf3S90F9V_+(5@F^ zt_9~>;l%M}_@05LU&`6y?Go>I&Y8;({_mcxMRi$MU%i6ec2$}3!Hd%|9R(`Gjt-o~ z4Pq)dEf6EdYrP%M1yg8J`hQ=$)6>ln#os^O2OQ0m4_FpP&HPf@Qi~p!Ed7K%NEMZS z6V9^T$$yP?S)PuGGf&cbn)Y!yzB;^JKhw&esqBU{=C$1nO>{emXY{}u12hHsYPDe7 zb+k)X3nspSc|G65-3J=IC+&D=rg}<3E7C%Y|LNLhBjxXXdfQ&cc-#}8)xEA@S!%qJ zj_E)U{qM0}3;G#$O1TM6V5zv)xJr8rLU9`XtLd0-2C<$o&H-(Dn0d?uo#^fUSP{Mm z_Ixe84Vr`Wm5^x3H|Jo4s{i}`&Cs9jdZ>OY3hxwXddePx9nU|-iY!Ru&h-}eHxPIH z=eqpYLwW}pwFW7b8c6SD{I(!|2MjwNwsvD%W6N=;)7v$)9Ni;osH-;=n(IzCy2NNO zXrBV6cefF1_W)>0nfWFuXMcI|p5KD65u9wYGL&x#NZQ+`aTV$`v|sqcf!cfe0iox6 z`f>@bqblnq8DqWyAGul`c}2W7?r!+|5*&&z0Q~yMD%rtb0(1m4#bxN<$1V49hrW|` zO65+_2(N`*V7V?KuI0~b%G~H5ar8l?n{L7`1+4HYH|?SecVWl6nsNkVB;)6UK0qt> z{Tg@BZm!IlJOY~Njd#Q7wKX)=5Z?w5`&2qW6MX3}5?uXJ@G&d{t@d%p zfp{hiPQXJANlV5rY`ZOv3$5gz?;Gv#3!fF-ql)fFy^k@H@i7hq@q|QuQJvwn|7Rs= z)bhWnjsH!{srw1mvV3kwf;0kc3wp8-uj5kCkv{Z#ko+A-fll)ysCz-&p@p;3K-^!8 z)3HJFRD2brxF3QPW2aAp9iKe)G<@R!`F`Ad{C`s$72TsNknb%%l?>=M(0|e<*ZUa% zX*;+bDR1;KW`Oh#eIC@I4eMov(T7It9XI`lWjUnPe^UpQ*P@5>F=~U3@U$E>A0Dc? z?oFf4Gjz5HzCJgGC#n``I%W;wZDVT$e|!zE1B?_@Yudm6cfFp*8_DeId*6n)_$E;I zGnn!prtw{&c9o1l%F&nTeaWZx;*N~*#*G*W4rNVp-lC`125kxN)!RUN*FI=k61NxT z$1{F*pDTNJ`?&Mhh1HB?Re`?&@PH4c_tR8QNsKK>S)PFW0+Nq#;!mB>7nm_zjXmx9 z+WGwwmj2GDigTBe7+`K3taE~9khz(<`TQB;Ps-n3+LSKxrXWW{tDmm-Vcvo)?a(=JJ@aXUa^UG!Y)-@ z-$|^4ec&;}Uqi+(1%Y0k5K78lIfmy->`#Lcs1eJo(D2L0IN@+&IFIq4N6o{(&2!5J zv!oB_SBdEb&^un^*!vStZLSUN{)*kI#BGi3sypVEb6q%v3{L>OeAE&b{eYb`i&*Bu zeX95q=`l?DG0!cUz!*nE(;J(m=jrqK6_q9NDgW*@#Qp4HUU{1>!E>2*r{BxC39T#& zYcY0Ox2tI7BJq#qmo?A#hK~(S1m|hu|I^Av-b{==TgJX7GC07Y6u8c+HCn%L&^H}Kw z1qVDjd_iR?d3nxZWj9tXflWS?o!sawWltzo-J)3O2b=w%RCg<~lmnsc?EZ|EVX;jO zm&Ob)%R_}W`L0E*+zF)+N=?^2R+d3&0cCeL!YgB(`@p#qq3q$t$I6~iuwm2Hc889y6xk?Rbqk6^?jcej|&QdU;=nitnWGSygY35GKQZNj3|8l)! zg?Hz3D2KW0vJ@;$y2ITQS<3HFj&$p?lw5pJwQxfYPYa9b`JE;+tJcbJWIBP|k37;G2jxyo0AgIm`8F zDupfT94H;!^ehF=K<;c;?O@rkC0q&RTzAJIQraWso1mQM@|#KFQ*aBEF0M|Nawn9o zuCrIhxE_eb=c2nC?Uk`!c@Q=iyL++}I9s|NZf2a$jfjOw7T3o$DpX!n-iFfGofa!I zpnL_Tznhz7lY`gh5VyuFV;p0l<8hVQz6QGQD&5NYG3#BcTyWKfi%K1?4 za|5!JUQi~vRbCl~-*JG~4wPx`(=6pyC=a_DhpNo9xf{w%S0_uE4CPVR*(+n*HrPB0 z<#Bh1R|eItwZ^#@p*-cjY0h+{yb0x5cO2%1g0dFM3vO$clG@3+S6s7W5}Srl-gRSJ zQW=-7gOm@2vf53Im1Cha_sWB@(i6(jP(E<8V`Vgy6TGtAE9LGfD5pUA(A7AeDVMv| zP)eYzaWi9uHdH=>N33jqfYK4l$8O3=QV#scx%0j9tCaNNP%eVhsS+y} zLb=S_H97;Gn zR$7?yLag+La-)y6ELLuWqTJtzmAlMlW2{VuQs!g*5G#+Gvg;|TjrpeR6)UTt4EM1b z#mc9q6vxU>P;T=!tzsqTlW-NM#mZi$ToNmVP$u|T*Tl*xQ116iS*)B3Mb|YZR(hCn zf2>?@%FI|9XUe=-c^ZnYeOau$YRWsYveuMeW2M@s&Q00Lx0X{?KlPxfJiElo@uut( zD;GnV;bWZ?D+8d+^2&r*nF{4;uS|-S`IgSZvGOJq-Q_1@Wi1r7-g&X|y~SDoR{mv5_0t^w%G2#k**#V+hce%nu)bHy(sx365z43Tx>%VGWrbH(NO8YH zdCMy&pRSbaex~xQbtSQK7?clTv)0`ZD`!CA-C65~#mYq%Yjmt!4Taaf){T#qTg>Kx zSeXrFt+$yTD_=nQ(kruKWxFYJV`cBpgU!NNX<^FpSm^+T_kFEf87r4V`PM7%$I4Js zK8=;hrfl#^S^6C)TYap}vT+-rL{*vcZfE!!bALjq>XnhPQfD3B%TPXZ)3cP?UU|_g zgIsgi)PsV^XEL2KcO#T0P}aHAyi)EaLMimh)v+=QN->o6Zgi}C4&`_#U%G{{60OHB zV6Sv;s}ddnz}huavprh;<#5Z``_AnF3`Xly6wy$NL)luhmiuavo;pzwZecK3Q^ zZI%2l&_}^$vwK)d)D{YBW3!v z1%-F#SGOuw9*mXWUHy)-`49@r^M@OqrM&Ewk>|>03v8(T={k3!GR75cz_$jJ?e31w zvgr(kHmRuN`BDZ$`4CD@G^dM{`=Kze%2E5SRK~bDP}X~8gI5Om`}GZ!yr{*6-llfh z>nT?itJ^z8he~ntc7e}HA1buSapitY(!6@2ERE{@sJyDhHcO*Jp&SF7L^%%1NlH!fZ5l?cdP}(l%JYbIK=kS5 zQtpbCM$zaiq&xy;32Y9Gs$C`JIVdZ=GN7-NH=w)=rEygM8Y!PcSp%g>bf;I!9AkYB zrD?P(R<=X=8p=UY+iMwXjH~{W>iLjpVLvH#Vx^hCU+7z^H-*BdyD%t~n?u2;XqIvk z6t>lWnGKaZ*d)s7PXmWnx={Fi(I%P`E5|_L_eGm%eyp4y+ngA^5Gz;5HYY|edS!@zx_8|L zeMht+OW703DbdOSyskUkZolD4f^vFP^F}ELLum@-jHtd>mR1QPt23j{UK!#}hD{M{ z&Wvu3m9t}|ZFH+wmPCDGr6js5w#mfGS(NFDRX&E3%aSP|lC$W+}Hr=@uP2IEnQjl#8Pcv9di* zxo6b0Og2=Qa_?w-mcn$dh*}MiO{L%QwF>3x=z^hAszF%-<=SZLEmG=0c@;`OyY_>i zu*R-8-QpuC4z*GEgTlux1bk2;T(&8e}?!06H}g*F)+&gE^=9bvN(N?FLO zdLJm8{-O+o^3z|GQBXK)8WLUM({N4U{~u zjP}aXD&NPkZjLs1WpUNY+m!Onp@fwSpzMrTH%CoxW6H@W?&fHvSI{TGW;bs$YqZbZ zwTDs{%Ft-5lyn~`>=TAXt;VQ?L!dN(&9G=#tc-w55A3-_ZD;r{)@1UFv<(BBUu}o)a6#apx)++5Pm{8s}~Bi%IC&pp1$djF*yuaxs+KqZ$*X zjE8a^l)IvBcT0H$3ftiXtN9n9@SAZ$wBlac3~}#58H899qDuEk`Nd*oCP}IBXGkaW zAeHiTBPiuQ7XRnFGRy;5Ue&|wL865DjS11!lNoD>I}+)P^yze-BBec)8Bp$t%e*+R z50uxS+#ikhHf8DSp|B1gh*rhQFevZB=7Fg8RHjp&9t(vv|3K6^R;EK)<82;@mHDQu z^GaEIC6v#+O{0gD&Nomtc%@gY{0Ze7ugr{<8rzlEq-b-jG=%a!Y$ip`rYW5kvCV_g z)v3`&%b zkzCaNVa0j_3Ttd?G~O#i(w{(KtD724iETE;HV;J`Vw>M$n}?!CGnh`9tL$(lDO%LD z=u#=^6TUzXfV`$fGh=0E*i`k(=2)o%CEqK}9`Wg<8$+oLWqNeAR~F|S2c@o8=Eh0~ zD0~VYjkVap*vyEwJgV~C2Bi?n%&7TeiE<>AN26-9q|AT~$5D?*BV%PDls2%L z6ELY+r9PC;q9tA_bGJZYYxyi{ z@GNc0+;~$ieU8fFoGGSMnlI&9Q^tE`oO>P0{yyb(&(mg%ee13By+rnxT~PF8_ZVV* z5!>j??l~wMOyL*V3Me>q+5auA+_ZA!-huLMRA+(D%MD25*UW0-`#rkj1t}AtOo#GI z)P13pC!jn9<=5zr7o{wPvKmUIRD(rQ)Wv5icWjd6WsqV{F z9@;z(<@nUqS<3TJPE4)LQeKC0daC-%Nvw~doRzARrF;kF>{RDinSzuV>%3HpR}_m% zv^&Orsiv<}Bp| zC<9V=WGQDr$)px$Dd$4DIrVLpav2nCfqPB4Gq3BR+@5Ocl`)RWEl?(=u8wWqfx z;v!JYn@=R*vN3wYd%9mal_KB4Dq40}rUh2BFQhtE488-7$r+qGE7x;E> zh4Nf#TdeE{C8~vYSZcsJ*&GgKCn(RSw#3TmvCRvqtJlk>8xbvA!&r%27@VtjB-n2+()K} z$)yzIj7d_>IMYOK6DoyLQ7WWnnvgW)Blk-*REnfhseZ5bTJN>@>D%x8`Fyz z?91AFUs5rBA#~Mxd*Ui7<%T{7*`A0?n)sE5^f}1(#CcNkjZw&=xw<{^63Y}vM&itn z=KO3&rv6D%F7%n*_QZ`+N)z?b>Gs6db?Hx}TQZDp4(T>E698>PZtf{B6jzDr`os#-W{$kmc*b`$_sB$e_qfy9|o%7wn3 za4@kAJ`b{o~!mk^qVUnh=KA}&A>LCEc%H0eB%1{DoYh~Zhx@(xSTla#JvK4A%YMoP&Q#~^l%vpb$eRN823o{N>3dn z;=$?|X&k{jz&t4Xue%;KSlqiFH677+JzUXuJ!<`@&b3Y!-SwD{9@ch*>MVyeaD?h? zgf#WEyq%_0-G$i&x!H4%664XT>RkGAlbiu{#Z!>__phP3p|lQHT_I|hA0lDkq5D--lp>svhq zEc&W-E6;f;<<8akHl9E?m8GwlxAD|w(bwnOdKyV_ug|yjw2F(N>+|hA*;2}#>*}eV znJoIcdV9}voTabWcl2zLk}pUCn2I#dX^zoX>@keJyXv97^55ArLP}WzT}h^SnC@91 zC11Ra`9u4S+dOMIOJ4!L&9h00dj_t>|4?!ANBa<9^K)pOptCfwCCLdH}k z=xf4GjCCBX(^7WjM+o(>t7odrDi7+bJ>5KWrQ{oz5o2T8yLpzg7*}JTDP zJ#AS2a-_SITzumc^<-8SODzc9E4jl{ASGWkh0y(!J3PBNrXz&z=JfD<&(Z@z_pN$) zs`ipS6azTsPERu_Wx;U}>Q9EJg^Dq9A#KrmhNq{LsG;xFWO#9#20hF>x9)7cuvGvZO@C?~oW|i03saWeFBWztgre#IuH_t|PBYsSN7<&k)bo zQq&oJg{~ZQi8^=9#(1_W zaqhK^@z{5%EWO2z@ziF~Tih5=3n@|OUR##u0VU3Thq0cSEc#yCSWkfzb@kvM^l+?a zU7VOTaL>iFH%@9oCV4K$$&HYyp1yZe4~xa`nD%y%$2`Sx(i1Yvb16;+K=M2peN`4+ zyU2n(>6ywxXW0)!p7tz>lNpdg&ngzWGB6iXQ3f z@}B2-ocs>i?8zADW*OJutk$zFPO3o4J?ZyQOrfY+16wy_yJsfLO^^nV9iDE3R7@J= zCdf`tQJl1a?DA~7SH)x^rY~f-=Vv9x6bM~k{nArwFvY}-IgZqmQYh9y=!)x?o-CG1 z$WYYT>p9Hgxdv~Xhy2e|a39qv7PTQ0Ap1O*q`2G80Z-}>iov}k#5{tS1D^CuCHF#d zAqPDLEDu8FKn{7T4^uHD&q0oOvRGz9Xpeo=lQ}}g#2gtoO34yOGR7!*+mUW#m3;0< z+BhXA9BKW4l7AdY8LuR{rf$9ALrS_hQhO4KdwzP7@l=Unh zLRLe*_UxCEE9mOe2awaARgY8UT(J`|pF@81^quL-w~*gG6Y`XNgP4Sx7)Rt?`~*o% zc$4wnBZ%oW=D2b_#P$x8Qktl*HYa%}u;{DJN#2=K+%xec?|F{V_a>6OsZUbnsHlmy znxOI(-kiB4?pb6N??x7Vy`_q`#ZxLqpI27#=CJ7V$|~M%N}O{mWX+Rp8MmV?n$K0d zQ&|Q;=zOq>cas$NETD=Po%z=>zZP}OKM;Mc$}#GCcqZg3N9b7n0SI2a{(tJ!aANd` zshW;B=MIiI=MMj=bFC9Ybsk1rwH={4xsW=JP@Nd0p7)5H(wLzA5AAIlc+V&?GVv~h z<%ntIO@CS~9s0j`Mam_X2M|NYkT-hQKciwEgS>^9Cf-vlF$n#4-{d_nrBEz~e1Mpn zywV2PH;x2;IHy=pD+^!I7CPJs@;Hx1;w(t}_CXhstT*k6E%frnC1X%S6aL#B}j` zmr&~%cM2(j-0n@2;x6T`|Je$(sI77_vbsC#JZ%LpLGEybwt{t#Ufy(WYYp1^0CJ}{ zbs4p;&Z%ksWXLSc4c`Zd*@hTbwnM&v^l@U2LJmUia^xK39HhS^o;tV&0vX^)6^OqU zj*T6;9ukHOa-;=>>fGl@S4c8qhBz{iWvC75ErBo*9xiQMyPf1W`jrNY@7~R9s-sf0!565^{u;?CUdEa5tJsj)( zh(-5soOdsao`(;3GnUixs!Y)HdAv7^MbEJb-svoQ={)3J`I^eo^Z8-#&b3PPvY6^! z@CHe)h}6Y-6XwP=?L}-Xl`n zkzl#rGg1mg3a(Wb$gCFcP@Q7Y3-Tf)-@7qRUWec%JnvFWp^W(eGS8c`(arh{Qs7#3}lyr)=hhEQ9pybV86Fd$`P%mXP>TLE-Emu;`SzEp9K6Qn%O1(3;xk6dx z-b*YekktvY-CMDpVq)Slq#I<1_r@JcZmh57;b-2~EO$cgLCj9?87akLG-M=Xmv`sq zD(i8`Ly+Cx$~bu(f)APRQvIQrryyT>t4oOql48g~Z|g5q%yW#%?#O9CF$_aIcbAQD-mYJMYS`lx%?1xclb| z-cFSyYQ!e(H!gVlNpaWt3*M1Z+_8=qywh3e-;=U__P!`3-_Tcke)hg9CC?eN^t1O( zDeg72pS|0qoJiPi!8e!&q|s8y^1*vDVCy!Uc`ji2M z49}1;eOUhS)@B(Fc^z58ml-EpAs*jUDN(t-?}GSz1?Q*^?p9#CI0P|#Mdy{!_Wlhd zTO9N`8Y}1*zgY%wjjj^+QNiU-LgG zrp&pwRn?cuqOYb__09W}VhY90$ZCwNt9+@Km2`nLhgA0+X6X${h1BqM`%A@4WJ&hz zXDML0&Nt_874tevUEgAnDBJp!rM@pILCJBJhQ8V?-Wye0H~P-9To37i)|>j~c~lnN zC%g~R+_x#9WEx~Vq_r>EQ1Ucn8lSSM*lw7eJLVK;rzR7X&jEu=+IfR(!AX9v+ST3?m^W{{d%DLi- zrU`uaEAif}VxIObuB)Uz&b zUtSX>ffTG!kd?j`H!HagLX}tfR>es##JuL)nWAEvA!Yz%jc;QMB|RX+Ag}v=XBonE z*7>ToR52vkhnAzOSY?N!XLkP^s;z8sctGgbK`-^`9Grj{cOJ1c48 z$SIai5PGKXBi|*KF_70#`D5RNE-I^pvp(@{Vp$J)7crmsa=NRSPdKLBcbMgbBQx(% zF&7+J&l0&s^|{<<_E0fR9hty#yCYdWRm>#B;ohs`sM|QG& z>`05=D&_!W3#PQ(mz<&GCyv?STfpLJuBKv#uX-O9bG0Mq?^4p(k;Qi_>Eg)ieU(gv zY(rZ+e4C{didm2^AfNemvMh%D5AwNhWIxI(6q_JlL%#4$my(M&B4AsFRQQbks&XZS zwv;`-^8=K4S}57;JAaRot6BE>7ThZlJ~85VsFtIndYZyfM7X3^I-4){`8^!1GczB`o&eeL3)FOx-I zOF813$fB=!9QWn1=&K?pe8nvKddo>4x<@^9j#p3mR>>Im4)00dW-02~CEACd^c_=T ztZJ$D{HJ_pq^M)s0hnW_d;^Bjv@00{`OY^^ihG^^oG(X8uDIq_Rp*?q#c(;toGCr$ z>oY=$?(+rTJQjUr>4L9PO0H;%I<&XB;QO1Uvm@0@02htT^RF8J<{;$Bg_;JZ6c=$X(9zHBKmaeZs-*)Z)t`x=f>Z8d`|hy3d6$)ca3 z`^~o|i(=fP%HMqJS@comZ@$A)+%up{dI?&cQTbI=cBL2Ojep5N$UBhVb(W9riEoP+ zYcyiy*@TX<^xern9ijWe`;g^`uNYbM9ET&8zO(O&zDw@P24vBF8CUe(e^>OglaBbl zKo%`!SH6PKUHdp#d+2BEp(_5aF}*j5WB z0lzYfMsi(Ik7B&zXu3`$41mxQ^!n?tJPo0_;rFMo?1s?N3HUp(B)3!ZFyQYcB_=W; z)lfO$AIx$;q&CFxiwCK#n0Oe{4ifQ?oIv7^_q)o!Q%atQa^Xg~i2WC&ua`KPjc4;cr!#=nLoAr<2)AvOJdCsLN$ z+bo1!>o1Fw^^p4hV^ZAh>n8tcDaG<0eFb7}^8XYkhamXM_9UvTV!ngi;=dwJ{(#)- zPmU9_KCaLE+q1N6k8?&yd;fHnRLISc&i-vVsxpoCNr!avpM97l-{^vv0gxX4KUn%f z?vr9oRxu+WBcwE8c?d#lR8N0fB_bbkKVo|N)1^eEOoH_CKh7}=5%UrsFi#v)!z7 zkX8PYIQbj0+F$hviiwKfP{+OjPgnW7Nr_3R0eRCuPfEUsbi_P_toNtRQI+ZbJFR2y z`nNu*gzmPtLd?7V)=!bdL@Q)ljgvl*E&i?ZR7@|#WI;ah*M5d1DuzQIg?#33 z5-0hP&;8X4D5gy4JxPVXwh}|{4=el)r9{OP)S(_$__L(ML?L88>Qwj#7pm4tXgl5K zuR34JQpjtFIp{ynvKF!#a@_xml&JABq#Sa>pA@64La`UJQ%X-3e;P(DLQeX#rR0i+ zkQ0zo{&_`|l`A?z&O*NNpHbpG+g|BE&ytOp-w;#j_dKVvWyL3*zL#zMr%uqxqI=m-qlaNf=q}zuh~)^?Sq-`3 zKXs})F;s`1^1Ip*eQ(_rs`EbTRR2#MdY2+ishTbtJzLWes#A)rWJmOLT_*)c@0Pv? zRNImDn9mi+a-|fq?_csIgtinnM*qvWqW@(a@qNupu#RraNB;$fQP~wbRwt?J#9ZJk zdPgMv%6%l?AjXw&XKWXcdQMDT2(2yk9q9m}%C7WeY2d`%!&x^tlJy^%`Tv!lQQ6IU z0x^F;8aj2JgZLZa9VU*@9`YJUQ!Um~#L!%Arp5Omx8;ac{(obvA0aoQjvMn2gyxSU zzN9W{Zr~-~_|?X8ZvdfD?yj_CX|7whx@7}pxi3e zk=1fYtHAG4DucT9j)CgSXzQ*F>ekZ&Em-tA)+sQMMNes`z-SgdrJVu~OUXArOIP!- zbKnUn<%T{B=p1;Fv-G;!Ik28ZudAH{U$W@!qD$Z$i{37}1TL}Y`O_tEO^KQcJ%73c z8nWn-pIrjCN;wfcf*#V=)Fsf3rP^((&s_qeScW_Du#~8=-jS%3GUxxROJJ^)Tw^a{ zwqiba32bHg-pTrkC3L%P>qjZ-=(JpBU5b<4klO;@7iqdw%t=VMz&aK>I{g*WGthIn zilL)ZZ(|${2Bxl1LT~n{1?eBidPxZ#uQr7Y3aortNn`Y<6Xd?YaVeDvdM}X~NPdN4 zDiicxA~SFwi{48N3uLqCt#Wu^dYsT!IXrOrRaHlCl_LUM*O253YCQw3j|wb!UB&3_ zbWFf_Ly6u_#|6ep$rraGi}o!K2Bxyy1sQ-k4+gfeWJ5BgtXW5OP9)5L&^~HHU^mNF zuJcgfWSr2J`%vH)7Ef2z*2F-)H&vbP5ZaGT3@mtCNiNHzfVn}*M$XC!+{E&eBi&e< zcT<&f0!1t%9oZzMGC^Re2?1XzQLFs3|2TPC&+BN~Z+U;^ZO7w7_C~RgjLp z^cbP(ft4)!y2SK=xlzUFBecf?*(~~8@3FvsDTU%Ev^5Kr9}iT0kFs(_sJohqnSpsM zwITBmGc!=Z(urec1-@s|#}cywf3w_+m?C7&3N(3NRlc9IqJgR(D4F6&0ZS2N5wfCz z^i3*eJiZ04U}=6J0NAUPR56FD&#c~ z8b3BaFkVVjK5aoyy2S!hq{Ia60rnv)7MK$!MjQ;)zMG>E(&C@=qG=d1RiG5PyQ|qc zN#G1iIfS0QEeWjoSWdh60&*Tx@nRrnhmxa^%ThK;ahKPMK^c#`EQmiGdSq^LDK3w7QPye7r%^9O-7EV|E|1J%Evd03jL`@AL4f<^avtDHaa z?}hk?MI9TDM_Z+i(6RAkNSPyaY&;9{X&^&Zj)^zW=edw=fq^Wauxt-xN>Nj>1Ti}T zles^7&hHEqvFNGT75I=vPsJC3?JRmKb_e!K$rW}lwUqY+CREV0=ZOZ8SJ2j%|C!SN zIa5Jr6K^2qD@SNbH$wJ1LR0z)@WRy-{R+8wh^s_J`{H5TNg5#xM8tfqro@ zjSzDokS!%9=&7CNkc)w{|D&v!7zgPBxfICTC+m1@$mtSyKxpfZ z7$pal42BdSCdo)Sq+~p2U1=Pbf_vhahcxY186`(3rdZ5I%o1c>Wz;)Ll5Z@5yb7sq z+`{q}!(`(| z7CjG>jayjsJWMv)u;_W1Y@|sk6X(#@4z!hQWV8Iia;>pIO0G!Ez$gO5)Hc#iQV(uZ$B=o^`zngGn+gSg* zl4M8?$Suan3E71IeqQ+lg$k!7eO`~Oif4?D6B*D`1x&UIv)6nBfe z)hJ7#7`4TfqODtv6dy^k(Y`OvM)CjN#%RUT2hv4KM=4R~+5fgiSC&zT*@Zf7jovJi zAau{Jtua7~JC?7lF;q&qGw!{uF-D4e-?ObTUBx(WDsF2mvap(~yxyi|Qo##)STO?hi7?=*lu3LeCwK zF$S?b4WYYlV~ht_7C`7YbBr;Yc_XvF>d!`GjX>4{qjdu% zyC4rjUNH8v9EMDTEHSFypkls_B*c_Yd?k{!n zmBF7Ov_E{yn9ZWE&b?*ClqCFxn2R#2f+gV|wYPcO5RIv=%7g&qPsF@!6tE;g5>s%W z$QX$4Zcz*!15nI6#wIC+q8ehth*O z7{oDpJ=|=}VA1R07UMM~&WQ03jklz@>*0s;_%QzLMvFST>4QFh#4+lQ#vllNheq8U zpkw|l2tLg##eFY2K9I{XbnY+#F*_WgbBAe=osQ@`2o=T_*~6H)gn2jzF}sZ&ETKUd zg9rJaahRnVWEJFqQ8k6;YN2Qbc?)vL*xFr5CZr5<+(^Us_$a0jvJdi&v5sX8$IC8R|JQ~$u`K9!3X2yE6CNs zXX4~rNR8lvIJpR^8C(@7o?9?FBA9fyYKz`Be-)%oaJ&?EbXMKqR4Iib2UC%Zn7YB^ zEV+mcark?pu{w2iLNEhZy>IXdNtP`2#{v+O`RvWC`7;V%h{Rvs?p_M}xtt_flJU z7cPYU-`fV8NO9l8&^FkCW7;}d{W(Uzb)ju=5{rK8Lfhax&g#XL+XYv$jEB(sN!kTJ zVtEom@3(0eJjSwuV^V{cS+;OYYVexD)aP<}6`igYwhz{mqOKp(NR0Nuc~Wx40c6qf zVTa(V`zR~d_yIyw+9CL%5)mGvV-8CxOQ;E%fjQqH_??t|(HxQw=@>MJ$T=oDLKZ^0 z1h0*gHIS~sG?wm&`54k8m=Py?Aa@1_4^?%BBIX-NpWsXu8k_Maq<^p=PK@R_Vhk>h zlWLHAgDo;u9U7ZKSwn;AaY9+cg8Nx$1jP-Ik-;-@(i}26m^Vz-p)nN{Gd5ThCloU- zm@-_&Oc;W98bok+Aea^>^d9mF!BufW?;)QQoHs&cP3NpB!PnxX6Dm&&Zi*ACGd*}H zPUubPGlFO1gepgaIV0W5^rrMDf|;X8Vqy;3>W|9vf-|My|J1_RZ^*O3+M`w05tdl+ z63aql-Gw^O2Pb5y7*8rt}ws^~R|>G>)hMl~)8uu;_6_F9(ZQ_M-AK#Jn2xW>Z$4@eSl9 zDOIJ!#6`$zDFa!op-NTtnq@wdR3_F&Qkl|}o^2xLnzPfAn_MocZpN5R7!LwnJiA!Wg| zhbXJm^B7`ohingalcL7S^oHyR_KlMvkk5nfNXaz{k@X;CcW?{KOAy++cLzU}l5e~R zq46Ypg2y<9#+>9JYfrG@L~1=(Y(osK8+(F9QljE0gvK@P4esQa3lJK`v@iIVl$Z!) zs&OFugXSbP?bRTUpz^_BCQBORX~>b_WtO3kMUbPxj2x9U9r8BhL~y#4sGz;X`;f1L zu{il0QW-2|p?w0yd>`B^C0~$G%(Qr@NsLlXn zUF`_fp>ZZWzn*YIsP$B8E7xd+82YEa zA@qn8byWF3WZe)dQsTTbtzl@T5^*204kM;vsKqp@6BQ#NC#6hdnF#p~(kL{Kqqf&^2>?Ug=7o5%?EImMa5U=nX{lEB6g&Y3T^PQQ>A}-RcPShmL>fokS`t z8(IGnXLNe&Q1!>;bjhVW7e@Tg3N&278)%3lPgAI-?F1!qPRU&SH={IRgg}piK1&LM~Slp zyM<;;QETRNsM9U9NQqH|$|aCHLMvF7Ltd7$`u}9z5h_z6K0(a;i0K*HAf-^8LF@E% z*qw3-#_!pBv#34WC&;32e5$i!+5_x?+~o-E0Zu~tg(_y#+)#b?wZd^`s8R}!pK+W( z$Fu`Om*RwuX$Oa@B%B#)5+^q5j10}0qhj>R!YDk` z2bmPA_LP#DklP?Rp>&p2kiL+~p{XpJA@@P1gjN+&R#f}}$&!*Y--D50QKQ~y9IHd7 zhn{9hV|gsJ3PMLRLm^Ki=JC+qQgWSRfEgh(MlreKDZ~^bW=1HTWeH>rBpRwHQZcVX zHbC-1XQadg$%l~q(7<99vl+4rGB=dAK*J&R!^bbPEKMNeubzGr3zoE}B$QauH9KlqG))=$>F9|>v zJMs-;=)Isz9r298xLm~0w@c|)?n{EyfV}uGX#k<`iMlZtfxPR;OAxvS z`<@m{Uul2ek=GG316i)T5215&SGNC0rr}z_BpLImTwBz(yj<4VA1CiYJ`80oq_wVC z+WfiCz!C3$1)z ziCz!C4>eq;M6ZWuL+jsEqSwP8L+Njm`Ay)Lcrwb54CZl&)eDbmhyTO`EAsRE$Gg6HxiD(1Z_3+$X~R z3C)v&yRL|N1Ti99#G=nVMR+x5>Fe_%yk5nKr;s&6W+4;5GT#cwLWl=@eyDyblS5(?3$v)frL>35N?xmGp)j zfh2`ABPkQq=YJs8!|PadpKFBAvgkfv6aJG$&yD1; zXFJt#ry@C=Bqb`Shk>>@D+$lp;kI=Rq)vDxi*BoKco&Oq>-z8!7Ts3;@EIv;ZMgw; z>WBM&E?XCS(H70;8^eRYASn_TARQ6YBs@_{p7U>>5}v^##;N6=5`Kb3FZY!2QYr4* zk`msgV#F25%0Oj$N}qmZzGjenA-6cv1u_EC!jb+E>R}s4ra&G;Oxy5t71ZZE@dP9) zWh+Y|WF90nymB|i*R_h+#mXyGX2VZZ$M~-|B!IXA?lC%_oPwEncnX_0a5PSeA+y5s2>%B4f^Rov%Bob@i$6Wfncg{;6>5lLR(5<7_Wq-xglbZ zU@FN1mQ|3Zkm7K{Nj1klhO~z)2v=1izJPR*k{u^KAPd9$S-wWhU62>T)laFmNCryj z$?_8<6S640SV~MJJgD9+wm4kDQUh{7VwQ#{d_#5eL<`8Hkdp9zmTr(IAuGaZl`3W^ z%gf=FQljEv2u=H|;Y}=skmr&0YWV1B$|?=N2%-1buMU61@(yG*VpfOGN{NckAa6m| zgu9)gtg?jt5UTuo_$aM+N=#e4^s{CkgdgXuNr<7N_YcBPNy!t>K?)AED;evCj_3ntF<+Uwb@1l~?j@%@rH2f%p zrhQwuyOa|NF$nFAw}tPPQkHO%Wk-0Rl$Z!Tgi+;~(w*T2EKOKG59j?tZN)?%NPEQW z3U8B=FJ?lhKNaE2QrvUuitx3+%DEx`zf?>ECB{Ky(J^F2xGBre5W2Em5pKnzzrwIP z+>xcuL>03;+)as?{EIqA+Y`=|QYaQ6hQ86fC!EDGZ$Ri=Z%=p=%N7VNP2l3ITbgo`dwokB4lG68iChtK@3=GYUET*&co zi$C4DF%NPoTq4CCLsc1G#iGZGREBp-ao@6A8E$Zy>bP&mJsrM}MZX8;bhwB`zX#@Y z_%jy$9+=bN#J^M>{T`Up;hrq|Jus)kWlDs8>&uyN!@p&g^9J4T!&6!GTVK8ppJCB& zhWR0!`H#xd@00m4d`e2bD8T%A4s+wDaF+05y7I*$mW$yJrMTl{ehY7wb0b&GY-h-| z?ozmhoUUB)420JCOW_Qb5=Wk3dE1dKET2H=pYc-o7nXgF)Ra?!cg3XYwob_YxJNRV z!rw_z$0T%A@O$_oizf$Pv%+-!8U80uwm|+4w@aWYEfz_Lp{zvnHkLXpUVOSi#oPk< z5?OxpUY2y0kU55hj&`VyZ9WtybWDRF9HJAax+un-x;rqn&!@eku9J(}-z^n0n@UmIaW7bx49< zs*`W5;F$Vm9hNm5Q{QaMvH>y>OSyqLfTf(X8kpl*j&W84a}LWT2(248m?bP%KCJE_ z++c2DX$qm3hUPw&UL4cVyvULbX^N?6WSTzJ=h=`JQc_r!La2w0&0Z|4Av9K`v3Wns zyAb*ZX>3MWN+In~=SFie%Wg;~DW9+$<2p^uuUUTKI!#Q|ulf_7jPrM7-DEansRN;J zVc%rl%hC!${b_1G$kGc!{b_10U>U(NH=7$+9^#mr&0{PxI3~rs%<>G!q?io?sy|C0 zz0jX#=3OkWLTElWGw)~l2qN$1m~&VTaLg@c3Ck&txy9VVa*kt~n+I4tQ&gSiX4p`z zSA$SnEzIj#nsQ7Fvy&8e1WrryZWSYLLk#^}wKPYw402>boX}IEEzNJ@g#N#7HP6S% z08D!;^UF3>7_thj_cOOjDHd-+-hlKslaf>q zw?e3`0cMRjq4j5gnJ%SF=;QE#=3OlMIDDX)tt3G|TY8VVSPDj7q4IlZ>mKv+71UO) z_>tQhWHyu^bjZc&tZIFbXWuzI9AF9YV-hEW9%H7k=)G~4xsXNgjkC;B z7QHtfYaVCOd*iWYNPb)+-_U#G`^_6z^xpV>vyT*aUpLMi!7+MIJI;KRMek|HnTw^U zV;gTryy?g+N~Wn$<3&jxG?&In1Tw)~E5$tqm}G8{qPA1oDkqsISoC(9V_LQ3{1N3? z7IjePVY7Ce+yt3ou4B=Azemi|EPBuOn0c-IXo%Xg(SB^EIZ#SW>_uf-Goxk+i(Xgr zO#gM%x_kUH+f0(;ZeRK4gxVD2u7^*UE9$xW z^{6tw_70)_&(r4O`bxfXB%^_nZyY(xVm^jv15xK`b7Vsma~$SU)U6g)K#NrAj(&bw7jX+KDN$Q$OjQlerQgqHGK z=7l(+E$%JTY(-g7k;5@>n{A{NiP?~DsPndo0Q|~)&v48JM;1ZuO2d^LbCS#|OIQOL z40+cqWO)xVT*^i%d7>0D7P8S?*M?dzOZXB(J=|iBY)_IWzK1-Dm@Veu4kU$GU2)_9 z*=nAWk}Ik~DC;A0a7P*Aj12k6d^L?kEwAdGD5gwGnb1@5shQr1V#K-Br% z?0=h#F+6!{-Ka3Lq_};qFwe8-xmsan+)i2URO~jRU6tsm*ln(tk}GPW^6)g=nKd)I ztNt{HP@ngj-%3&a8HN7rH7`oR6$V~{UzsiL_;=;~=5!Xl+z*J?x;E|(4Sw;EGh2V^1Hc}MQ8nPcDwuE z{rSUe-B*d8ipyq3Kayhc8kWvFRKCpHd$~`4o%U}>^fzSx(PC{vRvEGcM!nFl+_w#~ z<6p8HLf@H9bYkd9_C1L4IC2m%2OwTY=$hVfh|iIeh@tT${(s32hzVHr2GCTf`9o`X z&}tngRXUU0Bc<5rG#huxAt7s+6447%7ZSFn#z_;1Wo?y$wHGn1AxT#9Kx(T{JPPRw zsbY;_DS-5bRJF2LUWfFDTxIQ)f-7B^t|5?WR@yyOr_%X)Z*{9Xi~f3V4eM?x`NreO zqIp=;8q7j5G@p~LER~g@zrK2{l_v#n{HvyxMQ!W2lsuuo$6D9A94A!ydMkO5>`#JT z%Jr;PQlie6g6ms-Ifj-XT?K7mjhB)y^fJA{dWuCq*Wb`tUL-U^$q`E*5jC=kxUydB z8d+~hi3*bYF~=HPJGrv{uIr7~nK+^Ex;C+ldub~2<+oqyyRJ7`_2PuS>w2@*f<=GV zwVBmhN>qO7mA>nGi#0^biQqd}g0zM=w?->T_yt1iYIAEmOSAk0xvsXbrm|#1Xz8@H zX0fb-(0p!XJ;ibgLR&#=o)owEN(AkZoxLY$Rg=sO=WqMrI)pgh4xx8#Pqh-#>oqi z3~Lh$t%ol{`dA0z#AN}{jDl2dha*Dsx1Yh z#dz;G&}tedG!O5w+Dmcg;k{N*CGtzkJJ8l(tFOv(zCu3O8pd_>7B|=$&!V^7`>d&P zLR;>ARz8dVGWZZ{35(uuWLm3P^j>0^^_~)EUpL(Pltu6BMp*kfOMf|il$A0>?UD4? z)yMGKTkg|sWjUhveq$Zct&ej=_c>dOH4Dp~zL))=BebWbFIKyvdpKUl_-MJ)-sYiy z3GG`ZIzr2x_9Quu==uDx7H97_S&L8aAzjgLah&4B=<(rGtPXPixL=`~VvUgEeoxBH z(&wjBtZ_V7_1&c@)=X8$c@lYwwVY%0lgLx8H>J2^3#VH9q_|@Xr|BL#bM+DHM;TL| zpr_&y>klcVVg04@M=Wb7E#=bi8Y~N1#~$H2rGat?{hL4P$d?d0mvJPbzi&R>XZqQ5yl!)hX@;zYvF$f9*)hSfbzXx*4; z-NSP0lWN_VWo1c;iANy&u$@M&i!Ai!z>|=Ct5zn>AN8j6pCC_K4W&fI6Uh1lGS@mI z#XYBf%KAmc$h)rLE3uWSvC4W-hTdjaH)9%q7-IDP=XzSTyK3Y<)qMS%X;f5i(XsSTj!-zI_ua5 zt3|e)8=g(*&qt{Iu66i9l5#^I+ibLsOUV^`5VH+28?AxkDaPFcyl-VoQQP|=#Jq29 zmg4sCL+cYMrHQ(&53SQu%7k8jwpvLOsB*5ja-LeFwpt@6k*Lb&PxhMvz@r^(iD# zXN=Gu>qZv6M(wfgP$Kji^`+I9*tuKW@!o(d+zit3-+T41J~}nG;sS*_2f%PC(|P@(F7b%WsgykW*HRd=(RZ z8rS`BO{UVik0qJqw3Qp=XWINs1#0rRnq5PAO5LudDxLKPx(`h{cEQ>%v{zdAzC=6nnJ-TFYaF82Ue z+=fx^)=nwvZBg|ge_Nvqz0^Y)(-z{f=SXq4LBlSP;{ID1cD4DGRVMU5Y|yU5qW^`% zc4HR(pKIEKrMUmOmVKN>|DW1+yBJk=_awI6Q;K^GVA};8qmKb>`zXigHQct7iew#U zuVvd!o+l}F{uz_(6c)WcC)ryUQVgC)dlqA@F*mNT&q~3#9SCg~SK2dQpqN~-9ztin zSJ@*MDXD<$!1>PA_Tt4#EpEVVUz7- zDY;@IXC>R_N*N;xAp%*+c2tV{KUmA2t;G5FtYw$5=zU!+d)-T_^_5)tTD$rys`A^8 zY?V^#{Ci$&f6k)!B-h%%t1M#&vS{qeb#}rkS=l%a8HZ`V&aTDsixbn4#aF1aMoMwF zxa;g0ugW@dE1)@cojpg2dJph^S-I0|6q7HWKpl#yYma0pf}BE3UAu^7DaX{aFRqbU z#ygO+h^c1>){?l-N!7C(NpYW(s&BWJ;-1UYx9{UDy>Dq?Pf#(k&j)VDs3AM^b*ilT zd=_$}ogF6^Ax-Qzq~sfy=Bwr2)P9$xYD~*kmPQadmuYJEctcG^2adVfzMG{d$J}fW zW*NjWDfTp$DUiR=dWxOT@&d%)mE;+g4;(3GIpWAtmV_dm^)gEXM_y;?>c~bZQ85-` z%C@GilT#rch0qeb#UA{Yk|IYYu+WHc6;tw_iqZS1TkQQGkQ9my$hsPpQD>8qU6A^a zmUjAwO1^m-!b!+w{u=)G#EA-(L+SoBi9(>}{WZ*}_-F?ZVHf7Iv71bVC6FOc5$RZ5&U z$n~)svglFMee7nOMQ?tiI(_WhSZ1O1zae+o_epWzR(F>@RZ6~Sgy}N6QOtf8x@vR< z1)^fN{Z1HLd(6My zjD9ETAiEpO9w3TIVJgH)6ty=~eYk#Q3S?k8x zJ6ZHvH_oo$EL!WR&N#d0H>wV;buUA*?YpJ8YhAWISW2!rBA40+m~_ali~ z6UIr|CdGaCW6b_e%86iqWYM-0vwx71YpjGMTtRZfIjW#W( z>|;_+1ouM%m>bLNvnnRRQ=;bBG8;pX<^0j-P0MUs%83LF-j;itWp+I&xuO~5l&pMS zO1^jwav4%$r~RVl#uiBE4qVBxr?dRY@`}BQrT&Zf(hy=++gJapvS>Y|J=>f=dz@^8d|~g8lcSI??W&ikKT&ZWm4AgCuvfBFU5>Yj_P|>u?G}Gf zjQg$C<94c)LXnD?s}XbD-pSG*QXg{C&bdrkh2kMdOUP+^qm*1hb2Sxm#@;CBD!x9} z#Squ^OB6ra3uNns;@WgW6hY3}8Gp$-&iIz|_Dm^i{po``=jC1$=R3Y-Xlp3sXGdOv zWJ7*&x?n8OfSrk5T06B0v=E1Npt>H*|0CnmB2`#Q+qj@%4c5BbMl z5ZC8J5E1!NiaS?*kt_eEDa|)_uEc%}F}_Fxma~wvQhKnMFR87-9~r_@3qr@w{>Vfr zF{3HuXJiE;)1*X=j*vg3b_ z9Wno*si;iQb3PKO&7$X6Br=&rZ@Ed4*(`d_Cq>q<=w+G|sVaQ3vR)QdBI{W661*~! zlAvPrvZxUeiAwacxF%9hN=)2`DZL6)S~HR+CFUgM z%UClZO(RupCHjo4StMJEyI;K}k{+R$VlfR_E0J|eWReo&8OUl#^GFfLyaIVsN-4)| z=9m_dQyg=Q>$HemnItP4zjI8>NDC#x`wE`fN1c|DF&xtvLT$B*%x3B0$O@Kw9r=hQ z&yiy+YaIED<$xnKuTcHD=t!y(k+e$nr&VM;$J_{^{zURCuc1w!+uQ>3dBV*tl=j*Mb?$dM?^vyQCfI;*%&=g5~FvyEfAM1ErV){)3n zYFT(ztNwI}+{BXXNDr12N3xZOJ0LsI=Pr>FmMjQOMS7%yWd>w7nWU_n-ISjcYQo!;pOOMD_mc%tGt7qgQ%TXNHQ0sR_uCJ!rs(~0(ABtgc!w<(NK^HY|r78NhPU zk*P{VV6B?2K9SWNQwu^9C=a{7& z(?9Yw%VtMbv+Q$ZJIi;DoMs8Wu6o!%Vq7EpBkDqEnf8ygQ)0B^n1PXdSo%6Lh2>+&fv%*&T0yw z`8*`@9!nQT_H)*~5Nc~kB#^Ayn!zzcBMp^^=OMIR42=wCd4sbuBTsSGZq6DOd6nge zBcHPT;>b5F<~r5GVG&O))%s12)KemQLa2wsB6oAlNRAmE$>EsCAm1Zqcw`Mr3FK$U z$jC{~`i!&2M7-CkWqJxi(={g2T8SavRQ<_{^k=E< zFbK7Nf23+{H8-ZSjEkhRJPn~WGdnUxiLrv~JQ!KPF<(Gv&-P&CQ;zwSW5!3mVX6AI z>f!i^r;eJ^R*uwR>ETF6mIoclR3Zu>)aUV$XF29Qj+qcy%W}+-&scoxRqGQXXSvR` z5UMjFQnRk=Pb$Ye6iHPgvLKfc^H3y*C7-i$A}cuS4bFNvQpPc#KzzM$g(31Y$5e96 zB{Gs@>TOVSbxI`0G3_9Xq+i%jB}{T%a1q>$zRk#*;BHq~z&z|YKB&e+a& z&$(wTKT}z=7a7@?q6mdTgpf76DC;l=A;vJ4BwHbSghCMwS)!1A%O0`~+5MjH_xarK zy)l2jU!UjsF6Z2H&s}Ebnv&(Hid)U+#wW&UWU7;h84ffu737sRClQ?o8f789P<t zz@kq;)evI@WSNq=ki$y0pwB-fqVo{rCNi1V@aRL0Kp`I8CJ~vTMokvIATo(YJ7lUO zlW3$O^A0k@j1`dHO7@^?D5{1TT45e*5@fhhibY?CswCqL$bKbVAXk)(h6LC0Dw2!^ zELuqt@fb`pjv!MPnPlTGq@$8x5kAU;m6U^|DQN^*s-zE#ww*-mSh6t}ne)huG&Vt= z`<`bw(m08#DkP$6q+t~0(HkQ($|wQpsH84rxROqgDN05{4k}r|qMaiVSL{*7QDp8R zGupTZ$@v4%aJ1n+&+{p&~OYllRP*M~! zR7o8c?K#}jrWpMpQz;`>I?-4FSwiB{oKuYx=yM2t(hRL6uj>YhSVfvq8d7Kj%M_y( zi~bsknDbO)C^ETq8~zLy3q`B zMM-~D1%BkJ>Bf9yUL+AS{M`5j(oV@4R1F~!SAfrrU}@gxsmOd`B(P}9NyL1X70SmsK=reA`!3S78yy%yoAgWV-BR5l8ungN=~BBR1z`z5+m>u zALW%KVunkNT9DsK%FsS9GX}Eg$IxemF&%PC$y!v^-a?=BQPm3L8l(w{xYJu{6fV!} z8bBf*1*?rZEZQUzagADS^h0I^GHZ;jKN=lb zwC71)p=0`^u>dlF?`fL)hu7k!5WPTZ`VLjcja`u6lw5*bRT5jBM>lrye2yDM zShOM};tFuwXoXBoWKJ1_AkCD_Kvho?F~d{F4rIn4^OtcMnFS=`s`ZzVzXp%K6`3XN~d5+l1jEh-c)iH z@`;j6uk+|LNyNJD8)YHONtV+L9~d22^dqQxWQ;=QH@u7W$XJ8SHDn$e`ytQn;~73S zZbHf{3Do7$n~;d-oyW$TEc$22M48%@L122h_N!8 z8|%?b_V==yf_vCVfNr!d3^E;%DPS&y3|F!hGDFE($SNfacM9i?b*$%Q4Qo>9{)izX> zG*>`QDA^6MPV#(8npYr2m1J+mqt{YW6w*jZZAcd-9a*##5;4P)=2XaBk}Y&}N|}36 zwH;M2nigFPhIa=h5v`Jj1ePbx3I?tsu3O3}w;YBN3yQHJ2gN9hq|GF34mh zmmsT^QW!EqNgWn#E{Xi!jyV9CACReL&OqiUiP-sS<_={3MW(uW8JWCi_)1dUjDL?u zf0;zgr-oSt(p*Uk$RH)3K+=>KJL$xh*i`utFq|t zAXC$9jZ7~R@qMJ4=6GZ#B2&v;j?5ww@xDYY^8#cYiRk>Q8EnmKKZ2^-W;w_WC5>4$ z=NwnnHisiqj702M9djNs6_Kf9?nR~rGOwA}A$^q?ZFuxKN=mb6>qx|Fhu6$@$o!4W z>t+%%vFG_J`ntIWnF1tYKK0Cl$dn~HOnvH^#``>0Lu4A5rCGF(NW^Y5Fk2xr9hrva zP-MPErlGkEnT^Q2Y3_m?R&oh)S4nJJ9zFL3p5dEj5f-g7$yu7=n`SFy+9T8090W;L zG6Pk!NyIZqV{;E=J&9Pw+va0b{fVk~%=mV4bnP}W@0blC;{Vx-K26QxEV_M>XV~1F z4Jn~yBdQ+eq`&e+Rn5%|Wa=REu4%XDm9|k*8q!BeeaPoZy0U1iNW?1MH9tpYJ2EZI z^~ijK&$e2amykJ!OiMHN10Ma6lERR2(~fvcHn(pKq6N0zF7~l3DVXaz@qO%pLXU9WNskS&fI}au1h@U z_U1*%OG>hK-h2m{5y*UC_D5zcURQo#&PQf8G9AocAn8g@Lyjwn z>cpepQWDRid6#+g4rT*ns*s3BWk<6IGVPJ+XwHIsLL#0WI+?psH5pZ%&1=XkM^$Gt zzBBLhUJ~(K(8X*F$$5pZhaZ~5S@g0bV)Sn2JY?P_5&P54+z0uLL>%|-X4WpeuEnV8 zX%>X+QBsRVyFhZEj(bmYEF{Z6+_|s04pn(c#ONQHN0CWD<|8wES01YgGX2b=kgiH< zLq;g+$fC_45j)n;oPx}1Wcr(HkvTvjR@&dZ0J#JC*bIKiqvyKHGyKFX2g#?T5u}`w zo{+jqCa`EjNyIhb6LSkPX~+yP|AH)2qIKgVxQ#^2aDZ7FauqVrY{jA**La45%%R96 zkchPpGM6Fq9x{W?U63J4EUqkD<37|p1!<(@G2|m9@jZAql1W6Lp=JXXeGW2-=7*4_O2(pUD~Wh#Akq94 znJhPW^x@_OWQvlA&cn@MPhNWhGD&6vi`I-p9Kj^BD>A*18DWk^W&-+*FxMgTJu=DW zQDhDxlWb=1#bez>W~5mZV&3E#jx=jSN-62cqP;>Q9+e}_8IWd>(dKScbw|}0^BOWK z$c!-y^yXb%Lh=gj&p5LUi~b9$#+ySR2bFvQxu;|uBrb#JJl;G6DWT+FNIfNPA6|PG zC1qK(!6af`yT`>c!m>AvoEi`5Q!LT zqFIwguY}AbvmG+;kcdaqBr_G6?#N6wS3pK6*@LQyB;s}MWK;Wy$68Dx&Yv{1EQ`Js zRa4BjAlH@jfE2jRbDm;;2C1ZEF^krWM66aNG)6FkYwGUOFn;RfElpIA>zJIyub2EE?9_u9%@pzwM7H84kLS}~f zE;5~w`NI4dGFHh{R86IK+95bX}n=S#B@ zB%q`xq^yz&ELta8Tf>cdoL0(=Q(CA$k&j$W^WdK z7pmr&DUhp5mO=EpJm-1lE=VyYmmsez$uWRO??NKZjd^A@$fqPZY0h7peOUB)sG4t1 zgltf<9I{Wz9`w0QBCZ?rO>-cRMZd))$69FCWYKfn<2f%f+dv8^83L)Vwb zN)AD0Dft(&R*5@^kNa*VFG6l9c@y%?{m=}1uxOP?#PM2W&Vn>05m$i4<{rq$$Sg4* zqt96MS!%`)=H2*`L_FS?nvGfXpOIN+_Ce+_$pgwPGZ!KAH!|Ovze2J<;2C~vo`;lD zq7UJ*cIMq^htKO^D6TuGCv{nooNl_ zeLkzCG>ewwA@A6CW-DZhk%%k6YI7(uHA%$&tTtCc-X{^S*4LP)QS~vZ)|#0Td8JcH z#96o2tOZ$0B3Al?*_%b*kE(TM3gmAk%OKev@qE^qd(bC0iRiP=e2mNs$gDT>4da!* zuA~x+){;a#zSf)Fk?D)fkLEbYL?w$+wTMKl^hfguGU>?tWIjOVJc-z!pUl$3dF`3- zifp6VmPLOhU#Z5v%ywTm>l$*=(MHG$0Ak6<~{5Ac;G7Cdo^ZZZ>7n$C8NS zwblFxvRKI^$QC8vLJlk0!$N;+AX=_;tN9oilSFjhX2y@;(Mut-&1?vHoumNG=T~zm z$OsbgzReEv0%R&l398y<=1Jz`^&N>AYqwbevP;Q3kaJ4yEzV3`%tylTm(6# zWGAYM=`Bw`gu%rlVcB<1N*aMbk2^09c2 zM7$4h+^ow&PaE9lq}dgjR1$HuIcd&wo~R_R2@RqY4bWHLy0ktS6Va+cRp>F zX3?sXhpn{AP4jLcax5zO$N?qwShTAo;_N+d z4nQWG&NIAVPJ=wBWG$*Hl8DhSm=_>zNW>AmXy%>3qYp&Y-)1EiZ4RpbHoHRBLN1w~ zqv}^wT{hPvbBd%ool%#~3}kK~^N$%wkz;AWSf0;6W=$5oI*E9^Up3ny^C2=<%~WJY zB6H1L0a>ABH{^FES0KlgWS__@eW0W`i}q|bK6|g3t&k~8BIa|$90X~kWCp5+kceHq zVeW*?#XEsF&HJdDimD7VE|o{$rldUNnvy1vtl4?=46`@HRWgZ1D@h_o&oDP5(-fIo z<|#;5C66J=O5!K+u~>*cx6B4C`gUY)n;$~{QZfdTH3!e|wz&{eNXa%9tq#c>bSB(3 z^~pR|7ZUMF#2vE|i~cF9?wZXZ3zhVT>{gNnxu9efi&2fnlhNC7U5Fm7GDJRJz*{XJ(WYn8u@b#itC>RxL;$j1^<` zX3=M$PbMn`vQo)1$nQ#aL9Qsd1j%XgoHJRm(|Ml@Dk;K3pM>#!R3@uEGCh#VVhx9k zS27P(hj1U2#oCL^GGww^*CAV#7@za#SCy1z(H@Y9{mE*zhFBI~jdg1hs!EcGosYG? zh16EE2UYKoh(58FHiP%MFNye`RW_>@c~NEsyyA+?okh4fHzfkhihBIe^-!7q6}Un1jK zlJSsS0iLsGErG-<*#W7n z`K)Eg3_>QqwFjATBw}6pt;fiGjZC~1KbLp@N0Mgr92alB%c37grhqjNnH)jxQ@~mb z$pa~99fg!55s!;PR`z+k(pO2uqp7e}6!M;u+K@yg?IE+342Nu0G8=M2$xo1nN=~w9 zp3n0sY#Cqid@7TO`4q8AK;BkT7cxLeR~9XmM0_u|h&2ncg+%Q9^VVKe?L}2_D+8H_ zB;qwlajWpxJbLjs9=)XX3gitXZ6O~hNn+6klZfkBNoy@+CW$zvrL6O)T92yImOh`4 z=^d2I}ZbI592`u2z2a$*w zmbGd@=0M6>y;=12sCvmtf$USV994_y{b#YyFIlIN`4^c4E7L+AE0BlBO0dd8Dw2rz zNh(-fA@3kl(fXW4?@S`jgi6-;kR&AsQS~{hDp^^-;Ul;VnaWl{$ZjPyAy<^NW6|!= zD=BdVD_c{M$&!~xuVSr5rU;41RIx5Ys*s31tZL<5#4Bw@B6g#i)qq7GfIc;>9>`24 zX-kjg8rBkIRwGl(+5y?2b zA>)*+Le&Biv94FGGm!5gwJm1}kG>aGb*!>1+9eWkZK-3mMJDQhJj2(lM2M$k7OF~+ zh#9_S?Ss@I5u?|&VwUn)ZBSLuD!`&8l8DbZ>RIm~GXt6WR)1txqECHm0pxc`1M2{) z&Z4TJbqkWA#979p=gZHlXlRvX(aMpCIXARALe}6F*<02WRMkaQBWo=(pOA=kHL@;1 z8kXlf*v6K>T#lv9K&FXRn?+xVK5tv?A={McOJtArYNhTc1HHC|L}7Q^|Jp=}yv}&V<(187bkv>ej~U{f8Kx|Jq^Kcj?l^hDJsR*`-Go%2Aerj+oU2h(dT@spl2S9@MXSj4B3 zVqIa$|5T>JQ&Q(CX-4u}iO4>ypUP|}5$g(%brLc}&F~&%s8yF&q4qG*Y91kC4~JQu zrG)n|$(kf3d<2tK=g`_mS>Madx!BO!M_K8R(Aq~?dm*8fj&4EGvEo^@T4(9Zl~PhlqPC2x#9!td zW3_{9R5A|IEF1sz&N0?>Dg4+G^BH5UiV$)BjJ0-43Gdiv)*&h39h+dCX3;}CHqp8k z(MNQiXl46Ttc%AIol~uXQo@}lTMeXyJ5RAXbCq7V6Yt?Pt5-xH@i)e&Sz{w)F?F79 z&6g7HJj423O1Se(>oQmAJ*cyI49>DLBKoYNKC>+EKzPnSkj$|vNeOrU%1V(E?mXYx zz*YJn%z2^p3uKCtT`cNcU1v&9#yTk_Jl10C?}&`p)uq z86l$257y!*`mD27KhbA{wK1Yftn?>qe}ssYZnQ2v(dTE&JtWp1p3fGmw3K9Z{-j$8 zEOMoybGr3bgow^ttq-MySNf~fPfEHv!*^IoEb7X?!}=_ukLbM1S`ZDdEn0 ztSe9S`NPr=%d<|+d7ovn$T^F1exLPxgotx~zx9fgaOVS7cPZiBIAndwRqC8SVoi+b zBhL9F)~W~*=ln72pp2~xtHuUX@y zggf7`zUL}E(3!6`8P+C9=&_t({mP=wpA74CgovYj%X%awJl4Nfkz@bevAb4HDam>X zjCJ3t%c45px7tUD=={JMDka?ck@by~@G3O>7p_vrBHG>+(MOz_(f0WW5uIb~=;LCB z;m(=u;!?t$v)Z+#B9h8|C;Aky3!MD# z8CA%xDkWK+y+!QWEb8bKvD-w5=v>quC?&koV)oZk!YeIdZ{jL-MwPOEjp!rRUdlca zA!6;N?0=+$JD0ZaNC|g-!Hzy9R>5}#qEA^n5Fw&ZS-Y^5aG!E^87bjDYrs-^b3Ic5x};u^QR6rG(F@CUyfB*;%|!X=1+@A>zK}ZM&P4@G6?xQ>BDE zH>dZL#83G3MGJd_%!Kc;TiDwnp?mBW_5n!f9=nBoMoRb|yM=uj61vB3Vc&ywkIWgkKM{Hz@qN4TiGv23EyM4vO7XT_t>rM6iDbEyOljtO86eTmAy7X z#Ia~?@0AkXvG?s`Qo{Ee?d-o<)cr;~J0qfxIHNwWy|e#4qdMA^q=Y+nu~VdkkHv@f z2Ch=qjqdg@kWsiAcei)3s57d&eLh0ODtg$_=l**}^|Fgg36Isst}P{5Uy05i*$r4^ zXR(Tp?4A)K9vA)XNm9bA7+_zN67D?6cF)VT>$}l;h@B4-dhQ-#7i3YZ7-CnA5V4A( zc5^A=v4+`6Qo>^;*qfG@K0-w2k@g=_!ktIk52S=UkFkRncoh$^ zig9*+7B%N_cG(CKoj|2;ZC*-fM*>#t&^o9vd5aeeq5p-pys z7PabEo~!6McTO{mcJd`yTs6Dam?wto;wWB8yt-A9kGx5i|V5ep^a-rF-qx zQo<|UZ+DKU5-UAm_lpqG=YT!pi9QGI@lW(QY)^}*5`B)^Uq^`ObJSk-M4w~!k5BYD zVQ-755`9kD`y)j3Ic1-IqR(IUl_&a~vHy*z5`E6unXbskj@&WP=bUXz3GdH&JFk@R z{#>*RMO3|2ieA~-6(i&b^|@@n`9z<8?2n%4bInfSD!t}8@m&e}o|Qcor*ey16Wnsa`qcZ7(}@y=&b!gGGsSt}*nxq!2mt5oMg&XI^dV$Ow}YY`$k7k08- z|L>fOI;EwAI~Q~6N=eqA&&gNp5>6u)IcIS{U&84aA>w|%q%&Abc+RDr1yaJDUvRc@ zmHfZAr>Ux}vqwsrc9r(0OKu_OAvwCTlye?Io`byPxHrTq()8*i8Pun|Q;0=tgiLv- zGNdac!D)=DA*ib0w1>=4@)6{FB_q-2cal3aRt0A!GAEIF*;$6nO%kz+mz{Ko_}dx} zsj8xL3=;JrXDT@v5b?QHrWW*xv!mY>>k5BvRmJHjB~44FD)Bj56=w>I{soEnjI65j z9b~zZy^x(su0t*>F*0}$t!|+{B_PizsS8O^(g{*W$wO|7SHfcB^4nTl(b;c?vsemVXHdhk;&1W*HztF0x6_q2c*1`i;!AM^xJZD?QIhA zxo35!5~LG}I2JXWu8{F0|Dz*V(^&3sb}pWe=LDQVjJo_vn=bxyG8yGg|P^O2+7 z<1_OrG9NjmA<@0Ks-M$}MK44ms`@*FAWfBg4jH24d&t*H4zg%_NyItd-_h^$=r>8k zx%#nF2@=cLxuf|xzo!Tt=VPuk=_K@pJhC{56 zc+N@AY)CmJKS5e6IR@#ifG9#RUkh3J>TupYC zqv|m_k977RWP7TNeC9NTAlniCj_K=8mO>~waa~7FYXBXtLl1mW(V;(Ej$&pEpu2mut zeNvr@EP8unCOOR@la%y>e5+(KWQUTKkmE}Bv1rks@Y*LidS)K|c@i=DWG4YqheX^< zq&Zz!^bbhH{!Dd7Lxw3?fU1S4n(7>d{7fP`Pj_-;;jvDVh@Jo3sm7vb9>ASvIIWR+ zjzm<=a3(-rhJ4{{gfu1*Go0z%M4#U1Gt05E@-ZEwq!f!L?h{_7`-E9e9Vy}agxOB( zSe{|^MD9G>nFMJ9nd@wo60Z8nIgd;)%A``~ubjJ(!6eg3zIL)?WV{EJoD=r#NICWT8_5@+*n>kJaBeuSiMJj*`ryKHoTvSk!;HUF`Ib!v6<+ zHDwk%J9F}U#GLPwEOm}ULUUf`T!Mt=yxh413C($hlPMSX3C($hV?jc5{?_>)BsAxh z&ht{jb6)8ru&6nI=QNeVbB=CF->GoA2Epl7{b!UQ< zG;IUP8zetCizB2l$vUTa0ba#E%B19^|1#jzija3H^P_W8N_g~5PC`K*EA#YdtpjB? zIj>4d)hv>3BwL&wklZBwNVYm#AVo=rl5BS}ATN-NCfVhbEhIXpYC~Y?g5*~e@ zGfPVNfBx=s7D!3f-=wPB^vZXivz#+}N0R$ezDH&ViFoH^zq1LM2_)k6@_uJKGP9BS z)A<9LACUReIf6{;BmP#^0p~O_dyzTdT$YliT_9;ujDCmL>0g-lS^GR%n?dV31-@6kA*saPB}-V@cAR( zopUZpITw{yF-j}mir$@b{^2U^-5Jr^3sM3lWFM_9wc(uy)yoB}ThITv+{ zqyx!SC*wtytY6SMMsm$LT2{yw%_I>kz3!Za#FO-;%ys75yd#DGllx+lOo5N3g#VL!ra%g3qC)>UJyT#IB=o=C zGX*wDNmT!lIaA;$GNJz&ojGs`nb7}M&K!tI;8leFOL7+a?K+wjUPUI*RU#`SJu3fA z`YjxK$2C?-S&}}j>0Lf0)kx}4Rn9;j*_mJc?P){5?G>mbh2H;J8LgcnF$2pZGFM3K zKy(E$AFhgepT2hysLZ0@qAH6dcik4Sl%UBMp7)W57M1vHA(TnUsA&7M#+FyldCRM<`>G846I_&ACUY(QYx?x zl5;n|8&)c?1yVpsd@a!@MN1&zsst%%T3wPqWuN|#_9RD0N(YWYdXfA^@?s$GE22-D zHU?5I@UD~;eILoclqnzR4f&fSx}A`*ELzl_Xib;$1NyimIY|-%TOh?q9Fhuw3lWls zq+%e)t30~M6eOtN8SRi9X`foY6`|pANK&PnCq`GcK@Fu9UA5qUy6i zhLl7t>+jK8FRB_Jh<{D&VY22zCIq%hNzy`Bzm&iUDd(a>SICKhf21U8q3hv9Il88$ zXD%E?|Eq;Mi{C#MKk1oYCYek!MM*u9`6M%xv?2MKWUi9FBqvE0DH%m_kz|RI=_LE; zGpQ9J$vK2pA-s9VNZ~UxmO8Htbc_&_WL02Pgybe!9as<{&ycJMY>SX$ zB;N-vM92#yKLnh*@(h=s)VxfxK2Rk>YLNUG=oBGukZcM}ijXEGn*%>ZNK2Am0)IzH z2a>G;w_bRxo+Q5pszt~Ek{y9AQW7=sO{Wngy8?4KqyI)bHiKke;2X#lk~vbog=9NG zzws^Q2S_23rBZ%|R3;Jk^ZNqZA#ak1W3eyr2jqDzihk!<$YCj|TGoT~94Gr+gj6Fr zOY&#nGNcE|KO_eNMcxoAP1DL%roT=10o~6B%1YtaAVHGDfzPF+YWt`vKgrR+0x97u z$+5r+u2NT^0-%^ z(N6?+A@eL{YLc7^9ENC3qvUntRNy?MIA!W4h)f2g9ErGJJr&R!@aUJ`;ZFlk1?oVm zVDwXgp^$ncwdGiMAT3DhOPTQ|_xX+bG?sF%k&r~Ks~YPLWH5<1rl$gZ8gpi%k_^Z< zB+X@?GEGE=cdWgX+AP{B%5*0=9cTi%Od`G;erYfsh()2pO4RCPDtvuIst&KpSX z1!h3{ll(&RATa7ZQI)8TCHaHoQ6NJKe*)!np#PT?nAJ*T(xciOoY*g|krkNe1- z7mw~(x0RGMT^#pW)H&AeC*@ph=zc8LO@f5($70I4 zBy>L(>;3`>-H*k(e?UU_W3lcDNa%hn*1Ze~-H*k(cOjwsu~;`tJF$o7Vng?1v91FN z-H*k(@sQB{SgczD61pFYbzg>r?#E)?+K|xwSghL^61pFYb=yEf_hYecHz|pF^vP)L zYq`%Oqzu;rB#WhdhN{rcXLBb)LOY+$odyZ*d^UF$B((F{-1(5u&S!I%LP9&A&HWA% z+WBnmdPr#Jv$>lgp`Fj>Zij?+KAZbHB((F{+=GzN&S!H^Ktem8%{>PR?R+-(Z%An8 zv$@wHp`Fj>-hqU6KAZa(659D}ZcKYV?xCH}=4O||_p9QZ&*lcCq-n;fXl)=(8qA^NJ-WDkX)dQ>DKAQnb9OO z>9wcr`kjTOXkx4zlyTg~U05cQ+#~VaYF(wMcR_>hX({2yd(gckC0SoWRpRa<=-%Xv zzKKLUdj{PH$b`NP?z@>j6rG3b`;qb8oKlkYGw2iNy2#u`CeHmIGP(ZZcXxBUg^(#i zBJLb=yQPq+K@!!G-l1~KBU7Iwvy^JcG)JGjZXIO0qfcJ%mhW+F2A-1m{0 zh0Ool&d7X&%>Ufp$gCm}cZ2!e0my735%);>-6UjwL!WqeEHY=%C*GZm%smqEyz`9v z1u|Jr^S#Y8?$=VzMQuJ4t+}+)XWd1R-`hlK`AG`6D7#oPob>DsgLd{0u+?F{+-9=$(g&^vE# zFRs#0(O9SHzOJM@f;0NV{84hHCEXPem->jcmvoOoVwJ>p7xPKiUnCK)JxjW!AXSvK zgw!RuEHh(Sv|c1*^V0i%?gmH^l7S>Ixc@*pqNI3CRG~iNaq)_~MoOYqheZ5+fLGl^Qqr{EBrPcOs(T?q+LP3FlX{7< zQnjxr)05;iw_$G~DO#3u(b^{@ue%-l2uafllME-R>mG$vCK*do&n?oIGxZ_$-9C`E zBvUEV&>i~`kJX!G7Rj6LD#$2Qz2zR1lBRt@vXC;3-9SIC+C=g#NfWmYH194+?@bqcZ7H*M`dCsqs+$DL>tq18w64Qy^nRJt+ zq-sk@a*?!k^-r)0>}m(sl#-^OqfA*k!#ld|khx1zjH)`iqaq}Mq?4Ot5ckP>fv$%n zo!#P)XGofnba8t?%8-0W($!rBsY#MZ@}YYH(ugFLq`O;bFn4~BWIjnxcNL^F$#*2Z z+~PwxGnix(Ngp=>l9gVA{6X@O+YvIHGABv;yUQVSNY0ad?4EXCe1U zhPulk+ek8Z*0d4sQOIr*gJh(9r7%=WjXz4_lZhSa7^0?AZ&Ddb&}>LkDt*F6bYMbd<1o_h!KGf8ujuiWBEJm*6sZAiX$`$R5Fl$8TB*$YgLwOB-<&o*=-7WOtP2c7k8|b@GHcv?gC^!x)iP5q|8=V8!h_qyH5{D zwz+v(v=qw3bfNd++0 zE=Oy*sn0I=AXmwE!=548?M@maI;UzwC{vo`54YYpmI)*^Nd9!|e8$q9UgI|+Ipmfd zFN9a|9?4O+ofN)j>r8UO&4|bhAUWf%pCGDIw8_+Y0?8$}YYNLkl5a?^yJjlOCXzKI zH{H^cSPqixAoHM9KeljNiM=-wX4W0H8v#Cn0xIph8ltra23 z=B`qext@ofN){n@!?-lUTGBlvzxY$6LvwhmL7JZyh9bCgk%rL&m+$ z$26a}1G1j_G@^UaeBM45`L2lApZ|GRrKD+FDI>n+mEX(qm6&0&wwGiTjUMlngj^!| zk>pwLbx8CzdQ_4W^twX+N3xfskXPhu?o)x}I7tz&Kco@KWs>K;^^mS4VyqHg-uYZL zl0=ME${Q#pQJYQjkmLn#4`d@rt`9Y>oY!Xo@9IeskEFb}ej&?4l7b{Jd-2~08LpST z9<5a%sq7Vz!aLtx%5o{GayR;sRQ1wP75bgf>fUc$r7x#G;xSm=`xBWBBtxjGx_2CX z(n&^0IVUCj=~4|Z(;_jS6zw2oKBG(xuM*@cNg7El&s@xz*c*IwYI_4%)bn5+Z-x{; z=f9?^I^JR_{2FZu$!m0^#ZP)p@pu=%A6M5)SR!{ro(UT$Q`c)E)0KY^SRFUN`Qer<43n(!l!&A|7!EqzvXN?HXl{NlB3se&jav=5m#s z&o#<4^tMRhXPMgF=nClhOU0a16A*&>@j&FSt{f<)hYl88P%yf;|1A|&Fupr`jXq%ui;T31i69jZc~X!P>> zAS3Q%JnGZS+XE4wapWiI?d4r9=dAUkK1E6TdP5-tMn!3*rSxCJnb8=%pSNBLUU$=c z`gupCr0KUPvy-a&d1qL(H*V8k)RfX=t>}}c4I}wWN|Enbwvk*R`NUfa`3qIUytR<~ zN*ewks#3H(|I+hm5BjTj-cU#hk}@PCyya5(+^9n`+UvPqRE0m&O!0VyASGF=Pa^htqE|XXKBCc6y@nCeASZoi+uJE6 zQEN+8Ln$-G+xU~{oTv>XnLsk#E4zth2FVzfDN0)`H|`lKEZ}DZ}-y zB;wPh`CdyYiFy)=7;C=w0Wvd4#5upf>jqg(BF^~*UOy?}tKUK|NlL2r$GvFnxt{d8 z$vYw?S-(soo@Ew!ry=_NkX(WkS8@~5Sjl}z8i}}uFY;o3l`GXlf1PrXmmTsmWyE`5 zi#!MNK=sK3Dfu8Y`g4$uB;xOME%J&%7LYXmK*)=bbdplEu0>u&DSV}^Dy2t+)FxTt z&5Mw?NWS&TNpe{kk~ zlKmtnylQ)eq-dXzh->C)Z<3TWZ6(QB%AE0P?c>Z|lB~Vx^JUN9&wc(O@kp+Cb)=+d z*&fr~GRakMC!`rkNs?>cK2(Ly)$3l4KV@fieZKDfBqhAk>)tjN?O*Csh5B6gRvi#k zX_`yl8f{E+)2nlkr8J4SKfL9&lai`cArV!#y`7MjB<)G=c*h|_NxG5T^{zn{kn|(D z=LHY(O4pEx{kiWIkrIAfJP6&lWDb4e9G0J{Y6SHO%OR3+Bo9^94U(xOkCkMOiqU3~ zX!Lss;wL?GZjwbL(Mn2^tR#t1Qj6qAlFUk)kZd8z609fZOz&Qj{6?Y&J3@w&93_bj zYKO&2`S~J)BuB6ji@u36%|D=59Km-XdzG|>oFNh4$}@sprG(FCBUtYUADw*BG4ymM zGG9yKv9gm`!SAG`sOKg-xL!)4UV*B_J)0fe0;x?Rs_bCtqujX(iA~}JGaX~;MUs!i z4K9YHkUUS~2b&xhnR8L0$zY8By_wA1Y1Z6?@yuN@(6i_R#7-;os=t8JNA6gmlEEw=Y#Q( z(2hMHEG{Ly_F_T(6wf)d_F};^kkHzT2kZRBnb6ux2A4xZYcCb_PycuAWrF=7p|!sd zTnh=Uy=*W85?Xt?;Mg;wPxu+FeDI`{6zv`z!MAAb<%9ZJkxA67m>8`kNrF7*Bfmpl z5yIag7iVT=C86(&h9&fU(W=1-=S1i5c~~uYM+$xWIx{_%X{>6&9_K|SjsE*sj5eO6 zR`4j~Ws+$mb%LWVa%Kd{Y?9Z5eg0;dL^3EVy)FoDgRCN1Lz#Di{w2=rBiTUGEVv$` zXNl3$Nm>N;e>n37$!?OC!6H{#dXZcp=@J|YNh7&Q(k-|TvV=subK5hx=Nec2Nb-m> zy@QvpvwTjwDz2h~f{kym9HmU45B&|~;1zvfJB^8YlD4Q)br{0PdzR|!jFqn)Mwp)9v7ELHYgE~i@PM7 zq=;vt8nN_0E&I~D%}U-S$wso}KVp-lE9ps@JS4yVM+%T^4^EYHJ{J}0yfc{Tkyz=u zs8HwMf@Xw>&U=DWA9E(ud2euDgow`jf=L=}inclCNVXX5U6MaB`j*U>NyKyIf&a++ zlsTxx$WG@5$zdf4Bt1!vC}~F`s*VLm%CVBQfh3=hoCr>ekl`dJgE^wad{VU8lo?0z zSFj;uElC>5+2DG}ZzST(JRjU6B~d#?GK(@7f_=Uy+67GG+2ppRn8|DM6A+Rb|Z?qm?De ztRx?acxNe#lHw%QD3evmYb5nZbS0fh3U{D8D&O1$lXZP%R8Z}_{`#XrD^Yy z)TGxkIs770&dKi|iv7vyCqP2`WBRosMC^~_H;WLlKLNiZB(xg=KSvfZ*14$AZn%Ce zNN6`azdt0jt3f{|D_4c~C+L@jg!aexS3yGi6X#FLC90C?uUgQv%*XT&u-`bqeL_1H z@4pKP?O443J|whb@%|tw!!^;l0QHIYr$Caab7hi({*RDUl7=MD`v;{Y((f(DXe~&J z`#FMQ^h9krNmr86{!z$&l8;GV^fSeA<{F9E!vw!LBvXLTp9Fs%BoB!=6Ds%{b8}Tq zk~Hd5*`JVyr7ekgcdn{GDIZH864AMuZ{}wiLo%1Ds`=}mWtmN~n54R&qcF=_lH(+= z`jd*VY$p+&Yx_l>XSqOfpE7m)38jUE-y?e6zf(#`_%ZmpJXa&{tU|)iAaS42Hx`gd zj}muQMM)Yc5zio%Ng6-Z=WUe{zlkH>lWD3%^r=f#&6J2fUFbcT7EkqQsWPHZQ>tpE zBy^`27SZQD%CwOgag_+Y3V2^hoExKcpiEe*L)xiKXOdo&`9Mh;$q-@d~J$e@sgFezm)QMoRcq zKzIK#B=jnvyMISYnpW0}(dN@wJ^Z{ch&hK}7xeZ22MO&)U%#=GRP7zA+CWwP{N>1m z_U9A7$cv&+D!m`dnSuUtDd(a>J2u3(%JNvD9ZU2JNJ-H?r7H0bLy~_-O86DfNWWgW z@UDtiK%@L6Qo`>QjPX}V39o&OzaA1=`xt+ll<-Q&`ek3@`Gi(F)}I9lt?M&CsXS*w ztC-+VNcit6Ci<79gkQN#_N!G88GhyRC+*l|zawNmt@Id4n!i{I{r(rp1(K}dgcN2KBN*Y$TCMs zZW5C+^OU?qlAmP0Ur)}Nk5?Izh5mFFb*0x98h^%wtv6h2oQ&=LH_FHl`nCDQxFG1}WC z>3$!`FgjjsNVfTUO_2#dU+nM$Quw{o>6F>wCrC-tHdEDXlAZo?$Uzcum%Ce?QK5JB z_xN@#o^$A3{XKqRDdBTtk6%_w3f(u;oiKIY<8MS&=(`Yq_`9WqKSB7z&yW)SF2r6x z|0`mwB=wu@`~2!shU*_c;@_;_@4p7gps{|SvG)6KO5yJ(Y?RVTN_uQopI)s?>5oiq z67dfCet#{bFp2n9@P5C}t77zIy)21%XZugT2c$Nt{`BWTnvv|3nN5&RDsvptk3@9- z(|-UNK_cGgKj6Eyd92S##QXdQ`~=7f64Cjf-$Y7!>@Or@&IkPuA^S;0=Y#$jRGmfU zkUtahm_)4NkiQy|BQ8e%&e0)%H>CVA{_7Tp{mYOz%7|~P9`-ZW;Tb02dmxAXXCa|) zh8*^*v1sp6CO@4!hy5Oq&^I3r`}4wZC zl9+)aGZb=!s!G#X*Zpx)lJo~|l$J}%bSYb6N6{nqPdcNn`}3qs(&kbh@y)C2{^I&# zhN;?067d&4Z}``wY>7J9jlZ{i!_R=6Rq|>BQI)7wrIm`~e#379F>>=GCBttgB~=q5 zu520pO3vtetMf{4`8%Y9ubH>}y;ArYWQ#$sp#5VJQij%k+rP=8&V)ODriNlZ$=Vqj zs{&>2`u!o|H%V)d-19Rcq%O&Qf8d*3B{D5Y9{SfHuf)>tV3IuYA4EtulE;3jx424V z29rd^Rf>?2B++rpBV-CmrnrMr=u;}1;arj|aq}99KEpN9XBCMaXEtWZmM2EeIeT13 zDao4n_Uul|&PPeh~Ip1+}A6&VKIMW+jB* z*3q>msV_XW2)Pv_H1$*#bslvWB&=8OqB67WWUV2@*7vbwYD*yZLtMRRSCygXNm3x5 z-a}+9GF>5+_0*@-bmc;5xmVSnQxfveTdL|KMEvDmRUa$jpKnyvCyDsy8&&lUBL4YC zHGP|if4)&o|61g0^iKQv>iS`kpCLmq!s_~uO0?zJZ;WCIb>lIIu1c$0^>QL5BkJtp zR{d5bS_KHTx=nvTG7g0Ls-Zt3;-5#=&^w9v=RY;{?jrvAPYwMUk$X{x)`S}RAQAse zriMOJ#6M@Np}#KTpWD>XS1Zw4%b08EIV|Z~d&qcm_q7|+Mqks1#+)9y4H;T{Q}le6 zypVrxlcMio$&YWjDf)LRqxoktDf-{44(}o97g>s4ACKQ^{NT-9eRIQ zZzs|b8Ira-n&4kvnSRs?@`%2iGr@Qs(buqKYU#+(`OhQzDV2$jr=4ENlBT_a4DEl~ z={x$;c(SzjAU~sWJAGw;p7!{dAJsRo1WV^JJ%=Txm2;D|&^Ua}M?WhdTab{Q1*WU&RtEov!-3EWujWRbM)U>flRRsC)-1KcycVp(GX33X-ayPmp$yKKha8 zRpx^#ILC(c(~FKI3FgnU`bd^cZ2{`^Mdn$3%8Qgq*S0`tnGVz!i|iH|q_1a*X~!Wn zHwNo-N2$vG+A>(rNf4?tSidUbuPsCL#-piKFn@;XDJ*H)RaBYG^dL;fCnn0`#e|HV2?FFBT{BEF>z*DJCF zd)nc8Wfr_slZNN(PK*s6~##7~(HaMEBor6r&GbX5M_usad zsJ|}a?_1JkYsxS4B3jYb9msqL9c2P}19B0S<5DaKa)o6zS606r=(l;y-%g7atDLOe zI390=#f4f`f=vB?y}uL}zxP1=-e1x`=e`P({NCf4Vs!pvqw);BX&OztIwPtAnW?W9 zp);adklFfIEU{1+BfP0Hj&}ODENP+IkguDO{3w|gkossfM?WK($01EwF0y25{U8rP zvhS*Dju59ZHO$m@DjmS8TR9>w=&k_r*hWrb8TOY@g7Wx2EbOOm_$$SO5 z0kT$~C7I)pn^+dGsQc8FAnWvfEZN%c$as(qdgV#Hl(kY-leIe`@AzwPF_Pwx&HBBZ z$YZcNTdV(iifc{s~Ja_eImST|cBGel`9>{W6PMIyAx$^$9T= zPd<-_df%yEVTpy7pfXKqo}N6JGHIdp5Sr3Fy)=ueGaK@;zIDpAb$02^rt*~X`b>R& zrf+2l`r4z{e2FV_W(_iX^}*9fvb8eR@MIC>Yket8K}mmI{YHOX#9yPn(N~N3Yt%RT zAtmwc{TsdFbgHbjZd#uY=qU;EA^JL~pG^?j102#T&rq%WJ-}f-gC!QKgAvl(Uf=1{ zS<*tSAoLW*cltcZbb-(w@`(P5WQIZLD@I536)MBio{!$Y*K=8dt?~ywU&No%AM`yU z{*?Zp?_*Kh&KIcjgI;DPjX6)FZJB;e9M>zcs9%3H?LX?ZS=8J(h*m%8sVu>^d_rHu zqLwoK);poUt?Id=1vq<-*^HfMQ71e1mh{t z?_g2mIf^kC=#5x{eak7mg@`|%Q+mpEbx!Hevt)&;R8Q7UqRuIOtP-symEF4S9PQL9*}-mSPdflQ&^mL)CJ6!IoZCzauK zY%Sz({W&GtL&$7_T+zpfJPFBxT-6VW^n>h$BpDs%a$njwNCBj{aaLrZNEu`9Jj&qj zdqT8{xZ+_P5%~;aLBhs>Y?b*5QU~H1O&2J+0J#U^87U$++?K30gG7yyEWw&k#aP4= z3pGcEwy!G2GSw>74no^k6=Stzx zu}5Wi9;TvIb>rIv83d_e{3CU`)KGP58KH$VU9r#z2#v6oQ9}vWp~|(4x-7wT)i&BB zWazshwT<=(Lfc>+qZf-h4*uEKl7R z{A*41jk6*xPpZ2ocN;YqQ>$Rw?>6ePsI8l(;%=ikOLk}p`r3uQ?lw|I@*y-`cN@>C zR-xY^bQk7sW3EW?+tqa4ZPb26EsKf}ny$NzJSAFn2%WDsFzUX_8SP#O?V}nPO_z}1 zZRHHyQ@|X%$LN|MH0K){<5-R-J%maE*)wEa}=NWa#Q#Bct6?s+_Lv zg3x#x8I@im$xS{Ap=rO*a9HxV_k*Z>pV5dVO*7u1CeC z%mhev^xoL$#&y*C^EbCjXDKL2Z!c1vCdOZ%P^`Mc%65K0!$oPyUUGwi8J!~8i@$WaaHU3Tzy5IDO z5qh1Ma%dywJQlY0s8K=WV@Pq9S}d{9Aqedy9y1z=6hLS{_L%XY$VEsQv}$j35-C*+ z*RffiW=Rh@5ChV|c#b8F?`_f5<_^XPmbu!U$T*yt%@S;b9gQzp)EO*YweDyfWy$Az zH?(vfH_j@Ff4RMr@i$AJ)?;##b`0A^C!@r2n)W=+hU|uPHY$iTfY6hMPa2g)QXurZ zsf%%^$YE@8-$J??O<8hF`PavuG9DHghbv~6aK-E?qYH~#pJ~k9j8v)P_ukzYA>#Md z)0o1NrggyFpx%2K?IGk%gx#lcBhja%^@ za^t)bjYjwmMmXMR@D}xz5z0fWz4*Sw1f!`E?HJ?(WF}lQ?Ry~;uaP5=jJRBsIW{>i zSL2e!mDM&#>&9ebD@#EVEqAIj#VEI0O*;woHO=V2lFwg?_ysb<7@8m#Av28yEVvJg zzOF!K87tRNopcsjg0qeFBK~-08(Ue9C*4v|)B8(Ud2wWK@o8y}f$L6#ZSH&7-^ORkr!eG6G`ye8s8{(!t?WNcJ*NN%2lt0Km}ca+=(sSSD07`cfg zO?v?HFyuqyG)ubn1mtnZPNTtQ$`mB^gLH>{WSnIQj&Zq0!4}HILNR3eAd_pHV@V6m zhYVr)OEN1-@C!Q6_)jwLLB=AJXN2D6I=nxm_3&fEQlfp1%w%LfHX5*`Y5O6WkWY;L z39aZnbC+>6LFjMMerlXf5XyXJ{C=H$Zd|@j_83LC2IJX?zP>O9v&dFi2hVF6FS6vv z&)E(b(^#^#ll5@~>5r=-#w#LML=GD3SYn|Y?^egbL&hf}HR7^QTAiwdukoYzL&nhr z`2lj+_%A_zhkS38-bQ22#&bVO+EvI8#$zJ%j0e^E(dd~VH^y)k!gwJ;EXXNiF-vd< z;jFQoC8j-u5#E8!S)=QFJb$z<{?wW9JxznE<>ntNwd;!B^4TATSlgo zx!`jpw?no;%9w>;DtQ3%1>`2P^j?x+OS#$nj76T(syeQ@Or#ow z`trWqUIryVUnqAo)noZnabt`k(VJ4VM?o*|B9@FJjzmP zpPKe}B~#U`Ao7W1s+v)egOJW>Rn4p+avIW&YHms>Onqbi5{TJd73}wyUp4xYF(vm zr-9j2iS{^JeTP=}n6nb(6y#p>RgvzRl;+u0qQ(p z-f)PgLZfMK329^MN_g5IhCFCiWyvk#PsM{~tpuT|NHOnGQp%r-N6Z#1YRv7CdBp6< z5{&r~^C^)=jd9hHGXq$%v`Y~BM&cvpVHUMUove<#_U2h7{P#F$zwxM9^*fphb!_U5 zI**yP6J#KygV`iO#zH!oZCUd9o)kTE`=r@P#J^I}#q7xv3zcf3e(ODDj$=s=MIrQC z?j7fk0mYC9a;QoG+RB5E^qY^JB?8CYj#mk0Pr_ zsK1fX+x$=DT?n1q^fs%1&udF)h_p&I`-+U0%Bkiikr|SC+Po;TP%=-OO^>QNZ$Ri- znm*<@k#`|qcL*qez)%D$~z= zPKov)emhXBe&!^}=*TR?^6F=<6uBebDqqCEdeG1OLBzj$(9f)NOpWJBv|5Qe{Y_V7 zh}7wCb`yy~)^g?rk%f>=EbB$qKvk0HOKwoS7kVQ8EL~^&&-^t5yTeT_QGwu1pRzkFlhMYC;yeBMPg5qQeSi_toS$mG zmmte9S6?!BvE(OF<_@%)Zm$1XwenD>9%Pm|;f(6*AxJaGZ1a7VyrljRsyxU1Ok}J` zmdw?>VlzbMn%{9IroAdM&$ND_%K1rU(R&+I&NdsIRlU!B0oT=8mL^CS$O5z7uPU=y zGB2B36NECan0?QwOiVIM&6OD)SREbk@Df)c#OXyrnPGMQ)AD5s{R*w7fvAa!b92=kV#9pR3GHB3mG<8*ybM zkSQ?;twv!yZ^>NEEjt-P+t=#2EQ!kiu7fv&AZci|+8lFHjc^}?t{<*7&$DD}Cm=5& zv)1f!i88qSaKGB~uQTVeq-nQ6XiC?ci~m%0-oWz8LaX&=&A*gXM`i_Ni`ibJE@T~K zn>kmcEo3X?ee*;@CKs~Ztn@e4$Jb-GPtH*(_;V3~~Uia?O1r^QBd; zdG#`nC-gRi=1;D9%N3IJ&>jf=TF*62krNR5wVrEMX35a5NS!=$J4?2vx5E33=qu0M zl^{PuJ~6jmRh4f;hWh%<+#zx=gtm*%%+FcUv=qqSX!W@{_aAB%JWsO6+{==i+#8wy zklAC_{g*3iLq)zc%l$`^o16wI@e;m*Wu}T`L&`$FG4oi`wH1(xkp1Rf$&f@K2hGk} z2zBz3wnJ!{9yYtOWN3#V)sZ>uZ@Fd8L1?zC6r`Aa`1HDRda{P3J6WJPL2z` z+4}j-c#FhZ#Fc|{(UR6S7WG%vlBePKyOk?K*GWi9TYD1ZM#zoUkpu}tZnA!139gEi zw=O7&U;im@g-X$M;pzPcvE0$Byw!mvPiy&Hl6LT3ym4U7Rub~pmWtK|mRQKYFH_OF z;RdRM`yf};eVK~ZJuLYl|ID+J^{9w{=2^)aFReaB@Asm2-C8Pg2-1w@bXlsLuC>A* ziN3OHSQitdH8Q5vw;cDbokA-*7Y$omMQ(T~nOoUb<(pKdGUPF|ideHn?t*lOxYjY2 ze9b>kh+3^~R;@ZBL+e=7>cEoEXAX2$5Vcma1V@l6R_GRLm8a1gSUK3wSFutnlH_at zaj>d2mL;b3k;+xA^DMbV{Jlg~E2ENX-kcb0UmZ*%p2+T25TrMb%X7gV0f?wKco4lCzR&V>PIvqrAiUi1lTJ&W3F(XsmpYZps?$xe@8YeJnTt){n8o&1tLA^%`c@}xDCB^G)XLhD!; zD??-igr>BMwOCq>htMz9uGU(SYzX~g?P|R*@-~F}ddk|zl2`I02=(=p)vpHio)J1I znQqn?5xUDs??iO7GDI#QLuXChtfeezq2ld)*~*fibR&e;-fq@EEHSMDgqC1;t6WX$ zE2i0y{uobps~t;zQZ2|ZNDpg=Wa>l4LV8)%Zs+-v)LQDKS`ApTG?K~4q*_Bo9)UEo zF>Y&2g3Lgsk9ACB2r}~^eXXk^GaxTR`dhW{puV!SMUXX+0aj;`Hz1oK&soD+CTW`? zA3z3LMQc&3kCXO5Xz2{Ha#-f_2tP(#3lE}CP*tsZrhTtVh1 zWJXx)Man;_jE+(ts^2mk+}+a(VBY~ z)d|+sQF6>x*R1HTwELot)KrK5N>Fg5zHtVAqs4`e)FxztwSgW3Y&?6Aq-e0pi+^t%rLS91VHS2X2 zHCN|CUbl9!gPerC1GIwbOJMZeB57IhtR4aU66I+GypLRMRUvjk^)YptY) zG{TtnIi`!2;9AQOc?QQy+M3o{3s~|s|M&7*t5C#0|Jh(U_o_OXm>cx&{|0LwOK|?P z(fWcVILd6Y3Rtq@=Oml0Kctm^on(tuvJuZi&A*ni)pA&ZX9>3D53IQ&{*WNYWA`rW4JDyo zX!Sp2KDEAJNehjJ(6;lbbwFeagpNC(T0cmuc@R1)*lnE>p`&?!JomNRD%XO0=db#k zsQj5Voh3LH?6JnQq>NgE^u3Ec)*L0F-*2(nu*CT7 zm?p^V<>Li1{60}D$X6n{CAzo4F|G@Kzgz9OReGol`f7{JH&z#ss*nyWsVuoSG=X%1 z?6aO>3BG^0&l<#nUt2Qfebx&q6PgF1`Ml3s$%1_X-d&>c?6>w^SLdMhld2PchT)*~ zOM+0HgVyEi>KwAlwW7I^Tg0EP!`4J4rTj4;wkEOUm;4&zp);$))(n=slE)x)v^s2U zQW<^&eJDowo%JnCFr`PVvn;Vtq0~8IU1UiM744|%9I;wHK;y{^`IW!72C%60kj}o2 zT6|^`OiASqOMfzfD{YA*^Vk_huU>c)_#DL39n^| zg@!;1Shk3ag`8#iKx8t6wy!ebe3AJOx>r&r`~^#X$+zQjKr%ZZ)t;fuQI<)ey%2hW zy-fI&WR6MZ#_(^FIVYJL!-bOZmtfhj_9!o}l2?(T@stfGvt)#BenM@7Wy7Ue@TFqN zADD`=;l(V$Hh6P*hms^ZZ}|_Io5R*)yiAi?pcTn2;Rzy7Kti)|eItBKWI$ZTv{$Xh zL2l&C<_=2cLTpHda880$g;WgZioAu)?JS=wiGO3EV)%xRTu1Ytjjt50%o5XfqSf7K zRViFky6j1f+KoGNE&w>+sN9G=igNlnP3$T;D>BF!P4 zA#OOev&yuE^n`ffy&~Np{UOnC-zO-On@r~b!yuKzn|dpmfXpaJm9UmdlCCX+(7I7I z+~8@Fyrg#_bVgk@oFnq3NVRawK9tGOeu1Q;PW5o=03}x;Ga$ExZyQXKsfD}X3In7@ zxPF2xhtvuW6KR0VW=P%e1d)dzIgoncH6q<0pF$dhFN%zZ9Dv*#UND6Fioa9SB-~*r ziP}!@%ETS{@YV!LfwT&ThEYasmCr%ihRY8piG`A$O4gP@I)yEk^iWv{9fdoED~s3= zI(~Huw`0LqQXzEa*(p4LC13N`s7~QyBK~^VDco}e^_8!Y(0bT8Jb(q?SwfvR(0k`_ z#z>X%*PkcCb6K*q=aAWm%#-0lk#xvTNVo8b7pYa2mI?V9(mPycl#M&G`A;%0ginb4ubZkfGCXFY%J|qr+!eGPTBNRRwj%glA8pOs3Wu(ik!}d}y+gG|0m& zW2PvX59tIM7q+G zW`y^O{0&(QnHAQisZ4Tre8mVdJ6v}mNt$Lu=(s#TJmzI34I$f+nIEpZSV>37Cy<5V zJdpvAFCdG;g-catJmg!*E8%v_l`Mk%0$Cb9yGqGck=Md`Z!7siWLbFmI+EZF?RA`U z(7*gLpW~}Rw8xH1vCEfnoJ8fQqCkx55V!>ePX(3IBRsops^r8>p{>c%60ODJ-ha$?CXk7M{zJt+nZi z>o%yfA^Z_b@QZb0c%NkGs{RAWYz!YwkjEgK!oMa+PsqFBt0KKoc^KrqaLr9Lo@{M0 zguY0h6K=|q7J7{`SjyYOJy>GeyK&j8B$NxG`|sPsg_1b}8HdW-!{s(p<(Nj2!Saie z&^f8|VK{jUXF~r%=v@87a9xobd#T=cggc2;kINvD#t>??Bi!^|s*|780Ybg+42QO= z-cuo2EGtDW<2USLNN#w*Hp<|yz##KFBrkkbWGdt>$j9LY?@QMrWWLM_z#xgKFH7ELdhIOhQ|DJc*1AYDy9`p zRZIEjaOKZg;&1x@9PYuAmt-N+0F{3ZPhm;d?uMv3ud!r=+Qu{6M0!ISbE`uvF>NH| ze#n{d%01KTg0z(G5jw}aINWLxcE2JN?oBEjS*f9mrIZsNbw6g5!->X*hA-6)pcB7+8-jY_1y@n-S`%=WUcl@9-Cm^)F zdv?)dO1{S$br}r^bGYCtYgjX6H4OiSaW;RFPw?*Nm|%7&yr-~FQQ`!Vmz(v2`p(^ z3(TM9kO%Cp=O~k=y@yN+q>a5^B8t!V>I7Q|zMWDWm2_H?(@# zzJ(>2_I9?ZB>rqhJG(YZOiS*UtPMu1cJ^|XEdC4Qqgg8dPLTuP3Fc}id#RH6TPN~eLZQnyco=%KOs-q?GhwuKJKX6<5+^Z z+RL885XScQ*A@UKVMC?TZ{N-r%&5GMEtYUr|p?6!FJKd zUdoadI*93_=aKr@Z?j};XCSv=%zf+}mQ0o^kZ0`yf6{m|wW9s8)O#6eM%i@>N$|Z>$TN_!b`Oy!AoL{RIQy8$7{~}@#@i<@t5!20;~*3430IW7 z0+|d+vrmY;3z-W^w@Y884DK93mOv)i4gMhsmT3(4q3K_KnL=bXA``PmazRI;c|EN`N{2KMF_*6WI%3q`RS@wF)1XD4~K9C?sIdeQgPD3*7 zUlZg4WUj4iCDB(b^du@LEx;44w#$+h>IW&oQk$iqq~H5OyMbgzB6A}$3+)Fa<4@@# z`w^C4Di+xtSb}L^WUpb#(k7zL|4?VKT`q~n6U>cQ>^{jnLf-S!)%aKJ5iF_>T_Jzf zo+9FZwPT6BQMHO+r(I&d$AVv)=!=%l68o6SaOKMAeW_h2b!h2OA17m?knQIVYJ1bD?)FnQ)Y|3 zOoZM6e-f47wKph-YWqyLteE!HDAaWT(edXHI zSkzjlWG)N-isEzl>j|iwYwr-b9g+*lv+LeSm9w=*kUfxmf8SEf{{r(Tc00~wX^$ea z51CKwl_IH-qmW(p5s`GrS;%L0xw2F_Q=13*1M<1ul11Gox&ryao|_;=7vf%|U96mH z^($IE(+yuyvmKV~&_9qHklAlnV~K@I4#Zd8SZaw>g3$X!`|V~TwIOuou-|Sga$j7! zu%w4l;xe2io4;aBb7Q~#YJ$9u?*|;PHz!C%^nTFZBQkGslIB9bwGW7NMP+LBo&AHz zFbGvXVxLZs8ff*sZQZ1n1+}UN`N3|>lCSy8;<(*~CHRK+aeIJdCZZKh`*C}tWTrvr zH`;OgLzPKd0HO2V{oM-MF3#HvS%R~I^Y&^M zb@UvK%IEF81feza54(0ns;n{@kc;*jmVC{h^MBdpDp5uqiRfG9f7vw?gyv77-I_&x zzitNV{B4hvj6cUN+nXdqG8dUE_9@BuOYo|FnI#r_c#ygte$_6bQ}5|`!d5NitM*MS z`I^6!uiDi`{H6R4Z|{jugZrYMF?$)k|0fysH25-z7Quh~e0b9f_{t-W!pS0P{?M~( zMdKOz8)56vs(4)JZ-i}wgyKSVTBB9zNIM>3uyo2qzGPANt$swSGLb@+(cZ=BtH5{aA>StQ~_Zm_7Y?9e($Q?zm;H?yQ^ z|6RuYI+m&|vC!AZbcA@3J5(lg64Hg`ZjnL=ed{$EX(Cc~2+kPs)u3pkwMbP+FSM#0 zX(w_wq%X@8ENYp)38@l!UP~NK-75P`hg?x)vwIjvDv`q0gryxJElofdtat=}_Qc&rxrYD5P(;`w`GD9FVo)(chlA&i;p2bwOjNBuc zG-QUbG?$G3tjPV52PNbG2Dv}dUNY09uU3&Rl6h77Y86S9jQ@nv1Care@t-4lATmNS z{%^IV@RP7%~Tv5?K&cYh4w{%aDg7k5wg6XRu#F+D7`aWNBkx zRNob87g;Pqf34sUGLJ@=0d+_+wGxm=AJlg{QWGR5Qv-?X$a|#%%Dj5x|G4!*dRk8gCjeo z_u1G|3YXwYR;2RXTqk~=ZDgb+i<;6|Xf=|LgE(_2?79$hLGW11TcOV-f zv}TTu^yJFHJ7S|F{jTeMbYvupdTZ=$uAIjb({`cGJ1lD&(3oS|SCB6u<0CciQB(T6 zWYQvgMgD~xMP^duTtm*p_X$%Yg)CY8b@vjl;W|mA^1YNv*XYf=a*&rI%USR@??&UV znL}nqmNim+(Y4bmklB&dBAbw@3CWD?5cv#J7m^iOa-V8-5|RR$AITB9B9#|KiZ)i6 z3S(4eaU@UVE=VV|S`vAyiOQrv20>nr>=Ee;83kDpxg;_fG6}LOQo5;XwFEL7vL-US znUX>Zs$+0m#-! z3zk@@GFnmP_af~?>cnLLOR(0x7nv$`=&SyxQRltL?EjZ}n?+6gInI2_5(}+I<)X{* zyF2ogY8BcEp*zLfBZnpPHH6mr4I=dj>M)Fu< zp;6=UT^h)d$mgm~XfEU=%YMnMh0wHrANgJ~xe%K6?<1#K^7w3r*43kt`&-desJ$pX ziTXn%l_f9aKc86;>8mmtJ!wf#_Z39Wvg8)=pAtM3+4=z039dt)jvQoBYYUy*oQeFv zqRxbA9Xk^_cU`MrB1KwLo#0yKuMwLiX!UF4c9x*8bCG7(wK^Yp>bh3vBhMsA^6R*_ z9+`4ooePm1l?nM*TrWlPSc36fiX2O*LsM}nawb8j@}H5?ZLXagg^{K#c#>JJnO}~y zW(g`^j-;|=Ypo~XDh=vfjw~1H47mkzCDP$Rs+_GootCUcA^%2Bi;RZUfczJk{Sak> zUw@jDk)m4pl{M!`g4~T(NlxE~RmSft*{R)5$u?AOj!bbUk0nbx2uXp2oJNmwU)oQQ zj*uIiF(Q9JxEy3p@H#v3NtIG6O!^S{vaW1mNv{Ek@(PEJQImsQll~y=W z?V~C<O2bB3bCEVPjV}*FJvdgal9^EIlhz*_*O|vsP|`owy3=`uCAi0Nr?W;f z{@K@E&L);%%e~7fWC^x{dd|h}G{WE>M?I&IMXf)yC#mOD=@Co?-Ak(H+?gO{Fv7c? zCJ9m=($IN0L2O84r#p+<``rp@;k>Fc@jFnhofRy>9jMmM9+rZV{uyH%XTM~A!+fTF zLL29*Wc>5Y2c4olY0SZWs|TIZEWwmM=#*m#=Ffx9V3mo#ZIR-P?nQOdLw}<$I(DZx z=^{llRPQOybe3SB`LHvOC0IAwI%^U#G*{a>KO_j<+iK^WO^~{nKkc2X3DN@6*=f+5 zmqq+;S2w3AORy$%a~@#{?sj!|I!VUA+tuCaBN>0L_HYJD#-FP_oOzP*=W0*q6%l{G z+S7T1C77!{os}%XT zWEFa+t39I}M`R;}t_Y2Gs*8LenbA%ik;`4x*S*F#_lT5wN`2jHjMH3Xx6~QybPx$m z!d?_39P4xysRg0)ma)$BA}t_v-ZIu1FVaaeqWkm%minf$gh$~b9RdSCz&+oD<$zg|3v4!Wc;~0(J2)1=juc!=~!Z| zIU%iDOJPoha{gh-*4};zZwjoyQQWEY98FiYwqInP(?R4svb9Gw6|%DJyIb4orpL7U!4{4R&+;$>a2{5Unda1&RfoE9-$f!&DGV;#|c7TPF~|2 zV^P02G9YW6Gc5Vqs?;JH$$ICalKAr4=p+rMxuLG)EWrHP=!95;UoIP+ax8h;*;2{c ztDLEnAa6k4aa@tIH{iQikj>7mBB>C{Y;hWhG=OY@Y;~Hk1m~jfIS;d_=N#Th$FF{; zgNT3k|9z(`OMa67jr#YUO(Om`>T`Im($z5k8}%PJjfT*a7L@ew{(s;!Q4;?~{Re)l zV)Q%!eWU(Erxj;{=K(%++OlM7FJNuS$5ediJjoKwu@9YIENXfE%$dn7`5}Kixy~#l z8ueA|O&pJ%w^`KrSPhmhSk!wQtswc%?@E%kT~_N)zEg52P1o^~{$HBTcPg8_= zI^St5QsfnN2Q%O4%#y8L!c?^5%5z!po}I`pXR~CAOvl|oWOh5BiIjjm5Bbd5$C9bt z2$==hslRhPA0Va6`4cMKP+lK(>8d>x#{^}gnx3TAxnCw6{doYJKs93 zRVGviXAYz8AsNY%9qNos(n^vEBB_uvki*VQk-;KIoW(5ae2nh!9(4|}sQbB<#^Wl4 zb5=6`J=SARnHOk;>DoBdq3z@PnPtJdmp}%@SWB$pxaU{=Y zEk~x}gi})_57G#gPddF=3X=To{iHKU#9v!ZI%7rX86lcu1MW^VCG!^QJ))A0D9VbC1L;iMZ zCdeGf6=x_5mOHlGl(M*X;f!I4X+>rvYs-=O*C{tj%^wp&f3dNM+e4(bWRl&BB26Lh zpj8QX%xKlBEo3+31~+vKNhZElqP~h##?4?!(*{EhBU9GhC*r@|aI<@rMeWBOS_8a6>~>C&Uy=DAj-d1p@BYhlRdCmE27f(D_E8nwoh zxTPmh_bh`ZdS3Gyd0_1yIdQtT~U zmvDC^hz@D!9%5178@v^ApW8N867wgZ#xX!PvLLv9XNR_n&I z$fUSUCeu^|+j~2ADGS~OrnL@RQ#*GbOP=Ph&yTtzU!qo-TAA6nPlP&;xffaTG=F_= z@0Om%nfTqn4sKHxwGYogs}Al4mZ0~}ZVpSH=5I}%-Hho$UoWH86Yl3CVf4Nh(#35s zgEDEjbBo_ZkgjfjmS8;H+zBH7*3{iyz!IF-^>Dk*q&jMZM^UGTJBB4w%R*)PoMNMi{%%{Aps#0nO`!A4!x#_!N($rzgwE9iIVYI`@m5zQ6G*8{ zRp+^QMu$+HK&ne-U_4V#GJ!Og%%FJYVaWv2Su%s;nWrTa$ok*aufHMj%uvY$GG6Ko zjc2AyCXj`a85Ym1l1w1mBr`mo`Ajl_d@q?1@yt2NjBuair4yWoKkxQpQES~FSbv^( zhqDyKk3=Kgms!->Lhk{MbeF4Ep}W7wRW2;k7u}sAXK=NLmc@(i;p zTtQ!>T~CD09Ez{Tl^nNDg8UCM!EGwia}MqXLekxpBF{nULnga7Wl`l|?S0ABSz@6V zk)aX3Vq|6TW@OGD9Q>8LB+ZeM{t12vwfu z=87DU%yjpd$d8hl?*1)uPBJsx3Uk$#`;TO1xV1z|XQ{qsx+x+N2=z77eOlyB$;@&m zinNr>Eca!R$04bhirMZek)DwLEMJSfe+A#T#o1S;dqQLYG8_7k{K*o$=Q76)%~N9@ ziOdkxnd1&;!I20unq|j)%A{#)A#}Dp&uz3o$tRF0$jo!Qi1_DP+3p0EJk9?qSGGHS zA+-v=?v?GXVM)`zm&)_q^NUpFOL4jSvXcMJ#qTflHQ%lD3Q3k$AF>d#&@KO}lC}_f zv+NbOsmRkJueu{d{O?{aasOFNtunRQvqIXUHAS?gyu~FRE0>9=W923EwLC6#to#qM zA};Z(8SXglOKp|q*WhY~JA)-Z(kqpoqUmdfWY1#NQ*m?Yc{7%=saI z&$iZWE#mLl*1FG%_++FS^d%EaLBt*SkkV{Jrsd_dgMT@3+CNx>WV<@BKEo zZAARN@kV#Bh`%@9=w^xdN04{i_eA_7$UE-$BK}@&|JM7^E%&;rL#!4Z zt`&z+Upw6nDic2=%5`HZ!{>*zSI>2qN}cv-H4v@x+`S?_AtNClyEWgS-ZQn~kU5ag z-0CZojEB4h`NB;VnGV?m+3V)KsWK}d`H=nYRhBGmGlaIm18&|b%4BO_LiQqa*u5&U z4{{LloqJ-n%8;CZ9Cgo$&=KT3xSg3+_-6 zy28*BnTzgH5r2)kg2y0#x-Te+zbjPe&SN=V@;s)U&NB<$ zmC}l)i|Q1*`$Xt^R2RtK?q8}^lK&Tw|91alNe^|Kuj>5mmRLvQNe>Nz&|QYV-EvB_ z36i<&wq{Aw=0KiC<;(6Uk!27%%3N_XL^eZi>P2F$r^;#CM-ZADSKJ9oLjFYS3kuDW$MsLKCA2B7j)xAsOQH!M)&`OnQ}3BIK9pSwyj z{!vf!azqTY8izWX*I*OX366S2yknbHhDskbnR&fjk&n@IZKu{4noJllAgO&Rh|c-@s#pvimZYxgp~FQw^1fI=fBZw@E%v@ zeajAHZuFKV$ZkkEFDF61g_QS7eGDN8JL5UoZ-TyG_d`U~unSoX05y?b8W9aK4!-vgSC zjOX>)spLo0$%a(%ri)yHtbkPaa#+++?_)>}?`tKY(l6tEE6DBMVG+6lOy|b8dq1)S zz2EMgNvQKJw<_@w^&X4YsqK|h!f&$wh)it{0sPA^MsxLNNF86wG(_*T|GCSTVyz&B z$OKZaA>O;ic~)JoNba?BwVqdsMNJni!Fry~Qc%*bT;HpzB+2i+zE_JSn63t1XUX`z zH}IZe3AT%SyvZy&Bwi zmQw3T2D1dy)x=xLqJELxj7$^nqRJ%sQ_<9OKjx(qzmC+*tH}~fS2J(PF3MzSvoYtZ zp-wYzJqyl_A@w2mdrLp1Os4iNq%Gt@uhMQMKSMf0QoK4Mmmu9C4}1Mt)O7WMwDsOl z66&xR&#OZo^WJ7rTgqIP93@&0WL}1}_XdB?Q-SBlm2{M~C9l|Ikxt%3&IDWB6W(-| zx!M6_R-?`n-qGtaUA@zi`5Bpak?HE$d$=#2WAqi-?%o|Nd79r>53lugnOoUE) z?bl_V_V!+v>Eo69g8B-^+}A75GFL153f@1(c=~!zvIOf!e=n6K7*Bt1&2=)sbH5Cx zg4U>kUQL!@xexRf{J+d{mZ0)LPy34M1g!>pvy^BJF+#e(JlM+-c?9w;#yr%szNS_| zonc=6ebgx8cMs64{!y8qf%BfPx_xOZ&{Dqlk77rfdBudOrEYrqoJ8R@NO33`Vd zQg!OTnyi`Y@eGXTe0y!3F<$lmCv{nZI%B*A*JZ|e%dg9f^ZvRnGr`jiQ(r-y3Epg$ zV3|(z7PDk(k70y&V1yIB(0A9in&iF4611A^t+_5U*{gNr+Uc6=HDC#PpX#k-$<%tG zuSV!=npgDuYx|n+6=wTf-78i`m}!>srnBY8}0Hgmb(GEJ3R| zp8mu2naV7|RLt?#uw-g8FcrNq6?47P$AVV$2H!l-VhLJhdoQpAeJ$`Z{-3lyPIc7& za2zTxh##BwqOaMISG+@<3AWs&-Z2(+o$VE5mU_uQQk~%W@YlT?Sn@T$&g))NmS8+9 zyp-!&t?)Wr*J_0~|GHMIyw|U5waQy_U8_}I;dQOncrAaT5eB`l@iwyrV_xI!USCFpCj_tpQCas^Z;TPw2!*UV98vzN-E z#`6ngi#LWPsJzwtoF%CIzE}6uwRPV2rm(0wMK<6&irz|=pw5S0=rpwo>U`umKVMtt zBX2m1s#6hla=pbYL7h*$k!P;0v)fz$+qHFedqvNas5-S#=QFP|OHk(vFDoHK`|z*4 z#n)xN@_u3o#=Ot_?YdU`yu#~R?en_+e(eYkdVN{cc&M*~-e8tsJO{lK*R?wAoxiTt zVXyGIR)@V^e_Y$w_ujt$C+#j=JAc0Smb0kw&~iWO<*)?fIpz(&NUhX1*ctQir}$Yx zYpg$XR(Ucm9U&!dN|f%9UT76$hCyiB3*xP&L1<4B$Px%uKIJXu-t&@jq}3_!Es;ZU z*{VjUorUy6U#GldA`dRb+i;N6-quSz63gsvz2>4l_~Jtw54Z7QPuEa4y1Ff*uB+3uJ8_}w>Qzz4i;I6< zy=rs~SI*W}F2k=9WU58WX;>j}q+SQP4{}@dU6xF33uJ5w{DzJG&XTQt4xumT-VqHY zQ7d(%ZiQC0qCFDiVMy)h>nwO?NuK(+GrC&Df9m7T=nmBi?`+|{b$q$v&gdDDzabq_ z=gw%j2=}Gk_&VO-!IpAYw53QCLVKILqUS~KgxrH)9Ct;>B~z>5E?&Lp43;#Fo{OWc zpk8#N$WD>^(GwzVAoN@K?r71XR0n@$36<&Drv}k4l!W{(_nzo!7PXWIV9fVKdlaKq z`I_gbr|FtUSBm&^qj_{aOPW?>IhHJ1HIKF|p;`?^tLYZLxfjhAxn1hCiEd&^(<-4A zO?#VYrH~q7{kSX;c_1zrjF!0mw27}9^pxow^!`v>X#H6TNr{WU{yY+0$CZO~wsz6O z2|`!V+eObM$Y#`eG^&@R5ynERFrE(~?W1*+XxkyXSsr3Z4;_TiUbI8>32D{XOTzcp zNqUN0LZ%MZgbvYuB1PWtTMZGZ2BD?gAv#JVMKT?u6In7s{Uy^eI$a6A#G&du9=*tt zpY+WX^_PYokEWJZ^LYwd(VTxgx{oEMt%V%HR6HK-TZX4p`y5gL=^P!KAiqMMh^}Wz z)6O76(j{8A9JLDO>Qm812||BA?y2a52}1L^TeN+G6nO`~vZK8cgywutUV^lToVg-d zD~(L==zxR_O~upE;R!;OpN@`A5USHBUS}cdR6w1+(aD@q>wKLt_!~3PY!>xZF#3&>(0SCMr9341ok)o{)$$q=Jt1O4C^IyAR-}bwhDHln@-=_DhDA5s zO!F{b^Ox6%=q{EltuI>9UTZ|O*e#U7y&Fh1jOY1iwwRmS9RpM}JQcn$oe+qUF_i{5duuT35s$;lyYwmP|Z5hOZ){)x>C5k$XiZ zMYoEygFJ%FlxVyEsj28LGClga$Uu?V(MlCmW{k+(=v zGD%3ND9i8ryzg`FxoQ5=r{{g%o$(g}e>f5Ld6ftSfTQ zZWHg3)LKXH__(5ug9}hGa{^Kvd5*??#PSP-u0J1* zTh8)#MAor9@+qDHmZi2xN%mKQRF<-zV;VpLQVz4UhS*Y$vvh@wKwUq?{me2XBDYvx zhs>NzF?U(gAWtCA4{`Y`)A%I&KZMklQdCN+e;uSDmF_8ULNjjXCNFGUQE*iUier6l_|L1-!e6t|OQUnC}* zpYFb1au4F~3X6z`Y%OJr7^f`YEn-oUBXa`wYh>^z>w$#!?b;0dgv?VU%2j zoQ`{qMMun^kTY@XS!zJ;L(aw>ijsUA@T7NKc}>;T1Tl0^>U`W4De1VAgJ*6Lb3X2b zPBH1CFQg*m=eRp8qagH6%b(-SfQp#_i9^h#xbZAAAvWZfxFu4Oh5MeumALO%<|2lA zdL`}*%W_Cfl)4&M-k{9MVh`kL$o04`ET65%N4r z-HeMjRpuHH+6MoK>&DU@(j75>#Ep-V-coJ{sT6*d7%{Iv{)sDYE13y7*Bej9#8sA( zB<4bBZSiS|EGry`DszmMB_&l9hRjBu7%l#Bib)k!A@d-9Z8b}M$kNKVTdGZtS9vDC>z6Gopv62v z;+?e>(D0x5+mpwg8+%eTM$NSfXeqLkx_0p)>MEcumXa>Ep{|vXLRzirl-YY?Ay#WB z#hYiwYKccnwv`#EhDL*R+T>fW>W3ac!cMB$0zsG|t7fyHav|ZVQWR zF*Q|B=}bYzRFN|>! zAYCHj&VLfM>oT)iS82cTqBf@q)#c59dTBAwctW$C-rDFWp&8Lj+8im#;xu~E1$Fh) z+BB7=#61X=>aTT)5-K%Ndnrm@M5#gAq9_>x8LAy&apzI5XnC5c% zXB(|O%Ysia%j4;2?RhE5{&)z@nnr6~SsFoTk3B|vg{32e_OxTP*H{KZ=qz%KmMkUJ zKLO%zi1Pw%8p|vQ9lOVB>0IhV2xT6teabN#AY;+5vD#V|cZN1r+sxw5(8g*zS=<@g zSnYrmZ-zEjJH|2Y3~j7-hGX0r+F0!uj&bK>uW5g>xU;Xv#BO(`~uJNp{1bzpI4U*om$O5|KC6Q#y${uWf1x5u8K#Y$28=f#Mbp!MMx z_Zmo&wui;N29ly(V{!L&DO&$$DYLi7PSK7@@%C&f+8K^<_iQQJCYdKmRLWFGs}wDU zW2}hWm7=y3>P3o{*;4i*vJZbtTO`HXhrgxmR55;cX8x8|u$AgN^=m!yyrqqdl1-4w z+NCJj2AQHIw)RTVx#x6kAIq?H>TL9Ft^9K;#vPv-S`!v`d}e5^q)=>(+tIx-{nc4=~uO#sl#)sDMnOb4aGmA%Trk2PuKO)0q9yNxl zt{G9X7d@S+ZB-)Ziv3|onpUzcwI@lwi9=WQ=VEu?&<@ocj; zR*C;s81Gjm`xH~AwwdJ+GS9`4C{xQ;A~PRHd**5vSXQEi zXCd!tzIN2YWI=Kn^1fD_lE5)0yuG0>7kV{$a$0i|Wopw%%ztsjje+b#2U1sS68G-N( z+6^h{njRfNHfRMq$~@u>Viuv)=URCwDdHw%DdY?7HjDpr%yOlSe1S@(i1I8OdAVoh zX$o17m`xE$fNX(mcBRk|$V*7DMT_kuYnQ#CZE%YgRw5oChSvElT0JRAqTCm`#bM;x zs&oS=1=fyzluCxX$zIe?fnnPc5OAw z5958}9%QHH?<`A+S5OyiO<9`8G67O>Bd+9Vieer5xl^?<0o# zzDLX3MP+usw7*A-m*Oq=J=$m$BS)-;%#+Eb&LK}D$bRkHt}4$zocVxugXNKp`0gC8 zrXJAlM#=OL?o(^Udr+w)Q5G>Rkmnn1pOh@&F4J$dqCF`lOSsGQkXBYos=pda(K>cm zYpG)V?ovLiJuf9$J{v}NCl6~~SZK>_kGc+P{iP&{w#d_6%25>~dpaEQopwcun2i{^ z{`|d`nW)YK-eP+8`FHeH=0$(?&}1dU{No#Nzh! zN9{8uk$xT5HmE$Zg>NCxaqW^4u?Mx!fc&I|ddu3yA;=slgIG>NXt|%z_OslG$d4>} zHn}mkSxQDk^ie%^BGO$-vcEoLDE{XOt-lh{DiX7sr7MK)9G%dn;Ufx!kN;cv^dj zu{_Q(=d?_g<{WcQ`+%hf z$DG$bVHwFW=e4ygQ#s~>wwdK)j=7-iV%Z6y5xb~;&2kPxBX&{CX34b`UqZl$atwYbe8rkzi3ah^kBKHb!HjC@~bwSWirbZZMu@k zzW1tjMT%O=G_Sj=CG@A-`TPqlyr%6NK$0%P+wfa;kl(ZmEKfsDNtrcJ#dL(cTo%{0 zwAE6)b>nyK^ve{J?C*;h8nNHCpQWVw$3y7M<#+8jmYEPbOZr{QJBUi9`agvHjJj@U zkFtCLxhh3xIS8T5H#LXlJcO3TO|2%&-yCyGtItw;yNbD`HDhs~p!h>;!%~xD{?HOw zo`ulr|EHG7(hovo_@_36B?Ut5`Ad71<$cccmo|ZAEyvu}-eTFqF}Jl@EXN^_BJ&+B zljREJ7W#fi`+(&>>UI$_XjS;#Eiq$UW_m!AOUtlMJDr-q(t;dzp3$2`y+mSQ_q z9--G@sSBYzLa)!#n`3->QMNyq`^hm6S0TL_OI^qq^x{#y z4NGgt8&Z0+^n|<#DXhQDG8QsT$^@2l$ZSZg{uaxpkW4A>v$)$}5&a_;cN;9CuV8W4 zmZJK47I$qas(;DiZtunP-7N0*UQGXvWd~|sh}w(mKe1eZERpgXi@Uv-(Enm_xAzjd z7_OF=yPcNQ{VeWwT2e2<;_jnL>19~leN-vEDoeioYI`rO+bks@v__TIyRx|ZmNI&8 z7I)uLMjyoD?pw<0BU#*iOIiJOmN;alt)QI#CQBU%E%$Qz3>J5bE3ap;xLaI#eIZLb z&Qn2O$}*7iRM1zmBy&tfeIv_998*!>!Lo~ED(U-Ku5wHz{RoS@x2dcjXL0v7mGui! zl0~Tl>g=Y9uDzm`PBq91EYqsG&C(jOR!R+)0gz3QIQ=P>36O14nzFnDp%K&c=U6sE zXv8$VlN4{CpzDcJyyK~^WAhi$*I->y*I+NBE`wv#HP~B_U_|H|EPW5e`A?p3B!-^J ziP?;2s3Jo5vLAs|i-?=2y1te=!}qdjmRm#LtVEaxan%uLb~W^GrKI|6K zzXgQ)UQ<8AG2J0_zw$}_62}aLT#@oS$Bc&1Zm*VphhwHfe2W0mMZY^%Nl6IB^w49*k)(^-kO`1P zy&g+XNGhb4zJ}!$$V^CYeXEoVK|*=@=ncnHo(wS=k_qXn4`x{a`4rFK_0z{I@qYpN z05Sda6&!N_vQ*0dq@;`Ukd;z?Vfhn6%e24#7fZSClnl`QughNepN8D(ihBxrf)ddQ zvH^Jp>SI`5foy>c(ucjFMq?^uCuFF;T1vWj7qTBRT))b)333=RQoqmgHRKp%lwNRx z8pG3&vyfNySeD-)mm#C|*omsH`;a@3ae6l?8KP8nZjt*-JR_u=Nh*efV&2eaO;VZT zs`x|!#7xw)SscW49EkH1{X9!82tCC#Nx#a{0#Xd6Qgr#^E|zjH2wi!5Q`eGZX8%-3 zS;VC3Eu?r?JW~I&M{-5&*=XM~IkNwuJraG>(i7Sv(XVSw{ZF20ky5m0qc7vV9T7K= zCzPjuJgy1r!(ub*J42BCe+e7)c_71J2< zGh!C#4Ou!uXn8HtN3!&W&@*Nq=qW7IAvaO#Lp_V-1Blp$FNNxf(^ck85I%iV)gWuhB2C*pQ|uwMIARs+gxZW`o{= zr6r^XVm9deq^Oy23gmNr;(JsoRV+r#yO1q<;`=JkT9&Q)q6JF!LAK(bU+S$EDftmX zYt&bI!4H&NhENN?(lwSxPvUE$$o!SQn57J431pjI{3BJ$fl%$+^vY4P9I{_SYIK89sGgzlB>)?-#sOqw_aIf$6ux+Wz_`~o=&*{3gJ`G@6eJ!_@Pod1;S#s74B zl@c97&tCpdueVxBEyy|KIizo7X$83oIifFHqhely`~}I@tFKcs8u9>gRA0?91CoC` zuGi_UHmH~-km8V^^b;GEd(^wB77xjegN^D3=$Yp)d z4kb@RIzz7M^>!&~4WZ?ALqEgP9nuFeH}v={71I}TsWQ&`^=y{$kULXw)~|Qitzu?C zUO}nb`ieayY2ri3SjZiHJf*VJUG2 zzg>m8MBu_+)gB!(3z9o7S01UClqg_MyTvkF3I>v;o7Ebdz^c>_~e=nl(E&rnPnOIOn; zzLa_9N=f!-McVTL%NYo5?|B0&qL^3|vHTpP=Fg>fVD1|c_b5|1 zaPMn5KJskcL`-ZzKS;7iJbw;P5<-dv;#vAb8bL|~#;{C;w1kuje8ciKmnswZ>7hL3 z0#_d@RUuI58>&m~4{2Sk6eu4p$XqE48fu8z8SDj~=M^t;(|(;%|tRF7O=7fYO+=;eQ4KudvXQjY=|D zj-r&3%`Eh+qmolB?z#~OT#|w>J)+bE)E)@fhp6@>@fWwp2(&sZ#b4lpYL6M1$Wk6c zYp)r2o5hL9ds5W>!D+~B29`w097rgzI!fk4?7$Y4N3ID=A&&(vNb#ODcsy{0#eJ^e z@j&q-)WTFz>7u&kStC&5JCZ%Zy^~%uP?g2KlU_5hNQ!FVHq=!!aF=7;=e24F>}-|C zeO{|}U@OZ8)J4y0)eaQ;o??>3HpmG4vtFPE%b|$0kmB97uNPP^#oL;mlG_E^oaYKk z?MHh&xd*A$|6%zSG4&&*^5m$PhW`?Zc{(D65c311@xSEczoax`NSe4Yg(^d+U(W=- zk!|+gZg?heOp4leE~3;kf$_&^G_oRJzHJsrVR7HhX%-MaQp_H|o4I))R*7)?-aK%N z#qB%fxGW_|s9!At2`7}eeQz1)BPB_Y{DzoTfiWk&7%KH#AVrFb`4iGMaORYXamS~9 z;NWRbXf)afvd$`T$EQP}`FWBgF*fKE4-nHaaEPTLYA?DIXKjJz7gS7ZNLfhNK>S4| zFG6ZU5(ATSl)MI^<=!W7kYy^Q4PyEP`ml7GubyvtDNx~ODy4oYZvbLm3g}Vt3ZySD z!Cm>Ng>OLmM`QyecV(POMdZ+UKM8F@bebyxPYG zwy?Ohj}4ra;?@3I;1-Kp`x}8=zfk5~x!l?(1QuN-!F7P2ah`&@CIq(MQIh`>=9yA1 zM9Ch=q=5Ka#S}rzkB~P5@lkRa@>U>`r837%2~3X?ikTMJC?!eMK+GM;+kqU8sSnAu z3*Sf#`2SILk>rQW3{;JhM46JTQXZw| z1WMmkb-j!jl6M2ovy5PQFEEJZb(Z;o)hzF@EDDHwD$l1Z9|cCTY-IU3kj=82<&!}5 z`>ND&mKA~ZQj)}V2`F!C!C&jTWv7)O(;xRb^Qlc#)+x%Z9)}mbNS#1M^sV zvTO-75f~Re&L`i2zc0kMHmFfpM8W=AnUCcnK5s+hnU|v=GTF3;*i9mBH$znf*YCjpc z!g88QVIiCh82PA_Iyx*usgr@uQj#L?T%QW`WpQV)rvf8b+}Y`=z(f{z274;-Hp|Rk zarFtAPX*p#acAA90!vxmN6bnYvy;W0b)O1kv$$_+p9&O~`-C(x7<*b;f~NxYS*Eg_ z4Lr}X6tZ%6E^#67B1;y_&w*hq`4^~|%Yg|j)mg3vX0c3z(Drpbkj-+4?idy^V*Iow>=EwFyr|)4acA$vjfPTG zsoki(q|r7?zJZi7PDsJm__0jCgOoOqmNMtL4LJiTXSB%gt#$N$fC|R&D7l50ipJb1 zxeuvqd>JKqvv6<1xELj|5Y31!K$&xVZe50~J^BnN$fC}GDxj1V5xPERLc$TDGa!14 z?FnO&%&huOTT^x8ohYHJ@zssR57l17XjPEflP1DfaF&G3PZ}RdQF+=y>KJRIBmq*_ z*eAv7#ZyM9LX;=TzX*9~%Wd$Vez~Ih)eCu^j`V{1H4@S!BJP=8i~r<#HWEYE52vG4 ztB6pZxsWyyar1OAblF1HuQiD2Xf%kDjgS|N1Swv>68=+rmq=!+eLG5Zi-@~)dPc;p zy^k?ZW=Lue6%MXxjNMGZxC^-!oVB~$2Mioy)BjyTZkWoHL{)7xMrnBTA z=00SYu_#LN@5a~vjmm{po;!%4`xmbo%~|qa#XJ)+qm40AGDIAtJY=k~ouwMYfQ&cR z7o|LE9z}2ZzhPuaQP=(G{9=M3ipe!W>_w^SC^gX-#BvfsYi5#>$#MlkYi5#hi{&26 zB%@Dp%9ADBZ-yir$5`C&ili9(N~jq3n;|JiOi5LH;cKd{6r&-_k$?!`3YSUD9l8nPAJ*EFMGc_j-V-BD_~(O*iI zaQijGSj6J?YlhLSf-1EdrRdqP8OALsS;Fn<3}Zz_6|Sg9 zXzw@M=*Y4RQbZ%^&O+dCmZ_X4!)VO1kn?01U8Q(e zvEDV_RWb5<3%y1AuCYdmux_a3o@s1msSBaE8#0YuQt))>HuXf=T;ppN_sN;L#sx0b z0;MKm#NIO!18U@7hESX58+%z^gUmq80^@>|RPhdk_BIQRV}>gA3FIBbEHp}+N{&Gm zK|V0Xuw3Jq4~=~+cOai4X0fp~s7e*QiKh`D9~ zNfMnQ-DOP5W2&b^AvE%Pjl6WCh_i{*h}2`rggo&&#q4`r#jJ(=h`H82<4lwcMCScQ z!V@ZHFJeYOzBYzM$?K4BjOo=?%xSLckTJcclIxHuh&g0vPb$gthic&wV?2uhIAl8!t_jKwTHS-vx7)lo5HA@3n3+sLe|WE$iH$oEEKJtgl$XncM!#yq8D z1%#ey|G`*MU&$88a+Eq|oMAb_rH&if4OEQ#?V968-i9RJ{P`!NycD%YZ9tx%3|oqK z74(EroyENhdctV)P^r^K&xcB#G5S4J>Wncds?^u0>%1{Xidt8*As3B5RH?{&Qa>B_ zqq4x`}7}-(s4`Qwv%^Oke$>L+g(D!z(8zWgZvD`GKvbfiT|1>gLzCldxy|@Eq zWJ^gCIgo;ozl_+%a_NY_Af+I8j6@dyU%5pU$Uny5C<#IC8WW@B3CKMoT?*dFK&g6= z`^M@hX$*N_3~NGlC5a$ns9(agpHb2jLgSOmoX*k%(h8+=nG2$%JtViefyG_NV$4fY z)Ed3Mp#2r$7ps6`RSJ$oG*7o7Gs{I|zl%CM@n5bYZg-OYz(4 zcv{#T%o2pqSJVod6Itp;V$xZI*$ z;_fqJ%}Y{}#WduhF^o0KHkbVp3nTI*%le2Uu()%iSo0eeca9Wm-i{JFQpcKF3zgZO zH5D-@vbf)`D`FmG*@L?1YktMdUs-;H&^PW%m=9R4Kk_J%uvnEtc-M?@6Ok#!P9cGS@;WC88AxuEFB#_j54vWz146 z4G^;sQrU15+T%!N@g#X5fJ+3UKR6ImbW>ksyUbCLl(_k#7wZ)G4lD1khz|v7mHZuI z&6u`SO3mVE-eQ~8m59_rG2(-t@dThbS&4i@Z5bqN?u(LDkjKpHEbgy@#+&yz5B;XV zM#RLMh1U*+(cWFHH25D&qSiXmhmhu?OG}KOW^;YJSET2MX zztPHUC?(aupJQ5^Z8+w~h;(PU4553Yt<6DF(#2npH&9n=)8C%jlOYyX#BM{#R;AjQ*(_BcG#YKp6D*HGrlV9F^MaIA(Fj7zqK%n{HZvTpT0&+crmb0w#a*M? znRTS3icW~3U)+1%e3oN+L+GC!%z;Y$uR>@vI+&lZybW2hon#G53hwofuSBwmWkDon z2TNKcrk9j7@y!za9^yfqdz)zRzwY&SWKmaycAyuXB0|?v4nev^gs!EWhx9b}tGeXc zas`rTejg=&LVB4Oq9oTZxZYy+>PREz&6Wq41EqK~kOAfdDaqonc>vB)#f zoc99dNfM)DV?=4lAX9Ww%c5ymecx}0nLkQsjT&M$k&+~)p%gW3sF^J#UCf76MV_H% ztpt^46~u-NHw$)Fk_EX`8CP=5@hm?=XumPioD(JMyW(z_c`!<4Uo7GUK|- z%>D!jZG%(Hc$Og$+WSp08!3@%3tgd_V)l`;N4WFespc;%ZVTTw@2gUgUc7DQ>mlos zc_yOvx6LwAyze^BG#j(HnP-|WvbdRNn`5K$Oh%sB=DdeW%`vY(RO($bPfx1dtLt48 z|0#0E?#VN%XpBfh9#1Ai=0WC}nk<#>Ppse*FI>i%uW3tB`&C*x3(f0NvP7BUG4gk2 z7n-+O+~eRvGd7WGPZJFh(+znRnOj(TKn6fQG`F*igN%kOF$=z^O3^d7DUhXRc`3>G z1yh`nL6(`zdQ(iYn1fQ(o=?n;Qqsgq2z@K&6VvRY^6Y>d?Tzzg^BF1W;wa?3ZurWa z*_LB2LS`ZJO0)P&s?^_*49I6@CQF497$3+gb05p&5X!vT%#M;=VLT6MuIQ`sG)7GI z0(j%w%wp*Z`51ZDnUnjem=TZ_QnLC>i9A92x%tij5;gLpdg6@UT&~35w`7dG7Prw{ z$MP!V`N!~XfVq_=m18!USuF2z%qH_2Dc*czv-zWnk?ShWb~c+gq~u8?Iv9D+Aw{-9{*(bMsild}Fp6sf5noOGCajkFmIC>xax+ zqf`u?tyeTQO6Y9efE+OovAAdJ*=7v))c(XTmvXi_howbCmb3JY$WE5zh*Td< zb$LrUTkQdOR!QGKbVVIc>FVxLj#1Cf(G%L9(D9V+933;Cm6_G-v?+S=qxp&we~~gV zq8;Rf`5H?VNJ0UUNi6XY+V`F?r%O@mPj^|W^cZS$vKWdOy0&xLY{-(za>ne>@)65f zbBPo@4aIWK%#z~u{k(bib;_*T{2uB$Z?<_u*5&V2E=DYcTr@ke{4fCLgC$84rKE}> zh*=|J=Ciy3`5cmCE@7DlG5V2gRN{XZLNl}+b34l>$PQWR5SJz_NsEzhMqx8Q4I5f$)a;I?INUKDqYZFc-6| zL#dpWc$V1gF-6uczJfTY{f0S63a%Br=o3#!xvyg6ewA8y(=0Ppmhxw#R2|4IvkHqJ zUznkhzh%~7p>IFZINvgxu(Uu7ZB4h#4lF0Q7q`qqN@QJ4W#%T+sIC;hyFUMIwvv+M zw<=k2sWHWk|y?39@H*^TczMDPmnPXU+^~-6FKJQ3i{LJ(vf303o*HZ z{iURda>ygW#ZtW53k5ID@k;#7aOzL|y5kwYPMzn3N1T*D7+A zq`Z_=@kHeqQA)~47WaFVWrOQg9?={zRS;7)So(d+?Ck-{1#Ky6yQqVha=}?rl4a(n zA?1U&rQrMmd8j=Vf*K3`LOsnTDg@ik|99q!!4xT8FDeEvN>RP&g3J|zSEQthgWQXX z!O9CM4}NDBl8BhfL3@#s-?{cG!SO1yaBHs;ydYz|epL-#m!kSbZLS(bTKw(FQ=tm> zNXYETW00v3I}-C09g*>LKR&;6W85 z1~v7GrjYi*>L1c*WJR8^eIZzn#hvrN5bPtxTV9=lE2LzIu3C&3hdiBvF&|N$bbJpY zM!X5>5{z9;lH+riVE5n|DaoRsu9j)P;Pp>cjJr&S2UjmANfrUb&{7^3%vz~p+@<_x zFzYiFQx7q;+|z>7*QywIxz7)dT&H3>A%@n3Wx>SHNz&xn`z~6zF1VFt2x2~fd>$OM zQN>K6%#e-2>`h9RK-NOG1e&7b1!BZW zNLDaqtBNTD$${(%Ze)1^@@*B&X@hybR58y%=$*&?!J;hvSPld$vrK@{+40xGwk#Qt zE698>n7vKqSp&HV`CqW@b|v3JJ}ZIwYH-jFB|k%Q|Askau-=~F`kQ2c>QoODEY_N|MZ;d(|jM+`4ytU}FcsgO#ceNvMBk6LQxStWFcr7DExz3AUTDwXW738~Z^`}xpFmgbP1%}8cR$q-#2 z)WW#X7AdKsFNFH8g^sXLjFQ_dqa#xC8#x-Xrz$3nWfo#CVYzFeYAheH=%EHulEo@W zCi)c!^=H}1nFFDEhbXf*Ckcc$O2M22F?2*TLPL+po{9%t$_R~NDQU;ZucR8G6e&rf z8jBe^kxixWRW1m%Fc^yYLFGw=EJk}mq0KDgAnPDb=r@+B5USk?-IL;N1x~2=G0LN) zOqgQcQ6krQI^PM0<|~ooya$=Xq2(-E82dWNW1&qfby?y=d!^v12FO9gR0|!Fk|cUS zj!Sv$C)EpDqo{>XgbuL`M$9?HJP|5(l46p?1PH}c4^2O%wo>sDkOH~iW$~;Np z&IN-r2Dy?vs19Lj})LUFxj%0a{omG$=|6{*JeGLKCB; zJfuNrsS?roG1ZGkp$#m9ApyiR3Vo@>KLJur%5Ii<5L#Cog}!0g0HL#qMxpOn4nb&Z zY7{!f@+-$Q4&|`qjaM;^L)VpvDv&2pSCi2CbFyFJaR}A*Oeprel4m*QnNW6=)JLhN zp~@FjOb5hd7r_^gL(8P3`rY%LW}($8#=q@GF4@9np-mj~Axcp%num5sN%C)iP%oN? z4sgsq2+jFhgpP2Yvk z`nF-q&^?a%8=0x^twMP&QooY?k5p58(N>{HrFb)|)}fLdh(F#?ha=@Uw1nG9J3c`0;S3chdrp8DnDzM-F4 zW#W5+%+?w)ly2TzbaZt*JScpJvhc)pYvJ6 zr6lye9>O*Mmm(Ti)^R$N0wI;un#WD~=Pnh_v>VL}7kiRG11*4JQYA(gQ z`&PgT|0R17d0wl4Rg=YiPNsm>ipAY_3Rs6&+->I(D|B1sakrg9R^uq4ZKtr+jm6z| zidv(jqzc1_`&LCT@3mI5)PeMel(GDGD08Z41$iA($%_3)$%~NpA%=B{WfY_rdKz!t zy{lp-Lxw<}uUCA>TpTS+`jJVtL-`RzSr(QY%JWL`-`tizNt& z!BzXNIB`)i%^>t1LNDt?Atl`*4y3pB3(HWJKGt29WC-0~f5}RFluD(@Z+g>Sy`QyO zN}5=NnEHt6Z{3QLW{?3^LSa?c8pP0EeV}!S3yS$1@}^b3 zw2FBVvK{i4l~7*E7|7R<$<{Nn%}L_iXKKbc)mqMydzCB6vQ(=77D~}I;i=X%mI8Hf z6h@w@)*P0~5W3yZ7=*6&OtY3Kkwen}>C>&xqvSQn+tzj|{4^b8 zrgbnXW=b`jdsv4mP`^^eYScxUXIuR%OYwgNp}oXxYnYTI{}Bl7C1zXWm53Zj5|(?q zwUy;Igl1pq)+LtMx~@D~g))14+H~thDXIRrm(@HW-5S91Ns4-(G2MEFY|sV-?65#tb^pfMKXuwAmnw#WLWc9eu5mp_+(g1SniF=EefF2 zyVgpUyszR;pOhUemr;twC)3)`avMV9lW84M5?Nkzt&39BSpbdmTLlLm;!DeZg2Y=hzqE?U7;kxfX_bqT zame$fRa1%oFJz`;Yh}VbvH^X&BnDsYj%x)_hPrTOiG3bqpn5Bv)j7BQkP|qRk@}b zpVlmUt!^w`S@v0(EQ46~TiGn*Sq@l*pHz9$AoQ)OudN`<$B-qc{h;*}%jXdKHr+Q? zQdb1p}cCZZRJU?1TSW;PzTjyEkv;1V;lH#q0C#<_l z#5ai9f%crR>eQl9^`88rrS_f5(KMB7aaSU?CI?h5@9qH`mjCG48AD&~} zGmgZpEi?OnLtV7?p0R4ObbQJuy6Yq@Sb9TxOX)8qCx4?_KJiH$zTj=W%F-ILO3E~r z1jy%*bJiTr^WD?xH@VJPOQoF6|9Wj#cCtJJIf`S-IqQ&=WdBXv<)l6BIqNJ-Oyd~& zE3W6P-&pAC0X#mek z;XZkF-fCA@j+kh05zjDUAAa5%$x;UGIfaowZ)LMwER|dQ3b|-Ctfxv9Zh&ueKz_02 zOF8T7RL6(kfyDiHYrT|o5kj8Wzi?07y3W!JQVQ~$)!-@FFYyCLm3r~J)s`iru1~}v z=7u$$_52JCzD&9bq>VfeIBIc$QCnZa`cWQ1~by(bA6aK?$A|*`>L!Nk)`oqd( zNru#g{AF#Fk|g?KnbK(dZS9ky*399E`P+KDp{(8SF8BLZ8x|YKHyZi-R(F=B)77%L zZ@tXoKBau$n#!`SicdH=2f1&}XR*rR8=JU;ci&phGV~veR$-DXDXH>2<#n{@zE$jL zwJe^=?-Qwz2Ug`MnF$egUnx00dLsHbzK52}o+;(5uOsBdVIM(n(kVou|EYlJ5Bcz}m+eDSh*V!iyq8EkiK`hiS zl1J@*ELAYhw3G|m)t^zNXbjIGPhq=Zl>7>bwclp>0CoKXDQd50S%9se@NJxt+1V^# zAf^JOgx#m9%G?}vT|n)n>}4zm5EDjBDfC@OJ zZhwZm4E80KlgLBAZd2Ya-JD8!cQ7m1m08^FqJsT|lr(VxrD~$~iguGIX#%NaFP7r{ zf@BqY9m_f1E~?mBQj!Gqy)#Nxu_w2n+LOe6WF7+1?SyBQY%Avzv>uxFqLxbNUO#Q` zA^R9h)n{;j8M8slHe0EfY7kmFjvdolNh8Q4WOnS36mM=5wi`;x5VcDC#1zDY?M_nE zmMco*`n-+i;crhKcb^b%zanG2r=8>Nx0K|kSFh#M{?d+~ZC)`<@ctx5!N6 zQ_U{$9F0$o&)thwvr8+<@9vQvw{d!us%}50^7!1heyZC8 zq@?(Bu$^{6PpjL*rDXYD;N?}_9w9}IJpIB;b$h%N?>)O3c8V$`+)_2{#Zr>x|-W@=f~vTL%u#G_HmZp^X} zasqj3+3i^V$5Pww$`O7fR_M$KEA+SfSdiRP;BP3?a;rdK4! z-&T&QuTLbVgp&NKmgW$evo*H|u}p-}oUOV28p}oq{nC94 z`z@AVAx}z~qr?|%jyu;JwLfMl@EE>|oQ!K| z_CA(lVKr~*X5V7TfzTein_aoR?3Z6hn@^)(-R{Be`AhdlY+CQ^QhRns$A<>TQAeV*s5JE@B7wv8=?vb&Voy9UE zULD_i+geB2X0evpsEC(a9n&lLPuK)D5V_r~sE<>n2z3oa;ydzN`8w*`T zf4jyNb&vH9mRDbnQTJGHW5oJJ#J$Hl(6&@&QLkl;$a4pGSnL*3yz{0(b~h<%&7@z8 z8)R>mk|f%o6phbd`;e49e)m`~#J(!U`~A2fc1$Pg*V+7|P>Pn<5Idigocxcr!kyXD zB*i(V6r>>9GsLc<#5V&{L5jmtzIBWUL5AA3Syr+PvzxIrd@e@R#t~$=-JWF$L_kK^ zJy{C1!M2P%Bkdtla(ol?+%o1>dpyUyhL{$J8EsEtap$z7?F^QpZDT}d8M9H!p2$3N ztbI~SmZmv+Q}@s6F1coMvy5qPDo}h)J{0Nb$Cv*>KN)vAK3v zDQd)MO_*!q+tUe#`6x7I$CwsXbCklIVbW0`2{l+Z&~*Hq+dAg*~R1 z9B03~lvmo*q~zr9h3j=Rvs!5{kdhpk;jgq;u(-#jmG*X(N6=EHa{V*+AU*=MDAOL>+3o0MchYs(ZF6Vrz>CyOHQ`@}5BYP)ol zybD=l_hgCZ+Sl46Sf=7vI1?J+=~;U+OJ(GtHgB-EvOJAaQ!umo+>U)o)#YAi`@*(a z&R~|Z0Cjy~kB^eCP->&Sm8ApnEJe&_`!35Ol&Xehy2VcDN145|{;hT*i+k3;)t)E? zZ1~lyp%Sr9OsSwfnHNg{*>Hvkys`BZfhCL4LOf4W~R_=9~5kDXOQmM%}be zO4*gm?bl8Fwkjp2BF{I-^M_sQ70Qz(+&2GZkCc)oK0?e7h`D30XW0lj1Nqy&AjPZe zuI(Qo+anGm<}zaL+HF~WgIt%gQA)Zf&{<`^XWy3MweY^(aOA(+Bb-rEyt;BZXfXbE zHES0h=mm3q~tdio*-t#(NJQS1H+5Aw9-^qF?#_wpOsD)mh z0*)=ktE+&s;-Q#=&Uz`T7nRWFf{ytrC&>+~F_^6Y8p6OW^XMVvV-2T-amq?nT<#k=cK!nr3U$$ywzSi&hfUiIC5 zg1v-OS&6v7wU=;`SPFGf&pDKEW=TmB$pwUmfe zt#IDd2v3YVV_0@azGA5sk=-m^AoS~60q3BUWWT$v2Aph`QHYr#GoNr{AakT#V0j<%o|G#r z%OH!S++x`c`B=(bmhU0wyHf2jZ>lkLpOXnV1zD~mW`!(OT#7nYu9Y%KN}7o6iRS?z zk2x#S)rghHs2-M5e2$dJJALuaFew@SU5RS%7w?Qw5;>m6I}P8VQtEhG67M2D;VhPt zA5QV)jrP2l;YJs&RHe}UytFs#yPQzDNnj+204g4u;1gDl1 zuZ2m@$f%g}h)H%*q~!SAH6g|Mg2i1EQk_jvr7ok?WM|()rKUK?KBn4pd~T^}&c3By zd+7Phx1ArPcy-NiZn3zfW;ywmd8O!xHrpvJ#VeKWv}AEhz2o$GDCS*f&OwLzQz*# z9b>rIxy^D3@(<)=r^BaISDGl&2Un7XPb_toEmsnT6oGu|G+&{l6@=#4E1dYxlnjAX zK+I>($kj?FL1-&j?M!4@1The^#%Z`l#cbi2b;?67qf=3e8nODwyx9p$@#cP8owiakNsv8`zMlG( z>_3Q@MmVDFbsUxxkSU1S>(pdvb`sA%qlNpN`YcxvL)+Irrx}aCuR2=ociONNgV51x zzmvdH5kh@G;0%?LD$iKyczVFeR55aIydJe5aKr}HLcO0V^|ezxbEpZ=KmJbid#fD47HF-op6Ro@veQHbS82P zT{o_Wn3K-iQoOy*N#~s?86#sBOG)+9S~m@H%2^Q=LvN9sa`sB`z8!kn`Ig0fC*rho zL6s77u)OI0#c8M37jn6aMUY9w@l>9(k7Xl-)|PWl^^IzL+-s-joW@eTFQlDwy0W-e zy3RXqEAj6^o>ge`1?Lkfs;AqfWJ&S9dUw$|D8+jY5$Elvg79MI?bG2|`=!j zkolTZkmdFy^;^%sIaOJzNs4LP%QRfm3Z8)s>Tfe?OmGe{zTGvuut?b0xl5NT3$3 zh=#>>S<06iQUsDGyo}{!U)+U(hpAxA^5&+Sl`KRhi;xr#^a zWe4J27#VY$#fJP(ir7W%@z$t9;UiMKnO>oA%zt8z|0m|06jgif+|;jIQZnS3W&y~f z;exxVt_+b_0l$m@DI9JUB@`1IepO1U-|cCU@Ec0RG?b#PyGVGtls%Cr>WhR|N>R(b zBJvaoALBfKqo;JIuSEEait#`4GOqg}rbM{m9=R+cBUU1ONyd1iQ6k)2#;9?wD@(2V zPpL#H(WTH${Ou|9B+oZWgk4Dyz;zar)b#8eJ<+b`Eu;UA1PL#l>b9Z(Vv`3<6l zmwm0)u?CR4kU+TqK^4;uk~ao#hKC3JPf0IGNr)9b^R1E*5UR@w&pM)HD$8TxVc(Ht zh<70xN>vNz$|mu)lqbRkqGTOno(LOJ@)e|JxTX^S?O}Ls2X}L7h3m7dLFRpksTFR@ zvKK<@e68?vQoKD$t?*`F8oeZjDtLF!V4dYX&3(Dp_u2xJ06PZ5I*rx zOviA}LouDg_aBN$2>Xvw-@P_>3CBtCj=5dK_Cqnhzw->wU}#BfO8@YBbs zRJu5fr92kWKirMwEMyX7KzJX^Z;&aFf#EAG|3K0pFNb4Ks5}LS;=5{);o(6im6U|+ zguEK|o%ZAiZEUd|<9+?Z6Zf9xgerG+!1gi57{mp)V~BfRRNn2hk|DDmgT7cRoPqvTP@ z`{ARUClO;v$H4{RQ~xLH&I4>J-#CDuF{7@13E2su=$>=WexndEA}QMtWy@a4l0Bvw zlRaZJsVE`YvW`f0V@cNROGPvkNkx{#@B6&(bM86KZ~pwu^E~f+-gEBRmp}}){&Dyk z$Iv>Q);6=lcLFigpV{FD&eFU{3wbef!{vm?X{VUEVLeyO{P5#}7;0;N`00R9)`D*p`Sr-fuFnHbf_ko9Hw;h$)HTR54; z+rDoLk7x1rH@1a85pp))pO`M%yVw@~oTW~Gxd*Z>yj*7CUI@8&u`QhXGqs+RkIn})vQXy#}IuAg1KW2y5%9uEBFJ(vgs*tmBDX824F+0OaIaDVtG#8coV!C#PYhI8- z`#*0887U+~*@&zmLXd*L?7Sx+wDj%{Z@ef*L$sBQnBCzELQ=5J#oJLJ--geNwvv_5 znvkgcZTNQ?BlZSA6ERbNp*nJ$mqGT13;!xAhrDs#AFeDUC!e=xwLiR8N}RW6wLkoW zkZi^4;r_5D1aFc@>$LZ^KYUq=Xnix<+8@4n*>C+@$amrOzmeqR^XA~;a5js#hjuu; zhsE1NI~+dD;w=e>!{?>M=HTIQ;uWfVHtw4@@O%^I`{8hFA!%Y6JBHSehW81<^B0&G zw9j@td|66tzMl@4{$1Ab=IQt0p+b@sZ@&K!z9vNeQfQoi49~dgPw9Ec*>I^p#FWO` zIu|yD_+xk>+~`k=$x!YefNQ?Ux)5&o7m2@hxDvi9V*IVcm2fi=BlqWv-j5^k@aX@` z>Lw(Z^-dt`A(8dz|7Cshe_0EK$SHkHWbF}xCq%l$DT6H>Rm&ijXAVPidZ(Qu_!wo6j65w}YkB z0i5NnpG&E!9OJExOR1AsyftSYEyUy((mIY}H07hQ=H|Cm{elf z6qDLQcEqNls@g#auBRY|&O%gEdr48wL+;?rb~W{)kaXoHq%)?Xn%Xf$t@~42L+vF* zPU-82c~o61REQIDoZFQHBoP6H)tG0SvN^I$^t@g=BZTVZP+Ug)7 za%(jLZH3iqLj0|jrWVUD$JrZIQ!OdPUw%xrrV!cZaj4^{?+EehMAdn@>O7$?VDZ*J zPpD@KQ(JP|G#z!GQ0EpQ@wZJ4Ri}7vSt4TmwR%Ifo`{iKs}-ozP;LKzS?z=bv$_b8 z(?#2zhUyyu*?>Avt7C-7vvb=aP1KPk#Q4OvO^NE~EZ(-MshY*o2+z^e{A#NHBE(-Z zo2u7@WXJV+6U!QRH*#Od;8d*Ta_TE*T@XL{(9zrFxaK zCbyOEu4$v*%$3zftz7EABi2T3$>L2#TeZ6oIqeZtZmZURP>e?CG*4GYbw0~2$iI#8 z^qHC^#P4B8wRGwKw$)KhWbxYSq;?b{mzJhztCKpZ3}yLCT_<&ri1C+}PU>_KBljHW z%19@5rjTGvhq6>BL#Z(o+Y3>-UqJdpx~N0T$(Sb)lL~o7O(;*2uDlGH4(X}Zt|()M zKt6@^QAe_jhb)5hRnG)uHKdff@Ccxsi7-MER>~)VuLr9i7FCg#tC}}n1D>b3EtlSrE?SyPls|)e>=QpVJYsst~Uxhd( zEMvrId?&IR$vUz9%uQ-@7H>*7sqI<3BaTgKmq4A9sIy5OBgEepY*qKLcx$$8>R()E z75Ys3B-_+~Sh69sWNuUA9~09RIs&01scmWjDWcDG25+0HNm25Rq_>U5DcNcgOF75| zA(L1hh5QcLp&rOpXODVSO2|PBwZ2!q$x;tOZS7U#!m>Y2Ak^o5YCe`O5V}uhpISnS zG6FLFA)E(L8?j7=P!A8N{e;M0W!VBGNfB9j#i#`3VaOr1hme%e4oEE_ud%%P1D@kV zTZhy)Sq>wH`g2Hqi{~7a;9~T;s}BN8{;x$oJ}#mh8{A*2s7aUmRAO3-RB#bCD}& z=QWT;ef~x5Ct^~Sh7j6%{;J+&p~^!M^Q+p#rpl?xTvVo*OKL}!7r4$Pb-Ivrr3Yj* zvM#Hg9m+~qMnT3wuBbOzra<0rij5&N!|y>$f>v$ld2G!irbzPQXw?XzB~(|W#hKmMf6Z!2U#LwrVBZ*cw=~1 zEgz++IH!1X@Sa+m#hYLE)JZJfe2>$1v3PSikJkBds&h7O7WX-icAVu5_c>lGT}Q;^ ztCTGJ9IsVp=?|ek$7`mL?6}Pkn$md9W;q%YG=#tGyuU(dNr=}xDe^X+EQ2J(q&kFR z?u*GY5c&cdFi*a4V8WIemfy8No2|W zIvV+W+ABi*XXpxPGlj_e26rQ-kXEoRjgOQgkRn=lA!(tFDYDPSwV_g!?;zCY;##(l zY{eUm;@VyoZ!{jz{$TM&qoh{g32G}_@kXPRR#=E!*PTP_rL?L-(n9oJ$6p~2YPA9} ze+zk*W6Gz>wQ*Uk4a*}j>BM3}XzNf`>lLVzr(hhUQhn-ATIecb3PQ?jHCXcD-F?M{ zs4R3%f!=siUUOLPB1=j=mSST)X~ObQOrB%$*3ad&b}VP`Bq?oE%4;vPILM-JMU~fj zvOEo;WwpHaI!oD3xW`J!5SI3cpdNSntp0WnF4c}P3NG6V9)Vmz&*onpDZ3fDA+oMTyr7!#vWMZ3h}&A}?#Uo0CD z^D-(|(egBuJ@m$>s+ON+FJgKirm9w6h(8+Dv=u`9zy_8t6EkX219+K4L4 zXM9FNs%xc%q$p(&LtC`!S}&GISZZj4gd{8VSZZnqSlU6}Mx95r(v7KdveF$g0rIFe ziDeMvJxFcsun_+!02fPz$ln*W9@auls7{L5f*gJfCuOznLXwqLytUG_mWiS*u^+V_ zl{KwkQxbnoVreCWY|G=Ve=Myv$9Q)M+S(EpZ_V#$Skj&5uj3Ipm zrml93WjmyykPPPMXq+T9+eM z0n%J65Rh7s=d@}<{JT|KX|;v;cdNG28VN}kZ)2mZR@yF(@$Ob_ryUdG->uqCE76)- z&yMq!!z8W0kkrsHJZDB@*j^hd#Q$}-*Cq)`Rw_=A-(zjBb!;QYuyK;SgS3OzUx=L2 z#^_H6ZL*ZuTC|h)9!nbPP+Og}SuEZjbti3s5P4tRbEwlvo8Fe%N{ij|_LBC85V^K# zi7r!?4q7_gngFd%2GHM!P{;!i&_FoYED@8l(*h$a=_|+8!ZzH_Jr%`x>T|@A%)T7^Z0~ z-c$_NTC;dlF;W}G;!VXUZKM!6-}j@fQQ90KX`%XPi}nGMwM8u6cTbYFl`QX-klXiU zZ5_)C$od|2lC`ZuWaVFk+~SxIxbiqHt`ki~TF9$BPRqygMJ%Qm%lep%I%JC0m!;<-5&3DO!dQ**dLlrf6AGlwXkbg2=kYa+l>@&3uVQBPCRFvh2@PZHyG9 z7KG|d)$RyMRvJL)C~2xTsWW9ID{Ud|Q8`^J+C|E15c-`?(*_Cgw{Z}zQ}}E7UBzkI zND(9Z+!u8+v=srNKEJ1JmJ)ksNT#-nWd_bIQ(KwZ0U^oCb!r`1nOfzpV!D)nA;Tf> zYu#D?L{|RdI2Wfi>n38vc9~>`))|XlnA^wQ1 z)t(Q;P!HE>9RfmGUu)fSWo^)23&c>?CT&PSC~LEpoGWXqHZc%GS=rk3fKb+U?c-co zJGBLY7|QxaTM-b-+O2(^D{GIoJrF}#`?P(zV)kptbHyCg&IW`kf2Uo_m33IV9*CjJ zN42{Fp{!$C=oOkf{y3k|iVKlT?@`R1Q(F0ed=ELTJrR%#kRP=6QbLXCuoHtT4AT;gwMRXy4>!C>9Trv40jdR5mjI_)Z zQ#jHgAT&NjBi(Xk6^pzYhz}k$_d%BmR|6o{e9k48oXgtBTy-pQ5qSR_3VLs@F%!+=nh7MYhTOOGrK#88$QSrZV- zvLah@WjT>=12L2pjT{aLWj!AGAy-!2$i+YmWjz`BBUenl$UlLY{TSy4k^6d!UxAnx zCm;<%;PZsTL4w>y=12S60u68;GIGy(0|*LRozx z&2nY+i?j*EJX{pVGLcsTqC)yd-prLXFfv<+KTiiozLr^`dw6iVE@fGgBjF zbH$`Zs^y9q7YXNznGkV>$aNI8J}J^5Ak_NgNHZZj@(siC+zMm(ZlslvGF*9yvQ#scOZ0xI4|-COOa__%q<~1Lf(|lizu&()~G zMM5lfaCAs#iRVR%3h}36UL;jWy7D-(u3-%4N4}I_f%pQhAbGJlNJ5#rC~vynytp|*aCv=HLAbv}|5h@l?lM7jio zvMxmW=F0jdGB{VvrO4=9F~3E|2V$u5?~!Q%p~_byGjnDA8JQo5p{#3>WdWhA>yfW= zW!;Eu%N27gvNu=EKapdB7^?hlMsuvQ=!~9UA}Fsus%tMf1b9mzMRFo zqrR|yk;S`vq=Nmm*pW;CRvzD(8;<4o&>QhK%!e|dgTzaqr{U6j%D4U+TA8~Jj2F(Gox zxCNEV={1D-bt>x53-Rkz*86dt5$MleWL41zNr|obtLUQwLQ7Ot{T(5G<%jk3K+IXx zsiDsa2xUF0FOd@Rt~1uwvjQ=cRa@U45Xw^Z{kgIt`Y|DLN<$Cexmx{vK#D;Oz1LtG zAHRpTzClP@=pLq&&M~_Bc9tjcR1~e}U45?*e|%j1mJr#NjmnSf`QQ9+xj+n!;cI$Qu9(;LuDN2~(EA32Di6>H=gJzSj}F98 zC1A-Tl(67Q03A3Rw4eBChL0wF;pi-KN1ki zO4WbNm6fLd5{RL!ar&PDp{()xom^QH_4|hTbCAy9P1Z{Z@%!_xUSEj+yGYkxlv%Me zco}-PTy-+^fw}6ur_ah&=Y4%`t~wv+n*()d&+`L)Z$M}&KG2T|@q74@el`$8(>_c8 zH6WDrv3@OA)@=Q5AcnH$==TrzM}xBF>cxckZGEPf3&c>?=X$k(P}TxHoGWXQ?gnBg zYl+?F zcIeGny0YxlJF+anc1K0lF8vJ4_t>|gWn;I#aWwTOC$1l|r0kWF&-=R8ZvBjqbS3Hi z1m(aI$_kC4taN1=PH;_EIj<`o}&T=j$BU$c34)?^jJM}Cf$x87V2}%fA zd-a*gR5@9EAB6gIP+$ADlqh0KBIcmpIYmk{2yJ1%)332~fmBD#clz3~GRFJr<#+lW z7Vi!4hx9$~$e6LndJp4sNI%1p35lT25q-QEv2>-o8&di}j_Q|1opfc~hLE!2ULNI` zevM@|WGCdfzF{0y_Se`a^y5P0vf-l630)aaG4czo4I$s_orR<*@6E)W2#_E2!%{+5 z(4X%Kk3z3T0>~-c}`cQh%H)YWS!R&g=8qB z5kq5`qgR+D+nSDZ)Uz@27xaf&W*}xDVlL>9NfC9%3F#`t|Lt7T`>=SwolE*aAvtm0 z+mJ5nsR6kkdmz8*?Wa)dIdMPt!2OBX6aHNv$`apGzE$a}UgTXFLvLOxgRDRG8Udkq zF0tp%ASU!W$73chhAtm2PT)n05x)v}R zuq;K)Xk-;ITCjL;rYc}`Wbxi!Rls)SvOmK-EnplIB7Yb3 z1*O8q#X!t%#1t{KbeamBH~ug|`3_RdC^3!1|HgN5qZW(zHpt>ebC$BmqTj^>MmLs6 zAhfJLV5G9RkQ1m}!k8^2Ig|+bQOG8aNrKRCu%vOCV>&}}5L419oI(9b5nmRgZ)ue> zN(qt2aW@fD%BUkGT`BVs-e!Y4Da#rSSssIwfRrsxhIv zss=!+8xOuGrd|9_M?h*A^@QNL30#?MUIfQhMxu~3rQ%FHO@J8H*e@ki3qr?4nsHu8 zvhoyUCSo+h&7{hBKO5vdyfr8yTF3E4-Zvq05ThGCMT}g2=wsi=y7xK7~@S&6|kh74wMzN2CgbK{U@&l=7=t5-c zc}kHy8<4VCi#9O22ZVaq&{!@d_FnWx##$Ed?G25L%R>C$P9vk#OfeN=oT*MDqmmGL zuTe3y{lVn{#>jaja*47bV~tc6w>{p40(r;iKi`jO4jFF@4akd-$;LMtQ5pP0M(gojANO|m1i5(7Ri__$O>f5HYP2WLSy(f zWR7t_h(DL-8TT!rm<+`m=Xpjk7H^yv80Cb>C4t@pyx52Ygr1C9Vl)ZJezf(4(JLTF zAxn)(Qp7U|KR{L((^(eHmRr3Q#&VW#Ahhqd!q~&|GlcHUUtwHi$@3}RFDmLJd_hx@ z7JGN`3ZoKBam4&8V(JL-&v~ve8VN}WRYeSKb5|Hkgk*^Q`C?caRv5cj=*uGyLsl8Z zmWojoYc?B_Wh4qoQQG2to)@qdU2RlbMlmVk4WD!-d5w|E;=KiQte z>y67S!;tj}e#h&L+d||!NXw)3^~QrMDa(Hc>3ZW~A<4=_WYKcC-l)rx38A*u8)pLY zG{$Fxu{Mk9BrBgFra5GzQDU`}FCZ^LvW-S88z7Xm%b3SW<$r+S+YY zW1;O}Z)AOITx7Y6EPChgx5nD9WY)(xiX4cTJ;r4r{;y!4QF9%|WGZQMah?q^`;2iy zVyHs=DZQD8mwCnxqr=95NQ zA^v^cCyjb6-ciXZqbtjgW$+~#{JKvYkr0imgzD1Mu=RuTtej^jKe}?TYp2&81WnAsNUwRb4F2?f}hDJK+hQl zOGOB^b>2v1iE_+&V*pEQj``VmhovXS{A{dX8O|{|#txPbIVQ)r%Ce4QE*N_5ZZ$LZM0_jEG8XU)8atuOC)Za!wA?eD4i}1c>5i=to^&q#5?0_Uf z?ig1C@;v08QD*ypr!iTGz8Gqi(Z@J!!gxu%UbT_I_q8vn|tE#l4kEKfmb zUn1UYDn)6oxZPU>N@auhNW zb?!H}3i0=i^O=`f%9OyGAM-1}c}+;BG6C-%NkvwEv)?W;8cO3OcyBzUfH{LD3DUPL z-sEgvW9bF?9d{ZOHr;PTR%~f0Vonv3BHojnfjULZ5xXfSCA1G&A3}V!nnvV0IUh9rrL~ zi;$iy^pz7@qDq*lENwoCS9T$$ggIG=zs#33-xGo_N4zPsN}97+yst}?G(Tf`32o7y zOiA+#mOe3A&GL3kHn7Zy$##}6Vsb!8w&G1iN%Qm`n$m3X%>|l@QfB$RBz~VunL~xh zv*@=mU8T&o0}@vrcWj#JLgW@U1SxGU5t1Eu;v+mI3Mp$YWvRb3K`8?%XRcs*9#R=n z-ppco1w#F)V6I^q8k2QGQbQ9UHIP-o+{yAW$51ThxUS+9n_Ww@S84c-*IyKDD zAt@6feIYgR<&6KHZ+V189{sIDOs$yE(O)*?v6#@&-&(vOKk|Qd^jHkNSL86V%$QJ} zQxGdA-ch7$ek6M6?|nthIYKg&hn6QOe<3SsE|f8f1-U0=M?eZ!h*O?4PX**bNCWdK zOG9MQTm2iEcaO@EZwaZ0m_}ytV^X@YG&VJs0W67T?c*{gh2&CQM{WXv3v z7Un{hl`JjI^DJ9fUNF0!lvzhuTAL$SF0!;WKW4edl4P!ADYQaPMF;aROF5Q~X6aM1 zvdZ$3Ih5romd@q@mUb*%%@U_&*6S?Y&3-JYEIrH*SX%yqC!;Zjz06%K(>bP(+5CH1 zXC6yG^8m{#NKItDW{&(p#%y7E-Q3J_fTh1V{YM#dlI0EaJj*4P0cOiHGUf)$Kyx0; zeJf>KgUoSfWlR}}iq;34vjS2VGStjssfm~-kP&9+Cz(~3>x?pcu{33Q%bd;9mSwbg zo~1X-7_-_rS!V=Gve}&_o#kzFCd)jQ6!S34mn^Af`SY^QZkDm;7?vMc(#*9i*IC{% zOaCmh;#bMh7-ueLDb6z9tdv7Ba_@`Q;S~EzvZy-4(8bGZ6It-f3np7VkZ-)6LX?+>a|7@0sga=xv$w{q9Wj zL_p~K-S3;fuxvsMeZTty^QI8I*_F4RADaDsm;Ld!o*$Vv|CHiwJ!hJY{vt_NUc*$J zz*NjKQ(4j==O7=OXN4pyA4BNdowLo-*C;Dl`2s>)>e=RbmJN`r$okYQe_h5Lh1`J5 zFoc?RO_}9=A!xq2pGD=Y&rRi) zjA;a+rS5Zc#%(Fbv9Bei^*>Tt$6`|dmC_?tr|4ZN!ytDt6`z|~EE70ufw|zGj9COp zsEBuQn+xaz^BA9X9J9!59xvq(gpOqvnF$F}EsiPXh*@c7v$TgagRC}h=94k~S=N|$@=F=V@|D@T zfRs;IzBUK3tcK83Y%muTlrcMFGPIDCA7gTrM_oBVsee8nJ*8>nC_4d@NTGW=H?Qlck zSTm`Vl!1tO4Q*{V7nGKg!F6_+-O5Or0~vyt9p*#$i@NQQD6F+0)2!)E95R5?Sr0676U zX)dQ1ltcc3#8twRfM#MvDfg{QP%1+%nm2`{D`g>1L#~?RDp5?bI7Vv$`O`ehLhIEw zkiX1-gvjxs{#-W`DpQu+5ATMU>*h2mp@yj32lBW1A&YlR^tU;O#XHvf+gv0?jOqxH zwK*UukelYdfYA8dGLLf|`rge1#N0N|u)K=aX;g2U7g-KhkY~egn+Xq5pZzm1x6Nuo zGL#+2`b^a6&TfAN2vOEO&5^~Sfs>pev zL#VQ1rLweQiL*|#41#PxRvxQvRhcyok`0NsQdyQj>SW^Ubk+`*1CaO)xUz4ZVYvkP z7FqXMF5R$;W#bm)FywwKktP3n*;dHf#PSg26k_sO$60L1PmuhU^02J)EaVELfHgvh ze-u#28Ye^^dtR=FH!oS|grq2|HsRNVb4^99KZK-)4nY1zOfl=0kmS(Mkobp55~@>M zvQ8ODaciWIl+cScvBui0C}pfkQpEDp1Tkf-zXCCDR>Ie@Eu{w4@%ND)vhqm@P1r2Y zM^&+^v%C+XeVZy)B8zvXqKeg$Wj~L1 zk`P=wMjhHxKWrsD;`fk_&8u6>YY7qiKSxlxhIN>Q+PVO#X(iQ`mA$=-N37+KN%8h2 z9<{QTkm~`b4NZ#srmyVUFlO!vTLud`4 zS{GToZHj8mGi1zjv6vF3l$RmYXVscyk@)jMvla)WG}?+-*;2%)Qd_2V(GgikKmdTJTNK32G zQ`Ez=ajPNgAhmD-9t(K-ydJ4XKV?1I$AYJ6NTJ z_~$dbSdX!IeeP{K7H`@oTg4kw>+&2U{c@*RWrfIJ3f*@)#d<_YT4+nl1Z6(tT`LlZp)a1l zYt`qNM%nU;^HeJ_5R-&ypK6Wbn0|<%V}}fDEQ?n;!nwV@2)Oi(kGOgnrbA@|2!#cxqg3k%hur5jwztgL);vFW|{Y}L39O|@PPS;GU z0?Qi^n)aDib(XOlGs~*WGJ|7gSx>Vp=9rJI7g@G&%*R%DmSY_Ai8Y+%SC09_N)h5O zEwinuGDh^7=HP5=O+cuJv#mV=q5ZK>t;&i1Z-3~>}y;ff# zJ3`~`;#p7h`JgpQiZbX`91qnYd6#7*rjukrcv}>GdE}^7^m*!YTIdXfDj&55u)K>AqnKmXB$kgL6m!hF%JMlR5mRy8 zD*1w}vl4RdMZ7)Os>!koLf1x*TlHB^L+CpY$F1(IWY#yB|sD#{6KD$8*Q9pj&{ zK4~put|E(;v6I$X7Udh+!;{ukmSPYYQ>l&2dgUj1-Sed7uvCx5Jj2oiLRUghT0L2M zam*=eI7>3eoU*0}Nmo9Ew8B)JwzjckK{`Obx3015hP(nfW7Td;{Yh6&LSBdbWHo2G z0(ld1&MMqa#^l*eR|9eN-zv{i4DumjezAJ7q_mLB;Uz1SB&Jk(1TnNE{AQJBc_Jnn z%kwd5#L_1wNh~8Fw66QjnkOV%IsTel#;#aJ+sn4-`GV!>&lM|6NVf7bV%FEi6T4Q4 z4l?FluKb5p^hGJ3L*7TsAJ!n2tt@|8$5~E6HlXr#t5-*vHRvh%{nH!Pav{meEv|gS zYTk)rl9iI*%4xr0oq0)0{h0K6SxO5CEtxm011!B_F{L}pm}Ce|`weR|%S@J=R#q1o zvj(yUJ-lVj>`Ia$mW0Iyj_9q!LXwql5OWAIcdX;xWY+hPpCEUw)b3KQKxls5v!=4# zh0xM_&szVAj48Uui&@@7N`;s-?vuYHl_Q;f!KOp3EKgU~!JWS3-lIVPo9hQ_2E%eyhD$TANi+d^mXwHF)D6rlJt`P^CP1 z08c96PM#t$X~j}BCjD57#bn(xGOKt@id4bz5Gp@lKP+08qk5)0?hvpOh2+F}F%Q~9 zg=8p;CgARDJQq;LKERTSwz{BBdHYU4UWZh&>%K1MGR2I6RJCWbOoL2;RJWG|WESL6 zyJLTuH4ib%AgXkZ0|wETMx~^FvzN34C^HNN_I=)by5vbGIepd8Qo~NAx>0%GyK5zLB_X$H@ zv4^vqg)D*eu-|662U!j2X-{A&afse%4XCXx(Z`dbU zZb3>z2G~Eb zwTQ{Ei;ko|=fw54;*};JD9UuZZa_96<~@6DF`SLy!nOuNJ=F=EQs zXr0!pnf600hafV>5aJ(yW!iOFyrZp5dz6q&W!v}i9 z4a;d?Za>HJI>)TAJF>jZveI6}GJ$24y@n-|CCkocnZ>f&KFG3| zS=QPu$H?hA%JP-HnB`}db@pMFxHEEmzP8V@lwetJUtxKSWrO_>OI?%VxU@%WEuK>}D(zShm_pEFZFLvtMCZ#FA|fU|GYm-5$-don?nTiRB2(PWuCv z9F|@70+t()Wesq()V5RPRAkn{TV^4I52izV+_`McO-e<>tGDZ;YPzQ|G$ zvK?6mY$sJ#CZS)`A-fSvO~`&+DL!J4VW|t*gREor0wL)N_2&@exV>O3)k#;{Am%jW zgdKWENNjs?(k>$;L%D<)x_|YgU0sM=W7D4ADO=^3`+rJMDyQJCd;7^i3~dX(w_6JF z*Q-C+eTB&N>Vl{66<~WD$9QYDGxmEz(v*i$nbweJ>^UsnTJ(&aCFE?}P{h!_=ovdS zj;7*l+y)5s@F%-GOa60G&e<(lUSv6MZ(&)?^0U2PNJ{M4lN|eo6y-W%XwN*yE;63l zN>K`)_oTd(&_j?Dn64cA5f%$_PDq61*;q`J>r5DlXa4F@5A+?N9R%`P{ArXm~fUXNEQ zL$26Wg`_F>x5rtoHF$R0)&lYfVy@aVg~%o0I?iYQY3~R~1TlZvzXycwVYp^joG3;t zGzROsn%E9rw>2rTFOXihn+1gKEc)B-$l~2ubi;ltAarNZO?xtncW2RU`y(mhEPAh7 zxK3@)WufQZ=#HR&?8QRTLf*H_|FOSf@xBXu$KEAHnToHOH$eCA+DC=>_a5A{&j`s- zKEgb8G41#4)JZg@Qkp{IoXV4>EJ93sNW9ZAAblbCIR}KKE9($53=(oCO`)uGWy$q; zWh^AWGyPpD``Y1|KS)96%v346ko6Iyh*Kh6%5j#WP9n=?$Xvt}bC$E*f~bAjFV7>^vq! z{&o&x4Ozo+g~(-|-gMgL`R&9OJBMqve@W&H0g~5@O1tj^icf7YD% zOq$X(A%CNX5vQV*(AWPc;%lddQ=O$>M!fjiso|(BPod6TWSNe`@**Um5lJ(aK@eKg zT23pLG;ZB;It~Z>Dqlb{5!2dH=8&W- zyCI)JlAQkYq+DWo$r&_XO2La*eh|~$In44XWCx^&Q~q-q^DN{jq?dDvr8ndZq>pol zh0Yc(z?!X}({cf2WhjFXa}hDGI)hlILastycgioM7`bE?#~NvXQ#~O6AZDObS4g(< z`*T=lU~N3uNoTpuGQ?THl8wrAm0_5(mSsPLwpPQPokCK?^OaJ5k`jB1+HmJ8%SmL> zwtKi!aFOU?=p2NWjS)^+mfs+>WR7rLDas89oyQ*OZ04BSSZC7Nr%}#HAvtk3SH&wW zkTuHrUP!uf7g_O7G+H91=r3|AMmsgXkWw=yZwZlONLNor zJMRdQXWq)8@)##QAk`snJF|uOXWqs-D_K&8$|qLFI-7;0g_fc%nu@Vb?WNRuT4-Ar zx&0dJG?JohM~sWgV;y&yh*6F}8bH#VUP3aIi;!lJaZWM|#k>F+?<@&OSIA`NGE1Ic z<(bK8PRr#~IYX%o8G@J$XNHh;MTLxmWIByjQcSv14?>k^I_CrOF=V#WI!ng9gqTH; zInHU8evp-rxlZ#hWlRcWGi1IqLrAjnE@UUaR; z2rc0&oyP)l4gFc^)EAN#T8=t2PgglzS$0F{E|gVHD$8LA{hC%eU$FcDq3>yCIr~{I za8{P{2g@DK%5utnEk+~c-QBm^sVgKURP1ts@(=p6+Ifzp3WVNjvf4=!BCq|$HKv%G zLge$^`5|kaq3fwK_AYP^_Cd&3&ORY2%Hyb09kSlJ&e94(qp`uc%Q6FJAs$1_2IsyF zR3}AwF&0yk#kFr~W3wvblJE<(Rht>_U!?`L&$@iPQda}z& z+WgC$*iLLUQ70Kb)q0kJE(3duo2K(}sois3RDSy-shIqL9(3yw4fRvJ-1{iaFq{ zVtE^t(-3pe*)HU4TpP$~?Cl(Mz7vw7)WEb)5iu8qq$|Zf!umi+scqEfWW_~HGJ1H( zIiD@131=O0;( z{pjrC7+PA2Le4m+Ii|wzGUg}eCdbgyQU)>SoFcoavcI&Pb87D)$xsF(tE!0U%A#n@_Tz ze>-Pbs6TEmk|p2Cm;LDpP5bE<&L$!9cd-mHcb)x0{PP=%`xA?|)r)ig79!7htU*?sTkbejmUT8l^0>8yNP`|Fb*wBuR?Wxk9`c!+dV-AEcz}2pba4bd5ix~b?VOZ>i1`Fk)NRR<0m*_Cb5FA@glvU8;9g_d2Kg3J z%58q0>Le>?Am2kuyP=<@+<;twly%Ru6#Y}~otAf#a%4;tavd=h+~q7SAhcvwbVC

    A!%MV(4+wTm(<6H>5goKo5C{EL)job`~44*%z!V4nDI zD5}aa@||E$;*Kd_yk|=v{=Yi(zC5Zd>r_CqHDf|o=pI0S9*GIn*@&a#+U_{fLx2DI zF?W^_f8RLlE*B#As7Ihq*nQ+znyw6m-Y}B}(cIQTQperS(hu_7dPRA{J;*YWl@eMCq3!ZhZY`F>5ZVeqz*gYjAJ9Y;S-mZ96)KM}Jb5z9C7m_06M@SQQ$se+<*@(FWY3iPkqO5{Y>rLHj zEZLAhL`>^HDJxSs0l5cx#vK}v{LkQ;xH~lo5-pSY2_-{Ns>bk{+*y$ zkT!08DaxY|`sKE9`?0Ki5=)$jxqL%pDK27~L6Y3fx1=0qN|H z3CK)H7xz;k{&mK#?ot--40%^~J&Sj=)zv*FL~e;bL!EB!HIDJNR^8otcW5g7E05jX z=0ehyxi@f)9$DSp{zCjKp|7|LgvjHRjfm;tW(8yiq^G<7U#grT_L25Odb>;RicuAN zm2|Y#*Ub@<5^9P!PSAZs{oE@uCPZJEq+ew}_iv8z_TKxs@%N}sO6VMVC}Rq+T!kD* zTm9V9LXtzuO)sXlj1lL|>Aj%++)r3&U;QkyUUk>XEU{%w?uU1JyUi6GLSVZ?TSk)C z@w!DERWK>8NDs^RTf%jz93`<%Z6JCN+-wwH#-nR>&!v!*?{yx z%wYFwKn6nIbo=L_)-#ozs6&;9x?=(|8ZyjX5HDgv-LWq^88X6M$(rX?|pJAqLA&7@otTPoPbPmvjXxfWSTppuxzUyvPj-{YZj4p5+QdXGhL;al+KX6 z&GEdjyQGB78VsSzv)$}cQpQ7yA!eRC@@4UoX_kFID@DJ{N5|t0I6k++wtzVH^Pgcr9XnnZOy(q-rgI(tqszfnz zEkSj@c54dp&*ZFk2eLH6-I%n6UGJtArL1(N=iZR=HKt^}J4VF#`_CKQeM0=JCmY>g zgvj;bZM3z~y($FP{to0(=+2OhZt2Qm#Dvf><7RgT%eXu8C~}LNEhJs>_6oMTB_5(I ze?7Lk=w`7@gHYBPx8S2x`E1-x$S%lPx15xG9q-BM zI_FjtBH!J25HaW6TAbyb-#F)*Lj2|DoO@J=oP)PT*3SW<9-epe)uPtZLLVr3mAtr9 z`Mg_ zQ|nlMSblLsk4Z5hiHN!6?iZ4xJXJ)F;cxCmmO6-`F}&i=3sY8#(gZ@w#_#TVA^37J zq&4bXb;qd`ldSaSm_OWWI*C83f4W5t68}8FpKfU(atuF2oj=_+QbN~Iht@5Bxt*mb zp*(q&PZ9H%Yg)3cGLWw!*W9TrI)q04x_eWK*bYi5ZHp`+Tab0#JugJIegJaAy(T0> z>4-W%LTe3_X!fbDFX5oBtDwNvJ~=+5Cr_^s4Xv^5A=_=Iw0o$n9$KyfpvHj zcueSMt1n^-u*jo+7e{slV=;7JJ5mPdnP>+Pq z61T)TplD)1szNG9lZ43iSRF|9Xpexr0I3xn5RhIFHTqUShCuY_1Sz4D@p+Z+y5T17 zXgbT^karMcM`sF2SBfX(RVG24=uMW&kW5H4I=#M}7Z&7GNS$bj22!4atbsfgE%=m_ z7a%(!O`?}sUW1&1JR41HC}UC}e?nSE7qHBP`~ztdy(1(|Sq+JQK2B*Ht=ovQq!fg- zi_Upk$`-`X(wh`r!g2^w5-~|pt+9+b3!(kh_R*S6q)^P+8h8dXS~nn-k@aG9Xrheq zeoZe&XR;i?nE?keoufBdwnOScx<;Efm090InnJoqXS2}xx)&flqUTxe-Nv_WAibm2 zo{?F%Sze7!V!47Ijzr8GQKgxT`4=(;GAO#4rDWc`$_GNO(#!8KJ~bhJLdZ9W86I84vK2z>sNvB)LXwq}ko_X2{&SR-to#c(3mFkD`n;4v_vKZ7hm4F4 zVkrlSdjU`OM$fZ2kb;oW(MB)Gtj3U1kmP91R#G}ZDnQo|DyabsT?H-W6kSWo_?IA^BKCaND@%J(cEN8KJ$uCRO(9mGTwW0EC&XV87Dh+Q z7_oiNLCnJF92pZTS17M|bLrCPav?jEns~P=9h)zWhWb!tDTh{*bQdDu15C@s0JfuZ_;;to3;3C(YBf(KQ^Ch3kXO(fU`>O)S}{^OBIAEQcX);Es;3 zqWihdFA)0Weii+NW9~wz&+DS`{lsYGD_c0P(hGIgMe_?u2~~%@CZsq^1IQpDbyzxb z%-7L|ECV^_>u5hAY03o12xP5~4rlq0WkYnFkkrs3$lHk77@f+p9`c@$8A9a9Ulp=G zAbDEjC@EU`bukqoZ(i())@1RfYfn@Yk`l@&l2<8>tUXbeWdVfVbGs*6pJgqiqKHY9 zqR{&J1(jmP3z0{W4G^<8x=~14sL4=y_4ZJ72TQRsIPSiLYnsu0UQAIr-w#EPvLwai z2Nn%kw6!`E&0*<}nCH;eq39JM^6YmTA@^9uBBl%EShPZa8jTEPHlz>ac=U0W)iG%& z#9z}Mj}8|i$9aUvnkpnMRH2wWayc2D!Qw4rC!@1j9z_g&kN#wI0ZUUz1k3Zu=n9rz zkW^GY75$23EM$TZbQpg-^6r4pZ}7C(^CUU;f06^C<@t1UtEeOU{66Y@AH5?aC(f&L zCYtvR8jYMdug;lhc^0qEndo>SX`w+CzGt$)r(^A4c?$o1GlR6ZZAC&cgbh5wOt=K(%d?;pVLU~;WlLzJ;3Yg7_< zzt_?TX(4+llC2_=WE(TaE@L$IrN|PANRlkgG$i#EibTo2M^uvK_kN!9+|T{=YyPU2 z_c`~RyPUhc5y*+r`p-VAPAMSjy)c<+4P*xX|dZNI0zv zjnZCI?FpxKq0v;9Xj;EDn!}>z{1Hs+w?^h5o|b-RS@k~brACcK9*Ic{kuPKNlt}oi zE0-E|61jy8jeeIJbrUI9PW_hFrAB>32A4?W(fCrM0V10#LF@hys59dZcBSV$a&vaH#kK{8JNv0=C(fE^S ztdqI;5DH@ z`22HzqZCUPf9q@`YSs-)WF4;OWkU)WQSR$p~$JBp-+-__V z`4~c1Q;Qo1ME-}TYmOjO(#Si6+LNV`T!P$T)Q*!|ka9*Vk!`4lrd7dcA16hy|GwKO z^JY{}Sx6%7ESXwjDI8~_o(GK- zk+Kl__F4lYlLdGGai&Sn;XiCFV#(0zAoCnbH8hrvplM}j0c0S=Hdcu|1{nr%j4LAD zA!!iT&_}9LZ$RFH1V(+4(U6&t#zsGpg^>3k&5VI5R4PSV1EDcI**GPV4fzn6WTWLM zmH8e*@7gyvnxrZ@1EF=kxiMDcpO{olQ<*zUtG!-xqo>FNkWWx^b7L<{w5M)vpfUft zA{2_c|NbpXwUCUukN+d2WlZQw&M`=9W8!FFSn2vxFOOKvK#WWQEZIrdz-p>HQIx;Gdvb` z<^KlS)83dULiY#r<4u5$#yXbhETEI|K1(!zIvJb(li3$1Gb`c#sc}6{XngK$lpD)E z<>&oqt$Ws}BSO#nQ7^h0fk-%tK5ujs2}jZAjR7LzDB8`KAQFzE-Hb&d;V9bO_(-G` z#?_+eX?J6*NI0&(VEiZ&j;k*izbnxuVCj@bsUAk{acX(Zg;d9tiWiOcBH`0eFB&~q zQu)p!Ew7%&P?2z3?q$r36WW%08_Pu6Ve6*3(brhdlAn5@81QN~T!u7)^f#J_+;&Hz)&w%ZXd!Yp zk*LOhRUuQBR~` zwY=JN$Z+EsmUOKbO1%piX{;3)3|Y!@i6v7T4Os_CG0IM)_9)o|8D-QJ*?L3Mwn0*j zW^u9$l4f*f`7(i~z8^B$7{HQ~un0Augp4tUv7~7qLM}tb8jDymwDpjikO{`q+#b9K zv|HDHtdUonXq@JZIs!>*kLSY;Z4$NcOD&w%TgHBtoP^V;rw%e1MuEwciAqg1>M7Bk zGKpI8s<>)oG-QeDnP#+ni%R7ryoe0dlVwa~$O-a*Kd`8p^JCnYVVq-$>X~UI zPl={Z`_tLR<1A5Twox@B%9yBmu3@o6nfb=jxXh!-ykiubN~NOALZfpgNru+2Y@*g4 znfHwDB8?$0Llzrlr%@(FYY!O#S@xeXd_`=0rmOKYkXacMx*ES6@?lJ94F44Jk)gj$ zHLLM(CPub3Mx8i0hRj;SR-*UnokzP0S!XmAS%UV^D6!6HB|>LFH#yUlB~@RI3>_`6 zGZu*Kj7it&H1$;dM@T+AwXn_@#*(gGg3z2_XRJ{f?FOVMXL91?4#+1)*%@4qR<@if zwce;CQWer0S2NZdmI!T?l~C$aBTb|sGPFAgbZ!@NgT*EOo z9Z_#H=8OD}3@wXo#uAq3PVqKlv&wMIG!M5K+v4O|OlzC5D^BQMz;@$Yob*QKDVN{=^dRh+h8ZtYKrY!0mpAjrwMCctKlAXNP;mP{j>1^U-$hXE|&SdAM z*LL{6& zM~zoR!ntwG$YjaTreprlo6#qX*(_0;PZ|qVsaOk78t=1YYFkmNY)9NFHgZ%Z*5*^j z?;>HF&luVQ)xxmNXN?siVVlnxheX0QUoft-;Lf$Q@HeCQJ5*29!iz>ZmS`ScG?G{{ zH9FU$7G5;!t4yqgmkdiJY~f`iStM-X72{)(u!VmZpNWJm{L9!Y63*4D#@+A!yM@<` zbDW8m`!%B)XQFlNn(>%OxQ<;n-u!>{+%R5YiR!swq_RYPzhR7566@&=W2#8l(_6-T zk+7$l`Kd_Q(*$#~NZ8Z7<`I@?&gV1Fu|&PdXI5WGeLs;9_To0PFH2M^zuA=~>P3EY zAWPJX{N_-WOzo-iY8}gOHeICFpRgCY`It!9<^pCLk+98$%s|Y=jNF%`Q=F4#z8Uc!%V_2eTl`!9AiTYl` zoWhc+eIPw8VIEk_J&kQ~CCy)z%4N(wEKz&P znlo6U_LMb$Vo^s#w7)289#i!c8hjV-1q>s(&XT32K)PVAmNlC!rKx9WQy?!u%9+zx z(qm78l{c#{qfDl@KuVQ2XNatzno+8Px&M8Y*#sE|xywWm{AK6=7BUWUx0!c2_cZTG z2wgS0+tgX6Y1bi{oKdB665pPape=w@G~06~gQva(l4KVCfa<|J=_s`xQrVm#LjC#@ zQpHSK$(h)?QI*>h|7EIB)cNvzshUCtqaVjMNA02s~DIAMOr}S;9gr`E)eM`na1W?k!}zh?P+Y*TgC0s`a>GCbQKu_ z*)$zjsmzfg>5%5gG&N6&OocoSX=dKNTGcZf(hl;7S(_zIv-{$j4UT&sF+CRb&RQ4F zbXTQfM_NLrd+oD4y!R_5e5Nr60Ot`NC~dd5Opn-@j&BsG7YFiWjb(<%*_ip*1{ z%c4e!_aSY~!Ev%4(%x*cmP%z849AU*<}j92y(8+OBiN4SSeEE`wWIkBOQ!ZBGTTs3 zM^pcp>&X+20G-W&EIIrnGi}|S%_}T8vqPypDAmR6w~k7w7S6=EOjq;gIH9XF&zTqF zE)62Xpl2}RgqL=xP$el6Cx1Q>W`qj&9$)fsI2sQUI zXRu_)`qjs*`YBIc3$M5IF+G;3r+v)rD#L3OwXm<*YeUrL3Xqq~IV|cLel^G|ruG?U z^hs#p{g78poh4d2ubO39qBg&3rm?6tKg^{PHc~xNoAFhBk#IB~XjWxO)fQq}bPsx< zIfW(a#XvLZbE+pp`v{rFsQERsugKSsMPeEQc^-Zc&zRHPON629F1s1iG zX^eWq9LN&&Vu(43C2I2!^KF)>Jwteeq`eG%9fkHXZ^k6tpT21>-0~mU9w&4+XPCJ!PUvpVaPx!`y(;ELFU*Y*<^>V@ z1>}+#MMs!_vP5%Zgn5G{J5Sic5oYzxYMF*D9ASDa>P@#-Q1eK0QJf5gq?o&u#P*D% z%sgAD9@Q^;i)55pI8HKAD%CWV#MZ;nW@C{S=mo7UqsE_t2)SeV=E^4NI${6z)OS-lSvIOlJW7hkE+pKMde8`d}vKvBosm7Q~ zfa2F3U&fFU(UqQy3YjZfGA4EO0cbH%n|5C|c5L#C!n9W5>R8b?z zM6)YP3O`}88}&>yAJ3&yDH@IHXQyh~B(vT&64lc@UGSWh`FNbXlcZ@=%(E*9%Yg;|ajo<^hpfxMoG~iO)8V zs!}}Ceua5B$JD-|X`M)*=YLGJaIV=zWXicbT2sh8bD~IROzUaLyXIaI7k9*ZLzb8q zMd;~AlBH&$Z@K0IJy44FjLXalEK!@6nN^j<+Otf?sNBS`J@3aPY|rwTgzfn-CSiNl z#w2Xd$EMHI%8j*WotYdr^&KzaTAbM~PG}wb#O$g>AA??`q8Fc-Jy}xqSr97qiP@he zH+F2Z-W)6v-c?+0z9kaA?X}*VtAxMC-yd`AQ}c5r{<7})E#pqOUT1EWQgrS~ch)w> z`b9k*j8c(MPf0$HWoRCbfNY8h&BFJ|OUhJ0uCWXVY=QZ12Xw>eKTcS7jQWskX8G8IMknp-79 zbBy*o-?iYUmfVE!7fgOK_ekbwEOUxQEu9_c`%h-M@2EW~ z`U*^aKjas)lE@d3qbxN=_CtPy95x>ixd{1#i5d zWl{Ce96M!}+Dn;qebBvXjXGsk6G?^8d_HA15()1`o;F*Eg!dv(n;k?NpU|`l&m?GP z%pM|BP)}u+fg*EdT4&94k!3Qiv*t_@`qhIPD0R+UF7h!lby+rv`~YbHIdAR~IS=t! zerCxon6G-G)(UdLJT6iT@)XNCmQ z>YwIKk*g4T2mDX7_z!As=rvX5FSCkBc?f^!-)taqAB2AG;;NY};y~!vF0PuLL>`mO z-{wmq&q?NQbEJ~k`SLY$EQ>nYp|jd+=5#3)zAgBVIiDp(zlC}z^N+cdCECkeH*-Y7 zz07s)}kP$42KmEHsnpNaKQkEr`e>H zEK!^DTFd`msl3)zmMpDZ?L=(_O69eZ530FA$JkU)K5G$6R8M|Ozet%3?R%8Eg-m|y zn8-PZ-WAVTS^F=k3`t2yVQcO0|L#RGtJq}{b-YS%N*1%Kv83yNqZDl^C9L~YMlVoD zZ7C(Jhb2=ELYb15E19~IDQP83rm18~S<_guw8tS8(VkM)Mv)q|^Rkq-PKoqHrW!JL zSf#E|3$ys10!dlR5=ljd?w;IfwGp9u>LOF#8X8yXVaQ$9do0n}O_KGANVpy*Szn5T z>tQA9B#XKt?W3Mb))kg?jY=g$DqBzep;}1tIHamILB8{#q~_gmXpP9)H`d28e9%7fNUkw50-(dcU}4_Z(DNi95) zkbiC-?PW-PYYncXW$}*>S;JXU^x+Vy;2~>_%J4Qw(!g32C#RpsJ6TqRzo=$) zZcayo4XrjT>IuM$$QafjB|JC&f|%AA5tGeT@HLXhEd3vU$28AsumK@bBm1x`?Rj{B#ueY)t67`a($8 zn9z0gm5^@#si%7^L)Yg&L8eDcsGb~1@0f)3^s~Bmq84Upd+;7d{qA^X$=WZn6Fnt) z&AKjf9O6UXunKoprOu*ME67l5ponJR-VG$hvbsX|sQluMdPMCr9n0rCe50d|1G7Lh$l9Lw8Oox=aFJ4wlW^^p`m1H9M719g6NRMT% zL0)0m^8eaA#_IPh_d+*K^?tz^D@}>k0Wuk-##rC8MEx3T-S^_Z`##pn*Oeqb)8IcD zo*8(~fqsu{4r(52J;|A)dU(7#*6PTTT`)Xe9cw+O>WQ5}kF^G{L}$=rtu&Stt-FIK zLs0WLt6ooPPpUQ;@*!lR)l+0FWIbfE)vy<3vI~aonPRyt(Q=<+J)%U}F(cS0zWX>AvISTdQ` zPa{g zHBoI|VLdBS9YXWx1FOGCGs%2lrHOQx%t|XuWQ=51TFXS##_PrfM5pWnC7j38D6^wh~{azNhLggy!>Vt1L@2K7VAbdxhsu>^$xxtLlF; zoBoqIz@pAQ=}Ol})@hbpovwlO&YPgEv9x|vb9NybS8scPBri)e&abfwsZ4B~Ut^VE zN!7zUHEXOpMczX%Xj*Hmsx0aJeaQU9@wMJ?AD8IL^~|-_qntUB5MIyxIF<>oXRfoJ zkW6?zbG_AGB)p#axiyU?M_Yrb7e+6#ExkYYi}x4QuN>=kmS}&GW0he!Q6Svo=U6pF z!aaVDWr>7){4cG?M8ZA(m)3J4;T}KN8Xywx@pG+ok#LW{&6*(+?(w%-i&@h3E$BrR zw0XO=UgSGS4VJG(jzDPr`N}#Z@+XAWpRcToA_bczYV}ZRhn445UVrookOnNJMec)8 zJzrb*iZq5$JzrafNPEfbv|5Vvm&{J4@kXtG@`X^K?Y?jg`idqm4%?S~}la z8(GwQ$8^>Df7ZkS)WTf;A{kxT{?2-QAW5_p?6#V}&b^3j1-q?N|H-UYqP_K_uAS(C z_baSTB6A?;AbYHxBFiN6z4fEWI?4QCwc%-HYU3Wky;`(+zcoW-4x}68fOUo?Mf(u) z66BCoVKB8YMcV)w1o_!YW{K9i!&Y~eX!|;B^BnZ=T>pNG&g{nc6_q9vRx*D{=A`waWC}M|nUmIQB9$Oi&nat+h#iwTO0>2y*~JpAW2dZ!Z~l87J7v`# zLK2_xI1?Ri_5GCfoXF1*>ia2cph&4q^{(`3D_x`pgfgeCnIdPT zo-@{Rk(*M_8EcbBiAV9o3+DV;YnMn}$TpUrMOsScoOMy8mt@XaH(8>dp0^4PrM{== z>Bvwo&RZo!7D1?m=dJQA>9Ko}7py9h3GYQ-uxd-DO%dE%#vRPxtokfz`WL8&?oR$@ zc`P_Xgd9MdFIt^dDc;_XLw>gg#>qv_K^RS8l^=43q7T+vW-1W zV7J{vsbi=$NFV zJyIlFGM(+OMD|Lii>vgs`5tx+ktZQnF@IjPO_5%Zn=FrsjFftM+FeDaNj*L70U}E!)5{($ zvPm+%>=`W4JnU`foAvK`*w^mN67}>YdjX4D=Zn3Frxxwc<0J_(z&;!&4IyvZrDk)@ zdhodF`xv{bNcejSW9<4OZDN@wA}_?GjmV&wydaVulR+Z$VlqZ#WlYAir0btSx}b$) z?5Qj%`aVcEmf4cI459P5vGzjAhM@b$Wi|JC+rax!M-rRl5^U!Py5SQ{d@D?d$R+=OuF|gs#%ev2RJH3WTnd&aq1@ z;P&Xrko~B6u3eQSRqq7(ndM>0q(P2D=Go09lL0x)(pfU|AT+J{_REsl0HJBkw^JlD zy?j3Hca&OSXG-P=WUjKjBbnn6%DiK*k<3-eykl>bOrdt_Ifr-cJ(5X+&~py&+9xFQ zkYpCxS0&R*G7IfO@2I}N0HJ3g7TIN4QuWs%^en_8yP9OiN#;HKLCMUM%zL&knKhDG zY(FNMuOzeB?kt&KB(ucsC7G*|Sz^B~nd0r$8otyXCz*R7w1zLW=SZdzgr3}6X0Mb? zQwTlZvdrEn8G3H#7Utpm_P3Iu=XMf%lKd)}Cs69GvAD))UzJQZ$PAW3@2dIp8iba` z3i~dWRDCjpme&fqmSmPd3Zv!^Y+Ev)LCUbSkj(!ev~H}lyGZ6Vgw~Cfc0b9`GcZ)o zhxRDR&@(Vp&xiID$%M}ut+L;hO!%zPDtnb=@^(;Xh^y@{BvS@LXNarqU6QER+)YsYlC9?_AfMtYazK7V5PwWiIT!tjG%$H2@j%so5dV8~E?w8D`_IHwLCYev|UnJ8BLSx+q`;tgM2#t^%>{}wECG(kGe34pPW=Q5U zyQ0W)2+hNd_WdH8AT$p*+D%we_3t1@asKtW-BRQi2>rIs=XP6>^AI}n++=qVxe1{o z&rNm@k=r||F=4a)vPg9ZjR~9W*F}5?wP%YxLgZNpwP%YxR%952`o7hkA~F?1ecx)& z6j=gkgE{|&{f6bfRMj?n)c-5B-Cm$d#rn0~UaCs5(6qMOpQwzk zP7 zyEcnDy10qVK|5VZY`Gt{C$pr)miu9Qx@6X)=2NKhS9`u>wnNUbES1cD$sDm)N#?X< zj@X|{roWe0JCEgc)ZQwY5s=hBNp`4=b`7Oy8$4zoWQo3Tb*{g4JqvziASTmU)Ri3CqaC*w$4Rl?_`PiVYgLcF9HnSKc*fqNGWw?w zDs{#_D4A`NIcp!2%x=k?wa-iDkYvu;e@NzxWX{<)CG!`A`hMQN?Gx&0s$Sq_HU6Bp zi?L+sA&aUWqSonrq*Op949s{NRv=58WFA|bm zwHt0!8M;bCa?PG15}=;ekn8qF5t>#9$PN1(i&}fTL2lYN;^bvWf>Y#ks##^`6+9#<3LL z#C_KrKxq9bMbF(|0?7>D4FLWbcMXI(^N8jAawjw*m;U2+V2!`I*Nq*og&WB z&Cz_OIab8!&Y5VmDdL>vjM~0vZWM7!ZJ|<1p2B|?b*d=gF`V8SyWOe9qQ-E_-0sw8 ziAL;VP7{%EdoSkn6A9PwV$Lj)@X5X6&JvdB+^V>ftt56PRovOd5}ipEcYc;k!G3C; zFX3F2%$*SGR|)5)WaxbB;=ej__Bar*}GkNQRE^KV`}L1EC8um$hDNqZPK`LBk*%uJC{Ac(tL7xf39X0Kou^r%k*$W)k0nF@3vE7*dTKaJ zS=8?;((fVGa30@AEzIO!k2;G?P3Kgc{0^z@q;026)aLt~be3pqy3d)+qMlZz_T1;p zRT=(zp4JD?8#~Kc)Nkt~Lh3ndREFOHr+v!(&SxUDzjzH#7vJyfP!gMm4?6pl@ON(M z%Zd*=r$t84*Lqp5i_lhC9Mh`r6#a^NkS;kngA&VwT1xz$6C&k`-=22Qd_ zxRe_>kF#WIMP9`_p{TimGcZnSLK-^u4xW0f7lt!~Gtpc%oMg^qYOkUmAEgZEs>oQ# zxjuLaz#05C)sv}hfiy?PcGiph3V99^I9qp8CPPacfIBRZWGCM@O74Y>g*0~-Nan+X zy7q#TS9{d?L*x)-ETo0Aic3XHxuvr+PU!9Xmd@cgnTeWPI|IMvp6ZWcTC_}`bkbQ; z^!5;1H=cB+NhW+#=_zNiWWqOYG)U52Nf^>ISIXzw)NrF#0U)ZD>& zLgXlf`rg6mAQH}v4$gBd>YDH>w6KFSktN#4b#$hPg!{OT&J*A9v|{T|N9Po0qF!`# zI&enqVd-lL9i5(WrRaI}PR;?9(MR5=el@;}b3|qIXFgEh81Ld-6$zJ47pLfM)zk3H zlU>F*5QuVkXg0B6bpRZn<7_ciB9o>qod^N_CPVB2}k=^_$9c0vX@$9P&9+IGmC zW%v?;GlT1i`aalM87I`!Ax<_+)YCVeuUWFRuhAZQW93cfAWM!G-V-0{)c)z;Ega@} zEYTW1%&E^3tv|z@LqAig_)PMDG6>)=`}V(IQ)~DzycMsc3kw$L#RC|&Q~JcB$MJC6d5O( zQO*UC_armQNjS{&S>Fnwr^Qm8k|M_;^t4#2Q;h{@e}nN{6Xt4~(@>-uWFkv5k;afr z$Y`g%NO#CgmYyv5b|{4Ix~4m)f2FBsYD*z>*L93@UF2)YjB{!qQJHg+8Siu!De{J@ zXQH!TqymKMndG!Ns!G+8%v;V_ktZcH#n~wGhGeEX=R{^pCex{KOx5$bWZrfj7dbAO zEGJE*$Pm?@8O~afS`cc_Oy`(LbIHthY9CiMzap7APCt>iB{R>tF0xiK^PQX%R4N+T z-f<4IWETv#f_I#gBH>o>j&p$}+P>a#uCd_R9@M-7OXnS@*h#86OFIf#19{hZNaQ@^ zbI2m6C5zfB>1m(EPKP+5CxYI0y0b*1#0O4amC*{niLYRxo)4U{r)XMHdsaH%u&A1; zo|VpimZ+Z9&S91uEgb7sJEug#=WUQVOEpL1>PJpJx-bL@$JI}q!{>SGT0gXB58AWd z8G3;vMH>$}1liy;`JE&he>OT(e&bTH`|lf_mYj)3l8sIqmQ1a{P_-s(bk>WM75Ut0 zbD8SN)M|-rawfB+YE2=R@C?UhXE95SExOy`XmUQ`EGTRSkm>C)E>-@tO6%RJqmZE}27+YpCZ7XOLvhL9~}h(j;@GQ9dm{B-_an z`3IR2EK6CUbw1nqMP*_~Alc3ymS~O2c234+XkE>AuEYtgW80itEYUi)!|8XO=0>#s z>~PkKgzL}$oP0M`CR`79IfX^S^>CL{mL)~2G7P_+hhBW=9202@X$jfu)YEYDK5i@6 z?;OcT60LRno#g*y&TuAL>-IaB{!{92C3@%KxD$bC?RN?#a?Sb>$SW*&i_Cxwg8b;z z6Ilfr%F}VL<*Y~s$XA4nph3Sto}jdd}*cQ%9#>MBDp$rx8nf>`k}x zj?a=3`&P_(=TVj{eq;9ndU3&dN`&6nCAsK4%aY4qhPev)-5I8Y-;93kA$%>tnIICL zJ6v&Qh=gC*yW+gZqQ(}w-+jgTLWy1kcNl1-{lnQ2m$`*${ox$^fA#$3v@JkAjqWo1 z<@6Jwa~W#kU(UxO;W^q>=U5?L%CQmhs&kMt(Hy(#oa0P1l3aBzt5SM{QTQ76%c$K+ zEKK#J=nkYbOG%b=y_sbGcJ7f(E6M!rJSdrk1M!ABN?miBicE@0JCWtDsk>&^oL(Yr zq~>eRn=C1MC#m_GGma(N>;2=*X2Jb#WN07vkF$y;LmLjMf~o)GBo(1v;93)ejy!KT zkBfwR>YL6Ckp+^uGmo~Vd>MkL%56?Lx{|95+ex>q<8wWp|?uLNbH zd05oFgC#oNDC$-h36D35x(!5joK?ROf4iG3vKK<*#_et=k?>0z#oU)f!Y^qQb4Rj7 zYh7`7jLO8;)#C0VmS{c~clWYHM^?q%Y9-bD3EyEU;nrn|dRo#oSyJ_fQq_05O1h0% zqT|exZd;X!P5lmc^LMx_M8Y{=-d!USp66C@H;9DG;x6|Kk?^SCE_WwOik6J_ zjKG?Cw|i$9npUcw4jBun=vEd9kNqmTHI;A+Gda_QCAvye**z!{j!2c=3T1gI^Qc9m zL}ho5NH|JVac?U}88tUnqUI`Yu{c=^xyQXfPU!kZO}9~;WFu44eVQe^;4Som&b#Zl z&xlk>3#Erh)0n)h>d|^bcA=g+?&~6xMecJ)ihL+i*Bz(o$+H`>52fn458oB_f?D{H zJA*UPn(&b8awb~q9&(%gr&KqVXuEjGeNAQb^XWJieI)@kj}b{2gJ=F(-WDkhq5WwC zcZo<%2yGV)+zlcwgwCKJc6W+&g3uZC!|nl**CDh&ZRnm8nH`gxBJWE*4c%gQbKmvP zA++~w=vEfl6O;NP$79k=m=j3$w{i_ZzL1AV@1wNrm;J+lFAeq zr`prh-7ZpBq?ucqpFR_;`m6m2Imv}U$;*RrJQry#VHTf2vqXg47qO0{iqp{oFq#6HcqYds8yuwEDYx?Pwmpf)>8&CbQr- z+0mXckRk3Ok%5pYkT=~cEb0l9d5~f5BXzhQeK9h020h$u&61*TgwPrEaJM~6s=gaS zN0lSou97(oc?xrEgxgE%p(9TkB}TgQR4JZ^?_pXa-MuW)J|)%davx1SI`T|)(?r4} z&s6u8NVrc)a~svAQls_06LIc$WTr}HwELuF7E5Nd+etDTAUjbi z-R;Jbq91|mW9h3(aW9TS#<)Y{d4%VQg69C@8@N~(+VI{++q)q9Mi&jrp0P5J2_Eni_F_GxfjwEGQ*wA zrPTJ-A2Q3`%95jnrRKZ4M8Z<L% zaZ_InS?T6`ka`hKeT`d6B%J!X|4e;-tY-S=4E1zFOla!gKt7L2IQ1{wGF-Fj`)Ooy z+?q12a2{@V8^&ew_Qx;9xFcDj`TUK$F)mXInQz_p^;IvzdcJe@hyK01cDvnKa$?Kt z2X_vOI_j>8diJ>=vEUb`-oh_=L4I_95cv%fKz?#Bh}4>b`<{?PZp#KVtqiRXUwbhRPgqcZnp69Car)RGD5P$K2#bN`^yvp`PRJ zUXituIq7>JQv9fz zdS0)uNHdXq-kTzCiX?jDMaGKU=FJrOTqM7@ROELN-TOqO`Y|=F0$#4jGa?1O??tAG z6!MOV><}sJT^7-ft9pufd77v>)yN10EUFY8HI?-)#mU{+qm}i_J;gQi z(;D~dZ;mNYH@v_viUWs-&>KZ-v{x2Q^KP<)m*{58Yjuf z+~o~v6ZL{JcYA4ZvH+Qi-Z>?D>9=t|1yb2-+LlZ4GhMXLt?cy^8H~(f&MZ?Bn|fvM zqc}N%Ocighl-eUTSM};Wt!n-`CgYUE>Z$5Yi<3G7a31Gr?f%`1>R#bEIf_gTZ;lfE z^DNbiI^I>012JjSUQPW1;Z3zlGr%*p!Xh&TA#nk z#xp|RPL>k|ew>Z3grUv#y}cqAAk$b5iu?_k#d2IE-yD^B$U84`CxkK&d4G!3gV6a! z1MjAY2cfI74LrSbH0M7-sfWFREGG&qL1rtYp*K`y1BBYs&`T591EFa(^d^af(`w|s zEfP+vkvES;_5C198QuqyX*UXl=2)q%Kh}D&rcW z?agC3QJ};;oRL9XZ?Q;S$O9}ZMOs4|vaAz%4dSqDQWE<{wCn8^*@R3J&Xjy6nmUb9 zzE?g@Xx#9deQwic*1>^sHK2aQj2O1MYQUIZzZtFcM5`Hnet=Cf|{LXe;ukdqJGk$jf^=v}TZM}Nk zSa_76dHA$9jwMU?-^Ew`2PHtJh_r^(WSPN|p>=^2!uvAqyz45X^@~Z%?o@M@HZCR? zMHWKtM?LMld@rcX2atzZ7Kmg+97ua_a1WK)1!)H9=q>84g^r6ibSpxL92W z=;Pfb8T#eWcTlRYcaLPsAhU#}9!r+?6=dM+cq`m1Hjrw@cX!9*c^t?q-cFWijT+$9 zdrd8iaOn*28V=(2#MadT-W<+ES55|aE#oo^Q1bxq9VOacM%kZb>ul1u-8rrv*~6@-pAqI!Bl)?n(942IC}l|+&mlZJz-r@4Bq z_tkQL!}D2A6o^{bTqJ7Y6CzOyJBUOrd`={4VK0%Wh5bdM7QP`8wJ?n(S8IqC78*c3 zO&<2|r8C5PJWlqY??b##ShBRmDD}Tenl{SYB9a671(`JOu*fmUS;%Ow>~N|X+wyYk zi6H4-caaj18;~*HDi-y;ads!XkM9*5L8Y>^XOYnd<6V2t6Bz-y12W#b&Z5?NDmB6D zJd%5%e}hatWF~suMd-<4lclf7&&c>J16fo(&#;`7Ot|e#@_u89ww+1dRmqfIp^g(K zds>Q`dRX&hPZtT>GubPqM5A8NIyTu$Vo`mkF?_Puk0sigP|qkeH)s@1K?^5)BU6=x zqv%xcY8pv29!~d?Mk_gk7Sgn)d->9pdkZCV?>U{Xug>t+i@1=yE%RzK zyxL=_RJ5JW@H(^PYBcrvsAq;(VH{<0HEJQrEN>S}G)B$w_OnDio#P#5$4UtzMbnN$@H%3am4WXJBdka`H zv^9`*nEDd0*hHRVS}x>s$Wm_;i)tZFYnk_r620Mv>eqWddh`b$>MJyTGY{)O@ z>HFRmk<}zvrYpVgMK(dsBJ-hlPUI^{>y7xTq}Ot?nq!AVR(lIrQnZT@nqwb%gQuv> zACL^J8*9Ak8A|f4!rL*Zd9C+6i<-}Q-oTS-UK&eucD%v6s7l3-3O0BJr}BK}eNz#X z+TbO#M5VTPi&!$X(yMVV8<{QMPLY}-UwFxxR1favh~#+JMS6?mdTXbt%m|U~UYoa- z%n;e(EfQHFveR3Ur82ukzV-S}S8_pQmp5>Rl7b(p7Vh>oiqsd`>vfu`GA$sr(Tg9v zej?9_?DvYzQkh|pioNlKlGlbML(709qtrpKEtksB%AVJ?S6b!Oe(}(8{AJ(11eup^ z#}z#9I+se*)g^V3u}00Y ztKI>TZV=i|uX;yBhCw!?o~zy&7PW@IiSy;Fo<1*{)-GiJ@jMna(*6Xw;nknd8Ge7~ z1mu=Cf+bVCh?;+cX#QB0(F(4`Ju*lh|JXZRilyif`~roqzpJFqyLq(okbHirg(MkT zEtIMaN%UKaP$q!n_j5#iWV%5L`G-Z?#N^l_RnN;Y>G__Lw3w7ytmIfsDlAcQD<*B0 zDk=MMIIW=~bz-tnB#23yWvbLOkY3!vd@GcUluTj2`v*$0Vse-zMLQ2kMXADm+DgvE z#+KXtQXi72HDLxaxBC-Wa$?`OE9L8}D3h)o@zuFZX@3O^?quORc=U@!rTw)mIojQ0 z@b0@$(sMPH%F!A^^5eOkGX5ZzTrC;D43!^uvda2tBD9C4qlG*EiCUJWWkfe zsAo6iE`Q2eDwV6XLJLcvp1b|lACshN#qfL(wJ^zV&yuT;8jCO9p@m6)KPB2`d`nPe zrm>`G*D$U3F;|oPq)$|PihPo&eFmxI7u%rZ4hZ$4ieHZ zsTPop_;&9-zP6DhJ5Mg!LsPHjw-ng}p`(Io{!%3c7nH%*?9k?W{f}8v^%RJ~@;OV2 z{v2xFh8EuI|1PDrVp&j6tNYhQR-k5Dg4O-IKc}hZ>a{V)s24T-jx4Eq_Sa)_d?=ir-wM8>Ab{OG@(mB7Lvr zk7miyx?-6g#xkwt&l5S2hPyqG+WrcuXCovBQpf+4MU7fC$LjbwadH!FzRy3#qPCQR zZ{q5u-)1xQLdji_2L4)>XxlOT!z}6Ag7xZNzv<`O!gDOP6`1}mmS{_{{71J^Cfb^8 zzqd%ZuDbp>mRvqMrRDDVD@4Ne(DOf25?fb2|3{W+`|^D43$-l5x#9VhSaP&*j(NVp zk{jCweZRAm3fCy#AHtHVe}taW8s+<$s#I)i^8HU)(zS1psew7x*gvf5iLJfO{0FkR zJ$b^lx0&CUB}F@lQVmh+5x+tXWm2`PkgF^4OUnLwmS{ap_IIg_KD1n3UNe*Zq%XOY zeyeOKy;!2PCD|Xvk{w$!oBMBxgllGVf3DP1>QlAlKI*?GnQ&cw)L$N_UpKs-=Uev|Z`MRG!MTEX6 zPA`77^5=>e_!Su1DqHz$SWM7bF z$voyS-A)qi3m)@Vv8b(yYJSXL&!V=J$I#Qq{EIBnI{&!ei)!-=XmfjC+wt$7 zcJ_6a>^vJM;4O;An%3EG^R?=QHC~OzUHnXz+=MB(m-4o)X zy2jYU?;sNX!gvqAuSg4I=(<)9e~J?Romu*A_ZR(q->CURUy>gR>FxIs=_#dN@@I*3 zgQOwzvj3q-9SE&0{rnt}$}y?>t*SYkhyDCEBH=t7;HR;qXqA`c<$4DBi~dKYqTh=g zfn%`nK_cS)Hj`rJ&gxl$8zXwaS-%0levZ$rA6!nbpXRw?|xVurBP zoLquT_gBQpRmco~)%R47DphbOet+55eo!^%--z>f$XvfCOS)DAQX4YQFT0ORvD|wO z-&*u7mT071;JYl*QeNP<5((F+cl^gyso47buHQ~F;kvre?`?F86oEWtw3AeBdYjNbSM9Cvx7j%CF86jp3_&TV-Nn_$t4dNH~VC@}Cz8$M98t zACYhjU*!)M3CHkNeuhXmhOhG1Dv6EZtNoS-xP|;Hz%+)h^;e37WB4cjIgxM-U+*XU zq)LTj_y)heNH~UX@b|K0Xb*j!s6BzXvBAG7532+vG3!MP(L4XfLzbuX|X@mY6&u zawsM*h&0FYQl&;J(JvrF-wE98Pi0BfZpBK?mQw%7F~DYjJxg?rdb59qMU7hY6_L&U zANh^m8EU|P?ga-ZNd{2$ZYc$#mTFX z?f%FkT(j02nKvOj{8b|KOEL5e@J_$%QI&ZEnKWd+@vE|=Xm8^DYZByt{#B6)$dK&z z^^pP+kYDRG*Q|Hgj4#_`ZTZ=MK%^(6A&bG1qQ4HIBkEuLKx7<*p78(0Z^07n zWe)pom6i& z{$!3CMe_zPi1dfhmYX*iC^7{?N1pkDQ6kGBbex$l$Pmee(ELdZ=8GJH&=cc{!Ag-U zlDRF|C{pB0mANhWTBI6;rj zM3Vf1dS^e9Av^Fy2j)*C6Ckv%-Vv;bt2v7^zp|Vt5Y}8SIL(rxzlT!vrM_~(?~)0p zb!Tu*GS@J5TIcT!@?N1fpC}Mcy?juJB}HF{dfvgb$_J$+6Sk*9*ssL#_ogxX}sIldqp#EP} zPl{Gfq*`EIRW&z)P@C@!rm>`Gtz$ChZ&m6gDutTw4XR%wQAgc>Luv#TOKz-%H3L_P z9`>|m@Q6s*)0)BKQY!34t>9Uauotz0=cQCQ4{Ha#Bop?lcF;#8>_wfRAB$REv>w(8 zzGA^!Na#hO;kZ&7>=e1}TQ#5W3w9~V6F`b{=DMm!KX*-SP4@-){!w!*{DRYc!2=@U zJCAh(L!`-Z^`1-Jpb1Ns)^`_vPay?gehZdfr+PB9sStXezix0wWC5f?c|08&=r>em z6{Hr9JRb~NihK^~hI$?fvRJaTr0=kfK^_j~v8cYk0cjL`9w(^~J2)06`A6ZIz~IN5 zG_4Z_+V4?MRW%K6utaNk)1cHX)%S1>ZyIz~qK8YTY0yg~T<%SSK_cODZyKbroJc5G zO=&Qs~zs!K)%e(60)R z7Qsl7aQ$f+oDvDwpH@NV1U2=QC{+ceS_QpDwnAu2c`SHciT(qGw(iG*G?5E2nZ}Z; zmEVi!22syr!G4x#8++j1?St7O zy&=hv4#8TH*CCHXIt5om#z5LZItNv6S2fRqJOk+xOe&^i353>`=YmBdUqE^y(f-7 z&7g+JB1mJF`$aZEsLexzh9U1=gWX1$(EV;39V@xnnBpf%!1k*&qabrv{SBVym0Aqut zEGaCncE>YsfnGsPJscCp1$9|6wXZPszcBUjK~ENSK1j#369VrpDwU%Bg3NVfCI(AI zeuL1~Jvq3}lFMh2G`36*DpaIWshWN;QOlQ>piK>`CaHQVKxl9Nb})k_R|`jyte}1+ z)xvNjnI6nwiN@aP!2*^Ptsd$rgqo)Z+f^nuX3hu(S5ebyj7%wHW&~$hat$vQ@pJ<~8$DtopVYeJSxNR*Hz zlO>a#tl9JXe4p=g?)Mt==lk_M&v!Zdx#ygrm~63hk6M4e2#zIDTdq7~{319zMjE2e zUk2~EU-nQRmnQ`)viQg4Nx>>gqQ~V)!Db|x0sriDQm_SyK0BQhY|Al!qCd^i*5u%u z9CH@(3Q2d4DYh413WZDwe!wyJLb{P;aLl}q66ty4slj0!^CLuln{H}wG>Lj=R(_jh zT5tu6e^&5ya6OBER`7N3;p%eiIpT4&CC>`J4mM|b9?}o3e;w>YqPNrO!6`S%X%cmGa|J-|id-LlAjnoD(crQ^hofl*aw%Il&$*FG1uv?VMo!hgHmbkfLa7 zPOv#k2IN*qZg3}w+PBmrX;w#ODG5Us1*_C05u@-M;!BXF!TkCpf$D#$tDEJ)0+u6L z>bpLFdnz4M)n36tarb8&)L_$}_L1)pPS0a*rF9eh!vFRD!Q6Vh_1kh#!LwDv4f=t_?myaZ=JzN`X$kGpY=VaE} zU=Nm$APE@Py5KiT;w~;o5YOOT{U^F2i+z4f{t_(jv#Gmka-9tI4Dk}=3&_6U1QI;icqCr@g?o&D1!t3_i;jqyftZ3| za!_Wai!{i5$lt-iELo6ckb}W|61@Zu1*?Uqhtaj}P|#H(4kPPVWE~2&B*A|+d^wTs zSse;43Ck>9=WuWni9V}59Q>U`zj1IlxKBy+3ID^veCx*6j|2-ybk>pJ85I*~d_w(S zsw2UxDkfUzNHE2|vCh$8T@qdAXt1G*3A~Rwr!lUhK}U&Lf%m$ukhD-)(aOhztDGAv zp9pS^kt%rJ=tS_G5-|ytAA+0=Hg+jXELM29PtsHW3+s+vzrz#&pRtw1a;6f#|1YallRY@RiR3g3(et zp{~y>IaDD|$jV8fzA>@|QYDLn$Pgq5y4`#5Mfw zp}{P3Cnbp6Ar(S{UzAyy;v{0q_QgHMQ1VMk;!oizcf{Nk%44||azCU}sA~&~2_!>~ z8+eK`G@PYAqy?5~<X61>$@x>|mT;)Td zHY__KvWF?5UTsxOXUCV>Bw1oUde{KtN(lvCmoZ8VNUcz%7-ULH!4G!VXHl#(U zb{8dGk+lKxawwG~OEg2wZ;)3)r@G1*ym0{833)YC@V1h9EG)JReSp@XJeF;cqljr8D*Z0SM4!-Z6RJU?&#c;n>XPIMcUB_Je49`klAJ(=bL!qj zo6s99k3!_HoNYqgSe}8%^Rc#}-Yi`pm4-+e$l|}B+cq?W#eYAyZ77SSH?pcC>-Eqq zmIaVxk{?;**Ai-x>?O$#^t=;q!=pd1hYqs*ge=*^*Fz^&miPlw4_WO(i9O_OpePytKAzeU7{kOiUHAE}tikdGmYLemE;sR@|`SsGe0M9Eu_wU8e}hleWp2(lHj zHdJo7k_jy9LgA58vc(ceK4R8~PLO1Y-yw2q+7L?lSjJ?DJ&*##YzQ^{L`m5T_`Vk8 zw@~UBCCxF4yYbX!eyG={N|G@@a_0Aj@;_734Dt|S_J!Jiu4Dz|DahZUDqkqMfbCso z9SMcMRI(E>O%Zc66!=QX^Ju*bcSnJ<^5HzDX);5!N~>7emvhC^^nCmqNp*DJhR0%9zWcabI&=ELTFSW-6J& zay2wymJ$bRi_E$f>hz70ek}imHqKRYm9wsgn$J^GAA4GvCBiM|D|wkEE?jA$lJ{BS z!%G$^S;UeMuJSEObbpu_#v;Dq9VlPa(Lp}#lf*IV=9F^mY&}yHxu}kerNen7Iil^K@w9YGhx;s*F*#!D&%Uf@dGQk7 zucSKtmZ_LFkUYpO;arxkkZq8%VX<7rNZA7^AKu6^7;*|yAzbNu6*B{J8B#I)@(Lw+ zki_9Q9}5p>*#)@;a!+_4%Sp&xkgDPLSE{UHmy3w%kZR#YEY%>jAl1XiSsr0Y4p&~K zvKm9`Bj&+ybC!0Hryvi7PqBOeaUeCrZ?0BZIS|=ao$z>;xsaD2kA^4wAY-!VnUnUA z$HLXtXi0-S86F)Y!yuvXxfuBjVuvT>sjTIwJO}bjxZ00OMtq$p7D1YZ>ne$^QO&~j z*UFfj=rwh-aF`_pSJ@AB#(xnCw}_E3SvYeDFJYN{wTKuGc`UJIAoq+(hlrU23= zy!jU?*`hb(6y){rDUuv94ssdNK0M)9m6h@z-dq0!N6+v@mTr(LkS^h7n^jB}ANe_>UkvWjea4w13ldOac3#a`- zZ3RZ6KT~jS^GP_JWgJ94Px4842+LGRY22OrB%H;v6tWF0&XY4z72;30FHnb)sv_oN#TDgK=vL;>9Xt%?VE=(f4F>!?R;# zKVovjbqi<|(UC3)KdmJCmezvsi!2+_`cY&p2#=1DOOS8F1uVM|Q*1PzgAEVr_aA$j3#B={OFkH-#S|QRC{0 zm`&kMO2lkr^@MB==f%h%$kuR=W2*8B#AHFXhfDsWkT0Nbc@UX( zBz!B!{K_#$!*{Zr|KjDq%XzXGS zV&oj24vX_j{H^kIcnOK#Do=+?{!1~@t@3pED<#o&^;~$i651+jj=?>~aODfCvfL`` zL;ejv%ObZ*IX@S|ACai7@+rhz3{PZ{TV)f-mGCc0qHEoM;Xg?B$8}Ch60acUzi_#W zx`%RH!law_ehCn8k0s zq|u1QZ@rY!gk=u;^ETF~(#D%C-$LY4zQyQ5qI+1z=n*4>kX6PgAW`q)jfRvnPLSjY zQ7lP(4k>S(Cs`}*flMU1^@?75Wmb8k8p&GmA!6o1ZZ`%Lin+tcC&?54AZ8_EDj0#Q zvQD133Rw@i)9A!fx_FZK9a722C&>~uA$uT|4ey%FN*9kq4ngiVekREX$hUgsmoV=( zwz3RD%ms?s%`zGipCe-qu=r;VcN?da(0(I8F}44bZDokr$SMoD*XYBt6e735sz&?k zGA2uGgUEBgs>Wy%HS>*;b)T_9NnmmbweNkvSj#dWBKIv17{9WthCG9;WMc=*W{BJ) zB^&!#_ClH?riO8t6yW{~$u z%CfYE$ZvV27eC&tY9-I*UJtb&YvSgoP}*1nU`_IHoOR z4(il1erM?hSwyl&3HA90$YaK7j+u;@&5$RIODx|(wv)ui(L9S^A+oIo#@$M&&UwT% zFzP4?gi5P(+NX@iS)PL=jK#Mfji*^ULW+^NO2h{cS-G*%QAu>|ZEU>5SqZl!(RW-! zMjA^ANEOrx83S3$LXsh2V<^ibkXj_!EYCvfK@8(_miCYaBvX_``(qk^D2Xm*(>M_$ z&mhY+?v7XMp}*Xl8r50+Z?rZwYLTps^Osjsqqd5n%Cb&V<0;OP>qZAibHieh>qZxn zW-P1GXL)_`g3*FyGekb$`-0JyWNmcac+u#qVyLabsPm#RowHOGv9=>L5V3A8_F0xu1TUg}MSwym%`VmYLZae&2NSKAoJSp0Rhjd6}d zkD{$nCPB`#I`iC)I&FEb^>U{?^vj zILac=DtF?JVproV%VA{6Zz;cJTw(bSBEMesmXVl9YaK1qLl)l4Htr_bA7|d0Bu-*} zx)~`fpF_?=QjI1o|3KtfL3g90l48bfN#Yt}-Zgr#d=8OWJ&a|XbsCa54p;rgZWg<& z+H!juXIUmfN+71E5m!X^aDUu2$Ze2bMj4iu%Bh$Sj2cRc&4bA2WO^Hqv6L>amPK#l zan4GG+=V*5jR?yNEpR^=_YZp;tw=IO9{y|C{S-5bBwhT5EZOJYMrV>NF{NZNx)a#P zc%Nl?R0gtai%Q+1auiwOmOGNf%c#@GNDN3BEh<8KLi!pjNz@rgUr0aWcaqFNb;NuG z8DRWLvbI<~$Ow{sBpHD)B%9W+t8TLu~_B9!XhyOo-fwG=F}YCIAR{*>Yb~-qG`1DW$~1P6 zsMdc)Or~*|Br_1W9e1$sH181O6p89jK4OL#f#R~ysy_!I!;JPMx<4a~E0mQbGHM2B z363znp%`6fgs~*1&KcDC*f>|HPL>fVA=^?}{~;#JXhWh}FY#%d7;Q`-(XEd)){LTVd;~a@th{YZ4{ z(~RLUb-JU@bYn@OteHkqY1x*Vje&@nY1~1Q88B+9Cx^c=?jcc?M`rE;l|RQ9YE~ z;BsR$iK@IEmA^NZ6v|p*Y>dg;i1zkk!U*Wn`Z-152@HUWBYMDv{{c*BBOw zZhei>oJ6&r_!;Kf=tZJO@uShFP@Nx*Q6%a<+c$6F=|^KHiM~c#XY3B0kCD&P z333Ut-?+#!1XAR4JU3`mxm{JB1t|+TWDI860J#ft*qFewkL8H5k>v^`88JtVYImqQ z~EuCff|tdqu+J5`K-tUPI~swhPtt^P62k?1w^ zA4A+FW7L}236)P7)kxOF`%Cb&@eqm5I&IXC$$AG_XN;DGvd$Wv3uT=(dc|aYfUI-I z_(ECdjmd?w&KtQgSsBRs*VtAl>w@uDp{xtWshF(c$hv5ht0YIN$92i5N}~3nV-R!6 zc$6eFFdefh_cm9Jh9p_y2gvJ=lr4A5Iy&pBv5!Q};Y8HAZj`*|#kPBGnqv7=QhY4W(yKM(mTx#g|hB6d&Fc_Mb=&B zltNjR%~d3-&-D>g*=%s1Y&|n@3_YyT4e#EX^C(7rUsOJ6P{j;UjGnP7W-}7i!zQRx z)l4JNJ*;MqDwI{t93PX_0$J6~9}8tAoB4&ZlFh?0S?!SZpm}RG*=OBWig`DQ?qQ0V zLZW*3HnM7&FBHnEZFVh`Rom~_v_^~2r+fdawMv)k&wsCFiB>> zKf9=JdL+8f_085Xbv{E@eKR$t&J@TK<^-Bgv&jA^8APJ{W1Cr2NB74zzhLqEW1E2*dg;hL zfNho|QLP8Qz`YdnNfLbq;+c&}bX%S|txz4$To_ZQEb2UC?kkkl%&hU?jjcB`>yxO~ z??%>h=KFn@kZeo$`DJq$iJE!2&wSY&N1|GP z99gfJ%L`?_Y95Knk~8+Ic`+s{h^$s-E1a;b& z1%*0H`t z@vgWzB}U#tR!6f~E!kFP;O-Rl)=ww%Rua`#FT`{*tC6U-20%KST}kw8bTxOA=%Zd& z^LR|1p~&iLUW}PEfRGmESGYsX_M@a`xxVzggWn-FR~nf z%z$(^Q&}FXr0&V|Fo!59HViTkG4GjUS@uC>*8Ao>&Z<{ANi2c%GPkn~gUGw7Y350m z1CW)7Ni(mqG`c%Utc84FmZ&YqwLfkwM8@z)U4k z%Uww?61ChTU*dj?IqDJ05>MgF1M(i)M`pf~z+yaEBcFT!$oz+7kdR-ClJ`zOGH-oU zX6bL{4>qfiqzn0fbL2ZvgH3~EQ1pAtL(CQ=dW{-t_Tf76X#{zdG}JsrqOX#Mn-^7< zSa2`y?&6u8;bxJ#vh^&n2_nA^H^Qt$qDMN?e264l)O!+J5=J`GtREw(kWpq^l1w3g z1)g^d&ls6KSe`!|FXVr`8f{Ks*^Rc+ku}ELNRlr8f((Y_m=)`(Ic$GTJ-0m8Y#t*Y zBWA2QJ4QZ*j5EtTrn4qPJ~f|J61a-Wa*Y~qzDbf3C|fm&-tQi7rjp>7HT+IJ7g^)Y zbe793Uz(qgWCW@qOWvoQV1CB(C`2xu3FZ`%bnzPQHOXZ<(cH*#YcpJ}qw*v(^?$O5 z>45@ymlRo(&Au%0xErJ-K;udm!*TSK>)2!yDK|XF=!2tRqx_` zZ4RZj)S8fo{!BM#Dha&waiZ7=nQ1Om{h@V!f%~dS^H?$X<>skD}YKzUyEZ?BcI`n6;xlal0k>ncnt-0+bF-p=K zDcKa2Wh7Z*Cq#au>|1j)%L&M5ErnQO9%m_bf0DQ#$DQxY)Td;fEKwfv3tC@l4sWca zHY6Xi+-&@`k|1Q;8+iBD?8VXoatJZ2%q1*uKu$x}nE5Q35HSHygPVhcs?JxC0A#Ic zhm_<(?t*MI17RuH^Fyjbelgpy{0pfC`PHmqsF>o_m25Vrvs8uDL(Fex$tEhM9;6ZE zce5*t$+E-T$kG<#B4(G__!*Ve8}b6=PqXApN=8ED%0$FvmS%{_LCj(EZzZBNM2_pQd6K15R4#DV zyAZiPA2vm2*?NW;1}VV(gu~_pmR!hqR6b&^C(*~aV>j&&ebM{F6F2P-wfOtPf6O*r zWb68ff6DxlL?0{9nA2nA5c+e*EZ0?LWs3fI)=?hc&zkK?bPvy(dr8za^}onEYhEGI z-&#Cx-uITQlNXneqV{#?%@h)q^&hg%n*&sg@MA8U<4AHuOJtRrh$r*SZ6vDCMr2I9btOh*Oc5*aHZ2R<^Cv?B*1aTo(bh{^jYw2m4G>e(YEdYrjP+hj zjDwgmR(gyyhm^IxD3n#+S{xJeDq_l8>k7r(VeKJN^YaE`?y#;Fim7Nl-;I_IjUodv z6|GNVWE`ZDHIqb->mF-eOw1I-++%Htk#8XPT5+kgyrQ#F&AO9B%|_Gu_)3^nt&rSr z)h5XnwQDAc#i&!=O6@M|D9MA=urBnFk|lzONyL{cQmn-Hl(dCR#u-{os~k&z$QESP zvRbe#?SrirQpYO!zRDVbn6r?&R!bK7#ek$qc+1ba#PT^}>U}E26INnRm9+v=4lxa_ zhAe+VDnp*MdazuDREIRO#330qH-=N=eAC@(j#sAiaWqnJM5wOu` z`CUiLTFKG^B9FqBwO)y+for`)%#US-(^L=Td!tR!L&w_8(g#_uL7G_kAE=lSkS>sC ztzNyA$oEhCLSD2A`YIWZn30f{*64mpW{yW;0|KV&1earYkuL z*@>%(&Q|F553&$hJ*;Xd?9R^N_*TT_4eG2vHkPf$_p$tAaXq%VznpvQ2Y#6>W8b4CU7IioA%J4jIsV?k>A~&3CXdJlVpir$eITkYuz2rLFCxST6Kr1n0=7N zka1QX%Q=XAPwF$PTt20FQ`OB#EgUH$V z%4$b#>Er1HYcz@4^B+Xa1Zz9V+JL{-O||k#*2Md3!cE?XKap@!s5@^T4 ztF1FE{?hp&x<+-wxSF7cKUmd1k^M;*8Ib0XHC7vzFCni%ezZ1|sQsb5(p+nujFBFQ zS!b2WmUZ%kUwMPojO4@UJ))m2YYfH2CD+CJjI5t6k7SVeA7lb#qcxl)OE{3}kWJPq zmQ={MkYBAbIkL_mkqP+;vc+0Pk|S~;@>iIx);cBh<(%ITv(?&5l1cxaP5vjQt=1uu zjKD->Dfx$EmPO?P$83qpbr!j&-9eR$j+On%2%JXD9+F#FO4sw{4idfPZnY|rsI^6& z6>PQe13c>FP@fa0%09QbDQoyR8hdnBw_1xxR91P)+Dx)0q2trI8e1qUxBOIQ<;A7E zqhy=aUP-Z24RJk)tlzD!B)W&cTXnzE{dt07Jd!o>e&ye-3t!6^eO<8K>OnEO&UWiM z#i$-eP-nZfY)0X%3e%;;X5~?gK5N=;CCrpDdb`+em1FU@rX5xe37)dRwk-EryR0cJ z{+9BGHJ`=bE_PenNc48P+uA{rC;WZXZfg&TT3+(3V7GOGWBk3%KI=kE%u5*QeyjE@ z*=Jq3z-mOID;HQMi@ygbuv)PA=AF*y_@ke^p z3X^1rCePprKzyg_Xmp>@8PXAbK4y)km_cF)L>_mJTgOSV#AL`@h&f@k{6@B=mirLM zKUNQtwW8h=ICkU9U8k)jBzg&+u>x~$T!Lq;R2F}vXK{KeW7OL6B`Tk{T9c^t`Lo^v zayD1DF1MY3t@ae7*Pnl_D-@&Z%tf7ltxNL?XO$y~%}SgvV^p7)QC3S5z1Cf{y0G|t zzGRJN@z<6s)_4-V+^<*@NbqJ^Gc~JMtZgKEe()ux1+sPB)>W$ti{I8YE0;u9zHTkx z7{B%F)^ZX(uIpCAg?e0@F|O;@XcFC4yuFRZZ!5vhC&7Pqel|($Mph9!e$kC{7_f`q zB)5^MnLmcCfZbtn;j9#j(LD^qz>M@u^W@qco-|4LTkX6jyOQQE|#q3Qau~~;=vg%USb&@>cALEMIcQ2Kd z^8)^!wz%DB<&CpZ+-^=Wx^i(ltVDdgD}cKc38J`dQ!t1Hl%=~@GX$|`jiSExs z_IVb+KPh&?I@M>tKQ-<9Npyc|+Q}sP*i_T5O_C+*VC+9&>^1EHB-tceAa(4`B)ZS_ z?9}yYTz;SH*?mc}g@ZbOA?q=Fc#NEc)VK3E%OBShcAKAMoovwoS(g#h(B8@NAtdQ* z++DH58)S@bJ!Fp}(d$OYp1|T)4%?M}zA?+RN0aC*)85D8XIXZejjBIiqxIX-x?_8r zZmi?l<4ANJ*S<`mw}OaW=9e3@B6dp>ofWZ1v-quh_MN}pnDva^kVI!aWA`W&)6`y7 zD5j}>|7KZ7ui?$?x+H2(QWfKR&fZU=_kPdW9*G{sbM}##tVb!U@^7+oY*rjeY*sRf z+K)X&S-B)?3ATc~YVRZ&P3IduA?@sHTU4L@bEFP-FBX4(I@&2)RgAyZb+TU~$q2mh zs=CsA({9Z&Br0#P%#KPomS3XMljV3+`m>a7=~o_1l2_~@NGAIHrhSfNkdXH!Mv>%i zlRZ=;T?Xl5H~d{ncHoCrxU&T5Zm%H0|9*uWAjv1mi#ryTTH9%)0l%&8c6}w$tK;sr z*r8^_pPzT_^(3nGqSNsVgDrNd7{79FyD^KO)!QCI!s`aI`q~pY#y=MHwSOeh%e|jH zgG4X)e)guAI*+1GKl^VIeKpa~p7p2fkFL|-zFMeGe|rJNsQ!der@wvwp2ArhDMq*6 z->ywDdN0x69!H|D#QWRL_Nv+N*PnEIABjH49%v`;lQDWvn_>4P(fiCnc0UrmUmau* zBFPY^+a-x+=<^_ZGfB3HZ?B#!_|P7;Usl#V%(OR?=&d``Zv2;O-QTN!WDjQXuXhI9 zJ4keYhS+;Zbbp4}`$^Osc0hlI*rooKmG#UIv9D5$p2Hz_d5Y0zAVciRB&yE)RHr^k zY}R)q`gw^V_Uf3dk0>kurmT+-%KpS=jU`cSjianwlGwJ=4;3E8a1uSML+ryOdRB+n ztq;pARe1&~54C%e=rwbwy@N#0&oFy1iEe$Ey^ln-wFq^F*~v#_Wxb~zZVzDb*RhfI zK9Xz^?1VS0y9n{I-Q%dt$`;Kb%TZ^PUFMh+J&G*5GKu;!@GpqTva6A(-|V)L)FaV- z&bDii=ssuLPbvv)L0jiuMXUBJB-w%E5cyknw*5NCB)zF(M%(>4<{pTQ8Et>WG4&yL z%)mWZ`wJ4?=P~v|5{BX6M35z~Msw`h$K^<~M0>6?)~UPG2~ZVpMGXPuOxcsf4tp>ME7~Ty`Dt( zdAwc!v})boLw;e8WbuzpU)keH^j>0ueTv23awpo&&d54z;{EfnNp^PXr^fD&be_GQM2~d7-Qv6&mp{@4_FNJ@u7&n|j`7F7(9R>t2sB2Y~j>O_YyzZgDFPO;ZOE95C)FaHl$sXcb7&05O+aAEu5V91KZ*OF20a*vxV?UapvbsSwL-yK@Sq4IO zLiX8-Nh;=3$bQIvdv-udmdJ%1fgG?Gk>J1gLYjSz-%;!>9Mdod-)owQud>?(F=9iG z+JR!K&hv4iRQimU zt?T7}+0G}?YvyIU&KEL9ubEfu#w`AFzh-+Rdb$5+k7x0h`*r&Qi@)53bLW?`vR>}O zsYIfeyKt(J=pG6um1F!h6BoK)-Ppr8rwxhDN^mA{jGvX@>?{i981`F=P-%h9~O7ckf`6bMU*#VInA`V+keo8r_biLG;olIR`R6sJ0i+>gn7%QYSG zjqc$Av{lQgK%(2K<|$soKY;_LfRs$p0jG6%+j+_-)TRe>O_AjuJ5#2Kq7{IhA&_s ztG+XeBwdVwjD$SytR=|_e784VjDbAiY>LVHoTUCjRY$%bHW|{u8P5_Ak-x`1IMjEL|Y-IoQU|9IC9x)!138+M;nS zKu}JhW*K;yh{H^;LX9P)l;2^SO zf0{buNwNas^CYnsb(%W)oaG;_nmUyh%eM5>8qJ&rEdKL0&pM4*{O4_+b!-wmpMc5- zQTchN841o4_z9Eeo!3Zm#KVX=j+hsmjwEV3m9z08@59#?={^BpIM2n?bWSgd$rh!@ ztEVF%-^w0liz<-H6qB+#CDJ!KIy(2T$oC!O`rOe;AxRH7sN4ow9i6%?FGD(#JV}xx-h{jb zdBbTIBl0Y+tJ8-hTfC2$eu(MrY-ITa@(HAubCKoCr*PE^>F-QfCVQ9{efnsyvyVhS z#WdJ?Y`KhCEBvRJhB%E_{COVYm?UZ+C1-4i(~M*M|HnGi=|XZaPRehH8Rm@U7{Bsx zXE}@ieCBXx4@qWV0Y)Leb28jH#!{k7BF*7&=OT%k`JJdd+-dc_>~oG-hx^YbA=%Ct z61^7%( zu}^efW${Nk$!W*p&*3DeD~Vcywazw@EK%YMyio|*;JmR~_ApD-fNX*M z>ZB`)Ub+0{j37}XO`4DO%$Y)xBR)n}Eyy;f&l*){5~MCkqdY0MXY8cYkR)AKl{wJ7xWNQ`VT9vNn^b_3#vBRr*!-FiXh$ z;YAnVtrjPjMBfjOb06JIG0}ZOyqltgt^yt#m>}ZaE+l#lk9X6Q1V&B3v(2a+@20bS z2|3h5%5bhT8zSG3jd$z+CfiCEKS1QUUxK@N+l{R!xc`u-8S94132xEfWsE*EPjJg` zm!fAr(XB)=dJYra$`qsfoaiPsCmwQrfLdqK-sIAh);{i9QmQaoe!?N7yoM zFA{YQa0*$sy1$WR2I``61aIQp;qGDyL*zN_9qvJv*P?P()uHpT_=R|%$i2cM&jA7? ziMv&w<@wkxkP7Z?F>(i_qFXse?t@fzQ%LkN_g?pT7XPfEs{1NQrjTa^vh}KNdlGe4 z@CeC57J0-sA<6EF7-}`g|kkp5>VCm{l1Qbgz)8wYMM6(?jk(f6BJhQeKLf zuv?o%FJ;56&*GnN7;aM%y`>oLOG*M;nkUc~EDg6c%RY$wf~DbhV%d-W$g^(KO=UR; zk=JOZo5oUfQj+)?{juD1mI{#VBtwdVx!X9#KwES0-IXS8KF2%MX>w?skgF5(SXk1|^8++~xadxkvYz&%2fWl9D4VdvOv~+J_k+YhNIxXD_Ec-d8m0N}7 zEXTBRYq0q9^O{?S#h;(o+$WSo=clzBCQ)nMwM+PqY3@K0J!5U$EE0V_*4CZC;-8Pb z?#|^b|5>$m?zbG{pP{vLe&WMOJG(PT^lWr> zm$3N#dCT2JqQ}+E&F2_@HoCb5Bzg|Jxo27YIZSmEkL%XuvGN@^k3_frj=SU^H7>vP z?r!~4H)i#4dy(j@9&R3spY@&_K7C_WPj?WB&g$uIX7RInxy{bpnDv3%gG6V2;O=Dc zvwFMj&&n))r0(kuCs9Xy12f;(okF6I_;*B1aF%0Qcz_=?59;zNjR+ zHGSwJMa2I1XJ6DC))SER5yz-6PE3Ogj!NUR_}zGc5W{Y&Gdvn|4`SvcYh+aFLcW8H zii)fw|BLi!_f6`d-nz%QeMt23%5hWwy>aP`b^DO0EO}Nr)?G-V?}mNpiVHGJ*O}n9 zAW<{_Gx{^p%^}fCaH5+^qL;-)_sf{99h6n$(v8b~qPyg#tU45<+B!j5$8O5OM@OkJK~Wr%CkIJ<|=7=sS2b-Dg?+J9x9)*I4{Jc(dFt zBzg|Nao=b0_hWP20WALBFV`KaByK@D^+ncs?qrgK(R)qv+*}fU)-=y8c14b>AbM|b zzFUGsjlI-jJRRXyBhlN=Vs|e|mbiCHlBk53#qM#IdMw|%6|Tz4St87`#O=@W0?T)9 z4oiEMrS4>ww^)|B%UK4pEO#4TQV90K_7m1ofdGyS8Pm<_4+~bNOGD~j-d)q&GEPq;sm=pLSMw~=Ivr!lL!Z{mK7 z`#@3IAH8OtbQ|3yElBjXe9}!PQQO5=80ks(Qxd(-pL9QuiOHpyg(UjTj+1VwfNWhK zm;Z5-N%XI8r`*h9GDdG-r`%=~quV;=j-(jXpVesVl>2n?!dcTPCN|5V7&R_=O?1j_ zPolo6v1tWAU$&&bXUN)Vub-qs|$(ObOW^CGuVSvuM7BhkmNYwj8q6WwQC_UDQON)P&5*NXs@VB-|@#+bpELx8z8337s{@e>mipuwpiB*Is5tZ;aMZ|-M zDHWA(7nVC9Jy6Gw$*Ix_G5~UaWIN5gURxfF>`@Xp&{q8}^I+s4%cE7) zuU!vDPR3-d7%Rksk;GDR{n6`KN+h|AlpJwpy86v7C9;nsQzXs6yV7VqCDQ#?8Ivw< zfynu(73srL5i$qzaHK+68KZkxJ5ohSV8>?(VijU)N0Lbn#`!Z=J7TixK)>%p7X~fu(=_Gm-PGkeiJ&0+7 z7$>rYr8cAm$!;aopY{+pB5tSIAn5{$M3Q4fW;KZnQWE$Qb>x2RnaFUKxe)mT#WRt~ zEUO^$epJ)QESAlXPf@37WC6=w$P|+0Bwa#scFk0^FHK`bVDDn?dAo{zL= zDKcASy%5P}DIJx$Bzj$af%XZpdn8}f9%&mYzr-=>T5s2j_|j}tpxO#t zdrv*l(K51uCF%VHTEkmLwzBy5mRm)3v*gcCq%V!MiWIQ;Tgq#Z<1GG`@>=9Pi@&9` zj$C8$x0KeAq&xKze4q%vt`n&gBXWy-J@SYW`cEh)F^YDPCs<6(*g29AODe{F1=2ne zVQGq(xbLJiS3+xx%<2&793uh5bc{5tDEpHx`Xfv3jXOo&xl8v@N&gs;>rbc10IHKE zR@_!hv>u!w-i!=k`Guu(WHd{WvMQ!aWFJd;madVzsdb#?vb+^}fTbSG+mYHV21~cd z*VLcvz(Mr+HH;!PGKb|Fq#Ma1lJr2CZ`AQUHS!}%)u{Z=QYR`0S5%S`N_VSSoy789BEX7+bkpVTOWQ%(sr6He0QdNJ1e8M(sNP-v>8O+l0uYi~g$%*8!ybJjb zGB)xR%K*r3$hgRSmJyIkkWVAaSw4f57@8nHi>ze%8geh>^T>9Ve8{7a@sV9Dw;l)x z2l7QEk@}n^ymH0F;$aEm%bWHj6QX+wdAFwl#x*G_^4ul}nHm-UZqG~-c|P_z{+G@1 znfP*!FQr;wewrd{cBDrwIb-SK;#_>mkYrnod<4mjcn_c^|#4Lj>jT~ob0r?HGA~Lm(is{6%Dzc2_eU=|0zp;GCk{3D5lFhO< zQt}a1XBNx)$h|BpST;oJv;4xcF*1s!faRCSMwW9dnMIe$ktIiQBJwVY-rJnytw8N<L@JNx>FpZj>5Ik`kAQ6ZKo0B-^ezq ze6X0mrCf+K2A-av?tMZE=6)<>a4z9h)a=8 zg|aS3c9Ezn%@@(1%aMICS#o|ZM-oHSAF*r!p6aBS+AP1bT#2+~`3JHPXO&kY(@1m= z|BK95G0~a-FS4Gq9+{jV*1j#of04#v*_J+I6y83POp&lqouLWuB1>7w+vrc6mv5>b z-UoRP67L0VJ%@AN#xMJx7b9|9MZA|t))c>wVCAaqnA}r&&sRzmur7We{RYd&grW3v#O$=jc9v4k_!EiIEL&2~pm= zCr0EbZue@Fs5=#dF!Q&2<4M&2m7a<^6}&DkRgOOESkZfzBqMPB!6ISjEm`V7rsbW5r3 z^`aQPHC6W}QcOl*$D0XaIkxWV-VBoTz(aQ@3c0;k_vUlVNB0*I8CW_GczGoF?i`la zZOie0c)hDCODu#`gd}@uO=aupBvm0byumCR5c2>@!)7XG7esD@4|$zP^cV6|yul=D zTt8u5t?89{mc}KLanIpl)T!mwe_lyT^zd=W!(Qr(O61r0El3@2$xBMQomcXR*SLj} zKf{SaF84>h=`r#Qvg&%hUY0Ry)TzWi!ixXw2U#OZaPMJ+JaB zvW}kldR__%{v-1uoNu75dY(;^BV5R8l9I2=tQ_$g%VXY7miHkeGVoNgui2OQS zeeXY(Em0}cQq@UVtg`BRby*%}dE9%2Br`Bo;9L~fAWwL&E1~sg1N!rX*F8q$vS{e_ ziIH&oB}4ejqOm7hOUV@evUu8S79(<5 z1ic9)YiYSRXoY(P-bI#C$K!W09>(dB$r) zqL)rnZzD;z=!8BW?1-y%uSy5%VPNIEiL@0o^B!U8i5R(6HuD;@dIv1h&KSjIr) zmEE&m8_aDnb zj(N>1^M;y@UpeMA?>>@@z)_BA?bTyRT%!8Z+Os+9Zirm&ZM;`l{s)oEy^Yt2r5VSx z^*&&Ejbqw+gIT&lm}>NI(l_G)2v31R&RI>NpeJ~@6>NeZ+H)OkuiEZ?c}|bdSg~6&$}t6wTcORy*^P? z`yNluc<-<*dI0zENd~brSgN+TH@zGd2O_t)H@zt=FG1vNboLgryaAD0TxTzjr6)vg z1zo)DEJGl2E9l}KVfmb6x_VbwW^qhcuk<@KuD~*gynpzXSA}H;~boX|#^x>H9-f@;}j(OMnk7YW?yzAZCU5)*Fh@9sh-hC{aAab62 zcy(C*+w7Jo}g^OmWs=o+5pts&9tbDC$of8+X`=54+y zrkRQfgbreh#Qdary;<(Vv%5+Lv&f^BlI<-1aVO0?z~Uce(!5hF{xK!ZyT;-lLDIb9 zJ=N0jj~8j)9W4IQA(adOEdJ3U&6~mE@1N7W#Vr1QBhAZWk$VX>tGD%1 zv*B;=Y2H07{??u5rLg$ha+>!zi@)Wjc_xd$ou+xuv-n$On%9QK-v-mXw^;lwF3tOZ z#oxZtypLG?EhWtx&EjttY2E@Be=A7yj+0~r+F_pMc9G^?QWCTFmPnIhSHBC(v-dRb z&KT){tPi{h$^K&RqfX}p{I@T!g_5`#kZy?SS30sd3!N2JS#!;^?FcDmgsvco-xO{aX)VgiMpEj0j&@8 zhJPSOkuFm2OAtRp26QvBIgoQC z^#{r$=u-hx!YU95_$lSKIyGAonCVj1RrMOmtcl@K%Bo2`WUQw=iG%V#-;teTKf zUSfvobD1CTr3gs2cQ4DMkPu|Fml7i`WQ^B?Bwe&XjQrmFSh_xq{Z(iji@G269I`%( zioBQm3S@j#{Cl|*yzi*8S~of&W}>%IwI1k!>&kZ_Q@#BvMr=pxa+yx`PO~Je@kI=h z<4P9~M5PCd7nPD9s+e~nf8t0z)oac&lw+oOeORVKhO`!9nzx)pUoTJhc9W<+4?+*8 zdu1|ZGOvubz-FWV_dJsFF`0%^~JCJ;DC<(5+@os5v$R2MY ziGFTyueXuKzuU9V`t0}l>Y*Panv5b*OXmn;@Y#M6d{qE-@<_D=hapBT!E#MnkYom?LFAfQsYx4_HBsrrvNtNJESDj2xmRk^i$wLO z;wn5{(_{)sws_!Y)z*DY@>Q1jKUsGk=Tr5@0sM?@zSa~KQY4`e30boy+uZ%$lqLJV zB|?^rVJxYP(OAopLLo(^?2HMikRp4L+@;2+QPM(HO76LIZQML*Wt_~z3TKO?jd4OTt&+A&QJLEzbL*r_ zQt;gsWTsJdlgg%1n^R+hAk?0=NtIYeLtaFwwn^2MgtfO#Y8)q2d%Gk%PH0uXLsF;P zq+`;HaWWRi=gvuErKAhvTf7m3y1FGzkCXSM9A=@TI*okyqMT1T^ndZXCv9gr3d!-95IvIiDhc0J>y;#?Q=Sa*59jHX zl*m%>J3Qk+FM1{2FC{%z5waH2JE^RcX#eV+R8@-Fo9JBGJ89)?wRKLT6wUeGN$aJg z#A@AxH#MYeladjRVeh0}aYAF*J82)wUAu8#xfx$=O%iido2x*IK>8=uWN89<0PRNCU_#NwK$8%yLL8 z$f%^XET2N!LS9X}^p1)l=?fW~)Na0#^^kFp)T9Ga(!@5%RLF#+0t+Z6O`L)(hD=I& zf`yKvD0zlwmBz_h5Ae@>5-U2a8lBP;Y7y3$OS<)t!JNM=h&mm@6QiVm7 zCtW-Q83<@*mPIGLA#^+9(ofs5`DG&U()!+G-7JIw?tjSn64zIpNJ(Gi=;$XI|;_O zEc$9EhjEBSKX=GsoRAW|6`aF(c!{hlHV<3SMqN3Ls#4V4=qn|*RK?stOfn>&QCLd4 zxbJ)Xf>_E5DXP>5kiy0$j;V?mI)mI}{G#&6v%@;XJYZamE0qZ;ZB+e$>dFuUxKw## zn3UAmYY;lJRWZg$NscXs(D|#1F^OZgLg?&S)kx!*{SaCOt!m8Xm@AN zAHLHrHL6s5ZQ~v((UHHd@z8BCb&blm#ndr1H-;8rh(D+wwOjn&)Z@e8G~+%X=1#3TTBxJUBF*f?%F@#4T?;>!x>6r$eobp z#uQm9LwpV?2We@nT%l&dcaWNpB%|cVBAkP|2KcPHnq7vj4$aBVEmgXGO)>zBpLFlW$?TzD7qU+uc#!eLz9@#n=r~fbJ zyp-$&-S-a0RTka%PDb@r)Sf7&i*bTQ$8x5 zNXhl7Y;&wBgzi}T8UiaNXSPh)z7$}~9Q@lSlCDp#jF*aYB3Li^h^T`4*W688_mDo^B5|+I^TWug6@jz2?; zzAVWH)X`>$F_>j$C?ln0hyxJ%UhWWM7R#TIQHeslY`o8s=O6bu1+yM6`_u8pNGa+#Mn|^s z##9v}GZ)9z@_1v5l&rjMQHqY?sm4Af;dAp;<8LX^HBzdPutsgKmr?4@ZMf1i^0JJ9 z+$-fSmdPA5!6?C!&M^~=hm^?nPzxs-6**=fVje-BiN+Hw*^nwy>fKgqlF^i79zKM3 z(GfGrXe}i78Yc((Vk;yTRbbJyA*Yte*yBEF;d0I7OsH2Zj}6j`kpST z9L9f(gS=@>my#mxv2x1mjWi>Zr4C}YASTT?@g)& za)Xi<{0_rg#x5z*n&(@_VUD49A?OVImQi4%Dz%v{?k7x$@z_{_XlH!n=(}h@W6xgMt0>nei3S$|!xi7}K+tWgPZ1k5g(Kvr>q)SN` zeNn0tN_}iBiIYK)&y3RFQ05F7lL}d9bp2Mz2$Y%)*+CdYaH*WfwAAOA`yq5p*l9e?LhHtRWu6`^k0OSST04zloTn~?t`Bz_ z$x6b#`)gym5~081__gsFOKX&(`TVu9UrMS7AT$$p8ONnWE3UhYZ}(D9qx14Eq}Cp>fcjLmU!x94w1X35Z@W|rKF0{b#jU;=*4cM);<+e2BoO3Jw}q0WI_8N z^Nso;RWeH1qD8+tMG4F*khUK$RPD{xUS&)Cx z!o5bN{ZuNNE#Di54v?t6Cw_%HGUI|0`4$|Vsedr8NlA`vyqH6{=*164j-OQDZX8J&+1g(pkzwXdWIj=CC{o zp*+WoMN*=E9XGB@Q7x>4JjadZ2Wfni(7E6j!-GUmSvC7L}4BHX^1B zVuU$IN^~SiFjq)XTZiro63q2dGGblvwXw%hDuED=ubFO6gLk`iDqVT^9sk*J*DP+ zaZ{Y8+M{_`+#D=L&BMOPT-@CK8^xpxnuntx5160)P7=+-(&lj~(X1np8y?Gh) zh7`4xQ<0~P+3t+WLtFWE$V28#DbZFgYqmQ}F={JMN6f?K2U4P~T+Uo0Wn4@jA24s+E-BIdMOE_$j?woQRm~eL`u^f^v)x6?jIG1>7uC$JEc*VUnmJrbG<&O= zX;PwVwrb{5DQa%)Mc=EL>*9n)wT2n{i|R@dL(t|EhVTPfD^Vat7~t zBG2UG}gJRU4G7>TE&8BfO5z@(=CM7$szKZK^&X%I? z0zRyVr={k*9HXzAdYB(_jEUN3AWsi-wUpFYI|w~-?rE;$nEsGYr{mpSa~tQ;SA)IG zZ#ZTQVraYfGJoV4eSO&5JSrtM_7-C32-({_#W8fn_zr6CW1izYixIO(%2g@R`LwUu zHYbgSI+9R(`kGypgl+C;_LYKT6wWfAAx}SZjFc!(fAe)I(?#pEdBl3e^f%|Sbbw?* z28Od`AY>n8P$&~2M<9dE{j!vr;j~u{F^?$;XZR5FbX?2{lp138%0<11j=jUo!BSF1 z`_4GpAZD0(p5-j+`diA%+_LZDD&z)axH&S9lKg+<5xKs`>ZMsBMiQMbMw(AcNf!F3 zKFS=-QUaw4pwwvd0Lw#=yCAQct@BczWKj!pA0*j4%R4qSCS;sBEI-9W^Le~^PKw%sv^R}6s~4b{OhKiZqg1NdlZ8g!f=n=Xv(U&t51C|^ zEp%(<$!13>>0&pI#`jznVzPObRdmp}xXI8jFmJ;hBQ;}ziIsHy0J0W{;>_{^Q z-lZhhpLp{DG1JVsEM*}dLekA#MO2J_vvIoFPDza3F_jmV&)?JD%_l+ zV!~^rS>}gQQe(7N(ouAlxr&AMO4^%dnd?}RP&>uUHZxh;K`3Un`3*}Sj+tZrz%q(s z=9ouW=&FhG%r&!FCPFCBT=N{uo1Euu^9sv*oab#*6s5kW#^`_NDN)}yn-w33 zdhwo&X{1D6y;FO(nk`t`VEt#36r1I>3u+y5tJzgbhWH4w9C@~yC#0w|<3`BWX46ts zSGw4an1hfX%zve%%Jnf?-`H>FE-km0Tpyz|<9@S{6txf1ipK%-9*)sx#sg+4j`;zZ zsm(u`>^;23@OJY+f?QxT=8uEXZ@ z9P}7@K2`n0+{=8^;_m2Xl-*3m-K{vgot$QFA=YaFn9;-eczLoF^SZtFp(; z431e2`2%v?e1~N-B;_*65-HIc_Gh!-gVA=U^WH~D zqI;0v&C+qQ4m06*v$~Slt5tG|$1ezR#;hkLIrafEQ_LCjX(?*fZFvT7y_i;<3`XsL zm~|@37KVG%In$Gp5_|G*{2v6woHN_8=GncTu2$_OB z=gl=N6Cu;26sSbCr^NJJyQMIQr=^! z0C^vB-CWL62eM4cXDs^3<3HvG7X9S$AM-1g)+n_KrEZwtv2=laA>{zeE09f)f6e18 zQy^JVeq+)1xi`%VEbkzO#_*tY*S8j``2b&vMVd>e;%mim7pfKj>%F3SzchtX)TeGB3_1U!dA{@RjMj`DkiYxwqlPfnGHFOJbA3@)s(D) z(4L!U&1KmHp{w_pwMh#8YZ&ALO2sVm2`ZHw+Yh0=GN09zSSCbaw(|GU8|DFshduj5@BNC9i4iV=nW!BsA#pmnLHtX-6Wbb=JJRz9hE zQ4d0Wzr)%kC0SUIo`@-Ib*!aIbqi$?%PXOrW|QF|q>l+0(j*Lto6Nos5@gpMS|txi&sW8Xq(PbqHo=9r&3ri3+!V=i(`32Ow$ zdm82-Q{6dYfZtWs;u0-EY0eF~7INd%IFr zNJ)uZs+~(zK8rUXtrr-BL2dOOV$w zs->->Eon3|L@LXJRy&p%EM=^Br9}JSL)IE8>e_EQ@;qb}YejjY^Xa43c`4C-+@sbt zDbcD(MN71%QkjCz?;DV(qSabTvZ(oA9x)wn4LxQRO;RzmaS`*P!&2RPLyDSpCo5n@(V8J8HKxy=HLZ_W^x3nf zwVg#Dv7fY#v*;uClU8Yq>Pn62BX%vT7K=V&*RtBN=(BKbYcPvG=hn8Su$(}fY5vr< z7U>uW&4k+4W|l%CQ67J4TR*Yrb3twE0*gNK*R~4Ss)ZF$suRYiw$)fla;zbwhm?*S z(*{Dnm9AqAARnPrYil>l zkD-+GD@w0YoAJ`$^SvK4yBT;T`cF2=NpJ^on=mvVw-IfUkFU}Zk9V%9=ve4e$McTn<8DDzpWV||{Ez0X=BUr;f}5JUS{8*8=9 zlO~=hn^$!H5dTres@Pe^$n)}@yYX(S)ksQe?5mt=9=5f7mLEdt#qvie<5?1O=~4@% zq{Q?!WLs;Qlnn6*Vv3`#wpQIPRC{#nZD%!=5*=yVS=*$jqj6=FYG+-Pk`jIis*`nH z#e`pi>SX2YN|{sSTOZW-&Q^XY>a7nNpUzfMj-g*BQcM@CB*!#>P)rx=VUE$~%C1&r zj?w4Ju2xMcQ7^h#4W*>Z^G+SKxtleS<>B0kq7kIKmC5oLq$Q+>Rk$0qIbD!=ke=3H zDJkMKbj`;23K2N08(&rV?VP%_-LIp11ZQHH>M780y6&t3odoqx1TFz1nauV{PwVkCEJ3Ru57!lOgv)KCyn6qOM8kIJVllC?y)h)mE{WsMOXRdJI3astzWJ#&C_* zltqu>7uE?DJ%;P7jzd%_J%$^t)hv1pH(ST0Bn#^MLulbvtJce^&ARW~tm!Pe?^#x< zp%fGK;w!7Xl&BY9Sssh-#SY6Fc55%bwg$53UhJ|~vglrXXI)~^z1VAs;VO^r#XhU9 zlw?68{}_7lqcu#5YT=WR{nq?AX$|?ss`LuwiJqGMX;qgJJvIB&s?RauDvk9t$LO`e zbCw|`H8u~m(^2%i6>!Wa5ITyUw_f0wZ5(sK>cKJlIOc*ikYn_^-$iQ}$LMvxi&nCf z?7VvY@Gol;$LRILzpQDTN3SDYvSxFPUProQy~{CrP55u?LypmF!hc(1B`NZ&w^$pA85PCv)#rlzjo?p;Y#jDm)7J7a`F;}fqQnK^vwaRPO zIgZh5mDjAR979hGyJ8Dox5NnAg7{q$o|W{LQb0;{Ci=&^DkVj}`S~JZ{;|?VQYm%k zBENEJEl?6}!JF1n7QHQQS|3ZvmQNK^kmsg#Qc6_Uf7ZXMlsrPxn&*F3;Zd?K(J^nL zn2b`wE-+fQS@eNSgXFNsNm0+gW+c0 z#X|Pm9HVFE9rk-1qi5zF_DU(yh!wUAjiWZJ{j@vUT-dHFB{il;zL?!aN^(r^1;y;v z9HVDTaogh3zsDb_pq}&9pLE#(s!np2(LdS0*2_D{{;;5L%gh z$gVCWs;jI$T8gS`0_rMjf5>_C*CZ<0t2hr`v(esE$zI1XdVDI|nH;0Xr?UMG$LR5S z%>IF6^!PkxALST5K2_{&j?v> `3YI9Y)XDW?GhI}Hn5N)n%FJhr5bR^a6ODsFl z_n#ou?L`w*sUIMX((!ved$*KmhCgYamZC=E7nFL^9zIddpYZutZ97>?a!fz}s%=l^ zm~+TX$LBisG>$2dUmc(8*mF2$SGQd94zaHNF2@{(OcMC*zr9RK)YE$QIw|Sm5#;$D z?Wt$~&hixGFGziRwUjh*x?En7@KH|jl>IYH&hmLhSx5u>j!D#usHY9>dQvh3-Rl+G zmmnJ22c)Eno5=hiq_KTtvMi;}dXQ#z;n$QDE|4f{L7LkiNr|3%w6MFXnD7~N3ww=} z4AB6k=r{WL3!|1lY;6D;@Q<$-VLQ8%V!YUf}U-#>}`=-?%kdpu;?!Wd3INp?I@Lo zx;%Rj%OS`NDPvg9LKaAQgC%F7M6p;(hLp6}f8XQ~uj0!Cp1od5hWs7Sav5__O1gM1 zA69lThMs+1l@djeN5yPUQzKRxvPzaZ94Bibfn8vlig6LM8PdkSny#cXWH+R}y=c0U zF%YV&qg~)FCG#QcUrT_TX4wd#E!fFU$e@^H@e72mJUiQEq(rl>vt3I{hM+INUqz|T zcI!CF^#lIrf}JiUU2MIQLw(`FUaj(oGj}8kis^2@FhjN{oC!VcK2p?7pxS%duS&^? zmBQ2HA}H0UoI{sRpk-KAI&R%$GaK5?dG#?&D_WCASKG&#~vg_Wv+}oee97^ zqRf5lv$Jo_)6dQ^heYiuO;Dric#seL+9SP}_S)$qK~O!f$hi+QX$p$Eaa;vXaC$l7WR%}f1TAk^kj_8ckEXpFY^shIGddbE9*OVR&xp}vo{ zPq5JcbD=z=?LS!b??zv>|7N*}zEjMr_DvT3w$B(l&wSbUn10)5jC}_SJuRiWlI?q0 z=xHhCNw!O~=%<`x?FuaVDd$-GaTdKIonqH!(N8B+?8Yp5je4Bjl0`qA9A~>yQeugB zscW|Jb~l!Cp$uhtI+Q6&!KLJ>6~@ zCqogFZg*57-)0#NnQr%FSyLoYjFU2uN-IA(_Z3CmcHnQ4E?lEyJJ?X4{HA$?on4LAF1mKBiq z(VkiMK9-+e#xpY1KHL78mF5Vj-BUSHRpfi+UMAJuq^p2 zm)MFm@wxWBENdYdET}kXL;am_4MQ&yEaQ@2t7S{$8OB>R#ElF z-8{P`%li=8zvkJVl&l0jH|E=27g3wD67<|yX!m_j_CnM{=H(clMfOw{7qS}ip1uA3 zTW9b4_U<^L`SZSgN(ml~tLv!6_BobD5Ngk2`znhKp^;x=i^XaTdq8O9m)HfQWC`8o zrFL@`-R2MV3@kB(!sj5r&>kGS>l+;+swYkN&BkR@&Z9@;OM5ko9*wnj!Ut4WRzj_7>KEwi?Xps`6ZH73 z564IUYGZ@lk7M+&Ha6H}S@f6oH`r-XQpG!H4}F(-gT0;Q3rJ(MaD!d?Lpe7Di3{0e zFJsxvr8e6~SPq49o#kRE1(&HjiN)2(Z??-x$x3LB?M`Rv&2|kb*$Jf(^E~R>Y`137 z+kK1uF6XI(7%H{ZULz%4*pN;rwbd@Woa(}Ft|3Dp+wHzAsVraHi&z#w#v1$h@SKiVr?A21ni6ao& z2anlXrDP_Yg-|b!+uJxs|2Fx!eU*i_`(EVv*|t8X%;Q8y{BEl(Rv}K<)>Z?G3?zNNYX^n5?Jd-%y0I%jY_IP z3LU^ZZ+5#)BzPJKp*CNzUu5YK$}*O*kkTl1!M13b45jqj=@;!GEVKpb9oN6?H7s*c zss>73va4^AwTJf?mu+84bPajg?kOcXR{y?4(H^BP+bJq0)*8}9$~>0#kX}-@u=Ixv zkg`*Wm<|~tK@8uoqYD_FJiiS+RdhsWZ_vyEjW-{N9|7E!XU!EO&=8 zPKl_@ze&Glr*RDZ$35Byui5XgJQd1^EUh5)Me%F)7o3OwL&wOH`0qdV4wf#EagcxQ z11vqc)PHt1i~b$Ga4t)Uj-ol8oSCv;LLW&IodQzQ#itmJ85o~Lr!vbn$or6dPOUik z6jIO`CPi(puON3i2b9EKZ-}R|7@uO!ah6$-1GvvE=KRJ|xTHEt6n8GLl!DOlxwvzk z-+O7IMr3jwK~Stiv~u_hB?jIn}e|3>Uv5<_P3LXDZ80NH*jl z=Pb(|_a};TkcXYaU#U`6AXg#fodVmHG=(Jmg#QBLEZeE14c zp?iUJu$#4av ze<=D(hA&FNo?Eb5=|r&>F@u~QvaYPWjUm%t6A&~He^~|f6>KDJ5kp6 zcjB)&KFb|AYSFW#5l(xS2M4LQ+($UwS?VD3VT|)gr$0+e$S+dHvOM~TdNY5NGnu72 zgtqc1C!OVal%j1q+L^=B4MN*=w6jP`c6fjKsx$B?jZb!Xf0`W5s0}D}ViET9PdX@yn?+}y;5?^F#q`#h=yYPyTW6xv zn?-M(NzNb^y>%uzBUtpvPj*sR^vF+krbx+%H5!jEYNLg(IiE<$PSE|D;;duQcgItl z{Ksz{u{WF+Qlh@&zB zDXUq2f>3*AI)zWFm}?Mf&rBzUrFeODjWo+y&GHC@=HV=-bhav08$v5Wvz>7)Nf25Q zn(drs=>(zn%yC+uQl*AMs6BI>bu6!Qp1Drx(<nzVhs9*D(k6HRas9*D)(=1~k)UWwY;_oW+ zTM+8k0;dVfG6?l+fzyL!E9Y70yu)&Y^DK1Mvs{7DHhtImgXOMA)HZ$B$$duERT)Ct zYmrln2yt>#ROPyf(7BSl)i=CopsrFPs z*Bjqf#yXNy@|=>>h@lm#B~BZb%aHF-YN^xlf{LMQlEaW?&Zd8q%v*?aJ4SW6vzvvk zH-1ITN6zY-D&`ryE&n@Yr86c0w-Bg3_oJ$(A3IZ6ibF0U<`buI4i!Uk6Y{AuhNS`| z?_vC(V&?|SQxH0%t#NYZqEacsh0s;y8mAmfCyx2Tsm?-ez6*K2aHg}2L`*5jT4!W# zm1ic)I_HFxG_e9w4l(PUj(I2s|Cb!n0J6au$MPMd1!SXBI8nv?3h4#Oax5vy;xdHV zyu-<4DONF2j6}>1r*w=;C5uNP6CpdDODra24&)o>5CRHW za9)-XEGsVQn5ir;gfSSLTb>u3lIKDESKI{sJ?h^=(chzvL|?_7akdwy7DiVoXPw=NS@i1nd8Z_cUj07rJj|k3zb`nIS@i1n1*evj=<4F4vyVluBwupc-6z{4 zXr+tJUzeR5EXAuPidV4(uQ=69suL?)=dx5rDUt+tD@zl|N|egs zUSjb%CgzsEpE9S3F_688$?Li-=`8u(9xU&%6m*BNe9Ur(yG2U0P49H~#|gFPPWO%n z)X3|te3yGKi{8q2xuse3RxaXJV9{H-i2FE;zB?}J)@Grv0@9JTsN0xD&xE_(mMnTE z-0iw7^epl>^!*;UEek!1JSU|qi$15^>-J^Q=ahThAuM`E6>~?i=owYaO=ZzDs<`_G zi=I)%-5D%;MwM{qvFI69!d)Uo-ErhOivNJ@uIHFGkE=6vX?Hh^zKbmF-eA#pk)_=d zrD$8IyU2Tx=RvoOlvL3RdFcFJ#;qwOOU_I>u0G_pX3?wG54j_`)F_mqb=rsAW~C`} zc7k3xDd)C}6IwYb=bn}l-Hn!a&r3-alaPn*3(C8t9;7_!g6>A|M+?ilkH*QPkVoAb zaZ(#n*=-spEg+A(h0CZsw1P)5HQhEWv})ZBQpX)BWxAmC@ZOO6ZiR=aRHo2t)Q#M+ zEP8FZk-LCJ-wQW(*GNf|tKTD#r>UF2Eai!=gqyjiIfm|zt8K_Bnz;zL<+%C`i#o2R zB2SA@=(zeiq-7}jxSHfvk#$A;pyAev6WXSR`;3&V@ZQsOTe9eTPt$c+^u4F)wq?=x zo|fA|=fNE!-FI7VCne$CsO9#SqS`YXZMNNcN@99N(RUZK=oLlZUCE-qbr!g5Sm+mp z)QiB~%tH4vbancyyMu-9WhmxZcQ4Bp%qWU!;~r%B9zro~++UT1_h`@YsH!&C!v9my z5}o7Ph9j@fagpe4(cV21mznOnJGj@SL~ruE;O2Um=0>VqdCPYUS9@+lDfo|axR;@o zw=V8P7QOP;)!oEWt6HL{f>Pbwk>w~)vS*lQ_TNoRFJaqNm-@TJ11(Mwg-%fXnOUaU7XQFZL?>1F2A{{Y3 zk*B}gPsJqYmC1qbNEW>^`JyW-%eumCG04p)B}={!K$!=*cPbG&&mgxbi_Y_s+aNAa zZ5&AkyS|j{ytHn#S@bz&xEp&+ZoycIC)B$T!`+oq zQbltJwQ#swx{4e_LD%6UG4jLRp)B1w<`s9TloUa~=}Se-EACfuG8Hn?J;~CKOTFsm zsv2#b_Ym`{J6}ocuQqsh3|nWcyPV}~l%lKUvF@iVH1aD^YOK3ei6}h>zgfqsQHr}q z%FhW$Q0jBUjB|fw@sas(6|9iDSEZVY~ ziqurshm+hBEc$;KO?I!a=&vqJc8gY%J&l#_rB7Q1C@shH-FHd2sUO^O1?s4B|(JkET?w6w4L&wbT-4jZ}udROX zUQwmwvBmir_xNtnB&sVzY_F3jo`dXjhe}Be_lqCh*I4un-|x<2(X;M=yGlx?(Czuj z-OEzEXfF954Gy{orDVtz&P#Yh;Gmn$a=IRVQ!M2o3$1V}xyeH7nM(2*vduACnN)HQ z3#~&cDZ@gmj!GV5p*2P&by(*&GLWSK8^#sxta@)}6{i@5NPz{NWy!GEN--Dwk*gIp+@cDbG0h z?p$-oMfY%=P@c;?!!vVVM`j0dC6rhrTqi(oxK#tWz2q47gZ$?{XJHaWVvXa(J6qs28t6a(k7Ym34{xQ9IQY^BS_y+lG`UpEp-YxJ~nW z=qCQMazBhxbVkeXt&}ktV#+7@j{OpnbyA`;V}9=}$IyTBT8O&xdrjL=?HPjpOV=_; zL2sp$=xkNkTccuP9q-3_IbsTXo1|n4J%)w7LC;a1OhIF~6)|^vQ=}w|?vQUF#k`-T zM43x?KS+sMSi<{FN_wnlV|5fQ;hkrBG?XhWbZq$mcTy$1n=Eu}c|9colIMA9PkM}w zQ518ZS3pXJXox&5&tetJYsxYxIfpPICB0TGZ4l#2X(J_7(0pzOx!+4?>4lgskO#aa zEW;smelO*9ZAZ1IiD{7Dh$-czuq=a6?WMhGENdYzLmu?zOGy^rK}JBzc!#A#BUaYi zsY-?Kx0LmAx2L+|V+zK}PTZ%I_3n`p?cEQ1_p|7|`(f{4CE?y(&TGe_&jl5{r7U{y ze$-njC93^VZ)=>SpcjvN`&Fs%*iz9u%A#wp=$%#))?Uf$*n#>L9a|prcCqN%t9su{ ziE6Lv9f}iLpRekjP^H4!ANS6%=-MCm{!$XwUd>B*;nv!#dv~zt+G~3ENQr8%={*o9 z^bSK!ue>T1*8ZgT7>lm`Nw21ou=ZNsU=}^{b-Yz9y7qeBmr|nI>v>z^g#JfQJ@0E( zDy+S}x0glNUf(;YB&_`@?=*|9y`guRMc3Zg`&UX-dt)zm$7mkXN>^jAkd$cFHSz9d z(X}`6?pG4l-qdT#qHAyF&1ccIH}@7xiE3}|eH173i-YFg8dWOndkb$Pi>|$ew_QnC zdrMDrx^=s^_Ug0f+6}L%l&E&YYaJ&CkihVKRVu9A^xCoL+D)&klCXBmo5-U3?s!XB zbnTw^k(8)*&-*-1CS#BDyiKZ9SiA3i#iDEXz1>Q}+5@jv=Ue;U#@o%JYk%I`FD0t| zdGA=9%s}nWd#6>Yu=cjzITl@eTkoopu=aLd$1b>qgPN$RC`D7?l@V5 z+B18+F$i1vgq2Ay~8ZJ_7v||DN*ey-kJZC zzv6_}`BS_bDo@y+abC`zs)f2eW3(e0V!O_vh2XOcHJPUtv4 z$$L+g3TvP2Eo0HOPxe+T34h=8nzxrl*Y&#hla#2g*S(+P#H@vA+jw<1G3O$+x_gEc*S-4DVSM{pMbV*Hy=$E?SY!@P@PKcP2BuR2Kb)WQLc{qTh$i z@a8L#?=9~^PcyvLaZ;)|{==rXU5a{Ma0oFoyaP()9nkNPSzgcHv`tfEdgXtvH;_d? z9hmElVxeaNf1}h~Z>khEJ_Y~4f3f$ra!kIa_+Araf%gN8&b+`o!cq<~kI0x4O5|Ef z6)6S!PN-s;VfqMoPF8Dy*Xfr^QVr`0-AruPZUoe+x2^wzSJ;h1gS4wjk_+6%UM zdsv!4XfN329h8!tSMRx5-bog{zLDjfWzoltEbo#O^^79}J^jl2hs8o>B{_yrPcuYU z$XpqdPfGN*>UOUv%gp{c<-PfKuQiLlTi@=rW9d~Rr+5Zmn%(YAVbRB^9o{A>cw+(U z2}5dN4tb|o^#6w2<^9E_^cjDbSNvr;6T}F#@Qycx_||JFC7La}z1AuwTu<2Tc~aEY zp>xV^uZxuIy!v>!$Lpg?g>MD#@m^xlZw2r1Msg`V&U?KS7Cp{;y(v;M#AdYcU5w%P z-fEWpkdGigc_h`fpdevC;h#m48u;{0*hrH*d zMB{VFYbQmG2L0dLL*6JU>dR*I>zKpdDi(d5KkRL1(dUB0-ebemY@sJ>>(Q^nUQH=k z;j^S8-cwSt6ZEsBBc98mpG_R`I!j3ne+_rUo4_&pd~wv9&!W#V$Gq=Z^jYSZ_lJ~m z;j@5aUa8^K!sPHjv>x{wNl|-l$qV=|173$X$wDtqcq8KEcvl=#yqR(G8s1?z?R}~w zHVjW)>8Spjx1QxRw(=HyE&Mkxi$y;P{oVVPMSp+(cW=KE@fS+b>dG1KI7|L!T7F}x z6v`zj*$MjWdB$t;3iUKQL7zR(cmaz(d!F&SO2Kz~I^f+*^z^K^MM`uWyCl!T@xLq4 zqTbe6j`fzy9HYKqa2k28hC**^&=(ADc)Q{6p6dBiz<)_fH0uiZFLR8Zbp`xkEJwQI%|2Xf z74XZBQh5r~83a<$&m65JC*)4Z9e(LoN$~a&YOjjg@AP-GEP~XA+~wyQqhi)W8bXTr z1EnO3uOZaaqJF!v6q76tLY{%#=U4{U$7Wn^yI07QIa$_dBxaZTf^iKuYur;u`)07X1vdrvHf))r*nn#gqPS zDL*Hi#TI-qH=g(VxyMm2)H*+1lhl)=L0@*IZ`Vvfsrr6V8IuyL{|sg?u2LHKC6&l? z)BHvFMzmjDN}A|_m~@nC=r2>5W4o&45&IF-h%;vv9E})yZ>N#JTE;}*5z;YR6W1W- z9pq``-!ndHAst&9`wvLjnnTAl_RC3$jsQ*ks#4Mg#VkgiCVqP<>Z)=T$XxY{KauGR98!X&22HQ{NLkZHq5}cuYHk9J&pQh z_{F8DHg7~8)30<}jKi~6wUFLSbHn*eZ(namDL)jN^LruBhN9P4EkvpJrKp;T9Yosw`r?dorrqS}1#If^+TMfG%V zBmCz+|E7wGT^)!oJm9U49)6yQYJ7C-DO+>szQ63>l#&_Kd($vKHaV)j9$GleA1oy` z_AlDp0y4rM$x^fh&dV6p5&k%qDxpk~64f=rpYod8rmYZD3di12{s&T`k$=_SEhXyv ztA2qgw{EXj{R2{>t(@%Nl#&{5<*|P3^;=7g^&3lx>Kf;JQc`2v&>q@44`N6b`v;^%TW5)XTuQ2V4Ruiqm-wfp zq{;RaMX4qJ4Hjz8eUK0QzSCvD!aKWV{@^&FzAy7f#R(lrmirUqq%86*_YWwE{frh; z?VtL`S*}B9d_MJmV=2-~#eC*pU?~rwn9uy{EOj~Nb3eyhYUE9h`P|RX(uHHz_(fP= z;g~gkNtQH@`NA*D@-D}G;a6t)lw-d1Yp{I9F<<&mvFQKjyVh^UqW_=oTHj>R|Ic@w z|169Cf4=Mdj!MFDUhfZxlR6l~_5O4&b!QTekdRIOT$VBrQ_6cRPe5p#H~Y(3nnP#| zH~XKlw1)&JwZ-4c(g)H>${rhGS$09Fu08&jO2WSH^|!>yM)Yg1{~MS3&Qy8!`xjXLfKZKgSF;^5r4a<^z6ymL?qYlV60TJ;(gymt+|V`4+Vw^dDgv2iYg3nv$^1hx|Hm z@-t!%`2)BVZLbTEpZ%dMw7srK8N;Ht*DwA=7QMZG@zYp5J5g@aU;SAu-66D1fAtr# zJl`j$xQWas{0~@qL2_LnS;aC8rSd~g`fFKUhukS8lVu^-mF@3h`Izg<_J2?k_WhK9 zBu=Uz&nf=~mvS7nEzbD4W~yz`3qsrCj9-vNkMmi-1dAT$v;IRYJ6h%x^^y4xzbeZC zNE0cwm4xm2({B_f&m-nfzY~|DZP6QY(eK4V+hU-UK`fbQAziop<-fwR2SV2^fB7ja zM~DyZRfxIl|HY*~K&h`F z*L^Wdjp2I8H&XJl?B7B~s?Jd{zd_nS@&;c^Ns*;!9+r9@XU1%vZ((i5c$2F>THF--8)7Q830 zSnhyOo_m7lSnh|=(eK`%6H5aK&E9*1-YlIUblxcz3}WdEq4Q3$UDLc=IZl&N2@&MatVOA3>-+_XY2p`vTxA)-F{Oe$Z>w>B4?^uJ z9Xu^1MSKLIew7Y-vuuFSh&>pLX4wg$HkSz!C8nx#Tu z&67P1+w(}!CQkDGg)dwME0x5WWaF(yyjfH&Si>^4d~QMS8dVE6v(Pc>K9qVQ*ug@_ zs0XF&Wzn;xdT@|M&z9=JuPiIjLfXnTf-@{@AvDf4f=evhIi_ZCgJnO*)C_XZS6eWf zW1b8Ovi!v{PX_m}i04&ZwSos&?uAfYwSw|2k3s0TT05x1@(hHItF?n#EFC$fPSB8L zILFipTC?aGRW~>-w^y1dStYM{V`olLH<&B8PMT=IQa?ylrNXV#Ab2ZI8e>!&1YdII zpW7x13(_d~iX~4wTro=7%~BE49@02C!txZPr<5}+He@iQNpO{AKq#>VG^!cmx%SvE zE>TSBI2j3P8f<6jjhIQ0X2Ge2R4Te3Y#v;dk{X+V7~0CsgTC*o?KK}lBi}q2vq;Gu zjnwy_TLhO_ia{u*MUd-#6*E2s=TjU>S_XHqEJdCHQXW(ij$x~yl9cFft5q;fin>2d zN1Iy(3zWn@N1o^LthRNqlqCy7F|C77q(uEn3N}bdjs4n5wK*x+!}14&+ME;|W4XdH zMsShkKaMd1u~_yiY_l1}q^K6snw}YymXaopqdiU5;UA#{O~(|PEF~c{d)?q4mM1vI3vw=@+EZf9ImQbflY(c^5V~jdgBDVvzWaf%Vq}{?#`yTb zP$}u6MtyvZ1M*xjR!VB@5b}HlX&+2xxd8b_%5*7dV#3=w#6C!eAd@BW1$?mt@AU#NWE_6>Bb@dJkE0HmOAlM~E&DCbe zGaxuCB|~H^%q4n31_ilRP*2s<_Q8)EPDQ=1PxefqxN@D*SO#rmgbN}QY*CxNKs?>A!5b{FU7^s zf6|!{jEs|4AQOXBDXL%NAd`csaWPbCN-!%N zR%&{%Q^knR=odY|$Ov++r141>;~^W+iy6TQmNdu?$lT!S$13K1$Uew|V8|yVnIa29 zN1KJgP$|*1@xow?60r|4^b3fE!Fegk;xgnA@+=GneyTDjbi!ARAd7+nYn0p#IRkk= znDxc2buA9&vbdd9?Tdrw)>2GV`{JOJluU8=(wyQV@+=N|vJCqe|LH@@04dSx%Hm+C zlq}H}nQzLNNnDE77;|67nqDx2h1T>6LOuuT#wWE5muu!-e7WE>(hsxX?vJ~=taNuhtLm(eR zeh5nLQZf;;2J&Mt_**4QAe$fug28)~dnP6nSyiE7Ud zzEpX_JtaHX%%b;{>|i^K-cz!J*iq_5R!r|H*+Fv_y{BXc6P1K}N_H@tMeix6f|XLD z_M8sZC=qjes6FL$a7hZDwnHvqoPP_}9aGz48{|L8pTUj)vG?Y2TTa{m_`0v_zMr8o z95RQHIdf(bC&URkV#moGCuB;TPC^kv8KY2S%$x>up;SaNMVUp&94E8GckQ*-``XX7 z@8|A$it|06-|zE%J%6lczxR8uz4mzRdynra@&+SKzAwyLqa)4I}Hbo?j2@{*fZPFtQmV zQA-X=3CDR7FN5q zf`s~0?RGZ=^{3i(6eQH2YS&qiP=Bi3u@(yTr^fX%1ofwh>n})%y{WrM^P2AfaaN;J&j^sF^#uVl%Y|HFIb8CqY8&ZQUw@Ov`F!Ti4PM z)XcVS14B?V+q&+Cpk}spcNl`6t*x7{NLDl3x}OX|&D_N;yHq|m+PTNpcH8cjH3vBka0HLDCV?Lgx|SFT>oqxbNVYnOILw&?Itnj zRz>L0jB_H7WAo`cT@jj@aeD3+bNVPkV`~uC8VALk^%SAqn}O5U#hd|(&*P!O_r;X8&r04HRtB_?B z*Rz}J#b>(f#?{{SRfKjmPJ1`*i9BZyH$f5lVEG#IcXaIGnms8T`i&7k=HJsbos%+{}oxk9*BHbB(i)Yko*x&%UmOB9yGE>Dt%*g>OBpn}_?l0~DdVGtT2> zoN2~swHowHx-ix=LlL^M1vpPVSjJI=rmq3cyoX}W=Za8iO>o*h5_38z!nfmsbH`&b z=YB=#ij4EqgqTyDC_2ofM&cS|auylj2al6rpo7PN%10P8UV!fsAv< zl$dkBBJ^R#X*Dh8v{r-)Yr&qrPsf}AiqN(h=ad&>PVX|LUl}s647pqpI)81%{=}?U z^V4O>3uVacGGx9Y^wv7i-11e?Oh0DGfZ2+y*a{r_HIBWe3|Y1eSy>UfeLd*8V*4a& zDc6=Ew<v^mUc}fvl zWs@2j%p-(-U3$HQqU{**--1qVS3_Ke48AF^xs$tE5ju}Kud$v^ZpWKr&Yu;bTQbg* zV`I)UiqNN7TrDx9(H7nz^HqP?ffYb4)SWo9N zq^lxy0*7*2^SMXY&ycei*@ck<-BR81dJb|clp(7tLL*JjL9U%4<4lipPad1s)5Seg zhPwuWxo%5z$u9CO+zLaj5-&@#@A#%aeKU&p$* zj=b|YA6I8Z=&X$M-KjC>S4HSH=J-79;+E?v9Gc9C&%=Y=v}^OB4si<=p#!(Cp#ggl z9pYw2oWHr(jB_G$)@qy3-(2f|=k;`TZ4{wjcGULO)m>f28DX4dcB+x}l&rxt9z!5^P+LKV2*FgUELPH#d@|^gm%j~50!DAFwTA%XGbdLa=xqkvm$hQ z#%Z6#oQ{gnMa=Of*wx*&Ow1Xp2tCN09r))_SJ&yxnA1fOx}j|iz1ZG!7WAoNd*&9d zIM-|(A!9S7?|nY@@N4uiH$V~E^57bp z`}c$na}V>~WO>e$ict08YR_Tr`8Q+E97Sl$j5F%3m~+1()Gg!meLLn1P=v0^IPRU8 zbGRZjHshS~Ud*{e5&DTaKA#VBy~{ZLjI+`aNY`F-V?6^Dp*GA>J^Pn&4mQrwnVxmu zkM(S#2%Veh8C=G>+Bnx|oNvoG|2EEp8OMDP$91?O^isx|S;l$IIA3O*p&!M1Mk+#k zAIWv2m(Rm?ALltoxDJZYnZ`N7Jsfe4a!(rP3gaB*R-B*L)6KP1gkCUCH`n#kJm*-~ zO%dArD7EKUH#XvQcaIw97UOhx^jTid@vcS@`ouWLyIUhp4|k7oS{9-@&+9qK z%}|8SGR{eE!Iyc?DeebFXn}D~aoxVkb9%ZSiqP8KG_Ia*Ld5CirWmK4aeBGc7v%Mv z;Wki&x*6vTH{|O)r?(rf2wle<-`n(d+kO*sc2R^To1Wh8_K4HR-DjMSjMK-h_^-U4 zzHSXgXq96$U431zh;z2Kn2 zP7$g)330tw#_{*SdYd=MI1jar_57lU==o0a=ZP}T)5h61(=&0GSP!++xK3e?>X}-` zd0r8^EYmaNq*%|aGUTl?q|>Py*8`^@?emmFvl!XqoP2)OoI1 z@0ioP3~5n@v{Hng%Je)kAl5TU5jy;|8d{TYDm>2>FUWHSxMqsb`^@?9ECbAjuuNXEIqjk_ezxzIhP2yNM`hSuO2;|twpgYuk#Zd*mDqj3hh z7bDI^ZjNydHqJ%v$*b~uE_Tl-LcN*e({-`?=a4+-5;s5*y2?10xNdiN&fEe<%Y$5t zI|Zq2dAg3i2Dw&>WTWLluC*Z;Ee~=%EYutuEe~@46eNt62f2ZQgwgU~*Zcmwg@au` zMd)dc-KS!(n;&s5bqkF1x^XUbPmjs#xy;R1g#K-u%iIeQ=W;jOI2)Z&BQI!Q?sk7F zujdN4k0R8EIfE`t=nA*glsxB3w}K)xoH@S#xzgP;E#{0@geEZO^<6z@vLUk>AwE%f zmFxUfKGYD`RS_EY57j)xo&0^w`G+F(7;~1nB%vX0T7fmz`7&PZW-3D8F=xOvL|3~< zR?2g(ag!9G^?GYu*SI$f*^!Z9LwJXh+jZr9sG)8zMW~a78tS?may%nG)KIr3&x6;s zXP8@G5gNc8|Lbp<`=wRPDXuFBeU)*BeIIj1Dne)U)7mo3&Dp9p7uU7!Jw@o50UFn} z?$%>s&OM6I)0foH-M8|afUfJ`^PKBkH$~{yLCU$#eGqZ3cb^&OVdGry{@y*WXSh3A z5qiNm!(HuhdCmyeToL+&Ile}Xa5blS&fLN|gY}p12-nFF{PG>)x)_4CJi>MEC8263 zawz{xYJ}^mNY<7|xNe4^Est=wS}3&T5pIkip)HSaFACD1HoR0VyumFvE1!xR+z*P- z<;+R$LM$M1u^ z#htQk%;~L29nQ>MW6m5!xcc)v(xcvtx z6roNT=YWne=WmKo*NpR68RseEbk8_D?-T3UT@mV)aYmJKMjNMJ#%a|n*3()MdN<=d zc5%#kN)h_v+8Vmzai53hUzO+F>IRn~!xW*HuhSg6)g66Z9O?u`XwB=vx#-E5b43|) zZ5eV?8FG&zbn$4^gMTctmhR)=*>I9`Qe6`LpQ3Pt?mNndquKw_^s|Y;~dDGUBBQn;O@>_@_KG_ z;}xNcOwVoZs=H#&a7E~*jMMqvnA24edLZL$FgE6Ft_aP{I4eICb2>gO2$k-xk)67? zx$Trgn=;~C-0g0bA&wD$|Jd!Wr6K){Gs+EoBCmOrySxk;rU-SpM>UUfdp;kB+D{QW zE910(Gv;(wgf_evdODVIZZS^RjI;6Ev7R=H&;uFgJwsl~5PC;K(H9xA;xDnDmWt4` z_rad+R%s?*wCzUM(B*F=G|CM#1YfjKZlodjqK$G-t|p;sSG&K49+FVcD3X2AM!6Ra z!53|mTegLU!WV6nTV0UwMH}UI5`*J?q`X|0HGP8H69U&ovy6ru4P*X`fr^Np zT|f2q%qj8}8+A(gZug!d!WsRU=RD9P<~*qgJ@+u;x_|wc^ROayI4ABHb52)8R#boa z(Z}^_8Ru=|OnE|qn!R{#+)k@p>B`W&=>#q_S|jA*@oQXrW!KL zkbB+WYw~*Tb0ZX?%O0X0&@sCc zjdm+<=s9x>eJ0n?QB6}udKiLUYqaZS2zss2uEoX@s`gb5rFvQ^lJ#1nU28+oYq4ev zgj)Ao9Oq`t2^`<6k8`sWp+8U8K75=z{d^6ryn4#WGt1;T54sl>p^nVCk2w#z=F8_f54jeK&>++Ekb7{Y zJm+Eeq#`udI1jrOSIu)CaV-_0qi3o;k2tqkp7W?XLJ=CpoOG>}9(D5t3A20?+^j8p zsJXSTGpFx91)AXAQY6dO32vSt$khpM(3TnsxjMlO5hUd51b2%d{b}$EnyVAtL_==R zklBWyZcKEYb`Z^l&0egb_G_m!(G4>Mbz`C%X$b1ZMAvL5wWlYC^1s9xshH?m z7=lzxbQ3HTQZdm@7bK)&qMI*Bf11adeNA}WB|H1L`V&_6A9pPb`FF-Sa&OO3JsRpb zMd*T;YUq%?`An8O;^I8#3D;c_y5wb^m*CeQpKwDi$#b4`!xfIn8y5aie-*J7w> zu0@Vba;*djIX21tS&;s;{w&S0$?o#&)Sd?zIfE^n?B*B(3n#nx41tA{-H_`wt~Fn+ zp?(r-xFT7ZPIk8%0t+X*c@_#5PIjLQ5-gnTnhy7x`_oOV*_X~!Zq^+h3FY;adrJ|T z`dSTrbg$>^cW2D$q6p1q&iTBT>?!wD8E1xZzG9BQdHX4M+`X}$UW!m@HsTuhX3UwO z2;IhJ;~$A;{G! zuGP5~%4YSaxGe+;xjMyl5+sa3raBssw{WUE!Vp+E)pa)n7EX1KoS(OFs+*)pX5m!# zj3Kaas(Tip%)+T|wjja6sjlfbuQ`=4KcIo2R*1hQQ`& zuET42o2R)>iexrVb6pI9&C}d52xT@;b3FwKHcxX;)Ioe*ecC;(2tDvN&w}%Z>uLA3 z-w;+OUC+256`_roGyG_NIn*`(B%iM7u9qQ5*L2s{5Tt9m8}eB`UDMrgMY42F=lvV1 z8R?qt#vqiXYr1<}kdUtFu9<(5q>jzcy5@>Vy1dQLx|(nEHb3VE83LQ1b3+V)&Cj_X ze#+bYoTHyr4|=xe_>`6+u=zPRPm!!=d(M3=NU-@ix9l%IR2a$3aIFpb@?EVzGh7El ze#wyi4MA@+!*yDkw@%h+xij1ZLy)c+Zi*pD*9_NfSqYW3+!?NiB3W6?aJ>vcx@Nfk z2xVn4!(A#!NY@N^#PWH2o_9|g0(+i!&lm!Go_F(C$lLS0TcAj0&-3mFLtxMIZo3sN zl-cvV+g*@g&-1REAmIx;)3sbLZ{bYW&k$HR(+xBP7S42^Zz|8?w^-%6ZBCwsl_5 z%dTb{L1=5{)SSZi;JLvk=Q*#qVT#cDpK7gp#a(}X%z04}TIO?}EBH%FuejzTJ!fvA z<$*=on{S$(<+>Y!Je=iDF$8%y%k{oVLe=*Eg5#1<{S?XaaF!cr2=Z{28)u>L6`tiD z6C~u}Ecb>W;aAeD?v(fQsd&}(R)jA7vWAANMf9rcyEz}As+04txdCO!AVuiDg_=LF zxqe&4p$3*A!xW*9vQU?oaeg*V;ag~4cJEm8%8KwwN}VNs&GmXD&zbG|DndhkRXwxa z$x~uZZ$;=Yzk$=~l`@VZv|pi?I`CA-Y}X~?%yCB;=N9Iax~DY9wV9RI^M>oH2&G9a zZONQB+)feaP1oKyotfkHyy>3)HLvGw_qigpTQjxiZTCXNdB@E*&S}i?dfss_RWF|_ z)A!u#iqPlG@$Kt9x5p|mXJ19?aE>?R*DTZphAg`j^h|FV>v>xd+9>1vXvl6Evgy`w zsBILXp&94GGR|ejxjEy!TgLg=IQM3pHwMIUy{`xjT)LM2{iDx~cQ4Fy=DLr|kna_t zrpsukx$dio^S)~{Q1tMN*2;O`%^1@>R~8?*4-}!Dm#w7>M;GV=xA|D%&|Zw3#=o}a zxi`k;L(OyZ6rrii@g+FV?KH=8!o0*hH^30|Kl9umL(u=sbKPH;P}#i1Ja>vBS^qQ7 z^)>|k&ph|Ag+l)`&rKC1^gnE&Aff;H(A~Z;pNbFN{fbcaafOAS4jq)ze0OZb`NW-ToU4rUi92tvyq-_pC5ljs6>4Q)%BSwI z;d#zy?pQ_W+ZMI-XFiYcnR|Iep7XhTOA*><^;&sN_;a_;q&(*fx3MC0)EZh|U$|$c z#+(-wp#jYC>-b-|g@)W@$d_*ZjC`oC+yX`Dant;j`~3Nsv#<>Lr3@*~j6*e3gg(eL z_m~%RdMQHv*Q}-EN2c_Z8&u-u{5oHd1#XBUv};RE*8-O`%X7YVO%$O+jPteoym_AU zja#S)y}foV4Z4l*xN+lF&2#?c9#e!KSf`d2-k#FG+^DnioQ3XwMd*ul)t-fJkF)cf zZ{5C%WcGaPT3nRpeCJvzLM_+V`tzMzYIxurvo+E8ZXHEx*5Kc-erL#!Zev3xex1-g zhkK-rAmIk5AKfrR@XFGU?ma{BX3$Tr%dY-*f-pw<$sM5xHQhwh^^==o$hwC7%qO=C zbZ!fO&JdFKaD2*6c5fi(Kp+D?#r#zUyxk`nPG!Ka>EZWI@tx};172%t9O>`4gv zZn1FN%Q@i!{rs86GtThGM5gqdNWO8#c4ez}3Da%fGxk&GL6tOMmhv@bd1!LwMwS-W_-d4_@9KcnFVj$-4vZ zm4EqkC01^HBT&vAcnFX3%)0|GU(PA*#QB-Hgk#b8ZU*4fUK)=?HpdYx_ zpERpKu)DLBCwQp$d3VsK{-IvNJyz;}N*_r*EN11oX#Wx&ZSkXipJ?@IIcWz)`qFnlYvJ*$SR%C@OS_M7U*GED(4*l} z(^sVV60RhA6RM&&Opn&rgwW35)_yaM@PgIvP>;Z`zaEt=d{tIo8sei~HMahtJhc9z zzBgRIP#(?SFL4EJV&&4btlllDUakL4tUfli`q(V1k3UHMCzda;yFfegU6ua(0{N?z z)3UNlzCe&I%?(~_bGI>x?;hlij3=yj50MG&XS`EPqThgfV8pvZ-24ux;kQ`0aVB59 z*Z2Q?cc|FU_lO#f{^9lY^}GD?dMXFW*)o2KO!A*^UlYA~`|7h->jl2=d~>A46TWi? zf9OyBRPyKh#EoA(S-+c_uEf%n64JGd_$RcK<^M;w_|vcnDb6>HFX!t`!Q6otr#J8B zepd7p%k*f!UZClGBdyn~^^@QE+FtVucGlgZ{s1}!_9rX z$(|;6y+FV71I!J(Am^Q^_Fr_IN_BG&^{D0-{2|x;j+4vj1s}4Za0s85N!D&|Hv3d2 z^r*RKnnb&SJogMuR~NGe=Thy2a_o1UWe zv6+pd;QnzM3P z?j@DzpV9tNE}tH#^%l6w#LA6d8nyQFv9))^ul*d~o_wv=U+v#gQhh}${}O#~_BX`S z{uF8yOdD}UzOO-kB-7D@ZllJ%ceG*ZG<(<2ry!hNx-)@Qh(XEWZX>C1I} z(OGpSp=eaoh9wA+-FSUFsS~^P>Z&em=rSIBl zl5Yv=cr#8z@hpRN78%7j*n!s++5JRJ0{Eqs2pNXBJFs|O{k z2e1<|A@EgiC4NJ^DyvUH@0N|SBO&k_iht3(^7yq~G?Whsfv4qBIsM=@WT)1jG|F!t zf6Mp@IQQ>XKT&S6zqZeipY{8fXp0*C{#4S_E~-DV9`!F#$Hn56=l3C2-lvF+^RbFF zp6arA7B5^4T^!ko{zdzfhT`Sjs8RTQeuVtSI2ZYf@Be5CpAg#VG}EW!jPm|d>rKh} zohs{}tF!iU>LvR9$9F>A1*$9kyybL@=N*gxb8{oy_`~)4;HBqdJW?0;{qav0t}gC> zM?P_^hVOH<+SBAT?XNIiSRLA#$&fyzP-V_1pRnF zmO38b7fS8BkNJ(!5-z33L>6h1=|Oqn_u)%|C-koIbsn=wT0i*rg3Py9W%EMuI8DdV z4bM9)Zaj;}ueNy$J{@kqUoroozxxww&nYd8@&Wk)dB+OcpX2wr{@zb$*f`C9{GPw4 zoAMxms|>&M^Ekg-X!8%?VcsEbUzOS!?2G3ip50RWi&#H!q%ZFedlJ5jTiZMA%DcgX z1LqIAni`7vHDK`VKYTF_z9aTqXTTzxtPtLt!Vthc8qygvHv2l5eQGD4DH6Qa>}-J?#>g(SuT?<#%@0d@AufN?4NBXdiq3aQ0TyVDh4k!@t z-WCq)D+q`BjPEn#THE{YT0+}Q_VM%l%?&y}K)qKyq0Mc*Wb!Co2dWgV_H~_yi1Yhg zvrA<@AN}|c`FF9c2kp^a?HFX?FkZR!B9C)D7CfapSo-;+jxBVY^MLWed)D0W&*Ldw zHdNyQZ_zTLiyqc-fbxR-tF;=VC!slJ55mKpw~JqyvHXTT^CetDKZ-0*H~f_!(uH(4 zm7Bg2T2UmwrDyIPMe<%`*|$-oZFp~-?`QTf9`gOK#y`aPFR$m*TcmE{F43;;mHg|+i&?ss%zts? z3;gTMexytDJ*4a0hc&&GaLuoBzUF^9{zvIqdTu`dVJFt5ejBcKqdZ{e{SPUQ^(?Jl zDcvpkP@vIP-i^g|U69YDTRwK0sQP0)-^=fsBEkQPwY5Kdn8W$~AFz9h#UJC~d%No6 z$M`Fz=N*y!N|w2GKMlV}&u-tJE%jB2WrVc)y5-yxwL3`ag}wUm}yJHb=h+x$^}2Z}o()t_el%l~xzaIu^F zS@|80bsBz?HcC&A3cP<959N(|F-FQOrH`j+J&5(89{oRDzw7^B$p@|91*_*t){Yd9 z-F$O|wcBRrA+UR)-Py0DQUQ{4+!?6zH7h6zcbd*e(woO=k8alTm3`- zf$(*4-+#Yk;Xbtdf&MQeH~LZdqkUpL9EV4FDWC0-@(bhV9kkC*WV2Z^)&xBl8-z;CX#=L+wTLN zcMJ24{}g^g7#Cb>dc8gV_mJ*KEKf(AuGsy+)>^Oed#2LwmP$Cn#lM5_drH4c{C%|k zRP(h+6UEK_wa6-(YUR{8et|04gWq#16WjNZ(v_B9I-V#HzKgK`lJ;6JZZ_U(_WJ^Q z^!G+;`{If;rKKMSlVNulrrA0c@Z)6vLu$Xnik2_D?^g1q z%JL=T$C8Dsp;r8&ydOUyJl5s%?v$E~oiUI1!ASUGMgPSOw`osrPf9;t;$_j=U5RQ2 zshueAPsJbmREo5=*jJ)$MOJ0)6?|PkOlcoW2kIrpb!Zn4U8DVsGv28p6S~0MBTRlO z`==5bdAA?;rF1*vzTX`a`JJgDNcR;MXz}>f)M2sW zSzP^#%jb87Z5>VPTaxX!JkatB?F;^JcQ^lkMCsA~g6Bu1-zaAN6Y@#-!v#Cl&E*m4 z(eSD5p9}mvUd+O&9-ikiJ?IahA2{rQo%b?d*5xhSiy{;2U-*QuxQq7PDA6b4uA;A( zfX}^a*4`F39@Km6N6ov#KGUzQovZ$oem48@ebWA|szN_nxqn=AKUYOf&aB%$3$&WJ zldOKJy#-p=c#xYJPxt?&w43=?!j%{HxmV&$?&T+f8u%G#;mLR`gtPj_v5;Mip;xx|Eqd*KYz^k{um!GN&NnM8|PEq zdHuTc(fCf`y925FC<}D4ZknZ~9Ol z^?Mt}35z$btD&uBoLD(N#E<%fa}0TR`FKTnzrcpdNCeB{{#HvDf(Rpj`D=e%9ZzJ`*Owp3ZMVp zy@|yWmt*|>i2YH{$j9wW59*gQH|&6{RQ`V#K97$i{RPUq`TJ!1K;m(;Z&yAYuiH6V zt>+0X+g`_Ial9ov2M9YVx%Fj_hU+DMU-V@Ay&Y$ZypK!$b-$Z@M{R!_>Id}We4OrkOX(Wf|5l_+CErUlTx1nF`Q2MhcZ<6~ z6Gie#K|5EZdJ6>oSZ4;lxcvI_2l>S3Lpo~yEUw-uR_>}NCFK_h>#2*@$G=zX{MwE( zPnXc{HeZMS;v>=vK4D)b+@9xu|9oTR037`y+68c5-|ORJUIx6z>P7vb zv$S9KZr>i!F5r*!A>XvUX?>3Q-tFg=yq(LKUVN{1w|2a`;nVlma@KO-aoySVyKycO zdc5@g!p5w}|JUmi{~h4@1##=TrC+ys*y8j4K4toSP7TL-u@dbi_HaKTvYL(&S)h|e zCgx7*bi)^{;Md=Q^SYRv^Gr-nfqwj}PY3qN@cf+Z|A75xnVw4W%>mlaA%x&iktUU$nR|aT_SH+7D&S-G`p{Ue?Jl) z?|(D?3TOLz!siJ@!j3S{wW;8IuG4r(AHHK9%pboe^n51obCcf}TpkB$`N#fRZfu9} zO4L>KRAu}Y5{}Pzh(FJ_njX|!;Kxb0V)ngRv_J1(HG3P!3-;8{NB6Z#&;=QG1#})BI&$Y zfzWOhPo=-{{+LI^_w^ymC-CdnSE3FCHUq4b>Q6$gvi{$$rey6|c<^5=;A9@?YH#Pn?W{-w1Wp?5G zkmduAhoW=-m2jQcD%yN{!Ok~he!a3D#D{s{I6mNu%R{-w`YPeL7Xbc@!E3G@HjZo~S_J{Avf zJwMLl9y>RW^W;q{xa(Vg^50e9s+Z>@tpCODqr)uT*j=eToi6-PztNAQAB20+^W)+B z825`f&jvYA;={cODQSOHuyZnr^EeW~fcQ6$dk7pQ(boZm

    c%;_b(%&U2`JO1_!+ompl+XM7bM68iYW$&tRL`mAjwQaI_`Rg{HX$AVrnb+s zNFSMfad^06J@|c<*H@svX2)QYdcGC+lN9JonP=wTi8kL1H{wD29A@G5TweJ(5Aao1 zE?4MV?-d@0#DsVW=iOtk#M?}aw@`}pz` zw7#JqRJ~#R7JpCBuR_i+y{n79gyQhXH`QODJTHvDM@s!l&A(`R3iPJv597W#ok$1H zbHW|B^Tzfgm3VV4ohmUu7w*gY)a=xKU;JG+_d=0j|6d;Gak24g&ed_V^22!s#CPU- zew~Hy0~H>(6L$OlVk>j2Oi1}DwP)P_PCP(li4HR!_Dh{)?mi|5isX3;bKhbT<)!1P zlr(>fwm+am>svi)9Iwjy$?|gd^~BrzpvCL+$aqjUQa|6eI zn9mGHf3Nc++<)_Wr~e%YeF*=Z@eAkacN5{`cvcYquuoOjbrW0H&F^3G^XEUFsr~nc zrgs;SVLf+0ahIr@>D6`Hgb+X05f<0Z-c(9cb>xrAznG`S?^H zuY=UlwmM)}Q^C6)&rgz7j9hmRu-zj(MxK7XY@_LByQra)F zr;FhaU#5K2U#trt-u!(Ud@f4nY13?<5yoGbzr}n`Twk@G7P9+XW>#_wN@-M(LGD4ja)NbL6?=5LF1jOA-X{wE0!`zs4{x`l(imG<$+ z=LxV6pdo&LE8hVY5A?)1##6{ww9mm74(@z;)@k3izxxfox^%8fHMwvgp$Kx!X$1NVs=ORrv-eF()`!JI1 zyfy6Ab6P2#ai0I3Q>6YPOZ19`d&l(Zz9c@UYxn|_=a2E}<^7!^`F?ZbPnUKIHza=< zFZB7C(sCk;w2sIUZ6&gb5N>yI^F7QW3zmO;F1$j1sQo3gzbeb0*dEje=+SVgg$w#M ze~{m>ACmXMMd^dS#)hk(U$k-vc3?jk$}vt4^q_oD?mY+S@7BhK>o0s>*RuBUd&9vl zwECyqaM7ifsp zTeN@NgO|5Aj4Kz7$Gq4b(wo;)j^lSmLp=3g-23d}_{#GoA8$kcK_BuFcGX`_mCO6U zf!YpkTC8$xtbK7l1-tXeIodiC@?omQ8>c@`FY+U=AN3-f^U(B$^>pp$czwmjshFR|y|`GPM|yzg^F5rm z(chE7Jz-~lmzKvr7`I`aAL-27%_|D_9>}Yf?h9qTkl)3!b!^y!@i)%->iOPMmVXEj zzSoH{B4&FyQP{*??i{$$_MDo6U!|}ck z>TBGNF%KNChXGevd3_Z5d+nvZe@MdR_iViE6d(^H9ubReJO z_KJK%eFhKp807#Q;rFuq0}py)o~Ez-`+#{>ghP2kqP&l?@;TYcXZHHOe8adVE+3>9 z;d>6#e7@moFN^euNVI3jgm6zb;)lHdPK~dx#eb2d`!cg@sNr{;9Bux&NByNvfR*eIh)}8}fXl#e;M} zR!R@*$&VHeZoS8x_g`J)`->tiD>BrV)x^!`qz&(Ioz|09Ed9E2TgLtR>yc47e23!r zfUDjjrNgx!gFW!C6i)3en!S8asl{7K58@eUJk`(hxOR@>{Sn$;n#p~XydEg-s_Z>0 zk_w^z-?9=foz9XT(K>Bt3!teIkdS`vO&u@HZ8tV`KePUN)``S~> z2ktNatlx{L%^&%r`BfzS?v`i{`}_9?y*_`==3{Z!Wb3ui6X!GfzZj46zY-7jR|?;d zKgxHZq%V~3@71@=#XjGHK9mRYVNv<**C*GJ@VuWx?kf!EMKoM!hiWIkLn?fJ4>Grp zKk)MPr%1j$eLPxTRkV-AhwvTS>$vYo!TCO8kvKPq-!(~gAI~qh==b|nTbJhdf&?$nSd&kgd@Ip?C|K`9|K9Re{f=!dvPjPfpYM;bc+rnTRtk53gb(4~ z7Ck(EviOk>*n@e5&&(h8R$t=Fm(K?a&iheCR!(P}u9YQxf$;rScS1P-2KTqCY5Rj6 z7^lDveD9I(>xkae@*C$-hXKJ<2#IZCGalBn@;Bk zKM)z_N7`AqK6ajC&Es``@>-DvTYpXHFUG^ZV0{NEjK8~@|Aa^MJKNgM^&WD)kC*4~ z5RXW{zsKAcn;dEq?=|6`<3Y#i{lSOZ`&X(ryz8{+_bMn11B?gF(kiSpFO^x^26#ZTU-^K9VO(I|E3!e`OeRsR&#{t|& z`rlP56B=OW=YYd50ahWyy!pr z*gjhHLt0M@)Zh48p0GDH`$PTIadUwVv3%Bf&VucO4g1+)AL8Aph31Qvdq@|4_Yacz z`MqnA{I03lbD!ZTuYGO&iSu_@M@Kx58h?s~f5s&I-!}h)c2s+`91@yuylK|nz7{vv zJHt`#;A=eGcMsNj)>LFl%Ze;y_j;k;t!_Nk%k6G24Tt^#^>`!Wz1C9i-`dLb9k#5F zLv`MvJUr}bZ~VM|zPD9yeow&sr?2Amhj%`|8>0E4^@ZPMm;D$c zt8Dp#@*Dq_@?MsHJ*Dmz-&wH7-jBn1bDWdB-2AnkCxmjr?{&04l;5?+hr49;d8FWc zUQ=XB4;k-qlTVvOzkzuhxX~U_9xoXm{WIE!wr{>~-2CdEOVe`70xwRbl9iB_IU+HZ14gE=M zhu&|H&`QQfeMJ9={L%JNAe0O0%NiC=``0kPitus&igUy0KQ*1aer|dY59~#`qd!CZ zst4!txn5d$?N87j@wr^utA$|DH?P2S8hzI5Jp7FP|efd~7#(uER&Hq=ET2AHT9qniN9-hm5JK=rfB8#Nu zRiF*UU7*cOZfkNkllR)a4js&mdW-MWH|?}v)$$16P2^+T4$*($ceaiz3Ix3vkD{LJ zFYzXHsKtN0xlb~8PjjDdZnX1Z=GOaExgU~uQ1SjF-f;=__(tR3WBML4ca@bh%54ht z+Bj3++vEGl4M#nnWqPz<2=A(+d}Dji54JkR*XM-ZGksbw_&$28f4FBD?HKWWW_nz-FHlK;{Aj)eq#qEJr2gM2#fo}jy^9xru%nWlv3|7cST;7^#_B`4sjQrju|D)KDjOdT^;>1* z!^Qn?-ktv8<%W47m5sNvvE|!X-je3?|F&|)xKd@~%Pam}l6N=0USYhWvhnewpGJLd zY`ws^LuKRRL%*%^KOe5K>1iwv<4u%PW5X?JJ~vkXAI)3Rc7IOvJ0b6Ge0^TheEy&E zeM0@f{9NAM_D~Z2tVWc$nY7yS#t29r*pF@{iA7{659+ zna0|`q~Wf!`l7P&>A~+o7{&D2S?_2oe zckV*tVc%ilN}bnO$|U?(7I#9ci%e-9^H+D0xe*Tjh-XQ^*Z(h^pI0tW{JR+MNMjx` zE?<-bB+C8Z4|Sdd`Kt4r1%h1H-c3h4LOEg{7x5xK=-=4t$JQ0<1>&z%j}R~BgW8%N z*a7Z`10g6IqHdQUO^El$+-Tr1_u=V=Yc{qkP={l2d;?)Q zwc=l-6P8ndoX5cZ$7@==aBpDlEllrL=HA&P?larn{B_?pzwg~k^GU;D-%3LJTR7E^ zd!c!KSoWoadEH9xLnM4kN1L9;@-RQE{Xm+nC&uaOVS2}m(0y9iKZpHkkn#D1?N8P8 zs;qoI0r%?NW#?7md-~wN>jl1iQtBi26zLL?CA!}1tDlE_E|>W3-Xr0|es18e+x_=i zpZNTWocAfwqr$JEr!C%?uRMNtS^P^G5Bo;m5uDqVh5wgH+()P~p^v}kHM+5ijf~T~R@nd|mMdC$j(P6M8>Ifv%VRjRl%u zJpG*z&Rsn%IG=|yf8{0gdCpxR%uD=WIP60%V8UIIf;~anWHQKMOCNiasMRGb#?wgam56#@&MTYmq zdz!nC`RCod|AXJb^8IZ6c#+PvaL9*2r)$3pd5QUth@|?5cOql=EylJ)DK1 zT0XTR`QBN35B^VvuOPBOtC+imxz{vzD|72UOa7f?`+FL4V;`;VQ|0?qWuGSZuc9w4 z(^Co8efojFsoAr=N%YHY+3nMfb18V2s=e{B&$43_uCus#U%BDq@7HqdCf~OL<=rWD zsh00d68orMxN4WJnS)ewbX@3uidzVf&yYQVtzoGj1 zT{D}{#JqKX;qy3{-*xltZp2{y?x{cDA0+-oy2|t-+)Wm4lW)|HO1Or{_con6N}^t>0w@qB*BaEy;*H|il|U4K7swX~(HF7AInW4~=458p$4 zZ?rsu9jiq8)Sa6ByieZzksi2jviwFp%)3K)jW40&{;l(|d3WHUTvbm>&$-iu?{D$I4up%xNxI)Ip);j@@;r{*lNQPW^8km7 zzJyK?nbJQ+7U=?uN5dysc>IpSK4p~&U1j{(f4JZY-Nw?}kMC7o+}E4Y79RTqJ>U07 z=)cq*#`CH#xMMr_J4Da-o@Ns5qVMZ^{uX*6AG7%4{b2`RuJe>L#6KbMUN!fpB2)Us z!mo6#eup;@nbMXbi?oZ#5_J+;MTdy2rV~Zh(D(mRyVRYSJ0;jtKOXMA?<;zEAG*lJ zk9V+yD`fFuf832Zoc9&iwa6M8E3%eUZxhqo)a+^Ye@*}6Vh67;nM8i0o@)Il(%a%+%E|#et%oUnF8<*0 z{o!Buad~3poLYGlt)7;w-c?zBuQvTPR^MxhuJ`5A#NKHw(4WMe(3&E-pA}i8KZ`8T zktWq1K96GMukEL3?Wbhnt1`XdL+|OPN7KveF}<{YXg^iR>aFGr(g!@D3oShM>%_eL z{y=`$IO2aS_xcw|Wq3DWsPR+=T;BsJ*n1uUhuvQK@$bzRUh}13`NO~0EuUc5ZNf`v ztVsUOSvceq;!}6%Z{ZI+;r999+q=%!7p(k4zWt}u3p-&?oG$bS|0z3=?rpm3ci~0L z-}fwkF(1>|d0e!+Z!P>4GLOi*hig5BKju#rFVb@L`iFW8{_4VmKJMqlT}2yMLZ^#6r3*wBN%ND_X7+0SRa^emSpL;o{xz}u3;E{l@+}Daxa)KKe)bBB_jABnRhYeR=lAUWsKh;=?`c>)sFx}#rXA*p^KLz?haPD6uKZ0B1PpS3>t;gU2*Z7JR z{DU6Vo6_>4hx0$ur}prCl*C`|kN7sS@T#X&rYGj9eI<*xD&u1uv8~ym?(%!CI*NZN zm%O|3JG^QK&pVrbxDPV7rUQCY0uDa>;YRq_jd0*2{lLM8Kiv54V0{t4E(F|OSk&-{7o)j3UsQt`8#bm!fSj58fyMX-w1IR>0Xf~ddk8< zKf=MDhSC|QD^B-&7XMcw`FDcFr|!hueDBbW+D;TN5cW4?{J)O*tG?jxdH!$fjd`wt zzsp-Q&)<{vXXEdc3&-nK|0O#xj^BH*w@>Z#zwZ`hzrVj}KePW(kqMn9GNsE!7U?FD zJP*XuzfUnkB%ccwyg>Eme=*B%*oFG>y@dm=zZd!5O3_=id@e~o!+yxR z>c{!rLV1se-_f-7JmrUZ=2(AxKBv-sesQ=;>)+^K@!c6N_VW2q`~Fn7@aYfkfoJ-0 z7=Nd2`~=<|7A_tiV*H44qW&%kzqeIi(e&}S#Nv(Z!uV5herMHqvAy6a9(avS2g1j{ zXOIr~$LU1+V!LDe8fyo}yU16hcUrD|Fz-kxu0QhjsGD&!ge@;FMK#KHs13_x(z{e`vq^t?+pr z$kvB`vheTs)_w)^&ybjhMty2X;$H6fzHZE0SGrFYdNH33xvK3;$GvcnSifs}liIEK zJ@B|l)&u$e4#S}b@yGXiBVI`G;P(0E%L(_b;~vZBSJnL8)Z)QLtAM4kcdauG0Wdm>S+9D zZCw@Xzt60$dUmw*?rAcgo-lt<#p{5+-oYRDadeV!zjV#Fymji zRQ>a|XWeRcSv`UKDoY3Q3;0)Ssa~WD>0Gqrd!8&mlo#Ck9uD8DZ~l7kaY8>@J-maZ zACDnl;jetYS8=G?1Ao+Sv_G_C+_zpyYP;fhjpaS5l)yuHv^&T#+i1M-hwNebjr##& zH*m?iqxCfGm;J)*Q#`zj274=o`_{t6>qOWGi|~*?3qPTyZr1*94Uq|L61jJ( z*PUkJ;{C;Fca`jiosb<&f6Ui?8I|^J7i>N_p}$&qqziIC>6dw3)cj8nnNV+YV;yTy zJ#Js`h8mtvPq>d(!=*IJc+mfVx#Rfj##dK=Y_GmQnr3!a3fEZu->&EDZ$gvIF02PP zRF6N;~mx=$4M_3}H!vQIUBHuJfq8Z%BCjyEVrT-#fjhjPK3cQ2PU{FQ9z%p0u&bcudj;E5dUhr`*U6IhJLLVmGuAqa5qT2HI@&xS^WAQLPB^yQ|&3z#_QIX zU%LOo_xoB8Lq4OPK;A9!CG>#hho1-W{eS&j0I$Ty{a7l){sN5ef#=a_8 zBfRJAy8TOmmR(uLv3TeBXQ>zA{W`TjA*3ts=5-ahuP&sgl7AjAWcOOa?!WD;`2jcb z1Nnn|P(6k0ow2oU)$~-7+8-sfsqj+zi}CSZF2=X$|Fu8j^IF^Mcoh3*fWuv>|J44r zD(gqVuhh@w`PJ4>)=+1$GxS%no+HJ-Xz}oPRm!c(!i9bo;TFg}*D2{favm>A_!6CH z`Qh#J{oCnv+`iw!cQ3B*njW4JwS2n5!d04|&f~aGt6=ZUB!v8&*w>e5k*+uUv|Uw^ z##c@Et)$^0(E{y%j+Q?pzAG3v+vb)HHdWsC`tz<9q0}|~%-Y~-^<~#o8Mis`igt?<9hvj z-D*#P`dIo^hJO13%a6;MEb!2f98j@$bFGv5#U^**E@ z_TgP?q+7p(DIH<<_B7ewB=S@FDP1BspSu-Vq8mk4(HP@neOLWc^AF{Ma)4fhgB$Uv zJ^cQV#q)ycM>|A%{x09=gx)#B*N^btV~o$f!S~Nadf)UQJnT_BlC1pySa(YQvUssy z9qC0rsU5|v956lsPwffy6FAB*&c|49I?Cry$?~&`Rup%&#aBb?i@TP#64@jxH=O7B zv*4k>i|ccxdR`wc^S!1oo*#+VLF4w0dr<4g%hzWy|A~G)Z%;@M#`W-5cX@wa2}gd! z^%M0B67i_ycL;19`Am7oF#O(ze`m`l^$+hYps5LGhJFlo#ZrIw z@HtDlH$SCQ%#L$SV!jIR-2;!~zexDJ@6EzhvIqSV;@w2%A5$7*;p)eWnO(2*y&=B; zdsk%mojJ+EtG>j>_bI(0c##%}EK%VO&A;VECbX8wz}rmRCEC?^$Ul_{bv0beGq_Rj z@H;Zj=h%Im>B&nzr;x+>JtK3!YwxW>Kk{kn-}U$FmBLF1Zq>`@4J>?fJ1_a5xlxa% znY*3cBM*CCHGQhLK)_>(`@Vs{Y5L;!{kh>PE1%2%*5Xa>)P8%(0HZmOf(YX9A z5bB58o6@$Tr%3Hh-|zD;QAep~Rdkr?(|1An+_AXRES@=XPdnaoP3h!_4}0SLz&oQz zKk6OQkAAJO<5u)%7_Z>>SKRO9+d+Zy{c^b*?Hu(?^@a8ddt-_Ei24-E4G+-zuHzOy z$6)z}aSZfbV7SWgI|%FOdftrZmyCySD!Cu47svc-@W=aGjSGkH;r+8^57hJ^em&2} z_tDEde@gm2!226~4t6!|zZ%D@qHSf~tvZ`8K{(uV9>3p~ck?-9dDpE-OUr%#1&aM2 zvwVv24TaD9#6*@%PnGGZrX>qk9)CmetS<4_Wbq-NAu%8C+l`;^(Dsk{p&;|~2?csC zsvkO^U$A-o0?ifwggz6Q(s#zMgyY?oSZcl&vhO3}!TH|2~ zT=bV{7m-z@v`sk|OEE?lSwal9HIpHH)RHNGl~ubPH*_4!vr7m2LR>J#e04)$Ik z%BOC<^7;O$gya1WqQ7A0cCl`qQdhx4y1~Odr`{`;m>!-_GCu4DAG~)Zz9r=q=mgQ9 zP(QP`?aA6tA${mS;J(s$aOdk~fu0q6_kvElQt%_qO_OZC@Hbp;gR{asaNpG>aej zy29sqHw(9S1*zi+?uU->`Jd2cB4an-i)lFc7{|P}y3V)e-Q|3YBXs-_elIn491+id zVH|Rxr3>d|bzYh8-LQFO^uv(H3ZKWp77kKzwac#;Tx0&=-zaYWUK)P4$;l#lU$Ff? zP&dC5Ho%u3-y~~=G zJsN*J&yM+cq_?5;A)N?^d{jFVT2bN&=hNWc*y7(=WSX73MgDcPaQS+{`wYx}ly9YS z$GCDm`@PywdSL&O#uwXxe2ArMuk&XITlyf8p4e_J=TIL}9*UROx41lzuDs;mjneO= zbb{HD_b-sT`8>M$Bi^{4gLj_rQo7FgqeUh(!SH8A7HPKme`x*->vgBuxElJ?d$qq? z&g7~h`P{0xv5#_b%MX0~K0y98RA0b{eVDg`^tkUQTA6)_2jv{sm(8Pez^&`Uyx&XO zInPsH;PatK+Zi8r!fw?c`cKp+%-bP;%n#+=VIB(h#`PC&-B*>^`Xu(n6={FA%byoH z%IvGe)A_^_^%P!}g{y8b9Q5~#^lLg&x+22W4f{~93pCPr;Olp{K;szqf@WzQtJ!eKUIE` z*`fCk^UBHkIzG~UPYLOLQw5W}-}XMQC#4ld76|*ju}=#35h<@A@q0^fKN0Rb-oV1E zBHqvOs$0Ff*o}rue4+n{x&jE`}sfWmL|JE7iuj?YIt&0@t zJi$wJh}`R1mEG5c^CMS?KYx!+Vm?~uMRBi1k(6H|o!_Xkc?*8;*zTLceR(*4Gg0*M z{br{3W_zy?>y((MdEWf-J;46DhWM5I-_6Ar)}iz3rbYV7cqnJMRWH9&Z}*+5KlY0y zr1whlxn&8@=VtHM?@L|}pUac5=S7S5zI-Wr zXB_u5BK^7#j(`8yx@Fw{RR0EFQ$Snd#lp^kRKfah^Xh zys^AEe&~aJkTITj^ZjEMFMc1uU5OXRi+qdcA>;Y%qa~gyo0kmp=GxxFys+vI<4uf* z7Z=xXe9usB++41=As*Hn_5B0A_tcNe@;Hw(Ch7hm;41kZgUhvjA$$+chd8_+?;%{i zKjM41tbBl9D(;lDzbeuQ^Vj=V`CQXrjSud7&EK~NAJ4&dE)@HfwS6Y^km=QXTJ;`N z&tI^DwqNl5ce1X%aO1rQe}AI)hx<&KujhBx@6>s}NoEfuevjz9K7O~9^OYC;5f1eu z?@n!kockEi*vJU3qs(YgNEk5Ip=|io?NQ?J8yUuM$t|C+`Eb_~P~z+YNu% z9p@|ZL4T*E1YZ4kk<{K`XG1(q7vBq(YgchT!yVci?l-{wK`QwdzRg!QmX;c+%|sCg@k3@0}F?0<|?g`&)R8H_W5KeYE)VypZwEw{Vvl zeuLrhKG4{W{6PM|F6>K+`@K6&ugc2vM{^{<`F=*p$57u;PAFfEkM}cJxj-Vk*0=KT zC|A@+gqvjc%@vu@7v_dP<{ePa_5Sj34h-!8@mI1R@k1{p`jtOg{%q-q_uV2MtY4r% zs2ZpB8t!=gr4qjT)%txHx2EsMQqp%(!n*;n|I2n?2JBc;3B4 z+H}4#v-Wx^oJAraOpYQ20H}oyK zU4(VTN<6eP%%|Zy0g3#^`cB@B_j^KlVciBi$avfV9PMqqrOVf6e?CRai{H}_cberV z_CsiXtG~}@w68p_;TEM2^(7xp+7tZI zesS*$#?$>RzQ-+J;GSac7cHLF*K0jf$@4Jmmi4S0FQMnf&FiWS;3d%)$`g7O=k-yG zPxWCvg4e-J?*fyD7!T!(^^Qus*gtlEW$hCZ@n}EK`>EtTEG}>9|3iPjX#W!ZYW6l6 zuk9ZBujf`nd7*z-e))F=-x1iYuueg(aY ziz8mdx43q%Z~3*U$O5f*n)Y7}>8ZrqP2N%A`#4QsLwaI=gx|yRvC|UjsbpUqUqf!_ zsZ=fv)yp?*T!Q!AP!BX-KHnhqJ+X7ud>*9%ekDCiiXUS6jCx;54}OHB-i7aOC^fWeJjV~pwS9tF>v`3UfC4GMszPR~^c#pive+T#+ zv$X^KZh*u)f2ZdB`S(ubM*od)mE;f!hk5KUZc;q-qX){pfIQ!2_s;!Kb>C?D&{+Gx z-|=Ss9>?MK6Fi|O0v+zAx?p{eH%7jFTa8Paxup-7AQmu%8Iy+nCqVcpF;0sz0GU z%&p;qJ0CvHct{^4;y=Lj9A;AQO-#tyJ8HN`aXGsu6!%#+Hs08NeQzrvZ3ihGW$^+( zS=<3fJi6bQ?}fY9mtQdp_rKjAzen=m+bdk=s_R!%n?Pm}UzXP;?l`4=|9o0H7?&9?$^$@eobXUS4Qr` zbM=Gw(~EyX_eTBUsm9Cu^Zq{D_Y7Ql0dH(SS*ah4@qBskzAfu#@_1-Z+f3H+EZS3^ z7s4YRZHFOz+#bP$MElfvQod)w-oMq~F_qKjOhTQP>H4^7^5#Tu-I=M~c17e?Z5>&;1|vz60FK;`n>scFwsM z#S%bK+C`$qf;H+@{zi=@)`(rBB5I5!sEC3+v3G0)3wCVS5mZEM5lid^d+#l3>?KCO z*_rvBz3-m;-g7RXCSL;2dFIaS?Ck7peYeaS#CPnCmY=%~qP(#F42W?X_R;kXeplAy zg?e9W`WDag>Ut$>Z$d`xBHJR9Q6qA2!#4>J6iWscNQ3? zBEbAu}zT*KgI26r(yWu&H$^A3kk z(fFXxtR9WVdt1Jj{rW+p@rwAMH}X@&_n$&XJt@*RoL}QR5AO!#@#1xZ_T`{{7k?-B zvie)3Ur6sU#??0-Y4>t4p@k)WN-LP0df||Vd3;;w_5m^fb@aA4=HU)HI^rokrd2t8 zx37ZuZK2~w{I+zrPU7&k@*o#>$NFg==Y2}c_fX4sKAg`veW2$|M_4%ebLI2p0{QuL z`CgcK@$s239(vvFvQl`87z|NSjyYbiA2lNRhN7otI-@L8+y8hI~zft5Q zbe}->S7PlP{Vj0hC!{0%X-nsMfib;qcz%4YJ(q~@lDVXwMb-BZ6zBCA+m9{cdtda9 z=_`Q=MN^zz_?$mOSMHAP>an9cTE||cKCJEi&OPF4OKP2>+-WHh9 zX981^=ki^?S@Vzj+f~L}_=8PtJkF}~%bjh!0i4(3BYn^n@;b7GFKqD7udBUwF}RY@ z+0WSmZasqE8#g`;=X*JVC!~B4ZDjl*9r|x+@ponD%5Ov)+?7v=A7SD9?636!dTIS- zKTi^#(0RsJMA!G5*#7|650?*(my+%y@%MrF+x73Dny^8Mxy`pw^?ZDal54H~F!rS6l zci#r~F?;?#z#n7{isFa#%W~<(1i5*A_`MS2Lpb0$mcH)Gp`N7lrnKXXrnD2!)n8XH zT>W+R(Tyt?&Ev+`jP5gj)Elj@2~Co8(rP&Py1ni4&+llP9v=&g=wA5_;&UPL-QoL% z0ist#0}Y1pV82G=Lr;~*?Md1LzvF0nbynUC$v>a3w|)@!WYgeLItb^)bc0KLg!2WB*tI-@o2rHMm7z zH$mqm+CQaqfaUXegY(P0ueLn&9Cs~!d)s$}zOYlbhuhD0O96f1^W6E;TKR(u=%JmE z?!PPj1}l$Q)f3|i`Z&;>Odir8rF&{4>r5Ed4PcHhC zP_EL8<>EYtLf+~6k;_5rWkmRXgxyhZLC3fWI_htTLw|%1nX2pVAs^`A$NC7?Q@}sX z+TncyF@KHhdxqB;Y~5eyPZ6DM-v>DN__VdBw+y;=;O4nQ?0f~{ePQXe{eE%%8}>i- zdnKZ1n)Z`859;u?^0b|yUB(vQuTLUh==VaX>lpkV^(Wfi5w1AT$HqH4@2d!ms_Rf_ z4=&v0u$$@Spvy;Fy2Eu}C#HprZ=mt1T=shdT-upm@6vQs4>$kB{t)KTQ*HhHG${w1 zv(0QCS)#i?b^4d7S>#q|kfjsG*K#S2UldR6n_7DO{VM5|s_CGeUUH_h3!hJt^pom& zGprl6Ek|e1?MzQyNAu^?+TzY0;QOQS`+FRa8$x_ff{t|{g+3k3gHd1cT@-##)eFaW z3D*0R-dE_zR!+Kag?M3lMf6%eoWFy80Cim8^*Wm$qr9}A_jKF~LH+=hpU+>&_Z|D^ zmv^6dT(s}KqHsMI$Lm)O^7ZZN#+wqoEd5J)rsL^%ZG|2XIZahL$PXaSshwiwaDl-) zO<&mO%?Dh+7t_#rbzSSCgS3AS=M^}oso(#8|Ga&A@w@{4v|AT&{k`_b{yaFw3(zNs z-hTZ7;g}y_{(7_J5Ay=_H=wKDe*FpY?zec52fHjG-y<<;zkq!JkK;Zl!gbyd)2k*A z^9+P*e)*hnE@?t-jA~&Hy4)){s@ff=Go#O=>U%!~fIJ_VG<#Bu*ANjdPa6V6L^gN!> zW9`y;fBPnt^QMI>jOkOuU3xAZymOE58SKZWw`ut5J+$5_JD%NoCq+cB+fxcckj z?_%-m$^D(pJAtdb#`l}vnP2O}X99Ws)4un0UK7)do-Q2i7X5rN#J#``572Vj$n*~H zP2*lZ#x;y{xNnJj^?;BY#zTC(zX%-s`fgW3L*?DR)b`mj>irdGi~I4dO+S=Jqi|P? zr*hidb39A!)p2@dd+)en{u-L-!M<9bp?AG}Xu6r{U$XZt%Jwc zs_7i_zRQ11BP}0_M+CTt*oXZ`%6sOZdw#@2xaODdZ-~6a?hmJ=`N=H5CChJ_jupNN zohz`31`K!grJ26mTkB0{<>~vK6_e}pT~D5lLm8DNeQ(F^f>+F*O=iz#li$Vko};e5 zMe_CixY}}3yL73_ZL~guFJFInU-4kIC;GL^#ojSpW92kep!YwA_EOJoKUTT^yVR4S z{QjrayMLE@UDUp3wY`ie>35;NL&tt~gZd3zAK_VxfRG1$wSK@4I1xeY4*d2BBXFvA(o(0blt2TXddE<;FJ7 z`}v&CqxgGfV19n~p7_JycXEu5`~%{91rYDRBD}Lu)8qGaPEfxxyGVXhdk;La`BhPP zM%b_GSPu9~bdbm|)1EDw?@(VYx0sGKyMOdGcRSnE-DWoh$U1CRjM?@&D$dZanhy@mcM6w4D4qP};xLjswb<+IW>&KUAVF z=VFi7;|eImJkz~7SsQ+iEcL}B>V2WmX{x4OvqaDQidPu=IlKF5Nl&o>ve zjpyGj#QF{RvEQ!o^3GC z$M>D=Jk6iY{|a#URYSc!!|aCiu-^@+`_&P_p9|7gKgGPR8|aJn{I$tNybXHk_x$}v z2Y%f_YDeH$Hy+CG)46tbyU34eiunVEe0QJ7jl-HwN|)#I!G3@RXMfp75AAo4>8Zw0uC%eNCLF!G0+Gi*Ik~g)sELiv2?eUAe*D zpu-O+?wRA=BHVjN`nabaLdZkEf_ibL-N%QYIhDijWt!f3IWdhgI^^ZU@t$i4eSVhN zUH#iYfAk+A4D+k|tXi*Kdk*=57sW$4YWeUxgjTM3{kgvFuH$D&hhG+@`}16RKHP(k ztp0n5^Z?N>qC8#uaOGY-=VtHLoox2j_7GWn^8QrETln1btG{IQd#-*vc{f?Owm07& zgzXpehwI*R`DZ_L<{!V;7TTUcf5_xvUW0hA3q7Gv1@gNB-2b?83d7^OT)XCRRP4<2 zTH*KacqxBG@Xy*+_-oGvs9t;?)b!K!QGQP(xR?6QmRg?Z2cUNmj_)-|9%J2Q8BHoA`e{Fb}&Xn8K55tT-wI7~U z9P-x|`|-X4>*K~FtP^~*kEV07(0Tu9cis1K-!ZPf0!MyAzOa7=AM90B4^R(JUq3$% zqaVXN3NMTQrMOyum5z5L6FPT@s~0KVBQT?<1eR!jfn_>XV1?cg*hFVrdE9FI+0X;+ zsr`0_b_3|Y(-0r_9B=aRp3$HUHGc~EJ8h`eW6*CA{+JX`s^Kr$xt#EQySq%jrh{|4 z2|Xfo_Ajuj%E$Xr=+BV;vlc(Z(f{2p`aw_rZWTPGmrZY!Pd(`5yZZAsr{})MKCyIB zAB);6!W(V(sBegu$LqH@jaS46I$$i{i>@DSKfN%Vzw3j1L%-d2a^=L|HwFD6-YG#k zMfN&MtGA$Io(G8e-c^UH{XxIo@~`I$BKkAVLC86Sm=?5g2=gUC^k={UasC_o z=7@iv^nWoao$vRXT);jyk6O^|p!^X5;yVF+dJaPMbM*}R6hWMu04z$U`OnTieEwIy ze=)yH=})HLBBEbRpV{{qa6Q)>(W^#(T=@Ms{kGvsPv|9+2l$S?_lI|!@vbw@H|uwJ zV)H?MH#C@kLq5(^E+Fp&`F#9R^!D!=)eApzFKr*+nV%Bi>L(&1hr4=+{cnVa{B9g} zw>rzgInyuC-*IcR`bJf@I-QjQ+cMTTP>&qH1(+*jL~(mjs!e_DD(&||XXgZ+3I4C%nNzW8|BKKLA! z**`r0i*o{6zP{g9dQ8(KJ?;nW-PgYf&htcpC3@BL0slM3uYCOOv+;uu{!6qS@O(|e z!N=t_PTRGHhdB6a-x1Egzsvq-Os{Z$U3BiGXq_MJ72$b2slMNrr?a00>qoGTiG712 zy889Qx@Saryfz(_7vw2k#8*piG(U}|6Xx?+>6ao>=-&^_(-H0=@)OF#cLM6y6CyvQ z-M-*%g8K=CV;+wBj(!N^E$H}8LAc68|K#PVJ|4e&IbA=?r^o%)D%xLxj(Erq`uh;C z*T1)~uh$3ZAYFV%)sx$CIG;b_@xYzSzh$_~SD9ef`Sx*mTpbtTj}rO9co5>~$1z^R z9(1?1_cy%zOXye4fCVvd43J&^(M>5ors(?yuPqYJvkkR`}zvKcO03ory;KXqtVYsbb#?IUqXiq zp4QZJ^do>MKaJ0RuMTfhgr zh)?DCcQPUWaO4=v{#&((kZ{ z-k+}H0ops@Cnj$-*`Me4*AI5(%YNYxanSGMVO)OxNDcqS;&s1AzdNu#a=gVGV{n(_ z9Y5a>H9n-XoZtzqE|B*j1!govAfG3ab;dG{mi5^RjTCwlsh_=O!aA1fEb-W8d4u(THor$CITbcp_f}PiwXKW==8tZ!a;`~sEXjq%g?wnf6H@tp9+9W}`tqHe z8?4=LE2@W!Si4(RV6FU)=|0_1UybL(VFy6m--Nx@E(z^xdJMF8E?{ru7xg-yUaj8X zgWZej=f%=4c;7+3U-`a;)Vq}KwECxbT*aYJQG1%wr0YF=PSN5if2q0-bID2CzXPJ&Li}9e zi|P7+e~R@xt#Tff?@NgPl=|lj@x89le@}4!7%#*T?}97!JFj#3tXFSlpIr~XOxMlw`u$kt&gXmrJ8S*rcO;D-+BL+X zcM%=s&~dwH)SmUqrCzvC2j6R$m&PCJc_ZYfp59@8A@8D7UA<-h^aA<)HGwIeE|AN$ z!|<%S4-v`_@kaIhsrW*DVdqQb-bGCNzop;fAs^PsLwbmJE?@QPMNGdqUHhAr&7a=i zWPaz$&wa=7zLw4R8cp|8n}3(?b?qB+YTNa!<;&OSj@wtg{5LA6QNCGE59bE3uTyXT z8Rv{cxSE|0&~l3jxUSPh)pAET>H%O8z0rEQkd#0BRkV5lxna47c%$_U`k~*xe@uSd zM7`)NAN+(Np5mP!f0y0EeXk`1d0{?7eD2L1zu!My&+NBd(2hRbEYCOkFWT?IZlT-| z2OshWJIyTLbC&*Eaz2{x^}Mb9TbRzQ&R5|#0ebH#c0s!gVf}VEv-u74)v^7&9{G6C z*N6XD`gHEQDyGizcWjTJD&IeTx_a-=`>}j$Cmm038ms+O$Ke_6YxNuJYq*yaLYyO8 zdsjWDh<5|8JyX-cd1H4E&#j9(y4$DztH88+U-c+U5BK$O-xTTXEB;^DAN4!Bj(+;B z>Q^5S`+}NYV*5yZf6MeZ&E(G==l3I2Pww}Ouex7s>j%&S>7Q?MurBwQ*fXIiqF+j| z1MG%#ati(ZDC{G?C*vgi|FZuR!}Z)9?(K&3h`u+z%HcZCQU0{*?;YtKbVMfh?j?K? zIo$29EN8ev_7f`d5?Yh#ZvTH%ff;RYe7NVhr{M=0JXT;#XBj@;pyrR?0Tz3)|0<*7 z9PTP|zku)GU9I(`(RT#(94YU!$$8?$&ad$M^j0po?^+MyJZiYVl8;w>zpJ;@cfJ>3 z>%7Yg&h{VY@{`fu1(xg_NSV5vs!q)>IKf70nRJ!l>Ju)`3dQ7Svbz0M)zsE z=qb?0U(#@;C-hq>XDogOg_ALPb!J|}MHV1eiD;Mc?TzITY@-g!!u6SW^e`+%Px z*t>l?`hlz_KF;GH9?s=sU$Y(^_c*|(ctVK3irHsffeGy(Fr~c&W^{r;zt1<^?px*| z*GG$w_3YjkYdI@laroADpEKll>AHUMVoN`)r$zfOC^zJHip8HK??L);=n>hE1UN+a ze0x=#$3u&c?|eYW0o3--{)i>tvGoIq>BHqOax&UM^ea`zP3WuP+&(1SkE?mPQPtl7 z{HH;0ocsT!=vP?fjmw_+?Az%<vlDIO@xq5wW_p5%u!~VG};r?BUJl^BVE|*f4H{4S+fVqv$HU^b8`Gnp^fJ#4=ul1dY-Sd z>2;nT?GpE{mRwKgmx}XzdE2&lM5|BM{%vJ}I6q!|pC0RfSf32<=cC;NqWzDR^{|M3 zY3)ewm2y84^asC^a8E}#;94B+<{NL>cgwFYb2y*(IYIja*eD>@3C;cA8yEV?<&QAI+56|1}zCZMCpU=N< zrSFXK`&c5UOj@3J-;2+Y=H&Z$he-cYvT`od72>D0V&&uK6UxW$eVwNHM!QFUkNJnz zpUBGH_ZR4ITzzo;g0qin$FPsqlQ!{!dCWCp*Mz3sZ1WrIpCEVM!(6+J=?1g^liO)J zu0L_<;JsEycjY!+`1l<%<46CDd;#kHXRJ>p_C3YtdS%@vBl!QBc!ZN1(^P@*>lG8e zkCZ>9yCj^?FB;z$EXVbm*^vsLVtpL`vg!4n>G`=p{thrdG)GR?{<8T&tv9PbsOwix z8~yVIHJ_WaT$kU*@=-FsU1gfn{B&Xds{X_3<)=jRT0T}37}L6zzRPEOdcZDfM?Ozy z{=jCZJzctayYcttznNX2--=Rx5$%X_EGYL=B|M??jUVOyw&A_+*7~ueKz;{EU`iVa z^!*X~mk@q&kG8XoYIT%&EtMN z$ot_|&zBa+{;ez={xsmf?^1hzNagW6?K!@PkS?Ic=YGokFT#HqzN^D^9jt>RTyei{ z)+l{T(<|gxy1%D=y42H{bbpb{+v@FQ24TO>Ld>Z_tUY@sd}*A zGSP#-r(`~x(N5QCJAbOTj&C}jTjeN~GuiTgm*w|S!(TL9 z(~s$M!yyk4<2C$2Y;W@+9k={FJlI3!vHvKOhyE{&k9txBQLek2pQSwR>x=VqDvyULf<$U(cB-p|#8)cj3mbf?JWdu+1KUp9Z06`CjTD~|XxOb__0g#KDC2_and z%;=ZmC$d!aZyE9{Uut|=C;3XYuE*oO>8t6*wqKLbUgn<+>8jrRy<_?KN?@(MATL~R zDOwM2ln?$N^`2Tnn!evxDysiK6&>rRVgB;^6z^YYy^Klg9lsYdUi%^3li2ebhx3f` zA*J^a7}H{g!*2)Tt!&}zTKLw6?_v0%Ih@xmL=gpfpG`p=rX5k`uj~(i0_rz z17kYX^qW2MBKoQ2+_227*$MaCIt!6+^_Rx)CLgKuDy7FXpWVL!eo4;m{BDNe30>PR z9d`BQg?nJAN4MqTMOA-}7++AYaQ^IX#^2d-DfG*@#nQS?qU$9wJ!W#l^%MAQggyvI zyq7JWu1EWI7x3Zx6R_SoSQw7^%|$j&>pa){HNiSK&Wq*46FO``&8LRPRUGl~jyT@2 z!Mc&7yZ`TU{@nK|^Z=!GZXE&gKtK6dt^Y+h)# z8DFVJUzJm950&frF)z?`{JXorHQzC5{fKCNNjE0=5e6UH`GyjX^;PgC1Ulw7nBQ(? z{P3fM{-Axl_Io!UAL)9(w3vVGXX)f|KYzz}%qlCYUqxM~!+8Qg{?3qa^{?R05#{+} zTJJX3ZW6k2PPbl_ivI)mUN87Cf5EvH$LIJpUOpX9PfcEC@=8^C*uU>cFV{ci>yuAM zzw_8{sns`(b4OV@pKf*=Z}>!k3Ed=+zb7ml;|}I+A-vD{UN9K8d-z9tQ^FH^-}rDo z?xX(Bt}(TWzd-i8cC_|`W6jSU#)EGq9{cTlM8k{XVLzQd(Ee$?f3$`EdlGu0p7%Dn zfQuUrSmd8?vZNCe_;#{+pVmkAk7xM}?F0UmEFI_xIw1U`Lr=gWecHE6N=M(M>yJ3! zfO)jmi=?XmTBZ-m2llTgcksy_my5nRhH{?cW32~gOZ=G5GdYS!6w)uZaKxWv@o@eT_E9-}4%7I7&k)>?^Ps@n++8z!ydR}jTP7wJ! zwOu}b50B|i|8s-z>kYpmap~|mtreVo*iP-zb-lsuE8tuiAm(-Wz6E~v*J^JaPb0$j zCLs9GPBec$Uw<<_4*baZt;YGXh(Lb=`7wz3H6Y}-g>F20#`sa*&{HAbAGH00_l!?r zOkWrtKj!LvOicoL%ntCj={Y`KzvOq*&(rlxq!0OFJ(=6&EoAah?mFHkv^>*Yd9Eoi zqYVQ-H@|V;0~(&T8}7=v5jh?4ONCA4Xv&ke^od#OHd9S-{bR@QrC+DrJk z9~GF=DHeacK)!cqIMPx3c>UE*S@qm$M|^HRG>zrCeeEYiZn+u{^#JAnmZb}bdJ7o# zNhdr&ETEBu_F$5l^lpZ@*rB7XGynBReKNtWa6j&Qdw zNv{h^iS09zP_^G zAJYJVwf;22aHJ0ixgkVj{5n$vEKO^Swpz;(Ds#8BLM&N>*>n z)p~|@h zVE**A^$QrcHW;D#R~XZU(moSfo8`Fi2>hFv-0cLi-+aS$zTk0ummqw&@gF8Iq3`$7 z^g=q`P1JY%BI;~7_P0;8^v<^QMwp)p*a7tc5byG7yog|r%Q?R5Pj3=A*q4dvo*eG! zPgr``*VFNuYk@`*|BeI?cKHzb_rBMe=CjC9-5-FRD>q2+?`Zj8Hr7waI< z{}GvI#`JUHPw1D%H`pNjd2J(jOuHH#`v1^S=lA@cj;zCRKlXxKe@m_YXEe&%S4*po zuR7oK^DVUB<)nS_JVanhTMEo*OWUu*c!2V*2eB>%7`EFXb2)v`zhtz(;3YanAjZp> z&~8Kiy^SCJh{mr}ueZlqJv`I$k9i8@?rHO^$zSSx z0{$@doL)jpj?i|{K0USlU>?`({kqX|e+&1xBD+_~_rUsTepOy=Jbed|+qLb}0{>R- zwbiaC!am5)E2C9U2VMVy^~s(#Kk8-kqYzhp{P)rXv)7Ggue%KYribePKmq-w0y^fe zADNtQjW3TUgnbvC*TtmiMK;d^?)jWtmrva9!M-Hs+ejDoX?jxagMF9z3`e-a+IPm< zFZZZgFAyJgy7@h>)?BY!M1E@d$Y>c$59Nz`rRB)$ZExzk!|NE|rUrj6Fs6eTy8inl zqaSYm70(trpBpuLIL~WaFPz1S?k!+F59>g9Ckznw!Fgij8!-I7Q9L5ZEwUs0(kiT7 z&qO^BA?`CHKJ*nb^MtM14lQ7mWWF>z_U_d7leR=&7Er zy+&2}8qViXC7-;mVfhW^flu3CO!JujMSQ5oVZNYW7%#L-7~V(Dqj>v<;n7ptj*(yO zFYs;(uQzf2UHQ$;e6GEKKWrDED=cmoc<)YOOh?#x8RQob^)ST4`uHbV-|*+HQBU*j z%GXoK{hO3$Z2tLu`L>un@LtVghGSn!=NY_@ZTI_thy6avaV4=E-l5uU46p- z8T!+rc3(vAC|xJNDE%;9+*e2cHnVbPmz+?)*`5C)dHMVo+pj2o5j~U}+Bd8hSoeS( z&N)--3+R9^+IxF?⩛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 z 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

  • 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
    !_)ZZG3l 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 diff --git a/WebsitePanel/Lib/References/Microsoft/Microsoft.Exchange.Data.dll b/WebsitePanel/Lib/References/Microsoft/Microsoft.Exchange.Data.dll index 7e84ef85f3f8fa1aea1367afdf69ca67066571b6..044fcdf331504ffebbbfe7cccac7c107b42bfa7d 100644 GIT binary patch delta 3576 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 delta 3555 zcmZve2UHX37RM(c2_z6qD4|J5ngWwR2p}k3kPaFUK~NBsZcr2z!v?8KZ=nkWma-s9 zF;r>l(o~wDG-)abA_CHs<%M^)oOjOqX8vdHcfXmrbI$zky8Z4*`hVScJUHfftE|^T|uG zEJZ9LrM3PH1QEv95Xsj7VF}6-8%r>j;4C3nVrTL-aI|) zPg2q}*3eMWV0lR(iC_fkYlP4%^pGNvSQ#V}D}%ao9^>k~-(OP4G<^`2;2c1iu4m>@ zQ3c+x!#rUck$OugmN=PuOI*pCoN6Rx5X1w3Fa)3%*r0LD4H>j6MCag70IUIJ$(I^V>Q}Y z+5JV8Eb;PAe`UGYZ-XGTS*_#Sc;XMwq2Uo`~!MPSnSg^YOc9a@yC0T=e63 z9*CYyWXkb|2@z+d3mC9AaypRikv%9O9feXn`9yQ67Uvba`t&URx$FIxp0;5PYr zs{EU;Bn)Gx+Ei`ze8#R?@A4@>(q{8wHcl_eTlqW`?4+~Xp_TYVY`NF5ip;j?PV6r_ z!|4tU3_Cx%i5*&$uNS+}GgymrfOM0TRdKim^DLA&J=hN2MJ+zB?o(-*eU)dvJ6D$4{vA4Zd8lk_y;@i9>%g z%dSswisDvJ^`WY=*Oyh=#7ptCbiSvJk_)ybSBoX=F__$yiiqnz*RtDJ*E#|& zl#KgYkQ_2Cf_3}VoE?um^js3LG)6p%RS;)j5{gwHNWa;xGY*+vamz?FI{`0Mc_dhK zuBb}SE}jF9QBv&ILYN;`F2mc9-7B*CD(D#sG4#a9&my@`Sm-sf&@22KJvgsA3p`e0 z(H+mC=@`-has(D|L;|Qrz?0|@GMdJXCu$lf>8To%ln6u;NKYc8O{h6)8A9Di1-DEn z?nY^peMmu5nI6wi_oU(x_^sBP6U!eT)>~V)%?Y=BVeV~9#9Y%XrzBGz#2`QLeofN* za`A|_P320dLET0DW4UXhj|YD;zu#d52JzM$WsIj@3_V+L$anJXGHySdnw}R$1(f4& z%QRleO?c6>kr;e?Ci^QD;e2mfxzme3N1IRO)0@;TDG{6Ava=DAOviOS9?b`%>V z27!a32)47L+%O!BZ!_#yiAd~9Snv2$c;Voc2-3ytiFCLFdY5`>1CF-(B;rl`WXttF zIJWfcFRJvRqMq(Qt4zl4jQQV|xB8=>8U1$Px6HmIGH_gDfk{wV*?H~#E@Ns0`d#0_ z);oSocLJARGu$f6-)o}ZH?&u~J8u~6aY�!WQg-w8{C}XuW4+KHKUWCp*OW-)EQu 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 VzR{}-XZm@!9P7H(UMD|^{y&8xJFx%& delta 250899 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ℑ`Lpc$NF zP2hQBKJt>2t=zF#&F#iUZ*8(ww*WTcdT!3+(lZ>H=Zs@LJ!g(ppz`lveIevOXPCWA zu}sDsh^>LxFe4kpK89HH7@P{ekg+;m;vDGuX5JfftdfPF0fqS#dV;ac5E~eSKH+J$ z3tqxMG{?%G6USv`NIGaN0#Ol|bK=GO-aW`)8zbrr=W;7jVd|+`|cC00>vb1fMm

    9`Ux8jUr8-#cjSkTlvf=s5KyyJsQS3}hx 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 UFsCdQLiU_EMUmjw3R=*=0C3K>tpET3 delta 2762 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 reCpB4;~I@Xrxbn`RH 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ɉ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

    d%M;Nx5}Dcl%&coHWUen>*Zjz(sICQ( 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

    p5)4% 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
    W6T>3Zd6{(3{eLLDPHWVo%JsAn4&5}JaS<)| zwDKBEdVO%({h^*i6*7Lt{j{+4QR?mI34BHt#O=5a2AvW0_J5#SA5<^|)k44b@`_a6 zF+$67sW;a+NPC`BU0$nBR_K{rV$k+H8KoIziH<6B6o(IxKjPi8_v!9QVQyNX^qjs? z|BOC4o`4(_cPPU_1wC#23zLy{!dXZTJcq3I)&5pnCZ523>Clmk5jZOF8+YROVU>gH z(nhCW^li<33W@AtzM1K&5%07;uvd!}rhRd=GRp8i3z^`JBN}6&{!E{ygFa>*Iy(F) za37Jen$9$U3eoelY9mch!yHDRy-m1s=oR(8Gw1++E~sa$h2XezII}&iG|7VgJt>?r zU)kFMr@SmVX>j+>U(i^ry(2sJuq+$!80si>sFVW6%gdGB-vym@QNK^EIj#FkJN&!Za$56PgvNPK&W~Oa{Z0s4j@5v_(fvMpgXa(E-cj8l#|q!`CgxHzKB zs~-zzT4IXp@MZm>U_r6F7@p>EsEvEV!YB6gbq~#0>BIL&Bg*;pY7VzS> z%&1?k#D)yr(?Bpz+Hf(KNIN>8UN$68iNRjUe->QN6ha^?*rsB5RehHvd`W;~BHB4j ziTx{NUQo@SXfJPvk+)blBDOn%!o|Ium$EjU+T$bF1Z7OSxz2IeIdvE)8XWkes`0Yg zv$IES+$0VmwUF>88hgix?q@fwkPmJ0r{ zK0wW$n#A&I6AvOS{*7<};~j(_k3u9?kddyzfq!R(JrmM&!Kj02GZvAbnwM(KYY|ct z;Sv2pc9Xtjp^BxY^G^44&rHsVr_*v+eWN72{?dlPPXRh62>&*Tx$mzsp}b2+xVtND#*Q@bt0#x_zk+Dwqwxv3ZoTw zdVNOv(jGDq8iQo@U31{wXbp6>A#=7k&TbrRJUQNE`)>9dVz52dy2Q3l>`v>`ujA;Q z`+Pbe5n#uXeYV%ca9|a)XuED$IY4*-hvle@Bigm%C z#mgg8?+IwWhv_4y>CA&O{@_w3>?vHJh?-E)o@_#O8N>K_;Cr>b#IDlFXVt2o*$p!L z7G#{6I?Dq+Z@9O2+t^^dP{-r@1bSQ%V^H^}hp`*(?PFu?hI?Fk)WTuGuz0~-sDw8Z zf>}_Qq$xqDJyV`>e&H`DnEF~j4F;3rbK*cHn8H$`s1y$BoEsGd*KrDM0V z5YAyIO6!{Np7uIrUT5yf^W)O#>1NmH|5AM?WoV^;Z!52TMM)7RtHuFd0?RW`(ea(6 z1Xi4whUBhFX@(fj26Z!|r%e3WlhL!SaFFSp%WhpzNzTzhbb*P)u2W2BMJA*WTD$7cm> zHbZxHm*;>%CTpFJgR9d1zy%|NUM#;P3dY0AoOp<~e2R7VqE73UXI08@M%h{dNOs{b zVx(WsJ>~K`wWae;u{jP z;xmv+As-!%xPv}^AFaD6q}o2`=H)JmKrXWB2C%$D+Qm8sVQVJ+zcD|2@q zG}g1Z>z3!(PalpG{gu%@*lIIIlTMscU!EwMAHcbadXKDB59j_P;qY>Q5-0S(v6vp3 z%lPf?bA`H(%w&xP7H+Ekx-ZB+rZ2}ELHu48G#araR)?k0K6W*v`LO7Og*hVX^VS)T zHn~R>Iil;my5bI_nRz=6i&qx(Szt@su_fhHtvVsp*?*MWCp71%W_K&Ie=&kPO z0kw%XFSgLSjk^}zj|4s9EFGpX>YTnccZ%u%`{qDdyoxEK6NdV_{-*UEiF~W-nt_&~ z-lxtvqlLMeQp@16I{B#DaE)o9j?+e%O+tlPyqF2Y9H7pKAjrBipLnMZ3~*^X4zX4I zah3U~;TTX8gVEE@d?Qiu)aB;bZXFRT;=TJx^>I-n^r3}L4PWkW!%I43l9k)(e6#1} zSOm)8xH50`rZ7A$ToJP}Ly0r^mN4CW_Qu-dJez0_-ngtbE~(wCVtL@B?U(g;Bkckq zyb_Q^JSn0kL;$98JB~oABN`>dp$&N2J0p%JF6A5UL!HgV+|G~b*JgB>G>KC>V6NOAn%N0ZLt-^Ft$@!aYo8BLk ztRmypoX{;(mZ(e=Ah3tKe?)LIk4*AYs%!Tshdu2d^#q3x<(r;v;&?fU8O@1=oXi>y z`0(7VXf;|(n`qrK+FShN&8BaL#qSqNiBPcvqZTZH;%ia}N5m{`-y*ftLK_Aq*vS+# zQ-lI%CI-*)O||wx_Fk@ZxBJr^T;U(kP-bAti@$E(%&!i?f&2z9x3=DvMc$(wQG&L5 z&C8T5q#b{Foaq>nD3Q}8e6IZB*SkG?YwuX(N*!nGYFF4fLtE?c$YGWmma3=6Z;o+m z>~OCBlS)gZ#jh{l*m4|*=zC$qX>nmQx8PVYyfyqM`)u<rZTwPscM$8cCB#bfdAln0NUi!CvD`1c^zC-)4tkvf{Ft*m)b)L#I`zU89s_rVKMj zw!=YJRrg#ML@<^oRO?pa;8?pZ^%Bj&49eB6)(RzHU*>viN`~VYRJh^M|Kjp}V%&!# zGM_Dik%nWyPUObI#Vxx;=2ga+b5uur6$aNmC+(g#VA5Y#KC57?IH~XTqfVL6jZf!t z%3Ixew>Tyo@UF5dbF3%~R1yw_qYCFNio&Wy|ItxPrXpH8)OSKz6o^Ygo&-#gokQwg z6;D5qdM8TXD7_NSgRx~)PnB(H$|ZFQ#3Un#^1oCoNG%#e>b;O^R@eda!o$R4`h+9F zea;I`@U-x>%It8~ujWhL-8ZjNq)j-_y?wBqoWE3Y$bUmhk?C`xz?SuxyBDmk-?nukQ)PsX{!S`Gyzyl zdt;>x(i3uRGdqkc3ANJp$S^wFn)SLCnn5#?QOHBOlhM_= z9iGQh%D%I{=KY)-7o^+C3%;omIG8wY@5q&(&HU+UP?cGuRu}(bb4Z_job7nKnb5*( zwJ4GDizu6P##IfuH-V7XRzFR*?-Z5MftKwZ_x6mA)mL&YZ#K!2rh%h~I!bo*IMTu4 z(oWyu&X(~)>QI*h)4$cD8~i@mY-@C{l&i%%ox9nZh?rLZR*b&0+1dcUKD;E=+4-N2 zF_qx-5NL|CfS?*c2jJi$YGN<$hcXpgti=+%O26(Sb z(WK3&vq9W<7vn^{FcDDHnD6LUr#aWuA5DX_6$r_$pxC6YbUr{`lU}?wftZ2x-<6!M zY$<~l%_(J<0HwTa%?aF7T0=phMAF8H6VhuF(sh@xVCXa zPp~<({yndIq(ajMbc__<^B*5pXAsH!)JgBOy-eRCFIhqFt0(xNSc@L(vVoax!nB+T zAv@NU%_7%Ob9&*rq(00(?9y$2CQAiV1VxUSP=`|J zYf)&^MSa>lr%mP!rnk~VHwIy;c|>yhVBb-rrH9j}W%54FySp~Or(T(|V9GYl7OiMF zajwe*DfEf5pUo~1yyNq9Ir;qx?$zGA^@PZ^dqVf_tPf0Ol|FvAqC)SUr6t^FR#A>> zf&NwNp&Nm-hFW#?LMvWl@7!B|efmCDup<|3-P?bz<+}^AI%&u0Orr>=`i{u?QP7au zcPL_sgvMpvPPnWQ@WkX&(n}!2HZ`f>_O9t^Y-JAmc;+r@RRM)Cg|36jKtfgl3(?E~ zbhnt^?+S*H$6_yTJizoa!?yEWg&Z%Tk!o1^g&raFjXg+)zZ(k?crz-3L?&Yb$LZOo zW8OXTCU)%9cf&oHXnnj3S0z|=_Ja^9tYCzw1r8<-x|=XCBO|BZf+TpClp&4XksA7<{$iwF2X#1a zs3VEr%)k_)k5Xc*WP_7kiV;)YrCL#p!44}akguo(6j80(BMP@6s08MvrqNlg>rxn< ziN#TvNQ>XPx#sazBH8Dlapl>D(O}@YDFN|_3w zi(hX$u}zUIN*cu%Q$k*C63TlNAea;{EoJMIY3d!|WGy0nob!BIb=7uxg>a7xO7c|D!!f5Z+}`LXht>L51Ydd- zoYonwQLwdhUB>-Dayrl0LE1m*J9zX|pNB!J16}i$ zGSKiRyg_h*PQti6rtf60+(NsrLi666c1#!(wVPSG(D|d`XiA9}EMa}%SUz#2OK-fN z9)4!^C}prOcJ|m&7S^a;AB~C}fnO|)amA>yZD5AB+#VRN_jK54NDnb7Obw24D0{^^y zi5uZj>^WK1YFvxIf~QSz85`%IsRLDB?g*j-c~gF9D?BShqYXcl5v&{l#Q z^NvakC1EygkHTch%i41BG4Dh{@#G5<7QQcp+tEE_buoBSJ>;nSKIihm22U|XesSPu#Kfg*6?kxSTdbW z2z>Sfs*Csy_-a~&!aSzj$Gv)XMrFXWU-MC`*b3&4qI4U^pdeCW$DwO3I+Tu;DUojM zXNl|+Qd6c{s-B;^k)9dvTgq?84tgZTs;IQsyLcllf|=p?rrlXqM{G7+%A5rE2O>k9l?O4t%~(4et`+W8rXD8h8?L9 zm>55T26gfTRneyZ;+h)>kRW;jok6>Y=2BGK(dccn+# zcX01~iUn4*xNRoCmp@DoIJ0*s+=o)D)(7DfWc=;1Gt6__EIYMW{j~2<-MuE6$2xIF zEx*t)xHZa)-s$J{i3&qyj=Ibl)x|E>seyU5UXAwWb8zERp%lb|81yi$cWGflgUnA0_EZG-3aHr*pr2~eB*5lNf z1@*@~!_Q^?2<_62GZ`yavi>J|Lg_RScL%xt?ST#Y?w8v6w0cB?6KX_BwW*mOV1W`W z!nQY}``hisd1DAqG&!m>mEKdI4o9#-gVuHO6!?O2oTyYiQTq{iH16*P9;YZ;HFlg+ zefn*b-vK<#{50-vw>L%*O8y;pK53+QI(TV~`+cm;<+kBMjdFl@{24|@Km{Eer4F*b zmvFl7`!SU?r+Mp$0;_#pS>^TN}s!}{ugHP{NJj=0azN8U=a47U1|gr|WB-IX_B?R-+dILGe1 z_~pqQW#OBpe*5K4c=98(^}&*AD#tz#*A5(9%=#FOfGnR=k8rNF&87SfVP+zcDfD`? zbS>j)f8YWA9_=+s>~@I@!ZxYx$Tdp0Of;Y9&au$cK*W59r5{g{^!b6`+YQ`+Glsxe*Xr?{{$B<&hNZ^2IIfkO0MEys{?Om?dv~NMZ zc&>R~W5&0Hzf3vgmC+1Gfa%CZm0f-Om$u?_SmN@Dp8J-AN|ERO<>68ZY+k0WWxhJ~1q!zI5rL4qIS- z$ejF$7iBNsSNn_rO=kRh$*Vp=oHIxG>uIf(LHgrz4vL~D$${VCV6t7R5myhlj4F2BzuF&}v%f@Zkiizcwh)m){7#!L&BBq!iRQ!fm2Oyj z5lfwl(kIcA_&rksVEgb)<`R!EO6znNk+z|fH`ca5`;2~M>Yp~M>Yi+w(Lzz6u) z9}<^dDw3uRHN#uEZhE|wb|hih5A?+}9Q;|^6lA!XscmQ$-UMdR`^cfFOQ;sFcGcNQ`2LO9B%lZ5xKTYN+VV;{cArh zTQYpU`7oS5{TyEyR=3|bx~~cY`wIr1P`zQFvZnYjT;Z|uq^8M&cr1>>sd}qk_&&NV zM7TYtvby$r7t3fyx6jL#@xE5qW}08FO)p_6ihsE_)5+yp3QR&lo3{#YIUgQ#n`G^S zwoTd46KyIf^`k#?>VqNi>+m$wny)EO`nhan%JH>25MrzS9!s=-pB(l)BU9pd8cm21 z^xUK+9oU&}aa0(dFDqHCW60)`S&6)I_`Z}ltCq-`@fsdxpLymZOfc}^$C{1%9AA=- zdMQS|0LY&4NXX{8Gx~;|Yz5IB@u9tPq7oo;s{w0z*t<7ayn(%r)$Hhzl7AQp!}IMq z6xxlRo>Y6}w4*P2pOaKv)?II(9EO#$d74X^TxQsjXB-iHjXM5w2A_BI-J{bJcuQZJ zH(tHcJ5~XcML}<(b&Ib~CdAw5x;C1*ZQk{FLam<=Jn3Zcs-Ze3j)TL1?waOoe7xF> zzT+!44kpes4JXvrte`xhzqF6q#6e`};J9Yn?)_e!>oAi~^EfVFd0tp6X8(eErQhNH zT$eK{&gk#7uK1`-@wMlDjQQYgVybh32P|1;0>7M1KbP^44mP1MCPu-)>tHzzg4)P) zp`P1^53b~u>TbvV-7i`KHE&!@hnoEj_w5Y5W=T z2h={Nr9VKqy-iAVa|dUJ%m}xq#82?`+oB&4`A5<&wcN-i_j|Zkket#OW;^NOT5XIX zTleYjI2e5vxR70DO|i}#UI1n59N%H#1kH0;HOzPDfac8JMLmy9F7V-*TveGtwsS9X zRiqW|<0vBUuj$kJsK&#=L6ZDg%c0AK=E9cK2Cwbmy#Te=HPnsVL~fP$eLj%!dY|l* zTW!v0(yB2E#ZId{Z*xd@Hfj58UnAgM#!Dn!3l2xC%n5pDEwJOx%wE%7q{1c97HELu zjPQ7!MKE0G?UMhY|F*Xf?JyU5O#e=bSI9Fox9gi4o_TW(PVA@GGf;hcL0o!O-*``0 ztOy_iw@ya4RvDg*MR@F_uyR!6@w;BymbJ`Cy2lg33Q*nycit5}*2~@DDr62Gxuk2M z19eZT-Yl}ImMUlN zzdYb&=h27zMFY|j`X?Qaj74)XtLJTF1AXv%tZFhQc%um#)mj7oDlrHgXWxO>yxGFK z))`?As-QViet98WJ-R&HLJi)uo3u)fh>5t!CRhBVMM`C@T6_( z8Np1(ugM#XC&F}K1^dM_v7Ugl@;=kP6x}PnnH2<*qL%G24+f2RhcTlT|LcIx@SI0$ z1ddBREq!n=HIB8tk@Ff8-m+JP#*6|yhCc{J+%GMlgRw&1xL-V!(;8hptK=Hkw`1!0 zjIQafXEWuls8xJ1dwSP0UYhT(a$R8MT{~DL&MtzZfD+Dwb|kngTZI$Os5EvS-IsJ2 zX6@gw^#e&uM1imhsJ~)&m-0=8(M{78?6}&i8$H-q=IV&=8(dPbbtLeqK6A zBwivC%Zc;5#NJKs;*|P9dtuMW4wC?!$s_c;8{Izgj79?E=~(cht-fb5-|PFMP~O%Q zjD#m#@CYX9Grbh8{Ct+qcAX{%2VX;5{MML5;U&G6i=PvGo_#JfIHjI=qjr|YIUp-s zf<9y^du^GKlREn_%2MN5@|LChg_X4Pton7NUen1VhTD-Ne7LqJ4V4&&V~pA_aosu9 zg=@K{qixul991L_yb-em#<8YzqOBmklV@#fi2cELdrfu1`r|jx=-+8-?JeVT zu;6_hQ;k#b$e!k?=Vj%Z@_Mhh4&MgOZpRr-9gg3R&cgF%?H2k1>xTZv2d=#?TEuQ+ zHJpwD}Mp8aZ(kaWZp3dZgy&kmQ(2ZjR9W=M@m-Z=E#M=x0tb%%?PF`M`pqV<=xDg(hZ?sZEXu z&w5PpF+S4p5vi6?ysrM{oQx;*I&m4=I^9JdX#KKZ9Nd$q>as(;$8Aoq;;*Em;KCU5 zY|(kuVWhP;V2x;x*&{wJxHq8Go_a z_iJp{F6u9P$X8YFlrUhb+Fy^6jG`h@1NjMJ(=;EYe?HxK^blNA`~&nKc_qBgw4?Y3 zZF$9C<@upT3HTsNt-yoDV?lRZu_Fg1Sh^2Z{79HzVFJoTYpM0a~@rX@4Alm?)75f_zc89>a4a54CuvdZF;+7oNzlH68bmoKd+WKxXlYp zM%f2ONu7+FLwF6%*OL=LU|Vfv7(?w_K?l5OvgK@Zuk{VIX~&pX`Z%V%vw*TES`Ag( zlkj^@M{`}=BX(@;RmmP6vqD4{a0Zg@7pT82Tq3o$-&Zrv-V)Z@dIAZ>zCrQW&W-I3 zf2cd_MI_{mjl7tOr`q0na4oukoV@Jz{^odN4Q@Ldj}M6dc|tvr5rzt6ot(L_tk9DE zweuSFwLHUeK_hf@>Asy|#Qznp_3{&V9c)mBvEe0Q{XdeWLZZ>t_8wgy-}i(d&-tT9 zW~AHShKpy!70e^0qvmn;t(b%05#l0iPxhSPKbJRExKE^jJVMSk?HSHN%xkQye~r?3 zCPZDLV3wPp-41x{6-Amv#7F~}az98G<#LYh&Tjd1hSE`jYvB{% z4P~G0C|GDi6R~(~_OCM}ZUZk4-9U8N&T624>-VykY^m#_{g^%C-P37rJ+sg~3y22= zCi3i*UTA|~{;Hrxr{XoNY*DQL{66e-Ff=H!KD>&)LoYCsP9$NOF5^U_+$)^%mTEW? zeyO!)lq8ZQijkKwUrRL>%90C&_r#CAl9j-25PAV*T2 z$l2z-vi|r^;TsqnO z4b;SS$SRhQoEjXB<=`Hc70ad850*%vtDk|c%`>cBCED|;?CQhTq2U+Q7kZ~{HKWzS z&&*xAZ0z9l=${ajw15_PJ8Lg2Upms(8P4W-UbSB5*vH{+&l)iofxfM*^|2=AjFmS8 z%WIiGk3%~Cak5;XdT8|(|@#Hj{J^s$ohr$7}_&T z;Qnf+p;u?6`5Tk?nxks$Dra$ILG7{{-`rmEf{rmwiI=l9mUx`iB+N7A{JZvb8&^#} z7|ssbheJ=X7U-I;P{#TUZwLFH=N@-Ay|jwg`k7zWvf%N^o1BJf(H6Rw_sqiY*x7Cm z4L=#rGOvf(k3_Q57u{E^GTt|_N%7e6lbKaf{JnEQ^mwgrzuP4lfoG#-ne%}?WzMmT zgj(;3??%IJykO(W?dLg}J4=12#`+NZ5N#O1BtBtYFS0-AV_gxxZ`-C}k--W7Qq|ME zIIroua(qI;3$xioPs5)5jNohXkH_Rp71mRpz4q9edqPiPmmH5qMvb*0(2P-~<9H$X z>z-w?#%R+Jt-&6VI4;or0x4XUSEC$k*9ncvc(MPyc{fH$jTzl_{@qec6dHWD96yl7 zJFS|`zqePFje;TYMBbd7lWcrz%}vcYfjQSYC62*sA`)k}Jv@x2vfS5mFvtMWHqkzH zW8b_-rGD=sG#X|eDhBMt+N)bIGt=)LAot_cBW7rFv|)DkQ4Bl7PmqzbQR-ZW#4jb z;O9EGA<7;okofc!c>O~?$DcDVhps0Rf#-l7bY|6k57+bjqxsIO+n}9l$=1ZU+rF%E zW6168vg#c?gw(_LSm2zMd8o8Rer7lyPNdCPhSx_JF0!Cx^75?Y(?GNOj060Ow~Bpr z{@l>lQX;62w&SvhNo|)|(djI(vy7qd?P=hfD+{0B@4;LYqXb6hB~fy#QvSUCRtxj_Fvg4*sEY>-c7`KMq{du^CqPbzb8xQc)3uq^gFbn^)Z@?y*qsq0 zPt2O1)r_Qj9R(g9b7Z_{6(7g>0U{gnKTRyK{t8~9PI`P^uzp3b;KO)5L!F<&TZ&aK z^*UQebc~|x(DpbzuY(>JjpkQwz0NiA%AgPBlU))uyV@o~B3qkfd?s*cUxYee%C+!= zk#=)l8GSeA@MoA!&TXy&Ui%_oi?tZe6QR4h;B|C}4U{)IvobD_o;pJBZWBL&nKRmK z%TeHDlpIAKCgK^>4E^t!4Ca*z#^A?yvIN1|wu_9lDV6XYu}JorrN7@4XSFkqCC>@o z&_K-1IBOj8!I=0HS02C%^@@JWHrm8ISD=e}M44zn`55^vEXdW_iaxJ2Y)q-ox`$WQ z&wKiGTX_CRcwVu+-#$BeXgFz91WtB>*}=RvY=|Dv+|i>Yj4ZKVM^EdV(ujT{i*C(s zIN0k$jEgVG~4Y_tZiaB82=1bSbeZF-(p{xDYf8$QPwaDsf1 z{4OV3hJ~y#ma_@W&U#KjzP#RQ6uQ#BTwuc3Y4Sb(5}Ase8`GR{+ix6YM_AWI4koXd z$Y;B(mSej$7*V@tc9ms00A*`^{*HL-YL;1O@}}q%aS(Zq(;0ek*#M54w?S|#^LBaF z%u#dz*ozY<&d3R-Q3&s#Tf8hBKO+@451(qz5+;xUOPAt!p zb?db^6Ifsc64)0H9c;JM)HqFDLk^zU7CXC=T-ZaY$5!kcyVuAvI=f{b^l8mX;8%5X zZ@11NQY2TA=QvNSjCIzCcl&hU)hl`C#OZCEG$np@oNru{>%>RO>#qlX!OiiQbIDLn z5-?=rZLfx5yP}a{-F8G*_G)s4D~2o()RN`BMm3ZUu(?_c4_9eESgGKPpnYRq|J5fh2=GMH-Dl%nK38c zO8aU(_nveDS+Ta3Beo#BMIJT10G~vL3av3KN>cBdu6S-l#NO+V-mG_!Fl*@(3LJZR z_TYl*o8IeVdrS>iGs(ddTer|J70jkWmTO*;_UJFmG89-yR{Z2uOS3nY0XwZR zy_q$3WFQ31!>kVYKv0wE32&b~QCXd1F2ACYw_|6+MEr$T&v}*pJ2%>^&G8`F%?^d^ z3yx|H>w_S4%dn1-P$mSZR%NwNGyDhW11UtoKOAE(#t_67X3f!+njS74wYN zkh0+q#hB}}huS)zE6)^~n*0PDjnr3F5(+M_nd7KVcqzTiUX;(w>8N~Z+?p+iI z4fZ`*GHG{ZnPT3STvDDvI|qHsE3m9_+PcVgpM7t5VPtxjlQ!ZK{5Ybm^!$yDHdgU= zji-)~H1=t9>}nxT6ZmCVRX(%DyDRQo6?VU((>&vMlsK&NtWHTAF36Hg{~YZ;?{hj$ z$&Q}WXrC0%^2*9bHU4MyqRQS@R%0L230WugPg+sy;xG33t?bU8(pz%k)X+xly{s%k z|J|)WzTH3gCa*zjrbo5)q~eq()nB7E!GZ=eEXwcf@2ZbiJ1sgh-rh^6GEO+>bTu41 zBMp2-xU>&Q{EdHlSWqHmWLweH1FUNG*)aUstJbLs-A@9tIl%|tzLR=--#xHS3#)^B z^5{p`e@9S+Zt86(mru-gw{Xihc}>T=YoE??Pd*wi;x$DErduCZj}}~Y^*vmB1Xf1C zK3qRN+yy85=Ff@x=Y$h-!SFoZ1U^Xv-d`;6u7?EG-9pxAe`aPhh$#dJq>j#(3_=#u#mR-uSY3h?i6jAU@EA@2C^~ zr-xQks)n-STbh67|47AZB{s_6r+zzSv~$e!DqWAD zwnOY^~5H`~GhubtX5=)zpl%UO4s%4p68b!S!sM^`I@{yX*Ea{aTWXEY7)U6+Hn zqNR44ceO)Ctj_8*#(N^h%d8PzkXHedb3p&M>kdYFaCLok+b+C}(J)mb>a@^U9MATm zfv`dxdtOQCr5MxdycuXSZ1K8!8H~Quc6Zev2I!*6@CdNt%!!s=GDE!i_Kl8fxECyW zS3h$Zi}s5LqkQD!!A`z)czkB8!bbII@NOylAtuuf{r&TYO78+4cbzmdYD~*RT&UFRv?>dti01>YWsV%ODklqthBZ-F?ZN0erL(I>>eRSh zC2Lw#BkT0$N?wQ-)SWtZ81}j^_8)d}RlAS6&aE72rRg@aM~XaD z-mjmv?HOf6$k3i{>a2Z%6JRf826)JET)962UacY{uQR0{m`{Zgcmuqh1J8^zsGtTX zt(9H8M0PK#SK@Z|Jd-gU^t;I|Uexon!&WBpKxdWp(p{YnKc~+oHY*(Ht)%Ve>0vU= zUYiRK)N{%9L4l`TYXH-}r&Xh=(HhobJ9$6iRA&HL<(ak**GYE<&WE23`Z~n3dTh>U zM-HK;L+?o4-sn23Z@a?cL60f2nyk)^(VZB4Q`DGoGrI5eZ|DB)KmWBmFFx_@|M6S@ z*Xh6cFJDdLf9vO8d}jB3zx$2#J0>^xCMVYInB3JH&(|&aI;ID^dJ{XwkN(#WJoDG? zf8zLt9g|0UlZ(IA|NMbIRdMl~{og&-kN*jM z{_)@MZBOdpC4XGfhwi@8+nYa+@~Nk9`sus=c;AHau-rKxm^4;E! ziN){4ulLKZO+dV3@|V7-8v6cHeBYwl-zde@vl`oYhl=!@%HR79ZM;LzU+PVK{d@Yn z)c<^`H~IDN>$ec{^?%y`{C$1CuiwAj|IOzw-(jGC`IwL)+c^-!JmKnIhEVo+p=c;#E!M=CzswGTR*PP#qVVyWLhKafZDYpZT_V9u?&7$K`hL6c zv-k&V)=y51t-oXA)S8}tO-`uoq%VwXLJi+RQ~Ig$6KcvmPplXGxO9jb%7{Oru?{m2|_&{&%d_}eyedk9~=B0 z6ZhP`NzAcj;_eCY{@2~Am@VnQwLM)_;-0l*{940>2Wv%o^~q&}F1KGyk14vrvfiK8 zj^}5SOFvk%e(yT{tpT`QTo$=}Lr6HQHb2LYZ|TPa`tkY9HA_F(D1550DrW*e0Q)U{ z!w%M+|0NNjqhEzR#y=Y5a}d;VQ379*5Tu&Z>;?+=-{i+ zG1j|d*XF@6x9Rb=sdbanw8{^-Y*R*3{xv!6JtgC~ z;&R+(KbkDd-UOtzoTclp)qnC4CKo?Yh@kE?c=waGB(?oy!g`Kf`4wmt9(V>i+uXbDE46!f zv#)7b$_{4C0^OIWF;wW!3UUzZlUO{@`LH36!6@8~K59S{jV%nIND zdUo=_7@T$6?dIrlX}4?u#xVeEBroIRBH(SeO)UM!#;JArx5&SKBPw@s?Q;i2i08TJ zjaX^z0^juDm)2g<&kce_7FybRFHrW(u8Y4v4)5?lI%i@BpiJ!8l*UlY)7vmfY0cpK zw#kXx%cJX`*;<}m|BN2qHh8#Y^Wf2zX00W$)S$(swXKKO5Tc2t-{eD`_YI+K#}<%+ z;k0R=m|E|j17q(3gP#&E6|g?Y_B4A0Qg^zGb?1px=j8O{1YdJslM`-Sb}Qc>_z|f$ zwq+y3TNFaKWQxmDitt;;KN|>?^_1r_vG`B(Ag+IL9oE%97XNAfffFE$_ao^tJ;_(y zl7BEcA-eV^u77ctgf%U$)lx?+-Qr(aC)r*6E9j0T?AaZ6=!=?~T>4A-x!ZuMXN>{B6qV`Df*4 zY&$562M_->IXJ&J#t*aplng9>b6c`!v-r&{ z6pP=Syr(yYl>cE7>_;^Ehtus-QAW2m_Nl-4P5BLDJ=usfCK=h9#}kW9xVI5x#^C$q3iCekb|{!k5TNQgudc^>j}iz zA|&wj^Je~~|5=P7$02k0XH-QJx%3%C6?`oHvwZ!%eEoqeDo>a0kPeVznT@M_k-mH% z;0a{clfIlU{Wxm|3;oiM+j{O{JP2gLQqeDOzwx}m;U#B{l?mHZb->r z{|wm69^QT1r`8MOiae}Pv+~|KHQu;~-%nq8REs~9VTho?_? zB#u9nm!*>Mb1u2|IdSybdqj-2_iXEBCiy=Z>p$aidLxwlS5nny`T2V$(m&`E>Bojg z==#^|#4Z@Gu{(r&z?QapjA5w_mGX_#nKnzO?^q|cyJJhfx%l0U8p>^1F~J^6JktPoS?*Z8AY;Rjnk!){!?^C@Uy`Smr?Ct99?oIXf_deabv-g?af!;m6qrH23 z$8Ix^-!{4QZ^Y69;qw6hucf8r^Y6zJVY3i(p^=mrVMGWM>hm7dEB!LP=a4V0X-?M)W^2T>r?S<>Hisg z`^STC|6=g%za4!0?ZLO-+u&BBwTY$QSLmvCCzig6KJeGy+J;i&`|bTZ+hjCNq`MRHf5;ZUVSuX!6m%qT}y9A|+6c(ROEXfO)So+>tS;(~Z?{N{MrnP^8%fIBJ zzrVNkKcj{K$~C^fc5=-|Iqh6N#bqa#DK7iDq%|8C*Y>!KaaqGGAJ%P-sr{L< zPQ1Roi>(c8K4xOM@xU_|Z>h028V~lTjmXHv(jRP<{`y_GnZ?YVz9>^*^hw6hc;AN|aP+*T($86M_aq zDXH7Lj<`VbEy>w$KN4d%vZ?IjxsY+$C9& zr0`sc+MJ!(D+Lz!ApIZUaLAe|WhG|8ds1#q-+Ytwo2}hMcH${0_R#J1>RmPz9jX7Y z8sAa8hCcnPT>igxQ~F6LCTI70FI?p7_f1}Z024Njag|a=Q{E=M&!>K7n{)m1Hg-Rj zS1behW2qTk=|kOL|6Ew=>z|WSqzy`4|5TXed|Tx{MKx>v`?58?exIDRT$bPClh;45 z|8t@HoF;Y5@~5w@{XY<(^%K{h{L~fkJ7-G3e8H#!U#Q)hRN%#l>(6c6vPS zGDb#n!?;}U-Y!+wz*J`Ix((YzEYQDgqYHqwElS<0I+qvM?meI$|1g(*T&B4E?47#o z=i4ED%Yf$$&voTVCa%B1t zpVv}3`GHDu_Qab5e65#nAoDDq-L*>t-?d9o;=1u|yJTU-1Z&2{oxjvKw&R~lGLMtj z7jH_MXn-)BC5TUtkIX!GW6 zoAq?FzVQ;4wvsR9!@xv<0ll+A``r=0-%HqF0+jznG@IgQ=O2%8YuP26C>5gqJcTXt|a>Bg~a z<1}`N!D*bvwbFY}AcQ3JFSGQHyPIs$we&2ha;lsfdy3SOT6Ztm#nX6~RMER+3s>P; zGK**M44HAd$z(s@bAG?~o+R+Uc6w%OSAWj${yF#FbN`=v?z#6uj#>JQ*@6&n-ObiQ zj|%qvoPI$sX-*|SOGb^iK1$t_|FC#4iI%su+9QdEz@=Ui>(|2o)z!0Btydbkq87?U zTP_t%ZmrUxAc@w}DCSZRAUe`JKdG-E#(kJ=zSI+tu06_BFFBH`sD)5m0aC-nL+bX$ zQ&BXhwD2sR_U3&SpHh?MuB3f|G=w0E2}?}oVeyJgl=?g^07XHrc-dO?WvBJBjS=VN zgYZ8rnh6{=@XOZLFQ@wc$wAe6ke&IEV)Ae1H6K?h?+TnF@p&Pu`Gzb6W#{pm=C^@i zsxF(>*q2V@)8eEub0+F!&nr`DzOh4-Snl*ZoSI@M7Za6IvQrZ!x-aWLi`ar^^Vu{U zmnIs7HniE;T3Vu|ShgXP&6O5IP{YEnAVPgOQd^U{vCoXkuB0Z#>*odm`7wA!u*9-* zPAU(j#dm24sXT@&4KUx3A$F*V|#DWy8P!>%Yn6Q(+8!WY_Ba2)O7hxrinye?xpT#HVGml-m>xGUw&D(6RI{$ zM1r%>v1tA;bz^X=<+=xcBN3K*6zV$75jR^YVNGY-auXXUOo}KLBvLhm@vPZPWmO2fI9h+VF^<=P zmr_G3^IPx4xsei3-4#1bqE%GsVxe7O5X8*%hgp+ghthxu>@38*Ot7-jGV@LI z=#UG-BJ!W&=TvPy0*Ab<_E_PK<=uA3Vk#Y?iI57I?yTJ@s*sA=1U)iYYMXGj`s)Ag z{DNvvwG9rQ;{7Ii)GrzWjRq5z4mGC;iCx*EQHG^s5uqx!Ef$~Z<)HPQ9t}u}jF~Vj zO;P!6EG8dBC3u z7^Z~gD-t77h;|aDA`+&|Z^{XoO1{E2OXAresmUg}4R#{2BS`EF5|1*kNha|)qnSRL zbcSM(Nin-nr1%IVk-{U93^G?bfko8vp*zScSNv+CGe|5861UO!jVR`y41zf-AVMcs z3YFFeHWSuS45;ZtD9A;?`0kwe-tW=3@HuOW4JyCVIWua2Yn0$JWRy2U6rRv6$id7h zx1j21Vb54th^Kj$+(MO`qpDu26iCDpS&g~Z)j`^IxH0wUlTBa%H7lGsZjjKX4kJEb zn=Aj)?{aOBJ0bKN|N z$s*qjt$}Up(#c%uT}o0JVT0y5#2t}y|8q4cm+?|XgRDVW(|ze(&8OGZS#Njlpky3? ze8b|SJ|sMfi9hQi{R7UH z)Ebc5Q$lWm>{UOQ>B5wOc}I z3*4Sky%nFfnq7!7YOuu`b)5Oas8PsaO_(b_U)OBH=s!V~LjKDre^Ky)8VmDA6y*}c zw^f^mgG~NNim)-X@TwZd%BNCNgq9+kQjq!(yRa%qwR+Pg5}p(s_^1X_CYuJunANb@ zpVBHYSMF4ms2Q5Jk;dmfsRJnJV!W6%s64eLf+{JgD0wO}sbH)$EMw!l+~;xmcot=} z1+cJVL*0DuZ73|Qv_j2B1XQ$}t|K(%GeCjy*=I-@+%!%^))uN=GH~_8ilgs=S~%-Z zv9=VJL?v=X)K;;jY*}vPslQ>Ut0(8gOFs`gq$^^}z3Y&m&hzYs#Sx09vo2T^K$-T- zbL9;LQ28jsWDk-QrQ5xvyRlQgl;d1D8y5bQGUE+l%4_j*(#@C*XfW1d#_>?B&3wIV zmElOD;1!oEZ<3RX)G;W&9$cdMWPDf`D@c{spM=pRRBAaZQ8~B^cB~iXOe|V~c|unX z6i}U%%4z|(+RH2otjM&C)t>kccxw$l-q_d)AlYRkm9YWI&5R5=I(DR%7JVQqc8U8; zSl)WIt`$4ytWB%4#V!r%%fxOGe24x~-a^t0m=IyDG4}fth1q41N3qnnSZK5FoQ2^o z8VClP$q^JQbJ(QYqonkYgr`^&U&ZQyTOcOZy{k~@gM4|LC8*IqZlD_LWAg$vpNb_m z(A6qNo0_hx%eG}~4_U-uRzubFC1VGblW3DZ6H}S%u0$4L$mo}oCeS#P z70U5SnQI%o_yd*M6h67~i{_J~EC}Ifc%>3Iz#mO_sUX`}p;^R-51C+2JRUfwYVo?0 z(c(qkQkWZ|iN%T#+Y0J#UXZg5;*-fvu6%+a5cVf7Ie1LDB<`y*{$FTuT z)LPA+&&@tGF&p(bLZ7rC&_i3)6k$UF^em7zN7OzYC!RQhu)`8N>WQg`y+o*a(zA-9`;?~^ z`S9_|#o&RcGEb*k6Y3F4&YMrA$|AIyDr=T1L6nZ>rie^P7J)1?oNQS%dRG!pCD=Mb z{Re?w18d6uk+wNV0a3a$nf2T`bC{;)8jwO+M(TTWfXK2@>#|^~t@Fu6NCc9f66hBA zdjXUf09n8s0V%O1k+?Gk2{Z`I6KED_5m+SfDS=f2tmTOSoiWXKjQQv;t37i1x0;VpJNN33`i17%WX4ekZNh7Qoom)s#JTb43ZlxF!33Alh zpr)jx{M#xXNiwKr2GD5nHn1*s)q`Zea0rYdgHVAuF^;Oq8`zr&U6h z5K5uukp?5p0z1Y+Ho1t5D26;L0e^@g-?c$d|034208`01Xc(`2fzQaGjTXu$L+{W3yjn13<3On^;$7T%P0WI&Lw_%>z`)DkziXfKzqs7(%R zRn&aw83+@wC>jl>A|xC*tQP!3fgcI{mBs9V;r?wWsrVzKuJ|M3BY<0eD7liyj;D{}32acpPFXIYHDfl~# zZMlI%vRO8MoT8GM#s<*0XG~xnr$N@f14m6P+5a2?*g4Q43H&N(14mM^g-Rvk)&!hV)uly|lnQx;uTo<@ogSo^$ z3~WN68W1DCAwQwv2!|>y9chGjP(C=)vJ?8?AX%)Na>buCx<&5vX}QaYN5*Ypc4hV8 zlugEi%Y@H-!-_1Rc^tCK7cnp~#x}fj6^A(96eB&G3Z%;{6Qw2Ve0pU}itLgo!wowz za-f`Oucs_5(VDsH8?uL4ldb}2S6NQAk$BlO`p351K;(}iRB6#AtS(d$GT5jRHAbRR zy+k!dp(t`16bC-k?@l4*h}yF{o^4nSNE_45R2RY#%&I}j>qsCRcqwh%iMOK$k}SSq zjS643!`>jG;v3IA$n8Qpy{9d&2iWqu+Fdi7@zvg@7My=%3r=ah&s5)jnB}FvC?j3@ z&0zRFe1#x>S#w9wxZa}C!R7k3XfNyx>UGIXZ;)9FwoYj37QyF(`W^zU4>I?ncd2vYFZTzX(e>UX?H42ap%;(6S}V3C{H zWWk*6=adz0DWSt+v6IKh78%Z3)TqA>oU%n4EL#S%FVZ4QjmOzqkF(;QBb=)7tgW`< zprXpnXY;>DvER!7V*YRDe+P@(-weJQWM>vC9VZ+($tVsbagi~83>;_p!R-ttCi*!l z99S}B-mV8H<-~!Lk|GYA?A*!AsjA_}gFAzz{La?-SxOsl<$m3LwYb)zXIFJRv~ZP1 zPVWkfZ>kH56eIN%BZ6o(%UQRawNdt~Qh>8gpM=Fg1PX2J%L_SIe5=8RV9hFU_s?lK zM(371oE11@898Opw8e{GO)>^7u&MlvF##E}t_h4bLK!$k=PPXm)i<%ZOGwNW{h5mx zY(Ujs(ZE>}qc)YWTbN`tGwNU(_1dgplD&EaF6_!Js5GSKNuYo`VQRwzK@%K2|g)dNkfv)yB^%Ymr|}>{-)F zeOcgkh1O6=n(`2V^i_Rdu#l~ zw4x9tz6PTfCTt+OMdmCAo3LKaEMf;BGP3Gm61i;6@m(*wlhznmRS}0up8bb#;6z+@ z-pbzf(xJbAJ7_i+|A)+UOtswE%|O*J4a&488Wi!Y`WRMHgpaG)q5CmHDs zX43e_I8cp-LJ>||CQ%4J>sOBJq|Z(Ud39UAa>bwb(SWVqxTyA)5ls$0qv#Nqyp!u0 zuv_j%kLLlqPjMqNUJre|J8077`y2Sz0r=DgeAn;>c1joTJ&a2>4sj22(S5`l#tt=6 z=v267P>b&&(Bf!RbL*|`p%J|&k9E&RxxJ&V_H&tjA@ECi6oiLtGTgJ+ns;QT2}!xV z_)gegXho0FEhsYFNoq)?oPc<&J!@sU9?*X;ZCIm%`Z=5O z3-HqjP|~I&dvn^0BOWWj5{K=uXu}CibYDOd9}SuW3dHX|rgu~l=cfqeV+BiTC~DP; ze2TxYFxNZU^|JKeYnJ|dB@m2=lE6dcvAe8QlVGDk4G3`SWGdifEEyNEWFIO8)8=A& zRi&J{*lYm__>#78t`{V=XkgR^fzr~dENV1-jO1TB$>=*0_#L;rgG7n;q$U=Y+K5WX ziu{)b-_Z)Mv2oK@dhAY^J)e4az{}|hT4{}Ge_|J=ZJ7Lu;9L3Xna`!hdM-t8R$`Ld zvFj>@rPjHno}veG`VLQzSq$rA7N_F!3;#NB^M_id$Gn5MJnrQd_cCB@sMt?eeRmiw z;!ng5SG9WmiGdE-28~lp=y>%F6Op4rc| z>e^#nr6HZir-?-8D3y=+f|RAO!Cv}ehpSiasEo8=SWSrP)y?1e{guIQN3~W!;jeZX z@P**UDEBuqW^2N5JxeVoo($yc52kb=+q#ih?h2ZjrwZ5jUCAJ;2brY!?6v5a-eRP% zsuxBriWPU*I)|A|hi zemz4kt@eXEvHMzP2kv^5@=jWWE~(vs$=mszQEO5=i0A8%gEHlR`#+$DYs>F8N^%+f zeW|s1_0-4csUH`W&s~Me|1!s-k1NNIUM0sLePC1T*6D}p_0v9Hd|cFuvX7@9RtI9m z`Ek*=^JAy3I!)a8zGG}RBcMuO{rA1c<9OU#NiWiP5UY>I!jVEWD`;fC({SFu)IY9y zY9n*h8W{2oRx5f^MQO`*CYA43B5^L`Z=Bos$~ z$C)kjgZ93d3)Ng4pD=UY^Ml1uZQ0eB9wP5*U-5ijeI`TCBY1BT<0+gE+k-wxdg@8b zqF!`usyuNvpv^qauywArsGKfZB zrA?o=KMeQs-n1))56VX^oh9MCD@Y#NQy1K$qxiEQXp#KeCAGg9aZtZS@AT(Aq>Q1x zu`krfShc;Oy&?2N*w-k&qdlM2Q2Q+ncxcBQr5M{r3iqtk&Qbwgn48$KS(OdfWw|^| z`&QwePJva`O_xq>0_<67n*e)OnPrtE{(Dy0{xchqnT+jFNQ!9)lF>v zlR2{UCc7f0m4>3L>BXWuD^!AmEt(aj+Pvtx*)mbOIn7oI=lF0y$x$YB=edM8)5^Kd z$lA|ta;ak;q{$m&!W0n9yet)=wN~9eS2f--BbF~zy}n>){D=e0 z@XkfIG8KQ3F{QKOFWAQ+>!iG=*G`=6*`hte;ydi`5pQHkaA2Xv7Vg=qO~XB}g?qSz z3&ZJf&q*_!5BIQtuf4oI$0~`wRw3kM#qD&(?QF&EyzfQs*&a?6$a=y*b+peyyt0bb zYP2D&XP=(7wFgHkso&Mg#8E)sPiWkf>O0}o;&9KdaL>+g&u(_EAk;sOy3>nSpVqLn zjs~YsSX!^vg~sJl@^8lGZh6Masr3}N3dsX}YxrGCyz4w#zj zp6yQ1c15)3m|KpiTy+T)5dDrijvr!t%{^a}=WFKqnz^5J_mgtB-Ut-_X?H&@_tS=d z+T72&`&qe5n@3Ri=iU9h+)W#1&-vef@BOX!lAmgq)aM3&`pMULdPZ_7K3?a~{CcC8 zR+SVuqrQkXb*I{UHn>IU>s?1336y9+ z3|lOYkKeJ5RA^>*=i28E9uHbvTk$c(vHq@w`hLqM_Os(e;)s{W1I7l@)7Gg3gwx-e z*LdJU>0WTu{J5H@-CB2PpEQw5`xtw}(g>3tpM7q}G;Tw3={x@U6GPgk6V5{R&z~;( zGGnA(baCOahOO$$Z(k72-nMHMgen?|dv#`(dCey@CNs{h@7c-?ybRsnWiqIEY=tF2 zF;mmt0-Zgp^|dgreX&={T6?y7$K6^P^sB@FUwEz`LG>mcgizTEOMmGDk`!q?YFDIj zv*~9=Myb=e(PG-$q@kkpJ;A=WG)DHl9hSbYa%5&MeP85kX~4Pk16MJe?9vD`$&KTo zj=xNb;K?q5m4Lk)rS>I#94OSWWHWwR8t;2If($B%yd0p@uN)RLZ%(r?gMjR=m{D%u ztE026&={6pbw-YqA#(3VBlw59*IH*_xZ~d<5mopBOFv8wa-FmYu?Wqeqq=5Lv=CbQ zk#0)SQL()`)unS|sF0yTWL9T#p}2oQ(?f1Dk0um`*6@*tQoVf8nw5eQLChi^BO=}G znu=n-L{2J66`N2+gB`pWVLsa1(^8lxRZDKY*vqXIKXf%d<+M0Lo^V&rir|KOdj-&< zg_GQS3ai~XKPSO$8aE~C=Oi8o5*vfW8f9|tR;BV+){KO@HE~~%SREwp4H6rI#63ac zey)bl)d#7{DcW%FcGdRY?K-RGYIQkmDb97+k6qdFV_iJa|5KG`Gq}S_YPWz`nZ1L$ zrhyMuVL@Kl{{lxjI8=o-LG)11vk0ZGz@Nb zFjD;6|I=yql-W1{q84drq+--eLyyqZ3Htwv*eN&eq?CzfD3i0Da*6I)jqZy5D^-rJ z7S8P*QwdB791;+}y|)iA*%_zn&ZR;d;Z>=1QMwYF}&GNPuT+bnRU%D=y+WB6jw2N08SuLc5rF zzDz2559J#mvZ5Zq2J*nME(M}vZn=X z4>Rc4Fh{WJ_;VNnaY!XlYL`K|V$RVRlfo+UiCj+hRnK)N^<2sVPtR`Yb>+;msdy}# zka;2*v|px|J;BoyeMiE&AGalv8*n+>Km(Y`~H`4`}e<(+lps!+w}r&|6&-o zEB_R?-~R7$>;D(H{f|GctGh4U938IEeU921+8me!q4Y+s^pgY<4n#YpH}p>#%)_et z++?P(N`I>oJ0pN%eWYi*_lzpI-`1gf&sst6F}9+=03t?w-C>V7i_%Xia4C{94XP3@ zDz*zUU9yIv;TbmJr&Y!M@75^ze-|9Wc(GknfV~$iz}^eybIE-!S!4QXRjFSyF5%=1 zrp%XOGWK2(1>6Y~9RS#SrJCN}E0)A%PvUZ{d7DT>qie%fk^ohaUyk)nfMR{C+HbWCNJwnke>_u2Z8@6@UFlw1pZFo?**<1{8HdQ36O#v z)Em?}gF0ChT}tk-gB<*H-zN8MGT$bZ_Z3b2gIT+VYA~y5$*j5wYcOkmE$-J6`L)>P zRD&(%$IKuwCGr z0=zpHBzFk>jld~^Hw6Ayf&WclNgbd=;8ua90$d~$B$o-?CUCpJa)HkYtPuFTz?i_e zz=Xi0z?8su1pbM@e=TrO;7b_lVuz zM8~&ugiD-N&rC+^t7^!m8mkUz5ALj9&v`Qa~!8=@5@voHEZ>h++bhLDLF#L z@jF^%Q;8_CLv~&ZYBCw0d(3DJ;SeQ4&p(uogP6wu;2{M&Y#4_fq@%w`(qmPw``ErU-AsJJ0BVy{6Z4c`ER084>_EpmTe*QyeMqnx) zRj1|HjI4ZgPNnoSp_P7S2*nX~s(#K)X|bumf_A>6^fQ(81%Zo6?#|>=4uMYz6a<=d zDaY#qpj=A!%k6-`*UgPuu#sZ$B(YeboCM0O44(vI?q0{UXKN7gtO#xo?!ml*ovbeG z%h6w0!L=5v(dN1*_&l=4HJI)|$Lcn0E086vz;A7^$}}fm2)@3Y2=2yd1qiwiV-3HZ z1YJ&~%W=DdZx{9zeDAR&?jgc8M6u2yizB)fE@!&9Q;UL_<&`|D`!)jV!OAWR+-cFv zww(ViBSVzlP2_iD6SeEibsZR==RZ!W`}45ris&(7^;)L3mHlxGU6x6k-cz7WYXDH2-nTg1$0cg?Uz%A4hFU_1eeGDR;qQar&~&yh zY5euz1^g`ZzQy87_Q7<)vFuAaSAtcX&b}l~eV?&N`!sdc$wE8cNA%Vi_p!u@jmd;A z-N@jn?kOMpx-+gCVfGm#ywB;zLeJP&koywlXCG`6`N1N0SMD(=C*L(u)t0)hs{wrY<6p3 zWbLzvhdupavk*XKxzh`5vw!+5g<*p`RkvFdcdx*%IfX!{^l(#1J{C={N7HMTU2fSm zXECU12U{$rUW2<7%T~kN>UdkteXG*hCa~S2-{#S8Gs||jY`5698QiXTc3V8VJ)Yeb z&u%M`GBCGq(6e8TvR{@JSF_638gE%2Y)aa|m`qaw2L)afIHc5=^TT~dji50nXv{2A zZZT=pzJqQ#Xg)8xEgXoI(#rz^%`>#)yNlS9dj* zV^!lTRpZN5%dTz1Q4YrmHaUKT2nhTKpfkQ7J>G|@4KvI2Pvd&R?E zk!2__%TQpJq+60^Nx8))uAwHkG~q*BvhXoW-Yt2f;ff%U2__BNR5#RwSpfu@jdMdS zmPCuk+G3b3a&I;FR(EeTciqoc*UV_yOcqLSE78*1mM9h?EWNF)bqXvO=n~jqv~@ad zon~3?mgQ#Ya!Z$4Hn?Sjk=JQ(xxp@j8x-MU0r3z+t1Qf753|@TE8VivEUVnI%EB%- zxYFP%g>E;TcE@Qq_jb9jHTSjdzSi8=s`U(YTe}(R_I86+!}3tK`SlQT-@5`A6-U8Q zxnV_(aHvO7?t9mw-1n|oF1qESB?h{xvEVWGC{54=FIxHqRmdhqyjfryfv_tOAB$nL z$FSKf8f=Je8)4ZvB$d=oS}S#GsH!Kos*aEuYQ#A&JMh*rhPXH)FY_!t@YU8ovQSB+<@#&cEUnTm0!t7=?TH8KmtNvy0I z+pEUKRpauivC~IZRf0xZ)qs5=(?(usv@ZnO7wYT_Y4(LKeTS$n`xYX1uP6phAOA1; z`2TK%mA67-oH6GiuOEgZLmq1KPs%?@|FGGsdF+aZpmHp^p6E-pn4LPYFBM|nEm1;S zJ(6DkZ1PAbNJF9&?Mo5bm-4eOg=b$%&b}0zeJQi12UrX3K+E!3RzwS>)}+J#Iz0V2 zOGkfJC?y>Poszay%1D80c5G|FO!nqw&WzH3LOU@sOGtn@EWJ~22Hoa|oy^ObZaPv> zH#FnWm^thE9=0BeUk%sM{r1~nIDFnlA!1P%-M^Sv!=Zzb=g>j*Ku|P@mEO5k+d$Iv z&>r05D0{5NrbBbu9MV3SYmao8!taJ)m6nk@U8-fIHnlp)apjNUmWw*|b<2}(o*iC59Au4!)iVV9+PK#u1tx2cq`QSF`*F0?n z@f3@5$r^TYciDCj)CQi5@+r-r_>zlkRGQIoiYFi`a>g5BpZ8H7lDg|I)i|rFZ!1!y^dXO_>{MX9tdl zI4tV(#7u%0GifgF42MrEeTxE_vxR}Aq2X}ou!_y@>=`;_Y8xY6;m}e3Ofn|R%j~-F z0x6Plzqm&H5;x>@P!}UzTq(#kHo& z5{@j<%6=F&RdSEv^BPC=$(%_mNxoO}SIvxv8hfb&nhfdm!FgQz= ziA;6qgyIx>n#PkGdW}EQmPyw-A+^+{phG8fg+_%AZ%XS1)@nxW?qG$D$+KF9f$tS0alw_N4^p+5}JA4!q*a#GVhJ zHE>U`Ft%>Q+7WaEHPYv6ombPLV~@fE^j^&vPa-VaNqibbv|%69yKoK>IK{QeFRD6U zEhCJi+TZswT5CfHw+PodN>xB3OKYv8>tp)1zqA4t-b*oUgqG>rfQdPYL{PUd9gTm} zLoKYw`B6*!LGmUNlul;)k@5U&9A$HRaKmhmxF~Lj6P%55Lv`?sZ(^JkYBox?-V{`% zh~mfSSI)lr?^c_()x=Z@n%ACX$ev9B=fwKSvE znAg&Nbgz+QX<;A->v9JUvN`Y%#xYl8YUv^_pLZ1{8# zx?@Lh3uHu2j!^5Ak$5-0rKmG7s~#xTrA3j|jj}%Q2OM>MnktrDSaWa8EvTq;QB$mA zBISFTrSYk`P>)c2jd?Jhx(d#>+x({kM%(;>oh8PU+kbO#TUKq2tGUgX4?1y1=orC7Knb0$;09WYc<~= zAe)cjEp-^5OukHudXhAx`}A$Taht1hkz!MI;6ZA}e?+L>Af+~~BhTON4!#7DkHGHv zy??9u{sCQHeY%^x=rr$UvhqPL+nq`4A24t@Gr5_Tzl>2pF=>d=D=)3ufq9A~#II|# z5rH~Rypx%-bAZU{?1H^-4B;Z5c!1CFp=n*MKs|1`FRr|FsTBcqv?VA1M}_=k>J zG9z7nCD)i6zo4ZpP%_8KaBEd|~aq+&zUIy%Kh{KPF}Wa+`EmVxyibNAbq*9O@yGtU1G z?dHowqB|)Yzs%jsYCI1Fjk&B7GX1UhlWui}yr`>eHUd2Yp&hK2U^YeGzGSvMF0RY3>E_ns4D$$mMjgrS2R zgH4V($j43)}7ZeGaVdEv9dt*e}ft*5R=$O zy~?XgOKws3*Ho+fS~N2F{ix!8eF&7V4u)(q4SKHhwHCj>#Y!EG_5BhY1Jy0}x8zvR z(H$}AqIZ4py1oFnkM6>A^tN)dJZ#*ykBxxQi(cdI=A06Kt+i)7ryxFp%Xc&ZVBQVF=o_5*3`F-^a(-DtN2xK z0$K%4BS@Kc7o7yaWMtZaGmM~;RR^b483{}8v}&P)S`tPrAW=iITZ(;!3SA5dS{BY# z!;4pl;eH7}_xA}%NV|V4CkH5icd%j!%RDqr;Zjt63dVrDOCub@m;Eh_JoE`*B1-^gv+y1`L#IuCVqyrnd++VD#0 zKH?K|Ff*k!7MohvOm6K#CLlFW&6GM2TU{gzT;(|s~4U^c59zS`w6 zJLFM(C%6ApP1B@L(F9Mo;ff3*?2th^$=)XU?YWf+nNyjdn%dUzcK7Eo{8)D zrIunD>G96Ikw{dO8^vG@4cqWCH0+L&#Hz!yEu?25hlWuF=K)QXXXzb_a3gdQNHSSs zKtMY*Tq)CC%7cNGpI~T-3U-$Yc6g;%r4MmC!~NZ{!t+SG-bCUFP$^-LwAahh7KzCA zbM#*159bM>YT2ThuvaAWu{mOYFD7|y6W9qT+cn1fcUs2GWq;YtWubV6_YW)g`=!nS zw3FLphyjnmleWd_{J3T93OhtoTShyKq@YqLa}zQJP`=(v4Xetde7%*>ZZE>!Q8DlK zvcf7ox&1t9$GHI+l!VlW+PG*s;gLg*A&tdIV?y%yc6mH1-u(xS_=BD+F(3Pny7{Qg zFT0te_^Rf^{2z(B#r`AJd>z(VdTR(rQdY?OkFXV`5HIpCVIt*#p&H`FN{B;Ih(k`c zD4=;zpphgW3uUF|YT0=y&dy8K>>T#&9F9<4iBarQ0MGG@j`E`Nblh@$+;etZF1}f} z|E$dC-5oJwxc{P?ZQF9ccF@E9XLLiia(0sc({avDiUW@Qw^8$dN-2M}g2vqX2h-)|@_fzJ6%H280`=i*$SQySL3pxDanLhN;+ zT4pD`Ku$&|mtvGlLQ&pr<95IA;_iPJmtpN5!b#ZDVVK>Nq@V2=PR5zSk@hW|q@v~H zbSU)xD^}`P%pZ%|{}oSsxG73}xXDPT?uP>*4BJ4aE&Fg-8=1t&W_>uk*v*S&?sRjf zRmyOI{>>O*&26|{vDuJ5T!>41xZO*8xZNA*aGnqxOz{vXoyH;Zl@LT><3_7xX1FCH zdPz+55(TnWHtbv4!-WWCd5p5Wijuc-AI?*o!`gcXDhIMq%foB6E*st)4sVJIcawsu z<>A<2C9%?=sR#_Ov|{Sgs9A0UM3ZcTCYnq{urKrh)pjB#3fr0aUx0g8HhNgC3$)* zp3G~Tp?a@iHRKI5J*ve)7~LfmZ%=d(rFR&@O!ugUX`P*P2bprge*3i~{2j#i4Ukmx z3#T`dIETxOHfwxo|o{9B)(A`Prb+MQm!M;p`aN zXFJ7ZSEb{|Ya_+A@>y5tki0ae;%cpLi7pxG07)w@t>feFa8+b)2QGZjK>J=X-*Ro_ znLZ2Eg?B;5^d5<`FlRcqs*6?+RjV3Ak$N#V7RmEl7#|}_k*Dr)#}T}16*8LVeC-FxuIINGmERmkIieUtTx>i59%#8 zZrKZK9jl>IepT`x>QF|C**ulcXT%)1QCxv>9mm9q95dGAn1uSgKls&pw$!FsAilPK}cPqWFSuJvS(1vgwq4PzFg`!WVIB0*Pe61G)uO z5iA!omWC|+qPbvJA)0kzkRseE{v@crAngnSU9dDQhZp8q8ff0g+fuoJ$*c=3FBgoo zDnNyVDBabgz79NMRw`+)ie}CHjyDEazViu zpzc7vgs9dCNKi#e8C1(`jJD9?q*5-x!nMr>i|WkeKN-vewZ=Jb)rPXlu{^JEy5DKh zem=`Pz;d7z%^sC$n&MRv$DUroUdJLKCcrj;hA&7z$S9_$ob(In8-pg%Tg5dK zZ#AaSDpFG-qHVvNm#z_E&v;blG8u1ZaH#ooK2y^a33k@VZnV@*-AO&*g1{vSAm*_- zmDSsDb@L=-o;Q!fMhPwjDc_VE=>=9z-4qSh7S8t+FE0N^voqAbV_c=%v|o@>jnK`jT^30lpG6^d;+LN(6KI zRy9RjxsEEVV!SSE0r!0iId1wJRRLg4cP zT>^Iq+$r!|0xJc+AaIw!ZwssvSS@h3z#4(I0_z0s5%{7&x4?RV-x2tdzy^VP1@060 zvcN`xEdq}Ud`;jnfnI^f1)dOiQedmVQvzQX=o9D{C<+As7EmXU5SSy76qqYeFVG;6 z5=aX)3d|E|5@8i+I%QD@^rKh~~f~?L47QpcNUr@_2DUYg!#f*b+^)QbVO*XUI z6PLcxQW2iE;I*W(yAVfOE4#QON$o6+aGO&-d%D`4hH4Ssq}^I=7Slb?&(lpEBQ0j1 zA7PpYjtDa7Sa{j_VD`AABRi60^M|>p!7kuQ(Wx|tQF0?mVxB_)Omx7Ewhu@AeR+Z= zgTG1Aw*(RbNrAZn^#Tn7DS@;=qrg0YCV`B=e1WV$P9PMxPM}3#fxtq6PYC1%t{3>E zK+`0kRi-w9MFO7^C~K&QYmf!hU^3w%ysg}~

    Gz!cUXcA}^$Oz0A$O_~H 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ⅆg{ZJ%0miR?532T=(5)h2{eb;6~lG^*t&yu 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�H#wjmS7a{IC^?017sW5^MxU|87(sy6pa^ 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⇞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

    u{Zsk^tW|7bfy)%L8?e3{}%0?E3^+L_k6U*J}4 z>wnSje98L_>R2heq)#L@meg5N`mfymGMA)JC4DYwu%xk)=1W>7X|JSHlCDV#v~}l} zT2dBCc_o#SR9Dg$lG;n^BWbLpS(27^cjvZG(i2IkdbmRiOZr^WFiA5csWxwsvg4Aj zOH%E#-Y4mtg(5xOr26jzDJv|giKPCL=1BTU(j`eRCB=X3&f|SaPhM@X{@AGk`7C{Eh*}_TZ{E} z8|R!-O;Q_4VPx7dynM&ibVakMcpA}-8FQ+nN^>4Jav8_aQb)N9n#z? zv+nlKYp2VU6|~dgbG$vtPG|SRoiVKXnB#oMm&i$<_>Y?t9J3b`|rvwXOA& zvaym@alf52-ZaYM?eXTz(Dfu|`%86+x5U^(|NA?B6Z&1p=4-sU%HFc?U3b&VTW;&) zZu5SeR#uzUub9+th^${xTzTWc?K?j7vS@$dV8n^x7V?#`c-PSXl=$18Wx z$yLi+_uLj_B2Bl4T61&mxqCvHldLl5Hu5T0iC8S8c6YI+C2Dh4p?O=jfRDh1=4%BxRLUSW;b* z(^B=BWH(t^Tl5@p~5 z8gB<>POtrQnblVhJ6e74Br#7nwfEYD<`GHC^I^ML@=QFPjA^N-5WfM&)(YKCpmpzK*~NLIltGfE@cf!&YEr~L%)%s z!zIloIrXXEi4^9Cn$Gzxp z+O?=Vh}Ewp)P3gaw=F8EZM=O-p6yq{>NVAZS@fjyE4AwkHG5h^)s;-4)Na50&hH_d zelAOy)4QsDs$Y&U)H%Yb^`WLssK;BpfWT1N{R&uNufGisfy zb@b1_&&$Vi0i7OKeX5q@97FHe?NdWlSwiD=NbA?RR zkAEKeA{|eV9v2JBB5pbPsQ@GzWOIANOvSm-o+6Thz1vPh z_%(;KwygQ~vCIBv+H04oqlG$xs5YzLDYfA@63#Cj)$a$}=XTdorVn{CX@6^pa+92W zTJ=HWylzW-NGiCLchL>Brl`buXQ7?e7jVbhBk6>sYm%(@#yH!bSR_BLLH`ka1wlQJhIVcS?{w;+R*sqG~`E6)+JhnAP2#aV+J?Xm~*OQiY? zb&gU^WW3grx=DICg|~Ftzrh+QWwS}!?fTRfp?;UOT*liW$$E#3)A~mwXKTum%PmvK zu+S%NnRO*|^xx*8hN^u=^?k?eJg;D=wPu=@=c&1N>PB+rJB3ujE=#C=Z7T7+>0#Ei z9ZAj<-AT^6{F7dDh7OnUtZlQl8?Q#ii^>RH*Hhw4A|n;*43_v80W zhwWBb?~ie=+tn|J)RL=T9454Es@K$S{}XDTT1wSEtIdDfEl5iXoaH@1dS|%RSJz2S zUp*i>ePvCN*&aG!rn@gB$;A^p?6Q_sc^0&twve1DRM{tUc>asMS0u0I_NgkHUz>M| zaD3-%O1f>Q1Ehy`I!bcda*pKeJ$EH(b=-4Gv?Mi;q?9?+W+FMQx>27emyfpQ_BY8{ za!&(yXi}21KCEw#UfJU%l+^lt*~FbkTvMJsZtqd)NzQz;ODZMF>PhEnQ|%x1*%CXB zv0C++jHl9-=I)wN`}tGKoc&z2MgN?0?b!cWiyEqqC4VuV^SMzS!_?f=6rEbQ%b|v< zHmjvn%ciD{@o>Jd*ZH=bnznYF)vCfR-F{YOYAdPA(3AFfXE+DEIo_H=l_fNVTB}x{ zF0iMt(n>r1^ZD|5Yo78w!J0>(`5YbW?z_)9xhbh5L!Irp4cklC ziB>HO+R~?X+Cv&~v?p`&@%=gFV^|yX*?dqnR}a@NssDH|tc(oXoo&md-DkP_t+9V%Gf4+~9 z)LVwCDH0kl$za}XVo#gUe;L*PAk}|!RhhNrY@KV(H=(0|DzlF5W#?JrsZZ8ws7iB( zx=UpJ&(Qf6M-5fif6tZ9KbYI4cnc=qOxs(}W-CB}L zN=Le6Ppf_(ug(GQGW5DVR4uPs4z+A*$yINtrBuD4`tP5Y+&Tv|SY$1wYKyx1vW6~O zYz?*2Iyie9O&Q6_3&Y5HYJ)XrbtCxaj zhS({=&!J4Q#vYn%67P1flluR(DmzlwZC^s^)5*N2VyV@ZLo;|g%yKK8CpmlLUD8dv zOrObnW9+0pHzuac883q*HB_I=n?_bx^(7@a1ofT1%4krWAPe@KJ#!7nEZeLQ8GmnfUr@mYyXS`xEUM14dHP+nz`<_(& zr+V!^{WsdKFQHyj>rH((qP`7P-@mB6%-Zv!eze+`P?`07kkt0j39ERg&Hp)`RZAOt zX!q6hhMh)`oE{pu#$89MmRY=uC*4|WzSeV2ve?ObFVDYEVeLoG-ea|;xjmlsw4NEo zt!b^YK6aU!$FX(p8T%~Bsc+Usw`_x?!;(%)x+dwlq{N%tS|+Y1*>khrX5-X6j^wQK zxug%)S*`j}hVGT5_Wg^LIa}-t85;MqTi@HH+;%NlNgvs%Ajz4cJgKN%R*&SgppT@f zlD11aMJi=ak#jR|qp{OKd9KSeNq@)`YB_%6T{zA>E=hVSDe*pc=zgB9veT~lG-UQK(j z)f#&7Ja2rm(>w2Ycm#lQLn4iJU~*8%kJD% zQq!u|tCp(PFTBnh%YL$YL-o)~%GTLss)y8Ba@7rYZWV4>Z-KI=?Q+L08%1)y`?rR6 zvxm-=p{wq?Yw#4w*^{qHnc5fB`ByE6YQga*?%XbuoHP3aDGNVk9=ohoSxb5Gikq(6 zNga39`B$YyVZS!@FKdd`q#x|0{#Ru6)l$36+B%&raUbJ3$@(wKYJ2D@%ABqEfg~-? zEsG&J>o=*S%p|9loTLqQEyYMqE!9ZQwyU1K*htFMQy8zsyEQ*2IlXIrBKY~5wM6ri z`d|O|dX=P^$^2UO>(DNx$L)G^izEp0TV@Vh6p>n9njC$-k%lS6;IJ}P;Auhk~TbNb%uzbrSc`C6%k zo!;VEJQZ(QW$~nXc3S_AUu$KjUr5e3!k0YE9@fdBOqw^NdwdoZkTfRa71mLmgY&OGK7@xOk~ z(>h59B&8|pwjeXfc?!4nf4b6-tXkA}Y3hHy6N|f3sQ>w=O8LK^tg1fmtEZW&C!DIg z1Qt?X6PEs8?}bqRk5~VrSM{k+sp=aCb);7RA-C=qaGpr2{$pY-+nIO%=d!71q9*ig z*Myc$wLmSAT1qa*Uq5TSpx=EiqIEUw{J&8xhk6pK`i%I`&oK3s@xOk`YaWvGS+W_) zdB*B=lJk^iwUqv{?%GoAQ*BP@Gq(D4qW+u9>zcG1kF8!)ORjo6rn0-O%_KQb(3?lv z`NWz+eZ~n_afiMkDLv_+J)T-e>WO#i8F{%F@3cK$Nzx@dsTLHi>bAi8t}6FaYrYA6 zSJkK5zm8Yy{~S;KPgt!%wdB^Z{fIrSy5FqAXKu~W>F08{}*?jRIQF-yPLU7c}ddt$~-GuVtG;0jZE7d0Puti@?St0brr2fA8E?Iv)D^(Lq!#Xeq@G-_r*X^F zoxuq`T{hQ2O&jdB+H!|loO`#d-&~Ba%a&ETS-D| zLG`_LhxqsQ6xMjo7G^z-{fJ$r)|;9_%~!Qv4K+LX|JPQc`bG7Xs<|{%IQIq&V7qeG zWi=`LUdrZ4S|Mqpq*Ia_GHp`R>J6*!Q`sqT4eq(M(^MHx^>{+dtIB*G-JVoS86{2+%?1;Q5yql6wJdg0+mPx5we~wPo^wP} zTa#K2HHE6>B2zd$beH6``6bCYDo^dAV%P-nb7 zGTxt3rk<_-H)YOuJYV#7>+45y%0hkJvKl0(Y!=C>c{Rzo7dyJ2TV`D=-?7_Lhcah5 zno4R#a+atV-^ApIwp!n3zNY21lXawVJ`2t4?|%MRE@_h_wUp{9+=m$Id}2ODa$0IV zq1{QXYih6i>IvI@A$x9DWxO*3{MwgxnQGNl%AEfnS-;zH(sRn3_r<6-tNN^MXpvn@ zLcO+eu>1LPKgsF8GbE=sZj)lH)8fB8b6&M?^0)33YP}5^;`WgGjHuo*5)5*Wja^@w zq5pfl>{3=hlC?x}u~rMJP?pqAR&Nxv(s+aRGt8Yr zT|KC0@t5F}$v%6Ep0za17q;g6;Ryfhb6!i*XLgzOy>|yYsqY@fF!UR{EY8rh(f^jB z)9@{eUH1M+zxLQp>OEM;DeDtw&8_Nack66Sa<;m5Ql`f1N13y>)Z1z9Q0DYTw(r;j z;;s7Bor?eS99n^Q!TjsFJ5?iVo3zT*c+1Cd6>gWQ?NlXmtlQ7ln?;=Ys{h+>XQ*?> zYU1zx+O$Mg&FXsw)u$?{PoJevxo`1mG{IfUl8xOXrn>VnFJ;b}R`*J(HwnDUcR^hf zTk|~!=X-(w^sNEv>h<%9?)n&fUej*c^|hzWdCQpf$!kV&s@JMbcKbg46utBPNPi*?X#hb1LTVJ%zebM5t=(3|J+$OQ0qU&&azcm%(2)mThoH?{_Uim=&#oKQ^s@75Z)zjN-8On zqi_@$XJ&uQ&YW}R*Y51>?(FXDui5bJ!*USC#c%I+C=bSS$r6L)>S3g^%(t-qKo=7KXHHYkYKT%mIY6m{%jt$3X-o7K5 zt!GH)d?Zv@Db-GSB=ek7kMxS@_gcHvc(>)X>)l4V7QVQjs~*ws&7X5G zqu3ZqSCV<$xSY?I=if5=HSQ3Y|NqfxjkQ-iMlzSi#af&3{V20_qurfzt<|smFN1S- zO-cxqczOrgjJ6%RH`;}Kq@;G$QPh7QJXUzE{q#BXN+co(# zT;3ltj;vqtMDpMNDMCKqulYIg!n+Fz2iSYWQ+WB$6MkyuTM+{|9+ZeH?(!(d&g+dS z$fwnu(svXq)u(1Y+m`<$A&8WhtMc z$onOa^2;sez9pYj%V#_P_O3xFNm+iov0UWv?xtq0E#sNU2GKguuE|d^#u3E4gJz_m z;+Xy49m?C`B<1NMMynWiNE>!BreJa=>-QR?W-N^+qBf11xzygZ(-Km1(b|3x_y0wb zcWfM4Nf(B96Vv>QX#GD)TVA%l%kx&$+P4;y%&DrdYXx~p%Bx+C`7k~enOm6bcRH=+ zGL=iWe!f+^)=nET6s31JV<@uUmIX=5BvCW2<;}b7vb%n?nrk{*XdM~GEVABMmFwfr zNBEXocVoy`#jL3h@_Ebr7aQZFx%rHF5Uu8v%2ruhK&$!Ar#x~s{Ky*H>|$%k^52JU zjVCE;4`aM{lhQ?cqL$U2oIc~eR2R`Y&TciXn|g}cWNLjxif?7B6X{KALq#&ScJrGm zkJPc&(KGx;g*l}S)2#31KTWGSZ?D+h&9&1V|J2fjg(8Q z@yhiZpf;_iG3VRsS>vs?(_oHz=CsHsVsBk(4P_DOc0T1Q%0`m8t?eas6SaO#tnMOL zC0+Q|LJ`Tl3ct!uw~&T%$AY*0n_5RC<9xnO)GoFp<@%M~O`_i#(Z?Gkb6OUX%wyPU zJAH4rp0Ja4wbe&0lG(>~cIs-k4z<&GJ59IK0y}+SryuQf+D^e{_So!n+cinbSuyoj zP%~4B-P+TxJz&=!w`;%Id#k&Cb{cA@U+sRMvTM)VY266EA0@^% zotpWX{k@LX@K)MsE6JSmU+i?=PQgxAYrdT>x6{pb>P9l}hYcdF731ChoAr#(*j{?w zXUutZSFUoog5aMHN#-7Kg49>EI=dw)14L3uW~=e`*kDmBq-LheN#?P*rJXvH%wusM zI}NqdcsrGn%qd+!GS3FaIc2yQ#}aDhx13j#%(3kxjS{WDkj$wv&I@Kuo`wFV)!gbz zM=Hv*qK|&*))M!2w^9bl+=im07esfLlU^3-W|BGHJM7etWUiyf>@8C?!F9*%6SG{- zZ@3bbmqmADX*K(uPBPcW#pcbJdh;4dZk_%?);NqUVyzfnHZ^m*YGfz5O}3|It}VH} z$Zg2jaw^48ba}5-4o`kcILEcU*>97fNy<$R7}G3| z=<=Kr8)A*^T9UcHmDsiW?evVD=Gti`$vj*AKzc)rBZc&~NdG(q@~(@V7UQY3c~&bM zk#ymDvW8^N$44Y{8`?(78DPwj@juJvTb+CD?tUc|i&ooD%Y zh}sa+CXwzMX)TS5-Cui*R&!d$+vydOxzy&`wF=T#VtAWK=2o}UP6tTeiq_W|@Ao2o zK>AUn8d}ZaeL?LPQS(1x4JB@;D@o?G$SX$qex01l@m!f-_Mow>#@fkvOSG}58NV-T zCV8*mDZ4wlW^$jh)`zUgHF&Z6YjO%67{k=JW&)IHq}gJ;vfsl`TU)0#)=G8kB!?o$ z`xvcl1{!npEXiC}GfC$5x0qxu@oje6YquUDnM>`wo%Cm{TBe=up|!mj$HZr?;gyoi zGs(raY*~xFVtu<>UJJ-t>*uVkvkS@Go{jZ(VH=;6q||%Jn76fd+D>XLY9GJEx#wY{ zwZSy5>qIh^i`j2o-X%UFY6tDsV|GfKZuOCCr%Ora1{=eBfzcZuYGgL@t##YpCs(`R;)GIgji z6nT}qom#wOP1XP1L#~;hq_lq27_V{myG^8WYIlev z=k1brt+gs!Wxszfuv#B{-@0@1kevqGX{en>*=an<++L=U%yn66x6ZLsxt$UgTc5yX zGT#3)?-MS!Tep(TAs--Z8g9&`ao(TIQS;y5vX$@5%KvSaZ`8_vYc`&ztl_SbqR9WB zmQOR}=MVqKNy?vM9P)mIeDhoW2e%xDeB)QP%Bhl5@RvOWa=h|=Z+Z7pj(19hwG8AG z$oJ9Z9nCXQ>rSe1q#h=o_sH*7&1ER&lO#E0IR*doU#yhVBIivm13Bk%9CBI7DUfeF z$oIz|T*me{!dSoMP$kl%)XeQb4o?o{i%+fA|M`3bKC?bU3|z@QOYuDFF_O6zk0+T& z^yfBM<0vPY$CuAYX6sfv{cN`;ZM3>8CJi5H%+XaOb3Sgf(}Q+;iDZuVBRlQ1Q>_U+ zVG=_*YS&zwtUiiJ<`dLbcCDwKj9*GOKRL+XM0kPWyMD&3j$@!#$4u}bbvi+<;j z%xQjpvo&uolg!%t7fG`97_H$ajOEhfORHb`tDP;kTgUc)9`em}XO8VIJB`?rq+~yB z4Ec4E`L6h4JFT_T_ayUsMZeoMZLhT*#7KE!D6h5PALd1pQ!nRDPU*#_MVg;U3x#<4Uf-AotrTbMLu1U$F=W`R`Gp0`E2_bHS?~$@_W*SU%J&u z=G}ldPg!fVf@IG5YSL)li{baf>?@Bg)W(V09?~R{j4QmUBAw!074sMob0jPK#L=Qo zx%H{ME;aKG+SQ~3FN$SAGWV?xc4}z%(TCa*(VbjJG95`uzHl}7hn;-MR;`wuuCtTz z%|!DzW$&bB9%sIQLE=qR-6Lc$FMg@=I|cpSI*{$ z)n>#+1t1_hzyYs(lz3ExUPR3iYU%ze)S$>{2*35F=d*`<{>R8*0 zgQaK=WeGJit+mrmI~^dc7X2P2Z5HW_os#M%UwDf!L^9_?e!Ea!Bgr{8{-4DB#%nHp z>=47NO){t8-b<4&T+=*EGKa^DI?ATm#?*hww(*rnEiX@2z7?rG>3fl6cgD5+6>k}R z$eMAU`9;)>>wEL<<2sF!FQjYj)WJ^1kbe_>JV>oZq;YmKhUb}MjKfGVkgr=Y$DRiZk%1tP*V2V>71P+-L2L}cIsfK2S~4qp*VZ6bVc%!{t`*Hit*01$7`pX zM3U1dlhH?iySvBjG|5h{+i9Vl_KLKwA4mCa#vFZbr{km><{48U$01X<`>n0B7s*^2 zvelTDm;W#QzWYG(h41mn?*2I$L+Sb6|85G5*7c&*NION6>(Zzlv|G}dn{##;!XqD4EV5YU#jv<{8tushxM9SjmcK!RtIOOwq<2Ymvul%)S zrBbx6A(`h2<84>7RrVp@do}tPxX2iu>_fI1^LyI||GBJ;+FVgHQiYv1*=e^(Ti!@k zdMq~j-9<9*BN=@R5jEpqnap=$zBMa*giH-wVHPwv}Y7TnjQ8)7)l>FE- zB_I9g@{_GH8AF~Ux--&8BK_w!v|iNY5;D3wAZqfPlat=ImRc#vJU7a3w;KOJVQvS1 zznY*_E;Xj=o_DO}CtKyO)*0VBY4owtopI(gpTH!~=bA>;WNS}qqeLy^U2D8Ck~y{p zq>ZB0_*TG$?Ubu+^U3YSrogz~2v!*59n#sMWQcUdd&x@fCq}J=R9~c~^Q`$TvC|Mc zJ!7YicIr#Nw~Kyve!%dS8N>UPR3uXKlh!YOHZ12iqC`#hA(OG}?-Q;6d`DgGZ=>fb z%IBgF`9Bx_tRaKE2$;!o|ghV;xzWBRtfqbRFHdT*;W zWciOP@(6eTx@4u>YNLj(0uj578>WW%~XO>+|$-I~o7H_~{yB zcxT?@$SP7Lt>#`Eq;-R+O{lg$BO1dqx4*Y{T4SrQQ}TDoO43?mcXBy&nvHsL=UMIVn`op>RIcXMtOwRcFv?BP8j($#yd=_|2QcRTf}N>+BRGp4{e zTKp(de`@9&J!z+xN#+z7+vGvf-Rc$A(R*%n@`c~US!$;*?6lWThwXIQPVzp3am+E# z_Hy}^{g|x$YrQdj?~=^rVk|3j-YWMcD|d<3_CF;ngG7?QBhro9g(YbxV{GPItV4Hj z4@&g$rro-jWInGozL#abH7<{d@*CW;-^hMz90hig+mLMi!ftK0h@YQ_=7&o^&zL=^alK zdS47hb|=SS949L(jd?THn>hu2j#|_5ke!U>XSP06VznCAAbUi=a+_Rz%xX2R$jZJj zhAjJ)-(M{|ZtXJ{o1@t$tf4HjlbpA8c5SLnz=WgC7Ex4&E(wx^LNIMoK9A> zFRl4Cw{h1QtB>VN6eUZvUTg{ibZ6d0lyBSo+qOolxrF4lW*igEKAPkyN}d>UT~e_~ z@`#i(Ia#?x)DB+HaZRL)ZEHUySZm=@#%3Oenvt#)ecVX8Mx-vJ>qUCVPUA`Da(UBE zm3A6tf7|%pzpeQgOfvfzZ`X{y$2<Y-u!PZ7E+F>+&*|pLy*#!A`a8e&sWaM%2vZa+BTK#ZLW5$zphN|1jR# zHGdoEetz@UY;B%sO;w4Vy4z{6o#dL9pE~5Vqx=O6xx_EFFPu)XmP?A;N^%d7dxhMJ z+T7)SJxTa6_t$0o-ikLYr5lxt8*qAufzVi-wD;$QR-dQS{gfkvVOnm53e&Ig5D%1V*+T<%zlG?Chcqss&xh{=4x@wm(Z$`}=%F9uga?f{0?M>3d zBBkY7OZUfRT+55v>(tEud%DCm9yF2aLK)W`XWRBxqlG$&C-Q6a;yFGU81j(EN&!tws zd8DplTCTFwopzFIze63X54ktWz3gK9*2Vgj+lw5Eam+a>ra(^BKM%RIfi=H!Yx?JH zLvCSm8<$t`#u_x2Ul~uU%=F&n*0TSM^xVy?)PLKuoXew+ zoXb%Sts|j)=HKF9))F_yv8u}0uKv8zs>#pd@;b3qKWod*Y+`k1TzQz^wY-$txgU(7 zw6a^fk`k(o+AupAze#D{!IeWcwqo;nkGq+bjP2R18QZg&jIG#A##U@5V=Fe3u@#%i zSZ`)Bwr4XLTd|ppt=LS)R%|9?D>jp{6`RS}Ud&{yeKQ$*l$nhE!%W8Kc=MB{+>-}f zYaJOz+G!HWJOa-qnO79D5BX$S4p08BhVeON$01`$9=OgL?`b<3<1n8^8{;*T9P&k6ho~K*b-O0T|9;xNA^9{N)k7oaTRF->%+*6GG;TheUT<9NcR6LPV{6xi`H)ZCOR1ShF8TXc+i$ey=pgBeqsDTP-Q{(4C>=%Z zr3^S`%-cGWIgTBq!J;Ow){XPbhoWY@^=JOJ*MxS~R`)u|eE({J zoj$Q!wf0tb#U!)4YwXl$4R?vfkd1L<95<##j-$zKt_x!m|NA9cKVPjVMIyDfTi+s? zLzcrcepBZr(Va2m=S6DY!CD`8lFWVP9@0yq_3Dm%>J_Ptow||!7PSXRiN71u_ho0R z-<>3LyeCQK@;hgzq&r*}z7rB4ncWqU%<(oLnSESEnk|NWo1GrDyK{DNDL;wU5b3B$ z4eVsx|I_bdq7-8;>zy#BPmXs}xpfcpfv(orhS}*!J542-+v!|8$tn1Qb@YT7^7GwX z%F`m1k|v9^)J|*du^GRfWX_xMpK!1KVNBKj{rsCzv5}0YuV$<9+rnm=(Zia8ckNWZ zmX2$TKECN`weBM2iQ12LlAp_dxq|Puh*smSUw4rnWhlKxlHZz^V-wreD~v*sG5|2e#i zErb6r)pCAIxp2mj^Kr3dWxNS!Ub)r!-Ki|<$!}>Y3lg0QYYv^t^-6-`P+Fm1`7kk& z`eJk_t(7ENZ$Q7YDVe9(%0_f5Z56J~l)GXnRC=OQxkYi4=U(QaJ`bHrJ4GeG*+8Q{ z3!TcXicWs=DlhfX=v3M(J}Ol${ZxKHr*fMTzz#|(c2q*xNeScaN+xzzB6x?AgI$y; z-l^ncSEUfUDKYG>#Ic7`8+$5s@h+tv_EPHO-AV)Otu(}Ylt$P`X^i(OO|Y-h6z@}- zVLzog-mkR4{z^-HfF;EHn=BQl@}N?J1C=)T5X-}<3}TL*%EQc)QyI)0IF(13cBe9g zsdg$unO>(dj45?0k1~x8Rv5d#5Ji{2A$~cDYRK_zrr!qkqfzK)w)%pvDG$}#Gghk1_qbd!%xrNFTO3mprwmSYk1I*!HU z+QPbyCFDySOQ~P#s36x9)^{u;H*hS+%N;9dZHP{#nPU}R<5-Q&9c%Gg$9lZpu@PH2 zD)9!#W^C=)f;T$0Vu@oL-sITMaM}plI(AUGS$K2~cjwASp<0vk39LMF36S%@r zgKHh9aGm2cu6LZp4UTj4yAhqrCdYZKbT}MNHWqB^g=!j!gXB5y2CV9Q?x(#TrLGo^%w_<)4li`IPXiBToLy zQ5zl3x|rashhb-Zy39bQ5_2{n7Yl1S8&ZiQYuwq0Tw7Sz*_d44*#!UPY)We*WNkW| z;dRdDR9YhI)Y$@CIa}fl&Q{pk*&1(jmSBmq4c_Ezi#I#l(N|mKc;#%5?VKI(R%a({ z@9d1XIlEv7XIJd#?2cWXJ+Yg!7yb5d_9k~1_H_0k_jmTihn)Rzkh4GCJmMTc9xNQ{ z97rDK9E8)HgYjkO5W0EKIgGqOxX?MA{JwJpe&!sBE1aWnrE@f{a*n~(&at@0IS#iu zC*Uv6iFn942@g9b;}Pc+Jno#z@J~3Wk$)Fz3De2Ggc+EdFcYH*rPwy13~x!8g`E;+ zD;YEvP1LMJ;g~>WSOYo45mm ziMud0aW|$V?!i!E6+=!(wzR}*%t+janTh)`EAaqE5)Wc_;vvjQJc3sy9>pe!$LaSf zbSg~~Phg+K8tk8V3Li>5je`=;;tPrAa7yBNd@<4CbShI56PylZT4ECUCE?qNF7n(& zH_l5`X?+K||DCAg!bBe~NetjeiK(JiJWVan&DGP&2dap3w%1MCBBi=3TGv?#y68naCTA~d@HFf&Pi&Al}YXKi=+;? zEvXY$C3R-VzT_@suh5^|l}Z3vkICIJHMu9ICHKNma&KD0$$iM_!i?m;RI-x$QOOiW zlKWH1MyHaOJOE3Q2jU&cgQ#~ww%Fvs*fn_wj!zzjlahzyf|$zyR_@;Ll0c>*3yo`}biC*kqr$@qKn6#P4RDxOcChKg%Crn+WenrkM8T%{Ox zm0^x+7UsHUW4>z+7P!i>&@~U^uK8HYwE(YkEyR|tMR>hyF?Mh*!H%w_*w0mg_q&!c zkNuIW5!Z6^0OV@KwE`bL$)zpU~M;_N&9O+t5Wuj{%`B^mnKcbR6P56pyGkJz< z3%=pninCnX@J-itobB3y<*r@ywaB%b{J!u5*B&a1kuA_wg{xiFxW=^)*Shx8y54nw zybig#a2+K7BK*~Lh{_@4*yTDx{>^oid;~e~xQ>&L3Xi)^Q28A>`?zYze;{Wc*C{;d zI!)yia)fc6C7(v8a>jLzd=@zqxz3Z%A#2UWNl`g3bfhFCuZW9p^N=keC4xmM zIantpO1&;}g_Dwx*QFFvX^CtJDKT;@JA zUD4z2j+ySBnC0$8Uj^>oOl5nkr*M{eZqk5{_~;5F`nbkiJJhVDVw z(mj~U4elZ2R>BhZFmgxtaO~tBfxX-#>E>?abAfvl-sc{T_q)g7L+-J(4s(wq4;4P< zoLZ1t+>^*px+mj!_Y|Dso{H1m)9C&cbSh=;>G+1*_}`s5?wRDbglpZU zcT<@NR8{D&Tt9uT9<1WYT?s@pFdp_=RFTg$Sg$!pea^`g}BL9d^WuJR7{^VYQ z``t_NXLki2aWBIf_i{YxUP1S#gs0uBsQf8B<6ccZ>t2h0x!2=4_eT8NU5V%2n^Ey> zL5F86`aRn))w3PbJUcMt*~O5fp55eJVUcGKIp(RtOFY$hnP(q1@a)Ido&$KJ=OA|W z9KtT1BY3ChD0cN6$9|p@c)zCxU-Fz{_|t^bJ*TO>EPTatmOR6A4wrb&<5G`XC4(-cywIp@!={@09SibajhqW>pfxI=*h%Qo(O*7$-&K@C~ooO z<5!+S-0F$p*Pb|T^VG&~JauuqrylO`)W@Bk2Dr=95O;eT;rE`#xX053_j;OQm8Ti* z^EAhUo)-A4rzIZpw8F!l*7%#J1ds9eY@C%mZSi+cJN(1b9#48Y;3-chJniX>XFOf- ztfwpf<>`*+JU#Kerxz+}Z*-`A(5d#tB()!=sQuBc4nS2Mh+cIN`qaVb=MQ!GE((8J z!+BgCj%n%$467qCQyqm_>S&CpV=!ACi#h5z%vC2~o;nc=)Ja&VPR1g23dYo_SX-Tj zb=B#3i8=%8sWb6XwG`{CW!ONSg_o!`Zr8*CH@q*U5L%qMR={c z7_U>8;PvWKY^7FUYjqjkq%Oxc>I%GBU4^%(tMOKKE#9WC#}4X7yj`ut&gy2oL*0U1 z)UDW6-G<%N?bu!2fj!h+*i+q&z0^H;w_1hwsMXj<-G}$8`?0Tj0Pj-|;{EC&?5`fd z2h^iDKs}BRswZ%uT7!esQ#e>XjgP2jafo^jhpFfBQPq*e{RA}uN2y8pr0T-asvF0u zDvnomd{*`0L^XiVsj2w98p6qH7^kS2_@WxYm((15S&ia!H6LfFh4`u(!w z#zkrgexSC&#cEspP;G}FtL^aJZ$n4#RKN;kZK`fxFa^_?+)Uo)3Iu5JV3HYNr5%;N+@F#UL?pLSa0d*?=qE5qu>U8{7oqvmk3?J2+<8ZA7KBl$A5n3x8skO!@v=SVpwZYL^TYO4uhhwz%__Wpm$7-GM z8Lcyp*Sg>Ytt&pOb;pTXPkc`6g)eBmaf;RlU)1{IRIMMrr1i&X+5mi68;GxHgYZ>t zFutY@!BTA)zOD_&GHnFDp^d~@+9-Te8;!HIG5EGN7R$A9I9Hp1^R$Whjy4JBYm@O^ zZ3-^brs5)P8h)Tn$Hm$VT%ygykF-);s+Hj<+ALhA&Bjl)Ik;Ra#}(QDv=;tw6cevQE^#tTFkGk$c zukJ>lu3~@^`?BuCG(CVJJr&dS5N7CMjOdvd)gxG-=U|~8#bP}lYw3kpTaRHKJ&u>? zwXwcl7cbN6VFSHBUamL5f9Vaek=_We)EnbfdJ}A_H^r;rgy;(dRM$%?~Yyco_MF;3%lyQ zv76opyX$?ihu#l+>iw~oJ^=652jV^YAncLYQWJ_;Yw zN8`i#7#ysR#YgmUI82{_kLnZgF?|v~u2061`V<_cPsP#tG<-^*j$`y0__RI~$LXc` ztX_r_^;!6wJ{u?LbMSe+9H;2>@I`$-PSqFS%lbl`t}nt@^u;(sUxKgdOL3-Nfv@Sy zuvA};uj?zYOkahw_0>2>UyJ4XdYr3o#CdupzN>G>1^O0zPv45~>)UXVz8x3qJMbfY z7gp%I@e_RyF4L=Uxn7N*>HBb{z8_cV2XM815ZCF4uu?yQU+711vwj@E)KB17dJTT7 zpTZsbY22xw#a;S2{7yfQ-|LPP_Dwwjf6$Y#T6f_--Hku#D(=^HJfQpV7d?On^;G;- z58+`wj7RiL{7sMGQ9TEb=~4V$&&LybA=c*HT~13afU z#J}}M==3(mByST;_BKVAw;8&<&C%m+fvUG9YTj0;dt0N|TY^4s8}xhIV!+!DgWmQS z@^-*eX*9eAJ+Ev$2#5tc!_r) z*7FX+%e;fJfp-XA?j42=y~FWe-Vu0(cO*9Uj>0Rwqwy;57;Neti&uNcVKeUpyw*Dr zTX-kob>7L?(mMrPd8gtH-f7s{I~_~BGw>$wOuX4!inn;n@K*0Eyv;isJ9y_{CvQ1+ z_RhmQyz{Y(cL8?yF2o+*McC8381M2f!Cu~_c(=C#@9{3fKHlZn*SiAm^RB{v-qrYk zcP$R^uE#;%jrg#)5{G&><1p_Q9PZtUBfQ)2aqo5<>D_@(cz59_?{0k3y9Y;mt8k3B z8lU#=!?E7|_>A`ej`JSG@!mr?!FvRs^&Z9NyvK2}_XJMy*5Fj{DSXL$8ejIF#p&L2 z_=@*D&hR?i?Bm`9oas%%Qm+fkyl$N3RdEg{1J2G~AC`LqIM)~>5eO%#ffGfQXakaM*uJJa; zb>1ep$=ehwz0Gj5w>f_4ZGl_7Epe;26>j&o#vR@g-05wDyS#1jJ8wJO?QM^Hyd7|_ zw-Z)-JL5iY7yQZF6%Tm3<3VpvJnZd-N4&l9H*X(2?(K^;-hOz}+aFJP2jDsHK>XV~ z2%WycnBW_NiN0az^9@J8Zv+N>BQeuA3bTBpG2$D8*}k!u;~R&$z6luhO~gFkB)3D! z_f5tE-xMtLO{HGTHw|n1rehu746N&$iI@0F>875q3@`P~!ur11)GzbR!6v?Pyv8>V zTl(hXjlKm~;#-LAeT%S%Z!zBOTY~rbmf`?k1wQOshJ$^}@loFj9O+wyPxw~j7~fhP z?^}ipaUnNfWZN|5JTX3FlD}LhJhAVvAaiwnuuJ!H0O}^b&>Dz-}_^NQTuNuGf z?PD&s`1a#hz5}?`caZwmzC-w(?+E_jJBro5JnlP-}A&&IN@M(V>$NFpIGyb|b&R-A5`|INbe*=8h-w-GI8{u>Q#yH8} z1fTae#mW9=_=3MVPVu+E7yT{qC4VcN=5LKJ`%7@TzYV_TZ;Pe=cKC+BJ$~x%fGhl+ zaHYR9uJU)m&;4C-y}vtd@b|=x{$9Ar-y19aeQ>kCFMjFohgga6KLvmDPsOADY52Q;I{x9Gfi?b_c+y{rXZ&S&);|mX^3TS<{d4fVzZ{joJah); zV?tm7CI%K_QeY7#2Nt6zumsh>QuGBXFg36Y(*n!!n!pMVcao9wRA3dkg|KB{HI?g- zd-8#`9@qKmZR0 zQt{V72(yA=%nfE@EEvJ!V2gh~7{xlle7r1Jhz)`>eD1J%WR=XK)DK6&!}Wg2VCd;0Wv;9EtY?M`54fXuLN# z2Kxrb;(ft!*e^H%?+;GI{=rH3KyWe+4^CkTKZYEIf>X(l3!ey1qcReCsvDe69)%9& zso)IqXyKUPOe#+cp9z*yA1fReETcXiIbH>4k)K75SHaoj=Y-D(=TMm>oDnQ1zZ#r} zGlTQ-wcr9Q4KBpjgNx{^47tV#F2?fU5-M|%EjGB6d?r{yJ}pd7T}BS4F2{`26_}a2 z3bRsIVx(>N#fEWVw34$D)|wGmQ0P}@2UAz zP9R6cv_fo?7QHhV!2INxVJ82E6yqngD%6#Ffw8rGm z)0*Jww5GT&tr@OQYfhINkn>1d3*4I4lFHY}F(j=O9!zVEzowPop|m!5IIS(+96`mlPez`7ga%+JG>}R-G>Duo%m@u8XNHDgR%jSTLc=jTGy-!% zBQX{lg;#|}W7E(Wye2djTZG2pb)gA(eP|-K3QfW`p~;M;ZD5xP7nJQF%f<+Si@=s5Migzoec)Ki51^cr#? z{S*e%Ph&>qu4b)pVsc_h2(C+ z9_cZ1pY%B1n_e6Hrq{*$((BP>KV;xj3d*V;8W>M>3)oG zQhGBg&k3JTZ%%zOaxI$Pf;2%aEg4dK)ZHZ%bt^ax_bC zM}7x6R;0Hlzl&@q=^b!MdMB(%?@av@WSdFvf@{*d;)e9@xGB9Sev#e_e@gF-2h;oD zpXq(+>ojsTnBI?k7P-0$_eXbl0D8g$u}*jpt@Xl#$(JCXn8HKImkKWn52MlmIh%xs zlN%yulkf;~Bjjo%Jd)fPxf%(NA~!+y@$hJJQ(?347%Eo_uL+N(-W<7l43EPW;R$$M zcp|n5Poni^pDD(JXH8-cs7+`!r|dL)E`6Eez=_cII{M`^T?yZ^T|&LpA0XcGFmt$ypZ}+!l%QF zsE-wn3ooYrjBtE-3H1rcCz|k5d@fvplfuiWPYy39KQDYCyn;L>yb50oucmdXa9VgR zm6wDshu2e|j%-)qjpP}~(I#ApGsBzlweS||rN~wn-il@6ZB*Vs?q-Cylg{#QB(4ka?tI2zX)!}{QU&H(Hboc-!XBUTRmU^pd8JYM@Mg+%YC_{KQBcD7$I5DG;{9Hy1CuPL(`Hb2)IioI?XVjznxx#lc z>Qk8~oS)Hv`n$-rN=8F`FQXAI%xH`sXEeczjHYz+337KRqZxU5MsxC~!j%~<$m=p% zQeTg(!Hib8DWf%&O5{wDQ9}MEqYZhRa7RX4Dm#U{GTKr9Iio!u$moE-WOTxV8J+Rh zj4pU6qbnZH=uTfpghw-aQu$4IETb3sct&shJ);k1X776->%H6_;GDlMxgshRwG2~}6$C4)q zpU)geel2qXzMVOd)^g-3F>?}m9&(kKIhi~kxk}8Of(tUI;?m4%xFvHsew8@`w`R`7 zuQN+=S7sUhlsO9zX3oaLnRBovvz(!w6#khxkIE_G>CE}m&mf<;GZ)}rnG4aAwFrG# zi)r;EXVR=Cn3lB^Ls=EnBU#JHS;FkBYb`d;T2JLl zf#Oty)W7n)L*ez=-cF)>|J+iiA&#WDISJo~Zm$e(GXYIjPvZ`=aRyEGf z+Q*RJLaxBG_LJX6w(6_{_MCNuyim9(>nN4?g&$-cr@mOY zBOZ`*fhOBecHzM17)_HOza_-CGHGO5X za7$K#k5B8!U9zks@>jyIvs_fRA@^sp+~n=Z^N}o-yhFGvOQ*6^_+6Hd`flX&LRNsh z2RR;QrIM?VPY_ulaQgC*G$7}rLn(?hBo`w87#3+nt}kp5X-wsE;nk5Q z)SC*MMVeB-207bCnqj+0bL<#tfe%Gm;^UE4bTbk;Hbz?G=tv2b36VDB@yJ`Uk+$S# zh0jIWktapkIUD$*U_i1fr+kzTkc z(wo)~kn7|~AM%I7k0O1kED5mnW0d(_;@YBdZD$CHJd=?o*UM^e_8BArR z@bkzJ>Z^onBEzV!6>f+Or@mgeF*1UBWn?6kO~NlCqo`~aZi$Sh{-tnhWDNDMk>hP- zEcqMcK73>x`CH^pU}OS$C$cR?CX)9c+frl_xk^|anM~ye;g69i)b}CVOk^saj!eU( z?CF@CJp=XZndr|h#b9yXQQ4oppZpW@ z%gEUW$Uh_RW@jHH|04V~`w*2w!Xw#7s2@g$ay0uW`8VOQ?Bi693r}R9p#D4Zy|C;W z@*l#J*{7(SLe_HjY4U0043d48{1<+!kR zj+=TNWR2&j*dRy8%X55qLrwr&=cLk2Nlu7-qp(d*n0#|iCbrFqV7r_g?3@$D9y$5g zGp7*m&WT~4oH*W}QyYio)Wy*`^)My3KDu)opeMH>s=19&%WaH$ZW9dTHf8KVGCaPi_PtcZ|C;H^4#9k=jHYx&lSFt+n36G zO8ICmsgqKW_ z-DoL&)r*#qFA-iEokgx6olX5RWZQ_&AzzMMZ%51VU(tEkGCCjch%Ue`(S>x=HM)p= zr||CRVsh{366*ILpQ)ou@xEvUm43)Qmgq8kAi5j}MOWb9=qg$t5e|*6rZPnMSadCU zM07oliEhLR(Mo(Fx*4ZLw_s^>E507xhGo(1_(pUGz8&3#<i=>=phHJxjeBxi*NNBkx0wFwyhm{m7OO9*QPW`Biv0>Y{!`cr@y!{+sYvRHc4g_(xQyenMCi^-({GTzf3NOoRO}znfM9nK9HxxF?YeVH<$lZ^;w&W|2@5<%1BR3H?&1+BPYT-3`9jG@$ z?r-FEBDWE?&Ff6%7U8XVU8uJcw$JNI{Wj!&S6+8=N94X`UQZmH*9)J{>y6v;`rtQt zeQ|qUKm0bYKkmpIfIIUB;;y_w_+8#$+?_WBzt0e-1vDUygI~=iyiR^YL*00z8tx5P!>Ggh%riGtI|@f8;Nr zast`r^Ourqgs1W=sQigcTmCZg-^g>Tg5`Ky!3yk9unIdCtj10SYw4zQ!FuxT!aE8! zlAkE3#8CyC@yUWM_*B7G98<6jpDx&rV+(fB?=#3}tAbrPzF;?%3CPuQ!5*AgP(@`* zK{fdWYQYhlS#T6*6&%Mm3r^tdf*O3Q;1td& zIE@<$&f>;`bGWnMJi|X$;0Us;gvSdKf;<;M)?GmorWLv{ROrU^LKSlhb&MAJu&^+I zMTMzYuP}s{7KX8YVJ2Qy7{LaGIoPByidPlpW7EPyyt*)k%?jh#qOdkzS6CNY7S_Y- z3+rR6!UjywjfD-#tI7Ao&dPt-ZoQ_mr>R5YBNC`>LILB)k!trd+VYeH|)C@Q)zt!Om$kT6^{hI+a%qi8HS zvuGS<6-~fM(L~HHnuIw;lQFkw3Py{jVqVcSyt-&QHY=Ke*A&gf=0&A=ZBZGvD4K=W z70t$$MRV}_qH=6iG!Jhmn$MKnShRrLT3AxFkjhQS(W7V)dAM*y(PAo(37;xjLVXOf zKNc+|PY_Nls-W_$@VTO8)F&aIVT+cNCnI}k(F*buWDhM`MV^Z6l|`%Z)uOdHvuHi_ z_lq`?7b2fqiz>;BgxiWXlfNn2g4>I>;ox_H)^Z2irBbB!cVhO1ZZkLRBRs8@%oq# zTg3u+Lo5|r$3pabBeECA!q_I3iCtq6>>kU(Ua=_M+>KmG#`5u=SRwX}#c)6@jt|Ca zcqG;je~b0UDocm&gPNAXBb@3u9`-&G+`BAvP zcnOuCk^9xfOUb_=cV&w!$iE^>wRjo+R=gZ*idW#t;#GLMcr~6WUQ3r}k$0bp*JDzA zBl_Z%m>S=VS@A8H9p8%4_%Zi@UD0b_KKgvyW^*^cl<2g6F-N2yq5 zi6>zHcoIGkcj3sm8=r`)I4Z8=lDH2)jtB75cq)Dt58=vq7(b6^;@WrwH^g&rQ#^{B z4RhQG&~T|aIIcgt5$EUU8@h)snr+j*6N3s)aw7g=(-c|81MDr z<4=r;Ol%RUs=Y*Jl1!4x?2~1ZOlF@Up~SvcRTV{pG(~MyRr?Y|MC@vfEn+A3rG%=g zt*Ba3MN?H2?>E2yIj86Cb)8<<_jB%Z&x0(_tcgICVj#vS24k#Z2&xssFiw$$8pR0I zDzZ_h$U(hg6dDv`(5M)T35xNUsF;XJibe5tilf!YjB8SE$`_t#d_wU!jBaj*<>NN zb&4V!rPzX_729x}q8RfPCAdtn3zsYQ;7Y|lT%|aGTNS0aO>r2vD~@8Z;yCVAoWui) z(|AyE21^xXcvNv7k0~zTam7Xc^s|af%x8pUipy-yA@^~Lt9Vgy9luxHz)Ol-_=Dm$ zURK<}D~fv@e@#)&d{y{d@qqb-;vrU5K1P3K1=dtP!CK0v7^-}Rjg&92iSi{jRlde% zO21H^_bFxALg|k!l>r#048&H-APiU5M1`_8DwV+)p$x%DWhh1|>!V890Hc)+F;>|a zb;_op+#4cig0eZY5qZR`Y=LHF7{)8ZF+r*1(nO&}8ObI|XjQ71J1JwZvr>&+lp2og zirg9~b=XsBz}`v|4p+uwjxrHHRa$VAG6i#$R-CW2;R2-t7b;!2Na?|Rr4JV?+hBn* z1D7bmXWa%Cr6q3nVymECZavInkK_QG|_KDbTU7q=_>;YnqGysaF7_muAVG7=d*ovaw!74n{?cLVLs*Y#%X}_qPM`{zi<)o)HtVSHvXj z9WfdEL`=bVBc^iX@QCTmS;FxVGnoq_X5-R`xwtGM7nesYz)cZ(SR9d$yCMqkKtv%P zidcrnB39t>h*fwxVhvu5Sc}&q*5loXjVOyO!hpyvsEFK#Ns+~9i7dh7$X%Ecxd&4t z_n|fN0B>O$a=nf$MNi~m>=}6!dqp0{-jOGg~G7mwn>^Lt*8tYE%|yb=}pg!xC|t;na$KSe&nr;#u4&&ZefGV(Q6jq-bg>tK`& zt3~-^KvV$AqXOUH)gEEZs30~qkk@&lYBJXn)`_akCRi8}70kY_uwGOM`%vVzJt~yB zzOX@5eKv0j-->F$+$5?Ymo`N{FHwzA8PyacqMBo5R11uX3PV*?IO?L59Ir>tx~NEW zM5)*~k=x;@81zP|F(XQYZKHJ9F3N!KM47OCR6KTwO2o`43-*ah!FQvq*f+|C??*YX zf0PS9i1OgZC?9T$YJ){l8MryB9d3zgk6WWMaa&X;+#b~hi=(>X^Qa!YZIY@N^XsTe zgH(O6hN>^tRQ1DPRe!9j8h|0HfgB&H8q6FaRH=qA$Eb#(T9t)ysu8GBWusP=gKbr# zu$^iQzM~q8V^rgDtZE{TS53kRs>%4dY6?zLO~o%%)A38yOq`;cjZ;-~`O~K%-{GLj zWuAeYld1*GvxIY0d2D727pn4^^Hc>~x(K;-QWfH2)iNwlt-!siRd`UfhGR;FhgECY z91P#OR-AyVU$H5#j4TAu}1VstQCD4Ye%2KI?-hq9DN?^Mqj{?=!;k{`Vxjl zU&eQ$uVPX3b=(?#1Gh!r!tK$w@lf;~JP~~lPezyHsptp1C8v?w)#!)JzeGP~E=PXO zPjm(I1L4EyC(MtcpR)fw`WbVD@JaLwHh&2JjDE@fDe}5*^lRp4$k&ge{pxdnioEI- zEn|L(e62agpE*Pr8WX_g4dmJv6Nt@Yg7EE_n%E+yHnxlj#>AKqOo|ERcnfmd7*n4) zHKqY`iqIO=~>~q z7zdj&;rSRB`)`Hc#dz3X5MGS&vHu=<+!E7<`3K~2OH2k{k7;O!Q9f=Zi! zJI7{Ym)IQaA3KV-XL9Tq<}ZZHW5+VDh#ikBV<+OO*h%||UUI|UEMPQ}vL>3Ar1 zCLWHRjYneV;?dY#JQlkEkH_ZWiP(HR8C!s-Vhizf>@xf&b_Je^U4_?U*Wm5gwfJ-F zdfuu#$h~UpM&|pmMa=hv<*{3se~I0O4`PeC^jGASuGkWM6uXPfZ?Sur9}6pD_p$jM zIjdt2;GeOj_#*Z&{uO%^U&bECSFtDYb?j-ZqCSH%bs1JwpGSZ71+1pNhym(LSWA5w zYpbtf9rbnolwjm~t-iq=g1m~QzJ<-yw=qn82P4$?FjifTaq0)CQ9nej`Z4O%6{uG~ zL4*1!8r9Fxq<(>B^-GLbzecOt?@d1AY8n3mgbn$;tNocB$nynt0J_wHY~0A>3Uv^A z)iv2nQ`csmDx9tkW-|l11y+YJ&q8i{)uGIDkk^pa^_k}(-~XU)falZ=@w~b*eyeVZ z7u3!1J9P`Zs1C!Q)!}$Yt;DH$Lch2el*g$tBu<0P<8&AmXTbP46I$cqv3Fb| z_KCCLyKyNvG|q~{;%qo3&VirBx$w(44^D~m;a72OaBf@%&Wme@8{^vJrnpQjiR*+r zFnc#TFp#08lg@zo4p=6 z>ojwjjmTN2$z?VppBK#n<^*AqCXY=b`bo)}d}a%B>#ZqZP7zu)g>2G9J@HAQUR7k;4G!aP>9 zjZ4QN&uBEoxKLAqd753gNV5l*YW88V<^V_TK+XqEDf3R@Zp~pfyM%i*N7?U1UiZ)( z$0M4PcvN#5k7>?u=?P64^Ks!fn)7VRG#A*M6`s>vWOE)luQZpKF9Y)Z&i;<@p5_7j zyTbdLhwRId+fU77<_E%unhG|*3Lj~nuz!qPTQyIaE0EV)G|!ly2%lSlgUqnjp{XwJn&H+AwB?FhU#7CK9=I(khu%$TNCvBy)^VtyQs!MZSisjbV-x zYPD)MI-xbW*jj7h$Tq?ZZ3>%o^po0Yt;}ta zpCYKWF~1}1pmngxMDFpmF6K_iJ-*h%+(p<;>toYZ*j?L(xra6b-_^Fm_q6RfvLABI z(q=OE7Y@*NV)KFULv0uK1BHXN-PjKj4$<~tKUDa!wio+h!Ypkc_QR1|Y;9lWFSY%c zCkr=e`!jFW4q(3pdBm$7$h-}C#H$_5Tr4cn4q>xHxKlff{VwF%r_EwMr5(Y1Qg~XM z&E^~7S#1vcGr}_MDE8-&M`GGB_=9#VUe=DsE82;8RXYizU=k8oG^a zg3wQ@r7L2tiF_BaZVPj5VX$r+o4UyTvaXo9p70G_37b%1ecdkhZwlYi?P1?Q*ig5R zeIsEL-2wKEk?%p$l`=OKHrE|y^EPttraQ{qQrJp&oJ|;V@1{G+94=JqPP2(X?$>l@ zn4^$q=(;lIXyo2acb+*`7^l0yMvZ=wR(FwEgWRv_E-~wb2Hj;gMxj}EmAwhMU(;P@ zjz_+uRd<6q5xIBM-D0)~Q*^i4qzcn?ci3BzpLMCb$81CH-E`&54&-r{?g6t)=+Ql7 z<3+CBy2s3|k*_=JDwxxSZFNuBWFYs3x~I(Tgza_D*mOYd4RtS=I|@7NUb5*V?4o|DKMi>nudB~I19=RoYrs59I7ioz&1~dvBT?_V`gqw9??2C}^*VTnHZxL?ODcNjC?#FeJxI?F6vsV|xya)LTxK7P{ zNO(l2VRIC@*VgHnk0Z}YbOz>=$g>iiiTSkfj4qzdH^{xYE|K{xazC!KFrO2Ct4m>X zL3mMTW&a&=Kd!See~;Xc>m1BKAm7KOb1`2*?#Fc==4;5SXF4DAkHVX}Hf(Mo_v5+@ zysc}84|MJEcU>kv({2ujn)h}TFN;plQ$2?u1k2CZII8$GUv-HbwwtfZ9(XYa}`ZfI8 zdB`i_`nAmSk;jet^|(;K5x>?Kv0ty>!n{tnLBEa7M&#LqzL>cPx&P9aFmFNbzx2D9 zw+V~&d)RD8KdD5&k9h}j&!s=Wyi>SaU&>~WaG(A#`@QHV9nc?T-jBSZr9aMm5IMK? zCz%fkkLdY33er*Gas3(g$B?sHU&ed_Iji;OnNJ}<@k4)s`5WO`{Y5rq$XTtw#C#q( zll7OGFCzDV`m1GlKR{DKz|2+)!)O1`f@IPgggh=KfvGg z4^d`#j8zR4TPY-oV-hK876XpD)5 zru?cT-d9?6*Ln8B4g9Wb{Qt-OLiZ=~5 zyk&6UU4skn89aF3;KOo58+>TUz(wf4BhY#Ll1mv=!Jh7 z`ru1LU*3{eLdn>V&1*xYe#ZXnt013W;{fzG4rEgec}!v)%v>FL^llu2LB?ThY9Nn2 zj9FO6I0A!>*;v<@gAI(Mu!(UDM=FhDnH55#aXhohI1$apNf>XOj0wgmm}s1eNyh1D zG0wzf<7`YZ&c#$?F29@IxPaLvbQts4IFU!x#(ZpNEWme+h1lM>3_BQCV5V^ub~LWR zPR6y^*|;9N7&l^9V-a>UZo%%xZP>$Dj6IDd*vq&JdmH!QVB9$r;T^;8{<7ZV=TwB#s~PV@gY7oKE~gS6g3palv8w4A`kP+x z_EbYYv!<8K)saV=rq?Jp`8DG6YmznMIhx6zxrVToDS%CF?-PeSx-&IJt*JR19deB}wLp_849%u+j5jGU z!4!#!CKb9&F&ytk?!QcG>}b+pCzB34n+({+Wa5}^rg-MA$ScgIMCL)lAtnp+P*VyH zGg&d)WWyYj14o%$96uWQ9!`^o`E%sn%H(7I0(tIZYQy}c@GDaWn<>bnDN{SB44{S^~Fo3er$daUNQA& zb6I%PG=TY6(?BkLD12-h%;u5sH`5UI707LZX&Cbp;ZsuKdv^CV`uc`^o>r(g~9 zRF0{MyzXkA&Rkm#n{eV zg6++_I6l+7hq;5Wk9i;SyXFHp(p<`=*~o3a`7m>iaFqEdn@^Eje)DnW(a3imnoly1 zL;i-i`84wc;pgTvY$gdOo6FdLA)H}8&pgw7flFtbFEY;(E-_zXUTwaNYs^=1gZVmc zG~d7?^DU0wj6CW#-)7z_+-|7Re=OlDtHXyf(3EeO$p$BFq^upl@eQ-oVUmTgxk0Zw<^k*I|{48Mro3X<2 z2?N=WL(aE^!ORnoGc92V^XI}Z5{9vvjJyt?ki|SjI6Ywmn`y{*@g-z4&k)W^$YC>E zI4@xo`?p7#xgHX7|)z9EKHclW~p#_!X);~gewvzvtNnaDke<9wFy&k zL&9|S86IS4%gjF1WBw-EnVd2q)wQPIu*2B9peCI%$c=F;lOdz}=_EEm>D3Sko@teF(bz83N^Nvh9W zM_4zh0h?f9NK!-QdP$8jG^r`Rk<=XPC$+#glfw8_4Ul_{q;PDQq-4`LDU!L7FeypJ zY)Oj2)Fd^IOVZ%@BpuF8GT{6q6D~-K$GoIO+>vC#lSwJ~O_CLFCE4(&BnRG3a^cTO z9=wy}!@Egs@Lo~|-cM?W50cvBqoho%Na}=7lDgotq;6Qn(gOo5z3@#-A8cgli!Chu zP+{qhYRdrBS_Y!gG8p46LomrQ43jNcXtRt!yCoZ4mK^k2MqxM080>2qi{mWgaiV1+ zPP0tH>6Xbj!!iYDTBhPG%XFM=nTc~OvoY5)7w21YaiL`aF0tg{a!Wq0wiIBIr4UOj z%W$V<1@5)1!UL8yc*wFAk6YH`dCNvVFW*~=m@f)1S+=nG0lD9?Y{LhZVti&P!55ZY z_?Kl5)=J)owUZCv8_A{EAo(!9oqQA{laHe#`6RYaK8=~lXRt?d84gZ9kJ-r=@YCdr zI6Cq@lkedCXz+ zz&*)NaDVbsJdpeh4<^6hy(>koN69boeDZ7jF4?asAAw{UexK~$l-Hn;GbcF!?OeN_kmrx7gRxWU5H_8KT~mj#>4LnLm72xeP55r=2sZDfX0z!l{2(=l%>d+f zICT{BpwuzU1BKbCW7&Kn{4{ku`yAw>lsb`l6!OY#>Llhd$j=*0oyrxAuF9|QF zE@Sh9@Tb%j%y&~)VR`Bre3rTvpQomCfX?!z~%2l%!1ky|`#DK@hnX44$GE?bXcqV+hN*4C5EKIHXD>uKgT!VK#f zHf@o|>ee#mcZ40R=h?IuW?C<>?w+7*30a>AwPe{dX>2c@`{l4 zI&&}N6?p3n=03u{)>~}eL%uWLdYk!u;Rn_`Z2BXw&s*;?4-gKtma`co{K)!%{b1n` z>qGWKg&$iVvmYkRvR1Gkjy%S*KEaXJruWX>ky|jU zUo#%#2`5`+&3HB;{L<>rehTu6t2Kams&KkBkj*sV3~LbknZnuDn(Su@=U8jApDWC@ z2D6`sJl?a0FwaLnDbE_pyb$?&_tyH%i-e1<4cHVQ_ZrrQ%!R^b*2Zj>3YS}(GOw^U z$FHp|aIG~A*IC1Hy;X@DtdY3Us=`gy7%Z}?akEu}TdX?VYBk_Cs|mMTcBl#7w)xsaG%wO`>k#8fHeaTTH9f%wLKoPX5wLMCp=>9f=8|0 z@R+p+9=G(%KhKS^MExYkxdv9f0Sp1M!M=FkZC|!3Wl1_{^Gx&#fcyg*6-h zvgY7R>nMC>9fMWU#$vU!@feUc5$mQ+!qBwI_-5J^Y>+k;-%6W~4bx^~leF2`G;J<6 zOUuRPX$vqiEf1s8@==vmfYE7%s7qUh`m`08l(q^jX=|`;+FER%wjMjAZN#tAig0Gy z7Mz{7t@0d5D`s9OT$EN)c_tvQWu@(^JO_l!()O@fDm;7E@Jd=4$NZFbp81yWcG?9tKO>LR z(k^0o+9muo?J_=2yUL}%34c$!&Za{6N7@bcPm#}2+AZei$mb~SHuGP|qY>L3tYf=} z!M1X2X?uWSwujit_87x$6{xU1L8a{}M%bS5J47O{Y1>|)(e@Hew%2I3`8DS;o=t`c zHh)aE1vKa9DhsW)KsKpDw=IahN9eQFWbZ}3_rO-0xwY^eTQHmU$mh-$!kmfR9@;{& zv#maMu{FT1wuac#));%)nqqHTbL?Ylf$!SF@O@i2_O~hV16w2xu&HpMEe1cbsd0!+ zgF|gP9A-1%$2JpwVT;GfwnY5WX2H3(6r5+XVy?}G^KA}XW^>_kn+I3ee7Mrq23OfK zaJ8)+?z6SW{kBXzVC#ejZC$X`)(sEYdf;JOFW%oH!n3wMY|bF(kF76rnee==ADeHH z?;o@EXZ{Ykf3yw2OSXY{%QhIxZ9};97v!328^-*r@R2Qx%|qd1+X(i*A!m^-oB4O) zAGRDePlV5GqnQ2dW3aJ(EH<-`=g8*57WRp3-WImBPhua2oJ;n}%;7?%eF__eFv32S zeI#<8*rzk62(9*+Y*K{|`)p>neJ*_0-z4SNx0 z*|)G6Vc*6)TsYER%qAPT*Rz)}=LkpHcd_|YINH94{TSr?3GMrs#|p>W53m_0oM10y zKM}cqv>#@kB%EwN%H|8nvA})<*Vu32*Y?}E)_#Xyd(eK5 z`GBz0Ue4waa#q_PFdsqggX|BPj|orMAG0|wJZZ0Be@gg`{R#Wi!td-)nXlWQap{l9 zcgWaZFyBPZbNfr?pOELa_Sg8c-S2H~Gwm|GYxl={_5i$Z55#hN5dLDX`8MA(BYbGD z&E{9+yV2~y%#Vb>*+ZBs?4kI(y*`&dL0*xzH^8U%hHU;sZfWg}@wvSzzOXlE|I*%q z`7hyHjxgqij&N+`P-0_8BsOuVu!SRr<69!Pzz#KYE1|-nVH1vgUy4J=tP~D%7}yL( zZo3>N<{`pij(9dhg&#W-*=HeVro+NKLYVDHVKY+riNnf12RSnxHs(>nF%Act(ZbIh zF7{)E;~gIMXDH3jR z3}C+%d6eZC$h=*+!!ejmv2ed*2>S!bt+8VmbE)vKBa6);;U&ii<{uo{c-fJIR~)18 zs$&dZbBx97j`8@TVn;w#5=eC?QtGUsgmtg6Cl&be&-g#pf7 z_SKPBpPUPr<-!`yJT^hXn$CRowUB2k&I0Co!Z)0SY(j+%oXgn1g`9iN70iuz{Pp~blelb!oGCIzcVsm=q;R-w&V$|g-{cOGW%K%VnDk21T29_Mj3ZlTwClD!Xk zwBS6AZJcM=q$6KFca|}?6~5y<&!(NQz4HS54#;aP&Wp?)k!MfNOUylmy`7iY^b+=U zUS)pId7Vr93Hv*5uz4SOe&oExJWx2;d7I5g$fF479USVs$7UFEPvI=bEaw9p?tI98 zr1LTJ2;mB61@lVh6I|tdimRQ^aGmo7u6Mq~4bIoN$?4aEv)U<vusx+)^w@Z z)I!c-R}9v3so8`g&$wM0e9NU{)5v9DZYXT*GO=lbJV$WFGdB~y?Mh_RT-d^8Vc!xt zhg~Vmt%M4fl})%X(q&^Gg`BG{2eVqJak<#U3AHW{dmZxp!sTN&AkQ*fZP4P%V3Ukh zq!d>>=2T&tt34Yl^3{J=CbLcGaCKtiL|)f&bzyc3y{>L-JVKwV2m98@S?%h@oGxtZ z>cb{O*v{3L{X59B8&^N(4#JME{%kUZom>OhcSas3y9P3MMP4^>4QB2x?CBc9riZYX zYZ!BHR~GhhjlemsY>u2O%ys3knTI?!aE)S~FI?yv!zNFd?;6W~k#MnVJo^IV`LAmt z^Csl%bxmU4EZpjv%w`L6o9vpxyiHi_n#yJe^8D8|oq4Blw`(SwUBW%C+3fcs=e%n! z^M2&k+m(x@t_5rkA-BV>JiO`3XLAdA4ct|Lw_SyJ*R_oOJz=?P1)KZGqXO3|=3j)r zy4J9Hh#>S^BL=vOFvz_HYrD5`WF6#LmAe@0x=S#`y$kEP_h6`dAHLx} zfKA+`*wlR(o4JqjYs1~gnOg}J?vu<)_i2o9pTS6X8AiF!qsn~&qum!V#(fE6-IuYm z`zrQ!U&jyJH*kRa7JlfyjRW0xaFF{R4tAI0NA3qW#QhM5x*y{(cLjdzeu7!~J|;&FF#jz57s?{>FfzU&TT z{sDPp=niMTA-wBWvbl#m-*HDWKN3E5tJwS@eCdv1{|foe6OWqNUs%JVVG|^*>(Q|f zL0+}+7?|G@Husp=G!uq<;@K;NDo-N&DC9Q8V`0_`<2@;C5|H~rkCoXf^muG++`f$k$>#BXEW% zo6St*S%xPEXM0AmnS(qd_Kd+5p0R9JBKLHj@yx4{&$4GCZuLyUZJx>O4|}FC9}*t% zOl5Nvc^%j@9WQ!j;$zQj{LM2LUwd+~igy9Zym|PxHy@SW0*vq$Vw`swYP~B^=Us(* z?;1?>uEk{UdQ9_fM4Pt=UEVF|_HILuw;12?mS7j}F5aH5$j8>ZhxtR{An!gl1BHXV z2iSjvT(i8T%tM7Adk?c2Cd~34Wj`FbW_gb@j}(65J;^3pILdpP{b=E5-ZSjSAlEN% z8S_}-7vA%1CL@o!y%(6L3a5K7vY95F;l0Furf|0RGW%J`ZM*j>^Bmzk?{zl0!aVN{ z_6voJytmlrBhUN1x0wr&*G0W|m+~$4CW~*?!_ZjHjWb_@4?Zwv2u8?wJEyzgzy{+_Vh+m!h?Z*wlK zK%Q@UTi_FK7@HT~aOUU8^GdIh`7hxsZzP-7LO-91y(FySi(xNAZq0mZW`E?BSf7SD z0C{ZY(=i7kkIj4r<{;#;na_m5zIZluh4p-iY(j*gJ`3|3z7#HP`a%Y|M>? zO??hF&4gh-7yFjNaG!_00=aJbe9RHZ{gHeH;4Hi?LIB33g52 zg}u}FVBhq8n3aA2N2ZtJXX%G=eELzGnSLDSq@Tov>8CM2{S2;8FT+jg=W%=b1uRLw zi2KtoVQKnhJe7VG&!k_+@6vDJrSw~PGyOK+PQQcq)9>Mf^m437e}I3aKSckG$5=h1 z0&N*j(3$ZRvofCH@QfE>GAYeZCdnkbpTE>fT2d_lmsbmv;v{YL8r9>Zxaze~U;Pa< zR(}%{s>?B{dNWL}UKdlVH>qxt4h1FznxqMVUi>^T9d`!mad%)G?hVx9{y-xh3^e1o zz?OIn2H!%w z8@veb2hYJ@g6H8+!LzV>-Nh)cyCisqG^cLIx-+DCbvxtyx?SrolG5u1NsFak-QKh?f369eSNqJT38iS<# zDlLs6($Xp)G8b2QWoj(#sNyy^#dLF!v`n_!Rjc|k*-lpt{LUq>zFbz#9VD%k4R_0{ zuau2+*TPTSHL9Sce^{_UUx^_@9vBT-3mP9j=&@C zu6WGd9Z$G>;wg7;{Knm(>T20F-tyJ5A9*iU%l_a!S}QYqf~2)Fg{K8Zc)~Es6OPdy zCB}LpG0vkxttSSJ9yPY~G{*#wMp`HP%%j6;{66bsGdu=qy=mcc-?0sxfb$gp* zt(#Qc(dGyqY?CN8tNLr3E3KPV{exLqH7z|+im2Kl{YdMGs%_H`V#oAjtyNW*r=P=> z>EGhI^ee6HRjalAEyG^5YTHLxz3uNPZ~I3^deseV(yMOb()6mE*{4_C%Klo_I+-;x zf312dGe~Oaf3UL!4|Pt#Bb}{M6aSw(+wg8@hh*~a*e$B7$-i^AXzbc87Q1(g!=Bx= zT^;_%x(7*4|0+E^_^P`LtMv$yGX0nLY>$h3w!tMmGjM6ocDSgg4_EgLk~;c-g9H7K z^iGtH_&4g8DP8w}^?oNQuv&)?Go{a~xj#<*cyF~YM|P3UR9lqY4Hswkz$MweaA|fQ zT%O$*S7!Ia)!F^=>+AuzE_)zu$R3QFvWMX2>|wYyI}5jG2T64T7UxXFSvlD_CnpEz z<&47lIb(2P&RATOGahH;jKC#1lW=LyWL%yz1y|-w#nm~}@#`FZ&+1Dj&Bi5@X5#Wm zb8+RQTwFbA0e(FxPx`rf+MIl}&k2&62mYB`AYBdoD8G4~tARuFgP1?g5A(YkI6S|s z*44m~`Jrq+$q#4qX?}j%X3GEcshBlG0jIWkYagCiHok1;Qj@8`%x@`D_? zNPcL^o`^;ABOJL%zIVwk<`W#bO#Ta-W%Bz=Drzp1-{r_<@?ZJ2%jA!^bh-R5euw4q z=SyA$EtkLI(&cig@FjDV!cg{A3&Yt|D-4lV%UiNpEpJj7gv|=W{8r1~E|gVYEpJrl zhpjkrwOqlGYvj>|rBQ3-u^hQZ9>%BfA9Cbo`5=zmEdPij zH_L}|vkp zfY#C$+C_)xG<`?csGOcr75-`l{{*Dz!M~XG^xakSCWPjD2=@I4t1mVXfWl_M4C;7 zw1$ePgbvVgDx*tulYXUFR7)mFZ%|`uMFz4`8|p~C=mQ!?pVCB{N^>cnR?u21q7phl zC+Iv~q1*I;p3qCGR+T@KLa7P0q8Kt#3c0Brb*1-cFy+t$no9GifL7Bc+Cls27@ei> z=^EXk-{=KZ^_QfY^aeF01*yqQR`ODN>Q4P=FpZ$`^cBsgLi(Dv&~7?L=jaEzN%!bC zdQP%xk|d|P)PS0ilHw?ZT-1^J(oo8#&u9|Op(V72Z2kH3X*t#G$n(i;z7K^HWz{pj z2KJnvJwvHDV?IgmpoUdX0LdDOR=<@4pZ7|zOG6O zBwi!*<8NlsbecsAX(`pH!t1wWqEzzGd$gZ=$e640y*B>5+D~h!h&ET_c@8J^XeuUS zb)Nn3ZOyL|INu7{3~O9L4c{LT9P+74OPdoGYL2o~6oXeNS5P{571937w;d^psxH zMg`9Y=^_0|eo9{FrD_rUoi%C^$*Tx7mL}6oT0n*<-dEZ}yXh=lq1GxsmQ+Uf$S;~# z<|&MHw3_C`@YM{G#q#>EnvWB$q8-$U8;=57NgHSv-J;*=1BIJsYoP&?UM~x9KIl zY3D1C^ea83_Z+;sN99!C$*akNHPQQTQ{rJ1ypE_dfu ztscCcluX@e2<@i%J-L3-W;#uMdhsd^?WD)ls5fs9jil*RNE>MnJ));%=)>pmU4AWP z(O0yeex{JVoNLs9X3+x5d5>47=uSV*r}uduD3d;-QaVLd`tvrEhd!k7G@bJ3IGv-* z^b`F~FR9uGe5H%tp+1!HA=e2yKn(`+`;mzn4B~Zo>Q5tR3~i#bbf0Q*C#xg_Wl$#? zL|@V@+DwP&JGx8HsdO0U&&T{;G?`}8c?!tlV?d25oD#`F8FZh1r&si11jml#SZYe^ zXgjsa=JuByltF!H5M@)9Pq_W0EA(y-*M(2{9FOAlChAH3X$@^5X*92;QVMx!=VyFP zlCDt&wHnLknflW@+D3cn6{*MZ`JrAkfTq$RnlYZwC#ffJe$qTDpu1$B$j67?`kdPh z(oj6Lrq0xxKA^dic;CtY3+^WG>zLt%9z3X zHj{I57GH;>^K_S9QM1`xA1Id!C~XecKbk@N=kitgdHjFsOQYyldQR1HxvilIG;jge z6}mxn7V_)pA$ztMAY6!1zeeL_u^a2rSlN~YHIK8>ach5Q<- zy_Dl9k~9=g6RCp!BL8K4>?n_RQjO)D+w|cIt_xIqCAWc;PJ`$Z`if@L3R*{7XeS+^ z<8*_bQP3(r7NnpgvQsAYpiwlDrco|!q!M~Sf6!}6Ud??Z4X4lO3tB+SXe;fdGjxew zP`x#L{wRqq(vS2PRsWjHs2M3~Ej^*H*7Ek#R@y@~*73g5Q94gosO5UT`b`hiUCLK2DUhopYI%7xVF>qcpLEw|OUTGtDE}F5WlFq@Hw$uI}bOjvmm~ zJ-q$YZZD4k=or1ApncrOk&80u41G^O(eV9T=MVG!2=s^^9O2g=<-1=_a2tG*+j)9P zjZSeNMy*MHn*UGHlt>fK@cF0tw1igEZaP9|=@Q+bl(T%Cs551jac4InT;eer$u4tSN%gMsIi`U$g2vKR z%B3aOxc#GTbbyXi{B_Pv+CfiA_9K5TS;<4~Xe0e}liQG=_;^v!Z9bQjMjdD_Ev9Q! z>u0Y2^x+-upXdOcp^J2#;_h-=Ln~-2-J%-z_?~p?LTAZwpU)ZP(zbGLH!FL<$M9D^ zW;B7iKI84CD$lviqxWe(m6G-a=M{ZP^XOZupk{yZcPwA>xgoz-d_HL~y`r~X^J}O* zb)&v?i<2Nif^bM7hIzT3UNYks!r1|uSQUhg@m%7Mh(z`T}vS<`dq~FLCB$L+CO?tD2 zOo|~BO`-~VK}j`b(%?EWX#{D4`F&^A(Ke~{u$nPjG^R7|CGhAxx;Tl`tnlZqP2 zq#g7ZMe~IH8P#dRlj^22DS+Ofw@E{3)Sd#G$)pa{n`Y8#+D~_>W^TLE$R?+-N>lF*1IxwM<$=<@B05$MU(MQMBB^$AT`>kMx}UjWQ{Myfl{%(nSqD<6vHVfvH8t-QUolb%zZG(O&x zO?&7H{X~H_KIZfm^`ZfkMPq0(wX@5lY7Txqy+v**X_A%lzakxJ=YWp3Vf51&WcNlm;mDT=yMtWPExDVeh9Q(8xVQq|VHO*EKtXcEn) z0?JJ1yrc27pH5Me3_d2Lp;2u)pXmmb)4q0G2ix=hQCsRl)iQZ|J8~X$;yj}D+8dDfm z=`E9jD1>VE<-DS%{bZ7r+E8B_-k<9_ZKaEJiyo5Z1I|nOgjx=eNjCa{T7SrG5&c0` z26Ed+vnY=)(KD((i0cgLXeh0t9rWHue2i%%?d3&6$H%-KG?21LmBsBY&8C&KfqtjI zsOoTTXQ&=Eq8`+IgiP{Kt&x15$xS0^0?nXJpU9+L^q7Kjc)!UNtt}FZzh)k^T#=$FzWsQ5p4}%=@o5DFpC+IxIf5kaO*)*08Q0=KQ=~w!68h;Kwo6g%agO3l*r$QPz zlk0QdEakQ9L(Iz@TC+Pw`rsq^^ zKGz9KBs;Ys_X6HtnoP4OkIvB#bdMg>GpfFj>o_%~A}XPXJZ{IxLFv?=Mla%V3eBVS zR7O|n9{oli=X1YEUoGZbD3D1*mT+58$az4GmU7=gzfssSJ|47*D(D4mUCz0^LMH8| z3v`Vhk>5(0^pd)*;yOYxtGPd>;WUnNX&E(K!{>sg&_Y^6bHA2JPpR^S^^r86wo@s! z-@v)Fk++rpq#rl&IiPAqysdPH9+UrOZrirVq~mmsu9IUc_Yu^WKBk$pXdCbAcFu7+ zKqu(}-J|DJt(eHLan|WZKK0LA_`IWzo;{7d6<&xl1Kf z^8oix6h%5pqSn-b-leg$m3Gr{3OLAPHhQ0?(R^A?8)!T2r(+~9e&eT3FB4N$KTZ10f9-N6yuYfNB$LjztR|_=`xVusIP;?c)p(Uw`mma$HP=C% zxf$xsv1l;AIU`Uqnv=)NC6oF63v$V9Uedajl*m7;T#KLL)ogKX$zq;yrM8r8?wJ-W zrI>eo5F(|Td#o|IWe6&ygYg@5}!A>z2j*@5}5R|Gw@Q^YNGdzU=Rh-v3=!D*o$S`sbfliYZ5yva;5NF`AaEpA{?P(V}^H#8(5!Gs_Qi;ByT3}hfP6J`=1E)7_>YAtRk zuGP9!aIa#kn5tB*qG@WiwPIarH))$LYSk{Z-|u(s^4^=qgl+7P-vbOYc< zz(&A5p}RwyLidFp4LuV2LFoITr$SGLwgR3FJrjC9^rO)B(95B>Lpwt6hTaM741E~- zBjB^pr=i`#L&E!nM}|j-4-AhB9}*r9m>fPld<0-h_^9yFfMdc(hNl7_7d|#TCtM$H z0L%p}3@->T0xSt9!foLd;fuoS!WW0X9=-%{Dc~}|)#3Hw+rqboza73kd zhVKpE2iOGI47eY>2LKO-?+QNzco^^qU`zP%@DqUV1Ga{r3O^0#0sIj78Njokp95?I z{0Q(o;03^ofS1EBg|`D<0e%&KdjUTI^Z|Yfcn$C~!0UiF06z!(0{Bh*{Uz{Q_`3u6 zZT$Te;2prbfcF6J1AYzo0Pq{YZvnpp{yqMF82&?eC-5Kf_fLR71Ns4f0sIy4H^AQk z9|1lFd;<6f;8Vb7fPaQRhXL;M@V^270qg?&7w|uTY`xSQ&x5E9Z zyN^2xu%ElHyFcI{cZ_?Od#F1BaJW0koeVhEo$4M3I392U;6%VQz)8Tf-CFllKpmhS zFbB8+f9C>D1Iz<%1T=x34}6xp*gYF?4q%zP)J?gq?sC8iKpP! zKI{J2ebIdh@TU6<_m_aT0B^fH+}$EWB0~WON5)1D0URGWE^-2(CQ=yfu2zl^*Wc{lPt;MaiPL_Uc87V!JX?;?MW{3+58_&D-W$>D$_N+y>~DLJa-Xu!;p86~wPvr1+IP6gDL)RoKuoK`Zo zWPV9g$>}AFO3o=cyX0IzrX*dG1+)WJ0&;*npaakeSOr)OSOe$+J`aD-2V4O7TFHea z7nQ6lxwz!(C6|_5QgUU<6(!#UTm|?RU_Ib!z%{_v0xOOGg>TzVwnD8SLBQ%a8kOa&YZSXJ6tdVcA7r5Bc7P`a*kZRzEu zmz92}^v=?UN*^qJx^!#lv!&0JzEZlq^k=27mA(#m1MqXeF92@>ehK^*;O){KrSFx# zTe`FK!_q$j{sj0l;N#MdNftkSswa3f$N;3mM$fLj2!0&WA`4)`|U4#1s&?*Q%s+zq$~a4+DyfcpTO z$_{om1MUYr0C*7a5a8jmBb`S8j{?32cnt73U<=?0!1n<^zzvBf0Z#$8;-19QfF8gP z0ne1p$32Vr&U1imfFA*#2fP4y5%6QcOMsUF+X1ftUIp})t#E!))?3zBwhFf|RynT$ zeg=3Q@CM-LfM1lYcHRX1vTTF1qwKA+w*kKbyi@jM=-slHLhqHm6?z}=YrqG9-vEAF zwj=brvfq~d9)JG;{2~7C1pE>3C%~Tp{blcj{sQf?wojq+W?pwAMT!pZKZjDMnDr_ zK43w7lDiP$7saQ#rvuIaoC#PAI16w#;2glY@hUd~e@o)kZgYIG+X6@emd4k*%i`O;uCSg{gjd$T;N?VjhM&K(~msWf<=JJgTWjEbn`kdfZY^Xv%S(b+;k}V}91%u5C7v$X_)Twbax| z#ZTY~|BkcNa}iUvA6e=JOZ`|=Bb}Em^@??U%~D5~m{_KkEI=B}%hZx{Kyl4JwWQUg zYh91CuE&Wh*Zs$pw8I~5B*&Fp2#S`C<4Ug3VW-(NPA<6tJf?B7jd{9tt+7;H$?e)- zUCF~bmN}L;$MWV{-dxL@XL<814HqO zP;8@5%hyXR!<PG8&ljU8#hiQ*%E%lV9 zhB-gn!$`+xEw#;3&s*w6OTA>N?Us7gQa`cOPc8K`OTA&KUs&pwn!WJVVESlWf?@*570s_DIV+(uO_K zhCSAXJ>L2|-iAHV@=mm2PqbmH#g#djVg1dpVNbEVQ*78%Y}hL+O?j^pisikkatL;_ z_;0;+y{6KPRi36}xv_Gw=G|y{H`$nPvD9rgzT0$s z5oeQiz28z>E%oEECigE}>P<^sa)@!g%2Ji%4ewx0jdaFY-fM?GbP#3FNN0};#@}#D z?WL)a_y)UiedU<#S1<%_s9CDdQio18{w7#z(o~}hOqyzX-DJy~Y4v&YQzM;kSl&sCjcb*qsx4J(sZ%XgZ>jZXnXuPrYNT_W<-M}Rxb|vl zq|;}4$21$)V=eWJrJl3YO)bXXpDgtcO$~FNODfl4&W|khf~8)w)a#b|xu$S$(NeXo zCXH(>b)BY$IiZwE!?je2rDB%aUsI4$nu<6dFE?RVv>B??QmZZHrj2X0rFL2B;EZwI zswu}=xl-|P=g?BCE!AbI)Op5V<%Nbi*iz#xRcon7E%l70p0m`7wI-IdrQTV0;B9KJ z_MLS%=zZotSl%BjZ}mkc>?Iee8Df}Id#U0Lb56C?d`m5~)H#;A(o$DhYQ3ed(Gonm0VLG$|xLfd<;m>gcu{-n%?jNQFpBer= z=rhA1+&;Xaa&O>ts2TXo@O!|0;e&A-F&$!Tec`)6yYBnIjcy7%mh0W$hH=h2bd-zR zAdv-v&j4QUeiR}895@|nFTr_oXZI*>&$+{a`@;JH_q$&MUhl@R*Vz{y${o+hIN%4$ z8E0SkPSCy1gMz;YyvzBI(EFA$9_FMkyd89}vjaFAAzm3dx{N6v8mIr+z}=Gb?$DV+ zUk3begszVX-Xgdsa^_I_e^u}s!1tB^8+cnJ^cCV5aIbSFaKEIx%lWC$!*(bCLf~x? zmN6aL0Q$wqox=H{(8Qa|iML0H9}v1H@+RoEwZ8)Hi5y?fm`?`oby|VDLstW%&V?rK zcPp?5+!sDtaN{2Ic{6ZNWWt{GuUdh4;uyBnRKY7F7w#2yrVG72Lf7q*x0R8Ok+_*L zUisW9G~2ExlHHqSQT#{tVOdD8jBFf*n?Pfp*q5<=4*b0Ew@Zsph&{C*eKP(RBhP}K zI%e|z^!Xj&4A5}*hB7$k^f!6iz`^_ zUMD=3c~HGH4SGY2sVoxLbm;hl$yo^86S)-lj0%?J3~^l~bV;dd$8m?SrJ8|CXj+ zj=-(3vN&+R+X>w3JOtbm=>cBv9(5$~almVbFrRCOa6GOZ!q&N5IF}3Oa^dtu9zBZv zYSa|wIXV@0C?s#|UFN(;M$-nEY;h+-dha%A<(+QmSf;|-+a4JvH1Vq4SP$!6j`R_` zvA1uHGwk%m=Nw0xe3*ZZCyoN&SH1>#b2)RkxtzJ(Tz&yK8)8=iuf$^pxMw%@J>Z_m z9w(4)7JLhEFTQt1Tz(?kE;NmPh5_$2WG3)q!s&G`0Nv|+L+}pZp2)E$<9^?ss=a1Z zk+TMP(~#}J8)7?wr!5{eo%E@|bwc+<$k`TI2;A!szZhW;?{$dRyUc$&v`YA-ca&cY z`dyJ@>)rjTS(drLJ&})q*X+)ETeCaMzGio}OP$ouY{4fBUKwGH^$6Y;>8xSu=L2tu z5x*E&2i)rruXokRx(f6x2@9zRdT|9^r!78a2JS%#?un3IRKXl#e1Yx`vA1-G*jxJD z_Lvm zr*ho&ME0&_{FIq1BU3^5L|y>y4!r@4c?3C0OMbS-Ire)ZV`no(rv9$rbZ81Vt1e<} zec}A6^gp`}ce$iZcR6Q(?uq3N2kNY}9Nl%=59_U`@Uf^^{xjqBB-|Yh)Qc8YLx#J7dB27He&DTf(%nM$ zh2u$b<^rcf#C_o_f&1Ovmol~yz^G^7zHkn>-~GPeXNAw1A|3j>(4Prjw2Wyno(VCP zBJoa_sq{MEf@@#+X5d}UoxthPL%_S2zXANx*uMdv87BRUu`KV4f}>+d?_S>ANGqTpi$pA39s`Q1W41l%1eZzJ9d zxZmAZ@EL*=z-e)vRCX=sGsD-V>E|ZkGsE8juC6#S!+ux|TwOuD%ef3V9lA#FZNO)S z$=@KQ?svzvGp$K0iKhThDyz;j&gH;2?m_>L?m_>L?orag`X3JbBjNl=bB+gR7j6$Q z?Bq_;&#oeVN$^jBCzb8J8g07g7~t*@^_;YnE**T0w~kVUc!%hX4dtBWw?v4~s38B0iW@E> zX3YKWu&=W=sPFZ=<3VqTeFprKCG4dmCa_#1ChUDN$0PBc6DY5G@eU;M{@{$5z`Q|v z!+&>(obe)Q-4QYuj9@CgBj~5sp$zYJ{(T8&_Ryu&lUYAK5z?VZ40u9}e%_Uwzgwk85nfT3dmZ;Md3wYY%vTri}`+<8R#M6YHwRpi*tY^+^X*@v8*eIRWyR4Z>Wjnyx>F&KAca0Bc zoc}tU^)_2V^+Z(Id#`2;4+DoHKM;DG;J*s~6nMQ$eRZe%hwC7hM7xGezMd&QFL=A) zp91f6eiQrp+w?){8ce>vPyddA0bQEv?oQVcTtuvwdeTe)bloOFT{JX^T(1 zm3-oUiMcP#_;)$agVPuOiSU`$hFIlo#H_asv6-N^#@TN-#E2&d-sv9pZRUq7qucgo z4ZJApk$#u0*6*&qgZMJwLquZC5?yY)^rZv$+50Z0cqnkM!?dRC!`AN$ZvkgREOZZU zjUU62c*IoVqo#gzFXtDI`pbsS{Vqq-9l$*i;+^iVh2FV|J)GLwlu;ZJH&kA+nWKjF z))To0^sSXRy6IeBxf^gvscM%?L0?fxdfMXaLC+T46CwR#TjBZg4iAeDqVKJAkqJ7W!)7%_n~wc!$)+ z)6-aoHDiw7O36%#@v6wWD=No6&HR5CxYv0?@Y8~~34RHSvHuT1UtReT@YFHXCpT7-GgVfj;5^5bDQBD-S()}k;?Fbx^95i0 z0_pDpA2+7`MPh1bCyb$nHgyc+pDuXnn5SQ24Dpw#QLEZ;w=-<)72=_S_W-ULbFt9( z0{1#2UM1!Vx+iiHXz1jfbMmEBX}q9E~o34jDH>QyXDUUA2_<@Er#j_?sp?Q=sE;= z+~{(_b%M`-o1BY*d!45Qm%hU~q;;Y%d=%&&(K=3^%`x5+`8_y?T*w~2GIH3v7=4<* z4D_N3N`qd9Gxb5T4q9~)eU3c!UAXo{E_x5Ii_|>_JgScT?$F-9X6pL`cZbFTrv>-B z3qVgQJ4^5~;C^={@PVV(0QZI03cgS9lfZa6u#|qT{S8Ci1pGnyBZ65E{qFlh{{wh? zgt$Aj=WmJU0QbvkWpgE4?Y?rhTEE*N{PTf(B6EL7+yOkh;ieCX|15a;PSTVfvm083 zehYY3!ySLb%O!K!A7;*_6>jES%EMXWb5_H9f0BCsGdc9%>&*HK@f_e;4c7wqyKVm@ z?gZW%zd-Osz}q6*fqNpK0zZ2i@zyvkAsb?2{zW`a@Fd_}&Pu@-0{2Aj1b+53;_lFU z!cq9-f0Iw#6M0E!;z?!hf5@2%-0RE}e74{g!OI1=3%*kD=3Vsv0r25dhyItNYy@!6 zSXyPL?86cF=Geu!f6){99q_-$QXck1P7UGC@=*HkclQtD-sWyc1H*m`3_A?)dY5f< z`)(hA-VjsPRQBYZ?g1`+o(c^8IfAzf!i~Va&LzN@p#&dLg8ODpL-5UpPuXaZBm*$AW(XJY^Jn!WPjh(jms54&5^Z_h?6q-VHY(4|xoD z{M07}lkSPM48={pamxj_3tk1hA$9>UMw8%IfDaw_n&3BqhmZ2LD0K2$gxVzqnW-e%=e;BQqb-DC1d+y)(eAuu%ay>X+n^1gi- zbLCf=E8@2$?7zpd4;&~G`yJstRmt{RRKZm?RuJ$xek%QRhdATx8qc|Jzq+IM(}Yiew@%=`z?KMWZ*w_&=B5elQ|bCS@YSt#$Kp1r;Hz6X z(ytY~X~H7#H%&+ahf_=?B6y3~OQR{KI96~^BzYX(H5kQt`MY9I+ce?b;~93u3B(rz zf3*A^p|_q$&QAp&HI1Rx38wX6(}W*@?r3Aok4bJ<34Phne}NBs=1Ig?0B@Qw{AAKc z15Ya33f%9$0^A)^sf@0o>r=p+CY(5(^fSPlCcG!~vDKu<)sX*f;6)X*8!QrA#9~?1 zE|PX%T+uKScaX=k-VWS{xF_=JEZmq6KR6rrk1J-KiWdcj(hhLS5yYE@oL0wv&M~!S zC2MSz;M?}zQqK{}7_O+ie-7RXSjm3aF8G-vRLraAawI+pyi+WeJu>I^L}t!oJ~P0W zt$@2jO0Hfmd|Ddsic!bzcNaDyw@y~@m4a^&d?)avGV=Sv^wSf$xQX}*;4{NF3%&#R zCb1Q48bbbGk0kDiJiSor7Pv3`3h*xHH-i5PoDLnlh6j?0Cx0m66|x zYt`wDXC81mv`FyTf?EVH7u*g!scfG!SgWdTxf9nHz73qd@ZEy%2ks8BZ=Ae1cP3LL zo+b2b!LWmYgME#&7^)38ExTir$|ju6u*^xndpcPBNv8O<5vEKv}XM9LiW-h zimv#q#vCIDRnSgyfb2JIu4IbWSN>oP?$S@)2|QZ(2gsh(K{6^25Ig^9p$`)N^_9cV z$9o_#t|bqsV2KWpmCJ@0>HEaavwSVb^76HefB9P0@ba}6TtE)z$K`7|9+$6Wsh6*1 zJuF|#dRV@el6m=B&KJwqazAVN+O-mj`&rA^ULy1rg4YYaUhpk~Y0n%ltLy`$jJw8j zgQj_i#g>-U5vMUme9{nWbQbqf?DN$vQ9rp>g0fmx=V2XzmnzJEVE%>xa?B)jXi+3 z#-{^67FmT;L6;4^9Qe(#J-}NI?gf4T*h?mxP`WyYgoGr0b-zJ3-_0 zg5Z~LVLSdq@b0&guP{0N?zh2#brE=%LwwJu{{Z(yPPq+I?nKs7x9rt!iSR^0cZhbm zy@osr*GXkB3Lbhp#~|nKem8sv`HO&W+xtA=es>#iS|m)r`%iIo?qofW0G?E~KQPu@ zz}+FWYQ78fE~iIaiTmAyzC)jf0{6Se3$6z43zMEywiI}mbG6`yfw8A>7xe!V*~cc8 z)q?JK&j#M*EEPUW)aWw*`%WXh?=+UEFRc7L13&vtV_0Z+XxX&vpmm2>^Uq)Yd${(6 z|17Z`e>dyuS>SZ&ZNZn`L(Xl$ec^|I``s-%u5XZGSv!hat4WT8jMS%SXsockH-65zh@)xh_Rx?4C80{1#hWl~x11I)wc zz>~`Eeo$)oA-qX*66%lT<7G7OwCQe9x$TA12LJ(xkE_kFfT>0o?CC z0o)fRM(YE2hyDOOscg?j8EPzWbwvUgyU)NIVoyDW7hB!A>n%)^1eJ7LFWJWD~Zce7i` zxd?c@%iZUl?qg5Wl@_61M}_@E599mqCj%>BJ?1CzbL1OepgC zv-BBz4sW|mAHR+9b9WCrjL(z*Yv8T%GhbloXh+?=@lP+}bt=IRZM^r#c&%mQ881PW zZoC}$0l^P#d>Zsa8@CDnCE*iq-gwc=^h3OP+|sWi{3yV_P7~fX*sXk;vn^EZwCq&_m?2QN*DR+g)aa~( zkEYOkz#?buo@Y3V4mcBVmUI1q=Q_*7O8`m4vlRZ?@HY)xVg`Tn&b{GIz-s5i(QEMc zJZF3O0?-$N?gp%dpRWTh16%>P67hc%@GazhJ>Y5p|Kl48*8#2vYyjK8}2_W?EmHUsVlJOFqQ@G$&70(cbgJ-}mt z$5F;7P`1~dPs2N$e}&({w+ueSYYZQv9zR4q?gYIP^iI%!M*jZ-_&eYu@IMB80{9H^ zd=B^zU>6`1T8B3q);VtIHN3I&t5LB~r86|NTlp~jEf2jKssQW(*b^`uFaoeQ+(rQo z3hf)J1dIh73^)WZ4lofg32-=IGT;cn6u{AdV*pbD#{!N691l1FaAGLxP6M0-I2kY< zd8!7~0A>JYhR!WL1%GD&W&`R%P5U(3}mr=p%r| zfU^K+1I_`Q3s{1(G>77DGW6kS90EL{KHJjSmYn9)rN>qj%+T0A1!Td&b(wg+mXsFYiRFCWi$CN3*(rW=H^nF=2Uy4&8cc>OeS*8t7W$NW698VT$;?bdu|JqEdBb8`NohO-7`LMiX(DO_r*qKW@)vd|q6^)%s(kV&vw9aft z!lqT1U6#!>b+so^kv}bul=saa}&PFY(urJO3s^GJvW(Kn$4vX zndW3;2blSeRCC^$pUF#4NGxefvJLW$9l2y8?Jy~JjK*wdt{L5+qa)GWnns;8(Wg`E zG0@{DO;aPCv8A<@U-rL^(Z@vhAx;+ zbm%s0&*nPdH{X%Sbf5|(|I^W*o$5q;Vo9nE-6zRGl1@&~wsbXgcC>eP=u%dr@h}FG znU+M32`@mEvyax&fwhE^ED76l)x2VtQx3ONUoX##xUtr&cA}ItOIEsOy|;eRdU_ zJKb(;B2aVH7!nxgj;gsiS@XNrlw^LMaso1pOM^U08Y)n9KdBdctxlM#mRZF6s^NsFN7~D-+ zR)K2&T2+%uOqoune)(Ly(dkhfy7RKDXC|7_K3yim$>vTrJ!%devLml@ATl`FBF!}` zk!j)NfKkC13hJU(%B@S`r)wL#GR>{IY(`IP^V{393C^Y+$u%7!zP`)@THEC6i@Z9s zFo|)p@A^VtkPfM(=qW~=GYe=oFHAD$cTysft*o;wg34i&Q*L%*=2CrC`0QLtTM>b$ zr0>F9q8&og(K4NJ8Cvxm?a+uOfHdZ8-l4lxHs2xMF@dMrQ)m~}z?=uWFgL7DAsN#-pdA7@8J+H-#Ovwgaj zpKWNR24O@ewXiS_%(NPVQdxmGIX?aV_#34mEAKQkqnn{?GzWrU9!P@Q0y)R7F}pLf zVn!NTCL7cHrMf)SFZ9Pmn@WC0szsU{oe+NWN{#mBZ!%{=%2U+LNu-l4%mv1hR;Eoh zk$#E_FhpjSyr#r5Z=%8c-I=DEfqFFo=mDx)(uFUCH79Gb zt23UH()3WPGqatU7LQN;ZVAd>#0B~W3#mG7V{2zeOCZLYfO}ONl%JL^cxH=v@mIA_ z3mF)DRl2b7Rp~*CKESE4;8p1_D0)?T@IrcS)J6u+=3p)Z>X|vADBz;Y^yR8_Z3b#) ziqrPe)Ur;k@cT-I=%I|IS{gFdB3wG=VSVOQrBxqj%5vG)*qK68wIx-(!O@l~iD6fd zW(`)nb+1pb8EY}sN+u9eMNyMjW{L$KbzA(bYL_)4(!sn^v&3JB8hpSWiO^G9TXuD_ zrKU64l&!;3|I2;NOD=;D%XI~6;LC$Smus7m%Vl#xua-Rr@=EesE9*M0K+`o#kV9P^ zbFvFkUY+^!=^K_!xkM&U9?i4}})7qDfJHf161pzR}wmV2Bo6U^X`9cYz zJHU)gbFK@jaZ6(>bR1|ZG;6RZUQF62JwTXi1kc+7gHj=;L&+eW*O_%z`m;wNsGEG? zyeN6B7Rw;#L}lR0H)INPjKXwKx)}4u0QWWy4Q;049Ev&JKU1ROAUJZYO{&`Y;>DWY z*|tI|l8ZX@s3L>P@2pFO!WPU{vSP=GDdIWl8{PG(WlF|k-J0uc_o)@ug|pJ&$(Zmy zU$B4~ePlpw>u!j;pq;QjnWWiOj~dJ?SbBQBXHHfR9gk&Hropt1nrt)lw@gP}Y6(_o zUBwK!6iJwi+L9gliT=u=zDGkK^5dmf(J5SmraaYu~Es&c3Cam6B${`HCvJR zB?_%(P7DO4g?W&O>}*n>YQdtt2`ghyQ(da9qt!Cw=4dkfa!)qKdFecJ>kItFhJ62` zQWj-8BVtoPtzbgUD~o0|ZF5{E=#EE=7~5-lHoIbmGT=E_V50-+m7uCS-_VAgAPu8u zvU*-MO$MH-Qlrd5?0eKItD#VMOA4(1y_Ki7wd&=zT83NMN&z7r{M|{dtaV-+a;ar0 z*#1?{F~h=q%T)wy(Abd3C?!ccmC{O?GOV)6q(obXy@=*6n;dP%P>01y4|R5Um4j3Z z*0*V$kjg`SGQETiO|yhEx3vpv)kK^2A%W($W;4k-o%AKYVK+-wVZqR( zZn2Cz(rr8^pVz8o%W`TjhchMWR4WFm4b>u9GCa36m2X9X>!5bFiP;8=Kw3SmO$X+b zm7TB=+2t?|>bfyWVkBelz{jY~aGM8HgO7)~3lojDQY+m0@%@Yz(RgVKUsPj89%xK*8Nu-$>ttWplnSCW8I9A?3w z)kdS1&N}x;l+fVv7J7r)>@yo98Pu3I$V<%FSkYT1eiyOkLPp6PS({nenaXwP+Eu!T zbZ`|lizGi)rqF9TFuTguj&Nvk?hw60`L~)iDu}x#ji}A0Eb35g4Jc2xqZj%PTC;T& z0Rz7z+SrAjjowSG*(RG2jfNdb%Tv!qi=F`AG%FH;0fjw(ZWhhlC1RKDty5RlAXVpu z*;Q?%vczWA6T?hY66~PZvV*K+I(ETHuSM8uxuEiETFlcL6o1Cjr5vEJvx|)rW5({T zIn&#+*hEz_4g(0a!kr=!qO@n2T>;G5gEo%3w1(f2U-ngm~~UUXO8I<|M|HoI>E9 zRW6lKY$dk!IH}Fx`~Vx*FC9c6CMn&msFO*W`Wx`Y&?NA0`E5;~lvjkUZ^O6{n8FVDsd!rZbo6mw`=AhM@xrNQ`9AhG- z`5S#g4Guf(jk#LZbYH^NRYd(zyknNr;-L=R4BOwPx62_1N($sxOuTCSCaubRa(l#4 z-9fpW(utm}IZds!`LP5m5CL|~+fX8igC+C84sv9_F~>?ZdyFzts0v$k+9KF=ygj?t>6X3<+|fA;xmgnc`m;Ld?bMECbD&s<)tk7KG%rO{`KbbqG` zJ7nl4#hmI>v{V&y3D&*;m!4jD9s%l%QPcfD*c4QQF%Fd{PiLdLp2(r1m1<-*%BIu8 z3+s+(SxyrUG@Jp=R4e_`pvuXpn5w>$ExNjm{>rh)*2>reL^a7Joy#PG0dvd1*+%Uy z4DcvyDd)f-dQBHxdvMd^R2V1*dZ!D{uH-wi++4&wM~1DFT1g2GdG38URW+8Jm&J?= z8w939eKd-r+40fSJ5!Wgj^6;K%2SVB7SoBih2)FN1Y(7^)GSeg5fRh6Zg$61B-jF0 zeH9Z0lco$#QFX3>o3wIO zi|T827}lNbTBgugWE`-yY)Iutbuu5@Yi=+bQ?zylL-_ovC?o{9{&a*#YbK;Yfem#Q zG+o6~T9WSOX8*-+Zq>Ur)*NBRi`aq-xikiIWlMu?p&L6WMh2`TP+)L^Ox3suv;vo^ zWl)o`6{fdJv`WIUtY;b1O42&2Qv^DWoRNS8a0ZXUOeN@5^sOQ`^4;;d4(M}I$L!In z>Xd+2z8Z2>*u&@wRD3O)v^z|597M1_v8CPx+r_Wnq zmXwn(eLq7Y_8B~Uq;JF3>d|u4&ohsBRuf-1C5L?so@TNK>FRLI2NNBP6R_=gYzQH> zHA_vwW9zBFW3V4P4H$Jc!U0|!E{kC-5koEoHh1nJAoHqQU@P9N)2 zY)vY$EQ9kHJWN;xiJfXTE-XMntRgEi%eHSpl&cv>8*T; zC)wg1Nce&p)ym_S){L1gzSJXRo*Y-9)caD;CS%YxVcuJ2?2o!zX>+e!I{!iZaA7EE%Q zCE)B=3NY5hDCyJ&ym;~f{d;g1o|%>4o_{$df+{~9o7u@^hHFL~>O?i-NRm3^s?Fe{RC)0!Br%>KL$`pxw#87ht?5m##Ib7|rtPM>{&kb5m;(?@h3VnA$S|c%B@$6AWAR8nw~FTMI$HSA*WLGe@e` z3K{y7OeSjef?r;cAiuFS+u4Q_bx9~atL%9`t2=WP8@XFFtT7nsPQ(1B zx`u{R&uOZypK(URoEhiT&Y9WZG)z8Xpx37JJe66kqnpm7xl+++QW4lD+$?22D`Yc( zWBeE$U6dKzdV1lh!}5Y^Zf*GwpzHHRCVA6!jCooA z)#g>^4kf~3qJ?`e#*-ZEG9mpAx{l!0xSAl;G>h>lAq)A85eeheL7|InB=(|0$6`Dj z^XQNx_T2L~dC{jt3d8#jkMKkZx^STnVRE+3JJQ<<-GwQ$u}sv3&X|k~S+`JMLaserQ|LhN1F{2_ss-r?ss|PZL?#C5 zfv|{l;L@1f7T^sls0k@pZT0U!6I(9Z*8Y%2wZEj&?Jr-BEYI{k%g`-tf3q-hRf9QG z#j$Q^G)uF!?2qcU1drG0Y@-=0t@n;^^WCnF7;Kf4O76U zmBJTF?gyEZeOl4*;`9_|m9m$x?iikuGxK0gK2zUfe~IZO1N}>Nb|td3y&>7bCf2O! zT@V;JPle{Di~;wU=_%9IaXU@RNH3QrJ*EG7qX>!>Z~d}=_;QWP;=w5uyo0-d=&T)i zjtBF%_<;t`zAuN}=Ct5GaUu^RH;=xdtZGdoGZ}u_9^zx8HhjNS^~g4)uEOA5e{7}E z_J`cFsg(%92xwdZZMg%rEZ6r{5uHW`RY%9+H{c{Ls?J6FVs8j)0DQ4o&AAL=s)2;F zo=63w-c&24f(#m6W!ODY`|h>PiMB?ZZdE5MJZYq6_d{ysxlpBT+9!bf-u#_{MQM(4} zP4Qs<%|cJ_l5t*Zc>a07@??q@p|4o7qa!ITwZ|KbpcP>ze)Y&xK~y;cEb*ipUpq)% zGz(Ycv5BM|xQbB~Vx*(At6DJPfQ+t=JdadEI8!CoyrxVN2eu8faLzG3K^oLQA3>@! zr1W_@Hf4hm>0ekH=qU{ulxosFXn;EguevummoB@+g+964b*N zl1oSxI||^;>`5Hbr!X>9W2gWeDY6JR6Q+bz+0&_by^m5%=e!XY5NJaYKbpt*ImjAe z%+SZ-|k{1 z)Ymj{dv1kvR?gb8vX@`B4?$w0Rb-7OHNjRh4JoGs(2uHMGsbapy((ud=heFbYSuH( zV%>&nnXmzb14Ym>B&=+2DSw?<$H|#)IWcA}8&w`Zc&gRsFukiC>ZUN%ruGbdLrU$3 zD4zcWj1;f7x?y3!z-(Gxx(ZgG5+TN&xu75q%rq<%wu8Xf14Q*uKg0OIZ`cfEvzfF$ zgQj{^!$SU5*?=`_MY6@5#cNoorYSTus#0Q>Aj;_B{Z{*XSf#0(@8;)RyfopR$zT+= z-q6Mk3sE9$swHxIw~{P#`hxTn>;LA+vfsNXh`b0a5oJ;z&ir`P5jz$O8HG3J3iOcRfSjuK?j^Y?k z{@+$tpru>sqDt37&(Sl6&Lei1?66elB~0ddR7;&%)hdD9E7LR+wNd*+1RQ)tp+Vf_ z)OP!}HW{0$X>@IB5rVULvQLT2Giqnr-pPWsN*6(egJ|I+LKqqPRJPb_G#7Q|;O4C_ z8J~mcv90m;%oO@)D>GZG#p=SFoNS;ql0aIuK@?JP_8jOMp2&*_v1dl_eON$PP2w0`13V zfM%?jr=K3u>d_2k*R5@lS#ic16+$gi%qvhxf}JFgxYxFNI+AiJ!IAeI=hrXbv380= zU;E9kpP5+W``whS$*L~mW9sB^ZnLmA$q4|AR{iXZn$LMEKwbt>zV$>+E-NpAE6X{p z6O&h)pM`sFFkebswR!(F2$>nhcIcJE>{I6l>B&Xi)xa+5q&qg6PCYrtgG%O5{H_`YCV4i(I|I0 zbJs*;&4N^NH4Y_Vg60KqeVaucXD+x6N^zhMIv2R8W-ab!w?+%X81aWC^dK(iWH{u< zxunoXK}!0k+>@3INzAGAJWffpw8#(c4=~DP3)#XdNLgg2(Xw@&=;HxubJ|NncM>QD z1#vKKkLgk7N^PNkRd)^#-8fXRPc@wBZG+ zLMI$3>loDS6cMbsrq-lB+2Tcsx3DO5#jPPHF%*fs4hnzK(8gi#pz6GiR~{MO>L-*4 zMKt8pUz9-+YMxVNM19TArIb`rh6JU*=_cm(8mGVD-DXe6QCeu>#bQV%{oae`6Rom_ z4@(Si@Xbh`Z<8Rd;PKr?-$^p#qE-gQ)5jrO4$b0@YEbdu6y7J}01v!XfF0M?rYzpe z@L$Ca^e8Wr0d~=11bm?W3ognRI$KS|OJja!MTQT$1fSQKpJ_JrpvQ&`9UmKSK^A%` z!qNi>etiPU7g9?HZ~|fqzpZEjZPaBM;nHy$XI0HpJMHIS&lAgS*nv`+4i(79C{_s1 zyK(ge5IuRI4p_V`B=J9C4<_mX>)9Fj&U{Mv>Ht zx)01kD%qwq8!tIyBJnuPz<{8p&-rGEdRUZN6SB3_l=Xr`hp_yau*&#cJaRz%fzBYU zzA(AO(ITHJ3!Yzv#KyKRtPsU-)fZIDL|!HYl~*i zhS=iCPSK)0uT?FpQu%C7wh*vGi}jY-JwqgFyH$Ik%(oZ4nS_>HHL(9++bG~F5vdF* zQ7Q}@qjKTXkVf$kcQVxNEHOhv6bldIdF97@Mw0#(a+1Mj4$h#X zkBMEzl)^G(xytLDDrQv=&Ya|GDzSmmsId`X$;1)h_%p!;XM!dKKa*_{sKYrlGJA_q zYHFUGlhf@=V0%nG(s29JR^@_JR-LxOc9@HPh*ZYZ!=M)~rJml+(G%4Bg4L>+o4ViiyxIQ{5_fGVUf23}T?frELdCYfya zIoVFA3Q{b6yYr(LUh~Aj&;E<$Bz2v_I?yh%&S7VfruL^P3r5~)6}>;`qR%c5h*QqR z;vkRr*0V3%Ku7ba2^PMdzd-$PBbYi~>mcq%ta%G9zejH|GAC;e6c^UJksDmH6ph8a z$D$U4Ui2^?wN$~T5qu*^Mj1v-!IZD88Q>S0>v1|J(I(-%$W<<@yPDhl=e)(>z$H?l zNAimF3Uv+F^K4#Z3doKD&MNIX92)LKXRq~*4IN&2;EX>YY#qcj-pL%mw<7|3V)l^Y z0AFGyF2==JD{MEN7X&f8lmi25lYP;gVvbPuD&Mhp9jEQ|diwGrMj(BT+2c{RdS_Tg zv&3-ox$_7Qe+K1@HK(d}^T`tHLe+vpjB}Y6pLUjK+`rIAJqFzLq!O-p?IYi?8b*Tw z@iZ*O8x|Q~i|P31XA%Qn;?jFmkoWpDevxviZ43yp=_%i{MrL;l@8c?|QHxcR$R?3M zUbYI~)S>mD;Q7gVKA4qRR_Jp;-{YImcpKbGPhU&hx9RLu>*c_@6=BUv;v%qpQ4Hf5 zHb1_$XUy}|S&+5qUCMS_%&UHCY%pIqF`uyKh6?n5HABnd&p&0^iQ9MR&`Vjl787k= zua(Zk9Ptnt&Mo^w+ZR;_3NjL8|qzHbCul}3XKTykf4I3TX1st6{k~(4SC$h%a!VN)osZ{rn8+rz6HDPK4&Ww2WezGtqd5z z)@9%rvrfhHgq%YO55C-~2E4ECv?tA{0`4C++SRYa`@;HO)-x@JUPe=r>|J`rFXAyM z;_D##ecqvNNk7uljpwo;mFx6nKz^z-WByzVTTdzjtU2P?*qp!{QOIiB4ffN-7}X_~U%S0FLk?Ui7pvRQRb-a73B#<7Yj397ypE1FtlrHPJGs{N z#AN8(DmDA#QqM_c)YB3Ba%4=e0hV0E&=2(c-_l2LvmGu^pqR}e6%dK;u{&?aB@=+<2dVA39gYtD8 z)x=eKuBPOb{<9hr9^pKWf8WyvyRp~2%Q9!IYgV2Cr($oV$3A~m8G z-m{l$0C{H-Xt}B;}-*BvMxoVGTw103>RRfD;k!Tx#9p(s4}RSW(8;2luas%0IR4!s%!Hz z5asHYBiGN(_#6`yA^o){HSwUAaf?NexmAT}l@~<$3<(a!Byfh*$ae3hy2=K0A34>^ z!{qHe!;Tfh%!K;l2{T*xQ$Lu)EoMDqnz_XnfniB$y}8K##ICts4kufXeN_(C?bUJ5 z#?GZnaX~4MlOQ~wC{FUrh(#+P5!}+j5_xQUY0FV>R+&fwzeJbgwM_p9Li|Ux{Vu9b zmFK3c&ZVvo?2)8acFGYLC?&192V+maa7;lRP@lZfPeFOwgOpM}F=nPUOvJnjSdAv< zgRis>aFk&5wkRvDaeyrx{fV!?TfbzPAM$NB)JGOCdI`<`ix)Ojw3M6)zAlCNO7~^$ zB7PzGi^L7xMhtVDH{|6sIbYnA>%zvF=?U!B^3ga9UM$GelX%MXWsHe3{VNuG2jw;` zrSbrklEc2B?CE%9xtZ0f_R;+jt0Q(efZK_$Hes*?k`PDf>sXo2SQBt-!XteH7-DHQ zGArP!Mj)TG5sIP3Gtd319Yr+^d)t6r*;8&Mm zHlW4g7xpD~>$TkLf^-a64|>jMtHN4`|g!hkX!SjXl7 zsuGo$uZ^SJ!Q?G+ZgSOTa4j_8LeYU!=3ZufnW?H#4-f?cC{|UCm0`BK%+4-h>p6b! z>XZUp{I8VNedUq$G6a5^g6$@80(VVZ|! z8b5Hu&GmtfHFX1d`ofmJ7&IWh`YgWAmmC<(*WR*Ll8;QP*WMa3Nf;feqWEuuXkX64 z#1bLJT^&!75W@V@DT+hvIT()ib;^zZTRIY-;1FcoJq5 zaJbZ^R>)(_yg`SDMD^2rBKuTCN|a*$QJ*E^RLTwr@4@dC(SgB=I+*joc(0-$o?>er zNnLw{HiwynchSg|Pgdd9G~^rfXGjR|0+)9f&GWPnU+=(xnT0QA<~=Sa4#_3Wm~b{K z+y9Y=9$3Vu-a;?tqLvUvTs)KF!bFZav5OURERVVdEwLym*7`Un2#rFXvNHQQK8G2T zk3LF0JGpji;tB^O%KS1<2`twk{=iWS|=%w ziSXSuS-F@62G-Pe2VNYimO`j=@6?>!v1diGk4@3)4*^q!dHtF_0%|o37MKPSP_6L^ zh;~fA`ehavfLGzX5Y9WSsLIoWjaJPhO8KF!OT7g=V~ttw$b<+jk+yyeKJ+Y#GT0S) zUWYR&?|?OBt8kWDMa89NfIS_in3*YlZ4eqfo*s}(WAv{bW*SXoa3|wM39~Qi-}=Ne z)I6`x4;&6g^Mkj+9g7$oILs#Mt#SD)wo`f88XNP{fCJ*wIU2xMnzbGp{=ukOwSJzn zC=ctWNEy_!H?RYdm`)Y&p=0~P@U~9}LK?C5MbQpYsxJ&$=%|!>oljFpy#QBkCWQT* zT_B&qkj4G@>W^(G@&+oCUMNew77yt6?R`Mc6HbT;EuZ$BpytV`RE!udQ@T7CFHjRU z+Htu_wI|+rfvDxajjvsUWh&~$gcsR`!TAN@i+Zs$ooB7pMoxJi6$O(8x91A=zgesZ zNJ*a*vX^G;=Tk)S!@Q+Gd?PZa^}8@*it8_i;)tNIsWV3~qZRxv zj7#|{^ounk1Su2%&x~*538u0L%Rg^XjI!|)2|P~Z$w`OD!fkN)hK8;;jrmz>bN>7P zj%1Cg8lsDxHfE)PuJ2q$BN8(g*(^Wl@$szy14RKn6D z0?Y!T0B@QjK{OpKmpZp$3{0kEK`!h@^4^2-^+hotdumZ;geKSfG=8W!Ae{9HKAluC zC(q=FP8CQj&{ItcKCw)9Sxp-^bV;KS4{-B^3p6i^V1kR41(*8#zws0khJ|_)yajRa zGwm`i2lM3jV^^+T6cScFvo=@^(09d`7g|o$`MqPmq8x>QZSi;A;aG;pS&Cr#CF;q44%QeZSWCm|6>0?2BEzFmQKcw1v!_&uu1S@cd zG%g;e4j*(kfde9uD{#G!ii%LnVl}m>n6tTR$aSADm_E?Zct;M8b*8YbZG$^%8?p(X z(!c>(`69j9phb$@)3FIya{*IA#aRdSd5k~?#Z+rO=)}E~ODY@aIIEDRdXmUr2(<)< zAxoVtn^)ghn^$|M4NFlUJpQ4V;#{@p%2XAF*^4u*j)8V;%!AElpOD&?`UWvvw4DL7 zw$uiC7oNjQ!K&cYf~OiENe`0wKyhhC|NjhN%N}S9ylkhwP~Lz-UAq#<#ZW6 zN6qlnLVL63A*fn9oBOtmODe}O_}qxxO5;u?^lR?6Knu5X1Ic*65Xh-Xl%s(kix+1JhXNJjVFL#rh4W%I&*l03BA%tN5;`KfaN0)4 zr@e@iFEz0XH)FkzbK_9unrV<>CHu_HCS&x$I>sYEzUX|jzRs@Nhc~;yRP43+y@*CUs9y|)LJfaVzpQf9NQeF~x@>3+qFJ4$ zzZA(JdTL;|>Y`nSW}{FaKyQ z#w+Gg?OPS`tsH9WTb8H`w_16aiw=vyQom%48m|LOtV&_TmGu}bgvrswMZfmA!}1~7#Y7@T-)C5Ir(OOFDe;?h>UI4CgyM735gbIFReMKnHJA?h+>b2 zhWYtvPpPehCu zipX1;h>Gy|+J?MhC375lsM*RajKEZY^tPsKpm(Z0f2r|Cyyb`n$R!uRK4HE)Y7T^W z>H_wCeSz$`La04n8+hDc%e3t1{IxzyUL$QZ4;Gk$u8{YEEn3US|D{`qSj-pYsyUeh1k9b?*IK zqe=&PzLkXE!PgRboMwW^z#0%LYkM*WCqj`FybP%f7xCf?7-(UC+Uf{~$RIpbU$kH~;uGeOW*tSG=iwpa9NsM|;)Lh>bV}UmQHmgsNBWqE z9E(ypSgE;HxMH#l0!@zFK(p3t^zgKpKLZuX88%pYZ%@g@Cp**9EOy92*eJ8OG@Siq zHkFDM3{X!X3z|ZXW0d->nUBVNPR|1%YL2%ZnbZC$pVSjm48I zMOnVRrkOb6UH(@G)GBd4B0)B|lW`IoO`#v3MN7vN;_Gs-u_- zJ_6n1`2)qrRPtD4@+-&CqoKPEbe5;j2659t8|1ad!6JZ`gPoPZT-mn=x|&M%daRc* z$ojg@=4C=xe) zJ?|W>%lH9p{Vtf#1)T}4X)jrOE|wB$YkviYGwg0jeAcH$?b^^_s3>c*2zvKzt=TVR zFnSRN&?5NO6zUWLTK3Yo4Q;J{Hmv8*rs9aHk{4%blhn__DC@R77iB%#*t8bR#4#Gt z%|%vOF=b|8+yuo=JyyQ3xMTCI8524Dhy_V!)V%i1D{NM_>mK2YSdq4$W7#i#MhDiv)XLn{k9Nbu zZJP25C~f8aM9092i2E_*QF+84-IbNTDLN!-3;IDv;6tZrtUHSE&3U|mZ=msEdzk#X z7A-Qt{HIp6O$OK6gYV1avZ}I)Rmpea1}hI;S$KA$fW4O$ zj=_q-&q+s_gq799n>%XrwHe+?^`&K=mo~Yw?@h}s4a0>XFw;r!*dN|#^ttgYN)GEC zFMgjR+dkmXhQpW0n|j<+pLR;LF}|P+U;Lw`3X3D1ADJ~&?JG4(^RY~l6a7V*49|g5 z;FoOAs8qzU2#dYb76q*b#R;c_EN4chCGgw&;1_8NeFb>6P{Xht($5gr_*+l? zJ|DPm(6E#fkmYGVrrne(q|~l1U8aGjq_x8gTnNImXZ}-kHeQTHbeax%F21o1U#IgH z_Jw}%dfS)y@HdEx*HpLfsI!s|zV=t*K%FA0ZBfTeTas)1$wOQi_u_1?H{qor{UD=F zJBKHxd5qP^@FlMwT8A069S7pPE?oFUjAAuY=*Ltz?VqS{m8^(Kn{7mc1L{h267!); z{nt(=uj8w~fIe$IdfJ#}`IIorQ*Vajm1#Bp%>fv7aR^nD$FcaDEK`$W(GG|8 zsVw~)a6DTM-zXOq6TTnYp7M%Qo42nhcuD3ly4rB?)qjV~=gJ*&OnlgugP8L8$bu(& zb#{FfS5S|t+I{XiuRcy4-;*?kd#~Ho;bE8=8F{P4?pvFwDaljH!HGx91wAAC_xyDp zwTIxx(}He#5-4P<1&8IT9c?@^k{7K8%7vF{QKMK_wD0(TD4U*owsf#bkg}|r=OgT2_0%}+V7xG#X~+UkbfP!oT+hSw5VAB+d||G=^B*>>7d6a} zc?4gT!W9vy4ZK64t5J8o|3}-~Hn({sX}b7D3frxj?Ty&j2uh^Y+_5E%MA^Ojr57S0 z3S*Ms0Hh_&uRqs)XJ%DB4*<#TbIu2ecae#`SP1J7AdRocOfS8Uwa1&8dC|l_e5@)xw>qmFFaqX%d9^_!F?m;n)YS9n@Eq2o zYO28CA}}Q1!b!>DNpE3Fyx7Y+eOwWap_bp0z{N(E&Uu=4L7Sq543>0)N>oO$nv$MT z(^!h}VR-{VI!N%B4HvBZ!>sTN<2fD&>)JFcs&q8W>kueiCUTrv*0OQuU=9Ti zb~qkL&jB>j(z2A@ij$50itqcsDFkDUT8NGlQac(deQ3*9Wtad-%@wGG$OR9y z>q(C+gOkEhPwKcJe*XI7R$_p{smbg4>KX9G6Mu1W_V+q4?}H#T?uhHPsTS4a~v5?fb>*2eGh{8;?N>%t*n*X1(33i(;$X0+ltGrB0) zhZ)7a|Acrva;Dk$6>1bq$BBGYa3tB>tl2H5(P4(LnJU(@?xqc2t+7_|L|7M9TUyzP zD+A_FPj6?KgKt>E1rwGBRCto@WJrN<0QBS|#p0OSW+sKMeEP_W5>ch{>`h_pYrcf2 z_j@e2aN#jcg_bFalsV$k>M}SE?b)xh6h`6 z^m>j)@S|?Xb5R$a#`Tv7mfbwtXUW_~zXm+`0VmRJk>!_6-A#oWg0! zb+@ckqIXYGr>3jiru3!%)iC`=zgp%&oY^lXX1B&!7m2X1-Y=!2*w#qfBDDqtsKrp3 zn`l39QA+ny;}nN3X1kcH6_0BMbYjA0zTFPAji5*COHC75MUnV~tqMco-7V3ouS`b# z(`y+wAJ9yWA%=P$ZiSFr0wqo3L$?B^Y(+DV7t2UXokudkA7UM~1`iC7nV;N=1MJlg zgk~g(JDEfLHmyJGkE}E3qtB)Lhy+oIKucfEO}+JNq~M2-+sC2Qo6zE_5xG`gg(*uI zBtNvQ1sJq5#`AseL)f9afGVC_^PcCp}L@_vU0a8b!=#Mbn26moOj+Rh^#6Y4SG_CGPs?O z(whhvspbvN7`q8HlUL+gawtErx5qoX6u{^yg~D`DhO*8n~)zOJIa)ROK2X z8=(s1tXjE!+}kTbQ|Sfu)rNYp#d)?d8Wp@!$1>}ncWLHAY++DNbD@Q-G z-IKe`-Iv?VBPs;ZO}tm-U!|iiTcNDJSZU!XU|s8aQz3$dUce{X4QgC z_^@5=K2Bf}XQYQ$fNcO96LRZ|2AP$=SZ=RZ@nVC}0!qj6ql>rFI$mr_K5G<1ole^8 zC-y9-?U;huVI=%|ZYX|orn!i1UMzJc6|}M-WNIFWFogf2U%i~j*+5f|Wk^AL*;Zd8 z@Se!xAPE6$L-#yw;mu}wi~LZN%>IilpA4!~S$w@FIpdznoT649#gN}FhG)6yR>;JZ z_4}y^2erInPSx*Tfmw!-a+WlLqYEi9jrwl9`@!TQ;??l1R#^v*Walob+;Q8E_%fys z+j&f$;SvfAi*NTtHeq4H*Wo?J4w3pDfNTO=3dtt8KF=mMo z>Q|Rtru)Dr=rpNtZ^2a!NqKptqOsuT5!1dbm&mFD9~}4Nvf; za+@7WoLh2p_JLm+Ph*kYNyv+qd}GG(n9ksU9@)DLA(Sep&3yh%0=-4G%;_Du_ZZfz z`wW2zGeSSr7CT*^@9w#<%;k~;O&>~&?qa{k*tH3N(Zvr(18IP4L$P>upmn!2WU@O) z=y-vfU3)k6kY*HR*G*S#BiVW|jBY6q&2D|z904}3Q zpSin{TMgdYw;Wk}-S!6ud!<_YV5DHSuGDiP$ji;}5tm-rJOI%l_N*K)X+{Mbcum>b z7u%W4$qC4}N0;)@;swtQNr9qw=vp&+ z&F1#`4dEL^Nm50q7=$5A(NH5b;>uIR(pcBb&ct}f6928FBJxMZzUn4XrT*W)EDonXt#rY`CBNTG zfpfll`2JtrI=}w%L;d>Kr~V~`5ZGM(2ftI8pM6wX%=82~kBe`^l->=k3WD0q68!ah zcrK>0BBM@-g7SpgHoTsO=4{D`yO(~0{5@Co%5Z6PO*vnEjoWBQ?jsr!bI7xl(i&uI z)~MHbhoaus^d=(6wg?%3r+)@Df8N}SJ@4{K?W|df-<_t%^`>pbd58uvKgu67_NEZJ zFNtw1121WR;a4sj%9nnS<=j4%NR^6ps{J^~}#T@Fg*5P3Pf%pf3)OARMi1HDX+K!H@O_5v+F7%AMG=OdZ$8TGl0$2IWA_Nq*e# z`bz0+`TN&;jPAR|8N322HZvusj~t&ILjL%5wfgPV785;}d*%IbaO`yhZ#wuxy;n&O z_U)%N;1(^PBv=0nojGzs%nOj9VwH22hpveBV@6KotHYelUB==ND~5)qQ#n|~bHL4I zw`K-iTKgHz8`{~64crbiwzX_68Y&(bh#Q5pDQ&E8878WWRh9qma$2=t21IB`}gfDla zI6PoX7>Z$s#ybT>?0Q|Ap0Gv{cCsdOU?0>R60^HY0WCe5H1*_`4=%7Rao2zo;_aw8z0yd*}Zpe2z3TjLzdY4xl3q90JMVqBY+s zOorM2kuCK#wD=?S56}0H)cgZwzBxl}nfbQ<+KdjBKRkm&B@d(xBfQ1NyuDcy8TAV` z#aoO_T!;z2CzIH9;s5ody(@ti2|^9da45#igIq3=56Vb7265NRmBFGFV<4A|K3OP* zRX9&h*URfWO#TYkc8*aMHZ$}(7P&ITzsiqZJbn>LT;EN`X~oEJz0%4oF5>xtbIEf|Mr(p6 zP@4ffKdChzz7DPw5+h){y~ReMfB-j&`dhw%Fdm)%X}SG8h!Y4SS5M-gwc*vVl!(kH zW@U#y6|;92Q-kA(B?I+q_4qkG6c*>>#$d@77rLdexF9}$u6V=-TK|_x4lMeO?xb5M zQz$w(z<~;3axq-=sPVZrex(LbGh)&Y7)9qU@<11CFd7sKmX(6f4@GfiEBqvu=fPRc*AEJAC|Ls#K-2L<(26X7tE;!~bv2-oE?k zA_m#<2W<*8#A;_AgX0V9f~PB=B0fddGD7_(~x{$#tmRMO##NVS&@C@@v(TZc%jLUln_&cwu3ycq_Pu1 ze=?>)!Q;&xayQF+dC7zhv(l^58}=cSneVMSH)2u4xZkuU9S6=&b|^@4QRlQ=m}qiU zL9|LAYgaoBp+c8b4upuqZN-ikz0i?JYX`!_b>K`1LmR-8 z9x$%Ae=LUFg&n{ft_g-7nKqu3iI9Wiao~o9YGc7A@JRBL3Ta31!Tz&FW;;}?vq!rp zc|?R;-%rc`;u){aZ}FHQCx??Euiu6a)MAW=)n+?QPhA4~#V9QsaWDG%`A>+?+y&?W zu7VMh2_atA*1f1iJ{j%cGxFOAOJ_w(9=uG3|DEQ2wnKu4;zHRV=e+%(~ zH{6N|Y7uG<_FAkf?D5ar$9|SgYU1a`u=Y8sb{gb12!1%p(U|sRVC2&FH3qqf(_%=e zxlJS9#K}|6Oq0$giJUJtT$|W9Do+R*Zm6xF5NbS3I&Uc^8@6*i(s|1wiSH2^Lua0> z@iyr_Is5f(a|lilq`OL;g5qE}_;Iwf_~3ykO#x@ZZQ6&-XsB9T2qn#j#s7Im99U8~ zfhWI4EXUE;$2KV+>i7{|!2U%G;%t_mE)L;WZSq)7<|HMO_T}Q=ROjCozv#~|(^Iw` zmaKqCy?ZS9b?xa~n;PHn*i#ML$aITX<*_JBBQgB7gphf8XX)bKG;*JgqiK;69GP(Sn+K3nQo2(%xgnPT#D= zXIZqjFoiA<9!{q(<3nOs%xSE6avCU*X)wf^wQJ0?hFID479vIHjKwRx4KH631Z{Po z=OmT=&@sdUF|MtCvNqXmQlY_>Z*W$K}} zc^eWq=4q~`G1huL`!a1rc@4AL*2ctX4_W07IF^HTqir1Csd-o0y9CnUdUszE!N+O@ zHV7Cf(a0N-Ei+X%YGUH4{&bwI__!iETj9jX z4&yda6?VH%T#z~Ye7}Z3upa- z#iyVA4x(7VQ*EK16bfUBm|$hNKc;(NVla`hRm0%+?U9U|Q@sadGPQP;yC;yQX{Ac> zn=PPU!(r*c7X^>IQ980*tO&0wb4GA8_wrJYLWml>VyZHC{@TC%9G%^)mv~o?gj#i> zJl@K_Wl|Je89u2{gb(6gL0r!c$k(PEIK1PniQ-iR7**KA77PYa={@J6(a|&9nWQdX! z>npr!V}-KdJb6O<2=Nq92y)o4CkbKORIQT1U#x_Ng8;|Ypq&FbJXXbvzV2YQHqqT= zvU0`u;}@wQ4PGb6<-x4s-o3ks-innTlFsg~?roPmZ~}|p{5uS?wxRA6rK=}i{Clx1 zUo=Nha&hW{A5)A=kT;e5P{o|<`~Y@rIn7IQD5ESJU&}jM z`PHYp!EG_R%Og`W5xXDEy5Qq+h;4Oqv9AN7Dyxhd%b~m?J(-tBmUTDyNq&60lFnb< zjI;?&Add>GeA;BqKc2ndbRD z=WzD4t9b^JICy*w46S<^zpGW>nVF2CQnb$ju#StQqLON2M^4jaG)J;a9-;3@X*H32 zL*7jer2ycaVhRiw{C|pH2|noHWR7ROx@-8FF5qHV^-|BFh6=AjjLNOT?$Kqq8r+-- z>IT6l-5~fx2-a#$K4v`B;pz&N7B7X@kC@_k&<<#lkqN#!rRR!R(}_#1lcUJzhC z+_UUUwYo}XDVkBQ|zPmK%ZvcfSPXT3MWW`kj3 zMiXIsasPE5{Pu`PTMhK8B)LHdTr44C4}$ql{cWephrN{I#lhp5o`vl(aI}1Rn=~~H zNBKO-Cm>KPajtmmo7A27_Boh zJ`+Ea%?j4?{7%ICcHkWgaAVrYXD-F7&G|tm)*;&tW~Q&gm42|&oPm5F`W7>fu07`$ zTViYWQnuyjN`+^9;z|=q0Z{w_syK=4Qku*ZCXsopMaJHMT)(Oei7_c z=__XPuyL{S_Vg5qhJ%jc4>DulP(*x736U@!H3&@+ka>$dR=qO$+q9<@91mtlN!FXC z`Y?asM=27_-yAS!8->2P@4<-zYb`_MG&!#Of|N`<7nVo#`WzL;C)hfRZs9 z6oCTvXc1;X&N<%}dPa;O{2iRb(&R6!P%JqPj;M^;Ad2YCbzlsIoO7REIkwI(>kYiB z6f03KcvD>e6tYc^%AtwrTnRqQ^Q636d#0PM=U0lApBE3ulpP0w``C#q4|&A?hr(C# zme&gMeGc=ZD7^fX)UxD(M3&y|s@k-tUL+y{_h#Z$oqxBcBRj@0FEmO@F^V6<_7fjJ z$49TlFij4Tt?xO!H6}&2xggY0j4JBI@1EmwX6}*w-mUdGCa-Rw43|?IZG?v!CS9(G zz~&8biO)WOYe~Jt_vFqB;6qr2DjwkM7Ni5=P#wNpI{hY_Zd3aj%aX396H&uVO)#gBa>bihxNj?jdL(AgGcZC;YMTAa zznanNHh7{Tku9;a=cY$+wD(IZ97T*$H?l(vyIn4J!%GEFPn(ip=a~a$Oeom`m5ER> zPU)YQ|FLN%-4wY;Z%$r}kYVFDF|co5KTlmsT)W>915%D6iwD#p$)=Q!tGm7k0MCzh zsa*Ep(WbR*U&}vO-;2Fh3&`BdJ!N(E2B#X$ke$&rFkd5z@p*WQnH_{Dh9IOy)f?F*9)h^?@ zm&0!sV4K{_-2(D=D?bZ5zKzY=9)?={N<2us9=Jy=@85eihWvNp#j>D>=gG_fgY>L; z|Hz$f)To2YI89$oKef!9Q_bli;m`yF?I%FMb=!KU6DOg4ccPDe@~xbZ^0bgg=lSbo zTyjnNH&X|B`}g&wZjL@|F8xR#oRp2*_angB zwvAffOH@lCbHHs3wF{2(yca7wP5XlGY10uDMsq*~rkuYnCe^1_@U4YJ=0}W=o(D?b zXON}MhYx`RPV6K@!`4}t6vVm10ika#={~Jg&ICu)(j>ukr!>HrMF^RE4CvncAdho>12ggs*@vGC+``g+m3M42rz0@kl1DvI(tzaNPj^@s1F}- zPSVD7fc@BEoa!Sv2*b{4E(fa-`kY!!S~(0V0I!F6qyqBd7z$#lI2rB_r3)hAU|FQ` z>@((#hgDO2j4^qGE&cR8srtUag;rRGobo5*r?7a>cv7`PiG_gbyjlNY@hPs7kN!EZ0A-gn@ zL*tYM>?q5piGQ_#GU;t(CSKh=Td`?9$GFA2-~rGN96g$KONl};l$PjXv$V0G=v=iH z#hk*-ikD%Pq10hl&S+PD?X)q_wcm9F=`1qDo|UH_03B%teVq=B1px@}F3f@Cp3GBD zUQt4hl<;U|G=TGjP2Vqr#ccC~z!5=X{S*-YM0MuaS~Q%1AHw zNZ(h<-bmt-rZon))3bf*^;I&^8m*n6Z7G1`N*T}Y6r*)E3<}s6`%?@SK^w3(-52_KU;BxkG9KuEB70tEygcoTpkek z@+w^DC#3le=O}_UH*Dejl3BQ~X#RpjzYVb%j6|u+i(|I&azg>JcH0)({J9|L=b2ab zrw(y*i@bly@eu*gkCh>et*H~V57xBg0PTngL^uU(h8HyE8J-&0SyZl0m^j=MdG>gS zPz<-@Xj<4(;1&K)RxJPQ;M(d z_Y0W2aczm6&tN-}QPKcb&$E|j-aDb_kn`Zf?`augyPO-lre1>szQMX`x+lftGyO`_`8 z6H?1DEftF3Hdmr$J!T)|gt-x%T%l;pXQNAglVWz<*VcUndQQ^iltTcgNg7R~*V+;l zc#@o2glU=}GO))~y@n|TI%BHf=2Z^M#^$i3?WcpvwYOyb zfQnLrrmwE1IWJZZUr!L<%Iyfs6=n-bolu6PNKhYR5sxY$T=JI^J6GY6b9T6MgS&))-gEG^zaxSw5_NBS+!E z9AJoEtRBD*ds(TY;GYVfWFEk`$~EWQIjJP?Z^1?CO$Y*H$J8x>kjpaIfDdyvLjiF% zryH0kh2B5^Fw1Epf(?mB8z$Y0ZBBLvj@riE)cBY0?vv+wz+pq^-TRMUp8Wk^zWeV3 zW3*e$65{*ga(!2JW_jdSTZ^~5n{X5}*Tud+!iQ-Ega4W8C3SPssChJVeuVIS@Q_gY zcpMxgyM8k}81lo!bwu4p{l-KtZg(2jHZqB|OTW285AM!d)k#-hLHPsNeH4N-{E&el z8Fk3-zP|JbJpix%^U(&W%jFH$#>FcvMBDY%N>9IH#a>v?oNNa~2_^_vftOMX-^^3< z)$+aMd=ENymtHf0r6F3M{0Qcf5R+PQuVXl=&v9GGEfF3G)PmD;l;!eu(mON;^_15S z!7cdDqNjwJ*e>tTe|z9JAq`W(B}UASChFZF6G{Z_5Jdf@ zyzy{NHZ=69e2jKFm7RZ^F_x5yb<3wn2U%R#skoex8%LR(_WIp(kLX~AI-E{(a%#p{ zYQ%~9$=ZBzfMpj)0TRy$4qT5~KHt4ueToKm1RPji@)pV>ehhvR@_D@^#B2k-Fu1(} zK6TLG`P;@@@k#~kk1tZS(qG)0NZ%&L9&(6NYut)yU^b@rsKGXkI6VNmNA5c3URIw@ zIoVYV=7o+~y011DmSL1wDXzeo`RVRCJIEY%j0i<=pKF84m>2-jk=t>qFo?Bim@~nQ zJ*+sm-bK^f!WKQNVaK8#TF_WbeB){%_n~Z!`fVtl7C-*y)tw+G(lk0D)lA50)GX6N zM{si5t{Ifd#0D7YK^*8N?hxFGt&qkZ9fuywGN;Zh=8jS6CWnmzfG8jJsI9?>;Z>) zs;9osuU>7n;hQ)n>1OgV!tH1V79vF%>o}@)ZR-d0(+#=yW3jBE1dqT=FAAK# zuOgZ7_W8wrN**aYIlsw|@BDOOd9WNMJv(o!v(JbQ!7TGqaQ(ajbJM$Yg{B2|4to9h zbaM&CWQxA}8BVR^WzbAvQwzcU;(c)>f=B&+OEmHN?G@&v-wg$W(mvGAtL+*`X$C=)ta{doRvE`xcpFPbbnEFO?G1! z0+rr}F$dsSN77kTbeopS<56}T!ZBZAZyfV6G~>NU@OZtYA)lKVH5#tHS9tu%Fs$!}DH-IuMRjyjKMUOJ+D$syA>ETA&Tc_z;$|ujMUUKfPgl zUqq#H$CFcN@m*p{B?W8z*2(tvz5e}kX!3k_cKd#Hg@07-V`!HH`1-OmfqXgjIS{<7 z?WD+Zy!}n=HJBt?fXt3nfeq;*3cEQ?@s`oS&1N7rNI7F@A|&#fzw>+Oli!#K~_wQ691q=Wa`% z6vw(GhVHEr884ea{(}lOl#N%SO2Iej%{sijD)kWR_t4u<_CjwH6nmyoIJh^y+Jp$J z05TKVgE++V(64?vTb$nQk`1?5N)4TMSDGkZD6kyB7-Rp3&G!8o>TxHo3f4`VYuQNG zPwTtiII`oeZ7@lR1hm5E`+_`=so(xLwg9-5JowIASN9@BUZ7jlESgRRtUE_eTyaXr@xKQlD))!_7dj zSF|8~Bx4-jt|Be4G1rQF&n1*02EYqs(Zf0CJ2Wcmd|?_Y!G<(a2SQ7T?ZeJ33a4gl z6{JlF4sBVTMR7B-BI)5$xP{Bo;}n;UVxjsRt2p$)N; z6~tu~6c|}?IGYE#&sEm0nSQV6h3bfkSf$vL5)|B=$)ZSZmUx*O>!&o+2)EcfSTT7+Nju-gBj)!`f403^NsA_V!lyG@HkLJAgsp` zz5a>TDM~NGLFE%q((xKVOv%Lz$DdZq4||D%++JdX-k5W`8V8a=AzJr-sunwGYC{gWbcAHlnbOVT5p1VBVpd*`%NS)4S zE+#0BVfn6J_L0}J?5?K^Iga&@l<|DB;MwiXHyisSWjqPCTu~WKY&<%F$<~xA0vBuJ zCAj1@YZK=oShY+;p_Rz0qUVjA5z7f?U4UzMT=CX5AVVuExKc6M`xBoh#rc|2c+WPa zl6#EH$)ET8b8f=0)L%K@DGkM(T4XWk4uI*jahj*W9>~jX*rkGMFCaEcDIQA@0GNOx zL!P-vP7ceovCiGr@1(_{_JT8rkj^(+SGUC4<~aH$IrnSnu{4aMXLJzsw1i=uF|$vN zLrIYNUZpoP!_nw++{kSZ0f(Utv#dGq$n4D;Yg<))9T=99Pj+VyAEI8{p01~_$+|0H z=shI*#@3Rp6L9lf*O7Hfz|9hI!y@8ta#+F6JLTQalWr|;BG*UXZFj>);2A(VucDgcU^LpE4R9MQ4Cb+MTy z;hcCs9ZotUUIF00N7%*2TAp7gQv+?iAMz)4fa;G;)B>BqEO zoc_p0!vGItG$f`)k;+AJn!(xc(K+r8-U5hWTThAp40|1Fsf6 zzg#@Kyu@|jJug_PxRmHf{C19Y;LDVqtc$(E@&11Ko_oA@gO~0B4XvyL`9p|i^{1B6 zKcrXnkF*3)_ z4_zIY&ZT95hIq#WEbY4|IrQB^HiDYRD(91bb96$_{E5wjXMpk}OPT7=hQmFGg0@T$ zS`;)o*rVk8NOeFS^JNX!JA7_Vc9-jQOZvFnJ%6*&rqirwSJQVH}53Ur4pjoJ2 zwAOu`z+a^52FY^J2)YOnGk+Dr+RLV~>!YE!W5}gmI0K%X=PcEpV`t_~*FRnFFtone zO!w-D-v8X-XSIuOpMua!(ypccIf&G(zFlh=%CQyxGr;%;n*Euk3h`(XUyL1Wj21f) z-H7Guj3!DpxM&|K8$Wt!kJuP}a^g=DMS5nuSCenT?eZD}&cYDf%{~9h z6Ur>qTbm&n8W27$7n{HDHflm;ZB+U8Q^^y2{%3HxW;LY+e+J%D?E5n{592T1np<30 zbfuk_50;lVwyT}X;HArUc%g4T_=bRPRR={}1aE5MX6s|CuFYW8e&}E)U&>?J(*^@; z(u3SR3kBqQ+djfn{oIG(dMN_8pCY0!oe1|C$k$h_F&{c(fzCEm3dP6SJyf zzrMQ{w{L!jC(S%j1S=iIR7y68YjNuj*dd0bU2i6e9%z5k#!$hoi_?CEx|$HkS=SX7 zVX2MO_#K`pSnTc}D&l}DX0mGL&vd22ZG7StYeQ#l2Az`HvsF1x!vt?bq5$*Z)PVO; zv@Zf)TF8g0HMg3_4myE)PG27*EvA z!##-U5*;%z*Mb)m73 zffc>cfy-zIFlST=r8ta48+_Q1&`>+-#D0E(>UaqZ`5MgfrV~8Yn0E~zeh?(wwbAc2 zCWAR$Y|g?(q0?v~n`kbP)bPk6NK*pIjsg94j4V^Yvte5w=WG3%IK{}OkWjegyJBo&Y=m$K@i}t;25|@(fIAU(T zbYjU(&L@a4|A_`n2b(C| zXZI(X_!=qvdz@^9m1xt z_|XK@-q?z_k0@?UEJTg%bu1mAeK5~o_Y?gn_IN8C+BH0XvU$9@l0EXv2^yRVA>~8nCCFGx?#hI}}U*9MusGel)%Y;DJxk3KW;Ygc@60N<1P5iTT@}HxT{~yuEKSCRI zY8H#pTqo2sb8{d+6?8Jg~N${INeaA|EKc>td6oLh*)jMScIlH*=oF8;K$MoZVasOJZ%TE)U_h!8$&< z5fDXkJcSErft*R zP_#rvVIiC;(><>Wx_;8RoM&7<#u~{j4D@^!eN|9#V{q$^TKSRyb zP>n%awn~^GmpLbNaN(DAq)_(s^<2Gu*ikffx3k3XD+XXVX7Ybv-c^#)w$SW!LC8>6 zF-Vsbzg$WoBNzEYg(utDeHoHJMNN@AqWnhqtoqB`ebdBYDRl^Sd{3iRPoRMi^KNwD z{rEmL4`G$gGK3|NG~Z3SWM0{{6VlUJ)I~6urGsom~Saz%E6JM z94wDW*cn4RrlVUx?za4zSM?y)qBXH&M@O`a)zz=dbv?$sZHWR$&3P!mBUQR)FPosd z&~WUgeGMrhpv7dsB2V))mBULW9_TVvBT^EvUN|^o^jPm(%Sm>|Z=&($Sa`RA>04;_%fw&KNqK``A6<8DxBZwzh!3 zkj&sO7GM0w@O7YS#;_lo_#fX=3CK%Nw=={9{ZHL*8M+W^HL}C?MnW8k=N2z3Mq94q zi9Xdzk0t8c#ZM}r&m=g|;ti|1xqbP_&4_JYX=8fo?Qo7bkLtm9g|G0b(8KFrN|S#j zEiw0&{lW+u@&nD^KP;~~IJl2mmBpwL-k+I3jl}YYwXT`p5a}L1<^)H=7l@mty`o_8 zY3+Pmi(zvFWTW`l0C;)bP2Pizu-tN+Br(=jyc$n1C@Oa^X*r%Z~VnsPhUO7_rfxIbnVl-WeGyyS4 zS@Y;L8~-=lR4aW_ei&n$#5ApDlPv?CaBgddo7xr3`iVbw7Y0v)8dfmxhCy#OpNd}$ z6~!fCOk8ZHTRb|}_ek)&X1QhfIL2fc_9yKN6_Cl}(83@B~ zIT2t(-n(UYRx>*4(ci5wQWFUPao*m38s6cYs$*5cN2L-oNt9EsRPo^3Ut`kSbIwFu)>Xbn&zZEQA1C%9DpjYRZo!` zu$!i3b)>W?liz7(pPJy=OefdZ5D!@GU<)}fx4KB*lAB&V@?$6VK>ym0F*ZqibE|j@ zew_4A1gQ;dx-u+rjFh4lMVpC{lg~UQ9mu7WRUbMO(=I4H<5?`;J-yiI>TXVX-1{mM zTY9?Z+xCylukZE4yIH9Rw(D26Wpg}&Z`@i}flBJf^%i#<7?BP3a-hLD2~-7xP3%a? z)R64OTRi7O$1G%NYqVI_BF6GOQ_S$kTS6k~-40dC?>dIkD-3sti44c=w_9#M!z*T9o_S69vjjU7)(czf@%uqMwuS=5VQntO@89-0 zjh)|z2-P;NF8gvmUdl(80Xss8d-t%0nswWoGljME(cF8`b$|qVYneL)XfM zS06I8Jgp2w%`!6#a}?1=$i>%)I;|C2V4=5PR(;Y z2a=yd<}xaRw&K3FF?$CGyV~|LM2(t}I5}XB_Nh}PdD@*9GAh?OAX*n^v!acdS&m{6 zjFlx`;{9?gZyT;K$Ff`FT4On&4(-P<1XqtLj}i~1P7m9U#JO2D8|+aQIb}E zu;mWI^XfxXkIO@XL7MBLhXM*~#oY@4D86pGIv1M;NGPT5*<~dW06<$!(C&_yhV^M- zaA$F^CL;iKWD}~y*nV`-R8@>hpo00+h&QNOVz;}^3ZhKE3D8`(c>w{Aes%K&f$@VS zkn}tVHY=7-!|BCxHZckvQSr+JKM<~$Rn7S*!n48cgSmZo4e7va+UMj;lfiWuPR(^vH;<*^cwD@>02h#Jc#dBpXDuwM=U2>coo0? zxI}XsA>rcp-R5T)JD=Z>*5!?RfPEw)M;uA$Rx;HFQwEO}IzUp&jCl1@>nk9%{snj? zG=yjl@?H*@9R9B3YGjZI!_WkwHKHVzXBb6gCD2qrXcd0eHry3}%pT>3xsI0&A~iO) z$U^`^?NrlT3%ewYXDzS^j2?*H`e3?$5WuqKsZdB+ixE z4KMiVr1;9-5<7+|r76CnVW99>V(}xqu$MzZ)s5^T3Ak*vj;P)bzvxPCfX>7gLj_%h*E%%S#$`AC^ty50g-*`}XePvQ*<^*=deO1dquaQRD}Z`&fcl$@cX( z3>v5wO}hqBok84xdHzUVdnsBPV$;@sY(Z@4R9k|B%<>78*C~7J02Wv z^96$7`Sl|hGey)42zHTGlNJN6gR5E>LY1FcxGsahIvcmUkL!E5ONf&(FB+@WiF3s> zLR_0bH$9ZBjP{nPZULD1AH1Yt@B_(dSnEHyec`s?~i^9%Ph)%eM4G(r&w4{AAL zR!uM&jhw{?>LlG-OE6|3+OtgXe}Q?7P*e8c;i+@CWi{4neSIhRiU-VQg}5i%RY%rT zbbm{?e_kylC6IdmYebqv!cXRS=BLA-emX7GGC4CH~*2VXm*8_tp^) zEurU66!tgD(NizMuf*UhT|QlYf(uIcju&RzhXivOreXy;PTmG~a)9$T+|D5c;KD`Z zzWn&foY&)y<r3}NmW|XHgHaL$j=t+l zc}=wy?>r2jksFBbR#>pW^Eu4-)2lohJ$D(V0;O7qAEp9rd}q(oRPI;Y4+6zkSHG;6 ziqN2z4kV|Npd61wt`s60cZoH|4ZMGZFiVGiZ6pGcUu&#NoJx8aL~Au zAkm#JXr%Krb($rrDXZR8_E5SdV~{)o)}-7g9?cn!)WK>?J(KgKRr}Gfi8T9RcZH}f z$Z>%%3*?baDQuf$=Yzp9<-=T69JF9*~OmT^Vy@S5xL`2rrze#%$ zq2Tl;J-tvd5zAmr^Ynoy;#Qh7K-sE(aG5L9%RM~!{pv1VaWxVY(by^E8~&f+%0!P1 zuzP&Pfl1FekFi8-`#Ep2SAys2aM+v|JHITtG0zcQZqYMLeuw4k1ojA_1n2W~*dvkw zu#p^%V-1pV&Y>OKexL^GYQFoU`!LH5Tl&Brtz9_Z6mGS!Rv!Zzp6}k>S#`b!Ct?tvw!;3nk*}{~$c~TYPaq%bLJ*GwAoXXZAa? ze;EL+xLTnyyIp=3i{rMMA~GD=|1Z9skLw$q)B8jPIRZ%u)lttjUFn6b7OGLObK5|o zUMt9TQ>-x6hpvpv{q8FXrV?dZ>hm!N*{XGhPtkN0B_3q=lw}hX+Q2@}M5CTO+Wm(#0J{^3= zSD1Ryr^fH`eTq@>N&z3|RPoFaaSmiOay{ndlYyZuosAETGYm1a(Xh+`Takj(KcO#~ zojfG$jv2&F-;Gj5Qfy;!+UHjhk0{a;rGt*A4m{tRS7G%xs^ITdpUkaCSeF1*^4RmD z_m+LyfQf_aP%u&FE#fUCVN3#AdOB{FdcM6?`@#8<90=s^z8-od3>@UAUs)$7z2b~elc2w5vQoIYf2=y5kmY}Z;1>vVXH zIQTc~y9Zs|7D^H-ttUW1cs7Cs^-a3J)H7m@s1< zEGRv)PYd}ATGu98!?4ix)39}~XI$K=->=^|55;Qay?#Tkzn(qrzQhhQZv;-Db?!-0 zZJjQ|-Fczre3;Y^hphDlk_c|x^b&E1srNk~$y40*hMc$JrAQBlOQhKKeV>cIYA#mH z4HbEBqsG!nfvX-!r;!7xed%1!pN35TG#K5rVz%JBe3OT$Cb({V#$xANqWFL2-U`y4 zTiqaO_*wfd&yw5&?I7|N1jAQ6;j}eX%Y9nqg~j3koQKnMPzF;N+)uW!Ej&a|NV1eM zU3*G%yx(Gk)luIhpz(eq+MK6b)7{*Lp@t|{j(aO8!G&T!VN~bwm2l>4JU4on@Hf>? zMbX0X0HBxemso_ZA&sUX1Px#hG&NBCAY4D%8ptnMh4JCYtM~Wp2fw^VP5S}$@P0l# z8b%Mjz#&(PtK$VW_h{KSHLMAcbh>s@z0EewvMKERLnYdGCe??PW_B@DM^c#M z_4C;h+cDBFea5XYJr-f0wNtX@Riep+sc0)^dr+mq!Z`~@Gd$(#k9LMxHD$p>KTKnztjyh?If z{E>FgDjbDLVNH5r$xKQ5d*a2$7rhMMK<}OhoBm&UgGP)*X4p_B0~!8IvsB?XK}tnf z*_i9_qnIE$&=TBdvC5(N8S>1q=$n7O0~w*5IA$u2T@c?TPE~C^`-u-}56bGO zsYb*3fQ4}LG)*FOPvcN-XH&hkc4{nv%e)X19Kr{ktAEw5FMEdki8S}{>O%~QB_1Ia zglzB|l_^v0H80p^q>M$D^+eq(h?Sf&@#VAp66KNd*07DsEw>@UIptC!#tK2X9?jDD zN}mvUvnkfDFjqlOF+@_;tv{3#scI~ILltc>PPzhsOPF_=#O2bKm>{!=aRQVbATko0 zoVe0n=d3WNBQ&F)W&@fcQw&I+9ox0e*^GeOX*Q;s$Z30RG8njT?%X_EkFN!#x)k)Q|&{gI04u=%a50sR|B(i619U9jHL9_xkCY(UZo;tsbqRwxZUb*;Q%1FL+6rxl#4B1N<83ohgv)_7d2u?|M;0kuJqEPeftG6zGf8=1UX@2esz^6+Awsp zJ#jx_-``PTFELt)NYiC!tgmSgrX_^Jc=f@00%c}vH3mO3I2hT6BB2`iW`WZU%RRgp zIZg!Z4~_d*T4`ktHk1H7K9)&=y(U2F>4eSdrT=5WASkdm!!+p?4kbHVX~evW_G)EB z9EWrf4--A%^pGBM`T2(k$i-fk8?o30?FF?FRu(rqR5MRv_LriQZL%<59w#bWa;Ot3 zn!efkpf5_#f$%dQAH;fSUxNfl0B zsMwg^s_bVK+U(Vd?qe@M#6}-bc`-?fK~`Gp&28?bX5sfYIP2(TXKBcz;KR$0K?<7I7%voA_F1K^(#7wG4BY8 z9dh>T1XJHx4Gx7bx9>Oj%hg-SLOzcyJ?Z`3D=?yHL;G|n;_U`0E5BHD+FJ)Q!>u`p zx!49vPX}px0<^;t*2HoCWw0%%&xm!_sa!AaupKgcSovd_fdl)wQw;k`{$2wK`NMrr zGWV(;CJO^57;e!7cTL6$aO!4e!uzW9W%#eQiq z76;2C>TR<^qqr%u(o9Qg+zp)F-cWQIDC`J%0mx>=S9&}b1hriS<_NUKm;dV77wspw zIB?SCT7ouFD6li!l?sLcZ%4w=N;-rtZWw3;+q<}4b5B?epI`M*H>lqnz7KsK7CWiuvukmFERB+U zc`()cWIv{P5K3$# zzu2^&l6Cd+Y*re22r$5F4{*?tlTPLL%!g;`QC@^2xKgs?JW3c(uD@~F^YCDhw zF;(=Cy8*ag7?X~Cg@F%|38)|G^J`IDI(ZwSxM;plw2Dmdf7(_N?lb20uh}3I2x%l= z>!Qb+Iobs)GK7Qy2Q)26;@D53)36A!%+fts<0H)c{|5rY?8gy#4X%dkq_P^XaLtD4 z2v>om#fQLCA$YK3gf%GY;`Z|UO19x|)rpM);IvLcRMx7tkpZK$#UC6%6$_64cd05O zdgx=;k~!4Ig@Mtkn}+m)M!Of8Kq z4;{8LLs}J8HIW&k7y(Iqd9_BDTu$Ghm2s>gy z>wB0$oqjScqE)PcnA_G)zs=ai$!6Tv3o`4=9jYj7ujcH7FRB}kVnx3!D1mY=p0Y(i zZjN-8CbTNY`j86eYx&pYBZl+_Rbi5#5^lYgNC^W9p6B2*2uEP8x(wUdbRIo7pmZpA z3i)Y?*Z^u>J4}B=t;qeM%a8BwYb<;FLZuVxlmX)>8zemtw4bZH9tY>Z!cE{afz65h zLd`Dsu}O!+9h6goer~AA%Y#?A(aQ8IVj1$FgRrOf;6J|m{KM1lP80^_j+i|*L?r`} zvDMB#%g-7=*iFC~YP7^1GI{ICmoyqX9Fyw~^La~B*t&gWipTQ%KtH28T01@_tx zmZ;uI>o76sdAOgSv2k6%TjxC3Yh?{`#J?fgw8vR5h+>U6YSsYXssSACp3sPKREx;6 z0%xCpUhnXP!=&p_R^GZYcXf~va@uul{X{zn!yspJf>4txGN2;gae@EYpcKbkED`5KYZ1uwEwIzT7uRY%> z3dlI;*Dbag8UxXxfbhv92B1{ABx;>~9-ym@GyubsOo-s&+j3B<=WSrt+ec&zkUI|I z@3(hfOdI@ecw2kfU&?- z!A3R2h|+a zS4PsN;cZ-Fz{1xV{cn=gs5Y?w+tcZUwx~ zA(y4mNY+w+Mlbg9<-VC6JQ;@Q-US%zG!YEsRQP- zPj97C3j=9X%K#Xd{`DfndWw^ve-fVw^;{OeFE*Jy>EmA``1mlVaks=cps$+rN z^h=*aiVzfsL5#zwCwvi6lUUo)9$zOcu6I<(O;vrlW-g{wd}#$};Ybfn@Gnmja~m2C zqi7^D&lX`ux~?B;>-(qQJtas(9Iq#re)RRt@)8~F^P9_<)@k$7^Hy>|AyDBmyeDxP`CRiIfXC;@m*V z;*`*~mV)uq3*zMVqqcBT01}mn6V8KwxvB8|$zvQG`S<_Yw`Ztm*b1mrVzvpC7~uZd z^w-6k+n?6R1nB+04{A&AR8Y@bYcd~RE4I>to9bBQO-=8@hh3pM3$ppk(ZBK~H z%k@o9q`8Rcq<*}I9qMmetH9ak*!eN}2}@N#dkm^H!Q#D1K4obEg9IF?3$jyFf=dOc zl~~DnH`W-xl#C>*>&rC!7F0UvP6fWyd~hAaJT{>9bHO4mY>DUG>G_M{UXNv^Jy5}1 zFK?D{LdvaI^r91scX#iVdx=JJDZLChxQ<0WfBsgaYj{_4pcowviR>j&ArId#uXV(r z1_tXt2h`D#NOax}O`uYTpy%@pxi&ZOGglzBY}lR%3k0JhUQynygWrijcS@jgd47nn zJrXhW@!^W2v~P)n;DtUYy+L?nLEm0(V4FK|VX}#a{vKE9+&Ft&Tx&+NvxccL-k%Ai z8lFaR@`}R_I~Ttojp^|YPlr4+aIMe_3UJLvEN34>taB_S4{%0KweHf>YFvbypTe={zMoCfo zW^B#Xo>rTP7^vGXhjx-MdDsP$fgpzbl8(d&JNheB zw^sZGH1&3Ok?s$~k)HAs7qA6)4-FI4T;CzVUgidrI$qhxoOl9>l?pl{N8{gCzrYMy zq)4k&7A=B$c_Y!O`WB*OmtcyEzJ=;-1-Uq_)y1LUf406ys}VG9ZtHNoX)lrN8PbJ))UN|_^dRywpQ z{TRai#G5M}zoLa06Vj!mH{=(T*dcfoNgT)NUgzQ=1-e*2VAH^p?qTWofu%Y8P6gUd ziY*s73sH8+i~+CAruv}SeauCkLZmF8(4|oPY@nGnr6F_RsLn=|&_NKz+4_BdpKw-mVop>=#}JAZ%NW z9hMutMI-z+oSQ31SXzKfO^`uya;gJkGROdKFvod1$w1`dhs1|pHZZDk&~b@QVTZ*g zu?2}3+0M7nTrM!XV&5#W=lim=MQTm@dX2zv{WT(qf)J-)h|WOo)Q-|^r2L2h8$G|G&csaWWJA8R`bWQ~ z46-kqqOkHdP3AZbtiW;@1h${_Dzb~S%&RRCYPl!ZJRyDwk6`dVCJEl4LAWiofk~>V z^Rw0E@^J_G6Y;t6yK{#C^21+K)~p9Hn$GGZcuyl_6X|Iz`I#p02GY!g$fw^w)1nV5 z-((n@h){xXP+QG5kM0HuH=L{v^95hZ&8I;ly;!6JDvKAfKZDIQv(#~?@h7>Fg2@1U z%`?yaO{s*`8>~s>6q!Gffd!(aH+2M3A$LK=+fxKw*qutWIS&5iIUql*vU!!I+R{}sVqT8w=XhDy4MoGT*;Ha>w3d=(~I`^h7SY*X4zR zoQZwV6=C_jMI zfog*YxdZN{1rQPoitlPVGRUzmv;(gu57k*Uu0Gqc@Mr-o#u&tNZ|x;f@f6&c@zCZ- zj`r@qvjQ?9Zj;X(%nJvrurEU47o>u5BnL2;bJ{VG{$2uIEP@5Fezq%PKCtiqs)6aW zV{(XC<8(WaE3y%{cNI~x$SPWJhoJ;0IE_dsQWrC(0M$LO>N~Ywhj** z9b{^1FtFsq7~gL!{qzH^&wYyw=uQ|6&v!8xC{+&S`R;d!gr7rtwjmD0a<}`m+3FS3 zCOS?ukRoAL6*a9zn0RQ^u4e{hqdKA6UrMksQ_x6jXMy%7Bm*G`k<{0aU;%tL&PlogffC(arAFh@X2qe46S>IKf3DMTE)OfRqu3J*S6b5xu`MR@58^=*)-1E~ER zIs9_F+411SlUjo(b+kVTm|);QA*JpAX@uu@3QEq73C5pJkkQ?AV}P^=PuCyp$^Y;c>OQW2 ziVb~D`?`Cx%=jTxF(DF-%ri=8)QNE(*3h^>l>Pd9;T^-=#iKj<&jHA;N+tTGru&d>n1!eGeUchZHE2^^sXYy327E zO!)v2(1b*OWo@7E)XG3>f^+00!SZkZ_HcW{p5d%o>ZbhN_zaASUVOw7B)x!G6$sm9 zJqm#g7C0*lwa7UbXHk?pUJpyjOliba9w@?LxmvuKit%dvC+A zoC6;}iBj)K`ET)a)DZVYe1Y#Hn29EnF`Cl3!A3SuZr`JF+C1*w?W7O89j^HaB2D^< zjV5*XOKp>s0B6Yi^!rc|9~f>~ic(`UvTdgubCQ2U$&)ms9R7`!K!?q z7b+e2P&l57ia(4{K*e!!^UVjl!#Sc#J7PuUtc!)$drwS)#;&wUdVXC>Z~U=WKqkrE|R~f6UCa2Ddp=pD!SiWKZx*8fB09YH~xb~lW60?hJs1fy{~UaM>ZHYo0}Yz z7dD?vSzWKMqvLSXM_jeoTT#x02~<{;WO>u1(LpW`edl6*rB2J0UoKg3G$y-y3@mKj z(H~f>d0UZDcTVG7$kL`Qd0Lv!(Fh})X~A?{$QQqMyME;AD0|E7@+MKk5j#J^1m_|o zm5M_ZU7d~^+fAuDxuZO2sZixAG#@mscjssGsB?1lAMCZe;cojg?L_3UgV=!GJL!p5 zq?639JulyxID!NSpgiTA54H?(kjNcNTAXiofd887V}McgAZe>pQ)cu}F- ztg!ILvlX#S&4r~2SHTl$R?t4*=q6CYDQ^$?_MYuzxdcJ;N5o>M>%f$qOT_%h{C;3m zY#u-b62{GoF8!uJoJe$Vi_v4(@@mzI26Fn-A(_=y(NyHdIt2gLt#91W3l#EL(N-sd zzQhQ=wWVY((RHH1?&vh5+ixcYWRub}K4EUdRck9=vJZc6%`k(tlW|ZPX$|Vpoat_z zx9~3$8}$E%?{VrI;KODOr4(dzgBFWjung z$7IOX6n=6-aagwJaLSwVSrpO;P5_}R(YEy(XZ#-Y>*k?LW?MqqSD+b3~QB+wtlb-#I zE0gKXS9yt~QEs7Wg<3GyuguOzR9uPbqsl3}wfWxp>-T>VZ3-=>A{20VboXAS-a1PP z+?4GtS2!N+zt7|VHG|vT)VVfI;Q9!XPkr@>2Gk6$`>mm5Nx+bmT-G4?H->Gp^)Ukw+je$>ybE5Z*j|L>qKpYDQ~5 z!0kbsgc}m~&}A048>Qes(D|~^(rfbzka0CvYvARk@4lht9=uWNoUxZy-}w`fdwq9T z_NqfG*AFp?4_iG0G-$0xzU@n=-@}pOXpwQHJq;XlY&p(WLK({3qqUhMub88vrtj|V zL$TFiXi)X_d|@{zJ+F}59M-f_@ihKU-HagD!8U70n$KKDB%#&vwr|(m^ab^F>*_qK z84_3^iOj#OH@NSB@-2>0Xg{U%l2zKsSRN#%aUY3tSv!>bwEWEe3}RQ$tE&+uGUW0J-U3^gvn9j|wYtDUD-T*eMSPMP78mAk*fH7ABHg}4C%7C{ zA&ff+8}H`fL5QZI%_sF2Dbfv|=CVv>WYAm{H0%P*tVq#?#(_G2oc3$>=i@b@>{rjW z%N-4*Mk|m*m~M&Y@xuoq7h9hTahu}%FLLcZ6UoUHY+P3YUQ&Sh*qUL%#QMWf_ESHMx%8G-0ayCGP z*9le+uV&TqfcsUhU~LLSI*KGV1dEpS@&rzsA>35=>#atGxeAu3VN4F}5D6w`QjWF< zM2?#;Q_D-^NGv+0d(Fruhw{mNKp8x?Lo~T0EggWRpJSM2zB&5EOM)5lr%2_|d<$XY zjxD4;Y&(G6D(pmXSPS~}FW87AuElN;5%ln8mL76-G5bD;F4FG!)^=vp7IMaXI8VR( z7pFHCBez_NF!KWg6Ohh*SxO}EJnr<1prUT0mRaoe`EK_pOt4K_sh`RcuGov7%bKISADNmHSW z)U(&|?T{3)zP&dKAPD>Ns2g;n!t6(ELZSi<#%Kg@?9LBzh3M@`j)by8^5d0*1yc&X z!#IOsF_gD81Q>vRJm)RRWWTUdFA?9~OH&l{9H(E#_*>{xe;>jvQT^<0!xDEU4#AL*4~&pW(?^jR zih|E_7(Kb$+l#(d~c|21^@b!$tv zkO=BMt`lm_Q4pWE@K^3bOosR)ve1`*$9K)zza+#WdRo#cRX*buBiA`n;rbGeszqq@ zi_$>k;myUg`FPQimaNV4+KHv2bwMnx3(r_PG7-rSjhzaFX zU8YhkMAYWd9T8o9c&X#8GHX0e<$n5(0M)sR+IVu=j`i!xl-$w5%4bcs6B?Jdw-3Ze z!pnc_EAThVFFH;{nb*9&qz&1fxdo9hFL}ENmnd+=o_2`1C)~Bi&&yIZo8}8(xLtBZ z4ZH`rA4{r;QwSYOk|M=GxRx&v?p&dmt*dTKys>B#lcx@4##=OGj&@If2*jOm9MK&U z4Bz_6gaMc+s8Dxv`-hj&qQKN2(}av*}545Eyj_X#_?YtpW>$ zZAnKG6YI!&YZ*XKk{p1xz%gGkZe9kR?0ZlEg%WE=%NL0Wt^aiUt$5~7fFI$2@CZEbZRd5l~xRco&LPN+2|6FHW{$& zq-n3}e1w0ILp=r+h$crXo0&bLJMnHQUH@42fUk_0v|h0LD#3209MN`9Y3#7e@%>Y9)ZrQ zx-6PF->!3EqK=2k&msm-7eHb7pl1qLkwRH8;VfkxrQ)YvZQ~%Ah)V7?QHXuts0Po1 zHdpa{Ge8=%el1v70DT|e#$4-sXmWtFxyyHjLw~!mQW9Ic&1*-~82e{)++w{u28Jy& zMFw8)mBIikJm~ORuii9WtT)%JuW;BIf-!W2FcnJ;*dkl!nnnTx97`K&4A-7Ed3Q}% zI5DWl_5Pm#AlLercW3#4%^IbQDW~WOYjQJlap-swD-*QKFzZ=Xq~iyqmu~~wGuH>S zFM;c+d^Q`Ik3u&2EoaqO%&(IwJR@a`?9qbI-bP&4TF@4LJ8cp|u!Ey3XZD7zvRuk) z-Ibp*)11c6zSz9r6!+bPp~CMnNG48ek>_+vWJ~Gu*|OH)3KSYt=@agL$H}V@2?h!T zhF&x0#tu)6Ev1$`hd7_bdFLMA+_rYD8CqZF7SJ6Q-1?x|$OsPyZ*Ii?7U1eiaS^(R zS}~_3fg{y^AbYeCC&PGQ*47#$xX6!ua8h|8F1KFIPBYJNmnWJFk6_(>ZRm3G3H4IU zxHEOd>N%ZF9v;vDUGDeI6)Q21BjQp_xU9>M8A70~*VMY0kZh2R_H}B`t~^>z&#lKi zQ5e0b#!hyOasy^XOE;tQaPJ5l_8E6tc&oziE>cU^Afnw)F($PSIu$SiITL}aK@v`O z`~C%aqP%)9-`8$=we;}rUb;e|dO*8v0)Sy30+8T}-WuII{8!mTuH>nPecS z#Mi`G>R|}#C?EZ`4ebsV-`xff^w4elMfWmSyBLu|XzWN|O6!u3N zv?7!5jvw@|#i#K10}2=hI*ddrWZn1n{BqFRiqfaD zX1Ad$oR0_){7-L=~ZE=%u1y(N*Tb7PGMl07yjH{p*a#6w`o}SmS65A+PFvUMa|r5YJs2Xp5LG0Xc%km<&`$5 z33d)JYZ~6!12!3ow^bM;Mldday^!xpeqlE8+0kX zL-61t{=({74?nA!kU+2wBLqOme3&MyRws9((+Spghgd>W60@C71_oHtMjmrX$KU+S zgQ$ARvrg)fQk_0R_VjE==m(+2sTy2FbT%J^0iZ@;lFgUnahGQP#_J)HlBKbk=zMIw zBsL=2IfzB#Rl^)xs||}E*B>5up16cFfhV?#&n#wl$jZ{!fprJe61aAwdrLY+GcUPG zOqY%-0W|OR+|0ej;EMVTbH#E7G4MUJVHV039X9Z(tiG|U+F~+)AG!*Y)UMC9b9X{g zGjxWAzJGC?s8|@DOi}hHmuf*>oTFyQ3nMYiu?7K<1QxVGTagMAVGj6p#a#!H1lqcn z$Jr2vPVw7&VG{cC_ltKU%d6esi&?P+l1AZHq1CHBorA7UBFw-y6mEjuoa+4b`?(mO z=T%}6abW%CZ^?i@XL7A_43Op7&M0@P)X)AbwQm5m9TkZ_C)b1{lUHL9jO-gH5dmN0 z9XDwjVOXf;Rpj<1C^2;ORxYxTcl(jJ7U=QoK6Y&Xk_VVuK7v6JpptS^Wxb_Dr!HBdArEu7y-r)X6eo)%q>NsUQ3;t`~-3*b<^-c;5_|4tlteEa&rWZVYs?MBe+H9ECr%l z=zB{vaXi}((~+mqFZa$AZI^?5k6g_cObk!Z^PIy}2~x~i=fL$U48|=QHc4^iBPf+n zZU?N(w#oM!FF$cAwBx8Ba*faz*Bh=7;zGM(RJ*@L{u?5F=bXrG&4B-aSFDk)ROJg~ zr#zANQ6qE^fJ0Dy`u!>Npa9W1wvj5n0L7Ll>UMBXA26YKrckYPbjO;|ys@Ux2t*A~ z1nvjt+s~)e*-habv>x_GuOG@lk`KLk)}n5yCCg3nYTHrA4b8EDTXAJjjS-a^#t|<` zx+K7v$*Zf^&h2WKI!fT1wsz8(3XLx}-7x1B(?DlZtuTBVq@kf=Tc63`W{TqGmGxrg zai>Ndcmeu49Fh%br+OKXmaEh=kox+Cm7Lw_&6p5`hlYJ&w2;I=y7;t0mmYjb!*1K| z6kDU?QDeOEAVA&hhyT2ex?Y&4JO|oDxIKABSMltaigwI)D8?StLYcWVqHStF3|=%H z`asEsHEi!}kG(O+rI_d&ZV0mjZ+l&@ot)C-l^vco^as&lC(>teWvXE`7U_+-CvzP@cMDU z#)KjwX{S%zt^jgztGQG;@L_riVT7dRy1a2`fuuBtBQg&%GWtKx|4<({V<{CiY#E$W zVc#}K!Z(+>6OPVdO^yC1r$3>%dAuK{Cfstc*Wh-Wbk$I^Fa(Q`VZrW}3ej?=A~pE3 zb)%rFws(6h4C6uL#tuRoVWt8CkZ`g-PRcYb<49<`vt;}_a#8YMqzOBFY`0Oc0drcT ziNxxu14FFsQ4wEzLpnWOrSbq&dbrn>kd`S2PZe}z!ItTwR8LFM+2hx3!!*kWUBy*Y z!+5m~!PZwDM4U44UD$bjylN~HaiimOG^NYaHkwQc?o_X@QRJvoO1yAr;f6zVa+if$ zzSVqcWpB&u^LvH6nzHOiE&T4ZlRlB=&k&aHc!6;ka#1dD|2A*PApmZ>S}{l4mDygk z`B4Ar3uB4sDT^mEX9JzcrHIr|@K>Lf2Tt%LPeCs@o<$_zV4iW@ZMn+TT|7Dul+un}=LYhDd=-IzSFpw#BK}FyB zN+7`~7!(L+VYYHw-5TtJOB;jyzWyWI28NB{oxblK%3QESNoq@m{Nh}% z(@3@v!|0cVoIRqbj+E>&%}~AZlFFbVgI%hbs39LH_ThmhN&zvHANw=iZQ9AuzPZ2M zT@R>TaXVT$yEWvw6(q%D{&jVAw{obDL%R@hlYrHRC9^mb#sQRUUdV1RbqT2nO%-+% z`BHV#M9UHh9FPN@V}{u&5*LPV0FwHE5yEX|^ZonuyJsHBaeT+EsREfb&N*n(udDaJ z5Q?gKg-?w#vJ?zf7q)r&|B15u3jZrH0iCi-1{=rB?`F1c<5!U&wRv?n9t16)g7c_ZjjR}VZ7Xd6`?^ez`-GzT+jvG;Hlt@4Txg(f zUpX*XiZ;2LuIF=l0xktYl3*v$w{1Vj^p@E1=7b&1_WG7Ngq+Va?#=~Tt}EZ?9r%=( z$x#XNuhg}ZPDdSNXxrp`imf;EI$kBy%;iz7?&1zx$V*U z{wl_#kImFDUdxIN-;NAg%$G2ZO!}~QO_}_fB{fiLh=3J*)EEJ)>?oqVcm-*6!iQRn z5NiiT{aIWqcYdD=clfbyYk?Y+XP2m{-I3OF?g1m(y`lIfBxe=e4 zPOHRZk>uzr!!TuTtU}DK-oFiUr@S!>y1;2y<}M1ul*@7StPyo;;&l~YLS$^exzd=m zlm*`(OLd*}po*84UP27bZ@jUhIrL2x4stWPh(Kiv+-zyYyYQ_ZP`!U8YE;)z8Iw{E z?8Ergf1Q?STSG1g>yKXti_)4Y+2{tNcn<$C95uvp>j7^Q@BSKkl#^5rP%~XHvE+7~ zjTBvJbg?6`c6Gcjm#D=SI!*-Sb^I1Z6-10}O<_k~r1H#eKbQI?dMf){fr}AVbM^Q3616o~uPrfh&Y2E(Rj)O^lavuOs_rwL``BsGGj948 z*tD==tse`&G@NjBZs>^Z{gpX6@5BrRMa_d5q0LDV(j`>vW+&h)pJ%Eyx+KoUY z-HZebh1D%I5BfqLA>Sa^w1xwIE;h@ndSy>-#rW=>^2)S;W55uNl}p!5A&H1fp@L5C zbET|;)aKsPJE>|6hNCMMr^3xF73K~oF~j!SI>n?M&2Ow+X9^-Mq*Jvwa$Xl}FnXse z_EFELqlr4~ipI<##)nOLUp!o(-~WM7Dnq@SI$cdbh-~luV1F? zr*^hokM0>PsN(waK(NQ(e?6X+0~R!-#t}BkLNTeJ^xYEHN)W;~5nyhkN^yZ?0r%+w z+GKI9>QM+~;Z7aHo*~>tst@k2*ktR`vpJc~Qj|He&1T;}2Ure?z1H5#sU`i}% z2}Cd&=<TT;&zF<)k};*!xKrYe?qwUc5P2;(_C{_yKB$14^|Mvap?6zK~dxr04r(R z09hCdpB`MLDvM{)PMxTG^SUkJHYgJ*-mWTchPy0ViL$EQT5H~Vy!(n<6C1bMga%?? zEU>(~vBFc{`dtbemu1ifVW(o0t=eyaJIqdYfd7@OPO6#8qzo{r4h&{TLKOm5@yRMeY{!oGS38+z?L8?VC}Y#1^d}aK+)Z!u zO7}ZyCdli8feISLEM&&4sLd)llo-{iIy?C$=?+4oo?+2jCf6-OHpd+UdNZldAPC&! z1<)H-%*CNW@oPPi=g%Tv!;VRJJ*;UU1Uu^YMINBK*A8%H*Uo{H06=hNtl`lmYDp-SB5AS4*)71=SIkFIqll)MuJrG?sqm}`e!{cPp@b>ApK8~A zB|_KcS$fv82df$D;uYalXD@?+66qKB0`#ZbGIJeBt&~Kyu7~z}xC|B-yS|-pjMtHx zvlkKHdct-TD$67yDNBXAOcf)d(r0W862EFXlvxi zVj4lEiY~BEDvry?-8hvk(P@)ck1lX@F0nSoSW-uiv=ZmKn(A2)=;7)q0CXbt`uxDg z2}<%8dubbN&tWA~gDZ?W&^HDnRppr5SWZed-^LwdPa|A&UQ|B_)m-^QpKx>^VVWB( z&;&MhpdZFvuEK2z9V#o}a(O9v(Ednm7x9+UyvF6DY3A&fSPt;Oavo>B{ej|?kywqf zjTBa#L~}^FLMnzbBx;bqul5#?g*(=bXLd-?!9Zg~BhJlA__xh!U<_Q|Mj<}w0(q4P z#4*Ss*^09{oRWnV9wsWJ@F1LU3SjflpzE{6F@%lWQG=EBx^wq&d1^rf&azCX`;%ZK zLzB4U(nfl;;uib22%Mwwaw3|WE@J);XM&FF_fex3(zm>4U<7RI+* z_y$@>;dFJP?1R}>)-6M}t^QH$J z_9>>ff;K0kFtIN2Z3n~?CJP~}>p~)6CrWA|wv$rbLIFLpv4vbu>Rfpd4C9Fup41i!I??iG}%7fmjp5V|1`zYd5{af5ASD7ZQDd z7W4TQ;=Dep>eQXoL{zPd4rvq+&V7*4R10@}C_w6P`W%6Oj`PTAtH*FMsHv#=wA?ZC zhTey;qig|c5Jf4v2$58wuJST)!0UZ7_~L^(%cihGX+c4!Xfnn}fIy$6xNi1CK|Y7G z|6R;rT~f!Xm93#sGn@fY`LGUH%#^+{^3wH(`p08y=B;hiJp6Jn`%RbiQqhwOpw|r< zYKv{0%aSVPSVTl(E$vc)u0R7Kq21_7U1H@H6cZB<4>rLl1B5Fq*k<@0=p;fiRE?q} zc|-21q-Y+CG1+0q>IrceMRGv2C7;r`1ThZ{TtENy$dNT_WH087Q{i+~oHW^vus&l} zsz!yZh^jgGx<$Zo9iGl;kVEjR>rT)F2iU_w9#z@g%^BJl9Sn=$I5pm4_ttMnN1lr3i@Ck`Q>!;DtS$q>WQK2W@o0 zwx?la!C`+9RnTEN-?P`9^K^-Y29W~)KZOB25CU*A%3t?<|8NYyPLs?jL>v`Jw_c|n zm9IioIspv7DRDJ!ws)W&zwgo>P@83}P9KS{HYH@`N~Q2jiTJ2Qs>0_}rJbF%YP~t| zO3h?XDCHD=&l-g=_u)4v7nQH%B$7vsqV5g1(cGREI+oTC3`yFy^fEr8*}3y#;DUlcq~3$h4WEt zI;W{Pf9cIP1HyHH7Z-%X-#~y#;5TN2fWq(6jKDUr)Qx~nyexubYl`ce{-pcAuoJD4Yr=3Xmhwte6xbBv>koeve8HtW~wD;QS>Pg*|409>_fVeWS;5% z8w6`g12}0ZD@Ls2?-U#d5z7-P+-w$9%~_qIn>tcHg=-xa|H)8bB@Ebbs1|n1J#d+{ zIt8{JmKcWHD(c%uLT#06s!B3Khd&&GLTnAw7#3cLzlSYBOUEA$t%Z4pE;*qkam{n| zluk=2b<~5!%#wk-v>O3`2jXP`z;VViikIrq=>MN+S4GrnIHOVtaoD+Q$5E&Pd*mfO zh(J}hOjliPaXfV*PZg{Z=mT-@cH>l}$-NtDXB0xJcEk-L^-dE%w_G|B9=6&tp+|es zV`pH}Wcr+)FrPAU#7l&xf=~-LF@zTjpJXc;b(vN*fD;k#SD{8VLgM2ElIREZnN*f+ zzMj`8CepCe-`nRc4HFnR)Xx+3i?usonT(~hZQ}<25}}M_R592Q+HnD96QHQu227Q}9M3?ND0A%cRd&s~j`6ars!xo<1B8K;jR4UF072ym1RM0_RZ53&$FUr!Jtl zI$zY3r*%)ndZAja7D}k;P&vM|I^QNWPAipJ1i~rQR*7aa+#rug!-jSNWX7fR09%M4 z!7fLOcz<<;yyKARt1hXsc9Xo7q+U>#79hq>tSdN-?J3y97r_ZoutFGThr%&s`m<47 zm%55bKNxz|9{rcXvgqPS0f`uShS%W5J{(I&Q$(bdDOj#2QkPCdSrLXg6mbt&&(J8t zZPF!Kr_6z~bxrAp8GW=oUmvVSbdPdY^Fhjq1sh*u|@PbT7uvI@&eeO4Ea!YpoV++xyTDG0C(nQcK1%O z81na)6YNC2jT8^zpFZd zn-eAU_QSXb^)wJ*6aOqS2WVm*00%!4?|@<HJQ3HAz zO0J0qFm*H3d|NaB-_j!Q)g}*tKiB%PXc+{``aIR>=pEuy435MLT zeY-ZSC13W?71Ms~M}-wAQKGuUFeCr9<&J*Xkhz*~k!iS%F9&4GWqj)v ze%PRSd=Dm>dozY{$lJR^u`Zm7VwzBQ-Dnj{gd^NDSiq4@*3nT@=C7@|t zcrq0{V1Go_?7cR>mozy~bG!^Q5wuR;>y*dzVcpKeq%KnD0o`OJ2OOE#qv|-rZ>wg( zIw$4BtuY7XA*3@c6|Wu&y%1|<>5^?!iecDHI3=$e7HpchtPy<4?ReR!B-;&gXZBDe z(TY%yDYJ&XNkusvBr69gJM<@h*avu?ZH+K(ta}5a@#Bs}!dW+zwf8*g!yfsDS74?W z1Rq7o;IYlwIBDmM5#6XX~@v=^l+QZ>2$f#`~^)e;ougMZ|GrlQ07s`0fkTK!Vxx4o4}>+ z^|^7~JZw*Ho9h%(#Z`?@O+QDhRUxQH+%<=AQSc`=1B`%E=3!rqU8enx${b8uVZ4D! z1LknVCd$@xR!Iz?RZZ(;_VTUdcGQtv9a}#j#R)gZ!*PMyWf$PUnnL+W7siRCT@N8< zRx49jn$~r3x+WfWh9SjKOoXFc=)eZf?HWDoK)Bg0`0UE{t6FSBBQgxchs1l@ukRy1 zecQ{<{rLuidB8*Oz|*epkZ~Ck9A%vas~~{|YVYu{3-HbFB(@Nxi>Xdml%^;dD5S{> z(y&B%U@>B|{BdLv?X|vhN5}hs-`t^bN9!K98(rrb*P&HJjYHOe7}i~ml1H{2Zt0}$ z`>~(eN?`t!kJ=&l$v7C2gRmz)v z(y?q+49jmvj1G-O$`6DFl-m1;9nMj{VGZX$>KArYisjv$e%EThG$;q7(o>9vpq z^N1B9dhwkFOuRjJ8K%`Xi~1KohLQL%=0hcEsFMOP)IvxM>?3^a~R2 zM8xzdbyDMI(?;%>K63Zo#b)bXvs_}03r#hqOCrLwR3II=$PAbjT#H|EqwE48Q~ocx zr5*WJ0A(sg`{I(-;iAg7WOKU(4;}}sQu`>zLh3-QYqywSSxkaDK6q7yeuu*IGV`q&C4qVM}PweB+QDY0cRpwosG!B=;9W>VKHXnaEI-GQ+s3&hp z={ZzB;zse13&px+-b8uMS9ZLh1l=a%V=7aO3QNgzjS2fA>T!{WJ2f1@n#);ch@8Ti zVdOWjt%mF7P7I@5wU2@ft}}!F(bn&OVC(ZUt_6qPBYzOp8}?Q~YaMnVSjQyhFz%di zXI32tBBh#duG1x9t&_qD5j^GEaT{#L;OL2i=OP35#uvuGDYpEvC%)kX-3uRWPkYoG z6_?YR1j>;oJ;BtX^`bZSpch8KLkpY(w!n@+2A=Z@LF)K_=rwORWO>XRrpYVbC=CyH z!!&bYH%yfKI@^v(Gm7*)*Wf;TWCuQ{*0IMK!Gi-EoNfh|C`;XQT)9dcQcCh5?pw~_ z)hd0#l`F8nng<>n3bO1eMnjs#%bSCh-#PAQA?dmbm>jU-#l>(Cn#@-}cCHp!{ZYqi zCcFv8K5mNYP;I#WT-X0Hi;JYVN2`MkqDsU^+K{;cp1+NgUyQUIAGR!yXNUI)-FiOV zHH$z$-mRyzMm^2?h+AuzOjTKEsB2@(Wf*S9OEZH-x({Cl4q6deyxI+v#JP!a!0YE49J^ zIg~SRmcVv@Jg8P-Z$O>Sw#vIFmLME$l?zhbfZLMNFf(v-%D}?TsWFUzhJn+p(nzDU z8}sGWS=J-CO;$Di6OrEgRZEZ*)+Rh(4Oc?9TG^fkc!nOYinptF=3oi9atx?ipH-}z z%%&iUv4ZK{OciAH0~b?q$yeGis5{tg(}{8_l;Vz`IvC-?OaVqTGH~LQx2JC9&Vf@q zuXNrtTr4?mD*ITvIxwr=0;i5rGPX&eltZR=6xA71*`Ve!NF&Y$5PK&~>M_=!qmejC zW>yl;m!e4HcqvJUgHD&~Tzbb!HJv^}GgaN)n8583FGvH-H|6T6f>!J1=)n39u0X$q zWhDvoIC5ZQi}jfEqAEvn>e-A6^NqFNoF>J+88|KSi}a{>SQKk+zAr{F#(@l4E{a*N$s<&Nl0IiP9EPC1_`nCNKWcxKu?OuNG28pb=MHVkNixt=H#B6DTIZxwYkPG zNH95o-`WLm{A$v}{5&)B6SHxsocxM5@>A7a^cZq1CA0$YJEHU=CJE>7Y*YIweoz+r zx~ps?r%3Yfr;(A4x|XL~ZCdPF8?<)#f=$ts_?Xu8)A$(%|~zI#yx* zk%t;LY>7CMH>(9=>+RLulT;QzQ8Q1(-tYkZ$@3co`peyu(^qrUOzbSn{ft#9>yRBh znVQ9aU+dHB@jusoUD^NMKDs?}UPVSPu^XNcTQ^&OTqd;HDf;gl$q+dH`&w=fg2U|p zOxynx`_t`BAdlROK#q4BZIKmHzp$tb&1$%IMI*hR!d^a_RMb%4= z4Xk(>h>4#~sulWVFIO-9&$0jU3>(MgC;M~kf0W_9+R*Xf#UwL+O8cc}{l^7pzvD`?-vt{a_`zaq7xxmN`337j!(zMUH>@mMF4KZuPuAN~ z&|WW>cZv+~!RDr+6bX*@iSmByb8}0PCAlzOUy*#&&chP6_}KOLxl;5idOMU}@kVSG zI^QKaRa<0>n>@ zBxg50+Jht2>WoL(4Jqj;$L0kDHOJTUPfL(JDy-$@GmlslRVh}YFd121iX$OF;3YtK z1z~3X%+Z0`T3B;6-&SP0kY%~AM62|AYpzFMY%wtQqw;EbbNk`_YYSU_u>dRJyI<5sA zvu@FW4JHLl>QU40=Z;3xi9ahFXYL)~is$-%i_v&PO?|o-L^t7cU`%WR&fxf~iZ-SC zFSH(filx`G3=%+bnE<*%wJ{Do4!ysb@A^K{VZG{3z?FxN9Khg2IfK6eY;|BY$g_cs z3s~}=XKBEE4{t534chW%yi$d+5qu45H6s{Qt#IX40;YO+vaAYAU1k9r>mxy?fQwZv zn`UJO8)+rVCQdB3Z_ClA#pkeBZn5I&o1=GfT;n~S3%;__Q&%*}T0%U>3txYo*x1{sRzxlpnntU)=6ce_khY$_YBy!*B&~VZcp#epS+XRw{59+OWWq@@%g{Md0k$!T1h#5!?;y`Q006$ zjEvPgZ9pC0?aLBdc?WTsU|^-l-J`Ko)9oZVt!MyQu+dJk$ibz-oO%ct7PRhBh5Abt zhy`w4?=&Fe&)4Tiq=kPv^{7jCSSnY+uWG0hWUG$i5ACgdG^b$5MqH-KyC7uS6v|Z+5FwB3rD~z!_Z`9a$HM`DN2O57WQ` z+$pLK8BMy1Za1uAl4Af;Cc`^$l+8Piw$71Yh$EHz)Sxd9%Qu0(eCh7j1RYHvh+A31 zvs~}{^=k7)?!pxDOa!#w!?tGTXj<<@o3(Env_eKslmeENVKBkQUlqCKhEQsEM1m6z zod663@|v`4e8N$Od5^HBIFS254+l1-bX}S@6+oUBo2fNb3Qn(oEVrG%d-DuxzOT;z zC?4rc1OK}HB>5ngJN}%uWW>EUq&~FbueNt*#S_r6J*xCSrs+6+B-EzEh5Q*stn?1K|F;i)5 zdc|!xvFz$waoNp!%&*FNS=rRXbRte(b1HFp0>1RV5(g|XYm^Z{xDPL;_))DLkB#EM z#`OejIc0w6P({NIuUyM(7Z%YII6ZEHYh#Xnh+)cWhi9w1U%f%k0~)Y{BuL5#sc>%K z6P7b>w3b+}S6dlL3r9zHF|Nm zA70Rd%X#`@K6L*w=11<{GKF$%C+^)+XnLM;P#(D(f8t(zH+3gYUwxC;UK!&M(&EZ1 z`O|Y~Z?VHS*yQasxVc{c+^sdbP4bqS0L8pX4rBTNOsJ2FmCKCF*7g|ra=BlG@f~Oi zVe{QXk@dVJB#&$u@%X&FCb)*lWR-~FrD#8l2ex~hipE#|FpAG&1!RgU?s=LZsv^_) zM8(y7DHBVEOySANZb`@aJ%h)&l3O=A29nUK?(*qtDYEc%$vnrU6}-Ty2rl+yhC*>X zzqzpiKbB96I9_|S6(Tgh;yLY)%4oe=j~|Rj_5lI|Uj1zEuRlLh99|attw(3z5leH{ zkM->(eIXtzCtNSdi1}ufL7^NTAD)so*!T;udOujL=}JFbzUgW?MwV)UAn}fXNulw1 zwZ)>t=u2P5AC?GEc&uDf`+5y~xW7^=TGT;FXL=9a%8qkl84hK9l+t=u0*S$tu~~b0 z_~VsOCd=SOj{M_k$uRrqICL4s0dJ{Uve1*k@qKC!70q*EyI#*u)JZ`|dS|x7&YP5-L*sVOLExhItlq z!@JR|1S@Z8CLed>rkbcWn=~UDt+YMj>OW1|4~=Uvl29deqs`=?Z{4nDxi@bos7nuI zCm2j-JL?e*E{8A?Yy6%kXrC}2DSKW3!eAwUGvRD1(*aaVa&~1-eD{0IG@f$<;qYg6 zgxSUXdO6Cl#jy36&U&n#orvkWGarXvzc~gg+9wT%3&Qg�~o47#aU~@RP-+rgFI8 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≷v7@oHoTLCKint=YX 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

  • 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 z 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

    - -
    +
    + = 10) { - item.ResponderExpirationDate = txtResponderExireDate.Text.Trim().Substring(0, 10);} - item.ForwardingEnabled = chkForwardingEnabled.Checked; - if (txtForward.Text.Trim().Length > 0) { - item.ForwardingAddresses = new string[] { txtForward.Text.Trim() };} + if (txtForward.Text.Length > 0) + { + item.ForwardingAddresses = new string[] { txtForward.Text }; + } item.RetainLocalCopy = chkOriginalMessage.Checked; item.FirstName = txtFirstName.Text; item.LastName = txtLastName.Text; diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.designer.cs index a5bb873e..77b5a1b8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.designer.cs @@ -3,7 +3,7 @@ // This code was generated by a tool. // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -12,96 +12,6 @@ namespace WebsitePanel.Portal.ProviderControls { public partial class hMailServer43_EditAccount { - /// - /// secStatusInfo control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.CollapsiblePanel secStatusInfo; - - /// - /// StatusInfoPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel StatusInfoPanel; - - /// - /// lblEnabled control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblEnabled; - - /// - /// chkEnabled control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.CheckBox chkEnabled; - - /// - /// lblSize control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblSize; - - /// - /// lblSizeInfo control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblSizeInfo; - - /// - /// lblQuotaUsed control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblQuotaUsed; - - /// - /// lblQuotaUsedInfo control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblQuotaUsedInfo; - - /// - /// lblLastLoginDate control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblLastLoginDate; - - /// - /// lblLastLoginDateInfo control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblLastLoginDateInfo; - /// /// secPersonalInfo control. /// @@ -228,42 +138,6 @@ namespace WebsitePanel.Portal.ProviderControls { /// protected global::System.Web.UI.WebControls.TextBox txtMessage; - /// - /// lblResponderExpires control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblResponderExpires; - - /// - /// chkResponderExpires control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.CheckBox chkResponderExpires; - - /// - /// lblResponderExpireDate control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblResponderExpireDate; - - /// - /// txtResponderExireDate control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtResponderExireDate; - /// /// secForwarding control. /// @@ -282,24 +156,6 @@ namespace WebsitePanel.Portal.ProviderControls { /// protected global::System.Web.UI.WebControls.Panel ForwardingPanel; - /// - /// lblForwardingEnabled control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblForwardingEnabled; - - /// - /// chkForwardingEnabled control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.CheckBox chkForwardingEnabled; - /// /// lblForwardTo control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx new file mode 100644 index 00000000..631ed3a1 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx @@ -0,0 +1,177 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer5_EditAccount.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer5_EditAccount" %> +<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %> + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + 0 +
    + + + 0 +
    + + + n/a +
    +
    + + + + + + + + + + + + + + +
    + + + +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    + +
    + +
    +
    + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
     
    + +
    + + +
    + +
    + + +
    +
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx.cs new file mode 100644 index 00000000..93abaa53 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx.cs @@ -0,0 +1,93 @@ +// Copyright (c) 2011, 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. + +using System; +using System.Data; +using System.Configuration; +using System.Collections; +using System.Web; +using System.Web.Security; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Web.UI.WebControls.WebParts; +using System.Web.UI.HtmlControls; + +using WebsitePanel.Providers.Mail; + +namespace WebsitePanel.Portal.ProviderControls +{ + public partial class hMailServer5_EditAccount : WebsitePanelControlBase, IMailEditAccountControl + { + protected void Page_Load(object sender, EventArgs e) + { + + } + + public void BindItem(MailAccount item) + { + chkEnabled.Checked = item.Enabled; + lblSizeInfo.Text = item.Size.ToString() + " MB"; + lblQuotaUsedInfo.Text = item.QuotaUsed.ToString() + " %"; + lblLastLoginDateInfo.Text = item.LastLogonTime; + chkResponderEnabled.Checked = item.ResponderEnabled; + chkResponderExpires.Checked = item.ResponderExpires; + txtResponderExireDate.Text = item.ResponderExpirationDate; + txtSubject.Text = item.ResponderSubject; + txtMessage.Text = item.ResponderMessage; + chkForwardingEnabled.Checked = item.ForwardingEnabled; + txtForward.Text = item.ForwardingAddresses[0]; + chkOriginalMessage.Checked = item.RetainLocalCopy; + txtFirstName.Text = item.FirstName; + txtLastName.Text = item.LastName; + cbSignatureEnabled.Checked = item.SignatureEnabled; + txtPlainSignature.Text = item.Signature; + txtHtmlSignature.Text = item.SignatureHTML; + secStatusInfo.IsCollapsed = false; + } + + public void SaveItem(MailAccount item) + { + item.Enabled = chkEnabled.Checked; + item.ResponderEnabled = chkResponderEnabled.Checked; + item.ResponderSubject = txtSubject.Text; + item.ResponderMessage = txtMessage.Text; + item.ResponderExpires = chkResponderExpires.Checked; + if (txtResponderExireDate.Text.Trim().Length >= 10) { + item.ResponderExpirationDate = txtResponderExireDate.Text.Trim().Substring(0, 10);} + item.ForwardingEnabled = chkForwardingEnabled.Checked; + if (txtForward.Text.Trim().Length > 0) { + item.ForwardingAddresses = new string[] { txtForward.Text.Trim() };} + item.RetainLocalCopy = chkOriginalMessage.Checked; + item.FirstName = txtFirstName.Text; + item.LastName = txtLastName.Text; + item.SignatureEnabled = cbSignatureEnabled.Checked; + item.Signature = txtPlainSignature.Text; + item.SignatureHTML = txtHtmlSignature.Text; + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx.designer.cs new file mode 100644 index 00000000..bcb1c61d --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx.designer.cs @@ -0,0 +1,402 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.ProviderControls { + + + public partial class hMailServer5_EditAccount { + + /// + /// secStatusInfo control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel secStatusInfo; + + /// + /// StatusInfoPanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel StatusInfoPanel; + + /// + /// lblEnabled control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblEnabled; + + /// + /// chkEnabled control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkEnabled; + + /// + /// lblSize control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSize; + + /// + /// lblSizeInfo control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSizeInfo; + + /// + /// lblQuotaUsed control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblQuotaUsed; + + /// + /// lblQuotaUsedInfo control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblQuotaUsedInfo; + + /// + /// lblLastLoginDate control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblLastLoginDate; + + /// + /// lblLastLoginDateInfo control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblLastLoginDateInfo; + + /// + /// secPersonalInfo control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel secPersonalInfo; + + /// + /// PersonalInfoPanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel PersonalInfoPanel; + + /// + /// lblFirstName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblFirstName; + + /// + /// txtFirstName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtFirstName; + + /// + /// lblLastName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblLastName; + + /// + /// txtLastName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtLastName; + + /// + /// secAutoresponder control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel secAutoresponder; + + /// + /// AutoresponderPanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel AutoresponderPanel; + + /// + /// lblResponderEnabled control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblResponderEnabled; + + /// + /// chkResponderEnabled control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkResponderEnabled; + + /// + /// lblSubject control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSubject; + + /// + /// txtSubject control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSubject; + + /// + /// lblMessage control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblMessage; + + /// + /// txtMessage control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtMessage; + + /// + /// lblResponderExpires control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblResponderExpires; + + /// + /// chkResponderExpires control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkResponderExpires; + + /// + /// lblResponderExpireDate control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblResponderExpireDate; + + /// + /// txtResponderExireDate control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtResponderExireDate; + + /// + /// secForwarding control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel secForwarding; + + /// + /// ForwardingPanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel ForwardingPanel; + + /// + /// lblForwardingEnabled control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblForwardingEnabled; + + /// + /// chkForwardingEnabled control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkForwardingEnabled; + + /// + /// lblForwardTo control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblForwardTo; + + /// + /// txtForward control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtForward; + + /// + /// chkOriginalMessage control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkOriginalMessage; + + /// + /// Signature control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel Signature; + + /// + /// SignaturePanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel SignaturePanel; + + /// + /// lblSignatureEnabled control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSignatureEnabled; + + /// + /// cbSignatureEnabled control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox cbSignatureEnabled; + + /// + /// lblPlainSignature control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblPlainSignature; + + /// + /// txtPlainSignature control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtPlainSignature; + + /// + /// lblHtmlSignature control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblHtmlSignature; + + /// + /// txtHtmlSignature control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtHtmlSignature; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx new file mode 100644 index 00000000..3d26c184 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx @@ -0,0 +1,9 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer5_EditDomain.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer5_EditDomain" %> + + + + + +
    + +
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx.cs new file mode 100644 index 00000000..718ceece --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx.cs @@ -0,0 +1,87 @@ +// Copyright (c) 2011, 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. + +using System; +using System.Data; +using System.Configuration; +using System.Collections; +using System.Web; +using System.Web.Security; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Web.UI.WebControls.WebParts; +using System.Web.UI.HtmlControls; + +using WebsitePanel.Providers.Mail; + +namespace WebsitePanel.Portal.ProviderControls +{ + public partial class hMailServer5_EditDomain : WebsitePanelControlBase, IMailEditDomainControl + { + protected void Page_Load(object sender, EventArgs e) + { + + } + + public void BindItem(MailDomain item) + { + BindMailboxes(item); + } + + public void SaveItem(MailDomain item) + { + item.CatchAllAccount = ddlCatchAllAccount.SelectedValue; + } + + private void BindMailboxes(MailDomain item) + { + MailAccount[] accounts = ES.Services.MailServers.GetMailAccounts(item.PackageId, false); + MailAlias[] forwardings = ES.Services.MailServers.GetMailForwardings(item.PackageId, false); + + BindAccounts(item, ddlCatchAllAccount, accounts); + BindAccounts(item, ddlCatchAllAccount, forwardings); + Utils.SelectListItem(ddlCatchAllAccount, item.CatchAllAccount); + } + + private void BindAccounts(MailDomain item, DropDownList ddl, MailAccount[] accounts) + { + if (ddl.Items.Count == 0) + ddl.Items.Add(new ListItem(GetLocalizedString("Text.NotSelected"), "")); + + foreach (MailAccount account in accounts) + { + int idx = account.Name.IndexOf("@"); + string accountName = account.Name.Substring(0, idx); + string accountDomain = account.Name.Substring(idx + 1); + + if (String.Compare(accountDomain, item.Name, true) == 0) + ddl.Items.Add(new ListItem(account.Name, accountName)); + } + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx.designer.cs new file mode 100644 index 00000000..a23a959c --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx.designer.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.ProviderControls { + + + public partial class hMailServer5_EditDomain { + + /// + /// lblCatchAll control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblCatchAll; + + /// + /// ddlCatchAllAccount control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.DropDownList ddlCatchAllAccount; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx new file mode 100644 index 00000000..cebb8ce9 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx @@ -0,0 +1 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer5_EditForwarding.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer5_EditForwarding" %> diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx.cs new file mode 100644 index 00000000..b0fb0fce --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx.cs @@ -0,0 +1,60 @@ +// Copyright (c) 2011, 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. + +using System; +using System.Data; +using System.Configuration; +using System.Collections; +using System.Web; +using System.Web.Security; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Web.UI.WebControls.WebParts; +using System.Web.UI.HtmlControls; + +using WebsitePanel.Providers.Mail; + +namespace WebsitePanel.Portal.ProviderControls +{ + public partial class hMailServer5_EditForwarding : WebsitePanelControlBase, IMailEditForwardingControl + { + protected void Page_Load(object sender, EventArgs e) + { + } + + public void BindItem(MailAlias item) + { + + } + + public void SaveItem(MailAlias item) + { + + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx.designer.cs new file mode 100644 index 00000000..77df182a --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx.designer.cs @@ -0,0 +1,15 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.ProviderControls { + + + public partial class hMailServer5_EditForwarding { + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx new file mode 100644 index 00000000..b391d30b --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx @@ -0,0 +1,12 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer5_EditGroup.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer5_EditGroup" %> +<%@ Register TagPrefix="dnc" TagName="EditItemsList" Src="../MailEditItems.ascx" %> + + + + + +
    + + + +
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx.cs new file mode 100644 index 00000000..4abaf3ff --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx.cs @@ -0,0 +1,60 @@ +// Copyright (c) 2011, 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. + +using System; +using System.Data; +using System.Configuration; +using System.Collections; +using System.Web; +using System.Web.Security; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Web.UI.WebControls.WebParts; +using System.Web.UI.HtmlControls; + +using WebsitePanel.Providers.Mail; + +namespace WebsitePanel.Portal.ProviderControls +{ + public partial class hMailServer5_EditGroup : WebsitePanelControlBase, IMailEditGroupControl + { + protected void Page_Load(object sender, EventArgs e) + { + } + + public void BindItem(MailGroup item) + { + mailEditItems.Items = item.Members; + } + + public void SaveItem(MailGroup item) + { + item.Members = mailEditItems.Items; + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx.designer.cs new file mode 100644 index 00000000..844d1a57 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx.designer.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.ProviderControls { + + + public partial class hMailServer5_EditGroup { + + /// + /// lblGroupMembers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblGroupMembers; + + /// + /// mailEditItems control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.MailEditItems mailEditItems; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx new file mode 100644 index 00000000..438262d9 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx @@ -0,0 +1,48 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer5_EditList.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer5_EditList" %> +<%@ Register TagPrefix="dnc" TagName="EditItemsList" Src="../MailEditItems.ascx" %> +<%@ Register Src="../UserControls/EmailControl.ascx" TagName="EmailControl" TagPrefix="uc2" %> +<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %> + + + + + + + + + + + + + + + + + + + + +
      
    + + + + MemberShip + Public + Announcements + +
    + + + + +
     
    + + + +
    + + + + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx.cs new file mode 100644 index 00000000..eb5a2091 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx.cs @@ -0,0 +1,77 @@ +// Copyright (c) 2011, 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. + +using System; +using System.Data; +using System.Configuration; +using System.Collections; +using System.Web; +using System.Web.Security; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Web.UI.WebControls.WebParts; +using System.Web.UI.HtmlControls; + +using WebsitePanel.Providers.Mail; + +namespace WebsitePanel.Portal.ProviderControls +{ + public partial class hMailServer5_EditList : WebsitePanelControlBase, IMailEditListControl + { + protected void Page_Load(object sender, EventArgs e) + { + } + + public void BindItem(MailList item) + { + Utils.SelectListItem(ddlPostingMode, item.PostingMode); + mailEditItems.Items = item.Members; + txtEmailAnnouncements.Text = item.ModeratorAddress; + cbSMTPAuthentication.Checked = item.RequireSmtpAuthentication; + ToggleFormControls(); + } + + public void SaveItem(MailList item) + { + item.PostingMode = (PostingMode)Enum.Parse(typeof(PostingMode), ddlPostingMode.SelectedValue, true); + item.ModeratorAddress = txtEmailAnnouncements.Text; + item.Members = mailEditItems.Items; + item.RequireSmtpAuthentication = cbSMTPAuthentication.Checked; + } + + protected void ddlPostingMode_SelectedIndexChanged(object sender, EventArgs e) + { + ToggleFormControls(); + } + + private void ToggleFormControls() + { + lblEmail.Visible = txtEmailAnnouncements.Visible = (ddlPostingMode.SelectedValue == "ModeratorCanPost"); + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx.designer.cs new file mode 100644 index 00000000..0de271ff --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx.designer.cs @@ -0,0 +1,105 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.ProviderControls { + + + public partial class hMailServer5_EditList { + + /// + /// lblPostingMode control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblPostingMode; + + /// + /// ddlPostingMode control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.DropDownList ddlPostingMode; + + /// + /// lblEmail control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblEmail; + + /// + /// txtEmailAnnouncements control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.EmailControl txtEmailAnnouncements; + + /// + /// lblMembers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblMembers; + + /// + /// mailEditItems control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.MailEditItems mailEditItems; + + /// + /// Security control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel Security; + + /// + /// pSecurity control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel pSecurity; + + /// + /// cbSMTPAuthentication control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox cbSMTPAuthentication; + + /// + /// Label1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label Label1; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx new file mode 100644 index 00000000..3f15ae2f --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx @@ -0,0 +1,35 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="hMailServer5_Settings.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.hMailServer5_Settings" %> +<%@ Register Src="../UserControls/SelectIPAddress.ascx" TagName="SelectIPAddress" TagPrefix="uc1" %> + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + ******* +
    + + + +
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx.cs new file mode 100644 index 00000000..0099c0df --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx.cs @@ -0,0 +1,64 @@ +// Copyright (c) 2011, 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. + +using System; +using System.Data; +using System.Configuration; +using System.Collections; +using System.Collections.Specialized; +using System.Web; +using System.Web.Security; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Web.UI.WebControls.WebParts; +using System.Web.UI.HtmlControls; + +namespace WebsitePanel.Portal.ProviderControls +{ + public partial class hMailServer5_Settings : WebsitePanelControlBase, IHostingServiceProviderSettings + { + protected void Page_Load(object sender, EventArgs e) + { + } + + public void BindSettings(StringDictionary settings) + { + ipAddress.AddressId = (settings["ServerIpAddress"] != null) ? Utils.ParseInt(settings["ServerIpAddress"], 0) : 0; + txtUsername.Text = settings["AdminUsername"]; + ViewState["PWD"] = settings["AdminPassword"]; + rowPassword.Visible = ((string)ViewState["PWD"]) != ""; + } + + public void SaveSettings(StringDictionary settings) + { + settings["ServerIpAddress"] = ipAddress.AddressId.ToString(); + settings["AdminUsername"] = txtUsername.Text.Trim(); + settings["AdminPassword"] = (txtPassword.Text.Length > 0) ? txtPassword.Text : (string)ViewState["PWD"]; + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx.designer.cs new file mode 100644 index 00000000..cd273103 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx.designer.cs @@ -0,0 +1,87 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.ProviderControls { + + + public partial class hMailServer5_Settings { + + /// + /// lblPublicIP control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblPublicIP; + + /// + /// ipAddress control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.SelectIPAddress ipAddress; + + /// + /// lblAdminLogin control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblAdminLogin; + + /// + /// txtUsername control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtUsername; + + /// + /// rowPassword control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow rowPassword; + + /// + /// lblCurrPassword control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblCurrPassword; + + /// + /// lblAdminPassword control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblAdminPassword; + + /// + /// txtPassword control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtPassword; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj index 33494c83..dda50430 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj @@ -199,6 +199,48 @@ + + hMailServer5_EditAccount.ascx + ASPXCodeBehind + + + hMailServer5_EditAccount.ascx + + + hMailServer5_EditDomain.ascx + ASPXCodeBehind + + + hMailServer5_EditDomain.ascx + + + hMailServer5_EditForwarding.ascx + ASPXCodeBehind + + + hMailServer5_EditForwarding.ascx + + + hMailServer5_EditGroup.ascx + ASPXCodeBehind + + + hMailServer5_EditGroup.ascx + + + hMailServer5_EditList.ascx + ASPXCodeBehind + + + hMailServer5_EditList.ascx + + + hMailServer5_Settings.ascx + ASPXCodeBehind + + + hMailServer5_Settings.ascx + NotifyOverusedDatabases.ascx ASPXCodeBehind @@ -3707,6 +3749,12 @@ + + + + + + @@ -4842,6 +4890,21 @@ Designer + + Designer + + + Designer + + + Designer + + + Designer + + + Designer + Designer From 5326d4ff26abf3cb0764464f35605b08151720fb Mon Sep 17 00:00:00 2001 From: omara Date: Mon, 4 Jun 2012 22:14:11 -0400 Subject: [PATCH 19/78] Update Outercurve Copyright to 2012 in all files --- LICENSE.txt | 2 +- .../ProxyConfigurator.cs | 2 +- .../WebsitePanel.Common.Utils/Utils.cs | 2 +- .../Common/BusinessErrorCodes.cs | 2 +- .../Common/GenericStringResult.cs | 2 +- .../DatabaseBrowserConfiguration.cs | 2 +- .../Ecommerce/BillingCycle.cs | 2 +- .../Ecommerce/Category.cs | 2 +- .../Ecommerce/CheckDomainResult.cs | 2 +- .../Ecommerce/CheckoutDetails.cs | 2 +- .../Ecommerce/CheckoutFormParams.cs | 2 +- .../Ecommerce/CheckoutKeys.cs | 2 +- .../Ecommerce/CheckoutResult.cs | 2 +- .../Ecommerce/Common/GenericResult.cs | 2 +- .../Ecommerce/ContractSystem/Contract.cs | 2 +- .../Ecommerce/DomainNameCycle.cs | 2 +- .../Ecommerce/FormParameters.cs | 2 +- .../Ecommerce/GenericSvcResult.cs | 2 +- .../Ecommerce/HostingAddon.cs | 2 +- .../Ecommerce/HostingPlan.cs | 2 +- .../Ecommerce/HostingPlanCycle.cs | 2 +- .../Ecommerce/IDomainRegistrar.cs | 2 +- .../IInteractivePaymentGatewayProvider.cs | 2 +- .../Ecommerce/IPaymentGatewayProvider.cs | 2 +- .../Ecommerce/Invoice.cs | 2 +- .../Ecommerce/InvoiceItem.cs | 2 +- .../Ecommerce/KeyValueBunch.cs | 2 +- .../Ecommerce/OrderResult.cs | 2 +- .../Ecommerce/Payment.cs | 2 +- .../Ecommerce/PaymentMethod.cs | 2 +- .../Ecommerce/Product.cs | 2 +- .../Ecommerce/ProductType.cs | 2 +- .../Ecommerce/ResultCodes.cs | 2 +- .../Ecommerce/Service.cs | 2 +- .../ServiceHandlers/HandlerResponse.cs | 2 +- .../Ecommerce/StoreSettings.cs | 2 +- .../Ecommerce/SupportedPlugin.cs | 2 +- .../Ecommerce/SystemPlugins/ISystemPlugin.cs | 2 +- .../SystemPlugins/SystemPluginBase.cs | 2 +- .../Ecommerce/TLDExtension.cs | 2 +- .../Ecommerce/TaxZone.cs | 2 +- .../Ecommerce/Taxation.cs | 2 +- .../Ecommerce/TopLevelDomain.cs | 2 +- .../Ecommerce/TransactionResult.cs | 2 +- .../TriggerSystem/ITriggerHandler.cs | 2 +- .../ExchangeServer/ExchangeEmailAddress.cs | 2 +- .../Log/LogRecord.cs | 2 +- .../Packages/HostingPlanContext.cs | 2 +- .../Packages/HostingPlanGroupInfo.cs | 2 +- .../Packages/HostingPlanInfo.cs | 2 +- .../Packages/HostingPlanQuotaInfo.cs | 2 +- .../Packages/PackageAddonInfo.cs | 2 +- .../Packages/PackageContext.cs | 2 +- .../Packages/PackageInfo.cs | 2 +- .../Packages/PackageResult.cs | 2 +- .../Packages/PackageSettings.cs | 2 +- .../Packages/PackageStatus.cs | 2 +- .../Packages/QuotaInfo.cs | 2 +- .../Packages/QuotaValueInfo.cs | 2 +- .../Packages/Quotas.cs | 2 +- .../Reports/OverusageReport.custom.cs | 2 +- .../Reports/OverusageReportUtils.cs | 2 +- .../Scheduling/ScheduleInfo.cs | 2 +- .../Scheduling/SchedulePriority.cs | 2 +- .../Scheduling/ScheduleStatus.cs | 2 +- .../Scheduling/ScheduleTaskInfo.cs | 2 +- .../Scheduling/ScheduleTaskParameterInfo.cs | 2 +- .../Scheduling/ScheduleTaskParameterType.cs | 2 +- .../Scheduling/ScheduleType.cs | 2 +- .../Scheduling/ScheduleViewConfiguration.cs | 2 +- .../Scheduling/SchedulerException.cs | 2 +- .../Scheduling/SchedulerTask.cs | 2 +- .../Scheduling/ThreadStartParameters.cs | 2 +- .../Security/DemandAccount.cs | 2 +- .../Security/DemandPackage.cs | 2 +- .../Servers/ClusterInfo.cs | 2 +- .../Servers/DomainInfo.cs | 2 +- .../Servers/DomainType.cs | 2 +- .../Servers/GlobalDnsRecord.cs | 2 +- .../Servers/IPAddressInfo.cs | 2 +- .../Servers/IPAddressPool.cs | 2 +- .../Servers/IPAddressesPaged.cs | 2 +- .../Servers/ProviderInfo.cs | 2 +- .../Servers/ResourceGroupInfo.cs | 2 +- .../Servers/ResourceGroups.cs | 2 +- .../Servers/ServerInfo.cs | 2 +- .../Servers/ServiceInfo.cs | 2 +- .../Servers/VirtualGroupInfo.cs | 2 +- .../System/SystemSettings.cs | 2 +- .../Tasks/BackgroundTask.cs | 2 +- .../Tasks/BackgroundTaskLogRecord.cs | 2 +- .../Users/UserInfo.cs | 2 +- .../Users/UserRole.cs | 2 +- .../Users/UserSettings.cs | 2 +- .../Users/UserStatus.cs | 2 +- .../Users/UsernamePolicy.cs | 2 +- .../Virtualization/NetworkAdapterDetails.cs | 2 +- .../Virtualization/NetworkAdapterIPAddress.cs | 2 +- .../Virtualization/PackageIPAddress.cs | 2 +- .../Virtualization/PackageIPAddressesPaged.cs | 2 +- .../Virtualization/PrivateIPAddress.cs | 2 +- .../Virtualization/PrivateIPAddressesPaged.cs | 2 +- .../Virtualization/VirtualMachineMetaItem.cs | 2 +- .../VirtualMachineMetaItemsPaged.cs | 2 +- .../VirtualMachinePermission.cs | 2 +- .../VirtualizationErrorCodes.cs | 2 +- .../Wizards/ApplicationInfo.cs | 2 +- .../Wizards/InstallationInfo.cs | 2 +- .../ApplicationsInstallerProxy.cs | 2 +- .../AuditLogProxy.cs | 2 +- .../AuthenticationProxy.cs | 2 +- .../BackupProxy.cs | 2 +- .../BlackBerryProxy.cs | 2 +- .../CRMProxy.cs | 2 +- .../CommentsProxy.cs | 2 +- .../EnterpriseServerProxyConfigurator.cs | 2 +- .../Common/UsernameAssertion.cs | 2 +- .../DatabaseServersProxy.cs | 2 +- .../ExchangeServerProxy.cs | 2 +- .../FilesProxy.cs | 2 +- .../FtpServersProxy.cs | 2 +- .../HostedSharePointServersProxy.cs | 2 +- .../ImportProxy.cs | 2 +- .../MailServersProxy.cs | 2 +- .../OCSProxy.cs | 2 +- .../OperatingSystemsProxy.cs | 2 +- .../OrganizationProxy.cs | 2 +- .../PackagesProxy.cs | 2 +- .../SchedulerProxy.cs | 2 +- .../ServersProxy.cs | 2 +- .../SharePointServersProxy.cs | 2 +- .../StatisticsServersProxy.cs | 2 +- .../SystemProxy.cs | 2 +- .../TasksProxy.cs | 2 +- .../UsersProxy.cs | 2 +- .../VirtualizationServerProxy.cs | 2 +- ...irtualizationServerProxyForPrivateCloud.cs | 2 +- .../WebApplicationGalleryProxy.cs | 2 +- .../WebServersProxy.cs | 2 +- .../ecServiceHandlerProxy.cs | 2 +- .../ecStorefrontProxy.cs | 2 +- .../ecStorehouseProxy.cs | 2 +- .../Code/Comments/CommentsController.cs | 2 +- .../Code/Common/ConfigSettings.cs | 2 +- .../Code/Common/CryptoUtils.cs | 2 +- .../Code/Common/EnterpriseServerIdentity.cs | 2 +- .../Code/Common/EnterpriseServerPrincipal.cs | 2 +- .../Code/Common/FileUtils.cs | 2 +- .../Code/Common/MailHelper.cs | 2 +- .../Code/Common/ObjectUtils.cs | 2 +- .../Code/Common/SecurityContext.cs | 2 +- .../Code/Common/ServiceProviderProxy.cs | 2 +- .../Common/ServiceUsernameTokenManager.cs | 2 +- .../Code/Common/UsernameAssertion.cs | 2 +- .../Code/Common/Utils.cs | 2 +- .../Code/Data/DataProvider.cs | 2 +- .../Code/Data/EcommerceProvider.cs | 2 +- .../Code/Data/SQLHelper.cs | 2 +- .../DatabaseServerController.cs | 2 +- .../Code/DnsServers/DnsServerController.cs | 2 +- .../Code/Ecommerce/CategoryController.cs | 2 +- .../ContractSystem/ContractController.cs | 2 +- .../Code/Ecommerce/Helpers.cs | 2 +- .../Code/Ecommerce/InvoiceController.cs | 2 +- .../Code/Ecommerce/MiscController.cs | 2 +- .../Ecommerce/PaymentGatewayController.cs | 2 +- .../Provisioning/DomainNameController.cs | 2 +- .../Provisioning/HostingAddonController.cs | 2 +- .../Provisioning/HostingPackageController.cs | 2 +- .../Provisioning/IServiceProvisioning.cs | 2 +- .../Provisioning/ProvisioningContext.cs | 2 +- .../Provisioning/ServiceProvisioningBase.cs | 2 +- .../Code/Ecommerce/ServiceController.cs | 2 +- .../ServiceHandlerController.cs | 2 +- .../Code/Ecommerce/StorefrontController.cs | 2 +- .../Code/Ecommerce/StorehouseController.cs | 2 +- .../Code/Ecommerce/SystemPluginController.cs | 2 +- .../SendEmailNotification.cs | 2 +- .../TaskEventHandlers/SystemTriggersAgent.cs | 2 +- .../Ecommerce/TriggerSystem/CommonTrigger.cs | 2 +- .../TriggerSystem/TriggerController.cs | 2 +- .../ExchangeHostedEditionController.cs | 2 +- .../ExchangeServerController.cs | 2 +- .../Code/Files/FilesController.cs | 2 +- .../Code/FtpServers/FtpServerController.cs | 2 +- .../HostedSolution/BlackBerryController.cs | 2 +- .../Code/HostedSolution/CRMController.cs | 2 +- .../Code/HostedSolution/OCSController.cs | 2 +- .../HostedSolution/OrganizationController.cs | 2 +- .../Code/HostedSolution/ReportController.cs | 2 +- .../Code/Log/AuditLog.cs | 2 +- .../Code/MailServers/MailServerController.cs | 2 +- .../Code/MailServers/QuotaLimit.cs | 2 +- .../OperatingSystemController.cs | 2 +- .../Code/Packages/PackageAsyncWorker.cs | 2 +- .../Code/Packages/PackageController.cs | 2 +- .../Code/Packages/ServiceItemsPaged.cs | 2 +- .../Code/Provisioning/BackupAsyncWorker.cs | 2 +- .../Code/Provisioning/BackupController.cs | 2 +- .../Code/Provisioning/IBackupController.cs | 2 +- .../Code/Provisioning/IImportController.cs | 2 +- .../Code/Provisioning/ImportAsyncWorker.cs | 2 +- .../Code/Provisioning/ImportController.cs | 2 +- .../ActivatePaidInvoicesTask.cs | 2 +- .../Code/SchedulerTasks/BackupDatabaseTask.cs | 2 +- .../Code/SchedulerTasks/BackupTask.cs | 2 +- .../CalculateExchangeDiskspaceTask.cs | 2 +- .../CalculatePackagesBandwidthTask.cs | 2 +- .../CalculatePackagesDiskspaceTask.cs | 2 +- .../CancelOverdueInvoicesTask.cs | 2 +- .../Code/SchedulerTasks/CheckWebSiteTask.cs | 2 +- .../Code/SchedulerTasks/FTPFilesTask.cs | 2 +- .../SchedulerTasks/GenerateInvoicesTask.cs | 2 +- .../SchedulerTasks/HostedSolutionReport.cs | 2 +- .../NotifyOverusedDatabasesTask.cs | 2 +- .../SchedulerTasks/RunPaymentQueueTask.cs | 2 +- .../SchedulerTasks/RunSystemCommandTask.cs | 2 +- .../SendMailNotificationTask.cs | 2 +- .../SuspendOverdueInvoicesTask.cs | 2 +- .../SuspendOverusedPackagesTask.cs | 2 +- .../Code/SchedulerTasks/ZipFilesTask.cs | 2 +- .../Code/Scheduling/Scheduler.cs | 2 +- .../Code/Scheduling/SchedulerController.cs | 2 +- .../Code/Scheduling/SchedulerJob.cs | 2 +- .../Code/Servers/ServerController.cs | 2 +- .../HostedSharePointServerController.cs | 2 +- .../SharePoint/SharePointServerController.cs | 2 +- .../StatisticsServerController.cs | 2 +- .../Code/System/SystemController.cs | 2 +- .../Code/Tasks/SendEmailNotification.cs | 2 +- .../Code/Tasks/TaskEventHandler.cs | 2 +- .../Code/Tasks/TaskManager.cs | 2 +- .../Code/Users/UserAsyncWorker.cs | 2 +- .../Code/Users/UserController.cs | 2 +- .../Virtualization/CreateServerAsyncWorker.cs | 2 +- .../VirtualizationServerController.cs | 2 +- .../CreateServerAsyncWorkerForPrivateCloud.cs | 2 +- ...lizationServerControllerForPrivateCloud.cs | 2 +- .../WebAppGallery/WebAppGalleryController.cs | 2 +- .../Code/WebServers/WebServerController.cs | 2 +- .../Code/Wizards/UserCreationWizard.cs | 2 +- .../Code/Wizards/WebApplicationsInstaller.cs | 2 +- .../Default.aspx.cs | 2 +- .../Global.asax.cs | 2 +- .../ecServiceHandler.asmx.cs | 2 +- .../ecStorefront.asmx.cs | 2 +- .../ecStorehouse.asmx.cs | 2 +- .../esApplicationsInstaller.asmx.cs | 2 +- .../esAuditLog.asmx.cs | 2 +- .../esAuthentication.asmx.cs | 2 +- .../esBackup.asmx.cs | 2 +- .../esBlackBerry.asmx.cs | 2 +- .../esCRM.asmx.cs | 2 +- .../esComments.asmx.cs | 2 +- .../esDatabaseServers.asmx.cs | 2 +- .../esExchangeServer.asmx.cs | 2 +- .../esFiles.asmx.cs | 2 +- .../esFtpServers.asmx.cs | 2 +- .../esHostedSharePointServers.asmx.cs | 2 +- .../esImport.asmx.cs | 2 +- .../esMailServers.asmx.cs | 2 +- .../esOCS.asmx.cs | 2 +- .../esOperatingSystems.asmx.cs | 2 +- .../esOrganizations.asmx.cs | 2 +- .../esPackages.asmx.cs | 2 +- .../esScheduler.asmx.cs | 2 +- .../esServers.asmx.cs | 2 +- .../esSharePointServers.asmx.cs | 2 +- .../esStatisticsServers.asmx.cs | 2 +- .../esSystem.asmx.cs | 2 +- .../esTasks.asmx.cs | 2 +- .../esUsers.asmx.cs | 2 +- .../esVirtualizationServer.asmx.cs | 2 +- ...irtualizationServerForPrivateCloud.asmx.cs | 2 +- .../esWebApplicationGallery.asmx.cs | 2 +- .../esWebServers.asmx.cs | 2 +- .../TCOProvider.cs | 2 +- .../AIMResponse.cs | 2 +- .../AuthorizeNetKeys.cs | 2 +- .../AuthorizeNetProvider.cs | 2 +- .../OfflinePayment.cs | 2 +- .../PayPalKeys.cs | 2 +- .../PayPalProProvider.cs | 2 +- .../WebsitePanel.Gateways.PayPal/Reference.cs | 2 +- .../PayPalStandardProvider.cs | 2 +- .../DomainName.cs | 2 +- .../HostingAddon.cs | 2 +- .../HostingPlan.cs | 2 +- .../Common/Constants.cs | 2 +- .../Common/DailyStatistics.cs | 2 +- .../Common/ErrorCodes.cs | 2 +- .../Common/HostingServiceProviderBase.cs | 2 +- .../HostingServiceProviderWebService.cs | 2 +- .../Common/IHostingServiceProvider.cs | 2 +- .../Common/NtfsPermission.cs | 2 +- .../Common/PersistentAttribute.cs | 2 +- .../Common/RemoteServerSettings.cs | 2 +- .../Common/ServerBinding.cs | 2 +- .../Common/ServerState.cs | 2 +- .../Common/ServiceProviderItem.cs | 2 +- .../Common/ServiceProviderItemBandwidth.cs | 2 +- .../Common/ServiceProviderItemDiskSpace.cs | 2 +- .../Common/ServiceProviderItemType.cs | 2 +- .../Common/ServiceProviderSettings.cs | 2 +- .../ServiceProviderSettingsSoapHeader.cs | 2 +- .../Common/SettingPair.cs | 2 +- .../Common/SoapServiceProviderItem.cs | 2 +- .../Common/WindowsServerEntities.cs | 2 +- .../DNS/DnsRecord.cs | 2 +- .../DNS/DnsRecordType.cs | 2 +- .../DNS/DnsSOARecord.cs | 2 +- .../DNS/DnsZone.cs | 2 +- .../DNS/IDnsServer.cs | 2 +- .../DNS/SecondaryDnsZone.cs | 2 +- .../Database/IDatabaseServer.cs | 2 +- .../Database/SqlDatabase.cs | 2 +- .../Database/SqlUser.cs | 2 +- .../FTP/FtpAccount.cs | 2 +- .../FTP/FtpSite.cs | 2 +- .../FTP/IFtpServer.cs | 2 +- .../HostedSolution/ADAttributes.cs | 2 +- .../HostedSolution/ActiveDirectoryUtils.cs | 2 +- .../HostedSolution/BaseReport.cs | 2 +- .../HostedSolution/BaseStatistics.cs | 2 +- .../HostedSolution/BlackBerryErrorsCodes.cs | 2 +- .../HostedSolution/BlackBerryStatsItem.cs | 2 +- .../BlackBerryUserDeleteState.cs | 2 +- .../HostedSolution/CRMBaseUnit.cs | 2 +- .../CRMOrganizationStatistics.cs | 2 +- .../HostedSolution/CRMStatisticsReport.cs | 2 +- .../HostedSolution/CRMUserAccessMode.cs | 2 +- .../HostedSolution/CrmErrorCodes.cs | 2 +- .../HostedSolution/CrmOrganizationRole.cs | 2 +- .../HostedSolution/CrmOrganizationState.cs | 2 +- .../HostedSolution/CrmUser.cs | 2 +- .../HostedSolution/Currency.cs | 2 +- .../EnterpriseSolutionStatisticsReport.cs | 2 +- .../HostedSolution/Errors.cs | 2 +- .../HostedSolution/ExchangeAccount.cs | 2 +- .../HostedSolution/ExchangeAccountType.cs | 2 +- .../HostedSolution/ExchangeAccountsPaged.cs | 2 +- .../ExchangeActiveSyncPolicy.cs | 2 +- .../HostedSolution/ExchangeContact.cs | 2 +- .../ExchangeDistributionList.cs | 2 +- .../HostedSolution/ExchangeDomain.cs | 2 +- .../HostedSolution/ExchangeDomainName.cs | 2 +- .../HostedSolution/ExchangeEmailAddress.cs | 2 +- .../HostedSolution/ExchangeItemStatistics.cs | 2 +- .../HostedSolution/ExchangeMailbox.cs | 2 +- .../ExchangeMailboxStatistics.cs | 2 +- .../HostedSolution/ExchangeMobileDevice.cs | 2 +- .../ExchangeOrganizationStatistics.cs | 2 +- .../ExchangeOrganizationsPaged.cs | 2 +- .../HostedSolution/ExchangePublicFolder.cs | 2 +- .../ExchangeStatisticsReport.cs | 2 +- .../HostedSolution/IBlackBerry.cs | 2 +- .../HostedSolution/ICRM.cs | 2 +- .../HostedSolution/IExchangeServer.cs | 2 +- .../HostedSolution/IOCSEdgeServer.cs | 2 +- .../HostedSolution/IOCSServer.cs | 2 +- .../HostedSolution/IOrganization.cs | 2 +- .../HostedSolution/MailboxManagerActions.cs | 2 +- .../HostedSolution/MobileDeviceStatus.cs | 2 +- .../HostedSolution/OCSConstants.cs | 2 +- .../HostedSolution/OCSErrorCodes.cs | 2 +- .../HostedSolution/OCSUser.cs | 2 +- .../HostedSolution/OCSUsersPaged.cs | 2 +- .../HostedSolution/Organization.cs | 2 +- .../HostedSolution/OrganizationDomain.cs | 2 +- .../HostedSolution/OrganizationDomainName.cs | 2 +- .../HostedSolution/OrganizationPaged.cs | 2 +- .../HostedSolution/OrganizationStatistics.cs | 2 +- .../OrganizationStatisticsReport.cs | 2 +- .../OrganizationStatisticsRepotItem.cs | 2 +- .../HostedSolution/OrganizationUser.cs | 2 +- .../HostedSolution/OrganizationUsersPaged.cs | 2 +- .../HostedSolution/PasswordPolicy.cs | 2 +- .../HostedSolution/SharePointStatistics.cs | 2 +- .../SharePointStatisticsReport.cs | 2 +- .../Mail/IMailServer.cs | 2 +- .../Mail/MailAccount.cs | 2 +- .../Mail/MailAlias.cs | 2 +- .../Mail/MailDomain.cs | 2 +- .../Mail/MailEnums.cs | 2 +- .../Mail/MailGroup.cs | 2 +- .../Mail/MailList.cs | 2 +- .../OS/FileHash.cs | 2 +- .../OS/FileSyncAction.cs | 2 +- .../OS/FolderGraph.cs | 2 +- .../OS/HomeFolder.cs | 2 +- .../OS/IOperatingSystem.cs | 2 +- .../OS/SyncActionType.cs | 2 +- .../OS/SystemDSN.cs | 2 +- .../OS/SystemFile.cs | 2 +- .../OS/SystemGroup.cs | 2 +- .../OS/SystemUser.cs | 2 +- .../OS/UserPermission.cs | 2 +- .../BlackBerryUserStatsResult.cs | 2 +- .../ResultObjects/BoolResult.cs | 2 +- .../ResultObjects/BytesResult.cs | 2 +- .../ResultObjects/CRMBaseUnitResult.cs | 2 +- .../ResultObjects/CRMBusinessUnitsResult.cs | 2 +- .../CrmOrganizationRolesResult.cs | 2 +- .../ResultObjects/CrmUserResult.cs | 2 +- .../CurrencyCollectionResultObject.cs | 2 +- .../ExchangeDistributionListResult.cs | 2 +- .../ResultObjects/IntResult.cs | 2 +- .../ResultObjects/JobsValue.cs | 2 +- .../ResultObjects/OCSUserResult.cs | 2 +- .../ResultObjects/OCSUsersPagedResult.cs | 2 +- .../ResultObjects/OrganizationResult.cs | 2 +- .../OrganizationUsersPagedResult.cs | 2 +- .../ResultObjects/PasswordPolicyResult.cs | 2 +- .../ResultObjects/ResultObject.cs | 2 +- .../StringCollectionResultObject.cs | 2 +- .../ResultObjects/UserResult.cs | 2 +- .../ResultObjects/ValueResultObject.cs | 2 +- .../ResultObjects/VirtualMachineResult.cs | 2 +- .../ResultObjects/WebAppGallery.cs | 2 +- .../SharePoint/IHostedSharePointServer.cs | 2 +- .../SharePoint/ISharePointServer.cs | 2 +- .../SharePoint/SharePointSite.cs | 2 +- .../SharePoint/SharePointSiteCollection.cs | 2 +- .../SharePointSiteCollectionListPaged.cs | 2 +- .../SharePoint/SharePointSiteDiskSpace.cs | 2 +- .../Statistics/IStatisticsServer.cs | 2 +- .../Statistics/StatsServer.cs | 2 +- .../Statistics/StatsSite.cs | 2 +- .../Statistics/StatsUser.cs | 2 +- .../ChangeJobStateReturnCode.cs | 2 +- .../Virtualization/ConcreteJob.cs | 2 +- .../ConcreteJobRequestedState.cs | 2 +- .../Virtualization/ConcreteJobState.cs | 2 +- .../Virtualization/IVirtualizationServer.cs | 2 +- .../IVirtualizationServerForPC.cs | 2 +- .../Virtualization/JobResult.cs | 2 +- .../Virtualization/KvpExchangeDataItem.cs | 2 +- .../Virtualization/LibraryItem.cs | 2 +- .../Virtualization/LogicalDisk.cs | 2 +- .../Virtualization/MountedDiskInfo.cs | 2 +- .../Virtualization/OperationalStatus.cs | 2 +- .../Virtualization/ReturnCode.cs | 2 +- .../SummaryInformationRequest.cs | 2 +- .../Virtualization/ThumbnailSize.cs | 2 +- .../Virtualization/VirtualHardDiskInfo.cs | 2 +- .../Virtualization/VirtualHardDiskType.cs | 2 +- .../Virtualization/VirtualMachine.cs | 2 +- .../VirtualMachineNetworkAdapter.cs | 2 +- .../VirtualMachineProvisioningStatus.cs | 2 +- .../VirtualMachineRequestedState.cs | 2 +- .../Virtualization/VirtualMachineSnapshot.cs | 2 +- .../Virtualization/VirtualMachineState.cs | 2 +- .../Virtualization/VirtualSwitch.cs | 2 +- .../Web/HttpError.cs | 2 +- .../Web/HttpHeader.cs | 2 +- .../Web/IWebServer.cs | 2 +- .../Web/MimeMap.cs | 2 +- .../Web/SharedSSLFolder.cs | 2 +- .../Web/WebFolder.cs | 2 +- .../Web/WebGroup.cs | 2 +- .../Web/WebSite.cs | 2 +- .../Web/WebUser.cs | 2 +- .../Web/WebVirtualDirectory.cs | 2 +- .../WebAppGallery/DeploymentParameter.cs | 2 +- .../WebAppGallery/GalleryApplication.cs | 2 +- .../WebAppGallery/GalleryCategory.cs | 2 +- .../WebAppGallery/GalleryErrors.cs | 2 +- .../IscBind.cs | 2 +- .../WebsitePanel.Providers.DNS.MsDNS/MsDNS.cs | 2 +- .../Nettica.cs | 2 +- .../NetticaProxy.cs | 2 +- .../PowerDNS.cs | 2 +- .../SimpleDNS.cs | 2 +- .../SimpleDNS5.cs | 2 +- .../MySqlServer.cs | 2 +- .../MySqlServer50.cs | 2 +- .../MySqlServer51.cs | 2 +- .../MySqlServer55.cs | 2 +- .../MsSqlServer.cs | 2 +- .../MsSqlServer2005.cs | 2 +- .../MsSqlServer2008.cs | 2 +- .../FileZilla.cs | 2 +- .../Gene6FTP.cs | 2 +- .../WebsitePanel.Providers.FTP.IIs60/MsFTP.cs | 2 +- .../Authorization/AuthorizationGlobals.cs | 2 +- .../Authorization/AuthorizationRule.cs | 2 +- .../AuthorizationRuleAccessType.cs | 2 +- .../AuthorizationRuleCollection.cs | 2 +- .../Authorization/AuthorizationSection.cs | 2 +- .../Configuration/ActiveDirectoryElement.cs | 2 +- .../AnonymousAuthenticationElement.cs | 2 +- .../Configuration/AuthenticationElement.cs | 2 +- .../BasicAuthenticationElement.cs | 2 +- .../Configuration/ConnectionsElement.cs | 2 +- .../Configuration/ControlChannelPolicy.cs | 2 +- .../CustomAuthenticationElement.cs | 2 +- .../CustomAuthenticationProvider.cs | 2 +- .../CustomAuthenticationProviderCollection.cs | 2 +- .../Configuration/DataChannelPolicy.cs | 2 +- .../DataChannelSecurityElement.cs | 2 +- .../Configuration/DirectoryBrowseElement.cs | 2 +- .../Configuration/FileHandlingElement.cs | 2 +- .../Configuration/FirewallElement.cs | 2 +- .../Configuration/FtpLogExtFileFlags.cs | 2 +- .../Configuration/FtpProtocolElement.cs | 2 +- .../Configuration/FtpSite.cs | 2 +- .../Configuration/LogFileElement.cs | 2 +- .../Configuration/LoggingElement.cs | 2 +- .../Configuration/MessagesElement.cs | 2 +- .../Configuration/Mode.cs | 2 +- .../Configuration/PermissionsFlags.cs | 2 +- .../Configuration/ProviderCollection.cs | 2 +- .../Configuration/ProviderElement.cs | 2 +- .../Configuration/SecurityElement.cs | 2 +- .../Configuration/SelectiveLogging.cs | 2 +- .../Configuration/SessionCollection.cs | 2 +- .../Configuration/SessionElement.cs | 2 +- .../Configuration/ShowFlags.cs | 2 +- .../Configuration/SiteState.cs | 2 +- .../SslClientCertificatesElement.cs | 2 +- .../Configuration/SslElement.cs | 2 +- .../Configuration/UserIsolationElement.cs | 2 +- .../Configuration/ValidationFlags.cs | 2 +- .../FtpHelper.cs | 2 +- .../FtpSiteGlobals.cs | 2 +- .../WebsitePanel.Providers.FTP.IIs70/MsFTP.cs | 2 +- .../SitesHelper.cs | 2 +- .../SitesModuleService.cs | 2 +- .../WebsitePanel.Providers.FTP.ServU/ServU.cs | 2 +- .../BlackBerry5Provider.cs | 2 +- .../BlackBerryProvider.cs | 2 +- .../CRMProvider.cs | 2 +- .../CRMProxy.cs | 2 +- .../Exchange2007.cs | 2 +- .../Exchange2010.cs | 2 +- .../ExchangeLog.cs | 2 +- .../ExchangeTransaction.cs | 2 +- .../HostedSharePointServer.cs | 2 +- .../HostedSharePointServerImpl.cs | 2 +- .../HostedSolutionLog.cs | 2 +- .../OCS2007R2.cs | 2 +- .../OCSEdge2007R2.cs | 2 +- .../OrganizationProvider.cs | 2 +- .../AMSHelper.cs | 2 +- .../AbilityMailServer.cs | 2 +- .../AmsDomain.cs | 2 +- .../AmsMailList.cs | 2 +- .../AmsMailbox.cs | 2 +- .../Tree.cs | 2 +- .../ArgoMail.vb | 2 +- .../ArgoMailList.vb | 2 +- .../ArgoMailListItem.vb | 2 +- .../MD_DELFLAGS.vb | 2 +- .../MD_ERROR.vb | 2 +- .../MD_HANDLE.vb | 2 +- .../MD_VRFYFLAGS.vb | 2 +- .../MDaemon.vb | 3874 ++++++++--------- .../MDaemonInterop.vb | 2 +- .../MELogReader.vb | 2 +- .../MailEnable.vb | 2 +- .../MailEnableAddressMap.vb | 2 +- .../MailEnableBlacklist.vb | 2 +- .../MailEnableDomain.vb | 2 +- .../MailEnableGroup.vb | 2 +- .../MailEnableGroupMember.vb | 2 +- .../MailEnableList.vb | 2 +- .../MailEnableListMember.vb | 2 +- .../MailEnableLogin.vb | 2 +- .../MailEnableMailbox.vb | 2 +- .../MailEnableOption.vb | 2 +- .../MailEnablePostoffice.vb | 2 +- .../Merak.vb | 2 +- .../Merak10.vb | 2 +- .../SmarterMail2.cs | 2 +- .../SmarterMailProxies.cs | 2 +- .../SmarterMail3.cs | 2 +- .../SmartelMail5Proxies.cs | 2 +- .../SmarterMail5.cs | 2 +- .../SmarterMail6.cs | 2 +- .../SmarterMail6Proxies.cs | 2 +- .../Extensions.cs | 2 +- .../SmarterMail7.cs | 2 +- .../Extensions.cs | 2 +- .../SmarterMail9.cs | 2 +- .../hMailServer5.vb | 2 +- .../hMailServer.vb | 2 +- .../hMailServer43.vb | 2 +- .../Windows2003.cs | 2 +- .../Windows2008.cs | 2 +- .../Sps20.cs | 2 +- .../Sps30.cs | 2 +- .../Sps30Remote.cs | 2 +- .../AWStats.cs | 2 +- .../SmarterStats.cs | 2 +- .../SmarterStats4.cs | 2 +- .../SmarterStats5.cs | 2 +- .../SmarterStatsProxies.cs | 2 +- .../HyperV.cs | 2 +- .../Wmi.cs | 2 +- .../HyperVForPC.cs | 2 +- .../Authentication/AnonymAuthModuleService.cs | 2 +- .../Authentication/AuthenticationGlobals.cs | 2 +- .../Authentication/BasicAuthModuleService.cs | 2 +- .../WindowsAuthenticationModuleService.cs | 2 +- .../ClassicAsp/ClassicAspGlobals.cs | 2 +- .../ClassicAsp/ClassicAspModuleService.cs | 2 +- .../Common/ConfigurationModuleService.cs | 2 +- .../Common/FastCgiApplication.cs | 2 +- .../Common/FastCgiApplicationCollection.cs | 2 +- .../Common/FastCgiSection.cs | 2 +- .../Common/HttpErrorResponseMode.cs | 2 +- .../Common/IsapiCgiRestrictionCollection.cs | 2 +- .../Common/IsapiCgiRestrictionElement.cs | 2 +- .../Common/IsapiCgiRestrictionSection.cs | 2 +- .../DefaultDocumentModuleService.cs | 2 +- .../DirectoryBrowse/DirectoryBrowseGlobals.cs | 2 +- .../DirectoryBrowseModuleService.cs | 2 +- .../DirectoryBrowse/DirectoryBrowseSection.cs | 2 +- .../DirectoryBrowseShowFlags.cs | 2 +- .../Extensions/ExtensionsModuleService.cs | 2 +- .../Handlers/HandlerAccessPolicy.cs | 2 +- .../Handlers/HandlerAction.cs | 2 +- .../Handlers/HandlerActionCollection.cs | 2 +- .../Handlers/HandlerRequiredAccess.cs | 2 +- .../Handlers/HandlersModuleService.cs | 2 +- .../Handlers/HandlersSection.cs | 2 +- .../Handlers/ResourceType.cs | 2 +- .../HttpRedirect/HttpRedirectModuleService.cs | 2 +- .../WebsitePanel.Providers.Web.IIS70/IIs70.cs | 2 +- .../MimeTypes/MimeTypesModuleService.cs | 2 +- .../SSL/SSLModuleService.cs | 2 +- .../Utility/ConfigurationUtility.cs | 2 +- .../CustomHttpErrorsModuleService.cs | 2 +- .../CustomHttpHeadersModuleService.cs | 2 +- .../WebObjects/WebObjectsModuleService.cs | 2 +- .../WebsitePanel.Providers.Web.IIs60/IIs60.cs | 2 +- .../WebApplicationGallery.cs | 2 +- .../EnomRegistrar.cs | 2 +- .../OfflineRegistrar.cs | 2 +- .../AutoDiscoveryProxy.cs | 2 +- .../BlackBerryProxy.cs | 2 +- .../WebsitePanel.Server.Client/CRMProxy.cs | 2 +- .../Common/ServerProxyConfigurator.cs | 2 +- .../Common/ServerUsernameAssertion.cs | 2 +- .../DatabaseServerProxy.cs | 2 +- .../DnsServerProxy.cs | 2 +- .../ExchangeServerProxy.cs | 2 +- .../FtpServerProxy.cs | 2 +- .../HostedSharePointServerProxy.cs | 2 +- .../MailServerProxy.cs | 2 +- .../OCSEdgeServerProxy.cs | 2 +- .../OCSServerProxy.cs | 2 +- .../OperatingSystemProxy.cs | 2 +- .../OrganizationProxy.cs | 2 +- .../ServiceProviderProxy.cs | 2 +- .../SharePointServerProxy.cs | 2 +- .../StatisticsServerProxy.cs | 2 +- ...irtualizationServerForPrivateCloudProxy.cs | 2 +- .../VirtualizationServerProxy.cs | 2 +- .../WebServerProxy.cs | 2 +- .../WindowsServerProxy.cs | 2 +- .../WebsitePanel.Server.Utils/BsdDES.cs | 2 +- .../WebsitePanel.Server.Utils/CRC32.cs | 2 +- .../EventLogTraceListener.cs | 2 +- .../WebsitePanel.Server.Utils/FileUtils.cs | 2 +- .../Sources/WebsitePanel.Server.Utils/Log.cs | 2 +- .../LogParser/LogParser.cs | 2 +- .../LogParser/LogReader.cs | 2 +- .../LogParser/LogState.cs | 2 +- .../LogParser/MonthlyStatistics.cs | 2 +- .../LogParser/StatsLine.cs | 2 +- .../Sources/WebsitePanel.Server.Utils/OS.cs | 2 +- .../WebsitePanel.Server.Utils/PInvoke.cs | 2 +- .../SecurityUtils.cs | 2 +- .../WebsitePanel.Server.Utils/StringUtils.cs | 2 +- .../WebsitePanel.Server.Utils/SystemSID.cs | 2 +- .../WebsitePanel.Server.Utils/WmiHelper.cs | 2 +- .../WebsitePanel.Server/AutoDiscovery.asmx.cs | 2 +- .../WebsitePanel.Server/BlackBerry.asmx.cs | 2 +- .../Sources/WebsitePanel.Server/CRM.asmx.cs | 2 +- .../Code/AutoDiscoveryHelper.cs | 2 +- .../Code/ServerConfiguration.cs | 2 +- .../Code/ServerUsernameTokenManager.cs | 2 +- .../Code/UsernameAssertion.cs | 2 +- .../WebsitePanel.Server/DNSServer.asmx.cs | 2 +- .../DatabaseServer.asmx.cs | 2 +- .../WebsitePanel.Server/Default.aspx.cs | 2 +- .../ExchangeServer.asmx.cs | 2 +- .../ExchangeServerHostedEdition.asmx.cs | 2 +- .../WebsitePanel.Server/FTPServer.asmx.cs | 2 +- .../WebsitePanel.Server/Global.asax.cs | 2 +- .../HostedSharePointServer.asmx.cs | 2 +- .../WebsitePanel.Server/MailServer.asmx.cs | 2 +- .../WebsitePanel.Server/OCSEdgeServer.asmx.cs | 2 +- .../WebsitePanel.Server/OCSServer.asmx.cs | 2 +- .../OperatingSystem.asmx.cs | 2 +- .../WebsitePanel.Server/Organizations.asmx.cs | 2 +- .../ServiceProvider.asmx.cs | 2 +- .../SharePointServer.asmx.cs | 2 +- .../StatisticsServer.asmx.cs | 2 +- .../VirtualizationServer.asmx.cs | 2 +- ...irtualizationServerForPrivateCloud.asmx.cs | 2 +- .../WebsitePanel.Server/WebServer.asmx.cs | 2 +- .../WebsitePanel.Server/WindowsServer.asmx.cs | 2 +- .../AST/BinaryExpression.cs | 2 +- .../AST/CallTemplateStatement.cs | 2 +- .../AST/ElseIfStatement.cs | 2 +- .../WebsitePanel.Templates/AST/Expression.cs | 2 +- .../AST/ForStatement.cs | 2 +- .../AST/ForeachStatement.cs | 2 +- .../AST/IdentifierExpression.cs | 2 +- .../AST/IdentifierPart.cs | 2 +- .../WebsitePanel.Templates/AST/IfStatement.cs | 2 +- .../AST/LiteralExpression.cs | 2 +- .../AST/PrintStatement.cs | 2 +- .../AST/SetStatement.cs | 2 +- .../WebsitePanel.Templates/AST/Statement.cs | 2 +- .../AST/TemplateStatement.cs | 2 +- .../AST/TextStatement.cs | 2 +- .../AST/UnaryExpression.cs | 2 +- .../BuiltinFunctions.cs | 2 +- .../Sources/WebsitePanel.Templates/Lexer.cs | 2 +- .../Sources/WebsitePanel.Templates/Parser.cs | 2 +- .../WebsitePanel.Templates/ParserException.cs | 2 +- .../Sources/WebsitePanel.Templates/Program.cs | 2 +- .../WebsitePanel.Templates/Template.cs | 2 +- .../WebsitePanel.Templates/TemplateContext.cs | 2 +- .../Sources/WebsitePanel.Templates/Token.cs | 2 +- .../WebsitePanel.Templates/TokenType.cs | 2 +- .../Code/Adapters/ImageAdapter.cs | 2 +- .../Code/ContentPane.cs | 2 +- .../Code/Controls/DesktopContextValidator.cs | 2 +- .../Code/ModuleControl.cs | 2 +- .../Code/ModuleControlType.cs | 2 +- .../Code/ModuleDefinition.cs | 2 +- .../WebsitePanel.WebPortal/Code/PageModule.cs | 2 +- .../Code/PageTitleProvider.cs | 2 +- .../Code/PortalConfiguration.cs | 2 +- .../Code/PortalControlBase.cs | 2 +- .../WebsitePanel.WebPortal/Code/PortalPage.cs | 2 +- .../Code/PortalThemeProvider.cs | 2 +- .../Code/PortalUtils.cs | 2 +- .../Code/SiteSettings.cs | 2 +- .../Code/SiteStructure.cs | 2 +- .../Code/WebPortalControlBase.cs | 2 +- .../Code/WebsitePanelSiteMapProvider.cs | 2 +- .../WebsitePanel.WebPortal/Default.aspx.cs | 2 +- .../Ecommerce/BillingCycles.ascx.cs | 2 +- .../Ecommerce/BillingCyclesAddCycle.ascx.cs | 2 +- .../Ecommerce/BillingCyclesEditCycle.ascx.cs | 2 +- .../Ecommerce/Categories.ascx.cs | 2 +- .../Ecommerce/CategoriesAddCategory.ascx.cs | 2 +- .../Ecommerce/CategoriesEditCategory.ascx.cs | 2 +- .../DesktopModules/Ecommerce/Code/EC.cs | 2 +- .../Ecommerce/Code/EcommerceSettings.cs | 2 +- .../Code/Framework/CheckoutBasePage.cs | 2 +- .../Code/Framework/GroupRadioButton.cs | 2 +- .../Code/Framework/IPaymentMethod.cs | 2 +- .../Code/Framework/IPluginSettings.cs | 2 +- .../Code/Framework/IViewServiceDetails.cs | 2 +- .../Code/Framework/ManualContextValidator.cs | 2 +- .../Code/Framework/PasswordTextBox.cs | 2 +- .../Code/Framework/RadioGroupValidator.cs | 2 +- .../Ecommerce/Code/Framework/ecControlBase.cs | 2 +- .../Ecommerce/Code/Framework/ecModuleBase.cs | 2 +- .../Code/Framework/ecPanelFormatter.cs | 2 +- .../Code/Framework/ecPanelGlobals.cs | 2 +- .../Code/Framework/ecPanelRequest.cs | 2 +- .../Ecommerce/Code/Helpers/CategoryHelper.cs | 2 +- .../Code/Helpers/StorefrontHelper.cs | 2 +- .../Code/Helpers/StorehouseHelper.cs | 2 +- .../DesktopModules/Ecommerce/Code/Keys.cs | 2 +- .../Ecommerce/Code/PortalCache.cs | 2 +- .../Ecommerce/Code/ProxyConfigurator.cs | 2 +- .../Ecommerce/Code/Services/2Checkout.cs | 2 +- .../Ecommerce/Code/Services/PayPalIPN.cs | 2 +- .../Code/Services/ServiceHandlerBase.cs | 2 +- .../Ecommerce/Code/UrlBuilder.cs | 2 +- .../DesktopModules/Ecommerce/Code/ecUtils.cs | 2 +- .../Ecommerce/CustomerPaymentProfile.ascx.cs | 2 +- .../Ecommerce/CustomersInvoices.ascx.cs | 2 +- .../CustomersInvoicesViewInvoice.ascx.cs | 2 +- .../Ecommerce/CustomersPayments.ascx.cs | 2 +- .../Ecommerce/CustomersServices.ascx.cs | 2 +- .../CustomersServicesUpgradeService.ascx.cs | 2 +- .../CustomersServicesViewService.ascx.cs | 2 +- .../Ecommerce/DomainNames.ascx.cs | 2 +- .../Ecommerce/DomainNamesAddDomain.ascx.cs | 2 +- .../Ecommerce/DomainNamesEditDomain.ascx.cs | 2 +- .../Ecommerce/DomainRegistrarDirecti.ascx.cs | 2 +- .../Ecommerce/DomainRegistrarEnom.ascx.cs | 2 +- .../Ecommerce/EcommerceSystemSettings.ascx.cs | 2 +- .../Ecommerce/HostingAddons.ascx.cs | 2 +- .../Ecommerce/HostingAddonsAddAddon.ascx.cs | 2 +- .../Ecommerce/HostingAddonsEditAddon.ascx.cs | 2 +- .../Ecommerce/HostingPlans.ascx.cs | 2 +- .../Ecommerce/HostingPlansAddPlan.ascx.cs | 2 +- .../Ecommerce/HostingPlansEditPlan.ascx.cs | 2 +- .../Ecommerce/NotificationNewInvoice.ascx.cs | 2 +- .../NotificationPaymentReceived.ascx.cs | 2 +- .../NotificationServiceActivated.ascx.cs | 2 +- .../NotificationServiceCancelled.ascx.cs | 2 +- .../NotificationServiceSuspended.ascx.cs | 2 +- .../Ecommerce/OrderCheckout.ascx.cs | 2 +- .../Ecommerce/OrderComplete.ascx.cs | 2 +- .../Ecommerce/OrderFailed.ascx.cs | 2 +- .../Ecommerce/OrderPassback.aspx.cs | 2 +- .../Ecommerce/PP_Routine.aspx.cs | 2 +- .../Ecommerce/PaymentMethod2Checkout.ascx.cs | 2 +- .../Ecommerce/PaymentMethodCreditCard.ascx.cs | 2 +- .../Ecommerce/PaymentMethodOffline.ascx.cs | 2 +- .../PaymentMethodPayPalAccount.ascx.cs | 2 +- .../PaymentMethods/2CO_Payment.ascx.cs | 2 +- .../PaymentMethods/CreditCard_Payment.ascx.cs | 2 +- .../PaymentMethods/Offline_Payment.ascx.cs | 2 +- .../PaymentMethods/PPAccount_Payment.ascx.cs | 2 +- .../DomainName_ServiceDetails.ascx.cs | 2 +- .../HostingAddon_ServiceDetails.ascx.cs | 2 +- .../ProductControls/HostingPlan_Brief.ascx.cs | 2 +- .../HostingPlan_Highlights.ascx.cs | 2 +- .../HostingPlan_ServiceDetails.ascx.cs | 2 +- .../ProvisioningSettingsEdit.ascx.cs | 2 +- .../Ecommerce/QuickSignup.ascx.cs | 2 +- .../SkinControls/CatalogBreadCrumb.ascx.cs | 2 +- .../Ecommerce/StorefrontMenu.ascx.cs | 2 +- .../Ecommerce/StorefrontOrderProduct.ascx.cs | 2 +- .../Ecommerce/StorefrontViewCategory.ascx.cs | 2 +- .../Ecommerce/StorefrontWelcome.ascx.cs | 2 +- .../Ecommerce/StorefrontWelcomeEdit.ascx.cs | 2 +- .../2Checkout_Settings.ascx.cs | 2 +- .../AuthorizeNet_Settings.ascx.cs | 2 +- .../OfflinePayment_Settings.ascx.cs | 2 +- .../PayPalPro_Settings.ascx.cs | 2 +- .../PayPalStandard_Settings.ascx.cs | 2 +- .../Ecommerce/Taxations.ascx.cs | 2 +- .../Ecommerce/TaxationsAddTax.ascx.cs | 2 +- .../Ecommerce/TaxationsEditTax.ascx.cs | 2 +- .../Ecommerce/TermsAndConditions.ascx.cs | 2 +- .../Ecommerce/TermsAndConditionsEdit.ascx.cs | 2 +- .../UserControls/AddonProducts.ascx.cs | 2 +- .../UserControls/ChoosePaymentMethod.ascx.cs | 2 +- .../UserControls/CreateUserAccount.ascx.cs | 2 +- .../CustomerInvoiceTemplated.ascx.cs | 2 +- .../DomainNameBillingCycles.ascx.cs | 2 +- .../EmailNotificationEditor.ascx.cs | 2 +- .../HostingAddonOneTimeFee.ascx.cs | 2 +- .../HostingPlanBillingCycles.ascx.cs | 2 +- .../UserControls/HostingPlanQuotas.ascx.cs | 2 +- .../UserControls/LoginUserAccount.ascx.cs | 2 +- .../UserControls/ManualPaymentAdd.ascx.cs | 2 +- .../UserControls/PathBreadCrumb.ascx.cs | 2 +- .../UserControls/PlanDomainOption.ascx.cs | 2 +- .../UserControls/PlanHostingAddons.ascx.cs | 2 +- .../UserControls/ProductCategories.ascx.cs | 2 +- .../UserControls/ProductHighlights.ascx.cs | 2 +- .../UserControls/QuickHostingAddon.ascx.cs | 2 +- .../QuickHostingPlanCycles.ascx.cs | 2 +- .../UserControls/QuickHostingPlans.ascx.cs | 2 +- .../UserControls/UserAccountDetails.ascx.cs | 2 +- .../Ecommerce/ViewProductDetails.ascx.cs | 2 +- .../WebsitePanel/AuditLog.ascx.cs | 2 +- .../WebsitePanel/BackupWizard.ascx.cs | 2 +- .../WebsitePanel/BandwidthReport.ascx.cs | 2 +- .../BandwidthReportPackageDetails.ascx.cs | 2 +- .../BlackBerry/BlackBerryUsers.ascx.cs | 2 +- .../CreateNewBlackBerryUser.ascx.cs | 2 +- .../BlackBerry/EditBlackBerryUser.ascx.cs | 2 +- .../CRM/CRMOrganizationDetails.ascx.cs | 2 +- .../WebsitePanel/CRM/CRMUserRoles.ascx.cs | 2 +- .../WebsitePanel/CRM/CRMUsers.ascx.cs | 2 +- .../WebsitePanel/CRM/CreateCRMUser.ascx.cs | 2 +- .../WebsitePanel/Code/Framework/ES.cs | 2 +- .../Code/Framework/IMessageBoxControl.cs | 2 +- .../Code/Framework/ISchedulerTaskView.cs | 2 +- .../Code/Framework/PanelFormatter.cs | 2 +- .../Code/Framework/PanelGlobals.cs | 2 +- .../Code/Framework/PanelRequest.cs | 2 +- .../Code/Framework/PanelSecurity.cs | 2 +- .../WebsitePanel/Code/Framework/Utils.cs | 2 +- .../Framework/WebPortalPageTitleProvider.cs | 2 +- .../Code/Framework/WebPortalThemeProvider.cs | 2 +- .../Code/Framework/WebsitePanelControlBase.cs | 2 +- .../Code/Framework/WebsitePanelModuleBase.cs | 2 +- .../Code/Helpers/AppInstallerHelpers.cs | 2 +- .../Code/Helpers/AuditLogHelper.cs | 2 +- .../Code/Helpers/BlackBerryHelper.cs | 2 +- .../WebsitePanel/Code/Helpers/CRMHelper.cs | 2 +- .../Code/Helpers/ExchangeHelper.cs | 2 +- .../WebsitePanel/Code/Helpers/FilesHelper.cs | 2 +- .../HostedSharePointSiteCollectionsHelper.cs | 2 +- .../Code/Helpers/HostingPlansHelper.cs | 2 +- .../Code/Helpers/IPAddressesHelper.cs | 2 +- .../WebsitePanel/Code/Helpers/OCSHelper.cs | 2 +- .../Code/Helpers/OrganizationsHelper.cs | 2 +- .../Code/Helpers/PackagesHelper.cs | 2 +- .../Code/Helpers/ReportsHelper.cs | 2 +- .../Code/Helpers/SchedulesHelper.cs | 2 +- .../Code/Helpers/ServersHelper.cs | 2 +- .../Code/Helpers/ServiceItemsHelper.cs | 2 +- .../WebsitePanel/Code/Helpers/TasksHelper.cs | 2 +- .../WebsitePanel/Code/Helpers/UsersHelper.cs | 2 +- .../Helpers/VirtualMachinesForPCHelper.cs | 2 +- .../Code/Helpers/VirtualMachinesHelper.cs | 2 +- .../Code/Helpers/WebAppGalleryHelpers.cs | 2 +- .../IDatabaseEditDatabaseControl.cs | 2 +- .../IDatabaseEditUserControl.cs | 2 +- .../IFtpEditAccountControl.cs | 2 +- .../IHostingServiceProviderSettings.cs | 2 +- .../IMailEditAccountControl.cs | 2 +- .../IMailEditDomainControl.cs | 2 +- .../IMailEditForwardingControl.cs | 2 +- .../ProviderControls/IMailEditGroupControl.cs | 2 +- .../ProviderControls/IMailEditListControl.cs | 2 +- .../IPackageSettingsEditorControl.cs | 2 +- .../IStatsEditInstallationControl.cs | 2 +- .../IUserSettingsEditorControl.cs | 2 +- .../ProviderControls/IWebInstallerSettings.cs | 2 +- .../AbstractReportLocalizer.cs | 2 +- .../EmbeddedReportLocalizer.cs | 2 +- .../FileSystemReportLocalizer.cs | 2 +- .../ReportingServices/IResourceStorage.cs | 2 +- .../ReportingServicesUtils.cs | 2 +- .../WebsitePanelModuleResourceStorage.cs | 2 +- .../WebsitePanel/DiskspaceReport.ascx.cs | 2 +- .../DiskspaceReportPackageDetails.ascx.cs | 2 +- .../WebsitePanel/DnsZoneRecords.ascx.cs | 2 +- .../WebsitePanel/Domains.ascx.cs | 2 +- .../WebsitePanel/DomainsAddDomain.ascx.cs | 2 +- .../DomainsAddDomainSelectType.ascx.cs | 2 +- .../WebsitePanel/DomainsEditDomain.ascx.cs | 2 +- .../DomainsSelectDomainControl.ascx.cs | 2 +- .../ExchangeActiveSyncSettings.ascx.cs | 2 +- .../ExchangeAddDomainName.ascx.cs | 2 +- .../ExchangeContactGeneralSettings.ascx.cs | 2 +- .../ExchangeContactMailFlowSettings.ascx.cs | 2 +- .../ExchangeServer/ExchangeContacts.ascx.cs | 2 +- .../ExchangeCreateContact.ascx.cs | 2 +- .../ExchangeCreateDistributionList.ascx.cs | 2 +- .../ExchangeCreateMailbox.ascx.cs | 2 +- .../ExchangeCreatePublicFolder.ascx.cs | 2 +- ...angeDistributionListEmailAddresses.ascx.cs | 2 +- ...ngeDistributionListGeneralSettings.ascx.cs | 2 +- ...geDistributionListMailFlowSettings.ascx.cs | 2 +- ...xchangeDistributionListPermissions.ascx.cs | 2 +- .../ExchangeDistributionLists.ascx.cs | 2 +- .../ExchangeDomainNames.ascx.cs | 2 +- .../ExchangeDomainRecords.ascx.cs | 2 +- .../ExchangeMailboxAdvancedSettings.ascx.cs | 2 +- .../ExchangeMailboxEmailAddresses.ascx.cs | 2 +- .../ExchangeMailboxGeneralSettings.ascx.cs | 2 +- .../ExchangeMailboxMailFlowSettings.ascx.cs | 2 +- .../ExchangeMailboxMobile.ascx.cs | 2 +- .../ExchangeMailboxMobileDetails.ascx.cs | 2 +- .../ExchangeMailboxPermissions.ascx.cs | 2 +- .../ExchangeMailboxSetupInstructions.ascx.cs | 2 +- .../ExchangeServer/ExchangeMailboxes.ascx.cs | 2 +- ...ExchangePublicFolderEmailAddresses.ascx.cs | 2 +- ...xchangePublicFolderGeneralSettings.ascx.cs | 2 +- .../ExchangePublicFolderMailEnable.ascx.cs | 2 +- ...changePublicFolderMailFlowSettings.ascx.cs | 2 +- .../ExchangePublicFolders.ascx.cs | 2 +- .../ExchangeStorageLimits.ascx.cs | 2 +- .../ExchangeStorageUsage.ascx.cs | 2 +- .../ExchangeStorageUsageBreakdown.ascx.cs | 2 +- .../OrganizationCreateOrganization.ascx.cs | 2 +- .../OrganizationCreateUser.ascx.cs | 2 +- .../ExchangeServer/OrganizationHome.ascx.cs | 2 +- .../OrganizationUserGeneralSettings.ascx.cs | 2 +- .../OrganizationUserSetupInstructions.ascx.cs | 2 +- .../ExchangeServer/OrganizationUsers.ascx.cs | 2 +- .../ExchangeServer/Organizations.ascx.cs | 2 +- .../UserControls/AcceptedSenders.ascx.cs | 2 +- .../UserControls/AccountsList.ascx.cs | 2 +- .../UserControls/Breadcrumb.ascx.cs | 2 +- .../UserControls/ContactTabs.ascx.cs | 2 +- .../UserControls/CountrySelector.ascx.cs | 2 +- .../UserControls/DaysBox.ascx.cs | 2 +- .../UserControls/DistributionListTabs.ascx.cs | 2 +- .../UserControls/DomainSelector.ascx.cs | 2 +- .../UserControls/EmailAddress.ascx.cs | 2 +- .../UserControls/HoursBox.ascx.cs | 2 +- .../UserControls/MailboxSelector.ascx.cs | 2 +- .../UserControls/MailboxTabs.ascx.cs | 2 +- .../ExchangeServer/UserControls/Menu.ascx.cs | 2 +- .../UserControls/PublicFolderTabs.ascx.cs | 2 +- .../UserControls/RejectedSenders.ascx.cs | 2 +- .../UserControls/SizeBox.ascx.cs | 2 +- .../UserControls/UserSelector.ascx.cs | 2 +- .../WebsitePanel/FileManager.ascx.cs | 2 +- .../FtpAccountEditAccount.ascx.cs | 2 +- .../WebsitePanel/FtpAccounts.ascx.cs | 2 +- .../GlobalDnsRecordsControl.ascx.cs | 2 +- ...stedSharePointBackupSiteCollection.ascx.cs | 2 +- ...HostedSharePointEditSiteCollection.ascx.cs | 2 +- ...tedSharePointRestoreSiteCollection.ascx.cs | 2 +- .../HostedSharePointSiteCollections.ascx.cs | 2 +- .../HostedSharePointStorageSettings.ascx.cs | 2 +- .../HostedSharePointStorageUsage.ascx.cs | 2 +- .../HostedSoluitonReportSummaryLetter.ascx.cs | 2 +- .../WebsitePanel/HostingAddons.ascx.cs | 2 +- .../HostingAddonsEditAddon.ascx.cs | 2 +- .../WebsitePanel/HostingPlans.ascx.cs | 2 +- .../WebsitePanel/HostingPlansEditPlan.ascx.cs | 2 +- .../WebsitePanel/HostingPlansQuotas.ascx.cs | 2 +- .../WebsitePanel/IPAddresses.ascx.cs | 2 +- .../IPAddressesAddIPAddress.ascx.cs | 2 +- .../IPAddressesEditIPAddress.ascx.cs | 2 +- .../InstallerApplicationHeader.ascx.cs | 2 +- .../InstallerApplications.ascx.cs | 2 +- .../InstallerInstallApplication.ascx.cs | 2 +- ...nstallerInstallApplicationComplete.ascx.cs | 2 +- .../LoggedUserEditDetails.ascx.cs | 2 +- .../DesktopModules/WebsitePanel/Login.ascx.cs | 2 +- .../WebsitePanel/LoginForgotPassword.ascx.cs | 2 +- .../WebsitePanel/MailAccounts.ascx.cs | 2 +- .../MailAccountsEditAccount.ascx.cs | 2 +- .../WebsitePanel/MailDomains.ascx.cs | 2 +- .../MailDomainsAddPointer.ascx.cs | 2 +- .../MailDomainsEditDomain.ascx.cs | 2 +- .../WebsitePanel/MailEditAddress.ascx.cs | 2 +- .../WebsitePanel/MailEditItems.ascx.cs | 2 +- .../WebsitePanel/MailForwardings.ascx.cs | 2 +- .../MailForwardingsEditForwarding.ascx.cs | 2 +- .../WebsitePanel/MailGroups.ascx.cs | 2 +- .../WebsitePanel/MailGroupsEditGroup.ascx.cs | 2 +- .../WebsitePanel/MailLists.ascx.cs | 2 +- .../WebsitePanel/MailListsEditList.ascx.cs | 2 +- .../WebsitePanel/OCS/CreateOCSUser.ascx.cs | 2 +- .../WebsitePanel/OCS/EditOCSUser.ascx.cs | 2 +- .../WebsitePanel/OCS/OCSUsers.ascx.cs | 2 +- .../WebsitePanel/OdbcEditSource.ascx.cs | 2 +- .../WebsitePanel/OdbcSources.ascx.cs | 2 +- .../WebsitePanel/OverusageReport.ascx.cs | 2 +- .../DesktopModules/WebsitePanel/Peers.ascx.cs | 2 +- .../WebsitePanel/PeersEditPeer.ascx.cs | 2 +- .../ProviderControls/AWStats_EditSite.ascx.cs | 2 +- .../ProviderControls/AWStats_Settings.ascx.cs | 2 +- .../AbilityMailServer_EditAccount.ascx.cs | 2 +- .../AbilityMailServer_EditDomain.ascx.cs | 2 +- .../AbilityMailServer_EditForwarding.ascx.cs | 2 +- .../AbilityMailServer_EditGroup.ascx.cs | 2 +- .../AbilityMailServer_EditList.ascx.cs | 2 +- .../AbilityMailServer_Settings.ascx.cs | 2 +- .../ArgoMail_EditAccount.ascx.cs | 2 +- .../ArgoMail_EditDomain.ascx.cs | 2 +- .../ArgoMail_EditForwarding.ascx.cs | 2 +- .../ArgoMail_EditGroup.ascx.cs | 2 +- .../ArgoMail_EditList.ascx.cs | 2 +- .../ArgoMail_Settings.ascx.cs | 2 +- .../ProviderControls/Bind_Settings.ascx.cs | 2 +- .../BlackBerry5_Settings.ascx.cs | 2 +- .../BlackBerry_Settings.ascx.cs | 2 +- .../ProviderControls/CRM_Settings.ascx.cs | 2 +- .../Common_ActiveDirectoryIntegration.ascx.cs | 2 +- .../Common_IPAddressesList.ascx.cs | 2 +- .../Common_SecondaryDNSServers.ascx.cs | 2 +- .../Exchange_Settings.ascx.cs | 2 +- .../FileZilla_EditAccount.ascx.cs | 2 +- .../FileZilla_Settings.ascx.cs | 2 +- .../Gene6FTP_EditAccount.ascx.cs | 2 +- .../Gene6FTP_Settings.ascx.cs | 2 +- .../HostedSharePoint30_Settings.ascx.cs | 2 +- .../HyperVForPrivateCloud_Settings.ascx.cs | 2 +- .../ProviderControls/HyperV_Settings.ascx.cs | 2 +- .../ProviderControls/IIS60_Settings.ascx.cs | 2 +- .../ProviderControls/IIS70_Settings.ascx.cs | 2 +- .../MDaemon_EditAccount.ascx.cs | 2 +- .../MDaemon_EditDomain.ascx.cs | 2 +- .../MDaemon_EditForwarding.ascx.cs | 2 +- .../MDaemon_EditGroup.ascx.cs | 2 +- .../ProviderControls/MDaemon_EditList.ascx.cs | 2 +- .../ProviderControls/MDaemon_Settings.ascx.cs | 2 +- .../ProviderControls/MSDNS_Settings.ascx.cs | 2 +- .../MSFTP60_EditAccount.ascx.cs | 2 +- .../ProviderControls/MSFTP60_Settings.ascx.cs | 2 +- .../MSFTP70_EditAccount.ascx.cs | 2 +- .../ProviderControls/MSFTP70_Settings.ascx.cs | 2 +- .../MSSQL_EditDatabase.ascx.cs | 2 +- .../ProviderControls/MSSQL_EditUser.ascx.cs | 2 +- .../ProviderControls/MSSQL_Settings.ascx.cs | 2 +- .../MailEnable_EditAccount.ascx.cs | 2 +- .../MailEnable_EditDomain.ascx.cs | 2 +- .../MailEnable_EditForwarding.ascx.cs | 2 +- .../MailEnable_EditGroup.ascx.cs | 2 +- .../MailEnable_EditList.ascx.cs | 2 +- .../MailEnable_Settings.ascx.cs | 2 +- .../Merak_EditAccount.ascx.cs | 2 +- .../ProviderControls/Merak_EditDomain.ascx.cs | 2 +- .../Merak_EditForwarding.ascx.cs | 2 +- .../ProviderControls/Merak_EditGroup.ascx.cs | 2 +- .../ProviderControls/Merak_EditList.ascx.cs | 2 +- .../ProviderControls/Merak_Settings.ascx.cs | 2 +- .../MySQL_EditDatabase.ascx.cs | 2 +- .../ProviderControls/MySQL_EditUser.ascx.cs | 2 +- .../ProviderControls/MySQL_Settings.ascx.cs | 2 +- .../NetticaDNS_Settings.ascx.cs | 2 +- .../OCS_EDGE_Settings.ascx.cs | 2 +- .../ProviderControls/OCS_Settings.ascx.cs | 2 +- .../Organizations_Settings.ascx.cs | 2 +- .../PowerDNS_Settings.ascx.cs | 2 +- .../ServU_EditAccount.ascx.cs | 2 +- .../ProviderControls/ServU_Settings.ascx.cs | 2 +- .../SimpleDNS_Settings.ascx.cs | 2 +- .../SmarterMail50_EditAccount.ascx.cs | 2 +- .../SmarterMail50_EditDomain.ascx.cs | 2 +- .../SmarterMail50_EditDomain_Features.ascx.cs | 2 +- .../SmarterMail50_EditDomain_Sharing.ascx.cs | 2 +- ...marterMail50_EditDomain_Throttling.ascx.cs | 2 +- .../SmarterMail50_EditForwarding.ascx.cs | 2 +- .../SmarterMail50_EditGroup.ascx.cs | 2 +- .../SmarterMail50_EditList.ascx.cs | 2 +- .../SmarterMail50_Settings.ascx.cs | 2 +- .../SmarterMail60_EditAccount.ascx.cs | 2 +- .../SmarterMail60_EditDomain.ascx.cs | 2 +- .../SmarterMail60_EditDomain_Features.ascx.cs | 2 +- .../SmarterMail60_EditDomain_Sharing.ascx.cs | 2 +- ...marterMail60_EditDomain_Throttling.ascx.cs | 2 +- .../SmarterMail60_EditForwarding.ascx.cs | 2 +- .../SmarterMail60_EditGroup.ascx.cs | 2 +- .../SmarterMail60_EditList.ascx.cs | 2 +- .../SmarterMail60_Settings.ascx.cs | 2 +- .../SmarterMail_EditAccount.ascx.cs | 2 +- .../SmarterMail_EditDomain.ascx.cs | 2 +- .../SmarterMail_EditDomain_Features.ascx.cs | 2 +- .../SmarterMail_EditDomain_Sharing.ascx.cs | 2 +- .../SmarterMail_EditForwarding.ascx.cs | 2 +- .../SmarterMail_EditGroup.ascx.cs | 2 +- .../SmarterMail_EditList.ascx.cs | 2 +- .../SmarterMail_Settings.ascx.cs | 2 +- .../SmarterStats_EditSite.ascx.cs | 2 +- .../SmarterStats_Settings.ascx.cs | 2 +- .../ProviderControls/Sps20_Settings.ascx.cs | 2 +- .../Windows2003_Settings.ascx.cs | 2 +- .../Windows2008_Settings.ascx.cs | 2 +- .../hMailServer43_EditAccount.ascx.cs | 2 +- .../hMailServer43_EditDomain.ascx.cs | 2 +- .../hMailServer43_EditForwarding.ascx.cs | 2 +- .../hMailServer43_EditGroup.ascx.cs | 2 +- .../hMailServer43_EditList.ascx.cs | 2 +- .../hMailServer43_Settings.ascx.cs | 2 +- .../hMailServer5_EditAccount.ascx.cs | 2 +- .../hMailServer5_EditDomain.ascx.cs | 2 +- .../hMailServer5_EditForwarding.ascx.cs | 2 +- .../hMailServer5_EditGroup.ascx.cs | 2 +- .../hMailServer5_EditList.ascx.cs | 2 +- .../hMailServer5_Settings.ascx.cs | 2 +- .../hMailServer_EditAccount.ascx.cs | 2 +- .../hMailServer_EditDomain.ascx.cs | 2 +- .../hMailServer_EditForwarding.ascx.cs | 2 +- .../hMailServer_EditGroup.ascx.cs | 2 +- .../hMailServer_EditList.ascx.cs | 2 +- .../hMailServer_Settings.ascx.cs | 2 +- .../WebsitePanel/ResizeImage.ashx.cs | 2 +- .../WebsitePanel/RestoreWizard.ascx.cs | 2 +- .../ScheduleTaskControls/Backup.ascx.cs | 2 +- .../BackupDatabase.ascx.cs | 2 +- .../CalculatePackagesBandwidth.ascx.cs | 2 +- .../ScheduleTaskControls/CheckWebsite.ascx.cs | 2 +- .../ScheduleTaskControls/EmptyView.ascx.cs | 2 +- .../ExecuteSystemCommand.ascx.cs | 2 +- .../HostedSolutionReport.ascx.cs | 2 +- .../NotifyOverusedDatabases.ascx.cs | 2 +- .../SendEmailNotification.ascx.cs | 2 +- .../SendFilesViaFtp.ascx.cs | 2 +- .../SuspendOverusedSpaces.ascx.cs | 2 +- .../ScheduleTaskControls/ZipFiles.ascx.cs | 2 +- .../WebsitePanel/Schedules.ascx.cs | 2 +- .../SchedulesEditSchedule.ascx.cs | 2 +- .../WebsitePanel/SearchSpaces.ascx.cs | 2 +- .../WebsitePanel/SearchUsers.ascx.cs | 2 +- .../ServerDnsRecordsControl.ascx.cs | 2 +- .../WebsitePanel/ServerHeaderControl.ascx.cs | 2 +- .../ServerIPAddressesControl.ascx.cs | 2 +- .../ServerServicesControl.ascx.cs | 2 +- .../WebsitePanel/Servers.ascx.cs | 2 +- .../WebsitePanel/ServersAddServer.ascx.cs | 2 +- .../WebsitePanel/ServersAddService.ascx.cs | 2 +- .../ServersEditEventViewer.ascx.cs | 2 +- .../WebsitePanel/ServersEditReboot.ascx.cs | 2 +- .../WebsitePanel/ServersEditServer.ascx.cs | 2 +- .../WebsitePanel/ServersEditService.ascx.cs | 2 +- .../ServersEditSystemProcesses.ascx.cs | 2 +- .../ServersEditTerminalConnections.ascx.cs | 2 +- .../ServersEditWindowsServices.ascx.cs | 2 +- .../SettingsAccountSummaryLetter.ascx.cs | 2 +- .../WebsitePanel/SettingsEditor.ascx.cs | 2 +- ...geHostedEditionOrganizationSummary.ascx.cs | 2 +- ...ettingsExchangeHostedEditionPolicy.ascx.cs | 2 +- ...SettingsExchangeMailboxSetupLetter.ascx.cs | 2 +- .../SettingsExchangePolicy.ascx.cs | 2 +- .../WebsitePanel/SettingsFtpPolicy.ascx.cs | 2 +- .../WebsitePanel/SettingsMailPolicy.ascx.cs | 2 +- .../WebsitePanel/SettingsMsSqlPolicy.ascx.cs | 2 +- .../WebsitePanel/SettingsMySqlPolicy.ascx.cs | 2 +- .../SettingsOperatingSystemPolicy.ascx.cs | 2 +- ...tingsOrganizationUserSummaryLetter.ascx.cs | 2 +- .../SettingsPackageSummaryLetter.ascx.cs | 2 +- .../SettingsPasswordReminderLetter.ascx.cs | 2 +- .../SettingsSharePointPolicy.ascx.cs | 2 +- .../WebsitePanel/SettingsVpsPolicy.ascx.cs | 2 +- .../SettingsVpsSummaryLetter.ascx.cs | 2 +- .../WebsitePanel/SettingsWebPolicy.ascx.cs | 2 +- .../SettingsWebsitePanelPolicy.ascx.cs | 2 +- .../WebsitePanel/SharePointBackupSite.ascx.cs | 2 +- .../WebsitePanel/SharePointEditSite.ascx.cs | 2 +- .../WebsitePanel/SharePointGroups.ascx.cs | 2 +- .../SharePointGroupsEditGroup.ascx.cs | 2 +- .../SharePointInstallWebPartPackage.ascx.cs | 2 +- .../SharePointRestoreSite.ascx.cs | 2 +- .../WebsitePanel/SharePointSites.ascx.cs | 2 +- .../WebsitePanel/SharePointUsers.ascx.cs | 2 +- .../SharePointUsersEditUser.ascx.cs | 2 +- .../SharePointWebPartPackages.ascx.cs | 2 +- .../WebsitePanel/SharedSSLAddFolder.ascx.cs | 2 +- .../WebsitePanel/SharedSSLEditFolder.ascx.cs | 2 +- .../WebsitePanel/SharedSSLFolders.ascx.cs | 2 +- .../SkinControls/GlobalSearch.ascx.cs | 2 +- .../WebsitePanel/SkinControls/Logo.ascx.cs | 2 +- .../SkinControls/ProductVersion.ascx.cs | 2 +- .../SkinControls/SignedInUser.ascx.cs | 2 +- .../SkinControls/SiteFooter.ascx.cs | 2 +- .../WebsitePanel/SkinControls/TopMenu.ascx.cs | 2 +- .../SkinControls/UserSpaceBreadcrumb.ascx.cs | 2 +- .../WebsitePanel/SpaceDeleteSpace.ascx.cs | 2 +- .../WebsitePanel/SpaceDetails.ascx.cs | 2 +- .../SpaceDetailsHeaderControl.ascx.cs | 2 +- .../WebsitePanel/SpaceEditAddon.ascx.cs | 2 +- .../WebsitePanel/SpaceEditDetails.ascx.cs | 2 +- .../WebsitePanel/SpaceEditDnsRecords.ascx.cs | 2 +- .../WebsitePanel/SpaceImportResources.ascx.cs | 2 +- .../WebsitePanel/SpaceMenu.ascx.cs | 2 +- .../WebsitePanel/SpaceNestedSpaces.ascx.cs | 2 +- .../SpaceNestedSpacesSummary.ascx.cs | 2 +- .../WebsitePanel/SpaceNotes.ascx.cs | 2 +- .../WebsitePanel/SpaceQuotas.ascx.cs | 2 +- .../WebsitePanel/SpaceQuotasControl.ascx.cs | 2 +- .../WebsitePanel/SpaceSettings.ascx.cs | 2 +- .../WebsitePanel/SpaceSettingsEditor.ascx.cs | 2 +- ...SpaceSettingsExchangeHostedEdition.ascx.cs | 2 +- .../SpaceSettingsExchangeServer.ascx.cs | 2 +- .../SpaceSettingsInstantAlias.ascx.cs | 2 +- .../SpaceSettingsNameServers.ascx.cs | 2 +- .../SpaceSettingsSharedSSLSites.ascx.cs | 2 +- .../SpaceSettingsSpacesFolder.ascx.cs | 2 +- .../WebsitePanel/SpaceSettingsVPS.ascx.cs | 2 +- .../WebsitePanel/SpaceSummaryLetter.ascx.cs | 2 +- .../WebsitePanel/SpaceTools.ascx.cs | 2 +- .../WebsitePanel/SpaceViewQuotas.ascx.cs | 2 +- .../WebsitePanel/SqlBackupDatabase.ascx.cs | 2 +- .../WebsitePanel/SqlDatabases.ascx.cs | 2 +- .../WebsitePanel/SqlEditDatabase.ascx.cs | 2 +- .../WebsitePanel/SqlEditUser.ascx.cs | 2 +- .../WebsitePanel/SqlRestoreDatabase.ascx.cs | 2 +- .../WebsitePanel/SqlUsers.ascx.cs | 2 +- .../WebsitePanel/Statistics.ascx.cs | 2 +- .../StatisticsEditStatistics.ascx.cs | 2 +- .../WebsitePanel/SystemSettings.ascx.cs | 2 +- .../WebsitePanel/TaskManager.asmx.cs | 2 +- .../DesktopModules/WebsitePanel/Tasks.ascx.cs | 2 +- .../WebsitePanel/TasksTaskDetails.ascx.cs | 2 +- .../WebsitePanel/TextHTML.ascx.cs | 2 +- .../UserAccountChangePassword.ascx.cs | 2 +- .../WebsitePanel/UserAccountDetails.ascx.cs | 2 +- .../UserAccountEditDetails.ascx.cs | 2 +- .../UserAccountMailTemplateSettings.ascx.cs | 2 +- .../WebsitePanel/UserAccountMenu.ascx.cs | 2 +- .../WebsitePanel/UserAccountNotes.ascx.cs | 2 +- .../UserAccountPolicySettings.ascx.cs | 2 +- .../WebsitePanel/UserAccountSettings.ascx.cs | 2 +- .../UserAccountSummaryLetter.ascx.cs | 2 +- .../WebsitePanel/UserAccountTools.ascx.cs | 2 +- .../AllocatePackageIPAddresses.ascx.cs | 2 +- .../UserControls/AuditLogControl.ascx.cs | 2 +- .../UserControls/CalendarControl.ascx.cs | 2 +- .../UserControls/CheckBoxOption.ascx.cs | 2 +- .../UserControls/CollapsiblePanel.ascx.cs | 2 +- .../UserControls/Comments.ascx.cs | 2 +- .../UserControls/ContactDetails.ascx.cs | 2 +- .../UserControls/EditDomainsList.ascx.cs | 2 +- .../UserControls/EditIPAddressControl.ascx.cs | 2 +- .../UserControls/EditItemComments.ascx.cs | 2 +- .../UserControls/EmailControl.ascx.cs | 2 +- .../EnableAsyncTasksSupport.ascx.cs | 2 +- .../UserControls/FileLookup.ascx.cs | 2 +- .../UserControls/FileNameControl.ascx.cs | 2 +- .../WebsitePanel/UserControls/Gauge.ascx.cs | 2 +- .../UserControls/MessageBox.ascx.cs | 2 +- .../UserControls/PackageIPAddresses.ascx.cs | 2 +- .../UserControls/ParameterEditor.ascx.cs | 2 +- .../UserControls/PasswordControl.ascx.cs | 2 +- .../UserControls/PasswordPolicyEditor.ascx.cs | 2 +- .../UserControls/PopupHeader.ascx.cs | 2 +- .../WebsitePanel/UserControls/Quota.ascx.cs | 2 +- .../UserControls/QuotaEditor.ascx.cs | 2 +- .../UserControls/QuotaViewer.ascx.cs | 2 +- .../UserControls/ScheduleInterval.ascx.cs | 2 +- .../UserControls/ScheduleTime.ascx.cs | 2 +- .../UserControls/SearchBox.ascx.cs | 2 +- .../UserControls/SelectIPAddress.ascx.cs | 2 +- .../UserControls/ServerDetails.ascx.cs | 2 +- .../UserControls/SimpleMessageBox.ascx.cs | 2 +- .../UserControls/SpaceServiceItems.ascx.cs | 2 +- .../UserControls/TimeZones.ascx.cs | 2 +- .../UserControls/UserDetails.ascx.cs | 2 +- .../UserControls/UserLookup.ascx.cs | 2 +- .../UserControls/UsernameControl.ascx.cs | 2 +- .../UserControls/UsernamePolicyEditor.ascx.cs | 2 +- .../WebsitePanel/UserCreateSpace.ascx.cs | 2 +- .../UserCreateUserAccount.ascx.cs | 2 +- .../WebsitePanel/UserCustomers.ascx.cs | 2 +- .../WebsitePanel/UserCustomersSummary.ascx.cs | 2 +- .../UserDeleteUserAccount.ascx.cs | 2 +- .../WebsitePanel/UserSpaces.ascx.cs | 2 +- .../VPS/RemoteDesktop/Connect.aspx.cs | 2 +- .../VPS/TestVirtualMachineTemplate.aspx.cs | 2 +- .../VPS/UserControls/Breadcrumb.ascx.cs | 2 +- .../VPS/UserControls/FormTitle.ascx.cs | 2 +- .../VPS/UserControls/Menu.ascx.cs | 2 +- .../VPS/UserControls/ServerTabs.ascx.cs | 2 +- .../VPS/VdcAddExternalAddress.ascx.cs | 2 +- .../WebsitePanel/VPS/VdcAuditLog.ascx.cs | 2 +- .../WebsitePanel/VPS/VdcCreateServer.ascx.cs | 2 +- .../VPS/VdcExternalNetwork.ascx.cs | 2 +- .../WebsitePanel/VPS/VdcHome.ascx.cs | 2 +- .../WebsitePanel/VPS/VdcImportServer.ascx.cs | 2 +- .../VPS/VdcManagementNetwork.ascx.cs | 2 +- .../WebsitePanel/VPS/VdcPermissions.ascx.cs | 2 +- .../VPS/VdcPrivateNetwork.ascx.cs | 2 +- .../VPS/VirtualMachineImage.ashx.cs | 2 +- .../VPS/VirtualMachineSnapshotImage.ashx.cs | 2 +- .../VPS/VpsDetailsAddExternalAddress.ascx.cs | 2 +- .../VPS/VpsDetailsAddPrivateAddress.ascx.cs | 2 +- .../VPS/VpsDetailsAuditLog.ascx.cs | 2 +- .../VPS/VpsDetailsConfiguration.ascx.cs | 2 +- .../WebsitePanel/VPS/VpsDetailsDvd.ascx.cs | 2 +- .../VPS/VpsDetailsEditConfiguration.ascx.cs | 2 +- .../VPS/VpsDetailsGeneral.ascx.cs | 2 +- .../WebsitePanel/VPS/VpsDetailsHelp.ascx.cs | 2 +- .../VPS/VpsDetailsInsertDvd.ascx.cs | 2 +- .../VPS/VpsDetailsNetwork.ascx.cs | 2 +- .../VPS/VpsDetailsPermissions.ascx.cs | 2 +- .../VPS/VpsDetailsSnapshots.ascx.cs | 2 +- .../WebsitePanel/VPS/VpsDetailsTools.ascx.cs | 2 +- .../WebsitePanel/VPS/VpsMoveServer.ascx.cs | 2 +- .../VPS/VpsToolsDeleteServer.ascx.cs | 2 +- .../VPS/VpsToolsReinstallServer.ascx.cs | 2 +- .../VPSForPC/RemoteDesktop/Connect.aspx.cs | 2 +- .../TestVirtualMachineTemplate.aspx.cs | 2 +- .../VPSForPC/UserControls/Breadcrumb.ascx.cs | 2 +- .../VPSForPC/UserControls/FormTitle.ascx.cs | 2 +- .../VPSForPC/UserControls/Menu.ascx.cs | 2 +- .../VPSForPC/UserControls/ServerTabs.ascx.cs | 2 +- .../VPSForPC/VdcAccountVLanAdd.ascx.cs | 2 +- .../VPSForPC/VdcAccountVLanNetwork.ascx.cs | 2 +- .../VPSForPC/VdcAddExternalAddress.ascx.cs | 2 +- .../WebsitePanel/VPSForPC/VdcAuditLog.ascx.cs | 2 +- .../VPSForPC/VdcCreateServer.ascx.cs | 2 +- .../VPSForPC/VdcExternalNetwork.ascx.cs | 2 +- .../VPSForPC/VdcFastCreateServer.ascx.cs | 2 +- .../WebsitePanel/VPSForPC/VdcHome.ascx.cs | 2 +- .../VPSForPC/VdcImportServer.ascx.cs | 2 +- .../VPSForPC/VdcManagementNetwork.ascx.cs | 2 +- .../VPSForPC/VdcPermissions.ascx.cs | 2 +- .../VPSForPC/VdcPrivateNetwork.ascx.cs | 2 +- .../VPSForPC/VirtualMachineImage.ashx.cs | 2 +- .../VirtualMachineSnapshotImage.ashx.cs | 2 +- .../VpsDetailsAddExternalAddress.ascx.cs | 2 +- .../VpsDetailsAddPrivateAddress.ascx.cs | 2 +- .../VPSForPC/VpsDetailsAuditLog.ascx.cs | 2 +- .../VPSForPC/VpsDetailsConfiguration.ascx.cs | 2 +- .../VPSForPC/VpsDetailsDvd.ascx.cs | 2 +- .../VpsDetailsEditConfiguration.ascx.cs | 2 +- .../VPSForPC/VpsDetailsGeneral.ascx.cs | 2 +- .../VPSForPC/VpsDetailsHelp.ascx.cs | 2 +- .../VPSForPC/VpsDetailsInsertDvd.ascx.cs | 2 +- .../VPSForPC/VpsDetailsNetwork.ascx.cs | 2 +- .../VPSForPC/VpsDetailsPermissions.ascx.cs | 2 +- .../VPSForPC/VpsDetailsSnapshots.ascx.cs | 2 +- .../VPSForPC/VpsDetailsTools.ascx.cs | 2 +- .../VPSForPC/VpsMoveServer.ascx.cs | 2 +- .../VPSForPC/VpsToolsDeleteServer.ascx.cs | 2 +- .../VPSForPC/VpsToolsReinstallServer.ascx.cs | 2 +- .../WebsitePanel/VirtualServers.ascx.cs | 2 +- .../VirtualServersAddServer.ascx.cs | 2 +- .../VirtualServersAddServices.ascx.cs | 2 +- .../VirtualServersEditServer.ascx.cs | 2 +- .../WebApplicationGallery.ascx.cs | 2 +- .../WebApplicationGalleryHeader.ascx.cs | 2 +- .../WebApplicationGalleryInstall.ascx.cs | 2 +- .../WebApplicationGalleryParams.ascx.cs | 2 +- .../WebsitePanel/WebSites.ascx.cs | 2 +- .../WebsitePanel/WebSitesAddPointer.ascx.cs | 2 +- .../WebsitePanel/WebSitesAddSite.ascx.cs | 2 +- .../WebSitesAddVirtualDir.ascx.cs | 2 +- .../WebSitesAllocateIPAddresses.ascx.cs | 2 +- .../WebSitesColdFusionControl.ascx.cs | 2 +- .../WebSitesCustomErrorsControl.ascx.cs | 2 +- .../WebSitesCustomHeadersControl.ascx.cs | 2 +- .../WebSitesEditHeliconApeFolder.ascx.cs | 2 +- .../WebSitesEditHeliconApeFolderAuth.ascx.cs | 2 +- .../WebSitesEditHeliconApeGroup.ascx.cs | 2 +- .../WebSitesEditHeliconApeUser.ascx.cs | 2 +- .../WebsitePanel/WebSitesEditSite.ascx.cs | 2 +- .../WebSitesEditVirtualDir.ascx.cs | 2 +- .../WebSitesEditWebFolder.ascx.cs | 2 +- .../WebsitePanel/WebSitesEditWebGroup.ascx.cs | 2 +- .../WebsitePanel/WebSitesEditWebUser.ascx.cs | 2 +- .../WebSitesExtensionsControl.ascx.cs | 2 +- .../WebSitesHeliconApeControl.ascx.cs | 2 +- .../WebSitesHomeFolderControl.ascx.cs | 2 +- .../WebsitePanel/WebSitesIPAddresses.ascx.cs | 2 +- .../WebSitesMimeTypesControl.ascx.cs | 2 +- .../WebSitesSecuredFoldersControl.ascx.cs | 2 +- .../WebsitePanel.WebPortal/Global.asax.cs | 2 +- .../WebsitePanel.Whois/WhoisException.cs | 2 +- .../Sources/WebsitePanel.Whois/WhoisLookup.cs | 2 +- .../Sources/WebsitePanel.Whois/WhoisParser.cs | 2 +- .../Sources/WebsitePanel.Whois/WhoisResult.cs | 2 +- .../WebsitePanel.Whois/WhoisSettings.cs | 2 +- 1419 files changed, 3355 insertions(+), 3355 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 7f531b43..8d64b630 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (c) 2011, Outercurve Foundation. +Copyright (c) 2012, Outercurve Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Common.Utils/ProxyConfigurator.cs b/WebsitePanel/Sources/WebsitePanel.Common.Utils/ProxyConfigurator.cs index 5cc85309..5280f8bd 100644 --- a/WebsitePanel/Sources/WebsitePanel.Common.Utils/ProxyConfigurator.cs +++ b/WebsitePanel/Sources/WebsitePanel.Common.Utils/ProxyConfigurator.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Common.Utils/Utils.cs b/WebsitePanel/Sources/WebsitePanel.Common.Utils/Utils.cs index 077c6823..40f578c3 100644 --- a/WebsitePanel/Sources/WebsitePanel.Common.Utils/Utils.cs +++ b/WebsitePanel/Sources/WebsitePanel.Common.Utils/Utils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Common/BusinessErrorCodes.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Common/BusinessErrorCodes.cs index f1984ebe..8cc0a9c6 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Common/BusinessErrorCodes.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Common/BusinessErrorCodes.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Common/GenericStringResult.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Common/GenericStringResult.cs index 714a41fa..3eed3879 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Common/GenericStringResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Common/GenericStringResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/DatabaseServers/DatabaseBrowserConfiguration.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/DatabaseServers/DatabaseBrowserConfiguration.cs index a1cc8773..b667fb5d 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/DatabaseServers/DatabaseBrowserConfiguration.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/DatabaseServers/DatabaseBrowserConfiguration.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/BillingCycle.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/BillingCycle.cs index b549cbe4..bde08224 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/BillingCycle.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/BillingCycle.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Category.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Category.cs index 2def2e57..45adac5d 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Category.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Category.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckDomainResult.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckDomainResult.cs index c6551ec2..7a10a929 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckDomainResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckDomainResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutDetails.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutDetails.cs index a7231930..cf569a09 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutDetails.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutDetails.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutFormParams.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutFormParams.cs index 0205c728..c28a49bf 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutFormParams.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutFormParams.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutKeys.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutKeys.cs index f0a75679..559767d3 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutKeys.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutKeys.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutResult.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutResult.cs index 05946c53..fbc44fee 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/CheckoutResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Common/GenericResult.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Common/GenericResult.cs index 596604f9..a61a1c4a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Common/GenericResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Common/GenericResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ContractSystem/Contract.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ContractSystem/Contract.cs index 21b38e70..e14d2136 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ContractSystem/Contract.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ContractSystem/Contract.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/DomainNameCycle.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/DomainNameCycle.cs index 630d29aa..8de85022 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/DomainNameCycle.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/DomainNameCycle.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/FormParameters.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/FormParameters.cs index 1dd00ad4..44651c24 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/FormParameters.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/FormParameters.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/GenericSvcResult.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/GenericSvcResult.cs index 32363759..3aa82a55 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/GenericSvcResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/GenericSvcResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/HostingAddon.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/HostingAddon.cs index 822a6bc4..cb2b9287 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/HostingAddon.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/HostingAddon.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/HostingPlan.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/HostingPlan.cs index d1172bb1..c52e7b2c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/HostingPlan.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/HostingPlan.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/HostingPlanCycle.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/HostingPlanCycle.cs index 8c65bf05..09e0c553 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/HostingPlanCycle.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/HostingPlanCycle.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/IDomainRegistrar.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/IDomainRegistrar.cs index 0d54efd0..2257958a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/IDomainRegistrar.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/IDomainRegistrar.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/IInteractivePaymentGatewayProvider.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/IInteractivePaymentGatewayProvider.cs index c868b0bf..daec7335 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/IInteractivePaymentGatewayProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/IInteractivePaymentGatewayProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/IPaymentGatewayProvider.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/IPaymentGatewayProvider.cs index 3546345a..5a7c207b 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/IPaymentGatewayProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/IPaymentGatewayProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Invoice.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Invoice.cs index 0c8f8965..d7165821 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Invoice.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Invoice.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/InvoiceItem.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/InvoiceItem.cs index fdee5560..beab6460 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/InvoiceItem.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/InvoiceItem.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/KeyValueBunch.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/KeyValueBunch.cs index ac4a8fe3..4f7ecd41 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/KeyValueBunch.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/KeyValueBunch.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/OrderResult.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/OrderResult.cs index e3ae7b66..3e147126 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/OrderResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/OrderResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Payment.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Payment.cs index c77e40f2..e344d719 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Payment.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Payment.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/PaymentMethod.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/PaymentMethod.cs index adf911cc..ac858ef6 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/PaymentMethod.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/PaymentMethod.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Product.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Product.cs index dbc158a7..eee2d827 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Product.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Product.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ProductType.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ProductType.cs index 693c6a45..1d88c3bc 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ProductType.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ProductType.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ResultCodes.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ResultCodes.cs index 97185431..da4a47bb 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ResultCodes.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ResultCodes.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Service.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Service.cs index 845895b2..35fdc83a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Service.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Service.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ServiceHandlers/HandlerResponse.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ServiceHandlers/HandlerResponse.cs index f48ee426..e8a63f51 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ServiceHandlers/HandlerResponse.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/ServiceHandlers/HandlerResponse.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/StoreSettings.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/StoreSettings.cs index c0c0f36c..ebbafda4 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/StoreSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/StoreSettings.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/SupportedPlugin.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/SupportedPlugin.cs index f4b31780..19e06fae 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/SupportedPlugin.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/SupportedPlugin.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/SystemPlugins/ISystemPlugin.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/SystemPlugins/ISystemPlugin.cs index e979b9f5..e3b903d3 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/SystemPlugins/ISystemPlugin.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/SystemPlugins/ISystemPlugin.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/SystemPlugins/SystemPluginBase.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/SystemPlugins/SystemPluginBase.cs index 605ef64a..dda95fb0 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/SystemPlugins/SystemPluginBase.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/SystemPlugins/SystemPluginBase.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TLDExtension.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TLDExtension.cs index 75dc93ab..7b6589fb 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TLDExtension.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TLDExtension.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TaxZone.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TaxZone.cs index 50b10417..a8371461 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TaxZone.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TaxZone.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Taxation.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Taxation.cs index 50430af0..f9e258d4 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Taxation.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/Taxation.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TopLevelDomain.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TopLevelDomain.cs index 647e6e13..3ca07f41 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TopLevelDomain.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TopLevelDomain.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TransactionResult.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TransactionResult.cs index 1d41ab08..7999a97b 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TransactionResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TransactionResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TriggerSystem/ITriggerHandler.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TriggerSystem/ITriggerHandler.cs index c3841004..003239d2 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TriggerSystem/ITriggerHandler.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Ecommerce/TriggerSystem/ITriggerHandler.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/ExchangeServer/ExchangeEmailAddress.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/ExchangeServer/ExchangeEmailAddress.cs index ee9d4bf3..0eccbbc1 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/ExchangeServer/ExchangeEmailAddress.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/ExchangeServer/ExchangeEmailAddress.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Log/LogRecord.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Log/LogRecord.cs index 8cc41028..207d3603 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Log/LogRecord.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Log/LogRecord.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanContext.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanContext.cs index 5ecf777c..dd0d1c67 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanContext.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanContext.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanGroupInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanGroupInfo.cs index c3842468..76270097 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanGroupInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanGroupInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanInfo.cs index 072f5c76..86bba986 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanQuotaInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanQuotaInfo.cs index 8b18a9c6..64db3ee8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanQuotaInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/HostingPlanQuotaInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageAddonInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageAddonInfo.cs index 5f3ed466..5d571fbe 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageAddonInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageAddonInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageContext.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageContext.cs index 31b053bf..e36edb0e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageContext.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageContext.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageInfo.cs index 18c1b8f0..8f6644af 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageResult.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageResult.cs index 57f7a3d8..601ac4b8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageSettings.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageSettings.cs index 4ea94b6d..254bd1af 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageSettings.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageStatus.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageStatus.cs index 529e9fd7..c67b36ed 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageStatus.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageStatus.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/QuotaInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/QuotaInfo.cs index e83f6b82..a227a89d 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/QuotaInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/QuotaInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/QuotaValueInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/QuotaValueInfo.cs index 2af8ca69..b6d645a4 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/QuotaValueInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/QuotaValueInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs index 9284699d..b1362844 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Reports/OverusageReport.custom.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Reports/OverusageReport.custom.cs index 32a164f4..7cee5a38 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Reports/OverusageReport.custom.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Reports/OverusageReport.custom.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Reports/OverusageReportUtils.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Reports/OverusageReportUtils.cs index afd8282a..41dd74d2 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Reports/OverusageReportUtils.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Reports/OverusageReportUtils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleInfo.cs index 91249fbc..4a8d0a54 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/SchedulePriority.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/SchedulePriority.cs index 18888a04..9b904cd4 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/SchedulePriority.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/SchedulePriority.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleStatus.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleStatus.cs index e99304c4..ef9e5be4 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleStatus.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleStatus.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleTaskInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleTaskInfo.cs index d573d8d1..04045c28 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleTaskInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleTaskInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleTaskParameterInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleTaskParameterInfo.cs index 222078a0..688f2959 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleTaskParameterInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleTaskParameterInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleTaskParameterType.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleTaskParameterType.cs index 959a4b3b..d57f2fcf 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleTaskParameterType.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleTaskParameterType.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleType.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleType.cs index 405eb47f..0aa5a078 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleType.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleType.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleViewConfiguration.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleViewConfiguration.cs index fe209088..42ec6c00 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleViewConfiguration.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ScheduleViewConfiguration.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/SchedulerException.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/SchedulerException.cs index 75470d69..6d487a88 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/SchedulerException.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/SchedulerException.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/SchedulerTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/SchedulerTask.cs index b4706313..d654021e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/SchedulerTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/SchedulerTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ThreadStartParameters.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ThreadStartParameters.cs index b786d53a..39a2c953 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ThreadStartParameters.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Scheduling/ThreadStartParameters.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Security/DemandAccount.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Security/DemandAccount.cs index b6a6fc27..a4807a65 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Security/DemandAccount.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Security/DemandAccount.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Security/DemandPackage.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Security/DemandPackage.cs index 80d4fb7b..2b032f37 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Security/DemandPackage.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Security/DemandPackage.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ClusterInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ClusterInfo.cs index 3714a9c1..d7bb6504 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ClusterInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ClusterInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/DomainInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/DomainInfo.cs index cb891ae9..cd716b2c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/DomainInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/DomainInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/DomainType.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/DomainType.cs index a6b4554b..43406f1a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/DomainType.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/DomainType.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/GlobalDnsRecord.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/GlobalDnsRecord.cs index c4b4ba51..27d7869f 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/GlobalDnsRecord.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/GlobalDnsRecord.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/IPAddressInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/IPAddressInfo.cs index 81e88e79..b16f48d8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/IPAddressInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/IPAddressInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/IPAddressPool.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/IPAddressPool.cs index 7d442d7f..d2a3656a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/IPAddressPool.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/IPAddressPool.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/IPAddressesPaged.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/IPAddressesPaged.cs index b85ec9a3..862e15b7 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/IPAddressesPaged.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/IPAddressesPaged.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ProviderInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ProviderInfo.cs index c31628f0..c21eec09 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ProviderInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ProviderInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroupInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroupInfo.cs index 86a73e1c..abec2ff0 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroupInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroupInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs index ffa8d80c..a4813bba 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ServerInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ServerInfo.cs index f95c922d..5560a08e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ServerInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ServerInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ServiceInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ServiceInfo.cs index ef248abc..9a704b12 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ServiceInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ServiceInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/VirtualGroupInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/VirtualGroupInfo.cs index f8e04eca..03359b56 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/VirtualGroupInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/VirtualGroupInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/System/SystemSettings.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/System/SystemSettings.cs index 04ed5497..bc6849e6 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/System/SystemSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/System/SystemSettings.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Tasks/BackgroundTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Tasks/BackgroundTask.cs index 91eb97ad..8ea92110 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Tasks/BackgroundTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Tasks/BackgroundTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Tasks/BackgroundTaskLogRecord.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Tasks/BackgroundTaskLogRecord.cs index c3801386..d6ef3ab4 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Tasks/BackgroundTaskLogRecord.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Tasks/BackgroundTaskLogRecord.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserInfo.cs index 6ca5d87b..897f4ebc 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserRole.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserRole.cs index 9aa8bc4e..a58e4289 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserRole.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserRole.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserSettings.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserSettings.cs index 8fb6e56b..29f3df22 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserSettings.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserStatus.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserStatus.cs index 8c769793..6384e90b 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserStatus.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserStatus.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UsernamePolicy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UsernamePolicy.cs index 14fcd3a1..9487df2a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UsernamePolicy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UsernamePolicy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/NetworkAdapterDetails.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/NetworkAdapterDetails.cs index 4e71c72b..ce0e201b 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/NetworkAdapterDetails.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/NetworkAdapterDetails.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/NetworkAdapterIPAddress.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/NetworkAdapterIPAddress.cs index 72c7a64f..8147ad89 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/NetworkAdapterIPAddress.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/NetworkAdapterIPAddress.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PackageIPAddress.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PackageIPAddress.cs index 7da284e9..88e0e1f4 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PackageIPAddress.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PackageIPAddress.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PackageIPAddressesPaged.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PackageIPAddressesPaged.cs index dda3babe..ab66da8e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PackageIPAddressesPaged.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PackageIPAddressesPaged.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PrivateIPAddress.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PrivateIPAddress.cs index e01dab29..66b84828 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PrivateIPAddress.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PrivateIPAddress.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PrivateIPAddressesPaged.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PrivateIPAddressesPaged.cs index 6a139068..3dc76776 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PrivateIPAddressesPaged.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/PrivateIPAddressesPaged.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualMachineMetaItem.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualMachineMetaItem.cs index 9982f58e..7f2c2b8c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualMachineMetaItem.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualMachineMetaItem.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualMachineMetaItemsPaged.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualMachineMetaItemsPaged.cs index c171f746..d8957cdf 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualMachineMetaItemsPaged.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualMachineMetaItemsPaged.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualMachinePermission.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualMachinePermission.cs index affeca0e..67fd1505 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualMachinePermission.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualMachinePermission.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualizationErrorCodes.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualizationErrorCodes.cs index 4a4c2546..beeeb237 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualizationErrorCodes.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Virtualization/VirtualizationErrorCodes.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Wizards/ApplicationInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Wizards/ApplicationInfo.cs index 411c29ef..95b9369c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Wizards/ApplicationInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Wizards/ApplicationInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Wizards/InstallationInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Wizards/InstallationInfo.cs index 70731f70..0aba9bab 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Wizards/InstallationInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Wizards/InstallationInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ApplicationsInstallerProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ApplicationsInstallerProxy.cs index 794a5673..15662f96 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ApplicationsInstallerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ApplicationsInstallerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/AuditLogProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/AuditLogProxy.cs index b2052185..c9a7e050 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/AuditLogProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/AuditLogProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/AuthenticationProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/AuthenticationProxy.cs index 8293ec91..628cb2c7 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/AuthenticationProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/AuthenticationProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/BackupProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/BackupProxy.cs index 708832bf..f08daee2 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/BackupProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/BackupProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/BlackBerryProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/BlackBerryProxy.cs index 08b619db..27197897 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/BlackBerryProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/BlackBerryProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/CRMProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/CRMProxy.cs index a1497c69..bdd6379e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/CRMProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/CRMProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/CommentsProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/CommentsProxy.cs index 08a06820..e355e6db 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/CommentsProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/CommentsProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/Common/EnterpriseServerProxyConfigurator.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/Common/EnterpriseServerProxyConfigurator.cs index 0cda7de8..0658013c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/Common/EnterpriseServerProxyConfigurator.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/Common/EnterpriseServerProxyConfigurator.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/Common/UsernameAssertion.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/Common/UsernameAssertion.cs index 08632054..ab5098ae 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/Common/UsernameAssertion.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/Common/UsernameAssertion.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/DatabaseServersProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/DatabaseServersProxy.cs index 787e8e8f..a04feca5 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/DatabaseServersProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/DatabaseServersProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs index d3c251b1..026fa6c0 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/FilesProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/FilesProxy.cs index 882ccefd..9018d66a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/FilesProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/FilesProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/FtpServersProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/FtpServersProxy.cs index e4f2ade9..82ffc802 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/FtpServersProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/FtpServersProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/HostedSharePointServersProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/HostedSharePointServersProxy.cs index 5321f73f..e3e66389 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/HostedSharePointServersProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/HostedSharePointServersProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ImportProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ImportProxy.cs index 4a72c08d..889922e5 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ImportProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ImportProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/MailServersProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/MailServersProxy.cs index b072e66a..e195ec8d 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/MailServersProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/MailServersProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OCSProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OCSProxy.cs index a6a57601..6548acb9 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OCSProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OCSProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OperatingSystemsProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OperatingSystemsProxy.cs index 602a8eed..f64b1da1 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OperatingSystemsProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OperatingSystemsProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs index 73ed0e4d..a178d57c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/PackagesProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/PackagesProxy.cs index fbdc9623..3c204247 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/PackagesProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/PackagesProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/SchedulerProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/SchedulerProxy.cs index 0ff127be..c0c13ee8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/SchedulerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/SchedulerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs index 6e1dcaa0..1874b690 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/SharePointServersProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/SharePointServersProxy.cs index 9a2c05fa..00bbbbac 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/SharePointServersProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/SharePointServersProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/StatisticsServersProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/StatisticsServersProxy.cs index da3fa419..a804868b 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/StatisticsServersProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/StatisticsServersProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/SystemProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/SystemProxy.cs index 45c41e24..e1d018f8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/SystemProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/SystemProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/TasksProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/TasksProxy.cs index 92536d3c..1bdd595d 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/TasksProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/TasksProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/UsersProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/UsersProxy.cs index 2e62ba9c..136b7a15 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/UsersProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/UsersProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/VirtualizationServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/VirtualizationServerProxy.cs index 96cae293..d4f54d2a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/VirtualizationServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/VirtualizationServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/VirtualizationServerProxyForPrivateCloud.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/VirtualizationServerProxyForPrivateCloud.cs index 6a29a73b..9835c050 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/VirtualizationServerProxyForPrivateCloud.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/VirtualizationServerProxyForPrivateCloud.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebApplicationGalleryProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebApplicationGalleryProxy.cs index 2e1a519b..2d212305 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebApplicationGalleryProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebApplicationGalleryProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebServersProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebServersProxy.cs index a9ca83ea..ed922590 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebServersProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebServersProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ecServiceHandlerProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ecServiceHandlerProxy.cs index 37b7808a..e13350f6 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ecServiceHandlerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ecServiceHandlerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ecStorefrontProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ecStorefrontProxy.cs index 509d97e1..406a07ef 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ecStorefrontProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ecStorefrontProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ecStorehouseProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ecStorehouseProxy.cs index 92a22980..2463a3d8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ecStorehouseProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ecStorehouseProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Comments/CommentsController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Comments/CommentsController.cs index 5912f536..9bc4705c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Comments/CommentsController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Comments/CommentsController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ConfigSettings.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ConfigSettings.cs index b5856ee4..f7d791f8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ConfigSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ConfigSettings.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/CryptoUtils.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/CryptoUtils.cs index 347a335e..49fb4ab4 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/CryptoUtils.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/CryptoUtils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/EnterpriseServerIdentity.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/EnterpriseServerIdentity.cs index 7fece6fd..513ccf5e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/EnterpriseServerIdentity.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/EnterpriseServerIdentity.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/EnterpriseServerPrincipal.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/EnterpriseServerPrincipal.cs index 0554f468..59a40c1c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/EnterpriseServerPrincipal.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/EnterpriseServerPrincipal.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/FileUtils.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/FileUtils.cs index 5de8f81f..e9e25d22 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/FileUtils.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/FileUtils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/MailHelper.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/MailHelper.cs index 2c06e4aa..ff6b44d8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/MailHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/MailHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ObjectUtils.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ObjectUtils.cs index 233039c0..1ab1650d 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ObjectUtils.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ObjectUtils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/SecurityContext.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/SecurityContext.cs index 0f652aa4..fd457ab1 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/SecurityContext.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/SecurityContext.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ServiceProviderProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ServiceProviderProxy.cs index b03767c4..d7eda041 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ServiceProviderProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ServiceProviderProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ServiceUsernameTokenManager.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ServiceUsernameTokenManager.cs index 29361bc9..21bfb8ec 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ServiceUsernameTokenManager.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/ServiceUsernameTokenManager.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/UsernameAssertion.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/UsernameAssertion.cs index 97489d5f..f5efadbd 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/UsernameAssertion.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/UsernameAssertion.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/Utils.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/Utils.cs index c63d480a..f2cb1596 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/Utils.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/Utils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs index 59d8aca4..fed09810 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/EcommerceProvider.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/EcommerceProvider.cs index 4674a274..09b90752 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/EcommerceProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/EcommerceProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/SQLHelper.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/SQLHelper.cs index bd6b6f5f..ac2646ac 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/SQLHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/SQLHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/DatabaseServers/DatabaseServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/DatabaseServers/DatabaseServerController.cs index 87277248..57c468b8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/DatabaseServers/DatabaseServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/DatabaseServers/DatabaseServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/DnsServers/DnsServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/DnsServers/DnsServerController.cs index 816a0004..894a321c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/DnsServers/DnsServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/DnsServers/DnsServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/CategoryController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/CategoryController.cs index aab82090..fec75e73 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/CategoryController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/CategoryController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/ContractSystem/ContractController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/ContractSystem/ContractController.cs index 698da883..05920e1a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/ContractSystem/ContractController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/ContractSystem/ContractController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Helpers.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Helpers.cs index ed034e42..525efdab 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Helpers.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Helpers.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/InvoiceController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/InvoiceController.cs index bc7f403a..bd06bd04 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/InvoiceController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/InvoiceController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/MiscController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/MiscController.cs index 0e94d1bc..104dbd54 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/MiscController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/MiscController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/PaymentGatewayController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/PaymentGatewayController.cs index 10fa878c..21f85fce 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/PaymentGatewayController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/PaymentGatewayController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/DomainNameController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/DomainNameController.cs index e4105025..c0b9bf12 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/DomainNameController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/DomainNameController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/HostingAddonController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/HostingAddonController.cs index ee45fac6..bcc67ac4 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/HostingAddonController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/HostingAddonController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/HostingPackageController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/HostingPackageController.cs index abb5973c..196c6f88 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/HostingPackageController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/HostingPackageController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/IServiceProvisioning.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/IServiceProvisioning.cs index 3d5775b5..1e09d960 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/IServiceProvisioning.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/IServiceProvisioning.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/ProvisioningContext.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/ProvisioningContext.cs index db06090a..9a2bdc70 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/ProvisioningContext.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/ProvisioningContext.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/ServiceProvisioningBase.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/ServiceProvisioningBase.cs index 7779d05e..50673c48 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/ServiceProvisioningBase.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/Provisioning/ServiceProvisioningBase.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/ServiceController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/ServiceController.cs index d884927f..d3686164 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/ServiceController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/ServiceController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/ServiceHandlers/ServiceHandlerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/ServiceHandlers/ServiceHandlerController.cs index 455087c9..098bba6c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/ServiceHandlers/ServiceHandlerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/ServiceHandlers/ServiceHandlerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/StorefrontController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/StorefrontController.cs index b1e02b16..71c98a16 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/StorefrontController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/StorefrontController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/StorehouseController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/StorehouseController.cs index 8b4eb507..737fdb5c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/StorehouseController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/StorehouseController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/SystemPluginController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/SystemPluginController.cs index 21f190cd..c9f01256 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/SystemPluginController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/SystemPluginController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TaskEventHandlers/SendEmailNotification.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TaskEventHandlers/SendEmailNotification.cs index 1035c47e..d13af554 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TaskEventHandlers/SendEmailNotification.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TaskEventHandlers/SendEmailNotification.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TaskEventHandlers/SystemTriggersAgent.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TaskEventHandlers/SystemTriggersAgent.cs index 7ff2e3a6..1ce637c4 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TaskEventHandlers/SystemTriggersAgent.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TaskEventHandlers/SystemTriggersAgent.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TriggerSystem/CommonTrigger.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TriggerSystem/CommonTrigger.cs index 64952033..0409e887 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TriggerSystem/CommonTrigger.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TriggerSystem/CommonTrigger.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TriggerSystem/TriggerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TriggerSystem/TriggerController.cs index 5a0397e1..a9bc8328 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TriggerSystem/TriggerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Ecommerce/TriggerSystem/TriggerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeHostedEdition/ExchangeHostedEditionController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeHostedEdition/ExchangeHostedEditionController.cs index 36dda983..0fb1f80f 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeHostedEdition/ExchangeHostedEditionController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeHostedEdition/ExchangeHostedEditionController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs index f3641624..2b345b54 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Files/FilesController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Files/FilesController.cs index d973ef5e..7784cad8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Files/FilesController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Files/FilesController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/FtpServers/FtpServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/FtpServers/FtpServerController.cs index b033665e..4c174bf0 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/FtpServers/FtpServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/FtpServers/FtpServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/BlackBerryController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/BlackBerryController.cs index 22735495..342b5c48 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/BlackBerryController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/BlackBerryController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/CRMController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/CRMController.cs index a012f49e..24faf4be 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/CRMController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/CRMController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OCSController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OCSController.cs index 92595ccc..56b08755 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OCSController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OCSController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs index b8428563..d081ec48 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/ReportController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/ReportController.cs index 6f65f2f3..3692a9c6 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/ReportController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/ReportController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Log/AuditLog.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Log/AuditLog.cs index 95abb0d5..ec012ecf 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Log/AuditLog.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Log/AuditLog.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/MailServers/MailServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/MailServers/MailServerController.cs index fe7c9ec0..c4914931 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/MailServers/MailServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/MailServers/MailServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/MailServers/QuotaLimit.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/MailServers/QuotaLimit.cs index e3fd313c..2348cca7 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/MailServers/QuotaLimit.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/MailServers/QuotaLimit.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs index 2aa65c13..6f8320e3 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageAsyncWorker.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageAsyncWorker.cs index a1137b04..b1946073 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageAsyncWorker.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageAsyncWorker.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs index 0cbd25ca..f701f5cc 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/ServiceItemsPaged.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/ServiceItemsPaged.cs index 6ac91078..a2defdfc 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/ServiceItemsPaged.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/ServiceItemsPaged.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/BackupAsyncWorker.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/BackupAsyncWorker.cs index b22759b4..b9b6dd6f 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/BackupAsyncWorker.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/BackupAsyncWorker.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/BackupController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/BackupController.cs index 01878b17..8d5d0c8c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/BackupController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/BackupController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/IBackupController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/IBackupController.cs index bc6b5a7c..186090f7 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/IBackupController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/IBackupController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/IImportController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/IImportController.cs index 59a5f683..4c290c3e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/IImportController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/IImportController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/ImportAsyncWorker.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/ImportAsyncWorker.cs index 18f33df7..9840cc7b 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/ImportAsyncWorker.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/ImportAsyncWorker.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/ImportController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/ImportController.cs index 3cf0dffd..13d53b8a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/ImportController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Provisioning/ImportController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/ActivatePaidInvoicesTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/ActivatePaidInvoicesTask.cs index f9060c8d..2563a082 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/ActivatePaidInvoicesTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/ActivatePaidInvoicesTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/BackupDatabaseTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/BackupDatabaseTask.cs index 2d969107..fd545c4e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/BackupDatabaseTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/BackupDatabaseTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/BackupTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/BackupTask.cs index f1113ada..8d04180d 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/BackupTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/BackupTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CalculateExchangeDiskspaceTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CalculateExchangeDiskspaceTask.cs index 71507b38..1a8909a9 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CalculateExchangeDiskspaceTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CalculateExchangeDiskspaceTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CalculatePackagesBandwidthTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CalculatePackagesBandwidthTask.cs index a713459f..ccb91d16 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CalculatePackagesBandwidthTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CalculatePackagesBandwidthTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CalculatePackagesDiskspaceTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CalculatePackagesDiskspaceTask.cs index 6290abb6..7a744cf9 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CalculatePackagesDiskspaceTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CalculatePackagesDiskspaceTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CancelOverdueInvoicesTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CancelOverdueInvoicesTask.cs index b4dfbc38..fa917f83 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CancelOverdueInvoicesTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CancelOverdueInvoicesTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CheckWebSiteTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CheckWebSiteTask.cs index c8961590..fcd83826 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CheckWebSiteTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CheckWebSiteTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/FTPFilesTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/FTPFilesTask.cs index 4e287710..b069aa07 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/FTPFilesTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/FTPFilesTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/GenerateInvoicesTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/GenerateInvoicesTask.cs index 88f4e890..f0ba1a82 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/GenerateInvoicesTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/GenerateInvoicesTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/HostedSolutionReport.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/HostedSolutionReport.cs index c17345e2..10322c79 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/HostedSolutionReport.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/HostedSolutionReport.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/NotifyOverusedDatabasesTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/NotifyOverusedDatabasesTask.cs index 569d7fe1..5aae6dff 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/NotifyOverusedDatabasesTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/NotifyOverusedDatabasesTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/RunPaymentQueueTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/RunPaymentQueueTask.cs index b547d60d..ab969bc9 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/RunPaymentQueueTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/RunPaymentQueueTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/RunSystemCommandTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/RunSystemCommandTask.cs index 29e4f7ff..3dba9938 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/RunSystemCommandTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/RunSystemCommandTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/SendMailNotificationTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/SendMailNotificationTask.cs index 47db2f73..57e722ea 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/SendMailNotificationTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/SendMailNotificationTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/SuspendOverdueInvoicesTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/SuspendOverdueInvoicesTask.cs index 9e22a3c1..d97d238a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/SuspendOverdueInvoicesTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/SuspendOverdueInvoicesTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/SuspendOverusedPackagesTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/SuspendOverusedPackagesTask.cs index 9b4fe20e..5fa58ce9 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/SuspendOverusedPackagesTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/SuspendOverusedPackagesTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/ZipFilesTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/ZipFilesTask.cs index 5090f12f..5f93c1ac 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/ZipFilesTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/ZipFilesTask.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Scheduling/Scheduler.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Scheduling/Scheduler.cs index dd7e6fbd..9da7a64b 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Scheduling/Scheduler.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Scheduling/Scheduler.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Scheduling/SchedulerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Scheduling/SchedulerController.cs index 4c16359f..748f97cd 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Scheduling/SchedulerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Scheduling/SchedulerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Scheduling/SchedulerJob.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Scheduling/SchedulerJob.cs index f44adbb2..301fa943 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Scheduling/SchedulerJob.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Scheduling/SchedulerJob.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Servers/ServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Servers/ServerController.cs index 385cb747..260be7de 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Servers/ServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Servers/ServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs index 7cbc727d..ea1011a2 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/SharePointServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/SharePointServerController.cs index fa340fc2..5e3692dd 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/SharePointServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/SharePointServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/StatisticsServers/StatisticsServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/StatisticsServers/StatisticsServerController.cs index 39765105..1f060c99 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/StatisticsServers/StatisticsServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/StatisticsServers/StatisticsServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/System/SystemController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/System/SystemController.cs index 9f0a425b..322e30d6 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/System/SystemController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/System/SystemController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Tasks/SendEmailNotification.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Tasks/SendEmailNotification.cs index daca3f97..67d246b2 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Tasks/SendEmailNotification.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Tasks/SendEmailNotification.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Tasks/TaskEventHandler.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Tasks/TaskEventHandler.cs index 43dc9f82..87c6943d 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Tasks/TaskEventHandler.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Tasks/TaskEventHandler.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Tasks/TaskManager.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Tasks/TaskManager.cs index a72245fd..e482544d 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Tasks/TaskManager.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Tasks/TaskManager.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Users/UserAsyncWorker.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Users/UserAsyncWorker.cs index dbaa3274..d5a66597 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Users/UserAsyncWorker.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Users/UserAsyncWorker.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Users/UserController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Users/UserController.cs index 9b3e86b8..ecbb824a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Users/UserController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Users/UserController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Virtualization/CreateServerAsyncWorker.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Virtualization/CreateServerAsyncWorker.cs index f0d8d6da..41109b1d 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Virtualization/CreateServerAsyncWorker.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Virtualization/CreateServerAsyncWorker.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Virtualization/VirtualizationServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Virtualization/VirtualizationServerController.cs index 4268e160..cf48a5e5 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Virtualization/VirtualizationServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Virtualization/VirtualizationServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/VirtualizationForPrivateCloud/CreateServerAsyncWorkerForPrivateCloud.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/VirtualizationForPrivateCloud/CreateServerAsyncWorkerForPrivateCloud.cs index 6c2f3d28..ddd2778b 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/VirtualizationForPrivateCloud/CreateServerAsyncWorkerForPrivateCloud.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/VirtualizationForPrivateCloud/CreateServerAsyncWorkerForPrivateCloud.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/VirtualizationForPrivateCloud/VirtualizationServerControllerForPrivateCloud.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/VirtualizationForPrivateCloud/VirtualizationServerControllerForPrivateCloud.cs index 913e3eef..8c0d084e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/VirtualizationForPrivateCloud/VirtualizationServerControllerForPrivateCloud.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/VirtualizationForPrivateCloud/VirtualizationServerControllerForPrivateCloud.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebAppGallery/WebAppGalleryController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebAppGallery/WebAppGalleryController.cs index 09464f13..c90c79d1 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebAppGallery/WebAppGalleryController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebAppGallery/WebAppGalleryController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs index 1d7504cd..fced17ff 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Wizards/UserCreationWizard.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Wizards/UserCreationWizard.cs index 281df7eb..cae8e037 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Wizards/UserCreationWizard.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Wizards/UserCreationWizard.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Wizards/WebApplicationsInstaller.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Wizards/WebApplicationsInstaller.cs index e1d529bb..8ae1f11b 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Wizards/WebApplicationsInstaller.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Wizards/WebApplicationsInstaller.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Default.aspx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Default.aspx.cs index 3066b471..6b51871f 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Default.aspx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Default.aspx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Global.asax.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Global.asax.cs index 620849c1..a1dc2caa 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Global.asax.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Global.asax.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/ecServiceHandler.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/ecServiceHandler.asmx.cs index 0bcd0cb0..febe6363 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/ecServiceHandler.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/ecServiceHandler.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/ecStorefront.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/ecStorefront.asmx.cs index fa23e268..31ea9192 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/ecStorefront.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/ecStorefront.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/ecStorehouse.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/ecStorehouse.asmx.cs index df5bf38f..f480ccd3 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/ecStorehouse.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/ecStorehouse.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esApplicationsInstaller.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esApplicationsInstaller.asmx.cs index 7196185e..c352facb 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esApplicationsInstaller.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esApplicationsInstaller.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esAuditLog.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esAuditLog.asmx.cs index 7363d48a..cef43a9b 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esAuditLog.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esAuditLog.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esAuthentication.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esAuthentication.asmx.cs index 6ef3c50d..6f6cfeac 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esAuthentication.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esAuthentication.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esBackup.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esBackup.asmx.cs index f217d350..373f0aeb 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esBackup.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esBackup.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esBlackBerry.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esBlackBerry.asmx.cs index ea7e638e..7c2ec0f2 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esBlackBerry.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esBlackBerry.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esCRM.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esCRM.asmx.cs index 19d052d9..ecce8519 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esCRM.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esCRM.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esComments.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esComments.asmx.cs index bb547500..a490a039 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esComments.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esComments.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esDatabaseServers.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esDatabaseServers.asmx.cs index 16333b8b..261497a1 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esDatabaseServers.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esDatabaseServers.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeServer.asmx.cs index 87c498bb..5f577cf5 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esFiles.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esFiles.asmx.cs index 4f034d73..15a64d0d 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esFiles.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esFiles.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esFtpServers.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esFtpServers.asmx.cs index 9c6ee3b2..b32e8b77 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esFtpServers.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esFtpServers.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esHostedSharePointServers.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esHostedSharePointServers.asmx.cs index 6b05ad14..a9197072 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esHostedSharePointServers.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esHostedSharePointServers.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esImport.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esImport.asmx.cs index 8224b560..401515e4 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esImport.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esImport.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esMailServers.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esMailServers.asmx.cs index bcd19b82..a44ab405 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esMailServers.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esMailServers.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOCS.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOCS.asmx.cs index cd54ddb9..ad1cb1c5 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOCS.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOCS.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOperatingSystems.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOperatingSystems.asmx.cs index fe5a0cb6..e8b01891 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOperatingSystems.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOperatingSystems.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOrganizations.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOrganizations.asmx.cs index edc37abf..3f9dccbd 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOrganizations.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOrganizations.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esPackages.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esPackages.asmx.cs index 2242fbf9..52db718e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esPackages.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esPackages.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esScheduler.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esScheduler.asmx.cs index 97f85503..94dc6555 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esScheduler.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esScheduler.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs index 3a59c4fd..e389b148 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esSharePointServers.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esSharePointServers.asmx.cs index de64760a..ae58608b 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esSharePointServers.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esSharePointServers.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esStatisticsServers.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esStatisticsServers.asmx.cs index 84b1c5fc..02a9fc00 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esStatisticsServers.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esStatisticsServers.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esSystem.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esSystem.asmx.cs index 2aae243d..b67ed081 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esSystem.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esSystem.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esTasks.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esTasks.asmx.cs index 9f5713e2..e139e1cf 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esTasks.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esTasks.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esUsers.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esUsers.asmx.cs index 992b66a1..61099749 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esUsers.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esUsers.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esVirtualizationServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esVirtualizationServer.asmx.cs index d1368078..f7270356 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esVirtualizationServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esVirtualizationServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esVirtualizationServerForPrivateCloud.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esVirtualizationServerForPrivateCloud.asmx.cs index 563ff3bd..5f0ee84c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esVirtualizationServerForPrivateCloud.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esVirtualizationServerForPrivateCloud.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebApplicationGallery.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebApplicationGallery.asmx.cs index 97c09a84..4bee3f7a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebApplicationGallery.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebApplicationGallery.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebServers.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebServers.asmx.cs index 70ddeb35..1a3ab82b 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebServers.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebServers.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Gateways.2Checkout/TCOProvider.cs b/WebsitePanel/Sources/WebsitePanel.Gateways.2Checkout/TCOProvider.cs index b6f2552e..04d8ef3d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Gateways.2Checkout/TCOProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.Gateways.2Checkout/TCOProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Gateways.AuthorizeNet/AIMResponse.cs b/WebsitePanel/Sources/WebsitePanel.Gateways.AuthorizeNet/AIMResponse.cs index a25d491d..aa4812dd 100644 --- a/WebsitePanel/Sources/WebsitePanel.Gateways.AuthorizeNet/AIMResponse.cs +++ b/WebsitePanel/Sources/WebsitePanel.Gateways.AuthorizeNet/AIMResponse.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Gateways.AuthorizeNet/AuthorizeNetKeys.cs b/WebsitePanel/Sources/WebsitePanel.Gateways.AuthorizeNet/AuthorizeNetKeys.cs index 651a61ac..817b8f39 100644 --- a/WebsitePanel/Sources/WebsitePanel.Gateways.AuthorizeNet/AuthorizeNetKeys.cs +++ b/WebsitePanel/Sources/WebsitePanel.Gateways.AuthorizeNet/AuthorizeNetKeys.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Gateways.AuthorizeNet/AuthorizeNetProvider.cs b/WebsitePanel/Sources/WebsitePanel.Gateways.AuthorizeNet/AuthorizeNetProvider.cs index 24bbbc6c..73cdfc91 100644 --- a/WebsitePanel/Sources/WebsitePanel.Gateways.AuthorizeNet/AuthorizeNetProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.Gateways.AuthorizeNet/AuthorizeNetProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Gateways.OfflinePayment/OfflinePayment.cs b/WebsitePanel/Sources/WebsitePanel.Gateways.OfflinePayment/OfflinePayment.cs index 1f19e89c..500766bf 100644 --- a/WebsitePanel/Sources/WebsitePanel.Gateways.OfflinePayment/OfflinePayment.cs +++ b/WebsitePanel/Sources/WebsitePanel.Gateways.OfflinePayment/OfflinePayment.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Gateways.PayPal/PayPalKeys.cs b/WebsitePanel/Sources/WebsitePanel.Gateways.PayPal/PayPalKeys.cs index 01ce942c..e9fd4753 100644 --- a/WebsitePanel/Sources/WebsitePanel.Gateways.PayPal/PayPalKeys.cs +++ b/WebsitePanel/Sources/WebsitePanel.Gateways.PayPal/PayPalKeys.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Gateways.PayPal/PayPalProProvider.cs b/WebsitePanel/Sources/WebsitePanel.Gateways.PayPal/PayPalProProvider.cs index 0830e790..58de354b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Gateways.PayPal/PayPalProProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.Gateways.PayPal/PayPalProProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Gateways.PayPal/Reference.cs b/WebsitePanel/Sources/WebsitePanel.Gateways.PayPal/Reference.cs index 8c5b77e7..f75c0971 100644 --- a/WebsitePanel/Sources/WebsitePanel.Gateways.PayPal/Reference.cs +++ b/WebsitePanel/Sources/WebsitePanel.Gateways.PayPal/Reference.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Gateways.PayPalStandard/PayPalStandardProvider.cs b/WebsitePanel/Sources/WebsitePanel.Gateways.PayPalStandard/PayPalStandardProvider.cs index 5f7d0cce..85308e0f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Gateways.PayPalStandard/PayPalStandardProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.Gateways.PayPalStandard/PayPalStandardProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Products.DomainName/DomainName.cs b/WebsitePanel/Sources/WebsitePanel.Products.DomainName/DomainName.cs index e7638660..0c93625f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Products.DomainName/DomainName.cs +++ b/WebsitePanel/Sources/WebsitePanel.Products.DomainName/DomainName.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Products.HostingAddon/HostingAddon.cs b/WebsitePanel/Sources/WebsitePanel.Products.HostingAddon/HostingAddon.cs index 8cc9f8e9..526d7fb5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Products.HostingAddon/HostingAddon.cs +++ b/WebsitePanel/Sources/WebsitePanel.Products.HostingAddon/HostingAddon.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Products.HostingPlan/HostingPlan.cs b/WebsitePanel/Sources/WebsitePanel.Products.HostingPlan/HostingPlan.cs index 02dc4f56..1f53e0f5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Products.HostingPlan/HostingPlan.cs +++ b/WebsitePanel/Sources/WebsitePanel.Products.HostingPlan/HostingPlan.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/Constants.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/Constants.cs index 49f0826f..c2e18285 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/Constants.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/Constants.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/DailyStatistics.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/DailyStatistics.cs index 7cdcc3af..e93ebc2f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/DailyStatistics.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/DailyStatistics.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ErrorCodes.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ErrorCodes.cs index ebf0468b..75b4a34c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ErrorCodes.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ErrorCodes.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/HostingServiceProviderBase.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/HostingServiceProviderBase.cs index dd8e1ac0..2b72fd3d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/HostingServiceProviderBase.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/HostingServiceProviderBase.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/HostingServiceProviderWebService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/HostingServiceProviderWebService.cs index 1f648e23..37cbb9d4 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/HostingServiceProviderWebService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/HostingServiceProviderWebService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/IHostingServiceProvider.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/IHostingServiceProvider.cs index a1e2d04b..f05dcc0a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/IHostingServiceProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/IHostingServiceProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/NtfsPermission.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/NtfsPermission.cs index e2c56ae4..7c43a7b5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/NtfsPermission.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/NtfsPermission.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/PersistentAttribute.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/PersistentAttribute.cs index 1ab5de99..75b25048 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/PersistentAttribute.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/PersistentAttribute.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/RemoteServerSettings.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/RemoteServerSettings.cs index 90b98fb6..f39cedf6 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/RemoteServerSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/RemoteServerSettings.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServerBinding.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServerBinding.cs index 4f024527..5ff6f05e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServerBinding.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServerBinding.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServerState.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServerState.cs index ca04b871..6af5d979 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServerState.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServerState.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItem.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItem.cs index fe7a6108..9f7bd6e5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItem.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItem.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItemBandwidth.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItemBandwidth.cs index a653cc1d..63a029e3 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItemBandwidth.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItemBandwidth.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItemDiskSpace.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItemDiskSpace.cs index 8306162e..64f7d892 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItemDiskSpace.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItemDiskSpace.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItemType.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItemType.cs index 352e4ea1..8bdec479 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItemType.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderItemType.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderSettings.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderSettings.cs index 07303ffe..320874a0 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderSettings.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderSettingsSoapHeader.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderSettingsSoapHeader.cs index beae47e3..73438b9b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderSettingsSoapHeader.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/ServiceProviderSettingsSoapHeader.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/SettingPair.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/SettingPair.cs index cb9aa303..51aa9e72 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/SettingPair.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/SettingPair.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/SoapServiceProviderItem.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/SoapServiceProviderItem.cs index 7b175fce..ea18c453 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/SoapServiceProviderItem.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/SoapServiceProviderItem.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/WindowsServerEntities.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/WindowsServerEntities.cs index fde29e1f..eb293de1 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/WindowsServerEntities.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Common/WindowsServerEntities.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecord.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecord.cs index a99890b5..d5a75e28 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecord.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecord.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecordType.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecordType.cs index ac0f25c4..acc08741 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecordType.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecordType.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsSOARecord.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsSOARecord.cs index 11a57b49..8bc26f78 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsSOARecord.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsSOARecord.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsZone.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsZone.cs index d1b4d7a2..de4dda1a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsZone.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsZone.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/IDnsServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/IDnsServer.cs index 06698be7..d7ba3a20 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/IDnsServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/IDnsServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/SecondaryDnsZone.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/SecondaryDnsZone.cs index 5808a9cc..77658116 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/SecondaryDnsZone.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/SecondaryDnsZone.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Database/IDatabaseServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Database/IDatabaseServer.cs index 1cc3f8d2..ae952582 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Database/IDatabaseServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Database/IDatabaseServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Database/SqlDatabase.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Database/SqlDatabase.cs index 0dfc8909..1d7ce043 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Database/SqlDatabase.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Database/SqlDatabase.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Database/SqlUser.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Database/SqlUser.cs index f5af1ca1..2f4cd2d1 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Database/SqlUser.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Database/SqlUser.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/FTP/FtpAccount.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/FTP/FtpAccount.cs index a167474e..474af4fd 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/FTP/FtpAccount.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/FTP/FtpAccount.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/FTP/FtpSite.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/FTP/FtpSite.cs index d2a18626..136b72e2 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/FTP/FtpSite.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/FTP/FtpSite.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/FTP/IFtpServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/FTP/IFtpServer.cs index 817b4e58..661442f7 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/FTP/IFtpServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/FTP/IFtpServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ADAttributes.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ADAttributes.cs index ed8b94e9..9ef289cb 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ADAttributes.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ADAttributes.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ActiveDirectoryUtils.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ActiveDirectoryUtils.cs index 69d2d91f..fb1092c6 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ActiveDirectoryUtils.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ActiveDirectoryUtils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BaseReport.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BaseReport.cs index 40e67d50..32af14a1 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BaseReport.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BaseReport.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BaseStatistics.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BaseStatistics.cs index f9b8294b..d91dcb6f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BaseStatistics.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BaseStatistics.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BlackBerryErrorsCodes.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BlackBerryErrorsCodes.cs index 77006fc4..b1cc4e27 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BlackBerryErrorsCodes.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BlackBerryErrorsCodes.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BlackBerryStatsItem.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BlackBerryStatsItem.cs index cbee315c..34a89269 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BlackBerryStatsItem.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BlackBerryStatsItem.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BlackBerryUserDeleteState.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BlackBerryUserDeleteState.cs index 4d6f1087..c859e0ae 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BlackBerryUserDeleteState.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/BlackBerryUserDeleteState.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMBaseUnit.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMBaseUnit.cs index cc318069..a1aaa554 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMBaseUnit.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMBaseUnit.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMOrganizationStatistics.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMOrganizationStatistics.cs index 8d5543e5..cabe1bed 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMOrganizationStatistics.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMOrganizationStatistics.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMStatisticsReport.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMStatisticsReport.cs index c981dfe2..ca3112fb 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMStatisticsReport.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMStatisticsReport.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMUserAccessMode.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMUserAccessMode.cs index 418c9aff..70e89217 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMUserAccessMode.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CRMUserAccessMode.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmErrorCodes.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmErrorCodes.cs index aecf20e7..1a03bd13 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmErrorCodes.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmErrorCodes.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmOrganizationRole.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmOrganizationRole.cs index a5624561..6c08804a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmOrganizationRole.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmOrganizationRole.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmOrganizationState.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmOrganizationState.cs index 7714cb1f..57e3f913 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmOrganizationState.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmOrganizationState.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmUser.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmUser.cs index 4fa0924f..55c68ce2 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmUser.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/CrmUser.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Currency.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Currency.cs index feab3d17..8a62b052 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Currency.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Currency.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/EnterpriseSolutionStatisticsReport.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/EnterpriseSolutionStatisticsReport.cs index db1cea6d..707c0531 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/EnterpriseSolutionStatisticsReport.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/EnterpriseSolutionStatisticsReport.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Errors.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Errors.cs index db80d157..8a4868e8 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Errors.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Errors.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccount.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccount.cs index 3ee2bcb7..293fdb43 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccount.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccount.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccountType.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccountType.cs index 5c692ca7..a72ef690 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccountType.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccountType.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccountsPaged.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccountsPaged.cs index 8a512af0..e048163f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccountsPaged.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccountsPaged.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeActiveSyncPolicy.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeActiveSyncPolicy.cs index 4bcc07b6..b0939026 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeActiveSyncPolicy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeActiveSyncPolicy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeContact.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeContact.cs index 9cae778f..fe8984cc 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeContact.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeContact.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDistributionList.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDistributionList.cs index 73a34dc3..17840d1f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDistributionList.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDistributionList.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDomain.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDomain.cs index dd1cf73f..42c88b76 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDomain.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDomain.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDomainName.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDomainName.cs index 2aec1d0b..1bb11078 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDomainName.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDomainName.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeEmailAddress.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeEmailAddress.cs index 52c1b9ef..0db794cd 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeEmailAddress.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeEmailAddress.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeItemStatistics.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeItemStatistics.cs index 2cee3ded..9db8226e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeItemStatistics.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeItemStatistics.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMailbox.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMailbox.cs index 268e3107..1b3fe8bf 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMailbox.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMailbox.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMailboxStatistics.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMailboxStatistics.cs index babf59eb..7583893e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMailboxStatistics.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMailboxStatistics.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMobileDevice.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMobileDevice.cs index 34ea6048..ceb52918 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMobileDevice.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMobileDevice.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeOrganizationStatistics.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeOrganizationStatistics.cs index 3a4b4057..9e36834f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeOrganizationStatistics.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeOrganizationStatistics.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeOrganizationsPaged.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeOrganizationsPaged.cs index 42b43413..ff4f12f9 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeOrganizationsPaged.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeOrganizationsPaged.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangePublicFolder.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangePublicFolder.cs index d1c5a196..7b76838c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangePublicFolder.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangePublicFolder.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeStatisticsReport.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeStatisticsReport.cs index d7ba4797..7366c029 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeStatisticsReport.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeStatisticsReport.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IBlackBerry.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IBlackBerry.cs index 97029d73..21c86aa1 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IBlackBerry.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IBlackBerry.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ICRM.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ICRM.cs index d079888f..4a02c4ca 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ICRM.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ICRM.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IExchangeServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IExchangeServer.cs index 04ec8aa9..87c30d5c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IExchangeServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IExchangeServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOCSEdgeServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOCSEdgeServer.cs index 37db4597..b957d29f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOCSEdgeServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOCSEdgeServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOCSServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOCSServer.cs index 179ff4f6..fc3122b2 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOCSServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOCSServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOrganization.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOrganization.cs index 32c92c63..11cef205 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOrganization.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOrganization.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/MailboxManagerActions.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/MailboxManagerActions.cs index e533e217..a47f5691 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/MailboxManagerActions.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/MailboxManagerActions.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/MobileDeviceStatus.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/MobileDeviceStatus.cs index 6993b96b..abda5867 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/MobileDeviceStatus.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/MobileDeviceStatus.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSConstants.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSConstants.cs index f3a6ec87..2518f46a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSConstants.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSConstants.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSErrorCodes.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSErrorCodes.cs index 4b84b534..f3467d14 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSErrorCodes.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSErrorCodes.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSUser.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSUser.cs index 69d9c811..13d89fb8 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSUser.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSUser.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSUsersPaged.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSUsersPaged.cs index 8791a0fa..07777b51 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSUsersPaged.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OCSUsersPaged.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Organization.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Organization.cs index c320352b..677a52a7 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Organization.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Organization.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationDomain.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationDomain.cs index 2db75f8f..19987e69 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationDomain.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationDomain.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationDomainName.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationDomainName.cs index 57943731..68587c08 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationDomainName.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationDomainName.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationPaged.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationPaged.cs index b2f5a0b7..96477c02 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationPaged.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationPaged.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatistics.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatistics.cs index afe90a95..bc322dd4 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatistics.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatistics.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatisticsReport.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatisticsReport.cs index ee0095ff..3d94d8be 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatisticsReport.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatisticsReport.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatisticsRepotItem.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatisticsRepotItem.cs index dd15193b..d7009b80 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatisticsRepotItem.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatisticsRepotItem.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs index 68fd6aff..228bf436 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUsersPaged.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUsersPaged.cs index 4fcc1d9a..5a7d2c28 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUsersPaged.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUsersPaged.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/PasswordPolicy.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/PasswordPolicy.cs index 05616341..db8398ce 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/PasswordPolicy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/PasswordPolicy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/SharePointStatistics.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/SharePointStatistics.cs index a7d236d4..e97acc5e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/SharePointStatistics.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/SharePointStatistics.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/SharePointStatisticsReport.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/SharePointStatisticsReport.cs index a1c7879e..ff12c4fb 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/SharePointStatisticsReport.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/SharePointStatisticsReport.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/IMailServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/IMailServer.cs index 33f01c23..f70fb449 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/IMailServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/IMailServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailAccount.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailAccount.cs index bdf5f440..3e1166fb 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailAccount.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailAccount.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailAlias.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailAlias.cs index a4b55e06..4c78766e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailAlias.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailAlias.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailDomain.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailDomain.cs index 0c084241..da35240d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailDomain.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailDomain.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailEnums.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailEnums.cs index 715a855c..8013f0d5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailEnums.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailEnums.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailGroup.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailGroup.cs index 7e3e8843..b483c1d9 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailGroup.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailGroup.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailList.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailList.cs index 335f4899..f2437dda 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailList.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Mail/MailList.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/FileHash.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/FileHash.cs index c6c6195b..c97d8104 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/FileHash.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/FileHash.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/FileSyncAction.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/FileSyncAction.cs index d052dc3a..30323f78 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/FileSyncAction.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/FileSyncAction.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/FolderGraph.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/FolderGraph.cs index 2c364038..440c2a59 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/FolderGraph.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/FolderGraph.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/HomeFolder.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/HomeFolder.cs index 7e095d37..cfdc1c07 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/HomeFolder.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/HomeFolder.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/IOperatingSystem.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/IOperatingSystem.cs index d452e81a..fc9f3076 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/IOperatingSystem.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/IOperatingSystem.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SyncActionType.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SyncActionType.cs index d78ec87c..758a3ae1 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SyncActionType.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SyncActionType.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemDSN.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemDSN.cs index ef26e849..931e89f0 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemDSN.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemDSN.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemFile.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemFile.cs index a12b7322..9204535a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemFile.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemFile.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemGroup.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemGroup.cs index 9992b4dc..1fcf236b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemGroup.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemGroup.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemUser.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemUser.cs index 9356e186..f9564913 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemUser.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemUser.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/UserPermission.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/UserPermission.cs index bd53650c..cb140e51 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/UserPermission.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/UserPermission.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/BlackBerryUserStatsResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/BlackBerryUserStatsResult.cs index 9b0c18b0..e44e4819 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/BlackBerryUserStatsResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/BlackBerryUserStatsResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/BoolResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/BoolResult.cs index 7a1a513f..42e37005 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/BoolResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/BoolResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/BytesResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/BytesResult.cs index a06bc03b..74631478 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/BytesResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/BytesResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CRMBaseUnitResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CRMBaseUnitResult.cs index 174ac11b..e4eef6a1 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CRMBaseUnitResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CRMBaseUnitResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CRMBusinessUnitsResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CRMBusinessUnitsResult.cs index 93aaedfc..4875b57e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CRMBusinessUnitsResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CRMBusinessUnitsResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CrmOrganizationRolesResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CrmOrganizationRolesResult.cs index 61ebba70..57ca93aa 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CrmOrganizationRolesResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CrmOrganizationRolesResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CrmUserResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CrmUserResult.cs index 1e97cd49..fe2a8795 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CrmUserResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CrmUserResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CurrencyCollectionResultObject.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CurrencyCollectionResultObject.cs index 427b34f0..24f90d80 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CurrencyCollectionResultObject.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/CurrencyCollectionResultObject.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/ExchangeDistributionListResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/ExchangeDistributionListResult.cs index 97774e1a..3273cc40 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/ExchangeDistributionListResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/ExchangeDistributionListResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/IntResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/IntResult.cs index a8d3c0d1..1bdf3f7d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/IntResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/IntResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/JobsValue.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/JobsValue.cs index 4b956a15..2bd7e5a7 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/JobsValue.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/JobsValue.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OCSUserResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OCSUserResult.cs index e2510f57..9fc75f94 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OCSUserResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OCSUserResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OCSUsersPagedResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OCSUsersPagedResult.cs index a47dfb4d..9cf4c4a6 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OCSUsersPagedResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OCSUsersPagedResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OrganizationResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OrganizationResult.cs index 36817704..917f1eff 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OrganizationResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OrganizationResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OrganizationUsersPagedResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OrganizationUsersPagedResult.cs index 4096e4b0..8ce9446c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OrganizationUsersPagedResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/OrganizationUsersPagedResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/PasswordPolicyResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/PasswordPolicyResult.cs index 6c4e798f..4f893320 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/PasswordPolicyResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/PasswordPolicyResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/ResultObject.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/ResultObject.cs index fd37f252..059724e5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/ResultObject.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/ResultObject.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/StringCollectionResultObject.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/StringCollectionResultObject.cs index 2e0c40c0..57e73fcf 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/StringCollectionResultObject.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/StringCollectionResultObject.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/UserResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/UserResult.cs index 3db136be..9919766a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/UserResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/UserResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/ValueResultObject.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/ValueResultObject.cs index 0229dacf..c354405b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/ValueResultObject.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/ValueResultObject.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/VirtualMachineResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/VirtualMachineResult.cs index 9edf34ab..52a29df4 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/VirtualMachineResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/VirtualMachineResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/WebAppGallery.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/WebAppGallery.cs index 0d029ef8..a0977b61 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/WebAppGallery.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/WebAppGallery.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/IHostedSharePointServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/IHostedSharePointServer.cs index b3cb6797..219e0301 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/IHostedSharePointServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/IHostedSharePointServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/ISharePointServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/ISharePointServer.cs index b6490044..64027a89 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/ISharePointServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/ISharePointServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSite.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSite.cs index 0a43a8c4..c86fae77 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSite.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSite.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteCollection.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteCollection.cs index b143dba8..77133bf8 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteCollection.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteCollection.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteCollectionListPaged.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteCollectionListPaged.cs index d78da35b..c7d751cc 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteCollectionListPaged.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteCollectionListPaged.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteDiskSpace.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteDiskSpace.cs index a2d68ed2..2494c95f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteDiskSpace.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteDiskSpace.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/IStatisticsServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/IStatisticsServer.cs index 6cea5f82..8282a35c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/IStatisticsServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/IStatisticsServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/StatsServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/StatsServer.cs index b9763a6f..107a58fc 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/StatsServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/StatsServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/StatsSite.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/StatsSite.cs index 69d4689f..4f5d50ba 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/StatsSite.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/StatsSite.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/StatsUser.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/StatsUser.cs index 0aa61487..0b282081 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/StatsUser.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Statistics/StatsUser.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ChangeJobStateReturnCode.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ChangeJobStateReturnCode.cs index e707b5af..8b0d7f66 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ChangeJobStateReturnCode.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ChangeJobStateReturnCode.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ConcreteJob.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ConcreteJob.cs index 9f29ff1d..1ae2fd60 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ConcreteJob.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ConcreteJob.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ConcreteJobRequestedState.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ConcreteJobRequestedState.cs index 6279536f..06ead0a3 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ConcreteJobRequestedState.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ConcreteJobRequestedState.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ConcreteJobState.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ConcreteJobState.cs index c0e8a8ec..e8a94c77 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ConcreteJobState.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ConcreteJobState.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/IVirtualizationServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/IVirtualizationServer.cs index 6155e2ad..3a96a3ee 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/IVirtualizationServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/IVirtualizationServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/IVirtualizationServerForPC.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/IVirtualizationServerForPC.cs index e6394687..875f97db 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/IVirtualizationServerForPC.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/IVirtualizationServerForPC.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/JobResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/JobResult.cs index ff25b960..b7986e98 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/JobResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/JobResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/KvpExchangeDataItem.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/KvpExchangeDataItem.cs index c95212b0..01cc7978 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/KvpExchangeDataItem.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/KvpExchangeDataItem.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/LibraryItem.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/LibraryItem.cs index c33eb75f..e162ebde 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/LibraryItem.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/LibraryItem.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/LogicalDisk.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/LogicalDisk.cs index b66f09ff..233b7534 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/LogicalDisk.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/LogicalDisk.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/MountedDiskInfo.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/MountedDiskInfo.cs index 14a27a8f..a97f0460 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/MountedDiskInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/MountedDiskInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/OperationalStatus.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/OperationalStatus.cs index 25dbb78f..dfb47f60 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/OperationalStatus.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/OperationalStatus.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ReturnCode.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ReturnCode.cs index 9f43e4bd..6308b20f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ReturnCode.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ReturnCode.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/SummaryInformationRequest.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/SummaryInformationRequest.cs index 0467f891..3db7fe4d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/SummaryInformationRequest.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/SummaryInformationRequest.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ThumbnailSize.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ThumbnailSize.cs index 02f5a918..23cf37a0 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ThumbnailSize.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/ThumbnailSize.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualHardDiskInfo.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualHardDiskInfo.cs index ce9f4b38..3243e03e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualHardDiskInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualHardDiskInfo.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualHardDiskType.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualHardDiskType.cs index 6c3adaef..19f0955b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualHardDiskType.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualHardDiskType.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachine.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachine.cs index 709651b1..2e59ea73 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachine.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachine.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineNetworkAdapter.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineNetworkAdapter.cs index 92dfedbd..5bf2cb98 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineNetworkAdapter.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineNetworkAdapter.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineProvisioningStatus.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineProvisioningStatus.cs index 7cb64f92..eba776fa 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineProvisioningStatus.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineProvisioningStatus.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineRequestedState.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineRequestedState.cs index eacd384c..126b62eb 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineRequestedState.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineRequestedState.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineSnapshot.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineSnapshot.cs index 09555b34..c38be6d1 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineSnapshot.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineSnapshot.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineState.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineState.cs index 3b0614a6..470e2ff9 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineState.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualMachineState.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualSwitch.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualSwitch.cs index d8c78667..5f3494c6 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualSwitch.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Virtualization/VirtualSwitch.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/HttpError.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/HttpError.cs index fd25b4d0..e46b2041 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/HttpError.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/HttpError.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/HttpHeader.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/HttpHeader.cs index ed7ec818..1928e574 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/HttpHeader.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/HttpHeader.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/IWebServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/IWebServer.cs index 2c1c87d1..48bc62cc 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/IWebServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/IWebServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/MimeMap.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/MimeMap.cs index 1b16363b..e092a42e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/MimeMap.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/MimeMap.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/SharedSSLFolder.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/SharedSSLFolder.cs index 05dc248e..4501c888 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/SharedSSLFolder.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/SharedSSLFolder.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebFolder.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebFolder.cs index 479f1cdd..4f00aff6 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebFolder.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebFolder.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebGroup.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebGroup.cs index 87b1bf10..29dc5e34 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebGroup.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebGroup.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs index 3560648f..e80b2f1a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebSite.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebUser.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebUser.cs index 90b3adbf..50237d18 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebUser.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebUser.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebVirtualDirectory.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebVirtualDirectory.cs index d23a020a..3be281fd 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebVirtualDirectory.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebVirtualDirectory.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/DeploymentParameter.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/DeploymentParameter.cs index bb8d4836..12ed980a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/DeploymentParameter.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/DeploymentParameter.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/GalleryApplication.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/GalleryApplication.cs index 535c0a7b..3075737b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/GalleryApplication.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/GalleryApplication.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/GalleryCategory.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/GalleryCategory.cs index e0c8858d..5134430e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/GalleryCategory.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/GalleryCategory.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/GalleryErrors.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/GalleryErrors.cs index 8f7c5eea..528b1a54 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/GalleryErrors.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebAppGallery/GalleryErrors.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.Bind/IscBind.cs b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.Bind/IscBind.cs index d1e3c52b..cd8b14f8 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.Bind/IscBind.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.Bind/IscBind.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.MsDNS/MsDNS.cs b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.MsDNS/MsDNS.cs index f890916d..e2a81904 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.MsDNS/MsDNS.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.MsDNS/MsDNS.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.Nettica/Nettica.cs b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.Nettica/Nettica.cs index d6c96da9..2ba41bf0 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.Nettica/Nettica.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.Nettica/Nettica.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.Nettica/NetticaProxy.cs b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.Nettica/NetticaProxy.cs index 124d88bf..98d98717 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.Nettica/NetticaProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.Nettica/NetticaProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.PowerDNS/PowerDNS.cs b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.PowerDNS/PowerDNS.cs index 16825627..8f1e419d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.PowerDNS/PowerDNS.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.PowerDNS/PowerDNS.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.SimpleDNS/SimpleDNS.cs b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.SimpleDNS/SimpleDNS.cs index 4dee686b..6778f83f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.SimpleDNS/SimpleDNS.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.SimpleDNS/SimpleDNS.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.SimpleDNS50/SimpleDNS5.cs b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.SimpleDNS50/SimpleDNS5.cs index 17e3bfe3..a921c7da 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.SimpleDNS50/SimpleDNS5.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.SimpleDNS50/SimpleDNS5.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer.cs index ec306a23..26434f3c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer50.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer50.cs index 45d8b442..aa93de85 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer50.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer50.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer51.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer51.cs index 65df8cc9..00a4fd18 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer51.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer51.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer55.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer55.cs index 277cb676..8b0e740f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer55.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer55.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer.cs index d568cdf0..a1e8b47e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2005.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2005.cs index 8ddfbf67..a73d92de 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2005.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2005.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2008.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2008.cs index 508a3557..275ceb27 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2008.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Database.SqlServer/MsSqlServer2008.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.FileZilla/FileZilla.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.FileZilla/FileZilla.cs index 80432655..d598357f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.FileZilla/FileZilla.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.FileZilla/FileZilla.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.Gene6/Gene6FTP.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.Gene6/Gene6FTP.cs index 66286ced..29c7fe5a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.Gene6/Gene6FTP.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.Gene6/Gene6FTP.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs60/MsFTP.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs60/MsFTP.cs index 37b3cc31..fed92cbf 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs60/MsFTP.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs60/MsFTP.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationGlobals.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationGlobals.cs index e6e2b8d7..113f9232 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationGlobals.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationGlobals.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationRule.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationRule.cs index 571f7636..ecfa0a20 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationRule.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationRule.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationRuleAccessType.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationRuleAccessType.cs index 88adda4e..3a53b967 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationRuleAccessType.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationRuleAccessType.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationRuleCollection.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationRuleCollection.cs index 15e6da12..deb90991 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationRuleCollection.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationRuleCollection.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationSection.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationSection.cs index 2e20c699..a5709595 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationSection.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Authorization/AuthorizationSection.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ActiveDirectoryElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ActiveDirectoryElement.cs index 78879482..90819e5f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ActiveDirectoryElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ActiveDirectoryElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/AnonymousAuthenticationElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/AnonymousAuthenticationElement.cs index 53df3a47..d5e1b0a4 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/AnonymousAuthenticationElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/AnonymousAuthenticationElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/AuthenticationElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/AuthenticationElement.cs index cc0b219b..0ae4f691 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/AuthenticationElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/AuthenticationElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/BasicAuthenticationElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/BasicAuthenticationElement.cs index f19ec061..a57cc37c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/BasicAuthenticationElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/BasicAuthenticationElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ConnectionsElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ConnectionsElement.cs index 770f6bac..520797c5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ConnectionsElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ConnectionsElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ControlChannelPolicy.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ControlChannelPolicy.cs index a7a26f00..74e48372 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ControlChannelPolicy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ControlChannelPolicy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/CustomAuthenticationElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/CustomAuthenticationElement.cs index ab525407..51a7ef55 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/CustomAuthenticationElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/CustomAuthenticationElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/CustomAuthenticationProvider.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/CustomAuthenticationProvider.cs index c2485d47..af094a14 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/CustomAuthenticationProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/CustomAuthenticationProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/CustomAuthenticationProviderCollection.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/CustomAuthenticationProviderCollection.cs index f0524297..006259a0 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/CustomAuthenticationProviderCollection.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/CustomAuthenticationProviderCollection.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/DataChannelPolicy.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/DataChannelPolicy.cs index bf9d7daf..0782df63 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/DataChannelPolicy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/DataChannelPolicy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/DataChannelSecurityElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/DataChannelSecurityElement.cs index bfc327f4..65857722 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/DataChannelSecurityElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/DataChannelSecurityElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/DirectoryBrowseElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/DirectoryBrowseElement.cs index de1184e4..d0302658 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/DirectoryBrowseElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/DirectoryBrowseElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FileHandlingElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FileHandlingElement.cs index 47036f5e..734780f7 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FileHandlingElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FileHandlingElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FirewallElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FirewallElement.cs index 3ce8b45c..b42a8d5d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FirewallElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FirewallElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FtpLogExtFileFlags.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FtpLogExtFileFlags.cs index bf9ff97c..56919662 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FtpLogExtFileFlags.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FtpLogExtFileFlags.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FtpProtocolElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FtpProtocolElement.cs index 4e6b629a..f3458b3e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FtpProtocolElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FtpProtocolElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FtpSite.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FtpSite.cs index d0bdc921..69a98acc 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FtpSite.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/FtpSite.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/LogFileElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/LogFileElement.cs index 7733f537..f0c4b675 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/LogFileElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/LogFileElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/LoggingElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/LoggingElement.cs index cb06d8af..2bc2fd0c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/LoggingElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/LoggingElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/MessagesElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/MessagesElement.cs index 98ab13c0..de25b7d5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/MessagesElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/MessagesElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/Mode.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/Mode.cs index 7c945920..2b2536d4 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/Mode.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/Mode.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/PermissionsFlags.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/PermissionsFlags.cs index d833f359..e579300c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/PermissionsFlags.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/PermissionsFlags.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ProviderCollection.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ProviderCollection.cs index 079657b5..996157e1 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ProviderCollection.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ProviderCollection.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ProviderElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ProviderElement.cs index ceeca5a0..5098645a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ProviderElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ProviderElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SecurityElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SecurityElement.cs index fb8448f8..7c40a2cc 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SecurityElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SecurityElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SelectiveLogging.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SelectiveLogging.cs index bcf92c26..d83f2000 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SelectiveLogging.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SelectiveLogging.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SessionCollection.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SessionCollection.cs index 36113bd1..72f0f5b0 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SessionCollection.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SessionCollection.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SessionElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SessionElement.cs index d1790b1c..1a4931da 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SessionElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SessionElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ShowFlags.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ShowFlags.cs index 4a1e0184..5c8bfaf8 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ShowFlags.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ShowFlags.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SiteState.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SiteState.cs index 9f74cf06..0eda2680 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SiteState.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SiteState.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SslClientCertificatesElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SslClientCertificatesElement.cs index 6e5607df..ae762b20 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SslClientCertificatesElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SslClientCertificatesElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SslElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SslElement.cs index b783d6a3..daecbf80 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SslElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/SslElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/UserIsolationElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/UserIsolationElement.cs index cb2f3d5d..2fcb6b05 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/UserIsolationElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/UserIsolationElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ValidationFlags.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ValidationFlags.cs index 1b9a84d1..486aa096 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ValidationFlags.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/Configuration/ValidationFlags.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/FtpHelper.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/FtpHelper.cs index 46a7019c..12a453e4 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/FtpHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/FtpHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/FtpSiteGlobals.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/FtpSiteGlobals.cs index b47cdc61..e59215c7 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/FtpSiteGlobals.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/FtpSiteGlobals.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/MsFTP.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/MsFTP.cs index e494a3e8..9a614110 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/MsFTP.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/MsFTP.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/SitesHelper.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/SitesHelper.cs index c7ce1624..a5c932a5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/SitesHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/SitesHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/SitesModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/SitesModuleService.cs index 0d0096b0..7fe1a8e3 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/SitesModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.IIs70/SitesModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.ServU/ServU.cs b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.ServU/ServU.cs index 2f2ccb2a..dc85e8f3 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.FTP.ServU/ServU.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.FTP.ServU/ServU.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/BlackBerry5Provider.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/BlackBerry5Provider.cs index 33a122f6..149fe1fb 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/BlackBerry5Provider.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/BlackBerry5Provider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/BlackBerryProvider.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/BlackBerryProvider.cs index 8a5c24be..1faf17e6 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/BlackBerryProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/BlackBerryProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/CRMProvider.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/CRMProvider.cs index c265eeee..9f00bc92 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/CRMProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/CRMProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/CRMProxy.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/CRMProxy.cs index 0dedf0f8..e2799391 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/CRMProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/CRMProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs index dce5efc9..6659f846 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2010.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2010.cs index 414b73f2..63c46ed2 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2010.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2010.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeLog.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeLog.cs index 116d5b2e..5472863c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeLog.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeLog.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeTransaction.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeTransaction.cs index ce9fbaf3..0af4bb65 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeTransaction.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeTransaction.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer.cs index 8a907a02..a162f2fa 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServerImpl.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServerImpl.cs index b88fe76f..e947279b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServerImpl.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServerImpl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSolutionLog.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSolutionLog.cs index ab972694..51267394 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSolutionLog.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSolutionLog.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OCS2007R2.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OCS2007R2.cs index 4bd3db37..7bf10578 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OCS2007R2.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OCS2007R2.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OCSEdge2007R2.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OCSEdge2007R2.cs index 4d7ceb0b..9efd8a2e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OCSEdge2007R2.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OCSEdge2007R2.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OrganizationProvider.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OrganizationProvider.cs index 6d980dcc..6e3a9e9c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OrganizationProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OrganizationProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AMSHelper.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AMSHelper.cs index 2986fffa..3466d7a2 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AMSHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AMSHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AbilityMailServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AbilityMailServer.cs index 88fb80c0..c827a040 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AbilityMailServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AbilityMailServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AmsDomain.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AmsDomain.cs index 998cfcd1..3106c7fd 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AmsDomain.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AmsDomain.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AmsMailList.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AmsMailList.cs index a7034d4c..bd393667 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AmsMailList.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AmsMailList.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AmsMailbox.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AmsMailbox.cs index 11d8b45b..4f0d3ed5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AmsMailbox.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/AmsMailbox.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/Tree.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/Tree.cs index ece7c0ef..90559e7e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/Tree.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.AbilityMailServer/Tree.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.ArgoMail/ArgoMail.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.ArgoMail/ArgoMail.vb index 1d90b547..874079b9 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.ArgoMail/ArgoMail.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.ArgoMail/ArgoMail.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.ArgoMail/ArgoMailList.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.ArgoMail/ArgoMailList.vb index 81fdb28d..a1d6df9d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.ArgoMail/ArgoMailList.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.ArgoMail/ArgoMailList.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.ArgoMail/ArgoMailListItem.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.ArgoMail/ArgoMailListItem.vb index 128a1e5a..999d92e7 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.ArgoMail/ArgoMailListItem.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.ArgoMail/ArgoMailListItem.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_DELFLAGS.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_DELFLAGS.vb index 202903d0..cf38ea83 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_DELFLAGS.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_DELFLAGS.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_ERROR.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_ERROR.vb index 098f7331..e078f759 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_ERROR.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_ERROR.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_HANDLE.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_HANDLE.vb index ded53115..f7775073 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_HANDLE.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_HANDLE.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_VRFYFLAGS.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_VRFYFLAGS.vb index 39cc6a48..f061e8a0 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_VRFYFLAGS.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MD_VRFYFLAGS.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MDaemon.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MDaemon.vb index 94c8417a..63f72f5e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MDaemon.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MDaemon.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, @@ -24,1940 +24,1940 @@ ' 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. - -Imports WebsitePanel.Providers.Utils -Imports WebsitePanel.Server.Utils -Imports WebsitePanel.Providers.Common - - -Imports System.IO -Imports System.Text -Imports System.Collections -Imports System.Collections.Generic -Imports System.Runtime.InteropServices -Imports Microsoft.Win32 - - -Public Class MDaemon - Inherits HostingServiceProviderBase - Implements IMailServer - -#Region "Constants" - Public Const ALIAS_PROG_ID As String = "MDUserCOM.MDAlias" - Public Const ALIAS_ITEM_PROG_ID As String = "MDUserCOM.MDAliasItem" - Public Const LIST_PROG_ID As String = "MDUserCOM.MDList" - Public Const LIST_MEMBER_PROG_ID As String = "MDUserCOM.MDListMember" - Public Const MESSAGE_INFO_PROG_ID As String = "MDUserCOM.MDMessageInfo" - Public Const RULE_PROG_ID As String = "MDUserCOM.MDRule" - Public Const USER_PROG_ID As String = "MDUserCOM.MDUser" - Public Const USER_INFO_PROG_ID As String = "MDUserCOM.MDUserInfo" - Public Const GATEWAY_INFO_PROG_ID As String = "MDUserCOM.MDGateway" - - Private Const DefaultDomainMaxUsers As Integer = 0 - Private Const DefaultDomainMaxLists As Integer = 0 - Private Const DefaultDomainIP As String = "127.0.0.1" - Private Const DefaultDomainMaxInactive As Integer = 0 - Private Const DefaultDomainMaxMessageAge As Integer = 0 - Private Const DefaultDomainMaxDeletedIMAPMessageAge As Integer = 0 - Private Const DefaultDomainBind As Boolean = False - Private Const DefaultDomainRecurseIMAP As Boolean = False - Private Const DefaultDomainEnableAntiVirus As Boolean = True - Private Const DefaultDomainEnableAntiSpam As Boolean = True -#End Region - -#Region "Properties" - Public Property EnableIMAP() As Boolean - Get - Return Convert.ToBoolean(ProviderSettings("EnableIMAP")) - End Get - Set(ByVal value As Boolean) - ProviderSettings.Settings("EnableIMAP") = value.ToString() - End Set - End Property - - Public Property EnablePOP() As Boolean - Get - Return Convert.ToBoolean(ProviderSettings("EnablePOP")) - End Get - Set(ByVal value As Boolean) - ProviderSettings.Settings("EnablePOP") = value.ToString() - End Set - End Property -#End Region - -#Region "Internal Classes" - Class Service - Public ComObject As Object - Public Succeed As Boolean - End Class -#End Region - -#Region "Ctors" - Public Sub New() - - End Sub -#End Region - -#Region "Helper Methods" - Protected Sub RefreshMailServerCache(ByRef service As Service) - Try - Dim appCachePath As String = service.ComObject.GetAppDir() - - If Not String.IsNullOrEmpty(appCachePath) Then - appCachePath = Path.Combine(appCachePath, "ReloadCache.SEM") - File.Create(appCachePath).Close() - End If - Catch ex As Exception - - End Try - End Sub - - Protected Overridable Function LoadServiceProvider() As Service - Dim result As Service = New Service() - - Try - - Dim comObject As Object = CreateObject(USER_PROG_ID) - result.Succeed = comObject.LoadUserDll() - - If result.Succeed Then - result.ComObject = comObject - Else - result.ComObject = Nothing - Log.WriteInfo("MDUserCOM.LoadUserDll failed to initialize COM object.") - End If - - Catch ex As Exception - - Log.WriteError("Couldn't create MDUserCOM.MDUser ActiveX object.", ex) - - result.ComObject = Nothing - result.Succeed = True - - End Try - - Return result - End Function - - Protected Overridable Sub UnloadServiceProvider(ByRef service As Service) - If service.Succeed Then - service.ComObject.FreeUserDll() - End If - End Sub - - Protected Overridable Function CreateMDAliasItem(ByRef service As Service) As Object - Dim mdAlias As Object = Nothing - - If service.Succeed Then - Try - mdAlias = CreateObject(ALIAS_ITEM_PROG_ID) - Catch ex As Exception - Log.WriteError("Couldn't create MDUserCOM.MDAliasItem Acivex object.", ex) - End Try - End If - - Return mdAlias - End Function - - - Public Overrides Function Install() As String() - - Dim service As Service = LoadServiceProvider() - Dim file As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_MDAEMONINIDB) - - Dim value As String = ProviderSettings.Settings.Item(Constants.RelayAliasedMail) - Dim relayAliasedMail As Boolean = Boolean.Parse(value) - Dim relayAliasedMailValue As String = "No" - - If relayAliasedMail Then - relayAliasedMailValue = "Yes" - End If - - WriteProfileString("SPECIAL", Constants.RelayAliasedMail, relayAliasedMailValue, file) - Return MyBase.Install() - - End Function - - - - Protected Overridable Function CreateMDAlias(ByRef service As Service) As Object - Dim mdAlias As Object = Nothing - - If service.Succeed Then - Try - mdAlias = CreateObject(ALIAS_PROG_ID) - Catch ex As Exception - Log.WriteError("Couldn't create MDUserCOM.MDAlias Acivex object.", ex) - End Try - End If - - Return mdAlias - End Function - - Protected Overridable Function CreateMDList(ByRef service As Service, ByRef listName As String) As Object - Dim mdList As Object = Nothing - - If service.Succeed Then - Try - mdList = CreateObject(LIST_PROG_ID) - service.ComObject.InitListInfo(mdList, listName) - Catch ex As Exception - Log.WriteError("Couldn't create MDUserCOM.MDList ActiveX object.", ex) - End Try - End If - - Return mdList - End Function - - Protected Overridable Function CreateMDUserInfo(ByRef service As Service) As Object - Dim mdUserInfo As Object = Nothing - - Try - mdUserInfo = CreateObject(USER_INFO_PROG_ID) - service.ComObject.InitUserInfo(mdUserInfo) - Catch ex As Exception - Log.WriteError("Couldn't create MDUserCOM.MDUserInfo ActiveX object.", ex) - End Try - - Return mdUserInfo - End Function - - Protected Overridable Function CreateMDListMember(ByRef service As Service) As Object - Dim mdListMember As Object = Nothing - - If service.Succeed Then - Try - mdListMember = CreateObject(LIST_MEMBER_PROG_ID) - Catch ex As Exception - Log.WriteError("Couldn't create MDUserCOM.MDListMember ActiveX object.", ex) - End Try - End If - - Return mdListMember - End Function - - Protected Overridable Function LoadMDGateway(ByRef service As Service) As Object - Dim mdGateway As Object = Nothing - - If service.Succeed Then - Try - mdGateway = CreateObject(GATEWAY_INFO_PROG_ID) - Catch ex As Exception - Log.WriteError("Couldn't create MDUserCOM.MDGateway ActiveX object.", ex) - End Try - End If - - Return mdGateway - End Function - - Protected Sub UnloadMDGateway(ByRef service As Service, ByRef mdGateway As Object) - If service.Succeed Then - service.ComObject.FreeGateway(mdGateway) - End If - End Sub - - Protected Function GetEmailName(ByVal mailbox As String) - Return mailbox.Substring(0, mailbox.IndexOf("@")) - End Function - - Protected Function GetDomainName(ByVal mailbox As String) - Return mailbox.Substring(mailbox.IndexOf("@") + 1) - End Function - - Protected Overridable Function GetApplicationDir() As String - Dim service As Service = LoadServiceProvider() - - Try - - Dim appDir As String = service.ComObject.GetAppDir() - UnloadServiceProvider(service) - Return appDir - - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't get application dir", ex) - End Try - - End Function - - - Protected Overridable Sub PopulateUserInfo(ByRef account As MailAccount, ByRef mdUserInfo As Object) - - If Not account.ForwardingAddresses Is Nothing AndAlso account.ForwardingAddresses.Length > 0 Then - If String.IsNullOrEmpty(account.FirstName) Then - mdUserInfo.FwdAddress = String.Join(",", account.ForwardingAddresses) - mdUserInfo.IsForwarding = True - mdUserInfo.KeepForwardedMail = account.RetainLocalCopy - mdUserInfo.FullName = "Mail Forwarding" - - Else - mdUserInfo.FwdAddress = String.Join(",", account.ForwardingAddresses) - mdUserInfo.IsForwarding = True - mdUserInfo.KeepForwardedMail = account.RetainLocalCopy - mdUserInfo.FullName = String.Concat(account.FirstName, " ", account.LastName) - End If - - Else - mdUserInfo.FullName = String.Concat(account.FirstName, " ", account.LastName) - mdUserInfo.IsForwarding = False - End If - - mdUserInfo.MailBox = GetEmailName(account.Name) - mdUserInfo.Domain = GetDomainName(account.Name) - mdUserInfo.Password = account.Password - mdUserInfo.Email = account.Name - - ' TRUE if account is configured to auto-extract attachments - mdUserInfo.AutoDecode = Convert.ToBoolean(account.Item("AutoDecode")) - mdUserInfo.MailFormat = account.Item("MailFormat") - - mdUserInfo.HideFromEveryone = Convert.ToBoolean(account.Item("HideFromEveryone")) - mdUserInfo.AllowChangeViaEmail = Convert.ToBoolean(account.Item("AllowChangeViaEmail")) - mdUserInfo.CheckAddrBook = Convert.ToBoolean(account.Item("CheckAddrBook")) - mdUserInfo.EncryptEmail = Convert.ToBoolean(account.Item("EncryptEmail")) - mdUserInfo.UpdateAddrBook = Convert.ToBoolean(account.Item("UpdateAddrBook")) - - If account.MaxMailboxSize > 0 Then - mdUserInfo.ApplyQuotas = True - mdUserInfo.MaxDiskSpace = account.MaxMailboxSize - End If - End Sub - - Protected Sub PopulateGroupInfo(ByRef group As MailGroup, ByVal verify As Boolean) - Dim service As Service = LoadServiceProvider() - - Try - Dim mdList = MailGroupToMDList(service, group) - - Dim errorCode As Integer = MDaemonInterop.MDLISTERR_NOERROR - ' Verify list before creation - If verify Then - errorCode = service.ComObject.VerifyListInfo(mdList) - End If - - If errorCode = MDaemonInterop.MDLISTERR_NOERROR Then - If Not service.ComObject.WriteList(mdList) Then - Throw New Exception("Could not write group to disk.") - End If - - ClearListMembers(service, mdList) - - Dim member As String - - For Each member In group.Members - service.ComObject.ListAddMember(group.Name, member, String.Empty) - Next member - - UnloadServiceProvider(service) - Else - Throw New Exception(String.Format("Could not verify group. Error code {0}", errorCode)) - End If - - ' force to refresh cache - RefreshMailServerCache(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't populate group info.", ex) - End Try - End Sub 'PopulateGroupInfo - - Protected Overridable Sub ClearListMembers(ByRef service As Service, ByRef mdList As Object) - Dim members As New ArrayList() - - Dim member As Object = CreateMDListMember(service) - - Dim [next] As Boolean = mdList.GetFirstMember(member) - - While [next] - If Not (member.Email Is Nothing) And member.Email.Length > 0 Then - members.Add(member.Email) - End If - [next] = mdList.GetNextMember(member) - End While - - Dim email As String - For Each email In members - service.ComObject.ListRemoveMember(mdList.ListName, email) - Next email - End Sub 'ClearListMembers - - Protected Sub UpdateUserAccessInfo(ByVal userDbPath As String, ByRef account As MailAccount) - Dim service As Service = LoadServiceProvider() - - Dim hUser As Integer = service.ComObject.GetByEmail(account.Name) - - If hUser = CInt(MD_HANDLE.MD_BADHANDLE) Then - Throw New Exception(String.Format("Mailbox '{0}' not found.", account.Name)) - End If - - Dim mdUserInfo As Object = CreateMDUserInfo(service) - - PopulateUserInfo(account, mdUserInfo) - service.ComObject.FilterUserInfo(mdUserInfo) - - Dim recordExists As Boolean - - Try - If AccountExists(account.Name) Then - - Dim access As Long = 1 - - If account.Enabled Then - If EnableIMAP And EnablePOP Then - access = 1 - ElseIf EnablePOP Then - access = 2 - ElseIf EnableIMAP Then - access = 3 - End If - Else - access = 4 - End If - - recordExists = True - - ' Update access info (aka access-type) - mdUserInfo.AccessType = access - - ' Update mailbox size - If account.MaxMailboxSize > 0 Then - mdUserInfo.ApplyQuotas = True - mdUserInfo.MaxDiskSpace = CType(account.MaxMailboxSize * 1000, Long) - End If - - ' Send the changes - Dim errorCode As Integer = service.ComObject.VerifyUserInfo(mdUserInfo, CInt(MD_VRFYFLAGS.MDUSERDLL_VRFYALL)) - If errorCode <> CInt(MD_ERROR.MDDLLERR_NOERROR) Then - Throw New Exception(String.Format("Could not validate account info. Please make sure that all entries are valid. Error code {0}", errorCode)) - End If - - If Not service.ComObject.SetUserInfo(hUser, mdUserInfo) Then - Throw New Exception(String.Format("Could not update mailbox '{0}'", account.Name)) - End If - - End If - - ' Check whether a user record exists - If Not recordExists Then - Throw New Exception("Could not find mailbox info.") - End If - Catch ex As Exception - Throw New Exception("Could not update mailbox access info.", ex) - End Try - End Sub - - Protected Sub UpdateUserResponderInfo(ByVal responderDbPath As String, ByVal mailbox As MailAccount) - Try - If Not mailbox.ResponderEnabled Then - If Not File.Exists(responderDbPath) Then - Return - End If - If GetProfileSection(mailbox.Name, responderDbPath) <> 0 Then - If Not DeleteProfileSection(mailbox.Name, responderDbPath) Then - Throw New Exception("Could not delete profile section.") - End If - End If - Else - If Not File.Exists(responderDbPath) Then - Dim stream As FileStream = File.Create(responderDbPath) - stream.Close() - End If - Dim responderFile As String = Path.Combine(GetApplicationDir(), mailbox.Name + ".rsp") - If GetProfileSection(mailbox.Name, responderDbPath) <> 0 Then - responderFile = GetProfileString(mailbox.Name, "MailBackFile", responderFile, responderDbPath) - End If - ' update profile section - WriteProfileString(mailbox.Name, "MailBackFile", responderFile, responderDbPath) - WriteProfileString(mailbox.Name, "PassMessage", "No", responderDbPath) - WriteProfileString(mailbox.Name, "ResponderSubject", mailbox.ResponderSubject, responderDbPath) - ' update responder message body in responder file. - Dim sw As New StreamWriter(responderFile) - Try - sw.Write(mailbox.ResponderMessage) - Finally - sw.Dispose() - End Try - End If - Catch ex As Exception - Throw New Exception("Can't update mailbox responder info.", ex) - End Try - End Sub 'UpdateUserResponderInfo - - Private Shared Sub WriteDomainInfo(ByVal domain As MailDomain, ByVal domainDbPath As String) - ' Domain users quota - WriteProfileString(domain.Name, "MaxUsers", domain.MaxDomainUsers.ToString(), domainDbPath) - ' Domain lists quota - WriteProfileString(domain.Name, "MaxLists", domain.MaxLists.ToString(), domainDbPath) - - Dim strIP As String = DefaultDomainIP - If Not domain.ServerIP Is Nothing AndAlso domain.ServerIP.Length > 0 Then - strIP = domain.ServerIP - End If - - ' IP address - WriteProfileString(domain.Name, "IP", strIP, domainDbPath) - - ' Delete accounts within this domain if inactive for XX days (0=never) - WriteProfileString(domain.Name, "MaxInactive", domain.Item("MaxInactiveLimit"), domainDbPath) - - ' Delete messages kept by users within this domain if older than XX days (0=never) - WriteProfileString(domain.Name, "MaxMessageAge", domain.Item("MaxMessageAge"), domainDbPath) - - ' Delete deleted IMAP messages in this domain older than XX days (0 = never) - WriteProfileString(domain.Name, "MaxDeletedIMAPMessageAge", domain.Item("MaxDeletedImapMessageAge"), domainDbPath) - - ' Bind to this IP if you want to bind the secondary domain to its IP address - WriteProfileString(domain.Name, "Bind", YesNoBooleanToString(domain.Item("BindIP")), domainDbPath) - - ' Delete old messages from IMAP folders as well - WriteProfileString(domain.Name, "RecurseIMAP", YesNoBooleanToString(domain.Item("RecurseIMAP")), domainDbPath) - - ' If AntiVirus for MDaemon is installed, this option enables you the AntiVirus settings to be applied to the selected secondary domain - WriteProfileString(domain.Name, "EnableAntiVirus", YesNoBooleanToString(domain.Item("EnableAntiVirus")), domainDbPath) - - ' If you want MDaemon's current Spam Filter settings to be applied to the selected secondary domain - WriteProfileString(domain.Name, "EnableAntiSpam", YesNoBooleanToString(domain.Item("EnableAntiSpam")), domainDbPath) - - End Sub 'WriteDomainInfo - - Private Shared Function YesNoBooleanToString(ByVal val As Object) As String - Dim resultStr As String = "No" - - If Not val Is Nothing Then - Dim valueStr As String = val.ToString() - - Select Case valueStr - Case "True" - resultStr = "Yes" - Case "true" - resultStr = "Yes" - Case "1" - resultStr = "Yes" - End Select - End If - - Return resultStr - End Function 'YesNoBooleanToString - - Protected Overridable Function EmailExists(ByRef userName As String) As Boolean - Dim service As Service = LoadServiceProvider() - Dim exists As Boolean = False - - Try - exists = service.ComObject.UserExists(userName) - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception(String.Format("Can't check whether '{0}' exists", userName), ex) - End Try - - Return exists - End Function 'EmailExists - - Protected Overridable Function MailListExists(ByRef maillistName As String) As Boolean - Return EmailExists(maillistName) - End Function 'MaillistExists - - Protected Overridable Sub PopulateMailListInfo(ByRef list As MailList, ByRef verify As Boolean) - Dim service As Service = LoadServiceProvider() - - Try - Dim mdList As Object = CreateMDList(service, list.Name) - - mdList.CatalogName = String.Empty - mdList.DefaultMode = 1 - mdList.DigestFlags = 0 - mdList.DigestMBF = "DIGEST" - mdList.FooterFilePath = list.Item("FooterFilePath") - mdList.HeaderFilePath = list.Item("HeaderFilePath") - mdList.KillFilePath = list.Item("SuppressionFilePath") - 'flags - mdList.ListFlags = MDaemonInterop.MDLIST_AUTOPRUNE Or MDaemonInterop.MDLIST_CRACKMESSAGE Or MDaemonInterop.MDLIST_FORCEUNIQUEID - - Select Case list.PostingMode - Case PostingMode.MembersCanPost - mdList.ListFlags = mdList.ListFlags Or MDaemonInterop.MDLIST_PRIVATE - Case PostingMode.PasswordProtectedPosting - mdList.ListFlags = mdList.ListFlags Or MDaemonInterop.MDLIST_PASSWORDPOST - End Select - - If list.EnableSubjectPrefix Then - mdList.ListFlags = mdList.ListFlags Or MDaemonInterop.MDLIST_LISTNAMEINSUBJECT - End If - If YesNoBooleanToString(list.Item("ShowThreadNumbersInSubject")) = "Yes" Then - mdList.ListFlags = mdList.ListFlags Or MDaemonInterop.MDLIST_THREADNUMBINSUBJECT - End If - If list.Moderated Then - mdList.ListFlags = mdList.ListFlags Or MDaemonInterop.MDLIST_MODERATED - - If String.IsNullOrEmpty(list.ModeratorAddress) Then - Throw New Exception("Mailing list is supposed to be as moderated, but moderator address not specified.") - End If - - mdList.ModeratorEmail = list.ModeratorAddress - End If - - Select Case list.ReplyToMode - Case ReplyTo.RepliesToSender - mdList.ReplyAddress = String.Empty - Case ReplyTo.RepliesToList - mdList.ReplyAddress = list.Name - End Select - - - - - mdList.ListName = list.Name - mdList.ListPassword = list.Password - mdList.MaxLineCount = 0 'DIGEST - mdList.MaxMembers = Convert.ToInt32(list.Item("MaxMembers")) - mdList.MaxMessageCount = 0 'DIGEST - mdList.MaxMessageSize = list.MaxMessageSize - mdList.NotificationEmail = String.Empty - mdList.PrecedenceLevel = 60 - mdList.PublicFolderName = String.Empty - mdList.RemoteHost = String.Empty - - mdList.RoutingLimit = 0 - mdList.SendNotesTo = String.Empty - mdList.WelcomeFilePath = list.Item("WelcomeFilePath") - - Dim errorCode As Integer = MDaemonInterop.MDLISTERR_NOERROR - - If verify Then - errorCode = service.ComObject.VerifyListInfo(mdList) - End If - - If errorCode = MDaemonInterop.MDLISTERR_NOERROR Then - If Not service.ComObject.WriteList(mdList) Then - Throw New Exception("Could not write mail list to disk.") - End If - - ' Clear list - ClearListMembers(service, mdList) - - Dim member As String - For Each member In list.Members - service.ComObject.ListAddMember(list.Name, member, String.Empty) - Next member - - ' force to refresh cache - RefreshMailServerCache(service) - - UnloadServiceProvider(service) - Else - Throw New Exception(String.Format("Could not verify mail list. Error code {0}", errorCode)) - End If - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't populate mail list info.", ex) - End Try - End Sub 'PopulateMailListInfo - - Protected Overridable Sub DeleteAlias(ByVal email As String, ByVal [alias] As String) - Dim service As Service = LoadServiceProvider() - Try - If Not service.ComObject.DeleteAlias([alias], email) Then - Throw New Exception(String.Format("Alias {0} not found", [alias])) - End If - - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't delete alias", ex) - End Try - End Sub 'DeleteAlias - - Protected Overridable Function CreateMailboxItem(ByRef mdUserInfo As Object) As MailAccount - Dim mailbox As New MailAccount() - mailbox.Name = mdUserInfo.Email - - Dim names() As String = mdUserInfo.FullName.ToString().Split(New String() {" "}, StringSplitOptions.None) - - If names.Length = 2 Then - mailbox.FirstName = names(0) - mailbox.LastName = names(1) - ElseIf names.Length = 1 Then - mailbox.FirstName = names(0) - End If - - mailbox.Password = mdUserInfo.Password - mailbox.Item("Comments") = mdUserInfo.Comments - mailbox.Item("AutoDecode") = Convert.ToBoolean(mdUserInfo.AutoDecode) - mailbox.Item("MailFormat") = mdUserInfo.MailFormat - mailbox.Item("HideFromEveryone") = Convert.ToBoolean(mdUserInfo.HideFromEveryone) - mailbox.Item("AllowChangeViaEmail") = Convert.ToBoolean(mdUserInfo.AllowChangeViaEmail) - mailbox.Item("CheckAddrBook") = Convert.ToBoolean(mdUserInfo.CheckAddrBook) - mailbox.Item("EncryptEmail") = Convert.ToBoolean(mdUserInfo.EncryptEmail) - mailbox.Item("UpdateAddrBook") = Convert.ToBoolean(mdUserInfo.UpdateAddrBook) - 'forwarding - Dim isForwarding As Boolean = Convert.ToBoolean(mdUserInfo.IsForwarding) - - If isForwarding Then - mailbox.DeleteOnForward = True - mailbox.ForwardingAddresses = CStr(mdUserInfo.FwdAddress).Split(",".ToCharArray()) - mailbox.Item("FwdHost") = mdUserInfo.FwdHost - mailbox.Item("FwdPort") = mdUserInfo.FwdPort - mailbox.Item("FwdSendAs") = mdUserInfo.FwdSendAs - End If - - mailbox.RetainLocalCopy = Convert.ToBoolean(mdUserInfo.KeepForwardedMail) - - - mailbox.MaxMailboxSize = ParseLong(mdUserInfo.MaxDiskSpace, 0) / 1000 - - Return mailbox - End Function 'CreateMailboxItem - - Protected Overridable Sub PopulateMailboxAccessInfo(ByVal userDbPath As String, ByVal mailbox As MailAccount) - Dim service As Service = LoadServiceProvider() - - Dim hUser As Integer = service.ComObject.GetByEmail(mailbox.Name) - - If hUser = CInt(MD_HANDLE.MD_BADHANDLE) Then - Throw New Exception(String.Format("Mailbox '{0}' not found.", mailbox.Name)) - End If - - Dim mdUserInfo As Object = CreateMDUserInfo(service) - - PopulateUserInfo(mailbox, mdUserInfo) - service.ComObject.FilterUserInfo(mdUserInfo) - - Dim recordExists As Boolean - - Try - If AccountExists(mailbox.Name) Then - - Dim access As Long = 1 - - Select Case mdUserInfo.AccessType - Case 1 - mailbox.Enabled = True - mailbox.Item("EnableIMAP") = True - mailbox.Item("EnablePOP") = True - - Case 2 - mailbox.Enabled = True - mailbox.Item("EnableIMAP") = False - mailbox.Item("EnablePOP") = True - - Case 3 - mailbox.Enabled = True - mailbox.Item("EnableIMAP") = True - mailbox.Item("EnablePOP") = False - - Case Else - mailbox.Enabled = False - mailbox.Item("EnableIMAP") = False - mailbox.Item("EnablePOP") = False - - End Select - - recordExists = True - - End If - - If Not recordExists Then - Throw New Exception(String.Format("Could not find mailbox '{0}' info.", mailbox.Name)) - End If - - Catch ex As Exception - Throw New Exception(String.Format("Could not read mailbox '{0}' access info.", mailbox.Name), ex) - End Try - End Sub 'PopulateMailboxAccessInfo - - Protected Overridable Sub PopulateMailboxResponderInfo(ByVal responderDbPath As String, ByVal mailbox As MailAccount) - Try - If Not File.Exists(responderDbPath) Then - mailbox.ResponderEnabled = False - mailbox.ResponderMessage = String.Empty - Exit Sub - End If - - Dim retVal As Integer = GetProfileSection(mailbox.Name, responderDbPath) - - If retVal = 0 Then - mailbox.ResponderEnabled = False - mailbox.ResponderMessage = String.Empty - Else - mailbox.ResponderEnabled = True - Dim responderFile As String = GetProfileString(mailbox.Name, "MailBackFile", String.Empty, responderDbPath) - mailbox.ResponderSubject = GetProfileString(mailbox.Name, "ResponderSubject", String.Empty, responderDbPath) - - If responderFile Is Nothing Or responderFile.Length = 0 Then - Throw New Exception("Responder file not specified.") - End If - - If Not File.Exists(responderFile) Then - Throw New Exception("Responder file not found.") - End If - - Using reader As New StreamReader(responderFile) - 'Dim line As String = String.Empty - - 'Dim builder As StringBuilder = New StringBuilder() - - 'Do - ' line = reader.ReadLine() - - ' If line Is Nothing Then - ' Continue Do - ' End If - - ' builder.Append(line) - ' builder.Append(Environment.NewLine) - 'Loop While Not line Is Nothing - - 'mailbox.ResponderMessage = builder.ToString() - - mailbox.ResponderMessage = reader.ReadToEnd() - End Using - End If - Catch ex As Exception - Throw New Exception("Can't read mailbox responder info.", ex) - End Try - End Sub - - Protected Overridable Function CreateDomainItemFromProfile(ByVal domainName As String, ByVal profilePath As String) As MailDomain - Dim item As New MailDomain() - item.Name = domainName - item.MaxDomainUsers = DefaultDomainMaxUsers - item.MaxLists = DefaultDomainMaxLists - item.ServerIP = DefaultDomainIP - item.Item("MaxInactiveLimit") = DefaultDomainMaxInactive - item.Item("MaxMessageAge") = DefaultDomainMaxMessageAge - item.Item("MaxDeletedImapMessageAge") = DefaultDomainMaxDeletedIMAPMessageAge - item.Item("BindIP") = DefaultDomainBind - item.Item("RecurseIMAP") = DefaultDomainRecurseIMAP - item.Item("EnableAntiVirus") = DefaultDomainEnableAntiVirus - item.Item("EnableAntiSpam") = DefaultDomainEnableAntiSpam - - Dim retVal As Integer = GetProfileSection(domainName, profilePath) - If retVal <> 0 Then - Dim strMaxUsers As String = GetProfileString(domainName, "MaxUsers", DefaultDomainMaxUsers.ToString(), profilePath) - item.MaxDomainUsers = ParseInt32(strMaxUsers, DefaultDomainMaxUsers) - - Dim strMaxLists As String = GetProfileString(domainName, "MaxLists", DefaultDomainMaxLists.ToString(), profilePath) - item.MaxLists = ParseInt32(strMaxLists, DefaultDomainMaxLists) - - Dim strIP As String = GetProfileString(domainName, "IP", DefaultDomainIP, profilePath) - item.ServerIP = strIP - - item.Item("MaxInactiveLimit") = GetProfileString(domainName, "MaxInactive", DefaultDomainMaxInactive.ToString(), profilePath) - - item.Item("MaxMessageAge") = GetProfileString(domainName, "MaxMessageAge", DefaultDomainMaxMessageAge.ToString(), profilePath) - - item.Item("MaxDeletedImapMessageAge") = GetProfileString(domainName, "MaxDeletedIMAPMessageAge", DefaultDomainMaxDeletedIMAPMessageAge.ToString(), profilePath) - - item.Item("BindIP") = GetProfileString(domainName, "Bind", YesNoBooleanToString(DefaultDomainBind), profilePath) - - item.Item("RecurseIMAP") = GetProfileString(domainName, "RecurseIMAP", YesNoBooleanToString(DefaultDomainRecurseIMAP), profilePath) - - item.Item("EnableAntiVirus") = GetProfileString(domainName, "EnableAntiVirus", YesNoBooleanToString(DefaultDomainEnableAntiVirus), profilePath) - - item.Item("EnableAntiSpam") = GetProfileString(domainName, "EnableAntiSpam", YesNoBooleanToString(DefaultDomainEnableAntiSpam), profilePath) - End If - Return item - End Function 'CreateDomainItemFromProfile - - Protected Overridable Function MDListToMailGroup(ByRef mdList As Object) As MailGroup - Dim group As New MailGroup() - - group.Name = mdList.ListName - group.Item("CatalogName") = mdList.CatalogName - - group.Item("DefaultMode") = mdList.DefaultMode.ToString() - group.Item("DigestFlags") = mdList.DigestFlags.ToString() - group.Item("DigestMBF") = mdList.DigestMBF - - group.Item("FooterFilePath") = mdList.FooterFilePath - group.Item("HeaderFilePath") = mdList.HeaderFilePath - group.Item("KillFilePath") = mdList.KillFilePath - group.Item("ListFlags") = mdList.ListFlags.ToString() - group.Item("GroupPassword") = mdList.ListPassword - group.Item("ModeratorEmail") = mdList.ModeratorEmail - group.Item("NotificationEmail") = mdList.NotificationEmail - - group.Item("MaxLineCount") = mdList.MaxLineCount.ToString() - group.Item("MaxMembers") = mdList.MaxMembers.ToString() - group.Item("MaxMessageCount") = mdList.MaxMessageCount.ToString() - group.Item("MaxMessageSize") = mdList.MaxMessageSize.ToString() - - 'mdList.PrecedenceLevel = 50 - group.Item("PublicFolderName") = mdList.PublicFolderName - group.Item("RemoteHost") = mdList.RemoteHost - group.Item("ReplyAddress") = mdList.ReplyAddress - group.Item("RoutingLimit") = mdList.RoutingLimit.ToString() - group.Item("SendNotesTo") = mdList.SendNotesTo - group.Item("WelcomeFilePath") = mdList.WelcomeFilePath - - Return group - End Function - - Protected Overridable Function MailGroupToMDList(ByRef service As Service, ByRef group As MailGroup) As Object - Dim mdList As Object = Nothing - - If service.Succeed Then - mdList = CreateMDList(service, group.Name) - mdList.CatalogName = group.Item("CatalogName") - mdList.DefaultMode = ParseLong(group.Item("DefaultMode"), 1) - mdList.DigestFlags = ParseLong(group.Item("DigestFlags"), 0) - - mdList.DigestMBF = "DIGEST" - - mdList.FooterFilePath = group.Item("FooterFilePath") - mdList.HeaderFilePath = group.Item("HeaderFilePath") - mdList.KillFilePath = group.Item("KillFilePath") - - mdList.ListFlags = MDaemonInterop.MDLIST_AUTOPRUNE Or MDaemonInterop.MDLIST_USELISTNAME Or MDaemonInterop.MDLIST_CRACKMESSAGE Or MDaemonInterop.MDLIST_FORCEUNIQUEID - - mdList.ListName = group.Name - mdList.ListPassword = group.Item("GroupPassword") - mdList.ModeratorEmail = group.Item("ModeratorEmail") - mdList.NotificationEmail = group.Item("NotificationEmail") - - mdList.MaxLineCount = ParseLong(group.Item("MaxLineCount"), 0) - mdList.MaxMembers = ParseLong(group.Item("MaxMembers"), 0) - mdList.MaxMessageCount = ParseLong(group.Item("MaxMessageCount"), 0) - mdList.MaxMessageSize = ParseLong(group.Item("MaxMessageSize"), 0) - - mdList.PrecedenceLevel = 50 - - mdList.PublicFolderName = group.Item("PublicFolderName") - mdList.RemoteHost = group.Item("RemoteHost") - mdList.ReplyAddress = group.Item("ReplyAddress") - mdList.RoutingLimit = ParseLong(group.Item("RoutingLimit"), 0) - mdList.SendNotesTo = group.Item("SendNotesTo") - mdList.WelcomeFilePath = group.Item("WelcomeFilePath") - End If - - Return mdList - End Function - - Protected Overridable Function CreateMailGroupItem(ByRef service As Service, ByRef mdList As Object) As MailGroup - Dim group As MailGroup = Nothing - - group = MDListToMailGroup(mdList) - - Dim member As Object = CreateMDListMember(service) - Dim members As New List(Of String) - - Dim [next] As Boolean = mdList.GetFirstMember(member) - - While [next] - If Not member.Email Is Nothing And member.Email.Length > 0 Then - members.Add(member.Email) - End If - [next] = mdList.GetNextMember(member) - End While - - group.Members = members.ToArray() - - Return group - End Function 'CreateMailGroupItem - - - Protected Overridable Function CreateMailListItem(ByRef service As Service, ByRef mdList As Object) As MailList - Dim list As New MailList() - list.Name = mdList.ListName - - list.Password = mdList.ListPassword - list.ModeratorAddress = mdList.ModeratorEmail - list.MaxMessageSize = mdList.MaxMessageSize - list.Item("MaxMembers") = mdList.MaxMembers - - list.Item("FooterFilePath") = mdList.FooterFilePath - list.Item("HeaderFilePath") = mdList.HeaderFilePath - list.Item("SuppressionFilePath") = mdList.KillFilePath - list.Item("WelcomeFilePath") = mdList.WelcomeFilePath - - list.Moderated = (mdList.ListFlags And MDaemonInterop.MDLIST_MODERATED) = MDaemonInterop.MDLIST_MODERATED - If (mdList.ListFlags And MDaemonInterop.MDLIST_PRIVATE) = MDaemonInterop.MDLIST_PRIVATE Then - list.PostingMode = PostingMode.MembersCanPost - ElseIf (mdList.ListFlags And MDaemonInterop.MDLIST_PASSWORDPOST) = MDaemonInterop.MDLIST_PASSWORDPOST Then - list.PostingMode = PostingMode.PasswordProtectedPosting - Else - list.PostingMode = PostingMode.AnyoneCanPost - End If - - - - If mdList.ReplyAddress.Length > 0 Then - list.ReplyToMode = ReplyTo.RepliesToList - ElseIf mdList.ReplyAddress.Length = 0 Then - list.ReplyToMode = ReplyTo.RepliesToSender - End If - - - If (mdList.ListFlags And MDaemonInterop.MDLIST_LISTNAMEINSUBJECT) = MDaemonInterop.MDLIST_LISTNAMEINSUBJECT Then - list.Item("ShowNameInSubject") = "True" - End If - - If (mdList.ListFlags And MDaemonInterop.MDLIST_THREADNUMBINSUBJECT) = MDaemonInterop.MDLIST_THREADNUMBINSUBJECT Then - list.Item("ShowThreadNumbersInSubject") = "True" - End If - - If service.Succeed Then - Dim member As Object = CreateMDListMember(service) - Dim members As New List(Of String) - Dim [next] As Boolean = mdList.GetFirstMember(member) - - While [next] - If Not (member.Email Is Nothing) And member.Email.Length > 0 Then - members.Add(member.Email) - End If - [next] = mdList.GetNextMember(member) - End While - - list.Members = members.ToArray() - End If - - Return list - End Function 'CreateMailListItem - - Protected Overridable Function GetAllLists(ByRef service As Service) As String() - Dim arrayList As New List(Of String) - Dim objects As Object = Nothing - - Try - If service.Succeed Then - service.ComObject.GetMailingLists(objects) - Dim lists As Array = TryCast(objects, Array) - - If lists Is Nothing Then - Exit Try - End If - - Dim list As Object - - For Each list In lists - Dim listName As String = list.ToString() - If listName Is Nothing Then - Continue For - End If - If listName.Length = 0 Then - Continue For - End If - - arrayList.Add(listName) - Next list - End If - Catch ex As Exception - Throw New Exception("Can't get the list of mailing lists", ex) - End Try - - Return arrayList.ToArray() - End Function 'GetAllLists -#End Region - -#Region "Convert Routines" - Private Shared Function ParseLong(ByVal strValue As String, ByVal defaultValue As Long) As Long - Dim ret As Long = defaultValue - Try - ret = Long.Parse(strValue) - Catch - End Try - Return ret - End Function - - Private Shared Function ParseInt32(ByVal strValue As String, ByVal defaultValue As Integer) As Integer - Dim ret As Integer = defaultValue - Try - ret = Int32.Parse(strValue) - Catch - End Try - Return ret - End Function 'ParseInt32 - - Private Shared Function ParseYesNoBoolean(ByVal strValue As String, ByVal defaultValue As Boolean) As Boolean - Dim ret As Boolean = defaultValue - Dim val As String = strValue.Trim().ToLower() - If val = "yes" Then - ret = True - Else - If val = "no" Then - ret = False - End If - End If - Return ret - End Function 'ParseYesNoBoolean -#End Region - -#Region "Profile Section" - Private Shared Function DeleteProfileSection(ByVal section As String, ByVal file As String) As Boolean - Dim key As String = Nothing - Dim strValue As String = Nothing - Dim retVal As Integer = MDaemonInterop.WritePrivateProfileString(section, key, strValue, file) - Return retVal <> 0 - End Function 'DeleteProfileSection - - Private Shared Function WriteProfileSection(ByVal section As String, ByVal file As String) As Boolean - Dim content As String = String.Empty - Dim retVal As Integer = MDaemonInterop.WritePrivateProfileSection(section, content, file) - Return retVal <> 0 - End Function 'WriteProfileSection - - Private Shared Function WriteProfileString(ByVal section As String, ByVal key As String, ByVal strValue As String, ByVal file As String) As Boolean - Dim retVal As Integer = MDaemonInterop.WritePrivateProfileString(section, key, strValue, file) - Return retVal <> 0 - End Function 'WriteProfileString - - Private Shared Function GetProfileString(ByVal section As String, ByVal key As String, ByVal defaultValue As String, ByVal file As String) As String - Dim retVal As Integer = 0 - Dim retString As New String(" "c, &H100) - retVal = MDaemonInterop.GetPrivateProfileString(section, key, defaultValue, retString, &HFF, file) - If retVal = 0 Then - retString = Nothing - Else - retString = Trim(retString).Replace(CStr(ControlChars.NullChar), "") - End If - Return retString - End Function 'GetProfileString - - Private Shared Function GetProfileSection(ByVal section As String, ByVal file As String) As Integer - Dim retVal As Integer = 0 - Dim retString As String = String.Empty - retVal = MDaemonInterop.GetPrivateProfileSection(section, retString, &HFF, file) - Return retVal - End Function 'GetProfileSection -#End Region - - Public Function AccountExists(ByVal mailboxName As String) As Boolean Implements IMailServer.AccountExists - Dim service As Service = LoadServiceProvider() - Dim exists As Boolean = False - - If service.Succeed Then - exists = service.ComObject.UserExists(mailboxName) - End If - - UnloadServiceProvider(service) - - Return exists - End Function - - Public Sub AddDomainAlias(ByVal domainName As String, ByVal aliasName As String) Implements IMailServer.AddDomainAlias - Dim service As Service = LoadServiceProvider() - - Try - aliasName = String.Concat("*@", aliasName) - domainName = String.Concat("*@", domainName) - - Dim succeed As Boolean = service.ComObject.CreateAlias(domainName, aliasName) - - If Not succeed Then - Throw New Exception("Can't add domain alias.") - End If - - ' force to refresh cache - RefreshMailServerCache(service) - - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - - Throw New Exception("Can't add domain alias.", ex) - End Try - - End Sub - - Public Sub CreateAccount(ByVal mailbox As MailAccount) Implements IMailServer.CreateAccount - Dim service As Service = LoadServiceProvider() - - Try - Dim mdUserInfo As Object = CreateMDUserInfo(service) - PopulateUserInfo(mailbox, mdUserInfo) - service.ComObject.FilterUserInfo(mdUserInfo) - Dim errorCode As Integer = service.ComObject.AddUser(mdUserInfo) - - Select Case CType(errorCode, MD_ERROR) - Case MD_ERROR.MDDLLERR_NOERROR - Dim userDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_USERLISTDB) - - UpdateUserAccessInfo(userDbPath, mailbox) - - Dim responderDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_AUTORESPDB) - - UpdateUserResponderInfo(responderDbPath, mailbox) - 'service.ComObject.ReloadUsers() - Case MD_ERROR.MDDLLERR_USEREXISTS - Throw New Exception("Mailbox is already registered.") - Case Else - Throw New Exception(String.Format("Could not add user. Error code {0}", errorCode)) - End Select - - ' force to refresh cache - 'RefreshMailServerCache(service) - - ' force to reload DLL data - 'service.ComObject.ReloadUsers() - - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't create mailbox", ex) - End Try - End Sub - - Public Sub CreateDomain(ByVal domain As MailDomain) Implements IMailServer.CreateDomain - Dim service As Service = LoadServiceProvider() - - Try - Dim domainDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_DOMAINDB) - Dim retVal As Integer = GetProfileSection(domain.Name, domainDbPath) - If retVal <> 0 Then - Throw New Exception(String.Format("Domain '{0}' already exists on the server", domain.Name)) - End If - If Not WriteProfileSection(domain.Name, domainDbPath) Then - Throw New Exception(String.Format("Could not create profile section in '{0}' file.", domainDbPath)) - End If - WriteDomainInfo(domain, domainDbPath) - - ' force to refresh cache - RefreshMailServerCache(service) - - ' force to reload DLL data - service.ComObject.ReloadUsers() - - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't create domain", ex) - End Try - End Sub - - Public Sub CreateGroup(ByVal group As MailGroup) Implements IMailServer.CreateGroup - Try - If GroupExists(group.Name) Then - Throw New Exception(String.Format("Group {0} already exists.", group.Name)) - End If - PopulateGroupInfo(group, True) - Catch ex As Exception - Throw New Exception("Can't create group.", ex) - End Try - End Sub - - Public Sub CreateList(ByVal maillist As MailList) Implements IMailServer.CreateList - Try - If MailListExists(maillist.Name) Then - Throw New Exception(String.Format("Mail list {0} already exists.", maillist.Name)) - End If - - PopulateMailListInfo(maillist, False) - Catch ex As Exception - Throw New Exception("Can't create mail list.", ex) - End Try - End Sub - - Public Sub DeleteAccount(ByVal mailboxName As String) Implements IMailServer.DeleteAccount - Dim service As Service = LoadServiceProvider() - Try - Dim res As Boolean = service.ComObject.DeleteUser(mailboxName, CInt(MD_DELFLAGS.MDUSERDLL_DDELETEALL)) - If Not res Then - Throw New Exception("Can't delete mailbox") - End If - - UnloadServiceProvider(service) - - ' force to refresh cache - RefreshMailServerCache(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't delete mailbox", ex) - End Try - End Sub - - Public Function MailAliasExists(ByVal mailAliasName As String) As Boolean Implements IMailServer.MailAliasExists - Dim path As String = GetAppFolderPath() + "Alias.dat" - Dim split As String() - Using sr As StreamReader = New StreamReader(path) - Dim line As String - Do - line = sr.ReadLine() - If (Not String.IsNullOrEmpty(line)) Then - split = line.Split(New [Char]() {"="c}) - Else - Continue Do - End If - If mailAliasName.Equals(split(0).Trim) Then - Return True - End If - Loop Until line Is Nothing - sr.Close() - End Using - Return False - End Function - - Public Function GetMailAliases(ByVal domainName As String) As MailAlias() Implements IMailServer.GetMailAliases - Dim aliases As List(Of MailAlias) = New List(Of MailAlias) - Dim path As String = GetAppFolderPath() + "Alias.dat" - Dim split As String() - Using sr As StreamReader = New StreamReader(path) - Dim line As String - Do - line = sr.ReadLine() - If (Not String.IsNullOrEmpty(line)) Then - split = line.Split(New [Char]() {"="c}) - Else - Continue Do - End If - If domainName.Equals(GetDomainName(split(0).Trim)) Then - Dim mailAlias As New MailAlias() - mailAlias.Name = split(0).Trim - mailAlias.ForwardTo = split(1).Trim - aliases.Add(mailAlias) - End If - Loop Until line Is Nothing - sr.Close() - End Using - - - Return aliases.ToArray - End Function - - Public Function GetMailAlias(ByVal mailAliasName As String) As MailAlias Implements IMailServer.GetMailAlias - Dim mailAlias As New MailAlias - Dim newMailAlias As New MailAlias - - If AccountExists(mailAliasName) Then - Try - Dim mailAccount As MailAccount = GetAccount(mailAliasName) - newMailAlias.Name = mailAccount.Name - newMailAlias.ForwardTo = mailAccount.ForwardingAddresses(0) - 'delete incorrect account - DeleteAccount(mailAliasName) - 'recreate mail alias - CreateMailAlias(newMailAlias) - Return newMailAlias - Catch ex As Exception - 'do nothing - End Try - End If - - Dim path As String = GetAppFolderPath() + "Alias.dat" - Dim split As String() - Using sr As StreamReader = New StreamReader(path) - Dim line As String - Do - line = sr.ReadLine() - If (Not String.IsNullOrEmpty(line)) Then - split = line.Split(New [Char]() {"="c}) - Else - Continue Do - End If - If mailAliasName.Equals(split(0).Trim) Then - mailAlias.Name = split(0).Trim - mailAlias.ForwardTo = split(1).Trim - Exit Do - End If - Loop Until line Is Nothing - sr.Close() - End Using - Return mailAlias - End Function - - Public Sub CreateMailAlias(ByVal mailAlias As MailAlias) Implements IMailServer.CreateMailAlias - - Dim service As Service = LoadServiceProvider() - Dim succeed As Boolean = service.ComObject.CreateAlias(mailAlias.ForwardTo, mailAlias.Name) - - If Not succeed Then - Throw New Exception(String.Format("Could not create mail alias {0}", mailAlias.Name)) - End If - End Sub - - Public Sub UpdateMailAlias(ByVal mailAlias As MailAlias) Implements IMailServer.UpdateMailAlias - DeleteMailAlias(mailAlias.Name) - 'recreate alias - CreateMailAlias(mailAlias) - End Sub - - Public Sub DeleteMailAlias(ByVal mailAliasName As String) Implements IMailServer.DeleteMailAlias - Dim service As Service = LoadServiceProvider() - Dim mailAlias As MailAlias = GetMailAlias(mailAliasName) - - Dim succeed As Boolean = service.ComObject.DeleteAlias(mailAlias.ForwardTo, mailAlias.Name) - - If Not succeed Then - Throw New Exception(String.Format("Could not delete mail alias {0}", mailAlias.Name)) - End If - End Sub - - Public Sub DeleteDomain(ByVal domainName As String) Implements IMailServer.DeleteDomain - Dim service As Service = LoadServiceProvider() - - Try - service.ComObject.DeleteDomain(domainName) - - ' force to refresh cache - RefreshMailServerCache(service) - - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't delete domain", ex) - End Try - End Sub - - Public Overrides Sub DeleteServiceItems(ByVal items() As ServiceProviderItem) - - For Each item As ServiceProviderItem In items - - If (TypeOf item Is MailDomain) Then - - Try - DeleteDomain(item.Name) - Catch ex As Exception - Log.WriteError(String.Format("Error deleting '{0}' SmarterMail domain", item.Name), ex) - End Try - - End If - - Next - - End Sub - - - Public Sub DeleteDomainAlias(ByVal domainName As String, ByVal aliasName As String) Implements IMailServer.DeleteDomainAlias - Try - If Not DomainAliasExists(domainName, aliasName) Then - Throw New Exception(String.Format("Domain alias {0} does not exist", aliasName)) - End If - Dim [alias] As String = "*@" + aliasName - Dim domain As String = "*@" + domainName - DeleteAlias(domain, [alias]) - Catch ex As Exception - Throw New Exception("Can't delete domain alias", ex) - End Try - End Sub - - Public Sub DeleteGroup(ByVal groupName As String) Implements IMailServer.DeleteGroup - DeleteList(groupName) - End Sub - - Public Sub DeleteList(ByVal maillistName As String) Implements IMailServer.DeleteList - Dim service As Service = LoadServiceProvider() - - Try - service.ComObject.DeleteList(maillistName) - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't delete list", ex) - End Try - - End Sub - - Public Function DomainAliasExists(ByVal domainName As String, ByVal aliasName As String) As Boolean Implements IMailServer.DomainAliasExists - Dim exists As Boolean = False - - Try - Dim aliases As String() = GetDomainAliases(domainName) - Dim [alias] As String - For Each [alias] In aliases - If String.Compare([alias], aliasName, True) = 0 Then - exists = True - Exit For - End If - Next [alias] - Catch ex As Exception - Throw New Exception("Can't check whether domain alias exists", ex) - End Try - - Return exists - End Function - - Public Function DomainExists(ByVal domainName As String) As Boolean Implements IMailServer.DomainExists - Try - Dim ret As Boolean = False - Dim domains() As String = GetDomains() - Dim domain As String - For Each domain In domains - If String.Compare(domain, domainName, True) = 0 Then - ret = True - Exit For - End If - Next domain - Return ret - Catch ex As Exception - Throw New Exception("Can't check whether domain exists", ex) - End Try - End Function - - Public Function GetDomains() As String() Implements IMailServer.GetDomains - Dim service As Service = LoadServiceProvider() - - Try - Dim domainsCount As Integer = service.ComObject.GetDomainCount() - Dim domains() As Object = New Object() {domainsCount} - service.ComObject.GetDomainNames(domains) - - Dim ret As New ArrayList() - Dim domain As Object - For Each domain In domains - ret.Add(domain.ToString()) - Next domain - - UnloadServiceProvider(service) - - Return CType(ret.ToArray(GetType(String)), String()) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't get the list of domains", ex) - End Try - End Function 'GetDomains - - Public Function GetAccount(ByVal mailboxName As String) As MailAccount Implements IMailServer.GetAccount - Dim service As Service = LoadServiceProvider() - Dim mailbox As MailAccount = Nothing - - Try - Dim hUser As Integer = service.ComObject.GetByEmail(mailboxName) - - If hUser = CInt(MD_HANDLE.MD_BADHANDLE) Then - Throw New Exception(String.Format("Mailbox '{0}' not found.", mailboxName)) - End If - - Dim mdUserInfo As Object = CreateMDUserInfo(service) - service.ComObject.GetUserInfo(hUser, mdUserInfo) - - mailbox = CreateMailboxItem(mdUserInfo) - - Dim userDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_USERLISTDB) - PopulateMailboxAccessInfo(userDbPath, mailbox) - - Dim responderDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_AUTORESPDB) - PopulateMailboxResponderInfo(responderDbPath, mailbox) - - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't get mailbox", ex) - End Try - - Return mailbox - End Function - - Public Function GetAccounts(ByVal domainName As String) As MailAccount() Implements IMailServer.GetAccounts - Dim service As Service = LoadServiceProvider() - Dim accounts As List(Of MailAccount) = New List(Of MailAccount) - - Try - Dim badHandle As Integer = CType(MD_HANDLE.MD_BADHANDLE, Integer) - Dim hUser As Integer = service.ComObject.FindFirst() - - Do - If hUser = badHandle Then - Continue Do - End If - - Dim domain As String = service.ComObject.GetDomain(hUser) - If String.Compare(domain, domainName, True) = 0 Then - Dim mailbox As String = service.ComObject.GetEmail(hUser) - Dim fullname As String = service.ComObject.GetFullName(hUser) - - Dim account As MailAccount = New MailAccount() - account.Name = mailbox - Dim names() As String = fullname.Split(New String() {" "}, StringSplitOptions.None) - - If names.Length = 2 Then - account.FirstName = names(0) - account.LastName = names(1) - ElseIf names.Length = 1 Then - account.FirstName = names(0) - End If - - accounts.Add(account) - End If - hUser = service.ComObject.FindNext(hUser) - Loop While Not hUser = badHandle - - service.ComObject.FindClose() - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't get the list of domain users", ex) - End Try - - Return accounts.ToArray() - End Function - - Public Function GetDomain(ByVal domainName As String) As MailDomain Implements IMailServer.GetDomain - Dim service As Service = LoadServiceProvider() - Dim domainItem As MailDomain = Nothing - - Try - If Not DomainExists(domainName) Then - Throw New Exception(String.Format("Domain '{0}' does not exist", domainName)) - End If - - Dim domainDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_DOMAINDB) - domainItem = CreateDomainItemFromProfile(domainName, domainDbPath) - - ' read catch-all and abuse accounts - Dim postmasterAlias As String = String.Concat("Postmaster@", domainItem.Name) - Dim abuseAlias As String = String.Concat("Abuse@", domainItem.Name) - - Dim mdAlias As Object = CreateMDAlias(service) - Dim aliasItem As Object = CreateMDAliasItem(service) - Dim result As Boolean = mdAlias.GetFirstAlias(aliasItem) - - While result - If String.Compare(postmasterAlias, aliasItem.Alias, True) = 0 Then - domainItem.CatchAllAccount = GetEmailName(aliasItem.Email) - ElseIf String.Compare(abuseAlias, aliasItem.Alias, True) = 0 Then - domainItem.AbuseAccount = GetEmailName(aliasItem.Email) - End If - - If Not String.IsNullOrEmpty(domainItem.CatchAllAccount) AndAlso Not String.IsNullOrEmpty(domainItem.AbuseAccount) Then - Exit While - End If - - result = mdAlias.GetNextAlias(aliasItem) - End While - - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't get domain info", ex) - End Try - - Return domainItem - End Function - - Public Function GetDomainAliases(ByVal domainName As String) As String() Implements IMailServer.GetDomainAliases - Dim service As Service = LoadServiceProvider() - Dim aliases As New ArrayList() - Dim domainPattern As String = "*@" + domainName - - Try - Dim mdAlias As Object = CreateMDAlias(service) - Dim aliasItem As Object = CreateMDAliasItem(service) - Dim result As Boolean = mdAlias.GetFirstAlias(aliasItem) - While result - Dim domain As String = aliasItem.Email - If String.Compare(domain, domainPattern, True) = 0 Then - Dim [alias] As String = GetDomainName(aliasItem.Alias) - aliases.Add([alias]) - End If - result = mdAlias.GetNextAlias(aliasItem) - End While - UnloadServiceProvider(service) - Return CType(aliases.ToArray(GetType(String)), String()) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't get the list of domain aliases", ex) - End Try - End Function - - Public Function GetGroup(ByVal groupName As String) As MailGroup Implements IMailServer.GetGroup - Dim service As Service = LoadServiceProvider() - Dim mailGroup As MailGroup = Nothing - - Try - Dim mdList As Object = CreateMDList(service, groupName) - mailGroup = CreateMailGroupItem(service, mdList) - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't get group", ex) - End Try - - Return mailGroup - End Function - - Public Function GetGroups(ByVal domainName As String) As MailGroup() Implements IMailServer.GetGroups - Dim service As Service = LoadServiceProvider() - Dim groups As New List(Of MailGroup) - - Try - Dim lists As String() = GetAllLists(service) - Dim mdList As Object = Nothing - Dim listName As String - - For Each listName In lists - Dim domain As String = GetDomainName(listName) - If String.Compare(domain, domainName, True) <> 0 Then - Continue For - End If - - mdList = CreateMDList(service, listName) - If mdList.PrecedenceLevel = 50 Then - Dim item As New MailGroup() - item.Name = listName - groups.Add(item) - End If - Next listName - - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't get the list of domain groups", ex) - End Try - - Return groups.ToArray() - End Function - - Public Function GetList(ByVal maillistName As String) As MailList Implements IMailServer.GetList - Dim service As Service = LoadServiceProvider() - Dim mailList As MailList = Nothing - - Try - Dim mdList As Object = CreateMDList(service, maillistName) - mailList = CreateMailListItem(service, mdList) - - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't get mail list", ex) - End Try - - Return mailList - End Function - - Public Function GetLists(ByVal domainName As String) As MailList() Implements IMailServer.GetLists - Dim service As Service = LoadServiceProvider() - Dim arrayList As New List(Of MailList) - - Try - Dim lists As String() = GetAllLists(service) - Dim mdList As Object = Nothing - Dim listName As String - - For Each listName In lists - Dim domain As String = GetDomainName(listName) - If String.Compare(domain, domainName, True) <> 0 Then - Continue For - End If - - mdList = CreateMDList(service, listName) - If mdList.PrecedenceLevel <> 50 Then - Dim item As New MailList() - item.Name = listName - arrayList.Add(item) - End If - Next listName - - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't get the list of mailing lists.", ex) - End Try - - Return arrayList.ToArray() - End Function - - Public Function GroupExists(ByVal groupName As String) As Boolean Implements IMailServer.GroupExists - Return EmailExists(groupName) - End Function - - Public Function ListExists(ByVal maillistName As String) As Boolean Implements IMailServer.ListExists - Return EmailExists(maillistName) - End Function - - Public Sub UpdateAccount(ByVal mailbox As MailAccount) Implements IMailServer.UpdateAccount - Dim service As Service = LoadServiceProvider() - - Try - Dim hUser As Integer = service.ComObject.GetByEmail(mailbox.Name) - - If hUser = CInt(MD_HANDLE.MD_BADHANDLE) Then - Throw New Exception(String.Format("Mailbox '{0}' not found.", mailbox.Name)) - End If - - Dim mdUserInfo As Object = CreateMDUserInfo(service) - - PopulateUserInfo(mailbox, mdUserInfo) - service.ComObject.FilterUserInfo(mdUserInfo) - - If mailbox.Enabled = True Then - mdUserInfo.AccessType = "Y"c - Else - mdUserInfo.AccessType = "C"c - End If - - Dim errorCode As Integer = service.ComObject.VerifyUserInfo(mdUserInfo, CInt(MD_VRFYFLAGS.MDUSERDLL_VRFYALL)) - If errorCode <> CInt(MD_ERROR.MDDLLERR_NOERROR) Then - Throw New Exception(String.Format("Could not validate account info. Please make sure that all entries are valid. Error code {0}", errorCode)) - End If - - If Not service.ComObject.SetUserInfo(hUser, mdUserInfo) Then - Throw New Exception(String.Format("Could not update mailbox '{0}'", mailbox.Name)) - End If - - Dim userDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_USERLISTDB) - UpdateUserAccessInfo(userDbPath, mailbox) - - Dim responderDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_AUTORESPDB) - UpdateUserResponderInfo(responderDbPath, mailbox) - - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception(String.Format("Could not update mailbox '{0}'", mailbox.Name), ex) - End Try - End Sub - - Public Sub UpdateDomain(ByVal domain As MailDomain) Implements IMailServer.UpdateDomain - Dim service As Service = LoadServiceProvider() - - Try - Dim postmaster As String = String.Concat(domain.CatchAllAccount, "@", domain.Name) - Dim abuse As String = String.Concat(domain.AbuseAccount, "@", domain.Name) - - Dim postmasterAlias As String = String.Concat("Postmaster@", domain.Name) - Dim abuseAlias As String = String.Concat("Abuse@", domain.Name) - - Dim pmOldEmail As String = Nothing - Dim abOldEmail As String = Nothing - - Dim mdAlias As Object = CreateMDAlias(service) - Dim aliasItem As Object = CreateMDAliasItem(service) - Dim result As Boolean = mdAlias.GetFirstAlias(aliasItem) - - While result - If String.Compare(postmasterAlias, aliasItem.Alias, True) = 0 Then - pmOldEmail = aliasItem.Email - ElseIf String.Compare(abuseAlias, aliasItem.Alias, True) = 0 Then - abOldEmail = aliasItem.Email - End If - - If Not String.IsNullOrEmpty(pmOldEmail) AndAlso Not String.IsNullOrEmpty(abOldEmail) Then - Exit While - End If - - result = mdAlias.GetNextAlias(aliasItem) - End While - - ' cleanup postmaster alias - If Not String.IsNullOrEmpty(pmOldEmail) Then - service.ComObject.DeleteAlias(postmasterAlias, pmOldEmail) - End If - - ' cleanup abuse alias - If Not String.IsNullOrEmpty(abOldEmail) Then - service.ComObject.DeleteAlias(abuseAlias, abOldEmail) - End If - - If Not service.ComObject.CreateAlias(postmaster, postmasterAlias) Then - Throw New Exception("Couldn't assign domain postmaster account.") - End If - - If Not service.ComObject.CreateAlias(abuse, abuseAlias) Then - Throw New Exception("Couldn't assign domain abuse account.") - End If - - Dim domainDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_DOMAINDB) - Dim retVal As Integer = GetProfileSection(domain.Name, domainDbPath) - - If retVal = 0 Then - If Not WriteProfileSection(domain.Name, domainDbPath) Then - Throw New Exception(String.Format("Could not create profile section in '{0}' file.", domainDbPath)) - End If - End If - - WriteDomainInfo(domain, domainDbPath) - - ' force to refresh cache - RefreshMailServerCache(service) - - 'reload domains - service.ComObject.ReloadUsers() - - UnloadServiceProvider(service) - Catch ex As Exception - UnloadServiceProvider(service) - Throw New Exception("Can't update domain", ex) - End Try - End Sub - - Public Sub UpdateGroup(ByVal group As MailGroup) Implements IMailServer.UpdateGroup - Try - If Not GroupExists(group.Name) Then - Throw New Exception(String.Format("Group {0} does not exists.", group.Name)) - End If - PopulateGroupInfo(group, False) - Catch ex As Exception - Throw New Exception("Can't update group.", ex) - End Try - End Sub - - Public Sub UpdateList(ByVal maillist As MailList) Implements IMailServer.UpdateList - Try - If Not GroupExists(maillist.Name) Then - Throw New Exception(String.Format("Mail list {0} does not exists.", maillist.Name)) - End If - PopulateMailListInfo(maillist, False) - Catch ex As Exception - Throw New Exception("Can't update mail list.", ex) - End Try - End Sub - -#Region "HostingServiceProvider methods" - Public Overrides Sub ChangeServiceItemsState(ByVal items() As ServiceProviderItem, ByVal enabled As Boolean) - For Each item As ServiceProviderItem In items - If TypeOf item Is MailDomain Then - Try - ' get mail domain accounts - Dim accounts As MailAccount() = Me.GetAccounts(item.Name) - ' disable each mail account - For Each account As MailAccount In accounts - account.Enabled = enabled - ' change service item state - UpdateAccount(account) - Next - Catch ex As Exception - Log.WriteError(String.Format("Error switching '{0}' mail domain", item.Name), ex) - End Try - End If - Next - End Sub -#End Region - - Public Function GetAppFolderPath() As String - Dim uninstalString As String = "" - Dim returnPath As String = "" - Dim key32bit As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MDaemon Server") - If (key32bit IsNot Nothing) Then - uninstalString = CStr(key32bit.GetValue("UninstallString")) - Else - Dim key64bit As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\MDaemon Server") - If (key64bit IsNot Nothing) Then - uninstalString = CStr(key32bit.GetValue("UninstallString")) - Else - Return "C:\MDaemon\App\" - End If - End If - If [String].IsNullOrEmpty(uninstalString) = False Then - Dim split As String() = uninstalString.Split(New [Char]() {" "c}) - returnPath = split(0).Remove(split(0).LastIndexOf("\") + 1) - End If - - If [String].IsNullOrEmpty(uninstalString) = False Then - Return returnPath - End If - Return "C:\MDaemon\App\" - End Function - - Public Overrides Function IsInstalled() As Boolean - Dim version As String = "" - Dim key32bit As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MDaemon Server") - If (key32bit IsNot Nothing) Then - version = CStr(key32bit.GetValue("DisplayVersion")) - Else - Dim key64bit As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\MDaemon Server") - If (key64bit IsNot Nothing) Then - version = CStr(key64bit.GetValue("DisplayVersion")) - Else - Return False - End If - End If - If [String].IsNullOrEmpty(version) = False Then - Dim split As String() = version.Split(New [Char]() {"."c}) - Return split(0).Equals("9") Or split(0).Equals("10") Or split(0).Equals("11") - Else - Return False - End If - End Function - +' SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Imports WebsitePanel.Providers.Utils +Imports WebsitePanel.Server.Utils +Imports WebsitePanel.Providers.Common + + +Imports System.IO +Imports System.Text +Imports System.Collections +Imports System.Collections.Generic +Imports System.Runtime.InteropServices +Imports Microsoft.Win32 + + +Public Class MDaemon + Inherits HostingServiceProviderBase + Implements IMailServer + +#Region "Constants" + Public Const ALIAS_PROG_ID As String = "MDUserCOM.MDAlias" + Public Const ALIAS_ITEM_PROG_ID As String = "MDUserCOM.MDAliasItem" + Public Const LIST_PROG_ID As String = "MDUserCOM.MDList" + Public Const LIST_MEMBER_PROG_ID As String = "MDUserCOM.MDListMember" + Public Const MESSAGE_INFO_PROG_ID As String = "MDUserCOM.MDMessageInfo" + Public Const RULE_PROG_ID As String = "MDUserCOM.MDRule" + Public Const USER_PROG_ID As String = "MDUserCOM.MDUser" + Public Const USER_INFO_PROG_ID As String = "MDUserCOM.MDUserInfo" + Public Const GATEWAY_INFO_PROG_ID As String = "MDUserCOM.MDGateway" + + Private Const DefaultDomainMaxUsers As Integer = 0 + Private Const DefaultDomainMaxLists As Integer = 0 + Private Const DefaultDomainIP As String = "127.0.0.1" + Private Const DefaultDomainMaxInactive As Integer = 0 + Private Const DefaultDomainMaxMessageAge As Integer = 0 + Private Const DefaultDomainMaxDeletedIMAPMessageAge As Integer = 0 + Private Const DefaultDomainBind As Boolean = False + Private Const DefaultDomainRecurseIMAP As Boolean = False + Private Const DefaultDomainEnableAntiVirus As Boolean = True + Private Const DefaultDomainEnableAntiSpam As Boolean = True +#End Region + +#Region "Properties" + Public Property EnableIMAP() As Boolean + Get + Return Convert.ToBoolean(ProviderSettings("EnableIMAP")) + End Get + Set(ByVal value As Boolean) + ProviderSettings.Settings("EnableIMAP") = value.ToString() + End Set + End Property + + Public Property EnablePOP() As Boolean + Get + Return Convert.ToBoolean(ProviderSettings("EnablePOP")) + End Get + Set(ByVal value As Boolean) + ProviderSettings.Settings("EnablePOP") = value.ToString() + End Set + End Property +#End Region + +#Region "Internal Classes" + Class Service + Public ComObject As Object + Public Succeed As Boolean + End Class +#End Region + +#Region "Ctors" + Public Sub New() + + End Sub +#End Region + +#Region "Helper Methods" + Protected Sub RefreshMailServerCache(ByRef service As Service) + Try + Dim appCachePath As String = service.ComObject.GetAppDir() + + If Not String.IsNullOrEmpty(appCachePath) Then + appCachePath = Path.Combine(appCachePath, "ReloadCache.SEM") + File.Create(appCachePath).Close() + End If + Catch ex As Exception + + End Try + End Sub + + Protected Overridable Function LoadServiceProvider() As Service + Dim result As Service = New Service() + + Try + + Dim comObject As Object = CreateObject(USER_PROG_ID) + result.Succeed = comObject.LoadUserDll() + + If result.Succeed Then + result.ComObject = comObject + Else + result.ComObject = Nothing + Log.WriteInfo("MDUserCOM.LoadUserDll failed to initialize COM object.") + End If + + Catch ex As Exception + + Log.WriteError("Couldn't create MDUserCOM.MDUser ActiveX object.", ex) + + result.ComObject = Nothing + result.Succeed = True + + End Try + + Return result + End Function + + Protected Overridable Sub UnloadServiceProvider(ByRef service As Service) + If service.Succeed Then + service.ComObject.FreeUserDll() + End If + End Sub + + Protected Overridable Function CreateMDAliasItem(ByRef service As Service) As Object + Dim mdAlias As Object = Nothing + + If service.Succeed Then + Try + mdAlias = CreateObject(ALIAS_ITEM_PROG_ID) + Catch ex As Exception + Log.WriteError("Couldn't create MDUserCOM.MDAliasItem Acivex object.", ex) + End Try + End If + + Return mdAlias + End Function + + + Public Overrides Function Install() As String() + + Dim service As Service = LoadServiceProvider() + Dim file As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_MDAEMONINIDB) + + Dim value As String = ProviderSettings.Settings.Item(Constants.RelayAliasedMail) + Dim relayAliasedMail As Boolean = Boolean.Parse(value) + Dim relayAliasedMailValue As String = "No" + + If relayAliasedMail Then + relayAliasedMailValue = "Yes" + End If + + WriteProfileString("SPECIAL", Constants.RelayAliasedMail, relayAliasedMailValue, file) + Return MyBase.Install() + + End Function + + + + Protected Overridable Function CreateMDAlias(ByRef service As Service) As Object + Dim mdAlias As Object = Nothing + + If service.Succeed Then + Try + mdAlias = CreateObject(ALIAS_PROG_ID) + Catch ex As Exception + Log.WriteError("Couldn't create MDUserCOM.MDAlias Acivex object.", ex) + End Try + End If + + Return mdAlias + End Function + + Protected Overridable Function CreateMDList(ByRef service As Service, ByRef listName As String) As Object + Dim mdList As Object = Nothing + + If service.Succeed Then + Try + mdList = CreateObject(LIST_PROG_ID) + service.ComObject.InitListInfo(mdList, listName) + Catch ex As Exception + Log.WriteError("Couldn't create MDUserCOM.MDList ActiveX object.", ex) + End Try + End If + + Return mdList + End Function + + Protected Overridable Function CreateMDUserInfo(ByRef service As Service) As Object + Dim mdUserInfo As Object = Nothing + + Try + mdUserInfo = CreateObject(USER_INFO_PROG_ID) + service.ComObject.InitUserInfo(mdUserInfo) + Catch ex As Exception + Log.WriteError("Couldn't create MDUserCOM.MDUserInfo ActiveX object.", ex) + End Try + + Return mdUserInfo + End Function + + Protected Overridable Function CreateMDListMember(ByRef service As Service) As Object + Dim mdListMember As Object = Nothing + + If service.Succeed Then + Try + mdListMember = CreateObject(LIST_MEMBER_PROG_ID) + Catch ex As Exception + Log.WriteError("Couldn't create MDUserCOM.MDListMember ActiveX object.", ex) + End Try + End If + + Return mdListMember + End Function + + Protected Overridable Function LoadMDGateway(ByRef service As Service) As Object + Dim mdGateway As Object = Nothing + + If service.Succeed Then + Try + mdGateway = CreateObject(GATEWAY_INFO_PROG_ID) + Catch ex As Exception + Log.WriteError("Couldn't create MDUserCOM.MDGateway ActiveX object.", ex) + End Try + End If + + Return mdGateway + End Function + + Protected Sub UnloadMDGateway(ByRef service As Service, ByRef mdGateway As Object) + If service.Succeed Then + service.ComObject.FreeGateway(mdGateway) + End If + End Sub + + Protected Function GetEmailName(ByVal mailbox As String) + Return mailbox.Substring(0, mailbox.IndexOf("@")) + End Function + + Protected Function GetDomainName(ByVal mailbox As String) + Return mailbox.Substring(mailbox.IndexOf("@") + 1) + End Function + + Protected Overridable Function GetApplicationDir() As String + Dim service As Service = LoadServiceProvider() + + Try + + Dim appDir As String = service.ComObject.GetAppDir() + UnloadServiceProvider(service) + Return appDir + + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't get application dir", ex) + End Try + + End Function + + + Protected Overridable Sub PopulateUserInfo(ByRef account As MailAccount, ByRef mdUserInfo As Object) + + If Not account.ForwardingAddresses Is Nothing AndAlso account.ForwardingAddresses.Length > 0 Then + If String.IsNullOrEmpty(account.FirstName) Then + mdUserInfo.FwdAddress = String.Join(",", account.ForwardingAddresses) + mdUserInfo.IsForwarding = True + mdUserInfo.KeepForwardedMail = account.RetainLocalCopy + mdUserInfo.FullName = "Mail Forwarding" + + Else + mdUserInfo.FwdAddress = String.Join(",", account.ForwardingAddresses) + mdUserInfo.IsForwarding = True + mdUserInfo.KeepForwardedMail = account.RetainLocalCopy + mdUserInfo.FullName = String.Concat(account.FirstName, " ", account.LastName) + End If + + Else + mdUserInfo.FullName = String.Concat(account.FirstName, " ", account.LastName) + mdUserInfo.IsForwarding = False + End If + + mdUserInfo.MailBox = GetEmailName(account.Name) + mdUserInfo.Domain = GetDomainName(account.Name) + mdUserInfo.Password = account.Password + mdUserInfo.Email = account.Name + + ' TRUE if account is configured to auto-extract attachments + mdUserInfo.AutoDecode = Convert.ToBoolean(account.Item("AutoDecode")) + mdUserInfo.MailFormat = account.Item("MailFormat") + + mdUserInfo.HideFromEveryone = Convert.ToBoolean(account.Item("HideFromEveryone")) + mdUserInfo.AllowChangeViaEmail = Convert.ToBoolean(account.Item("AllowChangeViaEmail")) + mdUserInfo.CheckAddrBook = Convert.ToBoolean(account.Item("CheckAddrBook")) + mdUserInfo.EncryptEmail = Convert.ToBoolean(account.Item("EncryptEmail")) + mdUserInfo.UpdateAddrBook = Convert.ToBoolean(account.Item("UpdateAddrBook")) + + If account.MaxMailboxSize > 0 Then + mdUserInfo.ApplyQuotas = True + mdUserInfo.MaxDiskSpace = account.MaxMailboxSize + End If + End Sub + + Protected Sub PopulateGroupInfo(ByRef group As MailGroup, ByVal verify As Boolean) + Dim service As Service = LoadServiceProvider() + + Try + Dim mdList = MailGroupToMDList(service, group) + + Dim errorCode As Integer = MDaemonInterop.MDLISTERR_NOERROR + ' Verify list before creation + If verify Then + errorCode = service.ComObject.VerifyListInfo(mdList) + End If + + If errorCode = MDaemonInterop.MDLISTERR_NOERROR Then + If Not service.ComObject.WriteList(mdList) Then + Throw New Exception("Could not write group to disk.") + End If + + ClearListMembers(service, mdList) + + Dim member As String + + For Each member In group.Members + service.ComObject.ListAddMember(group.Name, member, String.Empty) + Next member + + UnloadServiceProvider(service) + Else + Throw New Exception(String.Format("Could not verify group. Error code {0}", errorCode)) + End If + + ' force to refresh cache + RefreshMailServerCache(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't populate group info.", ex) + End Try + End Sub 'PopulateGroupInfo + + Protected Overridable Sub ClearListMembers(ByRef service As Service, ByRef mdList As Object) + Dim members As New ArrayList() + + Dim member As Object = CreateMDListMember(service) + + Dim [next] As Boolean = mdList.GetFirstMember(member) + + While [next] + If Not (member.Email Is Nothing) And member.Email.Length > 0 Then + members.Add(member.Email) + End If + [next] = mdList.GetNextMember(member) + End While + + Dim email As String + For Each email In members + service.ComObject.ListRemoveMember(mdList.ListName, email) + Next email + End Sub 'ClearListMembers + + Protected Sub UpdateUserAccessInfo(ByVal userDbPath As String, ByRef account As MailAccount) + Dim service As Service = LoadServiceProvider() + + Dim hUser As Integer = service.ComObject.GetByEmail(account.Name) + + If hUser = CInt(MD_HANDLE.MD_BADHANDLE) Then + Throw New Exception(String.Format("Mailbox '{0}' not found.", account.Name)) + End If + + Dim mdUserInfo As Object = CreateMDUserInfo(service) + + PopulateUserInfo(account, mdUserInfo) + service.ComObject.FilterUserInfo(mdUserInfo) + + Dim recordExists As Boolean + + Try + If AccountExists(account.Name) Then + + Dim access As Long = 1 + + If account.Enabled Then + If EnableIMAP And EnablePOP Then + access = 1 + ElseIf EnablePOP Then + access = 2 + ElseIf EnableIMAP Then + access = 3 + End If + Else + access = 4 + End If + + recordExists = True + + ' Update access info (aka access-type) + mdUserInfo.AccessType = access + + ' Update mailbox size + If account.MaxMailboxSize > 0 Then + mdUserInfo.ApplyQuotas = True + mdUserInfo.MaxDiskSpace = CType(account.MaxMailboxSize * 1000, Long) + End If + + ' Send the changes + Dim errorCode As Integer = service.ComObject.VerifyUserInfo(mdUserInfo, CInt(MD_VRFYFLAGS.MDUSERDLL_VRFYALL)) + If errorCode <> CInt(MD_ERROR.MDDLLERR_NOERROR) Then + Throw New Exception(String.Format("Could not validate account info. Please make sure that all entries are valid. Error code {0}", errorCode)) + End If + + If Not service.ComObject.SetUserInfo(hUser, mdUserInfo) Then + Throw New Exception(String.Format("Could not update mailbox '{0}'", account.Name)) + End If + + End If + + ' Check whether a user record exists + If Not recordExists Then + Throw New Exception("Could not find mailbox info.") + End If + Catch ex As Exception + Throw New Exception("Could not update mailbox access info.", ex) + End Try + End Sub + + Protected Sub UpdateUserResponderInfo(ByVal responderDbPath As String, ByVal mailbox As MailAccount) + Try + If Not mailbox.ResponderEnabled Then + If Not File.Exists(responderDbPath) Then + Return + End If + If GetProfileSection(mailbox.Name, responderDbPath) <> 0 Then + If Not DeleteProfileSection(mailbox.Name, responderDbPath) Then + Throw New Exception("Could not delete profile section.") + End If + End If + Else + If Not File.Exists(responderDbPath) Then + Dim stream As FileStream = File.Create(responderDbPath) + stream.Close() + End If + Dim responderFile As String = Path.Combine(GetApplicationDir(), mailbox.Name + ".rsp") + If GetProfileSection(mailbox.Name, responderDbPath) <> 0 Then + responderFile = GetProfileString(mailbox.Name, "MailBackFile", responderFile, responderDbPath) + End If + ' update profile section + WriteProfileString(mailbox.Name, "MailBackFile", responderFile, responderDbPath) + WriteProfileString(mailbox.Name, "PassMessage", "No", responderDbPath) + WriteProfileString(mailbox.Name, "ResponderSubject", mailbox.ResponderSubject, responderDbPath) + ' update responder message body in responder file. + Dim sw As New StreamWriter(responderFile) + Try + sw.Write(mailbox.ResponderMessage) + Finally + sw.Dispose() + End Try + End If + Catch ex As Exception + Throw New Exception("Can't update mailbox responder info.", ex) + End Try + End Sub 'UpdateUserResponderInfo + + Private Shared Sub WriteDomainInfo(ByVal domain As MailDomain, ByVal domainDbPath As String) + ' Domain users quota + WriteProfileString(domain.Name, "MaxUsers", domain.MaxDomainUsers.ToString(), domainDbPath) + ' Domain lists quota + WriteProfileString(domain.Name, "MaxLists", domain.MaxLists.ToString(), domainDbPath) + + Dim strIP As String = DefaultDomainIP + If Not domain.ServerIP Is Nothing AndAlso domain.ServerIP.Length > 0 Then + strIP = domain.ServerIP + End If + + ' IP address + WriteProfileString(domain.Name, "IP", strIP, domainDbPath) + + ' Delete accounts within this domain if inactive for XX days (0=never) + WriteProfileString(domain.Name, "MaxInactive", domain.Item("MaxInactiveLimit"), domainDbPath) + + ' Delete messages kept by users within this domain if older than XX days (0=never) + WriteProfileString(domain.Name, "MaxMessageAge", domain.Item("MaxMessageAge"), domainDbPath) + + ' Delete deleted IMAP messages in this domain older than XX days (0 = never) + WriteProfileString(domain.Name, "MaxDeletedIMAPMessageAge", domain.Item("MaxDeletedImapMessageAge"), domainDbPath) + + ' Bind to this IP if you want to bind the secondary domain to its IP address + WriteProfileString(domain.Name, "Bind", YesNoBooleanToString(domain.Item("BindIP")), domainDbPath) + + ' Delete old messages from IMAP folders as well + WriteProfileString(domain.Name, "RecurseIMAP", YesNoBooleanToString(domain.Item("RecurseIMAP")), domainDbPath) + + ' If AntiVirus for MDaemon is installed, this option enables you the AntiVirus settings to be applied to the selected secondary domain + WriteProfileString(domain.Name, "EnableAntiVirus", YesNoBooleanToString(domain.Item("EnableAntiVirus")), domainDbPath) + + ' If you want MDaemon's current Spam Filter settings to be applied to the selected secondary domain + WriteProfileString(domain.Name, "EnableAntiSpam", YesNoBooleanToString(domain.Item("EnableAntiSpam")), domainDbPath) + + End Sub 'WriteDomainInfo + + Private Shared Function YesNoBooleanToString(ByVal val As Object) As String + Dim resultStr As String = "No" + + If Not val Is Nothing Then + Dim valueStr As String = val.ToString() + + Select Case valueStr + Case "True" + resultStr = "Yes" + Case "true" + resultStr = "Yes" + Case "1" + resultStr = "Yes" + End Select + End If + + Return resultStr + End Function 'YesNoBooleanToString + + Protected Overridable Function EmailExists(ByRef userName As String) As Boolean + Dim service As Service = LoadServiceProvider() + Dim exists As Boolean = False + + Try + exists = service.ComObject.UserExists(userName) + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception(String.Format("Can't check whether '{0}' exists", userName), ex) + End Try + + Return exists + End Function 'EmailExists + + Protected Overridable Function MailListExists(ByRef maillistName As String) As Boolean + Return EmailExists(maillistName) + End Function 'MaillistExists + + Protected Overridable Sub PopulateMailListInfo(ByRef list As MailList, ByRef verify As Boolean) + Dim service As Service = LoadServiceProvider() + + Try + Dim mdList As Object = CreateMDList(service, list.Name) + + mdList.CatalogName = String.Empty + mdList.DefaultMode = 1 + mdList.DigestFlags = 0 + mdList.DigestMBF = "DIGEST" + mdList.FooterFilePath = list.Item("FooterFilePath") + mdList.HeaderFilePath = list.Item("HeaderFilePath") + mdList.KillFilePath = list.Item("SuppressionFilePath") + 'flags + mdList.ListFlags = MDaemonInterop.MDLIST_AUTOPRUNE Or MDaemonInterop.MDLIST_CRACKMESSAGE Or MDaemonInterop.MDLIST_FORCEUNIQUEID + + Select Case list.PostingMode + Case PostingMode.MembersCanPost + mdList.ListFlags = mdList.ListFlags Or MDaemonInterop.MDLIST_PRIVATE + Case PostingMode.PasswordProtectedPosting + mdList.ListFlags = mdList.ListFlags Or MDaemonInterop.MDLIST_PASSWORDPOST + End Select + + If list.EnableSubjectPrefix Then + mdList.ListFlags = mdList.ListFlags Or MDaemonInterop.MDLIST_LISTNAMEINSUBJECT + End If + If YesNoBooleanToString(list.Item("ShowThreadNumbersInSubject")) = "Yes" Then + mdList.ListFlags = mdList.ListFlags Or MDaemonInterop.MDLIST_THREADNUMBINSUBJECT + End If + If list.Moderated Then + mdList.ListFlags = mdList.ListFlags Or MDaemonInterop.MDLIST_MODERATED + + If String.IsNullOrEmpty(list.ModeratorAddress) Then + Throw New Exception("Mailing list is supposed to be as moderated, but moderator address not specified.") + End If + + mdList.ModeratorEmail = list.ModeratorAddress + End If + + Select Case list.ReplyToMode + Case ReplyTo.RepliesToSender + mdList.ReplyAddress = String.Empty + Case ReplyTo.RepliesToList + mdList.ReplyAddress = list.Name + End Select + + + + + mdList.ListName = list.Name + mdList.ListPassword = list.Password + mdList.MaxLineCount = 0 'DIGEST + mdList.MaxMembers = Convert.ToInt32(list.Item("MaxMembers")) + mdList.MaxMessageCount = 0 'DIGEST + mdList.MaxMessageSize = list.MaxMessageSize + mdList.NotificationEmail = String.Empty + mdList.PrecedenceLevel = 60 + mdList.PublicFolderName = String.Empty + mdList.RemoteHost = String.Empty + + mdList.RoutingLimit = 0 + mdList.SendNotesTo = String.Empty + mdList.WelcomeFilePath = list.Item("WelcomeFilePath") + + Dim errorCode As Integer = MDaemonInterop.MDLISTERR_NOERROR + + If verify Then + errorCode = service.ComObject.VerifyListInfo(mdList) + End If + + If errorCode = MDaemonInterop.MDLISTERR_NOERROR Then + If Not service.ComObject.WriteList(mdList) Then + Throw New Exception("Could not write mail list to disk.") + End If + + ' Clear list + ClearListMembers(service, mdList) + + Dim member As String + For Each member In list.Members + service.ComObject.ListAddMember(list.Name, member, String.Empty) + Next member + + ' force to refresh cache + RefreshMailServerCache(service) + + UnloadServiceProvider(service) + Else + Throw New Exception(String.Format("Could not verify mail list. Error code {0}", errorCode)) + End If + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't populate mail list info.", ex) + End Try + End Sub 'PopulateMailListInfo + + Protected Overridable Sub DeleteAlias(ByVal email As String, ByVal [alias] As String) + Dim service As Service = LoadServiceProvider() + Try + If Not service.ComObject.DeleteAlias([alias], email) Then + Throw New Exception(String.Format("Alias {0} not found", [alias])) + End If + + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't delete alias", ex) + End Try + End Sub 'DeleteAlias + + Protected Overridable Function CreateMailboxItem(ByRef mdUserInfo As Object) As MailAccount + Dim mailbox As New MailAccount() + mailbox.Name = mdUserInfo.Email + + Dim names() As String = mdUserInfo.FullName.ToString().Split(New String() {" "}, StringSplitOptions.None) + + If names.Length = 2 Then + mailbox.FirstName = names(0) + mailbox.LastName = names(1) + ElseIf names.Length = 1 Then + mailbox.FirstName = names(0) + End If + + mailbox.Password = mdUserInfo.Password + mailbox.Item("Comments") = mdUserInfo.Comments + mailbox.Item("AutoDecode") = Convert.ToBoolean(mdUserInfo.AutoDecode) + mailbox.Item("MailFormat") = mdUserInfo.MailFormat + mailbox.Item("HideFromEveryone") = Convert.ToBoolean(mdUserInfo.HideFromEveryone) + mailbox.Item("AllowChangeViaEmail") = Convert.ToBoolean(mdUserInfo.AllowChangeViaEmail) + mailbox.Item("CheckAddrBook") = Convert.ToBoolean(mdUserInfo.CheckAddrBook) + mailbox.Item("EncryptEmail") = Convert.ToBoolean(mdUserInfo.EncryptEmail) + mailbox.Item("UpdateAddrBook") = Convert.ToBoolean(mdUserInfo.UpdateAddrBook) + 'forwarding + Dim isForwarding As Boolean = Convert.ToBoolean(mdUserInfo.IsForwarding) + + If isForwarding Then + mailbox.DeleteOnForward = True + mailbox.ForwardingAddresses = CStr(mdUserInfo.FwdAddress).Split(",".ToCharArray()) + mailbox.Item("FwdHost") = mdUserInfo.FwdHost + mailbox.Item("FwdPort") = mdUserInfo.FwdPort + mailbox.Item("FwdSendAs") = mdUserInfo.FwdSendAs + End If + + mailbox.RetainLocalCopy = Convert.ToBoolean(mdUserInfo.KeepForwardedMail) + + + mailbox.MaxMailboxSize = ParseLong(mdUserInfo.MaxDiskSpace, 0) / 1000 + + Return mailbox + End Function 'CreateMailboxItem + + Protected Overridable Sub PopulateMailboxAccessInfo(ByVal userDbPath As String, ByVal mailbox As MailAccount) + Dim service As Service = LoadServiceProvider() + + Dim hUser As Integer = service.ComObject.GetByEmail(mailbox.Name) + + If hUser = CInt(MD_HANDLE.MD_BADHANDLE) Then + Throw New Exception(String.Format("Mailbox '{0}' not found.", mailbox.Name)) + End If + + Dim mdUserInfo As Object = CreateMDUserInfo(service) + + PopulateUserInfo(mailbox, mdUserInfo) + service.ComObject.FilterUserInfo(mdUserInfo) + + Dim recordExists As Boolean + + Try + If AccountExists(mailbox.Name) Then + + Dim access As Long = 1 + + Select Case mdUserInfo.AccessType + Case 1 + mailbox.Enabled = True + mailbox.Item("EnableIMAP") = True + mailbox.Item("EnablePOP") = True + + Case 2 + mailbox.Enabled = True + mailbox.Item("EnableIMAP") = False + mailbox.Item("EnablePOP") = True + + Case 3 + mailbox.Enabled = True + mailbox.Item("EnableIMAP") = True + mailbox.Item("EnablePOP") = False + + Case Else + mailbox.Enabled = False + mailbox.Item("EnableIMAP") = False + mailbox.Item("EnablePOP") = False + + End Select + + recordExists = True + + End If + + If Not recordExists Then + Throw New Exception(String.Format("Could not find mailbox '{0}' info.", mailbox.Name)) + End If + + Catch ex As Exception + Throw New Exception(String.Format("Could not read mailbox '{0}' access info.", mailbox.Name), ex) + End Try + End Sub 'PopulateMailboxAccessInfo + + Protected Overridable Sub PopulateMailboxResponderInfo(ByVal responderDbPath As String, ByVal mailbox As MailAccount) + Try + If Not File.Exists(responderDbPath) Then + mailbox.ResponderEnabled = False + mailbox.ResponderMessage = String.Empty + Exit Sub + End If + + Dim retVal As Integer = GetProfileSection(mailbox.Name, responderDbPath) + + If retVal = 0 Then + mailbox.ResponderEnabled = False + mailbox.ResponderMessage = String.Empty + Else + mailbox.ResponderEnabled = True + Dim responderFile As String = GetProfileString(mailbox.Name, "MailBackFile", String.Empty, responderDbPath) + mailbox.ResponderSubject = GetProfileString(mailbox.Name, "ResponderSubject", String.Empty, responderDbPath) + + If responderFile Is Nothing Or responderFile.Length = 0 Then + Throw New Exception("Responder file not specified.") + End If + + If Not File.Exists(responderFile) Then + Throw New Exception("Responder file not found.") + End If + + Using reader As New StreamReader(responderFile) + 'Dim line As String = String.Empty + + 'Dim builder As StringBuilder = New StringBuilder() + + 'Do + ' line = reader.ReadLine() + + ' If line Is Nothing Then + ' Continue Do + ' End If + + ' builder.Append(line) + ' builder.Append(Environment.NewLine) + 'Loop While Not line Is Nothing + + 'mailbox.ResponderMessage = builder.ToString() + + mailbox.ResponderMessage = reader.ReadToEnd() + End Using + End If + Catch ex As Exception + Throw New Exception("Can't read mailbox responder info.", ex) + End Try + End Sub + + Protected Overridable Function CreateDomainItemFromProfile(ByVal domainName As String, ByVal profilePath As String) As MailDomain + Dim item As New MailDomain() + item.Name = domainName + item.MaxDomainUsers = DefaultDomainMaxUsers + item.MaxLists = DefaultDomainMaxLists + item.ServerIP = DefaultDomainIP + item.Item("MaxInactiveLimit") = DefaultDomainMaxInactive + item.Item("MaxMessageAge") = DefaultDomainMaxMessageAge + item.Item("MaxDeletedImapMessageAge") = DefaultDomainMaxDeletedIMAPMessageAge + item.Item("BindIP") = DefaultDomainBind + item.Item("RecurseIMAP") = DefaultDomainRecurseIMAP + item.Item("EnableAntiVirus") = DefaultDomainEnableAntiVirus + item.Item("EnableAntiSpam") = DefaultDomainEnableAntiSpam + + Dim retVal As Integer = GetProfileSection(domainName, profilePath) + If retVal <> 0 Then + Dim strMaxUsers As String = GetProfileString(domainName, "MaxUsers", DefaultDomainMaxUsers.ToString(), profilePath) + item.MaxDomainUsers = ParseInt32(strMaxUsers, DefaultDomainMaxUsers) + + Dim strMaxLists As String = GetProfileString(domainName, "MaxLists", DefaultDomainMaxLists.ToString(), profilePath) + item.MaxLists = ParseInt32(strMaxLists, DefaultDomainMaxLists) + + Dim strIP As String = GetProfileString(domainName, "IP", DefaultDomainIP, profilePath) + item.ServerIP = strIP + + item.Item("MaxInactiveLimit") = GetProfileString(domainName, "MaxInactive", DefaultDomainMaxInactive.ToString(), profilePath) + + item.Item("MaxMessageAge") = GetProfileString(domainName, "MaxMessageAge", DefaultDomainMaxMessageAge.ToString(), profilePath) + + item.Item("MaxDeletedImapMessageAge") = GetProfileString(domainName, "MaxDeletedIMAPMessageAge", DefaultDomainMaxDeletedIMAPMessageAge.ToString(), profilePath) + + item.Item("BindIP") = GetProfileString(domainName, "Bind", YesNoBooleanToString(DefaultDomainBind), profilePath) + + item.Item("RecurseIMAP") = GetProfileString(domainName, "RecurseIMAP", YesNoBooleanToString(DefaultDomainRecurseIMAP), profilePath) + + item.Item("EnableAntiVirus") = GetProfileString(domainName, "EnableAntiVirus", YesNoBooleanToString(DefaultDomainEnableAntiVirus), profilePath) + + item.Item("EnableAntiSpam") = GetProfileString(domainName, "EnableAntiSpam", YesNoBooleanToString(DefaultDomainEnableAntiSpam), profilePath) + End If + Return item + End Function 'CreateDomainItemFromProfile + + Protected Overridable Function MDListToMailGroup(ByRef mdList As Object) As MailGroup + Dim group As New MailGroup() + + group.Name = mdList.ListName + group.Item("CatalogName") = mdList.CatalogName + + group.Item("DefaultMode") = mdList.DefaultMode.ToString() + group.Item("DigestFlags") = mdList.DigestFlags.ToString() + group.Item("DigestMBF") = mdList.DigestMBF + + group.Item("FooterFilePath") = mdList.FooterFilePath + group.Item("HeaderFilePath") = mdList.HeaderFilePath + group.Item("KillFilePath") = mdList.KillFilePath + group.Item("ListFlags") = mdList.ListFlags.ToString() + group.Item("GroupPassword") = mdList.ListPassword + group.Item("ModeratorEmail") = mdList.ModeratorEmail + group.Item("NotificationEmail") = mdList.NotificationEmail + + group.Item("MaxLineCount") = mdList.MaxLineCount.ToString() + group.Item("MaxMembers") = mdList.MaxMembers.ToString() + group.Item("MaxMessageCount") = mdList.MaxMessageCount.ToString() + group.Item("MaxMessageSize") = mdList.MaxMessageSize.ToString() + + 'mdList.PrecedenceLevel = 50 + group.Item("PublicFolderName") = mdList.PublicFolderName + group.Item("RemoteHost") = mdList.RemoteHost + group.Item("ReplyAddress") = mdList.ReplyAddress + group.Item("RoutingLimit") = mdList.RoutingLimit.ToString() + group.Item("SendNotesTo") = mdList.SendNotesTo + group.Item("WelcomeFilePath") = mdList.WelcomeFilePath + + Return group + End Function + + Protected Overridable Function MailGroupToMDList(ByRef service As Service, ByRef group As MailGroup) As Object + Dim mdList As Object = Nothing + + If service.Succeed Then + mdList = CreateMDList(service, group.Name) + mdList.CatalogName = group.Item("CatalogName") + mdList.DefaultMode = ParseLong(group.Item("DefaultMode"), 1) + mdList.DigestFlags = ParseLong(group.Item("DigestFlags"), 0) + + mdList.DigestMBF = "DIGEST" + + mdList.FooterFilePath = group.Item("FooterFilePath") + mdList.HeaderFilePath = group.Item("HeaderFilePath") + mdList.KillFilePath = group.Item("KillFilePath") + + mdList.ListFlags = MDaemonInterop.MDLIST_AUTOPRUNE Or MDaemonInterop.MDLIST_USELISTNAME Or MDaemonInterop.MDLIST_CRACKMESSAGE Or MDaemonInterop.MDLIST_FORCEUNIQUEID + + mdList.ListName = group.Name + mdList.ListPassword = group.Item("GroupPassword") + mdList.ModeratorEmail = group.Item("ModeratorEmail") + mdList.NotificationEmail = group.Item("NotificationEmail") + + mdList.MaxLineCount = ParseLong(group.Item("MaxLineCount"), 0) + mdList.MaxMembers = ParseLong(group.Item("MaxMembers"), 0) + mdList.MaxMessageCount = ParseLong(group.Item("MaxMessageCount"), 0) + mdList.MaxMessageSize = ParseLong(group.Item("MaxMessageSize"), 0) + + mdList.PrecedenceLevel = 50 + + mdList.PublicFolderName = group.Item("PublicFolderName") + mdList.RemoteHost = group.Item("RemoteHost") + mdList.ReplyAddress = group.Item("ReplyAddress") + mdList.RoutingLimit = ParseLong(group.Item("RoutingLimit"), 0) + mdList.SendNotesTo = group.Item("SendNotesTo") + mdList.WelcomeFilePath = group.Item("WelcomeFilePath") + End If + + Return mdList + End Function + + Protected Overridable Function CreateMailGroupItem(ByRef service As Service, ByRef mdList As Object) As MailGroup + Dim group As MailGroup = Nothing + + group = MDListToMailGroup(mdList) + + Dim member As Object = CreateMDListMember(service) + Dim members As New List(Of String) + + Dim [next] As Boolean = mdList.GetFirstMember(member) + + While [next] + If Not member.Email Is Nothing And member.Email.Length > 0 Then + members.Add(member.Email) + End If + [next] = mdList.GetNextMember(member) + End While + + group.Members = members.ToArray() + + Return group + End Function 'CreateMailGroupItem + + + Protected Overridable Function CreateMailListItem(ByRef service As Service, ByRef mdList As Object) As MailList + Dim list As New MailList() + list.Name = mdList.ListName + + list.Password = mdList.ListPassword + list.ModeratorAddress = mdList.ModeratorEmail + list.MaxMessageSize = mdList.MaxMessageSize + list.Item("MaxMembers") = mdList.MaxMembers + + list.Item("FooterFilePath") = mdList.FooterFilePath + list.Item("HeaderFilePath") = mdList.HeaderFilePath + list.Item("SuppressionFilePath") = mdList.KillFilePath + list.Item("WelcomeFilePath") = mdList.WelcomeFilePath + + list.Moderated = (mdList.ListFlags And MDaemonInterop.MDLIST_MODERATED) = MDaemonInterop.MDLIST_MODERATED + If (mdList.ListFlags And MDaemonInterop.MDLIST_PRIVATE) = MDaemonInterop.MDLIST_PRIVATE Then + list.PostingMode = PostingMode.MembersCanPost + ElseIf (mdList.ListFlags And MDaemonInterop.MDLIST_PASSWORDPOST) = MDaemonInterop.MDLIST_PASSWORDPOST Then + list.PostingMode = PostingMode.PasswordProtectedPosting + Else + list.PostingMode = PostingMode.AnyoneCanPost + End If + + + + If mdList.ReplyAddress.Length > 0 Then + list.ReplyToMode = ReplyTo.RepliesToList + ElseIf mdList.ReplyAddress.Length = 0 Then + list.ReplyToMode = ReplyTo.RepliesToSender + End If + + + If (mdList.ListFlags And MDaemonInterop.MDLIST_LISTNAMEINSUBJECT) = MDaemonInterop.MDLIST_LISTNAMEINSUBJECT Then + list.Item("ShowNameInSubject") = "True" + End If + + If (mdList.ListFlags And MDaemonInterop.MDLIST_THREADNUMBINSUBJECT) = MDaemonInterop.MDLIST_THREADNUMBINSUBJECT Then + list.Item("ShowThreadNumbersInSubject") = "True" + End If + + If service.Succeed Then + Dim member As Object = CreateMDListMember(service) + Dim members As New List(Of String) + Dim [next] As Boolean = mdList.GetFirstMember(member) + + While [next] + If Not (member.Email Is Nothing) And member.Email.Length > 0 Then + members.Add(member.Email) + End If + [next] = mdList.GetNextMember(member) + End While + + list.Members = members.ToArray() + End If + + Return list + End Function 'CreateMailListItem + + Protected Overridable Function GetAllLists(ByRef service As Service) As String() + Dim arrayList As New List(Of String) + Dim objects As Object = Nothing + + Try + If service.Succeed Then + service.ComObject.GetMailingLists(objects) + Dim lists As Array = TryCast(objects, Array) + + If lists Is Nothing Then + Exit Try + End If + + Dim list As Object + + For Each list In lists + Dim listName As String = list.ToString() + If listName Is Nothing Then + Continue For + End If + If listName.Length = 0 Then + Continue For + End If + + arrayList.Add(listName) + Next list + End If + Catch ex As Exception + Throw New Exception("Can't get the list of mailing lists", ex) + End Try + + Return arrayList.ToArray() + End Function 'GetAllLists +#End Region + +#Region "Convert Routines" + Private Shared Function ParseLong(ByVal strValue As String, ByVal defaultValue As Long) As Long + Dim ret As Long = defaultValue + Try + ret = Long.Parse(strValue) + Catch + End Try + Return ret + End Function + + Private Shared Function ParseInt32(ByVal strValue As String, ByVal defaultValue As Integer) As Integer + Dim ret As Integer = defaultValue + Try + ret = Int32.Parse(strValue) + Catch + End Try + Return ret + End Function 'ParseInt32 + + Private Shared Function ParseYesNoBoolean(ByVal strValue As String, ByVal defaultValue As Boolean) As Boolean + Dim ret As Boolean = defaultValue + Dim val As String = strValue.Trim().ToLower() + If val = "yes" Then + ret = True + Else + If val = "no" Then + ret = False + End If + End If + Return ret + End Function 'ParseYesNoBoolean +#End Region + +#Region "Profile Section" + Private Shared Function DeleteProfileSection(ByVal section As String, ByVal file As String) As Boolean + Dim key As String = Nothing + Dim strValue As String = Nothing + Dim retVal As Integer = MDaemonInterop.WritePrivateProfileString(section, key, strValue, file) + Return retVal <> 0 + End Function 'DeleteProfileSection + + Private Shared Function WriteProfileSection(ByVal section As String, ByVal file As String) As Boolean + Dim content As String = String.Empty + Dim retVal As Integer = MDaemonInterop.WritePrivateProfileSection(section, content, file) + Return retVal <> 0 + End Function 'WriteProfileSection + + Private Shared Function WriteProfileString(ByVal section As String, ByVal key As String, ByVal strValue As String, ByVal file As String) As Boolean + Dim retVal As Integer = MDaemonInterop.WritePrivateProfileString(section, key, strValue, file) + Return retVal <> 0 + End Function 'WriteProfileString + + Private Shared Function GetProfileString(ByVal section As String, ByVal key As String, ByVal defaultValue As String, ByVal file As String) As String + Dim retVal As Integer = 0 + Dim retString As New String(" "c, &H100) + retVal = MDaemonInterop.GetPrivateProfileString(section, key, defaultValue, retString, &HFF, file) + If retVal = 0 Then + retString = Nothing + Else + retString = Trim(retString).Replace(CStr(ControlChars.NullChar), "") + End If + Return retString + End Function 'GetProfileString + + Private Shared Function GetProfileSection(ByVal section As String, ByVal file As String) As Integer + Dim retVal As Integer = 0 + Dim retString As String = String.Empty + retVal = MDaemonInterop.GetPrivateProfileSection(section, retString, &HFF, file) + Return retVal + End Function 'GetProfileSection +#End Region + + Public Function AccountExists(ByVal mailboxName As String) As Boolean Implements IMailServer.AccountExists + Dim service As Service = LoadServiceProvider() + Dim exists As Boolean = False + + If service.Succeed Then + exists = service.ComObject.UserExists(mailboxName) + End If + + UnloadServiceProvider(service) + + Return exists + End Function + + Public Sub AddDomainAlias(ByVal domainName As String, ByVal aliasName As String) Implements IMailServer.AddDomainAlias + Dim service As Service = LoadServiceProvider() + + Try + aliasName = String.Concat("*@", aliasName) + domainName = String.Concat("*@", domainName) + + Dim succeed As Boolean = service.ComObject.CreateAlias(domainName, aliasName) + + If Not succeed Then + Throw New Exception("Can't add domain alias.") + End If + + ' force to refresh cache + RefreshMailServerCache(service) + + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + + Throw New Exception("Can't add domain alias.", ex) + End Try + + End Sub + + Public Sub CreateAccount(ByVal mailbox As MailAccount) Implements IMailServer.CreateAccount + Dim service As Service = LoadServiceProvider() + + Try + Dim mdUserInfo As Object = CreateMDUserInfo(service) + PopulateUserInfo(mailbox, mdUserInfo) + service.ComObject.FilterUserInfo(mdUserInfo) + Dim errorCode As Integer = service.ComObject.AddUser(mdUserInfo) + + Select Case CType(errorCode, MD_ERROR) + Case MD_ERROR.MDDLLERR_NOERROR + Dim userDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_USERLISTDB) + + UpdateUserAccessInfo(userDbPath, mailbox) + + Dim responderDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_AUTORESPDB) + + UpdateUserResponderInfo(responderDbPath, mailbox) + 'service.ComObject.ReloadUsers() + Case MD_ERROR.MDDLLERR_USEREXISTS + Throw New Exception("Mailbox is already registered.") + Case Else + Throw New Exception(String.Format("Could not add user. Error code {0}", errorCode)) + End Select + + ' force to refresh cache + 'RefreshMailServerCache(service) + + ' force to reload DLL data + 'service.ComObject.ReloadUsers() + + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't create mailbox", ex) + End Try + End Sub + + Public Sub CreateDomain(ByVal domain As MailDomain) Implements IMailServer.CreateDomain + Dim service As Service = LoadServiceProvider() + + Try + Dim domainDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_DOMAINDB) + Dim retVal As Integer = GetProfileSection(domain.Name, domainDbPath) + If retVal <> 0 Then + Throw New Exception(String.Format("Domain '{0}' already exists on the server", domain.Name)) + End If + If Not WriteProfileSection(domain.Name, domainDbPath) Then + Throw New Exception(String.Format("Could not create profile section in '{0}' file.", domainDbPath)) + End If + WriteDomainInfo(domain, domainDbPath) + + ' force to refresh cache + RefreshMailServerCache(service) + + ' force to reload DLL data + service.ComObject.ReloadUsers() + + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't create domain", ex) + End Try + End Sub + + Public Sub CreateGroup(ByVal group As MailGroup) Implements IMailServer.CreateGroup + Try + If GroupExists(group.Name) Then + Throw New Exception(String.Format("Group {0} already exists.", group.Name)) + End If + PopulateGroupInfo(group, True) + Catch ex As Exception + Throw New Exception("Can't create group.", ex) + End Try + End Sub + + Public Sub CreateList(ByVal maillist As MailList) Implements IMailServer.CreateList + Try + If MailListExists(maillist.Name) Then + Throw New Exception(String.Format("Mail list {0} already exists.", maillist.Name)) + End If + + PopulateMailListInfo(maillist, False) + Catch ex As Exception + Throw New Exception("Can't create mail list.", ex) + End Try + End Sub + + Public Sub DeleteAccount(ByVal mailboxName As String) Implements IMailServer.DeleteAccount + Dim service As Service = LoadServiceProvider() + Try + Dim res As Boolean = service.ComObject.DeleteUser(mailboxName, CInt(MD_DELFLAGS.MDUSERDLL_DDELETEALL)) + If Not res Then + Throw New Exception("Can't delete mailbox") + End If + + UnloadServiceProvider(service) + + ' force to refresh cache + RefreshMailServerCache(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't delete mailbox", ex) + End Try + End Sub + + Public Function MailAliasExists(ByVal mailAliasName As String) As Boolean Implements IMailServer.MailAliasExists + Dim path As String = GetAppFolderPath() + "Alias.dat" + Dim split As String() + Using sr As StreamReader = New StreamReader(path) + Dim line As String + Do + line = sr.ReadLine() + If (Not String.IsNullOrEmpty(line)) Then + split = line.Split(New [Char]() {"="c}) + Else + Continue Do + End If + If mailAliasName.Equals(split(0).Trim) Then + Return True + End If + Loop Until line Is Nothing + sr.Close() + End Using + Return False + End Function + + Public Function GetMailAliases(ByVal domainName As String) As MailAlias() Implements IMailServer.GetMailAliases + Dim aliases As List(Of MailAlias) = New List(Of MailAlias) + Dim path As String = GetAppFolderPath() + "Alias.dat" + Dim split As String() + Using sr As StreamReader = New StreamReader(path) + Dim line As String + Do + line = sr.ReadLine() + If (Not String.IsNullOrEmpty(line)) Then + split = line.Split(New [Char]() {"="c}) + Else + Continue Do + End If + If domainName.Equals(GetDomainName(split(0).Trim)) Then + Dim mailAlias As New MailAlias() + mailAlias.Name = split(0).Trim + mailAlias.ForwardTo = split(1).Trim + aliases.Add(mailAlias) + End If + Loop Until line Is Nothing + sr.Close() + End Using + + + Return aliases.ToArray + End Function + + Public Function GetMailAlias(ByVal mailAliasName As String) As MailAlias Implements IMailServer.GetMailAlias + Dim mailAlias As New MailAlias + Dim newMailAlias As New MailAlias + + If AccountExists(mailAliasName) Then + Try + Dim mailAccount As MailAccount = GetAccount(mailAliasName) + newMailAlias.Name = mailAccount.Name + newMailAlias.ForwardTo = mailAccount.ForwardingAddresses(0) + 'delete incorrect account + DeleteAccount(mailAliasName) + 'recreate mail alias + CreateMailAlias(newMailAlias) + Return newMailAlias + Catch ex As Exception + 'do nothing + End Try + End If + + Dim path As String = GetAppFolderPath() + "Alias.dat" + Dim split As String() + Using sr As StreamReader = New StreamReader(path) + Dim line As String + Do + line = sr.ReadLine() + If (Not String.IsNullOrEmpty(line)) Then + split = line.Split(New [Char]() {"="c}) + Else + Continue Do + End If + If mailAliasName.Equals(split(0).Trim) Then + mailAlias.Name = split(0).Trim + mailAlias.ForwardTo = split(1).Trim + Exit Do + End If + Loop Until line Is Nothing + sr.Close() + End Using + Return mailAlias + End Function + + Public Sub CreateMailAlias(ByVal mailAlias As MailAlias) Implements IMailServer.CreateMailAlias + + Dim service As Service = LoadServiceProvider() + Dim succeed As Boolean = service.ComObject.CreateAlias(mailAlias.ForwardTo, mailAlias.Name) + + If Not succeed Then + Throw New Exception(String.Format("Could not create mail alias {0}", mailAlias.Name)) + End If + End Sub + + Public Sub UpdateMailAlias(ByVal mailAlias As MailAlias) Implements IMailServer.UpdateMailAlias + DeleteMailAlias(mailAlias.Name) + 'recreate alias + CreateMailAlias(mailAlias) + End Sub + + Public Sub DeleteMailAlias(ByVal mailAliasName As String) Implements IMailServer.DeleteMailAlias + Dim service As Service = LoadServiceProvider() + Dim mailAlias As MailAlias = GetMailAlias(mailAliasName) + + Dim succeed As Boolean = service.ComObject.DeleteAlias(mailAlias.ForwardTo, mailAlias.Name) + + If Not succeed Then + Throw New Exception(String.Format("Could not delete mail alias {0}", mailAlias.Name)) + End If + End Sub + + Public Sub DeleteDomain(ByVal domainName As String) Implements IMailServer.DeleteDomain + Dim service As Service = LoadServiceProvider() + + Try + service.ComObject.DeleteDomain(domainName) + + ' force to refresh cache + RefreshMailServerCache(service) + + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't delete domain", ex) + End Try + End Sub + + Public Overrides Sub DeleteServiceItems(ByVal items() As ServiceProviderItem) + + For Each item As ServiceProviderItem In items + + If (TypeOf item Is MailDomain) Then + + Try + DeleteDomain(item.Name) + Catch ex As Exception + Log.WriteError(String.Format("Error deleting '{0}' SmarterMail domain", item.Name), ex) + End Try + + End If + + Next + + End Sub + + + Public Sub DeleteDomainAlias(ByVal domainName As String, ByVal aliasName As String) Implements IMailServer.DeleteDomainAlias + Try + If Not DomainAliasExists(domainName, aliasName) Then + Throw New Exception(String.Format("Domain alias {0} does not exist", aliasName)) + End If + Dim [alias] As String = "*@" + aliasName + Dim domain As String = "*@" + domainName + DeleteAlias(domain, [alias]) + Catch ex As Exception + Throw New Exception("Can't delete domain alias", ex) + End Try + End Sub + + Public Sub DeleteGroup(ByVal groupName As String) Implements IMailServer.DeleteGroup + DeleteList(groupName) + End Sub + + Public Sub DeleteList(ByVal maillistName As String) Implements IMailServer.DeleteList + Dim service As Service = LoadServiceProvider() + + Try + service.ComObject.DeleteList(maillistName) + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't delete list", ex) + End Try + + End Sub + + Public Function DomainAliasExists(ByVal domainName As String, ByVal aliasName As String) As Boolean Implements IMailServer.DomainAliasExists + Dim exists As Boolean = False + + Try + Dim aliases As String() = GetDomainAliases(domainName) + Dim [alias] As String + For Each [alias] In aliases + If String.Compare([alias], aliasName, True) = 0 Then + exists = True + Exit For + End If + Next [alias] + Catch ex As Exception + Throw New Exception("Can't check whether domain alias exists", ex) + End Try + + Return exists + End Function + + Public Function DomainExists(ByVal domainName As String) As Boolean Implements IMailServer.DomainExists + Try + Dim ret As Boolean = False + Dim domains() As String = GetDomains() + Dim domain As String + For Each domain In domains + If String.Compare(domain, domainName, True) = 0 Then + ret = True + Exit For + End If + Next domain + Return ret + Catch ex As Exception + Throw New Exception("Can't check whether domain exists", ex) + End Try + End Function + + Public Function GetDomains() As String() Implements IMailServer.GetDomains + Dim service As Service = LoadServiceProvider() + + Try + Dim domainsCount As Integer = service.ComObject.GetDomainCount() + Dim domains() As Object = New Object() {domainsCount} + service.ComObject.GetDomainNames(domains) + + Dim ret As New ArrayList() + Dim domain As Object + For Each domain In domains + ret.Add(domain.ToString()) + Next domain + + UnloadServiceProvider(service) + + Return CType(ret.ToArray(GetType(String)), String()) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't get the list of domains", ex) + End Try + End Function 'GetDomains + + Public Function GetAccount(ByVal mailboxName As String) As MailAccount Implements IMailServer.GetAccount + Dim service As Service = LoadServiceProvider() + Dim mailbox As MailAccount = Nothing + + Try + Dim hUser As Integer = service.ComObject.GetByEmail(mailboxName) + + If hUser = CInt(MD_HANDLE.MD_BADHANDLE) Then + Throw New Exception(String.Format("Mailbox '{0}' not found.", mailboxName)) + End If + + Dim mdUserInfo As Object = CreateMDUserInfo(service) + service.ComObject.GetUserInfo(hUser, mdUserInfo) + + mailbox = CreateMailboxItem(mdUserInfo) + + Dim userDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_USERLISTDB) + PopulateMailboxAccessInfo(userDbPath, mailbox) + + Dim responderDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_AUTORESPDB) + PopulateMailboxResponderInfo(responderDbPath, mailbox) + + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't get mailbox", ex) + End Try + + Return mailbox + End Function + + Public Function GetAccounts(ByVal domainName As String) As MailAccount() Implements IMailServer.GetAccounts + Dim service As Service = LoadServiceProvider() + Dim accounts As List(Of MailAccount) = New List(Of MailAccount) + + Try + Dim badHandle As Integer = CType(MD_HANDLE.MD_BADHANDLE, Integer) + Dim hUser As Integer = service.ComObject.FindFirst() + + Do + If hUser = badHandle Then + Continue Do + End If + + Dim domain As String = service.ComObject.GetDomain(hUser) + If String.Compare(domain, domainName, True) = 0 Then + Dim mailbox As String = service.ComObject.GetEmail(hUser) + Dim fullname As String = service.ComObject.GetFullName(hUser) + + Dim account As MailAccount = New MailAccount() + account.Name = mailbox + Dim names() As String = fullname.Split(New String() {" "}, StringSplitOptions.None) + + If names.Length = 2 Then + account.FirstName = names(0) + account.LastName = names(1) + ElseIf names.Length = 1 Then + account.FirstName = names(0) + End If + + accounts.Add(account) + End If + hUser = service.ComObject.FindNext(hUser) + Loop While Not hUser = badHandle + + service.ComObject.FindClose() + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't get the list of domain users", ex) + End Try + + Return accounts.ToArray() + End Function + + Public Function GetDomain(ByVal domainName As String) As MailDomain Implements IMailServer.GetDomain + Dim service As Service = LoadServiceProvider() + Dim domainItem As MailDomain = Nothing + + Try + If Not DomainExists(domainName) Then + Throw New Exception(String.Format("Domain '{0}' does not exist", domainName)) + End If + + Dim domainDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_DOMAINDB) + domainItem = CreateDomainItemFromProfile(domainName, domainDbPath) + + ' read catch-all and abuse accounts + Dim postmasterAlias As String = String.Concat("Postmaster@", domainItem.Name) + Dim abuseAlias As String = String.Concat("Abuse@", domainItem.Name) + + Dim mdAlias As Object = CreateMDAlias(service) + Dim aliasItem As Object = CreateMDAliasItem(service) + Dim result As Boolean = mdAlias.GetFirstAlias(aliasItem) + + While result + If String.Compare(postmasterAlias, aliasItem.Alias, True) = 0 Then + domainItem.CatchAllAccount = GetEmailName(aliasItem.Email) + ElseIf String.Compare(abuseAlias, aliasItem.Alias, True) = 0 Then + domainItem.AbuseAccount = GetEmailName(aliasItem.Email) + End If + + If Not String.IsNullOrEmpty(domainItem.CatchAllAccount) AndAlso Not String.IsNullOrEmpty(domainItem.AbuseAccount) Then + Exit While + End If + + result = mdAlias.GetNextAlias(aliasItem) + End While + + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't get domain info", ex) + End Try + + Return domainItem + End Function + + Public Function GetDomainAliases(ByVal domainName As String) As String() Implements IMailServer.GetDomainAliases + Dim service As Service = LoadServiceProvider() + Dim aliases As New ArrayList() + Dim domainPattern As String = "*@" + domainName + + Try + Dim mdAlias As Object = CreateMDAlias(service) + Dim aliasItem As Object = CreateMDAliasItem(service) + Dim result As Boolean = mdAlias.GetFirstAlias(aliasItem) + While result + Dim domain As String = aliasItem.Email + If String.Compare(domain, domainPattern, True) = 0 Then + Dim [alias] As String = GetDomainName(aliasItem.Alias) + aliases.Add([alias]) + End If + result = mdAlias.GetNextAlias(aliasItem) + End While + UnloadServiceProvider(service) + Return CType(aliases.ToArray(GetType(String)), String()) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't get the list of domain aliases", ex) + End Try + End Function + + Public Function GetGroup(ByVal groupName As String) As MailGroup Implements IMailServer.GetGroup + Dim service As Service = LoadServiceProvider() + Dim mailGroup As MailGroup = Nothing + + Try + Dim mdList As Object = CreateMDList(service, groupName) + mailGroup = CreateMailGroupItem(service, mdList) + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't get group", ex) + End Try + + Return mailGroup + End Function + + Public Function GetGroups(ByVal domainName As String) As MailGroup() Implements IMailServer.GetGroups + Dim service As Service = LoadServiceProvider() + Dim groups As New List(Of MailGroup) + + Try + Dim lists As String() = GetAllLists(service) + Dim mdList As Object = Nothing + Dim listName As String + + For Each listName In lists + Dim domain As String = GetDomainName(listName) + If String.Compare(domain, domainName, True) <> 0 Then + Continue For + End If + + mdList = CreateMDList(service, listName) + If mdList.PrecedenceLevel = 50 Then + Dim item As New MailGroup() + item.Name = listName + groups.Add(item) + End If + Next listName + + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't get the list of domain groups", ex) + End Try + + Return groups.ToArray() + End Function + + Public Function GetList(ByVal maillistName As String) As MailList Implements IMailServer.GetList + Dim service As Service = LoadServiceProvider() + Dim mailList As MailList = Nothing + + Try + Dim mdList As Object = CreateMDList(service, maillistName) + mailList = CreateMailListItem(service, mdList) + + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't get mail list", ex) + End Try + + Return mailList + End Function + + Public Function GetLists(ByVal domainName As String) As MailList() Implements IMailServer.GetLists + Dim service As Service = LoadServiceProvider() + Dim arrayList As New List(Of MailList) + + Try + Dim lists As String() = GetAllLists(service) + Dim mdList As Object = Nothing + Dim listName As String + + For Each listName In lists + Dim domain As String = GetDomainName(listName) + If String.Compare(domain, domainName, True) <> 0 Then + Continue For + End If + + mdList = CreateMDList(service, listName) + If mdList.PrecedenceLevel <> 50 Then + Dim item As New MailList() + item.Name = listName + arrayList.Add(item) + End If + Next listName + + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't get the list of mailing lists.", ex) + End Try + + Return arrayList.ToArray() + End Function + + Public Function GroupExists(ByVal groupName As String) As Boolean Implements IMailServer.GroupExists + Return EmailExists(groupName) + End Function + + Public Function ListExists(ByVal maillistName As String) As Boolean Implements IMailServer.ListExists + Return EmailExists(maillistName) + End Function + + Public Sub UpdateAccount(ByVal mailbox As MailAccount) Implements IMailServer.UpdateAccount + Dim service As Service = LoadServiceProvider() + + Try + Dim hUser As Integer = service.ComObject.GetByEmail(mailbox.Name) + + If hUser = CInt(MD_HANDLE.MD_BADHANDLE) Then + Throw New Exception(String.Format("Mailbox '{0}' not found.", mailbox.Name)) + End If + + Dim mdUserInfo As Object = CreateMDUserInfo(service) + + PopulateUserInfo(mailbox, mdUserInfo) + service.ComObject.FilterUserInfo(mdUserInfo) + + If mailbox.Enabled = True Then + mdUserInfo.AccessType = "Y"c + Else + mdUserInfo.AccessType = "C"c + End If + + Dim errorCode As Integer = service.ComObject.VerifyUserInfo(mdUserInfo, CInt(MD_VRFYFLAGS.MDUSERDLL_VRFYALL)) + If errorCode <> CInt(MD_ERROR.MDDLLERR_NOERROR) Then + Throw New Exception(String.Format("Could not validate account info. Please make sure that all entries are valid. Error code {0}", errorCode)) + End If + + If Not service.ComObject.SetUserInfo(hUser, mdUserInfo) Then + Throw New Exception(String.Format("Could not update mailbox '{0}'", mailbox.Name)) + End If + + Dim userDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_USERLISTDB) + UpdateUserAccessInfo(userDbPath, mailbox) + + Dim responderDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_AUTORESPDB) + UpdateUserResponderInfo(responderDbPath, mailbox) + + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception(String.Format("Could not update mailbox '{0}'", mailbox.Name), ex) + End Try + End Sub + + Public Sub UpdateDomain(ByVal domain As MailDomain) Implements IMailServer.UpdateDomain + Dim service As Service = LoadServiceProvider() + + Try + Dim postmaster As String = String.Concat(domain.CatchAllAccount, "@", domain.Name) + Dim abuse As String = String.Concat(domain.AbuseAccount, "@", domain.Name) + + Dim postmasterAlias As String = String.Concat("Postmaster@", domain.Name) + Dim abuseAlias As String = String.Concat("Abuse@", domain.Name) + + Dim pmOldEmail As String = Nothing + Dim abOldEmail As String = Nothing + + Dim mdAlias As Object = CreateMDAlias(service) + Dim aliasItem As Object = CreateMDAliasItem(service) + Dim result As Boolean = mdAlias.GetFirstAlias(aliasItem) + + While result + If String.Compare(postmasterAlias, aliasItem.Alias, True) = 0 Then + pmOldEmail = aliasItem.Email + ElseIf String.Compare(abuseAlias, aliasItem.Alias, True) = 0 Then + abOldEmail = aliasItem.Email + End If + + If Not String.IsNullOrEmpty(pmOldEmail) AndAlso Not String.IsNullOrEmpty(abOldEmail) Then + Exit While + End If + + result = mdAlias.GetNextAlias(aliasItem) + End While + + ' cleanup postmaster alias + If Not String.IsNullOrEmpty(pmOldEmail) Then + service.ComObject.DeleteAlias(postmasterAlias, pmOldEmail) + End If + + ' cleanup abuse alias + If Not String.IsNullOrEmpty(abOldEmail) Then + service.ComObject.DeleteAlias(abuseAlias, abOldEmail) + End If + + If Not service.ComObject.CreateAlias(postmaster, postmasterAlias) Then + Throw New Exception("Couldn't assign domain postmaster account.") + End If + + If Not service.ComObject.CreateAlias(abuse, abuseAlias) Then + Throw New Exception("Couldn't assign domain abuse account.") + End If + + Dim domainDbPath As String = service.ComObject.GetDBPath(MDaemonInterop.MDUSERDLL_DOMAINDB) + Dim retVal As Integer = GetProfileSection(domain.Name, domainDbPath) + + If retVal = 0 Then + If Not WriteProfileSection(domain.Name, domainDbPath) Then + Throw New Exception(String.Format("Could not create profile section in '{0}' file.", domainDbPath)) + End If + End If + + WriteDomainInfo(domain, domainDbPath) + + ' force to refresh cache + RefreshMailServerCache(service) + + 'reload domains + service.ComObject.ReloadUsers() + + UnloadServiceProvider(service) + Catch ex As Exception + UnloadServiceProvider(service) + Throw New Exception("Can't update domain", ex) + End Try + End Sub + + Public Sub UpdateGroup(ByVal group As MailGroup) Implements IMailServer.UpdateGroup + Try + If Not GroupExists(group.Name) Then + Throw New Exception(String.Format("Group {0} does not exists.", group.Name)) + End If + PopulateGroupInfo(group, False) + Catch ex As Exception + Throw New Exception("Can't update group.", ex) + End Try + End Sub + + Public Sub UpdateList(ByVal maillist As MailList) Implements IMailServer.UpdateList + Try + If Not GroupExists(maillist.Name) Then + Throw New Exception(String.Format("Mail list {0} does not exists.", maillist.Name)) + End If + PopulateMailListInfo(maillist, False) + Catch ex As Exception + Throw New Exception("Can't update mail list.", ex) + End Try + End Sub + +#Region "HostingServiceProvider methods" + Public Overrides Sub ChangeServiceItemsState(ByVal items() As ServiceProviderItem, ByVal enabled As Boolean) + For Each item As ServiceProviderItem In items + If TypeOf item Is MailDomain Then + Try + ' get mail domain accounts + Dim accounts As MailAccount() = Me.GetAccounts(item.Name) + ' disable each mail account + For Each account As MailAccount In accounts + account.Enabled = enabled + ' change service item state + UpdateAccount(account) + Next + Catch ex As Exception + Log.WriteError(String.Format("Error switching '{0}' mail domain", item.Name), ex) + End Try + End If + Next + End Sub +#End Region + + Public Function GetAppFolderPath() As String + Dim uninstalString As String = "" + Dim returnPath As String = "" + Dim key32bit As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MDaemon Server") + If (key32bit IsNot Nothing) Then + uninstalString = CStr(key32bit.GetValue("UninstallString")) + Else + Dim key64bit As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\MDaemon Server") + If (key64bit IsNot Nothing) Then + uninstalString = CStr(key32bit.GetValue("UninstallString")) + Else + Return "C:\MDaemon\App\" + End If + End If + If [String].IsNullOrEmpty(uninstalString) = False Then + Dim split As String() = uninstalString.Split(New [Char]() {" "c}) + returnPath = split(0).Remove(split(0).LastIndexOf("\") + 1) + End If + + If [String].IsNullOrEmpty(uninstalString) = False Then + Return returnPath + End If + Return "C:\MDaemon\App\" + End Function + + Public Overrides Function IsInstalled() As Boolean + Dim version As String = "" + Dim key32bit As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MDaemon Server") + If (key32bit IsNot Nothing) Then + version = CStr(key32bit.GetValue("DisplayVersion")) + Else + Dim key64bit As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\MDaemon Server") + If (key64bit IsNot Nothing) Then + version = CStr(key64bit.GetValue("DisplayVersion")) + Else + Return False + End If + End If + If [String].IsNullOrEmpty(version) = False Then + Dim split As String() = version.Split(New [Char]() {"."c}) + Return split(0).Equals("9") Or split(0).Equals("10") Or split(0).Equals("11") + Else + Return False + End If + End Function + End Class \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MDaemonInterop.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MDaemonInterop.vb index e58c254c..be2ed279 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MDaemonInterop.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MDaemon/MDaemonInterop.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MELogReader.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MELogReader.vb index d2bda344..12a69a83 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MELogReader.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MELogReader.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb index 64f1a337..9229def6 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnable.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableAddressMap.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableAddressMap.vb index 30f8db75..3bff334d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableAddressMap.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableAddressMap.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableBlacklist.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableBlacklist.vb index d2e81bba..d5a0c026 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableBlacklist.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableBlacklist.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableDomain.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableDomain.vb index 736fa129..8fdb926c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableDomain.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableDomain.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroup.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroup.vb index b60ade86..32fc0b28 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroup.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroup.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroupMember.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroupMember.vb index d01e8232..c1a65800 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroupMember.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableGroupMember.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableList.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableList.vb index 56c9f5c8..8f58806a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableList.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableList.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableListMember.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableListMember.vb index 0b43ddac..95c2a416 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableListMember.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableListMember.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableLogin.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableLogin.vb index 5ac6d0de..bc773a8f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableLogin.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableLogin.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableMailbox.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableMailbox.vb index 0f79485b..cfc688b2 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableMailbox.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableMailbox.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableOption.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableOption.vb index 66e39568..bc8cfe45 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableOption.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnableOption.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnablePostoffice.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnablePostoffice.vb index fcfdd71d..c43f2a88 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnablePostoffice.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.MailEnable/MailEnablePostoffice.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.Merak/Merak.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.Merak/Merak.vb index 60f63274..a5ec3a3b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.Merak/Merak.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.Merak/Merak.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.Merak10/Merak10.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.Merak10/Merak10.vb index e0b2e227..aea4180f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.Merak10/Merak10.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.Merak10/Merak10.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail2/SmarterMail2.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail2/SmarterMail2.cs index 1c336f46..ebe32be1 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail2/SmarterMail2.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail2/SmarterMail2.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail2/SmarterMailProxies.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail2/SmarterMailProxies.cs index 4773c68a..085aa202 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail2/SmarterMailProxies.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail2/SmarterMailProxies.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail3/SmarterMail3.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail3/SmarterMail3.cs index 9bc4b0cf..0e79a904 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail3/SmarterMail3.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail3/SmarterMail3.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail5/SmartelMail5Proxies.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail5/SmartelMail5Proxies.cs index c9421d46..68aad3c2 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail5/SmartelMail5Proxies.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail5/SmartelMail5Proxies.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail5/SmarterMail5.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail5/SmarterMail5.cs index 02927487..56e8cb21 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail5/SmarterMail5.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail5/SmarterMail5.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail6/SmarterMail6.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail6/SmarterMail6.cs index 587e14a6..cfa88210 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail6/SmarterMail6.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail6/SmarterMail6.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail6/SmarterMail6Proxies.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail6/SmarterMail6Proxies.cs index f57a30ff..53fed906 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail6/SmarterMail6Proxies.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail6/SmarterMail6Proxies.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail7/Extensions.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail7/Extensions.cs index 861c1d9e..ba2a2c22 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail7/Extensions.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail7/Extensions.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail7/SmarterMail7.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail7/SmarterMail7.cs index f0766ca6..19031afa 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail7/SmarterMail7.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail7/SmarterMail7.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail9/Extensions.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail9/Extensions.cs index 90a62b86..d06d5904 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail9/Extensions.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail9/Extensions.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail9/SmarterMail9.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail9/SmarterMail9.cs index c5d043de..3ce85581 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail9/SmarterMail9.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.SmarterMail9/SmarterMail9.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMail5/hMailServer5.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMail5/hMailServer5.vb index 158a72f3..91ea5b65 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMail5/hMailServer5.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMail5/hMailServer5.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb index fb0a85fc..18cf3150 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer/hMailServer.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer43/hMailServer43.vb b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer43/hMailServer43.vb index f805a921..41adf5f7 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer43/hMailServer43.vb +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Mail.hMailServer43/hMailServer43.vb @@ -1,4 +1,4 @@ -' Copyright (c) 2011, Outercurve Foundation. +' Copyright (c) 2012, Outercurve Foundation. ' All rights reserved. ' ' Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2003/Windows2003.cs b/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2003/Windows2003.cs index 2b943866..f251bd66 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2003/Windows2003.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2003/Windows2003.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2008/Windows2008.cs b/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2008/Windows2008.cs index ca3bade0..ece1d802 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2008/Windows2008.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2008/Windows2008.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.SharePoint.Sps20/Sps20.cs b/WebsitePanel/Sources/WebsitePanel.Providers.SharePoint.Sps20/Sps20.cs index 580796fc..0c9487d4 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.SharePoint.Sps20/Sps20.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.SharePoint.Sps20/Sps20.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.SharePoint.Sps30/Sps30.cs b/WebsitePanel/Sources/WebsitePanel.Providers.SharePoint.Sps30/Sps30.cs index 7ef87072..a2f89516 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.SharePoint.Sps30/Sps30.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.SharePoint.Sps30/Sps30.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.SharePoint.Sps30/Sps30Remote.cs b/WebsitePanel/Sources/WebsitePanel.Providers.SharePoint.Sps30/Sps30Remote.cs index b34b59b7..595f4d30 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.SharePoint.Sps30/Sps30Remote.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.SharePoint.Sps30/Sps30Remote.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.AWStats/AWStats.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.AWStats/AWStats.cs index b9681b98..94d86761 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.AWStats/AWStats.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.AWStats/AWStats.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStats.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStats.cs index 8869e015..ab13bf65 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStats.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStats.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStats4.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStats4.cs index 96faf4c9..a9df7910 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStats4.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStats4.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStats5.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStats5.cs index 34edff4d..99ed9eba 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStats5.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStats5.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStatsProxies.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStatsProxies.cs index 674fc21b..70d49016 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStatsProxies.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Statistics.SmarterStats/SmarterStatsProxies.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Virtualization.HyperV/HyperV.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Virtualization.HyperV/HyperV.cs index 7ac474f5..a2458255 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Virtualization.HyperV/HyperV.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Virtualization.HyperV/HyperV.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Virtualization.HyperV/Wmi.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Virtualization.HyperV/Wmi.cs index bdb44a7d..fa14e05e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Virtualization.HyperV/Wmi.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Virtualization.HyperV/Wmi.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Virtualization.HyperVForPC/HyperVForPC.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Virtualization.HyperVForPC/HyperVForPC.cs index e901dbd9..c63b9d4c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Virtualization.HyperVForPC/HyperVForPC.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Virtualization.HyperVForPC/HyperVForPC.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/AnonymAuthModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/AnonymAuthModuleService.cs index 36083d3b..ebdffa5c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/AnonymAuthModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/AnonymAuthModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/AuthenticationGlobals.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/AuthenticationGlobals.cs index b4162e21..c34c2802 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/AuthenticationGlobals.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/AuthenticationGlobals.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/BasicAuthModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/BasicAuthModuleService.cs index ac0c2fa6..38f08a78 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/BasicAuthModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/BasicAuthModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/WindowsAuthenticationModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/WindowsAuthenticationModuleService.cs index 4e38e096..e4a3494d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/WindowsAuthenticationModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Authentication/WindowsAuthenticationModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/ClassicAsp/ClassicAspGlobals.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/ClassicAsp/ClassicAspGlobals.cs index a2012b53..bdf16fa8 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/ClassicAsp/ClassicAspGlobals.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/ClassicAsp/ClassicAspGlobals.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/ClassicAsp/ClassicAspModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/ClassicAsp/ClassicAspModuleService.cs index 81429281..b562ce22 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/ClassicAsp/ClassicAspModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/ClassicAsp/ClassicAspModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/ConfigurationModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/ConfigurationModuleService.cs index a087b946..6a86b105 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/ConfigurationModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/ConfigurationModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/FastCgiApplication.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/FastCgiApplication.cs index c4c2f6c2..c0a919d0 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/FastCgiApplication.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/FastCgiApplication.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/FastCgiApplicationCollection.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/FastCgiApplicationCollection.cs index 5336da9e..d9b62444 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/FastCgiApplicationCollection.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/FastCgiApplicationCollection.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/FastCgiSection.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/FastCgiSection.cs index e8ece9f0..23503e72 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/FastCgiSection.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/FastCgiSection.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/HttpErrorResponseMode.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/HttpErrorResponseMode.cs index c55bc7ba..a8378c19 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/HttpErrorResponseMode.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/HttpErrorResponseMode.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/IsapiCgiRestrictionCollection.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/IsapiCgiRestrictionCollection.cs index 28e3872e..27554857 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/IsapiCgiRestrictionCollection.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/IsapiCgiRestrictionCollection.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/IsapiCgiRestrictionElement.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/IsapiCgiRestrictionElement.cs index 41e973cf..618a6c1f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/IsapiCgiRestrictionElement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/IsapiCgiRestrictionElement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/IsapiCgiRestrictionSection.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/IsapiCgiRestrictionSection.cs index d24f9552..c0770227 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/IsapiCgiRestrictionSection.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Common/IsapiCgiRestrictionSection.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DefaultDocuments/DefaultDocumentModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DefaultDocuments/DefaultDocumentModuleService.cs index afba44a2..b0a2f3f4 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DefaultDocuments/DefaultDocumentModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DefaultDocuments/DefaultDocumentModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseGlobals.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseGlobals.cs index a99c38db..f2521466 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseGlobals.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseGlobals.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseModuleService.cs index ab69354f..417afe4a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseSection.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseSection.cs index d86a638f..59872767 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseSection.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseSection.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseShowFlags.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseShowFlags.cs index 25d32fd2..09eb75ea 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseShowFlags.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/DirectoryBrowse/DirectoryBrowseShowFlags.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Extensions/ExtensionsModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Extensions/ExtensionsModuleService.cs index ab42e310..f7cc721e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Extensions/ExtensionsModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Extensions/ExtensionsModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerAccessPolicy.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerAccessPolicy.cs index b27cec14..b5eccd2f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerAccessPolicy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerAccessPolicy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerAction.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerAction.cs index 0d3c0a9b..cc41e148 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerAction.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerAction.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerActionCollection.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerActionCollection.cs index 02ae0248..546a7d84 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerActionCollection.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerActionCollection.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerRequiredAccess.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerRequiredAccess.cs index 39f7b5de..a8784c4d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerRequiredAccess.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlerRequiredAccess.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlersModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlersModuleService.cs index 86dd2b1c..85abd7db 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlersModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlersModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlersSection.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlersSection.cs index 5dc3a4b4..7fb6f5a0 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlersSection.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/HandlersSection.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/ResourceType.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/ResourceType.cs index 590c3101..624d0854 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/ResourceType.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Handlers/ResourceType.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/HttpRedirect/HttpRedirectModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/HttpRedirect/HttpRedirectModuleService.cs index 973c44b6..6fa5f7fe 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/HttpRedirect/HttpRedirectModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/HttpRedirect/HttpRedirectModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs index 807c2e1e..001401da 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/MimeTypes/MimeTypesModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/MimeTypes/MimeTypesModuleService.cs index a9496bd8..25cdd5e5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/MimeTypes/MimeTypesModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/MimeTypes/MimeTypesModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/SSL/SSLModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/SSL/SSLModuleService.cs index e38a34d7..9ba9604a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/SSL/SSLModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/SSL/SSLModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Utility/ConfigurationUtility.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Utility/ConfigurationUtility.cs index 7165d75e..bf258d30 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Utility/ConfigurationUtility.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/Utility/ConfigurationUtility.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/CustomHttpErrorsModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/CustomHttpErrorsModuleService.cs index 7cac48ad..de3a4c32 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/CustomHttpErrorsModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/CustomHttpErrorsModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/CustomHttpHeadersModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/CustomHttpHeadersModuleService.cs index e08132d1..faecef93 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/CustomHttpHeadersModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/CustomHttpHeadersModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/WebObjectsModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/WebObjectsModuleService.cs index 9919e630..3a8cae98 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/WebObjectsModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/WebObjectsModuleService.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/IIs60.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/IIs60.cs index 0862cd2d..8ba1570a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/IIs60.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/IIs60.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/WebApplicationGallery.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/WebApplicationGallery.cs index 95794f25..bbee5146 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/WebApplicationGallery.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/WebApplicationGallery.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Registrars.Enom/EnomRegistrar.cs b/WebsitePanel/Sources/WebsitePanel.Registrars.Enom/EnomRegistrar.cs index d3d5eadc..818904f4 100644 --- a/WebsitePanel/Sources/WebsitePanel.Registrars.Enom/EnomRegistrar.cs +++ b/WebsitePanel/Sources/WebsitePanel.Registrars.Enom/EnomRegistrar.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Registrars.OfflineRegistrar/OfflineRegistrar.cs b/WebsitePanel/Sources/WebsitePanel.Registrars.OfflineRegistrar/OfflineRegistrar.cs index 460607f7..64181081 100644 --- a/WebsitePanel/Sources/WebsitePanel.Registrars.OfflineRegistrar/OfflineRegistrar.cs +++ b/WebsitePanel/Sources/WebsitePanel.Registrars.OfflineRegistrar/OfflineRegistrar.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/AutoDiscoveryProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/AutoDiscoveryProxy.cs index 57f69758..cfe0b732 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/AutoDiscoveryProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/AutoDiscoveryProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/BlackBerryProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/BlackBerryProxy.cs index 705c9dab..f2ff8d65 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/BlackBerryProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/BlackBerryProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/CRMProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/CRMProxy.cs index bb119303..1d98cbc3 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/CRMProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/CRMProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/Common/ServerProxyConfigurator.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/Common/ServerProxyConfigurator.cs index 86385191..404a5f2b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/Common/ServerProxyConfigurator.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/Common/ServerProxyConfigurator.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/Common/ServerUsernameAssertion.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/Common/ServerUsernameAssertion.cs index f07eb541..cbd802a0 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/Common/ServerUsernameAssertion.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/Common/ServerUsernameAssertion.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/DatabaseServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/DatabaseServerProxy.cs index 7f33f546..78667dc9 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/DatabaseServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/DatabaseServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/DnsServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/DnsServerProxy.cs index 407e7334..85e734a3 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/DnsServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/DnsServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs index c4e51d8f..914918ea 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/FtpServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/FtpServerProxy.cs index 958d97d2..038f2acd 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/FtpServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/FtpServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/HostedSharePointServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/HostedSharePointServerProxy.cs index ab10c8fe..fa6a5f6d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/HostedSharePointServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/HostedSharePointServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/MailServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/MailServerProxy.cs index 5d2102f3..4d8605dc 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/MailServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/MailServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/OCSEdgeServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/OCSEdgeServerProxy.cs index 04f248e6..90d1b668 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/OCSEdgeServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/OCSEdgeServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/OCSServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/OCSServerProxy.cs index 9df6e4a7..19034cf3 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/OCSServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/OCSServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/OperatingSystemProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/OperatingSystemProxy.cs index 58723d1f..f40b6d59 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/OperatingSystemProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/OperatingSystemProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/OrganizationProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/OrganizationProxy.cs index a09c265b..ed96ad4f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/OrganizationProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/OrganizationProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/ServiceProviderProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/ServiceProviderProxy.cs index 440cfdce..8336dc9b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/ServiceProviderProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/ServiceProviderProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/SharePointServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/SharePointServerProxy.cs index 63e8bd3c..83d4adc7 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/SharePointServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/SharePointServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/StatisticsServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/StatisticsServerProxy.cs index 1ca9fc55..b3eaf74d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/StatisticsServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/StatisticsServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/VirtualizationServerForPrivateCloudProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/VirtualizationServerForPrivateCloudProxy.cs index 5e03c0c6..8bfd9cc4 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/VirtualizationServerForPrivateCloudProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/VirtualizationServerForPrivateCloudProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/VirtualizationServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/VirtualizationServerProxy.cs index 2db1270b..bbd40eea 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/VirtualizationServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/VirtualizationServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/WebServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/WebServerProxy.cs index 5fdca03c..1c7b345c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/WebServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/WebServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/WindowsServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/WindowsServerProxy.cs index 9f79e7cb..cef73fa6 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/WindowsServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/WindowsServerProxy.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/BsdDES.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/BsdDES.cs index a04fc8d9..cac9b854 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/BsdDES.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/BsdDES.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/CRC32.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/CRC32.cs index c9d2d683..c2a71147 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/CRC32.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/CRC32.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/EventLogTraceListener.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/EventLogTraceListener.cs index 7188ffb4..f854bc1d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/EventLogTraceListener.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/EventLogTraceListener.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/FileUtils.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/FileUtils.cs index 54bd5f60..6a4263bc 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/FileUtils.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/FileUtils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/Log.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/Log.cs index e93a3d7a..be3ea63f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/Log.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/Log.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/LogParser.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/LogParser.cs index eae403a5..2d893f45 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/LogParser.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/LogParser.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/LogReader.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/LogReader.cs index 27fa2891..f1f21b8c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/LogReader.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/LogReader.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/LogState.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/LogState.cs index 0d590b03..a8b977eb 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/LogState.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/LogState.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/MonthlyStatistics.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/MonthlyStatistics.cs index c46ba575..e13b24f9 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/MonthlyStatistics.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/MonthlyStatistics.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/StatsLine.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/StatsLine.cs index 5b7e0f7a..17bf05e4 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/StatsLine.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/LogParser/StatsLine.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/OS.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/OS.cs index 3a679f07..96800ef9 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/OS.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/OS.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/PInvoke.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/PInvoke.cs index 3db8d664..498a8f11 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/PInvoke.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/PInvoke.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/SecurityUtils.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/SecurityUtils.cs index c05dc629..5e87756b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/SecurityUtils.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/SecurityUtils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/StringUtils.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/StringUtils.cs index f1a7426e..436ee19e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/StringUtils.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/StringUtils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/SystemSID.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/SystemSID.cs index cd14a80c..c5042426 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/SystemSID.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/SystemSID.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/WmiHelper.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/WmiHelper.cs index 0df6b148..ce96dcf0 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/WmiHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/WmiHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/AutoDiscovery.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/AutoDiscovery.asmx.cs index eb858f0a..e187cd43 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/AutoDiscovery.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/AutoDiscovery.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/BlackBerry.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/BlackBerry.asmx.cs index 3a869c04..ff07fbfd 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/BlackBerry.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/BlackBerry.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/CRM.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/CRM.asmx.cs index 1b4d3a0c..7c8ff121 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/CRM.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/CRM.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/Code/AutoDiscoveryHelper.cs b/WebsitePanel/Sources/WebsitePanel.Server/Code/AutoDiscoveryHelper.cs index a7e9cd59..0e804b46 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/Code/AutoDiscoveryHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/Code/AutoDiscoveryHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/Code/ServerConfiguration.cs b/WebsitePanel/Sources/WebsitePanel.Server/Code/ServerConfiguration.cs index 338b2465..f2198dc8 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/Code/ServerConfiguration.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/Code/ServerConfiguration.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/Code/ServerUsernameTokenManager.cs b/WebsitePanel/Sources/WebsitePanel.Server/Code/ServerUsernameTokenManager.cs index 21ff94e1..9f9c1201 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/Code/ServerUsernameTokenManager.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/Code/ServerUsernameTokenManager.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/Code/UsernameAssertion.cs b/WebsitePanel/Sources/WebsitePanel.Server/Code/UsernameAssertion.cs index 74302d60..505f79fe 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/Code/UsernameAssertion.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/Code/UsernameAssertion.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/DNSServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/DNSServer.asmx.cs index 0b65e5cc..33356d9f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/DNSServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/DNSServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/DatabaseServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/DatabaseServer.asmx.cs index 127c5a6a..e951c4be 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/DatabaseServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/DatabaseServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/Default.aspx.cs b/WebsitePanel/Sources/WebsitePanel.Server/Default.aspx.cs index d6ae29da..5267c682 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/Default.aspx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/Default.aspx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServer.asmx.cs index 53875d70..3903594f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServerHostedEdition.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServerHostedEdition.asmx.cs index d6c9b9a4..8d03a17a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServerHostedEdition.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServerHostedEdition.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/FTPServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/FTPServer.asmx.cs index 57ec8fdb..746359ed 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/FTPServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/FTPServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/Global.asax.cs b/WebsitePanel/Sources/WebsitePanel.Server/Global.asax.cs index 43c2cbc9..764acf17 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/Global.asax.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/Global.asax.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/HostedSharePointServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/HostedSharePointServer.asmx.cs index d9c76e53..a80da75a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/HostedSharePointServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/HostedSharePointServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/MailServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/MailServer.asmx.cs index b6767e12..47a2bd3e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/MailServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/MailServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/OCSEdgeServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/OCSEdgeServer.asmx.cs index 0f17a1c5..958e08ae 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/OCSEdgeServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/OCSEdgeServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/OCSServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/OCSServer.asmx.cs index 5bf847e2..46c859dc 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/OCSServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/OCSServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/OperatingSystem.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/OperatingSystem.asmx.cs index cde6252e..e258900a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/OperatingSystem.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/OperatingSystem.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/Organizations.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/Organizations.asmx.cs index f130bb71..f057ec76 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/Organizations.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/Organizations.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/ServiceProvider.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/ServiceProvider.asmx.cs index 09189e8c..4a309af9 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/ServiceProvider.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/ServiceProvider.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/SharePointServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/SharePointServer.asmx.cs index fef76504..033d8e21 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/SharePointServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/SharePointServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/StatisticsServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/StatisticsServer.asmx.cs index 2fd5bf82..e42ed2ae 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/StatisticsServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/StatisticsServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/VirtualizationServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/VirtualizationServer.asmx.cs index fbe5370e..6e75cc5f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/VirtualizationServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/VirtualizationServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/VirtualizationServerForPrivateCloud.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/VirtualizationServerForPrivateCloud.asmx.cs index 68de0d43..4e141ebd 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/VirtualizationServerForPrivateCloud.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/VirtualizationServerForPrivateCloud.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/WebServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/WebServer.asmx.cs index 0ed2a811..0db78da3 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/WebServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/WebServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server/WindowsServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/WindowsServer.asmx.cs index 3f038893..e6769ca1 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/WindowsServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/WindowsServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/BinaryExpression.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/BinaryExpression.cs index 4db6c0e5..4ee6c6ee 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/BinaryExpression.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/BinaryExpression.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/CallTemplateStatement.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/CallTemplateStatement.cs index 7d7e2f99..d3765f00 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/CallTemplateStatement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/CallTemplateStatement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/ElseIfStatement.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/ElseIfStatement.cs index 377093ae..33307bc0 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/ElseIfStatement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/ElseIfStatement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/Expression.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/Expression.cs index 511c6158..93665b55 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/Expression.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/Expression.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/ForStatement.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/ForStatement.cs index 4790bdbd..ee6ce917 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/ForStatement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/ForStatement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/ForeachStatement.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/ForeachStatement.cs index 51311a8e..79b12c82 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/ForeachStatement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/ForeachStatement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/IdentifierExpression.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/IdentifierExpression.cs index de8c5237..e4513696 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/IdentifierExpression.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/IdentifierExpression.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/IdentifierPart.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/IdentifierPart.cs index 8d98f274..22430df5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/IdentifierPart.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/IdentifierPart.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/IfStatement.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/IfStatement.cs index ad53d56d..abd3f702 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/IfStatement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/IfStatement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/LiteralExpression.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/LiteralExpression.cs index 2ac2af7e..ea89e718 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/LiteralExpression.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/LiteralExpression.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/PrintStatement.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/PrintStatement.cs index a21cc01e..c45723b2 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/PrintStatement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/PrintStatement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/SetStatement.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/SetStatement.cs index be8069e8..677e1f09 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/SetStatement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/SetStatement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/Statement.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/Statement.cs index 5bd32729..eb59f887 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/Statement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/Statement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/TemplateStatement.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/TemplateStatement.cs index b8251f92..5092ed59 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/TemplateStatement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/TemplateStatement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/TextStatement.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/TextStatement.cs index cffff9c2..32ab0d02 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/TextStatement.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/TextStatement.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/AST/UnaryExpression.cs b/WebsitePanel/Sources/WebsitePanel.Templates/AST/UnaryExpression.cs index 73aafef2..92de7236 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/AST/UnaryExpression.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/AST/UnaryExpression.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/BuiltinFunctions.cs b/WebsitePanel/Sources/WebsitePanel.Templates/BuiltinFunctions.cs index 8dff270f..40407802 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/BuiltinFunctions.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/BuiltinFunctions.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/Lexer.cs b/WebsitePanel/Sources/WebsitePanel.Templates/Lexer.cs index 754b0884..bfb2a864 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/Lexer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/Lexer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/Parser.cs b/WebsitePanel/Sources/WebsitePanel.Templates/Parser.cs index b22811a2..47960985 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/Parser.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/Parser.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/ParserException.cs b/WebsitePanel/Sources/WebsitePanel.Templates/ParserException.cs index 5cdad424..019d3705 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/ParserException.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/ParserException.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/Program.cs b/WebsitePanel/Sources/WebsitePanel.Templates/Program.cs index d9d3261b..e1077d41 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/Program.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/Program.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/Template.cs b/WebsitePanel/Sources/WebsitePanel.Templates/Template.cs index 41e4ec35..5f4b459d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/Template.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/Template.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/TemplateContext.cs b/WebsitePanel/Sources/WebsitePanel.Templates/TemplateContext.cs index 497eec5d..2a58cf99 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/TemplateContext.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/TemplateContext.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/Token.cs b/WebsitePanel/Sources/WebsitePanel.Templates/Token.cs index 6d5b66d8..fa1cc0d2 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/Token.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/Token.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Templates/TokenType.cs b/WebsitePanel/Sources/WebsitePanel.Templates/TokenType.cs index 5214100e..29cfd881 100644 --- a/WebsitePanel/Sources/WebsitePanel.Templates/TokenType.cs +++ b/WebsitePanel/Sources/WebsitePanel.Templates/TokenType.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/Adapters/ImageAdapter.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/Adapters/ImageAdapter.cs index 449776bb..b23c383c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/Adapters/ImageAdapter.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/Adapters/ImageAdapter.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ContentPane.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ContentPane.cs index 64a08f30..bb5005c2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ContentPane.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ContentPane.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/Controls/DesktopContextValidator.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/Controls/DesktopContextValidator.cs index 97749c8c..9cde60c8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/Controls/DesktopContextValidator.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/Controls/DesktopContextValidator.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ModuleControl.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ModuleControl.cs index db61f96f..0711bfab 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ModuleControl.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ModuleControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ModuleControlType.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ModuleControlType.cs index cc5d0420..b1220451 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ModuleControlType.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ModuleControlType.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ModuleDefinition.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ModuleDefinition.cs index 0383d004..ab390745 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ModuleDefinition.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/ModuleDefinition.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PageModule.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PageModule.cs index c7b38415..d8b2cdd1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PageModule.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PageModule.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PageTitleProvider.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PageTitleProvider.cs index 21a35dc5..1af37cce 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PageTitleProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PageTitleProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalConfiguration.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalConfiguration.cs index b86c89e9..f1aacdae 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalConfiguration.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalConfiguration.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalControlBase.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalControlBase.cs index 2dbd7764..91a34b64 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalControlBase.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalControlBase.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalPage.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalPage.cs index 3c6459d1..77df175c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalPage.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalPage.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalThemeProvider.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalThemeProvider.cs index 728e4aa0..475d138a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalThemeProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalThemeProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalUtils.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalUtils.cs index 48652477..4ab69b01 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalUtils.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalUtils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SiteSettings.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SiteSettings.cs index ef4a1daa..8ab8d0ee 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SiteSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SiteSettings.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SiteStructure.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SiteStructure.cs index e34db3d9..023fd2f8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SiteStructure.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SiteStructure.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/WebPortalControlBase.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/WebPortalControlBase.cs index 607a1713..48c015c9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/WebPortalControlBase.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/WebPortalControlBase.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/WebsitePanelSiteMapProvider.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/WebsitePanelSiteMapProvider.cs index 1e42b6f0..acb25348 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/WebsitePanelSiteMapProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/WebsitePanelSiteMapProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Default.aspx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Default.aspx.cs index cf150e21..c6dd5693 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Default.aspx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Default.aspx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/BillingCycles.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/BillingCycles.ascx.cs index 89f610b4..2bb68c86 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/BillingCycles.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/BillingCycles.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/BillingCyclesAddCycle.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/BillingCyclesAddCycle.ascx.cs index c746dfc5..2f65ed68 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/BillingCyclesAddCycle.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/BillingCyclesAddCycle.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/BillingCyclesEditCycle.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/BillingCyclesEditCycle.ascx.cs index 9a9f86f5..1d380324 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/BillingCyclesEditCycle.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/BillingCyclesEditCycle.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Categories.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Categories.ascx.cs index 42f1fa6d..a8eae6d6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Categories.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Categories.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CategoriesAddCategory.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CategoriesAddCategory.ascx.cs index 7b04af1c..7adbacc0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CategoriesAddCategory.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CategoriesAddCategory.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CategoriesEditCategory.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CategoriesEditCategory.ascx.cs index adc37dfa..3d035ca3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CategoriesEditCategory.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CategoriesEditCategory.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/EC.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/EC.cs index da414c80..54826705 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/EC.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/EC.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/EcommerceSettings.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/EcommerceSettings.cs index 85d57135..acab66dc 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/EcommerceSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/EcommerceSettings.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/CheckoutBasePage.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/CheckoutBasePage.cs index 007f2876..733f62b6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/CheckoutBasePage.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/CheckoutBasePage.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/GroupRadioButton.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/GroupRadioButton.cs index 64d6df42..f08606fd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/GroupRadioButton.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/GroupRadioButton.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/IPaymentMethod.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/IPaymentMethod.cs index 1a1e3748..7e48b0dd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/IPaymentMethod.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/IPaymentMethod.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/IPluginSettings.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/IPluginSettings.cs index 8d1d5188..da1aad38 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/IPluginSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/IPluginSettings.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/IViewServiceDetails.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/IViewServiceDetails.cs index 665e3773..12697dcf 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/IViewServiceDetails.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/IViewServiceDetails.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ManualContextValidator.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ManualContextValidator.cs index 382f0d46..048a2b0d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ManualContextValidator.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ManualContextValidator.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/PasswordTextBox.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/PasswordTextBox.cs index 792efb66..8851be01 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/PasswordTextBox.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/PasswordTextBox.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/RadioGroupValidator.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/RadioGroupValidator.cs index d5825c00..c3e5723d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/RadioGroupValidator.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/RadioGroupValidator.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecControlBase.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecControlBase.cs index 9d19f488..b9f099bd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecControlBase.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecControlBase.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecModuleBase.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecModuleBase.cs index 19ebbf83..1c0f9cd1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecModuleBase.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecModuleBase.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecPanelFormatter.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecPanelFormatter.cs index 49c9e4fc..d3b4c740 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecPanelFormatter.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecPanelFormatter.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecPanelGlobals.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecPanelGlobals.cs index 9f2f00e2..c4f1e1a0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecPanelGlobals.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecPanelGlobals.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecPanelRequest.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecPanelRequest.cs index e9daab21..46553cf2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecPanelRequest.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Framework/ecPanelRequest.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Helpers/CategoryHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Helpers/CategoryHelper.cs index 2e495bfc..aad4fd7a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Helpers/CategoryHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Helpers/CategoryHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Helpers/StorefrontHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Helpers/StorefrontHelper.cs index 206d0935..170cc8b1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Helpers/StorefrontHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Helpers/StorefrontHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Helpers/StorehouseHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Helpers/StorehouseHelper.cs index d51d3a63..6799e5c6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Helpers/StorehouseHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Helpers/StorehouseHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Keys.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Keys.cs index dff4c414..c6dbd259 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Keys.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Keys.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/PortalCache.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/PortalCache.cs index 4d5b6714..5efff23b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/PortalCache.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/PortalCache.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/ProxyConfigurator.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/ProxyConfigurator.cs index 7a475b84..8606dd65 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/ProxyConfigurator.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/ProxyConfigurator.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Services/2Checkout.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Services/2Checkout.cs index a0ba5e0d..3d5333aa 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Services/2Checkout.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Services/2Checkout.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Services/PayPalIPN.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Services/PayPalIPN.cs index e1e9f9fa..e1bd82f1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Services/PayPalIPN.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Services/PayPalIPN.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Services/ServiceHandlerBase.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Services/ServiceHandlerBase.cs index 4b4856fe..affbd1de 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Services/ServiceHandlerBase.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/Services/ServiceHandlerBase.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/UrlBuilder.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/UrlBuilder.cs index 41dcdb4b..49a4addf 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/UrlBuilder.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/UrlBuilder.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/ecUtils.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/ecUtils.cs index c7382d32..bc77e3dc 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/ecUtils.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Code/ecUtils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomerPaymentProfile.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomerPaymentProfile.ascx.cs index ec02ccdf..536604b3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomerPaymentProfile.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomerPaymentProfile.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersInvoices.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersInvoices.ascx.cs index 2dd3123e..147cecfa 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersInvoices.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersInvoices.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersInvoicesViewInvoice.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersInvoicesViewInvoice.ascx.cs index b21fa364..20a6a1b0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersInvoicesViewInvoice.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersInvoicesViewInvoice.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersPayments.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersPayments.ascx.cs index fcd97eb6..0c881983 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersPayments.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersPayments.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersServices.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersServices.ascx.cs index b332a92c..132f5da0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersServices.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersServices.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersServicesUpgradeService.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersServicesUpgradeService.ascx.cs index da4535bf..0b3a734d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersServicesUpgradeService.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersServicesUpgradeService.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersServicesViewService.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersServicesViewService.ascx.cs index 9f738b28..74a074b5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersServicesViewService.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/CustomersServicesViewService.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainNames.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainNames.ascx.cs index 3d75ecf8..1a124959 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainNames.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainNames.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainNamesAddDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainNamesAddDomain.ascx.cs index 6194d4ec..099d1821 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainNamesAddDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainNamesAddDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainNamesEditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainNamesEditDomain.ascx.cs index fd17c991..75fd084a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainNamesEditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainNamesEditDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainRegistrarDirecti.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainRegistrarDirecti.ascx.cs index b38dd460..e0f8e5a9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainRegistrarDirecti.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainRegistrarDirecti.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainRegistrarEnom.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainRegistrarEnom.ascx.cs index ce8230ce..82a271ed 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainRegistrarEnom.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/DomainRegistrarEnom.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/EcommerceSystemSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/EcommerceSystemSettings.ascx.cs index 9d0286c9..fd899111 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/EcommerceSystemSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/EcommerceSystemSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingAddons.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingAddons.ascx.cs index 7f87af0e..c1a6a8c3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingAddons.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingAddons.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingAddonsAddAddon.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingAddonsAddAddon.ascx.cs index 2a79ad64..4f47d42d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingAddonsAddAddon.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingAddonsAddAddon.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingAddonsEditAddon.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingAddonsEditAddon.ascx.cs index 092245e3..3f9a2462 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingAddonsEditAddon.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingAddonsEditAddon.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingPlans.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingPlans.ascx.cs index eefb5026..122f97c2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingPlans.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingPlans.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingPlansAddPlan.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingPlansAddPlan.ascx.cs index 7cb10063..dae0271b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingPlansAddPlan.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingPlansAddPlan.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingPlansEditPlan.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingPlansEditPlan.ascx.cs index dd422ee3..ac1da2a8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingPlansEditPlan.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/HostingPlansEditPlan.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationNewInvoice.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationNewInvoice.ascx.cs index 5694f404..1da1242d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationNewInvoice.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationNewInvoice.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationPaymentReceived.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationPaymentReceived.ascx.cs index b0f0ad7f..508c4862 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationPaymentReceived.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationPaymentReceived.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationServiceActivated.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationServiceActivated.ascx.cs index 2037ded0..4b4af97f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationServiceActivated.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationServiceActivated.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationServiceCancelled.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationServiceCancelled.ascx.cs index f1155958..91f8ab26 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationServiceCancelled.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationServiceCancelled.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationServiceSuspended.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationServiceSuspended.ascx.cs index 41a9b60c..beac9c3f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationServiceSuspended.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/NotificationServiceSuspended.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderCheckout.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderCheckout.ascx.cs index 6f789040..0cfb39fe 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderCheckout.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderCheckout.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderComplete.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderComplete.ascx.cs index 81d12de8..7f61e5c7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderComplete.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderComplete.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderFailed.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderFailed.ascx.cs index 520367ad..ec627fb4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderFailed.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderFailed.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderPassback.aspx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderPassback.aspx.cs index a25bd33a..39921c94 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderPassback.aspx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/OrderPassback.aspx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PP_Routine.aspx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PP_Routine.aspx.cs index c8af900b..2f2a112d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PP_Routine.aspx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PP_Routine.aspx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethod2Checkout.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethod2Checkout.ascx.cs index 6022015b..58af4cfd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethod2Checkout.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethod2Checkout.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethodCreditCard.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethodCreditCard.ascx.cs index 7ede4fd8..0ddc058a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethodCreditCard.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethodCreditCard.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethodOffline.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethodOffline.ascx.cs index a4fac6f6..e5af3ccd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethodOffline.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethodOffline.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethodPayPalAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethodPayPalAccount.ascx.cs index 96cb11a8..ae9fa185 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethodPayPalAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethodPayPalAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/2CO_Payment.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/2CO_Payment.ascx.cs index 47f646d6..bbb68b34 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/2CO_Payment.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/2CO_Payment.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/CreditCard_Payment.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/CreditCard_Payment.ascx.cs index 55b51ecd..8975d773 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/CreditCard_Payment.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/CreditCard_Payment.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/Offline_Payment.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/Offline_Payment.ascx.cs index 89fb9137..b4f89742 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/Offline_Payment.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/Offline_Payment.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/PPAccount_Payment.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/PPAccount_Payment.ascx.cs index f26213a7..c0f7b891 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/PPAccount_Payment.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/PaymentMethods/PPAccount_Payment.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/DomainName_ServiceDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/DomainName_ServiceDetails.ascx.cs index 30e40b0d..cbe9905d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/DomainName_ServiceDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/DomainName_ServiceDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingAddon_ServiceDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingAddon_ServiceDetails.ascx.cs index 37190891..e1ee4101 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingAddon_ServiceDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingAddon_ServiceDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingPlan_Brief.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingPlan_Brief.ascx.cs index 8de7f133..d0817f44 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingPlan_Brief.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingPlan_Brief.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingPlan_Highlights.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingPlan_Highlights.ascx.cs index defea6be..70327dee 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingPlan_Highlights.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingPlan_Highlights.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingPlan_ServiceDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingPlan_ServiceDetails.ascx.cs index 0a66def9..4b942e18 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingPlan_ServiceDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProductControls/HostingPlan_ServiceDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProvisioningSettingsEdit.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProvisioningSettingsEdit.ascx.cs index 91f3c940..a83c10f5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProvisioningSettingsEdit.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ProvisioningSettingsEdit.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/QuickSignup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/QuickSignup.ascx.cs index 14fc462c..1acc1ff8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/QuickSignup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/QuickSignup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SkinControls/CatalogBreadCrumb.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SkinControls/CatalogBreadCrumb.ascx.cs index aacb80d9..aeaef2de 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SkinControls/CatalogBreadCrumb.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SkinControls/CatalogBreadCrumb.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontMenu.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontMenu.ascx.cs index 8771ef62..31303138 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontMenu.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontMenu.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontOrderProduct.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontOrderProduct.ascx.cs index 56824c9f..815fdb2c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontOrderProduct.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontOrderProduct.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontViewCategory.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontViewCategory.ascx.cs index 32a6c47f..47fd796c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontViewCategory.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontViewCategory.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontWelcome.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontWelcome.ascx.cs index a5b26003..73c1f8e2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontWelcome.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontWelcome.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontWelcomeEdit.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontWelcomeEdit.ascx.cs index 4bed7470..0e5b9a27 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontWelcomeEdit.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/StorefrontWelcomeEdit.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/2Checkout_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/2Checkout_Settings.ascx.cs index b5dd917c..95210a76 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/2Checkout_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/2Checkout_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/AuthorizeNet_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/AuthorizeNet_Settings.ascx.cs index 5a3f2bf1..426408b4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/AuthorizeNet_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/AuthorizeNet_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/OfflinePayment_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/OfflinePayment_Settings.ascx.cs index bf33915b..b025dd31 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/OfflinePayment_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/OfflinePayment_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/PayPalPro_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/PayPalPro_Settings.ascx.cs index 9e72e841..730bfc85 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/PayPalPro_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/PayPalPro_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/PayPalStandard_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/PayPalStandard_Settings.ascx.cs index e239f9c4..8755077f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/PayPalStandard_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/SupportedPlugins/PayPalStandard_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Taxations.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Taxations.ascx.cs index bdd6993d..8bf270fa 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Taxations.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/Taxations.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TaxationsAddTax.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TaxationsAddTax.ascx.cs index cfd7ac2b..202b8bfa 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TaxationsAddTax.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TaxationsAddTax.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TaxationsEditTax.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TaxationsEditTax.ascx.cs index b15b6048..b9bde420 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TaxationsEditTax.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TaxationsEditTax.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TermsAndConditions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TermsAndConditions.ascx.cs index b0657e53..6837fa9a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TermsAndConditions.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TermsAndConditions.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TermsAndConditionsEdit.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TermsAndConditionsEdit.ascx.cs index 67fac5b2..c94e2a31 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TermsAndConditionsEdit.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/TermsAndConditionsEdit.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/AddonProducts.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/AddonProducts.ascx.cs index e11cadf4..775f253d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/AddonProducts.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/AddonProducts.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ChoosePaymentMethod.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ChoosePaymentMethod.ascx.cs index 9577a174..a7a1a5c5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ChoosePaymentMethod.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ChoosePaymentMethod.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/CreateUserAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/CreateUserAccount.ascx.cs index cd780bd0..3fc40e80 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/CreateUserAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/CreateUserAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/CustomerInvoiceTemplated.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/CustomerInvoiceTemplated.ascx.cs index 3731ee40..57d2bb85 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/CustomerInvoiceTemplated.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/CustomerInvoiceTemplated.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/DomainNameBillingCycles.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/DomainNameBillingCycles.ascx.cs index e537b78a..4668f12e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/DomainNameBillingCycles.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/DomainNameBillingCycles.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/EmailNotificationEditor.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/EmailNotificationEditor.ascx.cs index 2818c4fb..36361855 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/EmailNotificationEditor.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/EmailNotificationEditor.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingAddonOneTimeFee.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingAddonOneTimeFee.ascx.cs index 28d42cbf..240fe086 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingAddonOneTimeFee.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingAddonOneTimeFee.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanBillingCycles.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanBillingCycles.ascx.cs index e5eb8c6f..9c6e3788 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanBillingCycles.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanBillingCycles.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx.cs index 3ecbfa36..a1f2d166 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/HostingPlanQuotas.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/LoginUserAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/LoginUserAccount.ascx.cs index 651ed0c2..3546bee4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/LoginUserAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/LoginUserAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ManualPaymentAdd.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ManualPaymentAdd.ascx.cs index 0decfe69..e34ec4f9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ManualPaymentAdd.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ManualPaymentAdd.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/PathBreadCrumb.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/PathBreadCrumb.ascx.cs index 4233ff08..da8a14b6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/PathBreadCrumb.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/PathBreadCrumb.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/PlanDomainOption.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/PlanDomainOption.ascx.cs index ccc7b139..5e664f34 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/PlanDomainOption.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/PlanDomainOption.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/PlanHostingAddons.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/PlanHostingAddons.ascx.cs index 0cf2194a..fe908491 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/PlanHostingAddons.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/PlanHostingAddons.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ProductCategories.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ProductCategories.ascx.cs index 78b7591c..ad092501 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ProductCategories.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ProductCategories.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ProductHighlights.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ProductHighlights.ascx.cs index 8850d21e..7ec18329 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ProductHighlights.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/ProductHighlights.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/QuickHostingAddon.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/QuickHostingAddon.ascx.cs index 63df1ef5..a2b155a6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/QuickHostingAddon.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/QuickHostingAddon.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/QuickHostingPlanCycles.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/QuickHostingPlanCycles.ascx.cs index 539c5c3f..57fe516a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/QuickHostingPlanCycles.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/QuickHostingPlanCycles.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/QuickHostingPlans.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/QuickHostingPlans.ascx.cs index 39472ac8..c1198978 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/QuickHostingPlans.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/QuickHostingPlans.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/UserAccountDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/UserAccountDetails.ascx.cs index e7c1d361..46256227 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/UserAccountDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/UserControls/UserAccountDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ViewProductDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ViewProductDetails.ascx.cs index 16653c7e..ad08c39f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ViewProductDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/ViewProductDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/AuditLog.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/AuditLog.ascx.cs index 54cf83e7..067c68d7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/AuditLog.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/AuditLog.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BackupWizard.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BackupWizard.ascx.cs index 18d4d1a1..cdbc686f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BackupWizard.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BackupWizard.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BandwidthReport.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BandwidthReport.ascx.cs index 6deae98a..67d0b8be 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BandwidthReport.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BandwidthReport.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BandwidthReportPackageDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BandwidthReportPackageDetails.ascx.cs index 0251c15f..3907a89d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BandwidthReportPackageDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BandwidthReportPackageDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BlackBerry/BlackBerryUsers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BlackBerry/BlackBerryUsers.ascx.cs index 556b38f6..57901702 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BlackBerry/BlackBerryUsers.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BlackBerry/BlackBerryUsers.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BlackBerry/CreateNewBlackBerryUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BlackBerry/CreateNewBlackBerryUser.ascx.cs index 912edb2d..5f1db1f2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BlackBerry/CreateNewBlackBerryUser.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BlackBerry/CreateNewBlackBerryUser.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BlackBerry/EditBlackBerryUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BlackBerry/EditBlackBerryUser.ascx.cs index 5d7b986b..d6e66c6c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BlackBerry/EditBlackBerryUser.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/BlackBerry/EditBlackBerryUser.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CRMOrganizationDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CRMOrganizationDetails.ascx.cs index b92514be..a14ca978 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CRMOrganizationDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CRMOrganizationDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CRMUserRoles.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CRMUserRoles.ascx.cs index 6330c4ab..4abc4a86 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CRMUserRoles.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CRMUserRoles.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CRMUsers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CRMUsers.ascx.cs index 3554d31e..024797fa 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CRMUsers.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CRMUsers.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CreateCRMUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CreateCRMUser.ascx.cs index 15db0f87..adf87b9d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CreateCRMUser.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/CRM/CreateCRMUser.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs index c072504c..c320efb9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/IMessageBoxControl.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/IMessageBoxControl.cs index f59eef4c..7fd5b6d9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/IMessageBoxControl.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/IMessageBoxControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ISchedulerTaskView.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ISchedulerTaskView.cs index 2e95f1df..97a67241 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ISchedulerTaskView.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ISchedulerTaskView.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelFormatter.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelFormatter.cs index 0a1f89cf..5592d33d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelFormatter.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelFormatter.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelGlobals.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelGlobals.cs index db951d0a..0a1495af 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelGlobals.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelGlobals.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelRequest.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelRequest.cs index 0555c1a2..3be9cb28 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelRequest.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelRequest.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelSecurity.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelSecurity.cs index 99e814a2..b780836c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelSecurity.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelSecurity.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/Utils.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/Utils.cs index aa2524d2..bfcc3c85 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/Utils.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/Utils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebPortalPageTitleProvider.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebPortalPageTitleProvider.cs index 1ceb0cf2..b2badf24 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebPortalPageTitleProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebPortalPageTitleProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebPortalThemeProvider.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebPortalThemeProvider.cs index af77130c..712dc224 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebPortalThemeProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebPortalThemeProvider.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelControlBase.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelControlBase.cs index 9c528998..f8414e60 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelControlBase.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelControlBase.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelModuleBase.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelModuleBase.cs index 6973b2bb..cfbf2c67 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelModuleBase.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/WebsitePanelModuleBase.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/AppInstallerHelpers.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/AppInstallerHelpers.cs index e28c3809..2f309aca 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/AppInstallerHelpers.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/AppInstallerHelpers.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/AuditLogHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/AuditLogHelper.cs index c3294fcb..c58b88d1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/AuditLogHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/AuditLogHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/BlackBerryHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/BlackBerryHelper.cs index 0aabb202..9e008e80 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/BlackBerryHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/BlackBerryHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/CRMHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/CRMHelper.cs index 4f59f747..7c8e1b8b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/CRMHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/CRMHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ExchangeHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ExchangeHelper.cs index 49b6d683..fe9507c5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ExchangeHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ExchangeHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/FilesHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/FilesHelper.cs index a45115ea..3520b0cd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/FilesHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/FilesHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/HostedSharePointSiteCollectionsHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/HostedSharePointSiteCollectionsHelper.cs index 484b5e6b..6bed29c2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/HostedSharePointSiteCollectionsHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/HostedSharePointSiteCollectionsHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/HostingPlansHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/HostingPlansHelper.cs index e5af8565..9111c839 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/HostingPlansHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/HostingPlansHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/IPAddressesHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/IPAddressesHelper.cs index 1482fd18..28f8f85f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/IPAddressesHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/IPAddressesHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/OCSHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/OCSHelper.cs index a36ba040..ec8258c3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/OCSHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/OCSHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/OrganizationsHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/OrganizationsHelper.cs index df64456a..f6790dde 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/OrganizationsHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/OrganizationsHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/PackagesHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/PackagesHelper.cs index a4bb6870..9b15dc35 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/PackagesHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/PackagesHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ReportsHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ReportsHelper.cs index 834e5a24..d86ffe2c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ReportsHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ReportsHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/SchedulesHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/SchedulesHelper.cs index c7a5c11c..48076da6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/SchedulesHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/SchedulesHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ServersHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ServersHelper.cs index 1f694aff..b543854c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ServersHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ServersHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ServiceItemsHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ServiceItemsHelper.cs index 240d7fa0..ad33e40c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ServiceItemsHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/ServiceItemsHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/TasksHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/TasksHelper.cs index 4a1706b7..7a87266f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/TasksHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/TasksHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/UsersHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/UsersHelper.cs index 083d2aa0..6037efe0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/UsersHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/UsersHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/VirtualMachinesForPCHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/VirtualMachinesForPCHelper.cs index 3c3579e3..4a112b07 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/VirtualMachinesForPCHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/VirtualMachinesForPCHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/VirtualMachinesHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/VirtualMachinesHelper.cs index 594c8785..ab166877 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/VirtualMachinesHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/VirtualMachinesHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/WebAppGalleryHelpers.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/WebAppGalleryHelpers.cs index 37beff3d..67e812f1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/WebAppGalleryHelpers.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/WebAppGalleryHelpers.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IDatabaseEditDatabaseControl.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IDatabaseEditDatabaseControl.cs index fefb4eb9..495dd34f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IDatabaseEditDatabaseControl.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IDatabaseEditDatabaseControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IDatabaseEditUserControl.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IDatabaseEditUserControl.cs index b4fa24a5..cafab85b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IDatabaseEditUserControl.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IDatabaseEditUserControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IFtpEditAccountControl.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IFtpEditAccountControl.cs index 0bd9f45b..53594775 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IFtpEditAccountControl.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IFtpEditAccountControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IHostingServiceProviderSettings.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IHostingServiceProviderSettings.cs index 462db3eb..51b350b2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IHostingServiceProviderSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IHostingServiceProviderSettings.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditAccountControl.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditAccountControl.cs index 8a7a066d..605b9277 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditAccountControl.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditAccountControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditDomainControl.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditDomainControl.cs index 4b749065..926ad8df 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditDomainControl.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditDomainControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditForwardingControl.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditForwardingControl.cs index 6e3c7d2c..ec1cd111 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditForwardingControl.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditForwardingControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditGroupControl.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditGroupControl.cs index 8135da0e..5225f2ac 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditGroupControl.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditGroupControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditListControl.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditListControl.cs index af75ef61..b3626eb9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditListControl.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IMailEditListControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IPackageSettingsEditorControl.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IPackageSettingsEditorControl.cs index 9dae529a..704484b8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IPackageSettingsEditorControl.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IPackageSettingsEditorControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IStatsEditInstallationControl.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IStatsEditInstallationControl.cs index dcbc3e80..c70e5b0c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IStatsEditInstallationControl.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IStatsEditInstallationControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IUserSettingsEditorControl.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IUserSettingsEditorControl.cs index 201f5a22..297dd537 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IUserSettingsEditorControl.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IUserSettingsEditorControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IWebInstallerSettings.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IWebInstallerSettings.cs index 52abaae3..79d5d7cf 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IWebInstallerSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ProviderControls/IWebInstallerSettings.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/AbstractReportLocalizer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/AbstractReportLocalizer.cs index 2bdffdcf..9def06c8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/AbstractReportLocalizer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/AbstractReportLocalizer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/EmbeddedReportLocalizer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/EmbeddedReportLocalizer.cs index 571d0e9a..5f1045de 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/EmbeddedReportLocalizer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/EmbeddedReportLocalizer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/FileSystemReportLocalizer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/FileSystemReportLocalizer.cs index 1eb0ff54..a3d0aa2e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/FileSystemReportLocalizer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/FileSystemReportLocalizer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/IResourceStorage.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/IResourceStorage.cs index f212968f..77def71a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/IResourceStorage.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/IResourceStorage.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/ReportingServicesUtils.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/ReportingServicesUtils.cs index 64a46dbf..3bfa30ec 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/ReportingServicesUtils.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/ReportingServicesUtils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/WebsitePanelModuleResourceStorage.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/WebsitePanelModuleResourceStorage.cs index 1a41c9af..ff22b46f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/WebsitePanelModuleResourceStorage.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/ReportingServices/WebsitePanelModuleResourceStorage.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DiskspaceReport.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DiskspaceReport.ascx.cs index 1e8c6d6a..6aa7773f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DiskspaceReport.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DiskspaceReport.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DiskspaceReportPackageDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DiskspaceReportPackageDetails.ascx.cs index fa1d4cb6..a4a4c25e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DiskspaceReportPackageDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DiskspaceReportPackageDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.cs index fdf5ba9f..a4f1e1f2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Domains.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Domains.ascx.cs index 8cf418da..d02638e9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Domains.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Domains.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsAddDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsAddDomain.ascx.cs index 3ae89e73..f4673da9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsAddDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsAddDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsAddDomainSelectType.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsAddDomainSelectType.ascx.cs index 51bc9cdc..5a844226 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsAddDomainSelectType.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsAddDomainSelectType.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsEditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsEditDomain.ascx.cs index 935897a0..20beb6d1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsEditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsEditDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsSelectDomainControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsSelectDomainControl.ascx.cs index 68242cbd..04e842ef 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsSelectDomainControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsSelectDomainControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx.cs index 9706201d..cd2eb6c5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx.cs index b707d8b0..29c5a9a5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactGeneralSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactGeneralSettings.ascx.cs index e2b49fda..f0b2c7ba 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactGeneralSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactGeneralSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactMailFlowSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactMailFlowSettings.ascx.cs index eac2ee3f..03e37b08 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactMailFlowSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactMailFlowSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx.cs index 702cf0dc..f50647e5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateContact.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateContact.ascx.cs index 9e122808..f09dd359 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateContact.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateContact.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateDistributionList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateDistributionList.ascx.cs index d131f50d..2de35495 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateDistributionList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateDistributionList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx.cs index e0656d65..ab4da28a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreatePublicFolder.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreatePublicFolder.ascx.cs index ea7737e2..416c5d09 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreatePublicFolder.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreatePublicFolder.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx.cs index b2dabbb0..06f4b5ff 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListGeneralSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListGeneralSettings.ascx.cs index d039ec7a..072a415c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListGeneralSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListGeneralSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListMailFlowSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListMailFlowSettings.ascx.cs index 3b40fe43..b857eb64 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListMailFlowSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListMailFlowSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListPermissions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListPermissions.ascx.cs index b79a3eea..391caa18 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListPermissions.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListPermissions.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx.cs index 8ea156c4..31a95d2e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainNames.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainNames.ascx.cs index b3275b0a..fa2ca3c5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainNames.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainNames.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.cs index 5c68bc77..b43ebb7a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx.cs index b38a8a05..cd1eeace 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx.cs index e1ee87c6..b0e5ca58 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx.cs index 144a1d38..d4764986 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx.cs index c29bb8a9..d773c3fd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobile.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobile.ascx.cs index df63cb20..43b26275 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobile.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobile.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobileDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobileDetails.ascx.cs index 4e20ef21..27a9c927 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobileDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobileDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPermissions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPermissions.ascx.cs index 66189629..1c6a3211 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPermissions.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPermissions.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxSetupInstructions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxSetupInstructions.ascx.cs index 1ae62ec0..cd141527 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxSetupInstructions.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxSetupInstructions.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxes.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxes.ascx.cs index 0c7b5c93..984b1287 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxes.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxes.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderEmailAddresses.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderEmailAddresses.ascx.cs index f223aad4..4ad3d0b3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderEmailAddresses.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderEmailAddresses.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx.cs index 0904c223..6ba3637f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderMailEnable.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderMailEnable.ascx.cs index 1995c948..7cc5679a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderMailEnable.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderMailEnable.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderMailFlowSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderMailFlowSettings.ascx.cs index 81a443c6..c6c40789 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderMailFlowSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderMailFlowSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolders.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolders.ascx.cs index 3df56473..b79e563c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolders.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolders.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx.cs index 422e5d4d..ca7afd16 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx.cs index 4f9d7858..a487897e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx.cs index c33f4cf2..2fdceccc 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx.cs index 061c2457..3d738113 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateUser.ascx.cs index 265b74d6..061b4b1b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateUser.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateUser.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs index dd4b18e6..a880fc62 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx.cs index fd7da4ae..c58697a3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserSetupInstructions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserSetupInstructions.ascx.cs index 744b5ba3..7ced46ad 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserSetupInstructions.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserSetupInstructions.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUsers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUsers.ascx.cs index ff2f857e..a232c0f3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUsers.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUsers.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/Organizations.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/Organizations.ascx.cs index d0c09ff0..317f24e7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/Organizations.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/Organizations.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AcceptedSenders.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AcceptedSenders.ascx.cs index bbee6710..a0bd0711 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AcceptedSenders.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AcceptedSenders.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsList.ascx.cs index 826093ff..24b053ee 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Breadcrumb.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Breadcrumb.ascx.cs index 7abb1c7f..5e28599b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Breadcrumb.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Breadcrumb.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/ContactTabs.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/ContactTabs.ascx.cs index 8634831a..15124e1d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/ContactTabs.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/ContactTabs.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/CountrySelector.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/CountrySelector.ascx.cs index 1a467743..ea3c49e0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/CountrySelector.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/CountrySelector.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DaysBox.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DaysBox.ascx.cs index 2ee48314..facf1be2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DaysBox.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DaysBox.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DistributionListTabs.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DistributionListTabs.ascx.cs index 32b38687..85dfff00 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DistributionListTabs.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DistributionListTabs.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DomainSelector.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DomainSelector.ascx.cs index c1fc8d93..076c28f1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DomainSelector.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DomainSelector.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EmailAddress.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EmailAddress.ascx.cs index 57fc3c6e..39c9b920 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EmailAddress.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EmailAddress.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/HoursBox.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/HoursBox.ascx.cs index 41b196b1..11782cea 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/HoursBox.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/HoursBox.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxSelector.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxSelector.ascx.cs index 3bd5d599..60a4aa40 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxSelector.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxSelector.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxTabs.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxTabs.ascx.cs index f92a869a..f2ec5079 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxTabs.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxTabs.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs index ea478c7f..8ff532c6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/PublicFolderTabs.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/PublicFolderTabs.ascx.cs index 47b8e7ba..0aed7ba7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/PublicFolderTabs.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/PublicFolderTabs.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/RejectedSenders.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/RejectedSenders.ascx.cs index 93a6e618..97606a38 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/RejectedSenders.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/RejectedSenders.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/SizeBox.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/SizeBox.ascx.cs index 262554cf..ae062a97 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/SizeBox.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/SizeBox.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs index e5cd71d9..fe09e266 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/FileManager.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/FileManager.ascx.cs index a5c108b3..94d5833a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/FileManager.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/FileManager.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/FtpAccountEditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/FtpAccountEditAccount.ascx.cs index b0fe8278..9e73c4aa 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/FtpAccountEditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/FtpAccountEditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/FtpAccounts.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/FtpAccounts.ascx.cs index ac0a5d50..3a1b239f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/FtpAccounts.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/FtpAccounts.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.cs index dde64c55..5d03772c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointBackupSiteCollection.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointBackupSiteCollection.ascx.cs index fa8194c9..e19d655b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointBackupSiteCollection.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointBackupSiteCollection.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.cs index 84ce5476..79650ced 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointRestoreSiteCollection.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointRestoreSiteCollection.ascx.cs index 59e4b8b8..9e0fd972 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointRestoreSiteCollection.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointRestoreSiteCollection.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointSiteCollections.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointSiteCollections.ascx.cs index d83deac8..2b7b592b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointSiteCollections.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointSiteCollections.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointStorageSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointStorageSettings.ascx.cs index c53062f6..4e035737 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointStorageSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointStorageSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointStorageUsage.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointStorageUsage.ascx.cs index dc9aa2ad..d6432592 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointStorageUsage.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointStorageUsage.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSoluitonReportSummaryLetter.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSoluitonReportSummaryLetter.ascx.cs index 51d9624a..dc89698f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSoluitonReportSummaryLetter.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSoluitonReportSummaryLetter.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingAddons.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingAddons.ascx.cs index 837e5722..3178d311 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingAddons.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingAddons.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingAddonsEditAddon.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingAddonsEditAddon.ascx.cs index bf97085e..c35c1158 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingAddonsEditAddon.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingAddonsEditAddon.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingPlans.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingPlans.ascx.cs index e35fb37e..570d3257 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingPlans.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingPlans.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingPlansEditPlan.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingPlansEditPlan.ascx.cs index 6ba0c0dc..7077c680 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingPlansEditPlan.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingPlansEditPlan.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingPlansQuotas.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingPlansQuotas.ascx.cs index 21c417c5..b614b59a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingPlansQuotas.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostingPlansQuotas.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddresses.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddresses.ascx.cs index 71198d14..9b11804d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddresses.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddresses.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesAddIPAddress.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesAddIPAddress.ascx.cs index 3431e966..7eef428c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesAddIPAddress.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesAddIPAddress.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesEditIPAddress.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesEditIPAddress.ascx.cs index 21ad6d3c..e7871a28 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesEditIPAddress.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/IPAddressesEditIPAddress.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerApplicationHeader.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerApplicationHeader.ascx.cs index c90ffb21..b91c7ca8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerApplicationHeader.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerApplicationHeader.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerApplications.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerApplications.ascx.cs index 82384aa5..5c396780 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerApplications.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerApplications.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerInstallApplication.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerInstallApplication.ascx.cs index cffba567..58722157 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerInstallApplication.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerInstallApplication.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerInstallApplicationComplete.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerInstallApplicationComplete.ascx.cs index 0043e903..5d558d5c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerInstallApplicationComplete.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/InstallerInstallApplicationComplete.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/LoggedUserEditDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/LoggedUserEditDetails.ascx.cs index 7a45ebc6..4f0d0126 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/LoggedUserEditDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/LoggedUserEditDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Login.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Login.ascx.cs index 14a9c2ad..a4169f60 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Login.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Login.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/LoginForgotPassword.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/LoginForgotPassword.ascx.cs index b32cd4d5..555e0aa2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/LoginForgotPassword.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/LoginForgotPassword.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailAccounts.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailAccounts.ascx.cs index 7235101d..6418bef5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailAccounts.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailAccounts.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailAccountsEditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailAccountsEditAccount.ascx.cs index 7a33f084..c428414b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailAccountsEditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailAccountsEditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailDomains.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailDomains.ascx.cs index 438bea72..0dce126c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailDomains.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailDomains.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailDomainsAddPointer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailDomainsAddPointer.ascx.cs index bfb29377..fc01a28a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailDomainsAddPointer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailDomainsAddPointer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailDomainsEditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailDomainsEditDomain.ascx.cs index b684db82..02bf47b0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailDomainsEditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailDomainsEditDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailEditAddress.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailEditAddress.ascx.cs index b6a02dd5..bb6658f0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailEditAddress.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailEditAddress.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailEditItems.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailEditItems.ascx.cs index de6c59c2..edac2cce 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailEditItems.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailEditItems.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailForwardings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailForwardings.ascx.cs index 0e3fc801..d0a0f369 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailForwardings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailForwardings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailForwardingsEditForwarding.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailForwardingsEditForwarding.ascx.cs index 2cbeea78..89fe3069 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailForwardingsEditForwarding.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailForwardingsEditForwarding.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailGroups.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailGroups.ascx.cs index 3d6b76ee..95f897da 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailGroups.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailGroups.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailGroupsEditGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailGroupsEditGroup.ascx.cs index 06de72c1..148314d9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailGroupsEditGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailGroupsEditGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailLists.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailLists.ascx.cs index 4b0931f6..e28cf28e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailLists.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailLists.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailListsEditList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailListsEditList.ascx.cs index 53c90624..9cb2ccb8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailListsEditList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/MailListsEditList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OCS/CreateOCSUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OCS/CreateOCSUser.ascx.cs index e0b1ecfa..8871146a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OCS/CreateOCSUser.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OCS/CreateOCSUser.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OCS/EditOCSUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OCS/EditOCSUser.ascx.cs index 08f57455..272719b1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OCS/EditOCSUser.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OCS/EditOCSUser.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OCS/OCSUsers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OCS/OCSUsers.ascx.cs index 6700227c..9d38099c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OCS/OCSUsers.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OCS/OCSUsers.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcEditSource.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcEditSource.ascx.cs index 9acf1b31..01784a5c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcEditSource.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcEditSource.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcSources.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcSources.ascx.cs index 49f9fee0..02e43db8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcSources.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OdbcSources.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OverusageReport.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OverusageReport.ascx.cs index 459b7b36..fbb3dcff 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OverusageReport.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/OverusageReport.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Peers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Peers.ascx.cs index 34c673fc..b36719bb 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Peers.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Peers.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/PeersEditPeer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/PeersEditPeer.ascx.cs index d76f1473..8ffdb24f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/PeersEditPeer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/PeersEditPeer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AWStats_EditSite.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AWStats_EditSite.ascx.cs index 7e001086..ed8e6bd7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AWStats_EditSite.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AWStats_EditSite.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AWStats_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AWStats_Settings.ascx.cs index fcf0e2cc..7bbad56d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AWStats_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AWStats_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditAccount.ascx.cs index 4f8040a0..21578d19 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditDomain.ascx.cs index c947d4ef..928d20f6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditForwarding.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditForwarding.ascx.cs index b9724187..2e3250c1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditForwarding.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditForwarding.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditGroup.ascx.cs index f1e109aa..9322dc96 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditList.ascx.cs index 539c3eee..cabbfc4e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_EditList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_Settings.ascx.cs index 1cbf5e82..e4f5c64b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/AbilityMailServer_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditAccount.ascx.cs index c43e5e33..426ef8f4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditDomain.ascx.cs index 305e6a2f..79909f1a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditForwarding.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditForwarding.ascx.cs index 405843c9..ffa370ea 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditForwarding.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditForwarding.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditGroup.ascx.cs index 459d63e9..0b078479 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditList.ascx.cs index cb318b62..c9907e0a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_EditList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_Settings.ascx.cs index 02b837e7..252b216e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ArgoMail_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Bind_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Bind_Settings.ascx.cs index 067ebcea..d2351336 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Bind_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Bind_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/BlackBerry5_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/BlackBerry5_Settings.ascx.cs index 8abc09a2..ff0feb68 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/BlackBerry5_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/BlackBerry5_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/BlackBerry_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/BlackBerry_Settings.ascx.cs index b1d574c7..c61da9d2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/BlackBerry_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/BlackBerry_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/CRM_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/CRM_Settings.ascx.cs index 13d1d4c6..d4a3972c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/CRM_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/CRM_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Common_ActiveDirectoryIntegration.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Common_ActiveDirectoryIntegration.ascx.cs index c171f7bd..67a46144 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Common_ActiveDirectoryIntegration.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Common_ActiveDirectoryIntegration.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Common_IPAddressesList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Common_IPAddressesList.ascx.cs index 2fd9de4d..dd6f007b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Common_IPAddressesList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Common_IPAddressesList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Common_SecondaryDNSServers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Common_SecondaryDNSServers.ascx.cs index 4aa34ec3..33b9d283 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Common_SecondaryDNSServers.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Common_SecondaryDNSServers.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange_Settings.ascx.cs index 9b84c24c..12eb59b0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/FileZilla_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/FileZilla_EditAccount.ascx.cs index a81ae67c..242b1507 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/FileZilla_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/FileZilla_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/FileZilla_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/FileZilla_Settings.ascx.cs index 2ae9745f..5f84dd61 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/FileZilla_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/FileZilla_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_EditAccount.ascx.cs index a1896b48..7b3c5187 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx.cs index 5a301b16..55002755 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Gene6FTP_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.cs index 4c17f770..518b23ef 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HyperVForPrivateCloud_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HyperVForPrivateCloud_Settings.ascx.cs index 738e7e2b..95027d51 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HyperVForPrivateCloud_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HyperVForPrivateCloud_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HyperV_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HyperV_Settings.ascx.cs index 437519a0..6582eea1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HyperV_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HyperV_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/IIS60_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/IIS60_Settings.ascx.cs index 5329df64..483f2d7e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/IIS60_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/IIS60_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/IIS70_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/IIS70_Settings.ascx.cs index 9942a36f..5422e65b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/IIS70_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/IIS70_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditAccount.ascx.cs index 97d14e48..da432869 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditDomain.ascx.cs index 587aaef4..6a8081a2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditForwarding.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditForwarding.ascx.cs index 415ab11a..f9cad2a9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditForwarding.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditForwarding.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditGroup.ascx.cs index 42d5e222..8fad4bc5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditList.ascx.cs index 94764390..f13a4d9e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_EditList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_Settings.ascx.cs index 2f6eb70c..5f1ab04b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MDaemon_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSDNS_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSDNS_Settings.ascx.cs index bcae8120..1f05e173 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSDNS_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSDNS_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP60_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP60_EditAccount.ascx.cs index 4ac2371b..8b3499c1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP60_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP60_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP60_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP60_Settings.ascx.cs index 36fcbb7e..1fff383d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP60_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP60_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP70_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP70_EditAccount.ascx.cs index bc0c0da9..e8f4af97 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP70_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP70_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP70_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP70_Settings.ascx.cs index d3c1af76..3311401d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP70_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSFTP70_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSSQL_EditDatabase.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSSQL_EditDatabase.ascx.cs index e18647c4..b7248f6b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSSQL_EditDatabase.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSSQL_EditDatabase.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSSQL_EditUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSSQL_EditUser.ascx.cs index cfbfd10f..61d29b31 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSSQL_EditUser.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSSQL_EditUser.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSSQL_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSSQL_Settings.ascx.cs index ab7e91f8..1206ff19 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSSQL_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MSSQL_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditAccount.ascx.cs index cd17cc57..0ec139a6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx.cs index 7aa33557..740c8b23 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditForwarding.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditForwarding.ascx.cs index 7f8a183b..9d7c04f5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditForwarding.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditForwarding.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditGroup.ascx.cs index dde22a55..0ac5acdc 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditList.ascx.cs index af62a31e..082fa43a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_EditList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_Settings.ascx.cs index d1755854..8aa0aeca 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MailEnable_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditAccount.ascx.cs index 9c8477cb..e7c20736 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditDomain.ascx.cs index 346c42ea..18eb45e8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditForwarding.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditForwarding.ascx.cs index 1d633083..4b5e245f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditForwarding.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditForwarding.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditGroup.ascx.cs index 84da16f1..1410adf1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditList.ascx.cs index c212d463..18e0ea51 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_EditList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_Settings.ascx.cs index 1d6595a8..0f5ad6b0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Merak_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MySQL_EditDatabase.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MySQL_EditDatabase.ascx.cs index c05a8716..d1b49752 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MySQL_EditDatabase.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MySQL_EditDatabase.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MySQL_EditUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MySQL_EditUser.ascx.cs index 0fb222b7..8a5ad2c3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MySQL_EditUser.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MySQL_EditUser.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MySQL_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MySQL_Settings.ascx.cs index 5ebd311a..72c2b37b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MySQL_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/MySQL_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/NetticaDNS_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/NetticaDNS_Settings.ascx.cs index f4f36473..94a35b52 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/NetticaDNS_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/NetticaDNS_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/OCS_EDGE_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/OCS_EDGE_Settings.ascx.cs index 61284894..d17363bc 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/OCS_EDGE_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/OCS_EDGE_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/OCS_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/OCS_Settings.ascx.cs index 14d25c09..3dbf6a1d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/OCS_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/OCS_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Organizations_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Organizations_Settings.ascx.cs index 0c1ee408..a3596f40 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Organizations_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Organizations_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/PowerDNS_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/PowerDNS_Settings.ascx.cs index 29bd6daa..6227977d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/PowerDNS_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/PowerDNS_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ServU_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ServU_EditAccount.ascx.cs index d5d7ccec..5ad70044 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ServU_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ServU_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ServU_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ServU_Settings.ascx.cs index 91ddda76..50a27b39 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ServU_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/ServU_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SimpleDNS_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SimpleDNS_Settings.ascx.cs index 8623ce51..4e7049b2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SimpleDNS_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SimpleDNS_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditAccount.ascx.cs index f3158fae..86049cde 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain.ascx.cs index 07ef296b..25732735 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain_Features.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain_Features.ascx.cs index 3eed285a..e2eebc24 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain_Features.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain_Features.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain_Sharing.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain_Sharing.ascx.cs index cf796008..9dca0085 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain_Sharing.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain_Sharing.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain_Throttling.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain_Throttling.ascx.cs index 587516e8..bbc55caf 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain_Throttling.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditDomain_Throttling.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditForwarding.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditForwarding.ascx.cs index bc90848a..74b7d77d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditForwarding.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditForwarding.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditGroup.ascx.cs index 32e17e60..63130882 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditList.ascx.cs index 9ff46010..aaf1603c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_EditList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_Settings.ascx.cs index 9aba35a1..87939730 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail50_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditAccount.ascx.cs index e993fea2..2deafc56 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain.ascx.cs index 3688e7d2..c46e6076 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain_Features.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain_Features.ascx.cs index 98088a5f..76578d06 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain_Features.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain_Features.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain_Sharing.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain_Sharing.ascx.cs index 075b5ed6..4d2af67c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain_Sharing.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain_Sharing.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain_Throttling.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain_Throttling.ascx.cs index 214eed83..7deb6eb2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain_Throttling.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditDomain_Throttling.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditForwarding.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditForwarding.ascx.cs index 86210d5f..21cc3605 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditForwarding.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditForwarding.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditGroup.ascx.cs index 4b1ec2c8..432ba8d2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditList.ascx.cs index 53e451bc..eeba8b82 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_EditList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_Settings.ascx.cs index 3938b988..5418976e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail60_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditAccount.ascx.cs index b5bbdfe8..a85b3a07 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditDomain.ascx.cs index 0a3ceeb6..41e021c2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditDomain_Features.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditDomain_Features.ascx.cs index 464789fc..944d334f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditDomain_Features.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditDomain_Features.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditDomain_Sharing.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditDomain_Sharing.ascx.cs index 7238a35f..a6a8e3fa 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditDomain_Sharing.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditDomain_Sharing.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditForwarding.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditForwarding.ascx.cs index 1c766b0e..cf320bc6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditForwarding.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditForwarding.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditGroup.ascx.cs index 3ac18992..c4d399e5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditList.ascx.cs index 401971f3..e6abdf3d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_EditList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_Settings.ascx.cs index 99ea1870..ee231153 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterMail_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterStats_EditSite.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterStats_EditSite.ascx.cs index d2b38d76..d5e66ce7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterStats_EditSite.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterStats_EditSite.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterStats_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterStats_Settings.ascx.cs index 7919bbcc..a435c856 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterStats_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/SmarterStats_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Sps20_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Sps20_Settings.ascx.cs index 7dcf344e..ce0cb4ad 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Sps20_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Sps20_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Windows2003_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Windows2003_Settings.ascx.cs index 3f843dca..4f72573e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Windows2003_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Windows2003_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Windows2008_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Windows2008_Settings.ascx.cs index a90bedde..5d8ec8f1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Windows2008_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Windows2008_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.cs index 120e42be..2e94c35b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditDomain.ascx.cs index cba9e12e..cce4d03a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditForwarding.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditForwarding.ascx.cs index 5b61641d..5a64304c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditForwarding.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditForwarding.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditGroup.ascx.cs index 3dd3272b..029408a5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditList.ascx.cs index 002b008a..54e0ecf2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_EditList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_Settings.ascx.cs index 9eda8501..848a2100 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer43_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx.cs index 93abaa53..b57dd91c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx.cs index 718ceece..76d87b8c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx.cs index b0fb0fce..29d96d61 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditForwarding.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx.cs index 4abaf3ff..cf632c49 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx.cs index eb5a2091..c3ceb71a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_EditList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx.cs index 0099c0df..ee362ee8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer5_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditAccount.ascx.cs index 5c83a820..c4ba2096 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditDomain.ascx.cs index 080a8b4c..ff8963d1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditDomain.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditDomain.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditForwarding.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditForwarding.ascx.cs index 7d917498..e20ebe86 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditForwarding.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditForwarding.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditGroup.ascx.cs index 8d4fc5f0..dca47703 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditList.ascx.cs index 1c05efe3..22cd196a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_EditList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_Settings.ascx.cs index bbacf930..2f9c36be 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/hMailServer_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ResizeImage.ashx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ResizeImage.ashx.cs index 0b7208d2..a996ede2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ResizeImage.ashx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ResizeImage.ashx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/RestoreWizard.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/RestoreWizard.ascx.cs index 1757355b..8708d14d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/RestoreWizard.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/RestoreWizard.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/Backup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/Backup.ascx.cs index 81e8f5dd..a59428c1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/Backup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/Backup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/BackupDatabase.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/BackupDatabase.ascx.cs index cd054225..af4a6477 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/BackupDatabase.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/BackupDatabase.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/CalculatePackagesBandwidth.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/CalculatePackagesBandwidth.ascx.cs index 7eb8796c..0925d42b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/CalculatePackagesBandwidth.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/CalculatePackagesBandwidth.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/CheckWebsite.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/CheckWebsite.ascx.cs index 3fe5b2e5..e3145671 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/CheckWebsite.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/CheckWebsite.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/EmptyView.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/EmptyView.ascx.cs index 82ab8332..420219a1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/EmptyView.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/EmptyView.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/ExecuteSystemCommand.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/ExecuteSystemCommand.ascx.cs index 26fea5b0..bbbce217 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/ExecuteSystemCommand.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/ExecuteSystemCommand.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/HostedSolutionReport.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/HostedSolutionReport.ascx.cs index dcb70580..56ae7708 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/HostedSolutionReport.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/HostedSolutionReport.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/NotifyOverusedDatabases.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/NotifyOverusedDatabases.ascx.cs index c8317124..5f4d4acf 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/NotifyOverusedDatabases.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/NotifyOverusedDatabases.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/SendEmailNotification.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/SendEmailNotification.ascx.cs index 155e49fb..42338373 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/SendEmailNotification.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/SendEmailNotification.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/SendFilesViaFtp.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/SendFilesViaFtp.ascx.cs index 738d259f..821e1464 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/SendFilesViaFtp.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/SendFilesViaFtp.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/SuspendOverusedSpaces.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/SuspendOverusedSpaces.ascx.cs index fe319819..83eb1eac 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/SuspendOverusedSpaces.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/SuspendOverusedSpaces.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/ZipFiles.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/ZipFiles.ascx.cs index fa93d3e3..74e04ff8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/ZipFiles.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/ZipFiles.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Schedules.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Schedules.ascx.cs index e7e70c89..ea66949f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Schedules.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Schedules.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SchedulesEditSchedule.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SchedulesEditSchedule.ascx.cs index 0beabd19..edcf60a8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SchedulesEditSchedule.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SchedulesEditSchedule.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchSpaces.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchSpaces.ascx.cs index 4258814e..d6ecdf04 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchSpaces.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchSpaces.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchUsers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchUsers.ascx.cs index 055dd067..059bb35e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchUsers.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SearchUsers.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerDnsRecordsControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerDnsRecordsControl.ascx.cs index 200530ec..8a53317c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerDnsRecordsControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerDnsRecordsControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerHeaderControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerHeaderControl.ascx.cs index 8a9fcadc..7c1f73a7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerHeaderControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerHeaderControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx.cs index 3f17658f..0c32cc60 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerIPAddressesControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerServicesControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerServicesControl.ascx.cs index 3185b2f8..af2ae3ab 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerServicesControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServerServicesControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Servers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Servers.ascx.cs index cff4ba0f..31bfd386 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Servers.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Servers.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersAddServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersAddServer.ascx.cs index 7712d61a..688890c3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersAddServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersAddServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersAddService.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersAddService.ascx.cs index 493a352f..9c9fbb95 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersAddService.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersAddService.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditEventViewer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditEventViewer.ascx.cs index b1c27fdf..b0ada0e4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditEventViewer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditEventViewer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditReboot.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditReboot.ascx.cs index ec34beac..c71f493c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditReboot.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditReboot.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditServer.ascx.cs index d7d8e667..c1ea4357 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditService.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditService.ascx.cs index cba7a7b0..d9c63285 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditService.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditService.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditSystemProcesses.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditSystemProcesses.ascx.cs index 7f3d2134..30d9f1e6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditSystemProcesses.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditSystemProcesses.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditTerminalConnections.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditTerminalConnections.ascx.cs index 3c5f3961..d2a1c784 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditTerminalConnections.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditTerminalConnections.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditWindowsServices.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditWindowsServices.ascx.cs index 9783f750..0104096a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditWindowsServices.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ServersEditWindowsServices.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsAccountSummaryLetter.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsAccountSummaryLetter.ascx.cs index 51f47041..7d151190 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsAccountSummaryLetter.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsAccountSummaryLetter.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsEditor.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsEditor.ascx.cs index ab110bce..a365da9f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsEditor.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsEditor.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx.cs index cb1e3ed9..f434206d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx.cs index aaccdb91..f0621cf4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeMailboxSetupLetter.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeMailboxSetupLetter.ascx.cs index 2639faef..bdee22e6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeMailboxSetupLetter.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeMailboxSetupLetter.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangePolicy.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangePolicy.ascx.cs index d2797d85..8aa6df73 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangePolicy.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangePolicy.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsFtpPolicy.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsFtpPolicy.ascx.cs index 9b5b4ba0..a79f6077 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsFtpPolicy.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsFtpPolicy.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsMailPolicy.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsMailPolicy.ascx.cs index c10a3835..23a19f1d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsMailPolicy.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsMailPolicy.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsMsSqlPolicy.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsMsSqlPolicy.ascx.cs index b6568a3c..bb67f8b5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsMsSqlPolicy.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsMsSqlPolicy.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsMySqlPolicy.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsMySqlPolicy.ascx.cs index e81b35d2..ed94f03a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsMySqlPolicy.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsMySqlPolicy.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsOperatingSystemPolicy.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsOperatingSystemPolicy.ascx.cs index 1ae0b6a8..9ae5d2d7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsOperatingSystemPolicy.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsOperatingSystemPolicy.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsOrganizationUserSummaryLetter.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsOrganizationUserSummaryLetter.ascx.cs index 5c26e1a9..35563ff9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsOrganizationUserSummaryLetter.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsOrganizationUserSummaryLetter.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsPackageSummaryLetter.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsPackageSummaryLetter.ascx.cs index 0c60454f..255f0b1f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsPackageSummaryLetter.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsPackageSummaryLetter.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsPasswordReminderLetter.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsPasswordReminderLetter.ascx.cs index 346be73d..e81afc97 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsPasswordReminderLetter.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsPasswordReminderLetter.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsSharePointPolicy.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsSharePointPolicy.ascx.cs index 802a58f9..9f51901b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsSharePointPolicy.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsSharePointPolicy.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsVpsPolicy.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsVpsPolicy.ascx.cs index a67a96e4..39bda551 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsVpsPolicy.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsVpsPolicy.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsVpsSummaryLetter.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsVpsSummaryLetter.ascx.cs index 7dfa0426..d3cb24ab 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsVpsSummaryLetter.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsVpsSummaryLetter.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx.cs index 9704c31a..7ba14fd0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebPolicy.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebsitePanelPolicy.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebsitePanelPolicy.ascx.cs index 86dc1d98..6a5a2e73 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebsitePanelPolicy.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsWebsitePanelPolicy.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointBackupSite.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointBackupSite.ascx.cs index 715eb930..4f4a9f84 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointBackupSite.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointBackupSite.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointEditSite.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointEditSite.ascx.cs index 077f795e..04502da5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointEditSite.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointEditSite.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointGroups.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointGroups.ascx.cs index 78ae01f8..b8f0932d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointGroups.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointGroups.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointGroupsEditGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointGroupsEditGroup.ascx.cs index 699ed4b7..fbf1182a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointGroupsEditGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointGroupsEditGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointInstallWebPartPackage.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointInstallWebPartPackage.ascx.cs index 721f38c4..310e081a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointInstallWebPartPackage.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointInstallWebPartPackage.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointRestoreSite.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointRestoreSite.ascx.cs index 4ece5c59..743762dd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointRestoreSite.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointRestoreSite.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointSites.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointSites.ascx.cs index de894068..c494a5a3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointSites.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointSites.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointUsers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointUsers.ascx.cs index 16cf7b1d..6fb198bf 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointUsers.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointUsers.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointUsersEditUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointUsersEditUser.ascx.cs index 540fdb28..4e93e9b4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointUsersEditUser.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointUsersEditUser.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointWebPartPackages.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointWebPartPackages.ascx.cs index f1074933..73cdbe14 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointWebPartPackages.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharePointWebPartPackages.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharedSSLAddFolder.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharedSSLAddFolder.ascx.cs index 33869790..728b4782 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharedSSLAddFolder.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharedSSLAddFolder.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharedSSLEditFolder.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharedSSLEditFolder.ascx.cs index 73b68f8c..901f1a54 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharedSSLEditFolder.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharedSSLEditFolder.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharedSSLFolders.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharedSSLFolders.ascx.cs index 4680c715..bca9ce49 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharedSSLFolders.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SharedSSLFolders.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/GlobalSearch.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/GlobalSearch.ascx.cs index 72e7f14a..df390aa3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/GlobalSearch.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/GlobalSearch.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/Logo.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/Logo.ascx.cs index 71d1dc01..a5524242 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/Logo.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/Logo.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/ProductVersion.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/ProductVersion.ascx.cs index bc8fc0ec..6958a4a9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/ProductVersion.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/ProductVersion.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/SignedInUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/SignedInUser.ascx.cs index 70bd12db..f92ef7b9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/SignedInUser.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/SignedInUser.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/SiteFooter.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/SiteFooter.ascx.cs index 36f34ec3..9a31c74e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/SiteFooter.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/SiteFooter.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/TopMenu.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/TopMenu.ascx.cs index 522a7f28..cf6542e8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/TopMenu.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/TopMenu.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/UserSpaceBreadcrumb.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/UserSpaceBreadcrumb.ascx.cs index 52436df5..bd49a4f3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/UserSpaceBreadcrumb.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/UserSpaceBreadcrumb.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceDeleteSpace.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceDeleteSpace.ascx.cs index f64a9da6..8645121a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceDeleteSpace.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceDeleteSpace.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceDetails.ascx.cs index fbc603a2..cad8725e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceDetailsHeaderControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceDetailsHeaderControl.ascx.cs index 2e958cee..951fecfd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceDetailsHeaderControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceDetailsHeaderControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceEditAddon.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceEditAddon.ascx.cs index eae6832c..10b37369 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceEditAddon.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceEditAddon.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceEditDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceEditDetails.ascx.cs index dda88857..f86fe33f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceEditDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceEditDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceEditDnsRecords.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceEditDnsRecords.ascx.cs index 159fc6e8..a12304e4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceEditDnsRecords.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceEditDnsRecords.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceImportResources.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceImportResources.ascx.cs index 8463cc2f..cf6752f6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceImportResources.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceImportResources.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceMenu.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceMenu.ascx.cs index 753aad02..ac690b70 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceMenu.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceMenu.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceNestedSpaces.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceNestedSpaces.ascx.cs index 66c5f922..8394a434 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceNestedSpaces.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceNestedSpaces.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceNestedSpacesSummary.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceNestedSpacesSummary.ascx.cs index 4f889b7c..7884e70c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceNestedSpacesSummary.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceNestedSpacesSummary.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceNotes.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceNotes.ascx.cs index c8299209..88010dab 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceNotes.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceNotes.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.cs index 0be8fb05..211953ad 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotasControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotasControl.ascx.cs index 5056e086..036b2613 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotasControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotasControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx.cs index 5e33e30b..b09f8fb4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsEditor.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsEditor.ascx.cs index 1c2adc48..279ed304 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsEditor.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsEditor.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx.cs index 90902bcb..77cbfbc8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeServer.ascx.cs index add47d3e..8b5d5e45 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsInstantAlias.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsInstantAlias.ascx.cs index 09104ca2..a5c9293a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsInstantAlias.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsInstantAlias.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsNameServers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsNameServers.ascx.cs index 4bf3ee9a..a2fd34a2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsNameServers.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsNameServers.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsSharedSSLSites.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsSharedSSLSites.ascx.cs index 926b139e..e5b9a1e4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsSharedSSLSites.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsSharedSSLSites.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsSpacesFolder.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsSpacesFolder.ascx.cs index 574769e4..d55925a8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsSpacesFolder.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsSpacesFolder.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsVPS.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsVPS.ascx.cs index 5f32d4e6..892db40b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsVPS.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsVPS.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSummaryLetter.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSummaryLetter.ascx.cs index 996254ec..20021f10 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSummaryLetter.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSummaryLetter.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceTools.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceTools.ascx.cs index 329d8f37..5b153679 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceTools.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceTools.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceViewQuotas.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceViewQuotas.ascx.cs index b932826f..e40e959d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceViewQuotas.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceViewQuotas.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlBackupDatabase.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlBackupDatabase.ascx.cs index 520a253c..cf254e2b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlBackupDatabase.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlBackupDatabase.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlDatabases.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlDatabases.ascx.cs index 94f5add6..db2afff7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlDatabases.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlDatabases.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlEditDatabase.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlEditDatabase.ascx.cs index d697a246..4877e95a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlEditDatabase.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlEditDatabase.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlEditUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlEditUser.ascx.cs index 9ad0f93a..5279f2f3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlEditUser.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlEditUser.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlRestoreDatabase.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlRestoreDatabase.ascx.cs index 22f0acfa..d82d369e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlRestoreDatabase.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlRestoreDatabase.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlUsers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlUsers.ascx.cs index 9a8f8098..f1dccafd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlUsers.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SqlUsers.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Statistics.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Statistics.ascx.cs index 29da09ee..3e9880ab 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Statistics.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Statistics.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/StatisticsEditStatistics.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/StatisticsEditStatistics.ascx.cs index cd48ef8d..256bfd07 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/StatisticsEditStatistics.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/StatisticsEditStatistics.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SystemSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SystemSettings.ascx.cs index 1c8150ef..4220cb94 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SystemSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SystemSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/TaskManager.asmx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/TaskManager.asmx.cs index def9793f..04b96393 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/TaskManager.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/TaskManager.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Tasks.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Tasks.ascx.cs index 5dc93757..a1933493 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Tasks.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Tasks.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/TasksTaskDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/TasksTaskDetails.ascx.cs index 08e0006c..7f3ee84a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/TasksTaskDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/TasksTaskDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/TextHTML.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/TextHTML.ascx.cs index fac5b7bf..e5e19ffd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/TextHTML.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/TextHTML.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountChangePassword.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountChangePassword.ascx.cs index d1445721..6f567f9e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountChangePassword.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountChangePassword.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountDetails.ascx.cs index 6bfdaa21..1660316b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountEditDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountEditDetails.ascx.cs index d131ae9f..ff3ac4b2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountEditDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountEditDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMailTemplateSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMailTemplateSettings.ascx.cs index 216e73c2..f7776a00 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMailTemplateSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMailTemplateSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMenu.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMenu.ascx.cs index 076290cb..8d77126b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMenu.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMenu.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountNotes.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountNotes.ascx.cs index 1ed504e3..e64c8940 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountNotes.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountNotes.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountPolicySettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountPolicySettings.ascx.cs index 3cbb77c5..443a347c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountPolicySettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountPolicySettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountSettings.ascx.cs index 9765b3a8..2e614aed 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountSettings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountSummaryLetter.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountSummaryLetter.ascx.cs index a2ca9e9d..b0c7ff0e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountSummaryLetter.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountSummaryLetter.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountTools.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountTools.ascx.cs index b3857fac..10546554 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountTools.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountTools.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/AllocatePackageIPAddresses.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/AllocatePackageIPAddresses.ascx.cs index 66e1841a..f1507791 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/AllocatePackageIPAddresses.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/AllocatePackageIPAddresses.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/AuditLogControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/AuditLogControl.ascx.cs index e0cb7cd3..46f848e9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/AuditLogControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/AuditLogControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/CalendarControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/CalendarControl.ascx.cs index 51e2a884..bb0e21b5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/CalendarControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/CalendarControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/CheckBoxOption.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/CheckBoxOption.ascx.cs index 7ce9d1c4..425c57ea 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/CheckBoxOption.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/CheckBoxOption.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/CollapsiblePanel.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/CollapsiblePanel.ascx.cs index bed0fc75..1e69616d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/CollapsiblePanel.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/CollapsiblePanel.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/Comments.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/Comments.ascx.cs index cb1b1026..e06e5f4b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/Comments.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/Comments.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ContactDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ContactDetails.ascx.cs index a4b95e34..56b27c30 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ContactDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ContactDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EditDomainsList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EditDomainsList.ascx.cs index 32e670cf..22800cb5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EditDomainsList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EditDomainsList.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EditIPAddressControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EditIPAddressControl.ascx.cs index 23082b26..c979f0b7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EditIPAddressControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EditIPAddressControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EditItemComments.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EditItemComments.ascx.cs index e199d563..a4599c63 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EditItemComments.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EditItemComments.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EmailControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EmailControl.ascx.cs index 8bd9cdff..d81107dd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EmailControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EmailControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EnableAsyncTasksSupport.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EnableAsyncTasksSupport.ascx.cs index f349407f..6e80c574 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EnableAsyncTasksSupport.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/EnableAsyncTasksSupport.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/FileLookup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/FileLookup.ascx.cs index cedda499..aebc5389 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/FileLookup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/FileLookup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/FileNameControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/FileNameControl.ascx.cs index d7501095..dc062e57 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/FileNameControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/FileNameControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/Gauge.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/Gauge.ascx.cs index 3a84385e..47ce3a5b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/Gauge.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/Gauge.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/MessageBox.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/MessageBox.ascx.cs index 9688dfb8..0ad2e599 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/MessageBox.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/MessageBox.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PackageIPAddresses.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PackageIPAddresses.ascx.cs index 45c7c67c..8b1678f6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PackageIPAddresses.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PackageIPAddresses.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ParameterEditor.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ParameterEditor.ascx.cs index f44d1c38..57e3d39c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ParameterEditor.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ParameterEditor.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordControl.ascx.cs index bfa90c18..378718dd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordPolicyEditor.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordPolicyEditor.ascx.cs index 0e3e9f80..285e5280 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordPolicyEditor.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordPolicyEditor.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PopupHeader.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PopupHeader.ascx.cs index ac63cf02..e8b25547 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PopupHeader.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PopupHeader.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/Quota.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/Quota.ascx.cs index d465f42d..a4e8fb7e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/Quota.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/Quota.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.cs index 0cae60c0..dd5ecef4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaViewer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaViewer.ascx.cs index 56c2f8f6..a600353e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaViewer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaViewer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ScheduleInterval.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ScheduleInterval.ascx.cs index 074ebf62..68bb18b1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ScheduleInterval.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ScheduleInterval.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ScheduleTime.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ScheduleTime.ascx.cs index 4ebc3707..f0d0482a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ScheduleTime.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ScheduleTime.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SearchBox.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SearchBox.ascx.cs index f1f078bf..e3a06bb8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SearchBox.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SearchBox.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SelectIPAddress.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SelectIPAddress.ascx.cs index 08262be8..4ab07a40 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SelectIPAddress.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SelectIPAddress.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ServerDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ServerDetails.ascx.cs index 2ca0d996..59c9121e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ServerDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/ServerDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SimpleMessageBox.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SimpleMessageBox.ascx.cs index cca2ef92..b5435d8e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SimpleMessageBox.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SimpleMessageBox.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SpaceServiceItems.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SpaceServiceItems.ascx.cs index bb71457f..c08ea7cc 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SpaceServiceItems.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/SpaceServiceItems.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/TimeZones.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/TimeZones.ascx.cs index 8e5a36eb..325247f1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/TimeZones.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/TimeZones.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UserDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UserDetails.ascx.cs index 4475a451..1397e9a7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UserDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UserDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UserLookup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UserLookup.ascx.cs index 05102cbf..97ce04b8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UserLookup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UserLookup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UsernameControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UsernameControl.ascx.cs index 1c35c401..b6d2a4e8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UsernameControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UsernameControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UsernamePolicyEditor.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UsernamePolicyEditor.ascx.cs index 6a18a1c6..511216ae 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UsernamePolicyEditor.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/UsernamePolicyEditor.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx.cs index bd56fd02..793b42f9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateUserAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateUserAccount.ascx.cs index db1c6647..62545c1b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateUserAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateUserAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCustomers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCustomers.ascx.cs index f576b1b1..49df7038 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCustomers.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCustomers.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCustomersSummary.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCustomersSummary.ascx.cs index 26ac3a21..c83e60b2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCustomersSummary.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCustomersSummary.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserDeleteUserAccount.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserDeleteUserAccount.ascx.cs index 11f61962..956d08c9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserDeleteUserAccount.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserDeleteUserAccount.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserSpaces.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserSpaces.ascx.cs index e60db884..70d8e28c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserSpaces.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserSpaces.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/RemoteDesktop/Connect.aspx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/RemoteDesktop/Connect.aspx.cs index ac23f6e5..d0f660cb 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/RemoteDesktop/Connect.aspx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/RemoteDesktop/Connect.aspx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/TestVirtualMachineTemplate.aspx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/TestVirtualMachineTemplate.aspx.cs index 91333ece..4015b01a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/TestVirtualMachineTemplate.aspx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/TestVirtualMachineTemplate.aspx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/Breadcrumb.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/Breadcrumb.ascx.cs index 2ebf7833..b9240626 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/Breadcrumb.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/Breadcrumb.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/FormTitle.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/FormTitle.ascx.cs index a50a8960..e2de140e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/FormTitle.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/FormTitle.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/Menu.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/Menu.ascx.cs index 0b96c08e..b0c82028 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/Menu.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/Menu.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/ServerTabs.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/ServerTabs.ascx.cs index 48917382..19e861d7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/ServerTabs.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/UserControls/ServerTabs.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcAddExternalAddress.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcAddExternalAddress.ascx.cs index d129baa2..2631282a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcAddExternalAddress.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcAddExternalAddress.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcAuditLog.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcAuditLog.ascx.cs index bc1a0544..c779bcee 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcAuditLog.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcAuditLog.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcCreateServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcCreateServer.ascx.cs index bae77330..20ef683f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcCreateServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcCreateServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcExternalNetwork.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcExternalNetwork.ascx.cs index c7e432d1..547fda50 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcExternalNetwork.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcExternalNetwork.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcHome.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcHome.ascx.cs index 7848e769..1c2cc9a6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcHome.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcHome.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcImportServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcImportServer.ascx.cs index 900a6ef6..4e1f33b9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcImportServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcImportServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcManagementNetwork.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcManagementNetwork.ascx.cs index ec77ddde..91bbe58c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcManagementNetwork.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcManagementNetwork.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcPermissions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcPermissions.ascx.cs index 98ea101f..2c900339 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcPermissions.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcPermissions.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcPrivateNetwork.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcPrivateNetwork.ascx.cs index 21395fcf..92053b95 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcPrivateNetwork.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VdcPrivateNetwork.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VirtualMachineImage.ashx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VirtualMachineImage.ashx.cs index d084a04e..eddcfbee 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VirtualMachineImage.ashx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VirtualMachineImage.ashx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VirtualMachineSnapshotImage.ashx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VirtualMachineSnapshotImage.ashx.cs index c4c052b5..8b6ad88c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VirtualMachineSnapshotImage.ashx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VirtualMachineSnapshotImage.ashx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsAddExternalAddress.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsAddExternalAddress.ascx.cs index 1a3d3462..d2c5cd2a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsAddExternalAddress.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsAddExternalAddress.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsAddPrivateAddress.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsAddPrivateAddress.ascx.cs index d08e976e..be53a7af 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsAddPrivateAddress.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsAddPrivateAddress.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsAuditLog.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsAuditLog.ascx.cs index ab7f5460..2f77b287 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsAuditLog.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsAuditLog.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsConfiguration.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsConfiguration.ascx.cs index f632e414..40f7c91a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsConfiguration.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsConfiguration.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsDvd.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsDvd.ascx.cs index 830882e9..aa6a9082 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsDvd.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsDvd.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsEditConfiguration.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsEditConfiguration.ascx.cs index 1d925e1c..f482184c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsEditConfiguration.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsEditConfiguration.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsGeneral.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsGeneral.ascx.cs index 923d8b88..bc2403d9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsGeneral.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsGeneral.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsHelp.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsHelp.ascx.cs index d918742e..b9566d20 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsHelp.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsHelp.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsInsertDvd.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsInsertDvd.ascx.cs index 34501e5c..bb935563 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsInsertDvd.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsInsertDvd.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsNetwork.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsNetwork.ascx.cs index ad1bae6c..311044d6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsNetwork.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsNetwork.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsPermissions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsPermissions.ascx.cs index b5457c2c..7285500d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsPermissions.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsPermissions.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsSnapshots.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsSnapshots.ascx.cs index 3c93feed..26ac375f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsSnapshots.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsSnapshots.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsTools.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsTools.ascx.cs index 0b63e095..f30a35c0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsTools.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsDetailsTools.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsMoveServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsMoveServer.ascx.cs index f2a5f8fd..a58f651b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsMoveServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsMoveServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsToolsDeleteServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsToolsDeleteServer.ascx.cs index ab8a6784..b63fcda0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsToolsDeleteServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsToolsDeleteServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsToolsReinstallServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsToolsReinstallServer.ascx.cs index 8312f7c6..ab9752aa 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsToolsReinstallServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS/VpsToolsReinstallServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/RemoteDesktop/Connect.aspx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/RemoteDesktop/Connect.aspx.cs index 5805a371..053b437f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/RemoteDesktop/Connect.aspx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/RemoteDesktop/Connect.aspx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/TestVirtualMachineTemplate.aspx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/TestVirtualMachineTemplate.aspx.cs index e8b973a1..4bd467e3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/TestVirtualMachineTemplate.aspx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/TestVirtualMachineTemplate.aspx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/Breadcrumb.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/Breadcrumb.ascx.cs index c0b7a136..405c0f6c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/Breadcrumb.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/Breadcrumb.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/FormTitle.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/FormTitle.ascx.cs index be7f1bc1..968b1d62 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/FormTitle.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/FormTitle.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/Menu.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/Menu.ascx.cs index 32982ce2..23be2a9a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/Menu.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/Menu.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/ServerTabs.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/ServerTabs.ascx.cs index 604faeac..4b265375 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/ServerTabs.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/UserControls/ServerTabs.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAccountVLanAdd.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAccountVLanAdd.ascx.cs index 317463e9..7b199b4b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAccountVLanAdd.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAccountVLanAdd.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAccountVLanNetwork.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAccountVLanNetwork.ascx.cs index 5fb80f16..99eda2f8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAccountVLanNetwork.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAccountVLanNetwork.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAddExternalAddress.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAddExternalAddress.ascx.cs index e0529520..170ca3d8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAddExternalAddress.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAddExternalAddress.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAuditLog.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAuditLog.ascx.cs index af5efd4f..316649f7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAuditLog.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcAuditLog.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcCreateServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcCreateServer.ascx.cs index 6dde4925..b79b834e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcCreateServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcCreateServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcExternalNetwork.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcExternalNetwork.ascx.cs index 44322147..552eecdd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcExternalNetwork.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcExternalNetwork.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcFastCreateServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcFastCreateServer.ascx.cs index 9a875029..40abcfd7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcFastCreateServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcFastCreateServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcHome.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcHome.ascx.cs index 7c74b239..0a14b324 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcHome.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcHome.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcImportServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcImportServer.ascx.cs index b64a6b4c..490e5534 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcImportServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcImportServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcManagementNetwork.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcManagementNetwork.ascx.cs index 7f8ad8c5..9ef9775a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcManagementNetwork.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcManagementNetwork.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcPermissions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcPermissions.ascx.cs index 645c3248..b203bae8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcPermissions.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcPermissions.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcPrivateNetwork.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcPrivateNetwork.ascx.cs index 3090839b..cecb7a3d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcPrivateNetwork.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VdcPrivateNetwork.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VirtualMachineImage.ashx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VirtualMachineImage.ashx.cs index cef71b39..f401306a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VirtualMachineImage.ashx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VirtualMachineImage.ashx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VirtualMachineSnapshotImage.ashx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VirtualMachineSnapshotImage.ashx.cs index 8d4d7ffd..0862b48c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VirtualMachineSnapshotImage.ashx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VirtualMachineSnapshotImage.ashx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsAddExternalAddress.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsAddExternalAddress.ascx.cs index 75042c6d..746c8f65 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsAddExternalAddress.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsAddExternalAddress.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsAddPrivateAddress.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsAddPrivateAddress.ascx.cs index ebe198a1..d589cd9d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsAddPrivateAddress.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsAddPrivateAddress.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsAuditLog.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsAuditLog.ascx.cs index 211fd00e..1a2b7f62 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsAuditLog.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsAuditLog.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsConfiguration.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsConfiguration.ascx.cs index c8f2bf6d..d7577529 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsConfiguration.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsConfiguration.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsDvd.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsDvd.ascx.cs index 4f357d42..b31f72a6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsDvd.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsDvd.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsEditConfiguration.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsEditConfiguration.ascx.cs index 7d62e80d..89d00638 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsEditConfiguration.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsEditConfiguration.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsGeneral.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsGeneral.ascx.cs index d656853f..41cccfca 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsGeneral.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsGeneral.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsHelp.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsHelp.ascx.cs index 27704603..f75cd7cb 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsHelp.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsHelp.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsInsertDvd.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsInsertDvd.ascx.cs index 6e4f4bd4..4bb264aa 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsInsertDvd.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsInsertDvd.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsNetwork.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsNetwork.ascx.cs index a4092a79..0a8c8beb 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsNetwork.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsNetwork.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsPermissions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsPermissions.ascx.cs index 2b072e10..8c797c04 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsPermissions.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsPermissions.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsSnapshots.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsSnapshots.ascx.cs index 29395cdc..ddfa81f3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsSnapshots.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsSnapshots.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsTools.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsTools.ascx.cs index edeb15f1..14b7c62a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsTools.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsDetailsTools.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsMoveServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsMoveServer.ascx.cs index 26eca28d..e5413e80 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsMoveServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsMoveServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsToolsDeleteServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsToolsDeleteServer.ascx.cs index c21d293b..53ed60f7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsToolsDeleteServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsToolsDeleteServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsToolsReinstallServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsToolsReinstallServer.ascx.cs index 0174a39c..fa58f3a6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsToolsReinstallServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPSForPC/VpsToolsReinstallServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServers.ascx.cs index d091a1c1..37d947ec 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServers.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServers.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServersAddServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServersAddServer.ascx.cs index e0ad8276..41bee131 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServersAddServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServersAddServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServersAddServices.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServersAddServices.ascx.cs index e740fc5c..f94ffe66 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServersAddServices.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServersAddServices.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServersEditServer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServersEditServer.ascx.cs index ba5b0565..7a8788bb 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServersEditServer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VirtualServersEditServer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGallery.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGallery.ascx.cs index 8f61469b..293000e7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGallery.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGallery.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryHeader.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryHeader.ascx.cs index 80ef85b5..dcf2e312 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryHeader.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryHeader.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryInstall.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryInstall.ascx.cs index c1f65b77..e50c141e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryInstall.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryInstall.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryParams.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryParams.ascx.cs index e0efe20b..54d0fff4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryParams.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebApplicationGalleryParams.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSites.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSites.ascx.cs index a6550a2e..a74f0e19 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSites.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSites.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAddPointer.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAddPointer.ascx.cs index c54ab981..22df860a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAddPointer.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAddPointer.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAddSite.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAddSite.ascx.cs index 4faf2cd9..07ae9663 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAddSite.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAddSite.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAddVirtualDir.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAddVirtualDir.ascx.cs index 1b608164..b541c206 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAddVirtualDir.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAddVirtualDir.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAllocateIPAddresses.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAllocateIPAddresses.ascx.cs index ce5b2d77..28f2c4b4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAllocateIPAddresses.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesAllocateIPAddresses.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesColdFusionControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesColdFusionControl.ascx.cs index 8929b357..e3b9ce80 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesColdFusionControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesColdFusionControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesCustomErrorsControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesCustomErrorsControl.ascx.cs index 7b9bfdbd..9f121d63 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesCustomErrorsControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesCustomErrorsControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesCustomHeadersControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesCustomHeadersControl.ascx.cs index cf0a28ef..ac956d68 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesCustomHeadersControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesCustomHeadersControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeFolder.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeFolder.ascx.cs index ebd576af..c754f22d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeFolder.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeFolder.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeFolderAuth.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeFolderAuth.ascx.cs index 93389b60..214a5fbc 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeFolderAuth.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeFolderAuth.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeGroup.ascx.cs index 370354a3..fe75ce32 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeUser.ascx.cs index ceb0d946..fa909fed 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeUser.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditHeliconApeUser.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs index 28b5bd41..871a41af 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditSite.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditVirtualDir.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditVirtualDir.ascx.cs index 0d50f676..717b1175 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditVirtualDir.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditVirtualDir.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditWebFolder.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditWebFolder.ascx.cs index 27c1e336..ba7d0e6d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditWebFolder.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditWebFolder.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditWebGroup.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditWebGroup.ascx.cs index 22124dc9..a0db0cfb 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditWebGroup.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditWebGroup.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditWebUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditWebUser.ascx.cs index ca2afb25..347ddcb6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditWebUser.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesEditWebUser.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesExtensionsControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesExtensionsControl.ascx.cs index 918a6fa2..598a3625 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesExtensionsControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesExtensionsControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconApeControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconApeControl.ascx.cs index b3381dc8..9477c381 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconApeControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconApeControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHomeFolderControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHomeFolderControl.ascx.cs index ae1a9038..bdbceabd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHomeFolderControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHomeFolderControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesIPAddresses.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesIPAddresses.ascx.cs index b4c1548b..073a45f6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesIPAddresses.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesIPAddresses.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesMimeTypesControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesMimeTypesControl.ascx.cs index 6e0c8ffb..d9ae202c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesMimeTypesControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesMimeTypesControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesSecuredFoldersControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesSecuredFoldersControl.ascx.cs index 770a5dc0..40d7dcbc 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesSecuredFoldersControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesSecuredFoldersControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Global.asax.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Global.asax.cs index 13f88e1c..078ce73a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Global.asax.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Global.asax.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Whois/WhoisException.cs b/WebsitePanel/Sources/WebsitePanel.Whois/WhoisException.cs index 2ad83374..b092f915 100644 --- a/WebsitePanel/Sources/WebsitePanel.Whois/WhoisException.cs +++ b/WebsitePanel/Sources/WebsitePanel.Whois/WhoisException.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Whois/WhoisLookup.cs b/WebsitePanel/Sources/WebsitePanel.Whois/WhoisLookup.cs index 149e21e6..05431520 100644 --- a/WebsitePanel/Sources/WebsitePanel.Whois/WhoisLookup.cs +++ b/WebsitePanel/Sources/WebsitePanel.Whois/WhoisLookup.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Whois/WhoisParser.cs b/WebsitePanel/Sources/WebsitePanel.Whois/WhoisParser.cs index cf34df8b..8276e744 100644 --- a/WebsitePanel/Sources/WebsitePanel.Whois/WhoisParser.cs +++ b/WebsitePanel/Sources/WebsitePanel.Whois/WhoisParser.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Whois/WhoisResult.cs b/WebsitePanel/Sources/WebsitePanel.Whois/WhoisResult.cs index d63cb632..6c594b8c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Whois/WhoisResult.cs +++ b/WebsitePanel/Sources/WebsitePanel.Whois/WhoisResult.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Whois/WhoisSettings.cs b/WebsitePanel/Sources/WebsitePanel.Whois/WhoisSettings.cs index 92dbf9eb..ce6439d5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Whois/WhoisSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.Whois/WhoisSettings.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, From a62703d32f3160e73659f2b11aa5ce2d5aae3f15 Mon Sep 17 00:00:00 2001 From: omara Date: Wed, 6 Jun 2012 19:45:41 -0400 Subject: [PATCH 20/78] Exchange Module: Add ability to manage all built-in security types in public folder management. --- .../ExchangeServerProxy.cs | 4493 ++++++++--------- ...ebsitePanel.EnterpriseServer.Client.csproj | 4 +- .../ExchangeServerController.cs | 9 +- .../WebsitePanel.EnterpriseServer.csproj | 6 +- .../esExchangeServer.asmx.cs | 4 +- .../HostedSolution/ExchangeAccount.cs | 7 + .../HostedSolution/ExchangePublicFolder.cs | 17 +- .../HostedSolution/IExchangeServer.cs | 2 +- .../Exchange2007.cs | 149 +- .../ExchangeServerProxy.cs | 521 +- .../ExchangeServer.asmx.cs | 4 +- .../WebsitePanel.Server.csproj | 2 +- ...bsitePanel.Portal.Ecommerce.Modules.csproj | 94 +- .../ExchangePublicFolderGeneralSettings.ascx | 14 +- ...xchangePublicFolderGeneralSettings.ascx.cs | 48 +- ...blicFolderGeneralSettings.ascx.designer.cs | 194 +- .../AccountsListWithPermissions.ascx | 152 + .../AccountsListWithPermissions.ascx.cs | 320 ++ ...countsListWithPermissions.ascx.designer.cs | 213 + .../AccountsListWithPermissions.ascx.resx | 171 + .../WebsitePanel.Portal.Modules.csproj | 14 +- .../WebsitePanel.WebPortal.csproj | 5 +- 22 files changed, 3680 insertions(+), 2763 deletions(-) create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/AccountsListWithPermissions.ascx.resx diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs index 026fa6c0..05e81557 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs @@ -29,7 +29,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.4927 +// Runtime Version:2.0.50727.5456 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -37,9 +37,10 @@ //------------------------------------------------------------------------------ // -// This source code was auto-generated by wsdl, Version=2.0.50727.3038. +// This source code was auto-generated by wsdl, Version=2.0.50727.42. // -namespace WebsitePanel.EnterpriseServer { +namespace WebsitePanel.EnterpriseServer +{ using System.Xml.Serialization; using System.Web.Services; using System.ComponentModel; @@ -53,14 +54,37 @@ namespace WebsitePanel.EnterpriseServer { using WebsitePanel.Providers.HostedSolution; using WebsitePanel.Providers.ResultObjects; + /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Web.Services.WebServiceBindingAttribute(Name="esExchangeServerSoap", Namespace="http://smbsaas/websitepanel/enterpriseserver")] [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))] public partial class esExchangeServer : Microsoft.Web.Services3.WebServicesClientProtocol { + private System.Threading.SendOrPostCallback GetPublicFolderMailFlowSettingsOperationCompleted; + + private System.Threading.SendOrPostCallback SetPublicFolderMailFlowSettingsOperationCompleted; + + private System.Threading.SendOrPostCallback GetPublicFolderEmailAddressesOperationCompleted; + + private System.Threading.SendOrPostCallback AddPublicFolderEmailAddressOperationCompleted; + + private System.Threading.SendOrPostCallback SetPublicFolderPrimaryEmailAddressOperationCompleted; + + private System.Threading.SendOrPostCallback DeletePublicFolderEmailAddressesOperationCompleted; + + private System.Threading.SendOrPostCallback GetMobileDevicesOperationCompleted; + + private System.Threading.SendOrPostCallback GetMobileDeviceOperationCompleted; + + private System.Threading.SendOrPostCallback WipeDataFromDeviceOperationCompleted; + + private System.Threading.SendOrPostCallback CancelRemoteWipeRequestOperationCompleted; + + private System.Threading.SendOrPostCallback RemoveDeviceOperationCompleted; + private System.Threading.SendOrPostCallback GetRawExchangeOrganizationsPagedOperationCompleted; private System.Threading.SendOrPostCallback GetExchangeOrganizationsPagedOperationCompleted; @@ -189,33 +213,44 @@ namespace WebsitePanel.EnterpriseServer { private System.Threading.SendOrPostCallback SetPublicFolderGeneralSettingsOperationCompleted; - private System.Threading.SendOrPostCallback GetPublicFolderMailFlowSettingsOperationCompleted; - - private System.Threading.SendOrPostCallback SetPublicFolderMailFlowSettingsOperationCompleted; - - private System.Threading.SendOrPostCallback GetPublicFolderEmailAddressesOperationCompleted; - - private System.Threading.SendOrPostCallback AddPublicFolderEmailAddressOperationCompleted; - - private System.Threading.SendOrPostCallback SetPublicFolderPrimaryEmailAddressOperationCompleted; - - private System.Threading.SendOrPostCallback DeletePublicFolderEmailAddressesOperationCompleted; - - private System.Threading.SendOrPostCallback GetMobileDevicesOperationCompleted; - - private System.Threading.SendOrPostCallback GetMobileDeviceOperationCompleted; - - private System.Threading.SendOrPostCallback WipeDataFromDeviceOperationCompleted; - - private System.Threading.SendOrPostCallback CancelRemoteWipeRequestOperationCompleted; - - private System.Threading.SendOrPostCallback RemoveDeviceOperationCompleted; - /// public esExchangeServer() { - this.Url = "http://localhost/WebsitePanelEnterpriseServer/esExchangeServer.asmx"; + this.Url = "http://localhost:9005/esExchangeServer.asmx"; } + /// + public event GetPublicFolderMailFlowSettingsCompletedEventHandler GetPublicFolderMailFlowSettingsCompleted; + + /// + public event SetPublicFolderMailFlowSettingsCompletedEventHandler SetPublicFolderMailFlowSettingsCompleted; + + /// + public event GetPublicFolderEmailAddressesCompletedEventHandler GetPublicFolderEmailAddressesCompleted; + + /// + public event AddPublicFolderEmailAddressCompletedEventHandler AddPublicFolderEmailAddressCompleted; + + /// + public event SetPublicFolderPrimaryEmailAddressCompletedEventHandler SetPublicFolderPrimaryEmailAddressCompleted; + + /// + public event DeletePublicFolderEmailAddressesCompletedEventHandler DeletePublicFolderEmailAddressesCompleted; + + /// + public event GetMobileDevicesCompletedEventHandler GetMobileDevicesCompleted; + + /// + public event GetMobileDeviceCompletedEventHandler GetMobileDeviceCompleted; + + /// + public event WipeDataFromDeviceCompletedEventHandler WipeDataFromDeviceCompleted; + + /// + public event CancelRemoteWipeRequestCompletedEventHandler CancelRemoteWipeRequestCompleted; + + /// + public event RemoveDeviceCompletedEventHandler RemoveDeviceCompleted; + /// public event GetRawExchangeOrganizationsPagedCompletedEventHandler GetRawExchangeOrganizationsPagedCompleted; @@ -409,37 +444,500 @@ namespace WebsitePanel.EnterpriseServer { public event SetPublicFolderGeneralSettingsCompletedEventHandler SetPublicFolderGeneralSettingsCompleted; /// - public event GetPublicFolderMailFlowSettingsCompletedEventHandler GetPublicFolderMailFlowSettingsCompleted; + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPublicFolderMailFlowSettings", 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 ExchangePublicFolder GetPublicFolderMailFlowSettings(int itemId, int accountId) { + object[] results = this.Invoke("GetPublicFolderMailFlowSettings", new object[] { + itemId, + accountId}); + return ((ExchangePublicFolder)(results[0])); + } /// - public event SetPublicFolderMailFlowSettingsCompletedEventHandler SetPublicFolderMailFlowSettingsCompleted; + public System.IAsyncResult BeginGetPublicFolderMailFlowSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetPublicFolderMailFlowSettings", new object[] { + itemId, + accountId}, callback, asyncState); + } /// - public event GetPublicFolderEmailAddressesCompletedEventHandler GetPublicFolderEmailAddressesCompleted; + public ExchangePublicFolder EndGetPublicFolderMailFlowSettings(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((ExchangePublicFolder)(results[0])); + } /// - public event AddPublicFolderEmailAddressCompletedEventHandler AddPublicFolderEmailAddressCompleted; + public void GetPublicFolderMailFlowSettingsAsync(int itemId, int accountId) { + this.GetPublicFolderMailFlowSettingsAsync(itemId, accountId, null); + } /// - public event SetPublicFolderPrimaryEmailAddressCompletedEventHandler SetPublicFolderPrimaryEmailAddressCompleted; + public void GetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, object userState) { + if ((this.GetPublicFolderMailFlowSettingsOperationCompleted == null)) { + this.GetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderMailFlowSettingsOperationCompleted); + } + this.InvokeAsync("GetPublicFolderMailFlowSettings", new object[] { + itemId, + accountId}, this.GetPublicFolderMailFlowSettingsOperationCompleted, userState); + } + + private void OnGetPublicFolderMailFlowSettingsOperationCompleted(object arg) { + if ((this.GetPublicFolderMailFlowSettingsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetPublicFolderMailFlowSettingsCompleted(this, new GetPublicFolderMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } /// - public event DeletePublicFolderEmailAddressesCompletedEventHandler DeletePublicFolderEmailAddressesCompleted; + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetPublicFolderMailFlowSettings", 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 int SetPublicFolderMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { + object[] results = this.Invoke("SetPublicFolderMailFlowSettings", new object[] { + itemId, + accountId, + acceptAccounts, + rejectAccounts, + requireSenderAuthentication}); + return ((int)(results[0])); + } /// - public event GetMobileDevicesCompletedEventHandler GetMobileDevicesCompleted; + public System.IAsyncResult BeginSetPublicFolderMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetPublicFolderMailFlowSettings", new object[] { + itemId, + accountId, + acceptAccounts, + rejectAccounts, + requireSenderAuthentication}, callback, asyncState); + } /// - public event GetMobileDeviceCompletedEventHandler GetMobileDeviceCompleted; + public int EndSetPublicFolderMailFlowSettings(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } /// - public event WipeDataFromDeviceCompletedEventHandler WipeDataFromDeviceCompleted; + public void SetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { + this.SetPublicFolderMailFlowSettingsAsync(itemId, accountId, acceptAccounts, rejectAccounts, requireSenderAuthentication, null); + } /// - public event CancelRemoteWipeRequestCompletedEventHandler CancelRemoteWipeRequestCompleted; + public void SetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) { + if ((this.SetPublicFolderMailFlowSettingsOperationCompleted == null)) { + this.SetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderMailFlowSettingsOperationCompleted); + } + this.InvokeAsync("SetPublicFolderMailFlowSettings", new object[] { + itemId, + accountId, + acceptAccounts, + rejectAccounts, + requireSenderAuthentication}, this.SetPublicFolderMailFlowSettingsOperationCompleted, userState); + } + + private void OnSetPublicFolderMailFlowSettingsOperationCompleted(object arg) { + if ((this.SetPublicFolderMailFlowSettingsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetPublicFolderMailFlowSettingsCompleted(this, new SetPublicFolderMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } /// - public event RemoveDeviceCompletedEventHandler RemoveDeviceCompleted; + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPublicFolderEmailAddresses", 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 ExchangeEmailAddress[] GetPublicFolderEmailAddresses(int itemId, int accountId) { + object[] results = this.Invoke("GetPublicFolderEmailAddresses", new object[] { + itemId, + accountId}); + return ((ExchangeEmailAddress[])(results[0])); + } + + /// + public System.IAsyncResult BeginGetPublicFolderEmailAddresses(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetPublicFolderEmailAddresses", new object[] { + itemId, + accountId}, callback, asyncState); + } + + /// + public ExchangeEmailAddress[] EndGetPublicFolderEmailAddresses(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((ExchangeEmailAddress[])(results[0])); + } + + /// + public void GetPublicFolderEmailAddressesAsync(int itemId, int accountId) { + this.GetPublicFolderEmailAddressesAsync(itemId, accountId, null); + } + + /// + public void GetPublicFolderEmailAddressesAsync(int itemId, int accountId, object userState) { + if ((this.GetPublicFolderEmailAddressesOperationCompleted == null)) { + this.GetPublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderEmailAddressesOperationCompleted); + } + this.InvokeAsync("GetPublicFolderEmailAddresses", new object[] { + itemId, + accountId}, this.GetPublicFolderEmailAddressesOperationCompleted, userState); + } + + private void OnGetPublicFolderEmailAddressesOperationCompleted(object arg) { + if ((this.GetPublicFolderEmailAddressesCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetPublicFolderEmailAddressesCompleted(this, new GetPublicFolderEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddPublicFolderEmailAddress", 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 int AddPublicFolderEmailAddress(int itemId, int accountId, string emailAddress) { + object[] results = this.Invoke("AddPublicFolderEmailAddress", new object[] { + itemId, + accountId, + emailAddress}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginAddPublicFolderEmailAddress(int itemId, int accountId, string emailAddress, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("AddPublicFolderEmailAddress", new object[] { + itemId, + accountId, + emailAddress}, callback, asyncState); + } + + /// + public int EndAddPublicFolderEmailAddress(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void AddPublicFolderEmailAddressAsync(int itemId, int accountId, string emailAddress) { + this.AddPublicFolderEmailAddressAsync(itemId, accountId, emailAddress, null); + } + + /// + public void AddPublicFolderEmailAddressAsync(int itemId, int accountId, string emailAddress, object userState) { + if ((this.AddPublicFolderEmailAddressOperationCompleted == null)) { + this.AddPublicFolderEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddPublicFolderEmailAddressOperationCompleted); + } + this.InvokeAsync("AddPublicFolderEmailAddress", new object[] { + itemId, + accountId, + emailAddress}, this.AddPublicFolderEmailAddressOperationCompleted, userState); + } + + private void OnAddPublicFolderEmailAddressOperationCompleted(object arg) { + if ((this.AddPublicFolderEmailAddressCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.AddPublicFolderEmailAddressCompleted(this, new AddPublicFolderEmailAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetPublicFolderPrimaryEmailAddress", 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 int SetPublicFolderPrimaryEmailAddress(int itemId, int accountId, string emailAddress) { + object[] results = this.Invoke("SetPublicFolderPrimaryEmailAddress", new object[] { + itemId, + accountId, + emailAddress}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginSetPublicFolderPrimaryEmailAddress(int itemId, int accountId, string emailAddress, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetPublicFolderPrimaryEmailAddress", new object[] { + itemId, + accountId, + emailAddress}, callback, asyncState); + } + + /// + public int EndSetPublicFolderPrimaryEmailAddress(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void SetPublicFolderPrimaryEmailAddressAsync(int itemId, int accountId, string emailAddress) { + this.SetPublicFolderPrimaryEmailAddressAsync(itemId, accountId, emailAddress, null); + } + + /// + public void SetPublicFolderPrimaryEmailAddressAsync(int itemId, int accountId, string emailAddress, object userState) { + if ((this.SetPublicFolderPrimaryEmailAddressOperationCompleted == null)) { + this.SetPublicFolderPrimaryEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderPrimaryEmailAddressOperationCompleted); + } + this.InvokeAsync("SetPublicFolderPrimaryEmailAddress", new object[] { + itemId, + accountId, + emailAddress}, this.SetPublicFolderPrimaryEmailAddressOperationCompleted, userState); + } + + private void OnSetPublicFolderPrimaryEmailAddressOperationCompleted(object arg) { + if ((this.SetPublicFolderPrimaryEmailAddressCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetPublicFolderPrimaryEmailAddressCompleted(this, new SetPublicFolderPrimaryEmailAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeletePublicFolderEmailAddresses", 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 int DeletePublicFolderEmailAddresses(int itemId, int accountId, string[] emailAddresses) { + object[] results = this.Invoke("DeletePublicFolderEmailAddresses", new object[] { + itemId, + accountId, + emailAddresses}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginDeletePublicFolderEmailAddresses(int itemId, int accountId, string[] emailAddresses, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("DeletePublicFolderEmailAddresses", new object[] { + itemId, + accountId, + emailAddresses}, callback, asyncState); + } + + /// + public int EndDeletePublicFolderEmailAddresses(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void DeletePublicFolderEmailAddressesAsync(int itemId, int accountId, string[] emailAddresses) { + this.DeletePublicFolderEmailAddressesAsync(itemId, accountId, emailAddresses, null); + } + + /// + public void DeletePublicFolderEmailAddressesAsync(int itemId, int accountId, string[] emailAddresses, object userState) { + if ((this.DeletePublicFolderEmailAddressesOperationCompleted == null)) { + this.DeletePublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeletePublicFolderEmailAddressesOperationCompleted); + } + this.InvokeAsync("DeletePublicFolderEmailAddresses", new object[] { + itemId, + accountId, + emailAddresses}, this.DeletePublicFolderEmailAddressesOperationCompleted, userState); + } + + private void OnDeletePublicFolderEmailAddressesOperationCompleted(object arg) { + if ((this.DeletePublicFolderEmailAddressesCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.DeletePublicFolderEmailAddressesCompleted(this, new DeletePublicFolderEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMobileDevices", 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 ExchangeMobileDevice[] GetMobileDevices(int itemId, int accountId) { + object[] results = this.Invoke("GetMobileDevices", new object[] { + itemId, + accountId}); + return ((ExchangeMobileDevice[])(results[0])); + } + + /// + public System.IAsyncResult BeginGetMobileDevices(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetMobileDevices", new object[] { + itemId, + accountId}, callback, asyncState); + } + + /// + public ExchangeMobileDevice[] EndGetMobileDevices(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((ExchangeMobileDevice[])(results[0])); + } + + /// + public void GetMobileDevicesAsync(int itemId, int accountId) { + this.GetMobileDevicesAsync(itemId, accountId, null); + } + + /// + public void GetMobileDevicesAsync(int itemId, int accountId, object userState) { + if ((this.GetMobileDevicesOperationCompleted == null)) { + this.GetMobileDevicesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMobileDevicesOperationCompleted); + } + this.InvokeAsync("GetMobileDevices", new object[] { + itemId, + accountId}, this.GetMobileDevicesOperationCompleted, userState); + } + + private void OnGetMobileDevicesOperationCompleted(object arg) { + if ((this.GetMobileDevicesCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetMobileDevicesCompleted(this, new GetMobileDevicesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMobileDevice", 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 ExchangeMobileDevice GetMobileDevice(int itemId, string deviceId) { + object[] results = this.Invoke("GetMobileDevice", new object[] { + itemId, + deviceId}); + return ((ExchangeMobileDevice)(results[0])); + } + + /// + public System.IAsyncResult BeginGetMobileDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetMobileDevice", new object[] { + itemId, + deviceId}, callback, asyncState); + } + + /// + public ExchangeMobileDevice EndGetMobileDevice(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((ExchangeMobileDevice)(results[0])); + } + + /// + public void GetMobileDeviceAsync(int itemId, string deviceId) { + this.GetMobileDeviceAsync(itemId, deviceId, null); + } + + /// + public void GetMobileDeviceAsync(int itemId, string deviceId, object userState) { + if ((this.GetMobileDeviceOperationCompleted == null)) { + this.GetMobileDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMobileDeviceOperationCompleted); + } + this.InvokeAsync("GetMobileDevice", new object[] { + itemId, + deviceId}, this.GetMobileDeviceOperationCompleted, userState); + } + + private void OnGetMobileDeviceOperationCompleted(object arg) { + if ((this.GetMobileDeviceCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetMobileDeviceCompleted(this, new GetMobileDeviceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/WipeDataFromDevice", 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 void WipeDataFromDevice(int itemId, string deviceId) { + this.Invoke("WipeDataFromDevice", new object[] { + itemId, + deviceId}); + } + + /// + public System.IAsyncResult BeginWipeDataFromDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("WipeDataFromDevice", new object[] { + itemId, + deviceId}, callback, asyncState); + } + + /// + public void EndWipeDataFromDevice(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void WipeDataFromDeviceAsync(int itemId, string deviceId) { + this.WipeDataFromDeviceAsync(itemId, deviceId, null); + } + + /// + public void WipeDataFromDeviceAsync(int itemId, string deviceId, object userState) { + if ((this.WipeDataFromDeviceOperationCompleted == null)) { + this.WipeDataFromDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnWipeDataFromDeviceOperationCompleted); + } + this.InvokeAsync("WipeDataFromDevice", new object[] { + itemId, + deviceId}, this.WipeDataFromDeviceOperationCompleted, userState); + } + + private void OnWipeDataFromDeviceOperationCompleted(object arg) { + if ((this.WipeDataFromDeviceCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.WipeDataFromDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CancelRemoteWipeRequest", 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 void CancelRemoteWipeRequest(int itemId, string deviceId) { + this.Invoke("CancelRemoteWipeRequest", new object[] { + itemId, + deviceId}); + } + + /// + public System.IAsyncResult BeginCancelRemoteWipeRequest(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("CancelRemoteWipeRequest", new object[] { + itemId, + deviceId}, callback, asyncState); + } + + /// + public void EndCancelRemoteWipeRequest(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void CancelRemoteWipeRequestAsync(int itemId, string deviceId) { + this.CancelRemoteWipeRequestAsync(itemId, deviceId, null); + } + + /// + public void CancelRemoteWipeRequestAsync(int itemId, string deviceId, object userState) { + if ((this.CancelRemoteWipeRequestOperationCompleted == null)) { + this.CancelRemoteWipeRequestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCancelRemoteWipeRequestOperationCompleted); + } + this.InvokeAsync("CancelRemoteWipeRequest", new object[] { + itemId, + deviceId}, this.CancelRemoteWipeRequestOperationCompleted, userState); + } + + private void OnCancelRemoteWipeRequestOperationCompleted(object arg) { + if ((this.CancelRemoteWipeRequestCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.CancelRemoteWipeRequestCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/RemoveDevice", 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 void RemoveDevice(int itemId, string deviceId) { + this.Invoke("RemoveDevice", new object[] { + itemId, + deviceId}); + } + + /// + public System.IAsyncResult BeginRemoveDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("RemoveDevice", new object[] { + itemId, + deviceId}, callback, asyncState); + } + + /// + public void EndRemoveDevice(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void RemoveDeviceAsync(int itemId, string deviceId) { + this.RemoveDeviceAsync(itemId, deviceId, null); + } + + /// + public void RemoveDeviceAsync(int itemId, string deviceId, object userState) { + if ((this.RemoveDeviceOperationCompleted == null)) { + this.RemoveDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveDeviceOperationCompleted); + } + this.InvokeAsync("RemoveDevice", new object[] { + itemId, + deviceId}, this.RemoveDeviceOperationCompleted, userState); + } + + private void OnRemoveDeviceOperationCompleted(object arg) { + if ((this.RemoveDeviceCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.RemoveDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawExchangeOrganizationsPaged", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] @@ -3182,8 +3680,7 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDistributionListGeneralSettings" + - "", 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/GetDistributionListGeneralSettings", 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 ExchangeDistributionList GetDistributionListGeneralSettings(int itemId, int accountId) { object[] results = this.Invoke("GetDistributionListGeneralSettings", new object[] { itemId, @@ -3227,8 +3724,7 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetDistributionListGeneralSettings" + - "", 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/SetDistributionListGeneralSettings", 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 int SetDistributionListGeneralSettings(int itemId, int accountId, string displayName, bool hideAddressBook, string managerAccount, string[] memberAccounts, string notes) { object[] results = this.Invoke("SetDistributionListGeneralSettings", new object[] { itemId, @@ -3287,8 +3783,7 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDistributionListMailFlowSetting" + - "s", 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/GetDistributionListMailFlowSettings", 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 ExchangeDistributionList GetDistributionListMailFlowSettings(int itemId, int accountId) { object[] results = this.Invoke("GetDistributionListMailFlowSettings", new object[] { itemId, @@ -3332,8 +3827,7 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetDistributionListMailFlowSetting" + - "s", 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/SetDistributionListMailFlowSettings", 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 int SetDistributionListMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { object[] results = this.Invoke("SetDistributionListMailFlowSettings", new object[] { itemId, @@ -3477,8 +3971,8 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetDistributionListPrimaryEmailAdd" + - "ress", 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/SetDistributionListPrimaryEmailAddre" + + "ss", 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 int SetDistributionListPrimaryEmailAddress(int itemId, int accountId, string emailAddress) { object[] results = this.Invoke("SetDistributionListPrimaryEmailAddress", new object[] { itemId, @@ -3525,8 +4019,8 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteDistributionListEmailAddress" + - "es", 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/DeleteDistributionListEmailAddresses" + + "", 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 int DeleteDistributionListEmailAddresses(int itemId, int accountId, string[] emailAddresses) { object[] results = this.Invoke("DeleteDistributionListEmailAddresses", new object[] { itemId, @@ -3950,24 +4444,24 @@ namespace WebsitePanel.EnterpriseServer { /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetPublicFolderGeneralSettings", 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 int SetPublicFolderGeneralSettings(int itemId, int accountId, string newName, bool hideAddressBook, string[] authorAccounts) { + public int SetPublicFolderGeneralSettings(int itemId, int accountId, string newName, bool hideAddressBook, ExchangeAccount[] accounts) { object[] results = this.Invoke("SetPublicFolderGeneralSettings", new object[] { itemId, accountId, newName, hideAddressBook, - authorAccounts}); + accounts}); return ((int)(results[0])); } /// - public System.IAsyncResult BeginSetPublicFolderGeneralSettings(int itemId, int accountId, string newName, bool hideAddressBook, string[] authorAccounts, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginSetPublicFolderGeneralSettings(int itemId, int accountId, string newName, bool hideAddressBook, ExchangeAccount[] accounts, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("SetPublicFolderGeneralSettings", new object[] { itemId, accountId, newName, hideAddressBook, - authorAccounts}, callback, asyncState); + accounts}, callback, asyncState); } /// @@ -3977,12 +4471,12 @@ namespace WebsitePanel.EnterpriseServer { } /// - public void SetPublicFolderGeneralSettingsAsync(int itemId, int accountId, string newName, bool hideAddressBook, string[] authorAccounts) { - this.SetPublicFolderGeneralSettingsAsync(itemId, accountId, newName, hideAddressBook, authorAccounts, null); + public void SetPublicFolderGeneralSettingsAsync(int itemId, int accountId, string newName, bool hideAddressBook, ExchangeAccount[] accounts) { + this.SetPublicFolderGeneralSettingsAsync(itemId, accountId, newName, hideAddressBook, accounts, null); } /// - public void SetPublicFolderGeneralSettingsAsync(int itemId, int accountId, string newName, bool hideAddressBook, string[] authorAccounts, object userState) { + public void SetPublicFolderGeneralSettingsAsync(int itemId, int accountId, string newName, bool hideAddressBook, ExchangeAccount[] accounts, object userState) { if ((this.SetPublicFolderGeneralSettingsOperationCompleted == null)) { this.SetPublicFolderGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderGeneralSettingsOperationCompleted); } @@ -3991,7 +4485,7 @@ namespace WebsitePanel.EnterpriseServer { accountId, newName, hideAddressBook, - authorAccounts}, this.SetPublicFolderGeneralSettingsOperationCompleted, userState); + accounts}, this.SetPublicFolderGeneralSettingsOperationCompleted, userState); } private void OnSetPublicFolderGeneralSettingsOperationCompleted(object arg) { @@ -4001,2199 +4495,18 @@ namespace WebsitePanel.EnterpriseServer { } } - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPublicFolderMailFlowSettings", 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 ExchangePublicFolder GetPublicFolderMailFlowSettings(int itemId, int accountId) { - object[] results = this.Invoke("GetPublicFolderMailFlowSettings", new object[] { - itemId, - accountId}); - return ((ExchangePublicFolder)(results[0])); - } - - /// - public System.IAsyncResult BeginGetPublicFolderMailFlowSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetPublicFolderMailFlowSettings", new object[] { - itemId, - accountId}, callback, asyncState); - } - - /// - public ExchangePublicFolder EndGetPublicFolderMailFlowSettings(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ExchangePublicFolder)(results[0])); - } - - /// - public void GetPublicFolderMailFlowSettingsAsync(int itemId, int accountId) { - this.GetPublicFolderMailFlowSettingsAsync(itemId, accountId, null); - } - - /// - public void GetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, object userState) { - if ((this.GetPublicFolderMailFlowSettingsOperationCompleted == null)) { - this.GetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderMailFlowSettingsOperationCompleted); - } - this.InvokeAsync("GetPublicFolderMailFlowSettings", new object[] { - itemId, - accountId}, this.GetPublicFolderMailFlowSettingsOperationCompleted, userState); - } - - private void OnGetPublicFolderMailFlowSettingsOperationCompleted(object arg) { - if ((this.GetPublicFolderMailFlowSettingsCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetPublicFolderMailFlowSettingsCompleted(this, new GetPublicFolderMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetPublicFolderMailFlowSettings", 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 int SetPublicFolderMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { - object[] results = this.Invoke("SetPublicFolderMailFlowSettings", new object[] { - itemId, - accountId, - acceptAccounts, - rejectAccounts, - requireSenderAuthentication}); - return ((int)(results[0])); - } - - /// - public System.IAsyncResult BeginSetPublicFolderMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("SetPublicFolderMailFlowSettings", new object[] { - itemId, - accountId, - acceptAccounts, - rejectAccounts, - requireSenderAuthentication}, callback, asyncState); - } - - /// - public int EndSetPublicFolderMailFlowSettings(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((int)(results[0])); - } - - /// - public void SetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { - this.SetPublicFolderMailFlowSettingsAsync(itemId, accountId, acceptAccounts, rejectAccounts, requireSenderAuthentication, null); - } - - /// - public void SetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) { - if ((this.SetPublicFolderMailFlowSettingsOperationCompleted == null)) { - this.SetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderMailFlowSettingsOperationCompleted); - } - this.InvokeAsync("SetPublicFolderMailFlowSettings", new object[] { - itemId, - accountId, - acceptAccounts, - rejectAccounts, - requireSenderAuthentication}, this.SetPublicFolderMailFlowSettingsOperationCompleted, userState); - } - - private void OnSetPublicFolderMailFlowSettingsOperationCompleted(object arg) { - if ((this.SetPublicFolderMailFlowSettingsCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.SetPublicFolderMailFlowSettingsCompleted(this, new SetPublicFolderMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPublicFolderEmailAddresses", 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 ExchangeEmailAddress[] GetPublicFolderEmailAddresses(int itemId, int accountId) { - object[] results = this.Invoke("GetPublicFolderEmailAddresses", new object[] { - itemId, - accountId}); - return ((ExchangeEmailAddress[])(results[0])); - } - - /// - public System.IAsyncResult BeginGetPublicFolderEmailAddresses(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetPublicFolderEmailAddresses", new object[] { - itemId, - accountId}, callback, asyncState); - } - - /// - public ExchangeEmailAddress[] EndGetPublicFolderEmailAddresses(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ExchangeEmailAddress[])(results[0])); - } - - /// - public void GetPublicFolderEmailAddressesAsync(int itemId, int accountId) { - this.GetPublicFolderEmailAddressesAsync(itemId, accountId, null); - } - - /// - public void GetPublicFolderEmailAddressesAsync(int itemId, int accountId, object userState) { - if ((this.GetPublicFolderEmailAddressesOperationCompleted == null)) { - this.GetPublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderEmailAddressesOperationCompleted); - } - this.InvokeAsync("GetPublicFolderEmailAddresses", new object[] { - itemId, - accountId}, this.GetPublicFolderEmailAddressesOperationCompleted, userState); - } - - private void OnGetPublicFolderEmailAddressesOperationCompleted(object arg) { - if ((this.GetPublicFolderEmailAddressesCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetPublicFolderEmailAddressesCompleted(this, new GetPublicFolderEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddPublicFolderEmailAddress", 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 int AddPublicFolderEmailAddress(int itemId, int accountId, string emailAddress) { - object[] results = this.Invoke("AddPublicFolderEmailAddress", new object[] { - itemId, - accountId, - emailAddress}); - return ((int)(results[0])); - } - - /// - public System.IAsyncResult BeginAddPublicFolderEmailAddress(int itemId, int accountId, string emailAddress, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("AddPublicFolderEmailAddress", new object[] { - itemId, - accountId, - emailAddress}, callback, asyncState); - } - - /// - public int EndAddPublicFolderEmailAddress(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((int)(results[0])); - } - - /// - public void AddPublicFolderEmailAddressAsync(int itemId, int accountId, string emailAddress) { - this.AddPublicFolderEmailAddressAsync(itemId, accountId, emailAddress, null); - } - - /// - public void AddPublicFolderEmailAddressAsync(int itemId, int accountId, string emailAddress, object userState) { - if ((this.AddPublicFolderEmailAddressOperationCompleted == null)) { - this.AddPublicFolderEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddPublicFolderEmailAddressOperationCompleted); - } - this.InvokeAsync("AddPublicFolderEmailAddress", new object[] { - itemId, - accountId, - emailAddress}, this.AddPublicFolderEmailAddressOperationCompleted, userState); - } - - private void OnAddPublicFolderEmailAddressOperationCompleted(object arg) { - if ((this.AddPublicFolderEmailAddressCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.AddPublicFolderEmailAddressCompleted(this, new AddPublicFolderEmailAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetPublicFolderPrimaryEmailAddress" + - "", 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 int SetPublicFolderPrimaryEmailAddress(int itemId, int accountId, string emailAddress) { - object[] results = this.Invoke("SetPublicFolderPrimaryEmailAddress", new object[] { - itemId, - accountId, - emailAddress}); - return ((int)(results[0])); - } - - /// - public System.IAsyncResult BeginSetPublicFolderPrimaryEmailAddress(int itemId, int accountId, string emailAddress, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("SetPublicFolderPrimaryEmailAddress", new object[] { - itemId, - accountId, - emailAddress}, callback, asyncState); - } - - /// - public int EndSetPublicFolderPrimaryEmailAddress(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((int)(results[0])); - } - - /// - public void SetPublicFolderPrimaryEmailAddressAsync(int itemId, int accountId, string emailAddress) { - this.SetPublicFolderPrimaryEmailAddressAsync(itemId, accountId, emailAddress, null); - } - - /// - public void SetPublicFolderPrimaryEmailAddressAsync(int itemId, int accountId, string emailAddress, object userState) { - if ((this.SetPublicFolderPrimaryEmailAddressOperationCompleted == null)) { - this.SetPublicFolderPrimaryEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderPrimaryEmailAddressOperationCompleted); - } - this.InvokeAsync("SetPublicFolderPrimaryEmailAddress", new object[] { - itemId, - accountId, - emailAddress}, this.SetPublicFolderPrimaryEmailAddressOperationCompleted, userState); - } - - private void OnSetPublicFolderPrimaryEmailAddressOperationCompleted(object arg) { - if ((this.SetPublicFolderPrimaryEmailAddressCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.SetPublicFolderPrimaryEmailAddressCompleted(this, new SetPublicFolderPrimaryEmailAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeletePublicFolderEmailAddresses", 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 int DeletePublicFolderEmailAddresses(int itemId, int accountId, string[] emailAddresses) { - object[] results = this.Invoke("DeletePublicFolderEmailAddresses", new object[] { - itemId, - accountId, - emailAddresses}); - return ((int)(results[0])); - } - - /// - public System.IAsyncResult BeginDeletePublicFolderEmailAddresses(int itemId, int accountId, string[] emailAddresses, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("DeletePublicFolderEmailAddresses", new object[] { - itemId, - accountId, - emailAddresses}, callback, asyncState); - } - - /// - public int EndDeletePublicFolderEmailAddresses(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((int)(results[0])); - } - - /// - public void DeletePublicFolderEmailAddressesAsync(int itemId, int accountId, string[] emailAddresses) { - this.DeletePublicFolderEmailAddressesAsync(itemId, accountId, emailAddresses, null); - } - - /// - public void DeletePublicFolderEmailAddressesAsync(int itemId, int accountId, string[] emailAddresses, object userState) { - if ((this.DeletePublicFolderEmailAddressesOperationCompleted == null)) { - this.DeletePublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeletePublicFolderEmailAddressesOperationCompleted); - } - this.InvokeAsync("DeletePublicFolderEmailAddresses", new object[] { - itemId, - accountId, - emailAddresses}, this.DeletePublicFolderEmailAddressesOperationCompleted, userState); - } - - private void OnDeletePublicFolderEmailAddressesOperationCompleted(object arg) { - if ((this.DeletePublicFolderEmailAddressesCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.DeletePublicFolderEmailAddressesCompleted(this, new DeletePublicFolderEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMobileDevices", 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 ExchangeMobileDevice[] GetMobileDevices(int itemId, int accountId) { - object[] results = this.Invoke("GetMobileDevices", new object[] { - itemId, - accountId}); - return ((ExchangeMobileDevice[])(results[0])); - } - - /// - public System.IAsyncResult BeginGetMobileDevices(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetMobileDevices", new object[] { - itemId, - accountId}, callback, asyncState); - } - - /// - public ExchangeMobileDevice[] EndGetMobileDevices(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ExchangeMobileDevice[])(results[0])); - } - - /// - public void GetMobileDevicesAsync(int itemId, int accountId) { - this.GetMobileDevicesAsync(itemId, accountId, null); - } - - /// - public void GetMobileDevicesAsync(int itemId, int accountId, object userState) { - if ((this.GetMobileDevicesOperationCompleted == null)) { - this.GetMobileDevicesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMobileDevicesOperationCompleted); - } - this.InvokeAsync("GetMobileDevices", new object[] { - itemId, - accountId}, this.GetMobileDevicesOperationCompleted, userState); - } - - private void OnGetMobileDevicesOperationCompleted(object arg) { - if ((this.GetMobileDevicesCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetMobileDevicesCompleted(this, new GetMobileDevicesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMobileDevice", 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 ExchangeMobileDevice GetMobileDevice(int itemId, string deviceId) { - object[] results = this.Invoke("GetMobileDevice", new object[] { - itemId, - deviceId}); - return ((ExchangeMobileDevice)(results[0])); - } - - /// - public System.IAsyncResult BeginGetMobileDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetMobileDevice", new object[] { - itemId, - deviceId}, callback, asyncState); - } - - /// - public ExchangeMobileDevice EndGetMobileDevice(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ExchangeMobileDevice)(results[0])); - } - - /// - public void GetMobileDeviceAsync(int itemId, string deviceId) { - this.GetMobileDeviceAsync(itemId, deviceId, null); - } - - /// - public void GetMobileDeviceAsync(int itemId, string deviceId, object userState) { - if ((this.GetMobileDeviceOperationCompleted == null)) { - this.GetMobileDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMobileDeviceOperationCompleted); - } - this.InvokeAsync("GetMobileDevice", new object[] { - itemId, - deviceId}, this.GetMobileDeviceOperationCompleted, userState); - } - - private void OnGetMobileDeviceOperationCompleted(object arg) { - if ((this.GetMobileDeviceCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetMobileDeviceCompleted(this, new GetMobileDeviceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/WipeDataFromDevice", 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 void WipeDataFromDevice(int itemId, string deviceId) { - this.Invoke("WipeDataFromDevice", new object[] { - itemId, - deviceId}); - } - - /// - public System.IAsyncResult BeginWipeDataFromDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("WipeDataFromDevice", new object[] { - itemId, - deviceId}, callback, asyncState); - } - - /// - public void EndWipeDataFromDevice(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void WipeDataFromDeviceAsync(int itemId, string deviceId) { - this.WipeDataFromDeviceAsync(itemId, deviceId, null); - } - - /// - public void WipeDataFromDeviceAsync(int itemId, string deviceId, object userState) { - if ((this.WipeDataFromDeviceOperationCompleted == null)) { - this.WipeDataFromDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnWipeDataFromDeviceOperationCompleted); - } - this.InvokeAsync("WipeDataFromDevice", new object[] { - itemId, - deviceId}, this.WipeDataFromDeviceOperationCompleted, userState); - } - - private void OnWipeDataFromDeviceOperationCompleted(object arg) { - if ((this.WipeDataFromDeviceCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.WipeDataFromDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CancelRemoteWipeRequest", 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 void CancelRemoteWipeRequest(int itemId, string deviceId) { - this.Invoke("CancelRemoteWipeRequest", new object[] { - itemId, - deviceId}); - } - - /// - public System.IAsyncResult BeginCancelRemoteWipeRequest(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("CancelRemoteWipeRequest", new object[] { - itemId, - deviceId}, callback, asyncState); - } - - /// - public void EndCancelRemoteWipeRequest(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void CancelRemoteWipeRequestAsync(int itemId, string deviceId) { - this.CancelRemoteWipeRequestAsync(itemId, deviceId, null); - } - - /// - public void CancelRemoteWipeRequestAsync(int itemId, string deviceId, object userState) { - if ((this.CancelRemoteWipeRequestOperationCompleted == null)) { - this.CancelRemoteWipeRequestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCancelRemoteWipeRequestOperationCompleted); - } - this.InvokeAsync("CancelRemoteWipeRequest", new object[] { - itemId, - deviceId}, this.CancelRemoteWipeRequestOperationCompleted, userState); - } - - private void OnCancelRemoteWipeRequestOperationCompleted(object arg) { - if ((this.CancelRemoteWipeRequestCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.CancelRemoteWipeRequestCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/RemoveDevice", 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 void RemoveDevice(int itemId, string deviceId) { - this.Invoke("RemoveDevice", new object[] { - itemId, - deviceId}); - } - - /// - public System.IAsyncResult BeginRemoveDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("RemoveDevice", new object[] { - itemId, - deviceId}, callback, asyncState); - } - - /// - public void EndRemoveDevice(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void RemoveDeviceAsync(int itemId, string deviceId) { - this.RemoveDeviceAsync(itemId, deviceId, null); - } - - /// - public void RemoveDeviceAsync(int itemId, string deviceId, object userState) { - if ((this.RemoveDeviceOperationCompleted == null)) { - this.RemoveDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveDeviceOperationCompleted); - } - this.InvokeAsync("RemoveDevice", new object[] { - itemId, - deviceId}, this.RemoveDeviceOperationCompleted, userState); - } - - private void OnRemoveDeviceOperationCompleted(object arg) { - if ((this.RemoveDeviceCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.RemoveDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - /// public new void CancelAsync(object userState) { base.CancelAsync(userState); } } - - - - - - - - - - - - - - - - - - - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetRawExchangeOrganizationsPagedCompletedEventHandler(object sender, GetRawExchangeOrganizationsPagedCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetRawExchangeOrganizationsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetRawExchangeOrganizationsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public System.Data.DataSet Result { - get { - this.RaiseExceptionIfNecessary(); - return ((System.Data.DataSet)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetExchangeOrganizationsPagedCompletedEventHandler(object sender, GetExchangeOrganizationsPagedCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetExchangeOrganizationsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetExchangeOrganizationsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public OrganizationsPaged Result { - get { - this.RaiseExceptionIfNecessary(); - return ((OrganizationsPaged)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetExchangeOrganizationsCompletedEventHandler(object sender, GetExchangeOrganizationsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetExchangeOrganizationsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetExchangeOrganizationsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public Organization[] Result { - get { - this.RaiseExceptionIfNecessary(); - return ((Organization[])(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetOrganizationCompletedEventHandler(object sender, GetOrganizationCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public Organization Result { - get { - this.RaiseExceptionIfNecessary(); - return ((Organization)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetOrganizationStatisticsCompletedEventHandler(object sender, GetOrganizationStatisticsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetOrganizationStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetOrganizationStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public OrganizationStatistics Result { - get { - this.RaiseExceptionIfNecessary(); - return ((OrganizationStatistics)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void DeleteOrganizationCompletedEventHandler(object sender, DeleteOrganizationCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal DeleteOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetOrganizationStorageLimitsCompletedEventHandler(object sender, GetOrganizationStorageLimitsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetOrganizationStorageLimitsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetOrganizationStorageLimitsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public Organization Result { - get { - this.RaiseExceptionIfNecessary(); - return ((Organization)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetOrganizationStorageLimitsCompletedEventHandler(object sender, SetOrganizationStorageLimitsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetOrganizationStorageLimitsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetOrganizationStorageLimitsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetMailboxesStatisticsCompletedEventHandler(object sender, GetMailboxesStatisticsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetMailboxesStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetMailboxesStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeItemStatistics[] Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeItemStatistics[])(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetPublicFoldersStatisticsCompletedEventHandler(object sender, GetPublicFoldersStatisticsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetPublicFoldersStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetPublicFoldersStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeItemStatistics[] Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeItemStatistics[])(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void CalculateOrganizationDiskspaceCompletedEventHandler(object sender, CalculateOrganizationDiskspaceCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class CalculateOrganizationDiskspaceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal CalculateOrganizationDiskspaceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetActiveSyncPolicyCompletedEventHandler(object sender, GetActiveSyncPolicyCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetActiveSyncPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetActiveSyncPolicyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeActiveSyncPolicy Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeActiveSyncPolicy)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetActiveSyncPolicyCompletedEventHandler(object sender, SetActiveSyncPolicyCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetActiveSyncPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetActiveSyncPolicyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void AddAuthoritativeDomainCompletedEventHandler(object sender, AddAuthoritativeDomainCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddAuthoritativeDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal AddAuthoritativeDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void DeleteAuthoritativeDomainCompletedEventHandler(object sender, DeleteAuthoritativeDomainCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteAuthoritativeDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal DeleteAuthoritativeDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetAccountsPagedCompletedEventHandler(object sender, GetAccountsPagedCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetAccountsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetAccountsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeAccountsPaged Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeAccountsPaged)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetAccountsCompletedEventHandler(object sender, GetAccountsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetAccountsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeAccount[] Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeAccount[])(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SearchAccountsCompletedEventHandler(object sender, SearchAccountsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SearchAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SearchAccountsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeAccount[] Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeAccount[])(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetAccountCompletedEventHandler(object sender, GetAccountCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetAccountCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetAccountCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeAccount Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeAccount)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SearchAccountCompletedEventHandler(object sender, SearchAccountCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SearchAccountCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SearchAccountCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeAccount Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeAccount)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void CheckAccountCredentialsCompletedEventHandler(object sender, CheckAccountCredentialsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class CheckAccountCredentialsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal CheckAccountCredentialsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public bool Result { - get { - this.RaiseExceptionIfNecessary(); - return ((bool)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void CreateMailboxCompletedEventHandler(object sender, CreateMailboxCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class CreateMailboxCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal CreateMailboxCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void DeleteMailboxCompletedEventHandler(object sender, DeleteMailboxCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteMailboxCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal DeleteMailboxCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void DisableMailboxCompletedEventHandler(object sender, DisableMailboxCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DisableMailboxCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal DisableMailboxCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetMailboxGeneralSettingsCompletedEventHandler(object sender, GetMailboxGeneralSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetMailboxGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetMailboxGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeMailbox Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeMailbox)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetMailboxGeneralSettingsCompletedEventHandler(object sender, SetMailboxGeneralSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetMailboxGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetMailboxGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetMailboxEmailAddressesCompletedEventHandler(object sender, GetMailboxEmailAddressesCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetMailboxEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetMailboxEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeEmailAddress[] Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeEmailAddress[])(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void AddMailboxEmailAddressCompletedEventHandler(object sender, AddMailboxEmailAddressCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddMailboxEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal AddMailboxEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetMailboxPrimaryEmailAddressCompletedEventHandler(object sender, SetMailboxPrimaryEmailAddressCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetMailboxPrimaryEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetMailboxPrimaryEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void DeleteMailboxEmailAddressesCompletedEventHandler(object sender, DeleteMailboxEmailAddressesCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteMailboxEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal DeleteMailboxEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetMailboxMailFlowSettingsCompletedEventHandler(object sender, GetMailboxMailFlowSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetMailboxMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetMailboxMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeMailbox Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeMailbox)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetMailboxMailFlowSettingsCompletedEventHandler(object sender, SetMailboxMailFlowSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetMailboxMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetMailboxMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetMailboxAdvancedSettingsCompletedEventHandler(object sender, GetMailboxAdvancedSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [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; - } - - /// - public ExchangeMailbox Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeMailbox)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetMailboxAdvancedSettingsCompletedEventHandler(object sender, SetMailboxAdvancedSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetMailboxAdvancedSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetMailboxAdvancedSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetMailboxSetupInstructionsCompletedEventHandler(object sender, GetMailboxSetupInstructionsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetMailboxSetupInstructionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetMailboxSetupInstructionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public string Result { - get { - this.RaiseExceptionIfNecessary(); - return ((string)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SendMailboxSetupInstructionsCompletedEventHandler(object sender, SendMailboxSetupInstructionsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SendMailboxSetupInstructionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SendMailboxSetupInstructionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetMailboxManagerSettingsCompletedEventHandler(object sender, SetMailboxManagerSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetMailboxManagerSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetMailboxManagerSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetMailboxPermissionsCompletedEventHandler(object sender, GetMailboxPermissionsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetMailboxPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetMailboxPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeMailbox Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeMailbox)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetMailboxPermissionsCompletedEventHandler(object sender, SetMailboxPermissionsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetMailboxPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetMailboxPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void CreateContactCompletedEventHandler(object sender, CreateContactCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class CreateContactCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal CreateContactCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void DeleteContactCompletedEventHandler(object sender, DeleteContactCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteContactCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal DeleteContactCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetContactGeneralSettingsCompletedEventHandler(object sender, GetContactGeneralSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetContactGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetContactGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeContact Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeContact)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetContactGeneralSettingsCompletedEventHandler(object sender, SetContactGeneralSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetContactGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetContactGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetContactMailFlowSettingsCompletedEventHandler(object sender, GetContactMailFlowSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetContactMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetContactMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeContact Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeContact)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetContactMailFlowSettingsCompletedEventHandler(object sender, SetContactMailFlowSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetContactMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetContactMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void CreateDistributionListCompletedEventHandler(object sender, CreateDistributionListCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class CreateDistributionListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal CreateDistributionListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void DeleteDistributionListCompletedEventHandler(object sender, DeleteDistributionListCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteDistributionListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal DeleteDistributionListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetDistributionListGeneralSettingsCompletedEventHandler(object sender, GetDistributionListGeneralSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetDistributionListGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetDistributionListGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeDistributionList Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeDistributionList)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetDistributionListGeneralSettingsCompletedEventHandler(object sender, SetDistributionListGeneralSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetDistributionListGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetDistributionListGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetDistributionListMailFlowSettingsCompletedEventHandler(object sender, GetDistributionListMailFlowSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetDistributionListMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetDistributionListMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeDistributionList Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeDistributionList)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetDistributionListMailFlowSettingsCompletedEventHandler(object sender, SetDistributionListMailFlowSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetDistributionListMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetDistributionListMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetDistributionListEmailAddressesCompletedEventHandler(object sender, GetDistributionListEmailAddressesCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetDistributionListEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetDistributionListEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeEmailAddress[] Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeEmailAddress[])(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void AddDistributionListEmailAddressCompletedEventHandler(object sender, AddDistributionListEmailAddressCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddDistributionListEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal AddDistributionListEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetDistributionListPrimaryEmailAddressCompletedEventHandler(object sender, SetDistributionListPrimaryEmailAddressCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetDistributionListPrimaryEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetDistributionListPrimaryEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void DeleteDistributionListEmailAddressesCompletedEventHandler(object sender, DeleteDistributionListEmailAddressesCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteDistributionListEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal DeleteDistributionListEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetDistributionListPermissionsCompletedEventHandler(object sender, SetDistributionListPermissionsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetDistributionListPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetDistributionListPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ResultObject Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ResultObject)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetDistributionListPermissionsCompletedEventHandler(object sender, GetDistributionListPermissionsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetDistributionListPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetDistributionListPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeDistributionListResult Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeDistributionListResult)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void CreatePublicFolderCompletedEventHandler(object sender, CreatePublicFolderCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class CreatePublicFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal CreatePublicFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void DeletePublicFoldersCompletedEventHandler(object sender, DeletePublicFoldersCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeletePublicFoldersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal DeletePublicFoldersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void DeletePublicFolderCompletedEventHandler(object sender, DeletePublicFolderCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeletePublicFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal DeletePublicFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void EnableMailPublicFolderCompletedEventHandler(object sender, EnableMailPublicFolderCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class EnableMailPublicFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal EnableMailPublicFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void DisableMailPublicFolderCompletedEventHandler(object sender, DisableMailPublicFolderCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DisableMailPublicFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal DisableMailPublicFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void GetPublicFolderGeneralSettingsCompletedEventHandler(object sender, GetPublicFolderGeneralSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetPublicFolderGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetPublicFolderGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangePublicFolder Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangePublicFolder)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void SetPublicFolderGeneralSettingsCompletedEventHandler(object sender, SetPublicFolderGeneralSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetPublicFolderGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetPublicFolderGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPublicFolderMailFlowSettingsCompletedEventHandler(object sender, GetPublicFolderMailFlowSettingsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetPublicFolderMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6215,11 +4528,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetPublicFolderMailFlowSettingsCompletedEventHandler(object sender, SetPublicFolderMailFlowSettingsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class SetPublicFolderMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6241,11 +4554,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPublicFolderEmailAddressesCompletedEventHandler(object sender, GetPublicFolderEmailAddressesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetPublicFolderEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6267,11 +4580,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddPublicFolderEmailAddressCompletedEventHandler(object sender, AddPublicFolderEmailAddressCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddPublicFolderEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6293,11 +4606,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetPublicFolderPrimaryEmailAddressCompletedEventHandler(object sender, SetPublicFolderPrimaryEmailAddressCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class SetPublicFolderPrimaryEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6319,11 +4632,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeletePublicFolderEmailAddressesCompletedEventHandler(object sender, DeletePublicFolderEmailAddressesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeletePublicFolderEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6345,11 +4658,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetMobileDevicesCompletedEventHandler(object sender, GetMobileDevicesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetMobileDevicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6371,11 +4684,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetMobileDeviceCompletedEventHandler(object sender, GetMobileDeviceCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetMobileDeviceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6397,14 +4710,1678 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void WipeDataFromDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CancelRemoteWipeRequestCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void RemoveDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetRawExchangeOrganizationsPagedCompletedEventHandler(object sender, GetRawExchangeOrganizationsPagedCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetRawExchangeOrganizationsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetRawExchangeOrganizationsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public System.Data.DataSet Result { + get { + this.RaiseExceptionIfNecessary(); + return ((System.Data.DataSet)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetExchangeOrganizationsPagedCompletedEventHandler(object sender, GetExchangeOrganizationsPagedCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetExchangeOrganizationsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetExchangeOrganizationsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public OrganizationsPaged Result { + get { + this.RaiseExceptionIfNecessary(); + return ((OrganizationsPaged)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetExchangeOrganizationsCompletedEventHandler(object sender, GetExchangeOrganizationsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetExchangeOrganizationsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetExchangeOrganizationsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public Organization[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((Organization[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetOrganizationCompletedEventHandler(object sender, GetOrganizationCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public Organization Result { + get { + this.RaiseExceptionIfNecessary(); + return ((Organization)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetOrganizationStatisticsCompletedEventHandler(object sender, GetOrganizationStatisticsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetOrganizationStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetOrganizationStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public OrganizationStatistics Result { + get { + this.RaiseExceptionIfNecessary(); + return ((OrganizationStatistics)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteOrganizationCompletedEventHandler(object sender, DeleteOrganizationCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeleteOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetOrganizationStorageLimitsCompletedEventHandler(object sender, GetOrganizationStorageLimitsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetOrganizationStorageLimitsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetOrganizationStorageLimitsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public Organization Result { + get { + this.RaiseExceptionIfNecessary(); + return ((Organization)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetOrganizationStorageLimitsCompletedEventHandler(object sender, SetOrganizationStorageLimitsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetOrganizationStorageLimitsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetOrganizationStorageLimitsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetMailboxesStatisticsCompletedEventHandler(object sender, GetMailboxesStatisticsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetMailboxesStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetMailboxesStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeItemStatistics[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeItemStatistics[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetPublicFoldersStatisticsCompletedEventHandler(object sender, GetPublicFoldersStatisticsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetPublicFoldersStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetPublicFoldersStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeItemStatistics[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeItemStatistics[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CalculateOrganizationDiskspaceCompletedEventHandler(object sender, CalculateOrganizationDiskspaceCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CalculateOrganizationDiskspaceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal CalculateOrganizationDiskspaceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetActiveSyncPolicyCompletedEventHandler(object sender, GetActiveSyncPolicyCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetActiveSyncPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetActiveSyncPolicyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeActiveSyncPolicy Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeActiveSyncPolicy)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetActiveSyncPolicyCompletedEventHandler(object sender, SetActiveSyncPolicyCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetActiveSyncPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetActiveSyncPolicyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void AddAuthoritativeDomainCompletedEventHandler(object sender, AddAuthoritativeDomainCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class AddAuthoritativeDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal AddAuthoritativeDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteAuthoritativeDomainCompletedEventHandler(object sender, DeleteAuthoritativeDomainCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteAuthoritativeDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeleteAuthoritativeDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetAccountsPagedCompletedEventHandler(object sender, GetAccountsPagedCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetAccountsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetAccountsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeAccountsPaged Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeAccountsPaged)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetAccountsCompletedEventHandler(object sender, GetAccountsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetAccountsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeAccount[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeAccount[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SearchAccountsCompletedEventHandler(object sender, SearchAccountsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SearchAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SearchAccountsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeAccount[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeAccount[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetAccountCompletedEventHandler(object sender, GetAccountCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetAccountCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetAccountCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeAccount Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeAccount)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SearchAccountCompletedEventHandler(object sender, SearchAccountCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SearchAccountCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SearchAccountCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeAccount Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeAccount)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CheckAccountCredentialsCompletedEventHandler(object sender, CheckAccountCredentialsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CheckAccountCredentialsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal CheckAccountCredentialsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public bool Result { + get { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CreateMailboxCompletedEventHandler(object sender, CreateMailboxCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CreateMailboxCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal CreateMailboxCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteMailboxCompletedEventHandler(object sender, DeleteMailboxCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteMailboxCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeleteMailboxCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DisableMailboxCompletedEventHandler(object sender, DisableMailboxCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DisableMailboxCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DisableMailboxCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetMailboxGeneralSettingsCompletedEventHandler(object sender, GetMailboxGeneralSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetMailboxGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetMailboxGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeMailbox Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeMailbox)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetMailboxGeneralSettingsCompletedEventHandler(object sender, SetMailboxGeneralSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetMailboxGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetMailboxGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetMailboxEmailAddressesCompletedEventHandler(object sender, GetMailboxEmailAddressesCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetMailboxEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetMailboxEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeEmailAddress[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeEmailAddress[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void AddMailboxEmailAddressCompletedEventHandler(object sender, AddMailboxEmailAddressCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class AddMailboxEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal AddMailboxEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetMailboxPrimaryEmailAddressCompletedEventHandler(object sender, SetMailboxPrimaryEmailAddressCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetMailboxPrimaryEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetMailboxPrimaryEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteMailboxEmailAddressesCompletedEventHandler(object sender, DeleteMailboxEmailAddressesCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteMailboxEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeleteMailboxEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetMailboxMailFlowSettingsCompletedEventHandler(object sender, GetMailboxMailFlowSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetMailboxMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetMailboxMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeMailbox Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeMailbox)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetMailboxMailFlowSettingsCompletedEventHandler(object sender, SetMailboxMailFlowSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetMailboxMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetMailboxMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetMailboxAdvancedSettingsCompletedEventHandler(object sender, GetMailboxAdvancedSettingsCompletedEventArgs e); + + /// + [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; + } + + /// + public ExchangeMailbox Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeMailbox)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetMailboxAdvancedSettingsCompletedEventHandler(object sender, SetMailboxAdvancedSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetMailboxAdvancedSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetMailboxAdvancedSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetMailboxSetupInstructionsCompletedEventHandler(object sender, GetMailboxSetupInstructionsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetMailboxSetupInstructionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetMailboxSetupInstructionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public string Result { + get { + this.RaiseExceptionIfNecessary(); + return ((string)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SendMailboxSetupInstructionsCompletedEventHandler(object sender, SendMailboxSetupInstructionsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SendMailboxSetupInstructionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SendMailboxSetupInstructionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetMailboxManagerSettingsCompletedEventHandler(object sender, SetMailboxManagerSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetMailboxManagerSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetMailboxManagerSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetMailboxPermissionsCompletedEventHandler(object sender, GetMailboxPermissionsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetMailboxPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetMailboxPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeMailbox Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeMailbox)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetMailboxPermissionsCompletedEventHandler(object sender, SetMailboxPermissionsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetMailboxPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetMailboxPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CreateContactCompletedEventHandler(object sender, CreateContactCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CreateContactCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal CreateContactCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteContactCompletedEventHandler(object sender, DeleteContactCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteContactCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeleteContactCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetContactGeneralSettingsCompletedEventHandler(object sender, GetContactGeneralSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetContactGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetContactGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeContact Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeContact)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetContactGeneralSettingsCompletedEventHandler(object sender, SetContactGeneralSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetContactGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetContactGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetContactMailFlowSettingsCompletedEventHandler(object sender, GetContactMailFlowSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetContactMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetContactMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeContact Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeContact)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetContactMailFlowSettingsCompletedEventHandler(object sender, SetContactMailFlowSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetContactMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetContactMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CreateDistributionListCompletedEventHandler(object sender, CreateDistributionListCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CreateDistributionListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal CreateDistributionListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteDistributionListCompletedEventHandler(object sender, DeleteDistributionListCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteDistributionListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeleteDistributionListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetDistributionListGeneralSettingsCompletedEventHandler(object sender, GetDistributionListGeneralSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetDistributionListGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetDistributionListGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeDistributionList Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeDistributionList)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetDistributionListGeneralSettingsCompletedEventHandler(object sender, SetDistributionListGeneralSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetDistributionListGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetDistributionListGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetDistributionListMailFlowSettingsCompletedEventHandler(object sender, GetDistributionListMailFlowSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetDistributionListMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetDistributionListMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeDistributionList Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeDistributionList)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetDistributionListMailFlowSettingsCompletedEventHandler(object sender, SetDistributionListMailFlowSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetDistributionListMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetDistributionListMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetDistributionListEmailAddressesCompletedEventHandler(object sender, GetDistributionListEmailAddressesCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetDistributionListEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetDistributionListEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeEmailAddress[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeEmailAddress[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void AddDistributionListEmailAddressCompletedEventHandler(object sender, AddDistributionListEmailAddressCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class AddDistributionListEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal AddDistributionListEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetDistributionListPrimaryEmailAddressCompletedEventHandler(object sender, SetDistributionListPrimaryEmailAddressCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetDistributionListPrimaryEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetDistributionListPrimaryEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteDistributionListEmailAddressesCompletedEventHandler(object sender, DeleteDistributionListEmailAddressesCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteDistributionListEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeleteDistributionListEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetDistributionListPermissionsCompletedEventHandler(object sender, SetDistributionListPermissionsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetDistributionListPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetDistributionListPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ResultObject Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ResultObject)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetDistributionListPermissionsCompletedEventHandler(object sender, GetDistributionListPermissionsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetDistributionListPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetDistributionListPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeDistributionListResult Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeDistributionListResult)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CreatePublicFolderCompletedEventHandler(object sender, CreatePublicFolderCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CreatePublicFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal CreatePublicFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeletePublicFoldersCompletedEventHandler(object sender, DeletePublicFoldersCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeletePublicFoldersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeletePublicFoldersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeletePublicFolderCompletedEventHandler(object sender, DeletePublicFolderCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeletePublicFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeletePublicFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void EnableMailPublicFolderCompletedEventHandler(object sender, EnableMailPublicFolderCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class EnableMailPublicFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal EnableMailPublicFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DisableMailPublicFolderCompletedEventHandler(object sender, DisableMailPublicFolderCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DisableMailPublicFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DisableMailPublicFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetPublicFolderGeneralSettingsCompletedEventHandler(object sender, GetPublicFolderGeneralSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetPublicFolderGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetPublicFolderGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangePublicFolder Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangePublicFolder)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetPublicFolderGeneralSettingsCompletedEventHandler(object sender, SetPublicFolderGeneralSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetPublicFolderGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetPublicFolderGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj index b9ac0a34..57eb796c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj @@ -84,6 +84,9 @@ + + code + @@ -91,7 +94,6 @@ - diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs index 2b345b54..77eb5848 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs @@ -3636,7 +3636,7 @@ namespace WebsitePanel.EnterpriseServer c.DisplayName = "\\fabrikam\\Documents"; c.MailEnabled = true; c.Name = "Documents"; - c.AuthorsAccounts = GetAccounts(0, ExchangeAccountType.Mailbox).ToArray(); + c.Accounts = GetAccounts(0, ExchangeAccountType.Mailbox).ToArray(); c.AcceptAccounts = GetAccounts(0, ExchangeAccountType.Mailbox).ToArray(); return c; } @@ -3683,7 +3683,7 @@ namespace WebsitePanel.EnterpriseServer } public static int SetPublicFolderGeneralSettings(int itemId, int accountId, string newName, - bool hideAddressBook, string[] authorAccounts) + bool hideAddressBook, ExchangeAccount[] accounts) { // check account int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); @@ -3714,8 +3714,9 @@ namespace WebsitePanel.EnterpriseServer exchange.SetPublicFolderGeneralSettings( account.DisplayName, newName, - authorAccounts, - hideAddressBook); + hideAddressBook, + accounts + ); // update folder name string origName = account.DisplayName; diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj index 929eac01..cae3c3b8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj @@ -68,11 +68,11 @@ - + False ..\..\Bin\WebsitePanel.Providers.Base.dll - + False ..\..\Bin\WebsitePanel.Server.Client.dll @@ -425,7 +425,7 @@ False False - 9002 + 9005 / diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeServer.asmx.cs index 5f577cf5..984bbd28 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeServer.asmx.cs @@ -515,10 +515,10 @@ namespace WebsitePanel.EnterpriseServer [WebMethod] public int SetPublicFolderGeneralSettings(int itemId, int accountId, string newName, - bool hideAddressBook, string[] authorAccounts) + bool hideAddressBook, ExchangeAccount[] accounts) { return ExchangeServerController.SetPublicFolderGeneralSettings(itemId, accountId, newName, - hideAddressBook, authorAccounts); + hideAddressBook, accounts); } [WebMethod] diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccount.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccount.cs index 293fdb43..53110402 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccount.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccount.cs @@ -45,6 +45,7 @@ namespace WebsitePanel.Providers.HostedSolution MailboxManagerActions mailboxManagerActions; string accountPassword; string samAccountName; + string publicFolderPermission; public int AccountId { @@ -111,5 +112,11 @@ namespace WebsitePanel.Providers.HostedSolution get { return this.mailboxManagerActions; } set { this.mailboxManagerActions = value; } } + + public string PublicFolderPermission + { + get { return this.publicFolderPermission; } + set { this.publicFolderPermission = value; } + } } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangePublicFolder.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangePublicFolder.cs index 7b76838c..2a530ce8 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangePublicFolder.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangePublicFolder.cs @@ -35,8 +35,8 @@ namespace WebsitePanel.Providers.HostedSolution bool hideFromAddressBook; bool mailEnabled; - ExchangeAccount[] authorsAccounts; - + ExchangeAccount[] accounts; + ExchangeAccount[] acceptAccounts; ExchangeAccount[] rejectAccounts; bool requireSenderAuthentication; @@ -59,12 +59,13 @@ namespace WebsitePanel.Providers.HostedSolution set { this.mailEnabled = value; } } - public WebsitePanel.Providers.HostedSolution.ExchangeAccount[] AuthorsAccounts - { - get { return this.authorsAccounts; } - set { this.authorsAccounts = value; } - } - + + public WebsitePanel.Providers.HostedSolution.ExchangeAccount[] Accounts + { + get { return this.accounts; } + set { this.accounts = value; } + } + public WebsitePanel.Providers.HostedSolution.ExchangeAccount[] AcceptAccounts { get { return this.acceptAccounts; } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IExchangeServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IExchangeServer.cs index 87c30d5c..34651e08 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IExchangeServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IExchangeServer.cs @@ -101,7 +101,7 @@ namespace WebsitePanel.Providers.HostedSolution void EnableMailPublicFolder(string organizationId, string folder, string accountName, string name, string domain); void DisableMailPublicFolder(string folder); ExchangePublicFolder GetPublicFolderGeneralSettings(string folder); - void SetPublicFolderGeneralSettings(string folder, string newFolderName, string[] authorAccounts, bool hideFromAddressBook); + void SetPublicFolderGeneralSettings(string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts ); ExchangePublicFolder GetPublicFolderMailFlowSettings(string folder); void SetPublicFolderMailFlowSettings(string folder, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication); ExchangeEmailAddress[] GetPublicFolderEmailAddresses(string folder); diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs index 6659f846..793ee9d6 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs @@ -489,9 +489,9 @@ namespace WebsitePanel.Providers.HostedSolution } public void SetPublicFolderGeneralSettings(string folder, string newFolderName, - string[] authorAccounts, bool hideFromAddressBook) + bool hideFromAddressBook, ExchangeAccount[] accounts) { - SetPublicFolderGeneralSettingsInternal(folder, newFolderName, authorAccounts, hideFromAddressBook); + SetPublicFolderGeneralSettingsInternal(folder, newFolderName, hideFromAddressBook, accounts); } public ExchangePublicFolder GetPublicFolderMailFlowSettings(string folder) { @@ -4142,8 +4142,8 @@ namespace WebsitePanel.Providers.HostedSolution private void SetPublicFolderPermissions(Runspace runSpace, string folder, string securityGroup) { - RemovePublicFolderClientPermission(runSpace, folder, "Default", "Author"); - //RemovePublicFolderClientPermission(runSpace, folder, "Anonymous", "CreateItems"); + //set the default Permission to 'Reviewer' + RemovePublicFolderClientPermission(runSpace, folder, "Default", "Author"); AddPublicFolderClientPermission(runSpace, folder, securityGroup, "Reviewer"); } @@ -4325,7 +4325,8 @@ namespace WebsitePanel.Providers.HostedSolution info.Name = (string)GetPSObjectProperty(publicFolder, "Name"); info.MailEnabled = (bool)GetPSObjectProperty(publicFolder, "MailEnabled"); info.HideFromAddressBook = (bool)GetPSObjectProperty(publicFolder, "HiddenFromAddressListsEnabled"); - info.AuthorsAccounts = GetPublicFolderAuthors(runSpace, folder); + + info.Accounts = GetPublicFolderAccounts(runSpace, folder); } finally { @@ -4335,47 +4336,45 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogEnd("GetPublicFolderGeneralSettingsInternal"); return info; } + + private ExchangeAccount[] GetPublicFolderAccounts(Runspace runSpace, string folder) + { + ExchangeLog.LogStart("GetPublicFolderAccounts"); + ExchangeLog.DebugInfo("Folder: {0}", folder); - private ExchangeAccount[] GetPublicFolderAuthors(Runspace runSpace, string folder) - { - ExchangeLog.LogStart("GetPublicFolderAuthors"); - ExchangeLog.DebugInfo("Folder: {0}", folder); + List list = new List(); + ExchangeAccount account = null; - List list = new List(); - ExchangeAccount account = null; + Command cmd = new Command("Get-PublicFolderClientPermission"); + cmd.Parameters.Add("Identity", folder); + if (!string.IsNullOrEmpty(PublicFolderServer)) + cmd.Parameters.Add("Server", PublicFolderServer); + Collection result = ExecuteShellCommand(runSpace, cmd); - Command cmd = new Command("Get-PublicFolderClientPermission"); - cmd.Parameters.Add("Identity", folder); - if (!string.IsNullOrEmpty(PublicFolderServer)) - cmd.Parameters.Add("Server", PublicFolderServer); - Collection result = ExecuteShellCommand(runSpace, cmd); + foreach (PSObject obj in result) + { + string userId = ObjToString(GetPSObjectProperty(obj, "User")); + if (userId == "Default" || userId == "Anonymous" || userId.StartsWith("NT User:") == true) + continue; - foreach (PSObject obj in result) - { - string userId = ObjToString(GetPSObjectProperty(obj, "User")); - if (userId == "Default" || userId == "Anonymous") - continue; - - object rights = GetPSObjectProperty(obj, "AccessRights"); - int count = (int)GetObjectPropertyValue(rights, "Count"); - for (int i = 0; i < count; i++) - { - string right = ObjToString(GetObjectIndexerValue(rights, i)); - if (right == "Author") - { - account = GetExchangeAccount(runSpace, userId); - if (account != null) - list.Add(account); - break; - } - } - } - ExchangeLog.LogEnd("GetPublicFolderAuthors"); - return list.ToArray(); - } + object rights = GetPSObjectProperty(obj, "AccessRights"); + int count = (int)GetObjectPropertyValue(rights, "Count"); + for (int i = 0; i < count; i++) + { + account = GetExchangeAccount(runSpace, userId); + string permission = ObjToString(GetObjectIndexerValue(rights, i)); + if (account != null) + account.PublicFolderPermission = permission; + list.Add(account); + break; + } + } + ExchangeLog.LogEnd("GetPublicFolderAccounts"); + return list.ToArray(); + } private void SetPublicFolderGeneralSettingsInternal(string folder, string newFolderName, - string[] authorAccounts, bool hideFromAddressBook) + bool hideFromAddressBook, ExchangeAccount[] accounts) { ExchangeLog.LogStart("SetPublicFolderGeneralSettingsInternal"); ExchangeLog.DebugInfo("Folder: {0}", folder); @@ -4389,46 +4388,38 @@ namespace WebsitePanel.Providers.HostedSolution Collection result = GetPublicFolderObject(runSpace, folder); PSObject publicFolder = result[0]; string folderName = (string)GetPSObjectProperty(publicFolder, "Name"); - ExchangeAccount[] accounts = GetPublicFolderAuthors(runSpace, folder); - - //authors - Dictionary existingAuthors = new Dictionary(); - Dictionary newAuthors = new Dictionary(); - List authorsToDelete = new List(); - List authorsToAdd = new List(); - - foreach (ExchangeAccount account in accounts) - { - existingAuthors.Add(account.AccountName.ToLower(), account.AccountName); - } - - foreach (string newAuthor in authorAccounts) - { - newAuthors.Add(newAuthor.ToLower(), newAuthor); - if (!existingAuthors.ContainsKey(newAuthor.ToLower())) - { - authorsToAdd.Add(newAuthor); - } - } - - foreach (string existingAuthor in existingAuthors.Keys) - { - if (!newAuthors.ContainsKey(existingAuthor)) - { - authorsToDelete.Add(existingAuthors[existingAuthor]); - } - } - - foreach (string user in authorsToAdd) - { - AddPublicFolderClientPermission(runSpace, folder, user, "Author"); - } - - foreach (string user in authorsToDelete) - { - RemovePublicFolderClientPermission(runSpace, folder, user, "Author"); - } + ExchangeAccount[] allAccounts = GetPublicFolderAccounts(runSpace, folder); + + //Remove all accounts and re-apply + List accountsToDelete = new List(); + List accountsToAdd = new List(); + + foreach (ExchangeAccount existingAccount in allAccounts) + { + try + { + RemovePublicFolderClientPermission(runSpace, folder, @"\" + existingAccount.AccountName, existingAccount.PublicFolderPermission); + } + catch (Exception) + { + throw; + } + + } + foreach (ExchangeAccount newAccount in accounts) + { + try + { + AddPublicFolderClientPermission(runSpace, folder, @"\" + newAccount.AccountName, newAccount.PublicFolderPermission); + } + catch (Exception) + { + throw; + } + + } + //general settings Command cmd = new Command("Set-PublicFolder"); cmd.Parameters.Add("Identity", folder); diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs index 914918ea..7514cfdf 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs @@ -29,7 +29,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.4200 +// Runtime Version:2.0.50727.5456 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -37,21 +37,21 @@ //------------------------------------------------------------------------------ // -// This source code was auto-generated by wsdl, Version=2.0.50727.3038. +// This source code was auto-generated by wsdl, Version=2.0.50727.42. // using WebsitePanel.Providers.HostedSolution; - -namespace WebsitePanel.Providers.Exchange { - using System.Diagnostics; +namespace WebsitePanel.Providers.Exchange +{ + using System.Xml.Serialization; using System.Web.Services; using System.ComponentModel; using System.Web.Services.Protocols; using System; - using System.Xml.Serialization; + using System.Diagnostics; /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Web.Services.WebServiceBindingAttribute(Name="ExchangeServerSoap", Namespace="http://smbsaas/websitepanel/server/")] @@ -61,6 +61,12 @@ namespace WebsitePanel.Providers.Exchange { public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue; + private System.Threading.SendOrPostCallback WipeDataFromDeviceOperationCompleted; + + private System.Threading.SendOrPostCallback CancelRemoteWipeRequestOperationCompleted; + + private System.Threading.SendOrPostCallback RemoveDeviceOperationCompleted; + private System.Threading.SendOrPostCallback CheckAccountCredentialsOperationCompleted; private System.Threading.SendOrPostCallback ExtendToExchangeOrganizationOperationCompleted; @@ -187,17 +193,20 @@ namespace WebsitePanel.Providers.Exchange { private System.Threading.SendOrPostCallback GetMobileDeviceOperationCompleted; - private System.Threading.SendOrPostCallback WipeDataFromDeviceOperationCompleted; - - private System.Threading.SendOrPostCallback CancelRemoteWipeRequestOperationCompleted; - - private System.Threading.SendOrPostCallback RemoveDeviceOperationCompleted; - /// public ExchangeServer() { - this.Url = "http://127.0.0.1:9003/ExchangeServer.asmx"; + this.Url = "http://localhost:9004/ExchangeServer.asmx"; } + /// + public event WipeDataFromDeviceCompletedEventHandler WipeDataFromDeviceCompleted; + + /// + public event CancelRemoteWipeRequestCompletedEventHandler CancelRemoteWipeRequestCompleted; + + /// + public event RemoveDeviceCompletedEventHandler RemoveDeviceCompleted; + /// public event CheckAccountCredentialsCompletedEventHandler CheckAccountCredentialsCompleted; @@ -388,13 +397,124 @@ namespace WebsitePanel.Providers.Exchange { public event GetMobileDeviceCompletedEventHandler GetMobileDeviceCompleted; /// - public event WipeDataFromDeviceCompletedEventHandler WipeDataFromDeviceCompleted; + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/WipeDataFromDevice", 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 void WipeDataFromDevice(string id) { + this.Invoke("WipeDataFromDevice", new object[] { + id}); + } /// - public event CancelRemoteWipeRequestCompletedEventHandler CancelRemoteWipeRequestCompleted; + public System.IAsyncResult BeginWipeDataFromDevice(string id, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("WipeDataFromDevice", new object[] { + id}, callback, asyncState); + } /// - public event RemoveDeviceCompletedEventHandler RemoveDeviceCompleted; + public void EndWipeDataFromDevice(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void WipeDataFromDeviceAsync(string id) { + this.WipeDataFromDeviceAsync(id, null); + } + + /// + public void WipeDataFromDeviceAsync(string id, object userState) { + if ((this.WipeDataFromDeviceOperationCompleted == null)) { + this.WipeDataFromDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnWipeDataFromDeviceOperationCompleted); + } + this.InvokeAsync("WipeDataFromDevice", new object[] { + id}, this.WipeDataFromDeviceOperationCompleted, userState); + } + + private void OnWipeDataFromDeviceOperationCompleted(object arg) { + if ((this.WipeDataFromDeviceCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.WipeDataFromDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CancelRemoteWipeRequest", 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 void CancelRemoteWipeRequest(string id) { + this.Invoke("CancelRemoteWipeRequest", new object[] { + id}); + } + + /// + public System.IAsyncResult BeginCancelRemoteWipeRequest(string id, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("CancelRemoteWipeRequest", new object[] { + id}, callback, asyncState); + } + + /// + public void EndCancelRemoteWipeRequest(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void CancelRemoteWipeRequestAsync(string id) { + this.CancelRemoteWipeRequestAsync(id, null); + } + + /// + public void CancelRemoteWipeRequestAsync(string id, object userState) { + if ((this.CancelRemoteWipeRequestOperationCompleted == null)) { + this.CancelRemoteWipeRequestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCancelRemoteWipeRequestOperationCompleted); + } + this.InvokeAsync("CancelRemoteWipeRequest", new object[] { + id}, this.CancelRemoteWipeRequestOperationCompleted, userState); + } + + private void OnCancelRemoteWipeRequestOperationCompleted(object arg) { + if ((this.CancelRemoteWipeRequestCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.CancelRemoteWipeRequestCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/RemoveDevice", 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 void RemoveDevice(string id) { + this.Invoke("RemoveDevice", new object[] { + id}); + } + + /// + public System.IAsyncResult BeginRemoveDevice(string id, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("RemoveDevice", new object[] { + id}, callback, asyncState); + } + + /// + public void EndRemoveDevice(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void RemoveDeviceAsync(string id) { + this.RemoveDeviceAsync(id, null); + } + + /// + public void RemoveDeviceAsync(string id, object userState) { + if ((this.RemoveDeviceOperationCompleted == null)) { + this.RemoveDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveDeviceOperationCompleted); + } + this.InvokeAsync("RemoveDevice", new object[] { + id}, this.RemoveDeviceOperationCompleted, userState); + } + + private void OnRemoveDeviceOperationCompleted(object arg) { + if ((this.RemoveDeviceCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.RemoveDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] @@ -3243,21 +3363,21 @@ namespace WebsitePanel.Providers.Exchange { /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetPublicFolderGeneralSettings", 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 void SetPublicFolderGeneralSettings(string folder, string newFolderName, string[] authorAccounts, bool hideFromAddressBook) { + public void SetPublicFolderGeneralSettings(string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts) { this.Invoke("SetPublicFolderGeneralSettings", new object[] { folder, newFolderName, - authorAccounts, - hideFromAddressBook}); + hideFromAddressBook, + accounts}); } /// - public System.IAsyncResult BeginSetPublicFolderGeneralSettings(string folder, string newFolderName, string[] authorAccounts, bool hideFromAddressBook, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginSetPublicFolderGeneralSettings(string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("SetPublicFolderGeneralSettings", new object[] { folder, newFolderName, - authorAccounts, - hideFromAddressBook}, callback, asyncState); + hideFromAddressBook, + accounts}, callback, asyncState); } /// @@ -3266,20 +3386,20 @@ namespace WebsitePanel.Providers.Exchange { } /// - public void SetPublicFolderGeneralSettingsAsync(string folder, string newFolderName, string[] authorAccounts, bool hideFromAddressBook) { - this.SetPublicFolderGeneralSettingsAsync(folder, newFolderName, authorAccounts, hideFromAddressBook, null); + public void SetPublicFolderGeneralSettingsAsync(string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts) { + this.SetPublicFolderGeneralSettingsAsync(folder, newFolderName, hideFromAddressBook, accounts, null); } /// - public void SetPublicFolderGeneralSettingsAsync(string folder, string newFolderName, string[] authorAccounts, bool hideFromAddressBook, object userState) { + public void SetPublicFolderGeneralSettingsAsync(string folder, string newFolderName, bool hideFromAddressBook, ExchangeAccount[] accounts, object userState) { if ((this.SetPublicFolderGeneralSettingsOperationCompleted == null)) { this.SetPublicFolderGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderGeneralSettingsOperationCompleted); } this.InvokeAsync("SetPublicFolderGeneralSettings", new object[] { folder, newFolderName, - authorAccounts, - hideFromAddressBook}, this.SetPublicFolderGeneralSettingsOperationCompleted, userState); + hideFromAddressBook, + accounts}, this.SetPublicFolderGeneralSettingsOperationCompleted, userState); } private void OnSetPublicFolderGeneralSettingsOperationCompleted(object arg) { @@ -3959,155 +4079,30 @@ namespace WebsitePanel.Providers.Exchange { } } - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/WipeDataFromDevice", 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 void WipeDataFromDevice(string id) { - this.Invoke("WipeDataFromDevice", new object[] { - id}); - } - - /// - public System.IAsyncResult BeginWipeDataFromDevice(string id, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("WipeDataFromDevice", new object[] { - id}, callback, asyncState); - } - - /// - public void EndWipeDataFromDevice(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void WipeDataFromDeviceAsync(string id) { - this.WipeDataFromDeviceAsync(id, null); - } - - /// - public void WipeDataFromDeviceAsync(string id, object userState) { - if ((this.WipeDataFromDeviceOperationCompleted == null)) { - this.WipeDataFromDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnWipeDataFromDeviceOperationCompleted); - } - this.InvokeAsync("WipeDataFromDevice", new object[] { - id}, this.WipeDataFromDeviceOperationCompleted, userState); - } - - private void OnWipeDataFromDeviceOperationCompleted(object arg) { - if ((this.WipeDataFromDeviceCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.WipeDataFromDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CancelRemoteWipeRequest", 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 void CancelRemoteWipeRequest(string id) { - this.Invoke("CancelRemoteWipeRequest", new object[] { - id}); - } - - /// - public System.IAsyncResult BeginCancelRemoteWipeRequest(string id, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("CancelRemoteWipeRequest", new object[] { - id}, callback, asyncState); - } - - /// - public void EndCancelRemoteWipeRequest(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void CancelRemoteWipeRequestAsync(string id) { - this.CancelRemoteWipeRequestAsync(id, null); - } - - /// - public void CancelRemoteWipeRequestAsync(string id, object userState) { - if ((this.CancelRemoteWipeRequestOperationCompleted == null)) { - this.CancelRemoteWipeRequestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCancelRemoteWipeRequestOperationCompleted); - } - this.InvokeAsync("CancelRemoteWipeRequest", new object[] { - id}, this.CancelRemoteWipeRequestOperationCompleted, userState); - } - - private void OnCancelRemoteWipeRequestOperationCompleted(object arg) { - if ((this.CancelRemoteWipeRequestCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.CancelRemoteWipeRequestCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/RemoveDevice", 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 void RemoveDevice(string id) { - this.Invoke("RemoveDevice", new object[] { - id}); - } - - /// - public System.IAsyncResult BeginRemoveDevice(string id, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("RemoveDevice", new object[] { - id}, callback, asyncState); - } - - /// - public void EndRemoveDevice(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void RemoveDeviceAsync(string id) { - this.RemoveDeviceAsync(id, null); - } - - /// - public void RemoveDeviceAsync(string id, object userState) { - if ((this.RemoveDeviceOperationCompleted == null)) { - this.RemoveDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveDeviceOperationCompleted); - } - this.InvokeAsync("RemoveDevice", new object[] { - id}, this.RemoveDeviceOperationCompleted, userState); - } - - private void OnRemoveDeviceOperationCompleted(object arg) { - if ((this.RemoveDeviceCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.RemoveDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - /// public new void CancelAsync(object userState) { base.CancelAsync(userState); } } - - - - - - - - - - - - - - - - + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void WipeDataFromDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CancelRemoteWipeRequestCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void RemoveDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CheckAccountCredentialsCompletedEventHandler(object sender, CheckAccountCredentialsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CheckAccountCredentialsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4129,11 +4124,11 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ExtendToExchangeOrganizationCompletedEventHandler(object sender, ExtendToExchangeOrganizationCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ExtendToExchangeOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4155,11 +4150,11 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreateMailEnableUserCompletedEventHandler(object sender, CreateMailEnableUserCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CreateMailEnableUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4181,11 +4176,11 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreateOrganizationOfflineAddressBookCompletedEventHandler(object sender, CreateOrganizationOfflineAddressBookCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CreateOrganizationOfflineAddressBookCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4207,15 +4202,15 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateOrganizationOfflineAddressBookCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetOABVirtualDirectoryCompletedEventHandler(object sender, GetOABVirtualDirectoryCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetOABVirtualDirectoryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4237,11 +4232,11 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteOrganizationCompletedEventHandler(object sender, DeleteOrganizationCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4263,15 +4258,15 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetOrganizationStorageLimitsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetMailboxesStatisticsCompletedEventHandler(object sender, GetMailboxesStatisticsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetMailboxesStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4293,15 +4288,15 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddAuthoritativeDomainCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetAuthoritativeDomainsCompletedEventHandler(object sender, GetAuthoritativeDomainsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetAuthoritativeDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4323,15 +4318,15 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteAuthoritativeDomainCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreateMailboxCompletedEventHandler(object sender, CreateMailboxCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CreateMailboxCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4353,19 +4348,19 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteMailboxCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DisableMailboxCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetMailboxGeneralSettingsCompletedEventHandler(object sender, GetMailboxGeneralSettingsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetMailboxGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4387,15 +4382,15 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetMailboxGeneralSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetMailboxMailFlowSettingsCompletedEventHandler(object sender, GetMailboxMailFlowSettingsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetMailboxMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4417,15 +4412,15 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetMailboxMailFlowSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetMailboxAdvancedSettingsCompletedEventHandler(object sender, GetMailboxAdvancedSettingsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetMailboxAdvancedSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4447,15 +4442,15 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetMailboxAdvancedSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetMailboxEmailAddressesCompletedEventHandler(object sender, GetMailboxEmailAddressesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetMailboxEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4477,23 +4472,23 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetMailboxEmailAddressesCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetMailboxPrimaryEmailAddressCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetMailboxPermissionsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetMailboxPermissionsCompletedEventHandler(object sender, GetMailboxPermissionsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetMailboxPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4515,11 +4510,11 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetMailboxStatisticsCompletedEventHandler(object sender, GetMailboxStatisticsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetMailboxStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4541,19 +4536,19 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreateContactCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteContactCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetContactGeneralSettingsCompletedEventHandler(object sender, GetContactGeneralSettingsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetContactGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4575,15 +4570,15 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetContactGeneralSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetContactMailFlowSettingsCompletedEventHandler(object sender, GetContactMailFlowSettingsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetContactMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4605,23 +4600,23 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetContactMailFlowSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreateDistributionListCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteDistributionListCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDistributionListGeneralSettingsCompletedEventHandler(object sender, GetDistributionListGeneralSettingsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetDistributionListGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4643,15 +4638,15 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetDistributionListGeneralSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDistributionListMailFlowSettingsCompletedEventHandler(object sender, GetDistributionListMailFlowSettingsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetDistributionListMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4673,15 +4668,15 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetDistributionListMailFlowSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDistributionListEmailAddressesCompletedEventHandler(object sender, GetDistributionListEmailAddressesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetDistributionListEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4703,23 +4698,23 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetDistributionListEmailAddressesCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetDistributionListPrimaryEmailAddressCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetDistributionListPermissionsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDistributionListPermissionsCompletedEventHandler(object sender, GetDistributionListPermissionsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetDistributionListPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4741,27 +4736,27 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreatePublicFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeletePublicFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void EnableMailPublicFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DisableMailPublicFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPublicFolderGeneralSettingsCompletedEventHandler(object sender, GetPublicFolderGeneralSettingsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetPublicFolderGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4783,15 +4778,15 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetPublicFolderGeneralSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPublicFolderMailFlowSettingsCompletedEventHandler(object sender, GetPublicFolderMailFlowSettingsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetPublicFolderMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4813,15 +4808,15 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetPublicFolderMailFlowSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPublicFolderEmailAddressesCompletedEventHandler(object sender, GetPublicFolderEmailAddressesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetPublicFolderEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4843,19 +4838,19 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetPublicFolderEmailAddressesCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetPublicFolderPrimaryEmailAddressCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPublicFoldersStatisticsCompletedEventHandler(object sender, GetPublicFoldersStatisticsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetPublicFoldersStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4877,11 +4872,11 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPublicFoldersRecursiveCompletedEventHandler(object sender, GetPublicFoldersRecursiveCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetPublicFoldersRecursiveCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4903,11 +4898,11 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPublicFolderSizeCompletedEventHandler(object sender, GetPublicFolderSizeCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetPublicFolderSizeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4929,15 +4924,15 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreateOrganizationActiveSyncPolicyCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetActiveSyncPolicyCompletedEventHandler(object sender, GetActiveSyncPolicyCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetActiveSyncPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4959,15 +4954,15 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetActiveSyncPolicyCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetMobileDevicesCompletedEventHandler(object sender, GetMobileDevicesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetMobileDevicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4989,11 +4984,11 @@ namespace WebsitePanel.Providers.Exchange { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetMobileDeviceCompletedEventHandler(object sender, GetMobileDeviceCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetMobileDeviceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5013,16 +5008,4 @@ namespace WebsitePanel.Providers.Exchange { } } } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void WipeDataFromDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void CancelRemoteWipeRequestCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] - public delegate void RemoveDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); } diff --git a/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServer.asmx.cs index 3903594f..04617336 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServer.asmx.cs @@ -896,12 +896,12 @@ namespace WebsitePanel.Server [WebMethod, SoapHeader("settings")] public void SetPublicFolderGeneralSettings(string folder, string newFolderName, - string[] authorAccounts, bool hideFromAddressBook) + bool hideFromAddressBook, ExchangeAccount[] accounts) { try { LogStart("SetPublicFolderGeneralSettings"); - ES.SetPublicFolderGeneralSettings(folder, newFolderName, authorAccounts, hideFromAddressBook); + ES.SetPublicFolderGeneralSettings(folder, newFolderName, hideFromAddressBook, accounts); LogEnd("SetPublicFolderGeneralSettings"); } catch (Exception ex) diff --git a/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj b/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj index 904a5b5b..71d04878 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj @@ -224,7 +224,7 @@ False False - 9003 + 9004 / diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/WebsitePanel.Portal.Ecommerce.Modules.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/WebsitePanel.Portal.Ecommerce.Modules.csproj index d171e135..cf0ab446 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/WebsitePanel.Portal.Ecommerce.Modules.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/WebsitePanel.Portal.Ecommerce.Modules.csproj @@ -18,6 +18,7 @@ v4.0 + false true @@ -111,42 +112,36 @@ BillingCycles.ascx - ASPXCodeBehind BillingCycles.ascx BillingCyclesAddCycle.ascx - ASPXCodeBehind BillingCyclesAddCycle.ascx BillingCyclesEditCycle.ascx - ASPXCodeBehind BillingCyclesEditCycle.ascx Categories.ascx - ASPXCodeBehind Categories.ascx CategoriesAddCategory.ascx - ASPXCodeBehind CategoriesAddCategory.ascx CategoriesEditCategory.ascx - ASPXCodeBehind CategoriesEditCategory.ascx @@ -158,12 +153,8 @@ ASPXCodeBehind - - ASPXCodeBehind - - - ASPXCodeBehind - + + @@ -190,175 +181,150 @@ CustomerPaymentProfile.ascx - ASPXCodeBehind CustomerPaymentProfile.ascx CustomersInvoices.ascx - ASPXCodeBehind CustomersInvoices.ascx CustomersInvoicesViewInvoice.ascx - ASPXCodeBehind CustomersInvoicesViewInvoice.ascx CustomersPayments.ascx - ASPXCodeBehind CustomersPayments.ascx CustomersServices.ascx - ASPXCodeBehind CustomersServices.ascx CustomersServicesUpgradeService.ascx - ASPXCodeBehind CustomersServicesUpgradeService.ascx CustomersServicesViewService.ascx - ASPXCodeBehind CustomersServicesViewService.ascx DomainNames.ascx - ASPXCodeBehind DomainNames.ascx DomainNamesAddDomain.ascx - ASPXCodeBehind DomainNamesAddDomain.ascx DomainNamesEditDomain.ascx - ASPXCodeBehind DomainNamesEditDomain.ascx DomainRegistrarDirecti.ascx - ASPXCodeBehind DomainRegistrarDirecti.ascx DomainRegistrarEnom.ascx - ASPXCodeBehind DomainRegistrarEnom.ascx EcommerceSystemSettings.ascx - ASPXCodeBehind EcommerceSystemSettings.ascx HostingAddons.ascx - ASPXCodeBehind HostingAddons.ascx HostingAddonsAddAddon.ascx - ASPXCodeBehind HostingAddonsAddAddon.ascx HostingAddonsEditAddon.ascx - ASPXCodeBehind HostingAddonsEditAddon.ascx HostingPlans.ascx - ASPXCodeBehind HostingPlans.ascx HostingPlansAddPlan.ascx - ASPXCodeBehind HostingPlansAddPlan.ascx HostingPlansEditPlan.ascx - ASPXCodeBehind HostingPlansEditPlan.ascx NotificationNewInvoice.ascx - ASPXCodeBehind NotificationNewInvoice.ascx NotificationPaymentReceived.ascx - ASPXCodeBehind NotificationPaymentReceived.ascx NotificationServiceActivated.ascx - ASPXCodeBehind NotificationServiceActivated.ascx NotificationServiceCancelled.ascx - ASPXCodeBehind NotificationServiceCancelled.ascx NotificationServiceSuspended.ascx - ASPXCodeBehind NotificationServiceSuspended.ascx OrderFailed.ascx - ASPXCodeBehind OrderFailed.ascx @@ -372,56 +338,48 @@ PaymentMethod2Checkout.ascx - ASPXCodeBehind PaymentMethod2Checkout.ascx PaymentMethodCreditCard.ascx - ASPXCodeBehind PaymentMethodCreditCard.ascx PaymentMethodOffline.ascx - ASPXCodeBehind PaymentMethodOffline.ascx PaymentMethodPayPalAccount.ascx - ASPXCodeBehind PaymentMethodPayPalAccount.ascx 2CO_Payment.ascx - ASPXCodeBehind 2CO_Payment.ascx CreditCard_Payment.ascx - ASPXCodeBehind CreditCard_Payment.ascx Offline_Payment.ascx - ASPXCodeBehind Offline_Payment.ascx PPAccount_Payment.ascx - ASPXCodeBehind PPAccount_Payment.ascx @@ -435,35 +393,30 @@ DomainName_ServiceDetails.ascx - ASPXCodeBehind DomainName_ServiceDetails.ascx HostingAddon_ServiceDetails.ascx - ASPXCodeBehind HostingAddon_ServiceDetails.ascx HostingPlan_Brief.ascx - ASPXCodeBehind HostingPlan_Brief.ascx HostingPlan_Highlights.ascx - ASPXCodeBehind HostingPlan_Highlights.ascx HostingPlan_ServiceDetails.ascx - ASPXCodeBehind HostingPlan_ServiceDetails.ascx @@ -471,28 +424,24 @@ ProvisioningSettingsEdit.ascx - ASPXCodeBehind ProvisioningSettingsEdit.ascx QuickSignup.ascx - ASPXCodeBehind QuickSignup.ascx OrderComplete.ascx - ASPXCodeBehind OrderComplete.ascx OrderCheckout.ascx - ASPXCodeBehind OrderCheckout.ascx @@ -504,119 +453,102 @@ CatalogBreadCrumb.ascx - ASPXCodeBehind CatalogBreadCrumb.ascx StorefrontMenu.ascx - ASPXCodeBehind StorefrontMenu.ascx StorefrontOrderProduct.ascx - ASPXCodeBehind StorefrontOrderProduct.ascx StorefrontViewCategory.ascx - ASPXCodeBehind StorefrontViewCategory.ascx StorefrontWelcome.ascx - ASPXCodeBehind StorefrontWelcome.ascx StorefrontWelcomeEdit.ascx - ASPXCodeBehind StorefrontWelcomeEdit.ascx 2Checkout_Settings.ascx - ASPXCodeBehind 2Checkout_Settings.ascx AuthorizeNet_Settings.ascx - ASPXCodeBehind AuthorizeNet_Settings.ascx OfflinePayment_Settings.ascx - ASPXCodeBehind OfflinePayment_Settings.ascx PayPalPro_Settings.ascx - ASPXCodeBehind PayPalPro_Settings.ascx PayPalStandard_Settings.ascx - ASPXCodeBehind PayPalStandard_Settings.ascx Taxations.ascx - ASPXCodeBehind Taxations.ascx TaxationsAddTax.ascx - ASPXCodeBehind TaxationsAddTax.ascx TaxationsEditTax.ascx - ASPXCodeBehind TaxationsEditTax.ascx TermsAndConditions.ascx - ASPXCodeBehind TermsAndConditions.ascx TermsAndConditionsEdit.ascx - ASPXCodeBehind TermsAndConditionsEdit.ascx AddonProducts.ascx - ASPXCodeBehind AddonProducts.ascx @@ -633,140 +565,120 @@ ChoosePaymentMethod.ascx - ASPXCodeBehind ChoosePaymentMethod.ascx CreateUserAccount.ascx - ASPXCodeBehind CreateUserAccount.ascx CustomerInvoiceTemplated.ascx - ASPXCodeBehind CustomerInvoiceTemplated.ascx DomainNameBillingCycles.ascx - ASPXCodeBehind DomainNameBillingCycles.ascx EmailNotificationEditor.ascx - ASPXCodeBehind EmailNotificationEditor.ascx HostingAddonOneTimeFee.ascx - ASPXCodeBehind HostingAddonOneTimeFee.ascx HostingPlanBillingCycles.ascx - ASPXCodeBehind HostingPlanBillingCycles.ascx HostingPlanQuotas.ascx - ASPXCodeBehind HostingPlanQuotas.ascx LoginUserAccount.ascx - ASPXCodeBehind LoginUserAccount.ascx ManualPaymentAdd.ascx - ASPXCodeBehind ManualPaymentAdd.ascx PlanDomainOption.ascx - ASPXCodeBehind PlanDomainOption.ascx PlanHostingAddons.ascx - ASPXCodeBehind PlanHostingAddons.ascx ProductHighlights.ascx - ASPXCodeBehind ProductHighlights.ascx QuickHostingAddon.ascx - ASPXCodeBehind QuickHostingAddon.ascx QuickHostingPlanCycles.ascx - ASPXCodeBehind QuickHostingPlanCycles.ascx QuickHostingPlans.ascx - ASPXCodeBehind QuickHostingPlans.ascx PathBreadCrumb.ascx - ASPXCodeBehind PathBreadCrumb.ascx ProductCategories.ascx - ASPXCodeBehind ProductCategories.ascx UserAccountDetails.ascx - ASPXCodeBehind UserAccountDetails.ascx ViewProductDetails.ascx - ASPXCodeBehind ViewProductDetails.ascx diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx index 825c938c..bc66a3a9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx @@ -7,6 +7,7 @@ <%@ Register Src="UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> <%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %> <%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> +<%@ Register src="UserControls/AccountsListWithPermissions.ascx" tagname="AccountsListWithPermissions" tagprefix="wsp" %> @@ -48,17 +49,20 @@
     
     
    - + + +
     
     

    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx.cs index 6ba3637f..0be3addb 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx.cs @@ -30,6 +30,9 @@ using System; using WebsitePanel.Providers.HostedSolution; using WebsitePanel.EnterpriseServer; using Microsoft.Security.Application; +using System.Collections.Generic; +using System.Text; +using System.Reflection; namespace WebsitePanel.Portal.ExchangeServer { @@ -65,15 +68,33 @@ namespace WebsitePanel.Portal.ExchangeServer // bind form txtName.Text = folder.Name; chkHideAddressBook.Checked = folder.HideFromAddressBook; - - authors.SetAccounts(folder.AuthorsAccounts); + List list = new List(); + + foreach (ExchangeAccount ex in folder.Accounts) + { + try + { + if (ex != null) + { + list.Add(ex); + + } + } + catch (Exception) + { + continue; + } + } + + ExchangeAccount[] accounts = list.ToArray(); + allAccounts.SetAccounts(accounts); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_GET_PFOLDER_SETTINGS", ex); + messageBox.ShowErrorMessage("EXCHANGE_GET_PFOLDER_SETTINGS", ex); } } - + private void SaveSettings() { if (!Page.IsValid) @@ -81,26 +102,27 @@ namespace WebsitePanel.Portal.ExchangeServer try { - int result = ES.Services.ExchangeServer.SetPublicFolderGeneralSettings( + int result = ES.Services.ExchangeServer.SetPublicFolderGeneralSettings( PanelRequest.ItemID, PanelRequest.AccountID, txtName.Text, chkHideAddressBook.Checked, - - authors.GetAccounts()); - + allAccounts.GetAccounts()); + if (result < 0) { messageBox.ShowResultMessage(result); return; } - messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_PFOLDER_SETTINGS"); + messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_PFOLDER_SETTINGS"); + + // folder name + string origName = litDisplayName.Text; + origName = origName.Substring(0, origName.LastIndexOf("\\")); - // folder name - string origName = litDisplayName.Text; - origName = origName.Substring(0, origName.LastIndexOf("\\")); - litDisplayName.Text = AntiXss.HtmlEncode(origName + txtName.Text); + + BindSettings(); } catch (Exception ex) { diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx.designer.cs index 49666dc3..124bd704 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangePublicFolderGeneralSettings.ascx.designer.cs @@ -1,34 +1,186 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.42 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ namespace WebsitePanel.Portal.ExchangeServer { + public partial class ExchangePublicFolderGeneralSettings { - protected WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - protected WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; - protected WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; - protected System.Web.UI.WebControls.Image Image1; - protected System.Web.UI.WebControls.Localize locTitle; - protected System.Web.UI.WebControls.Literal litDisplayName; - protected WebsitePanel.Portal.ExchangeServer.UserControls.PublicFolderTabs tabs; - protected WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; - protected System.Web.UI.WebControls.Localize locName; - protected System.Web.UI.WebControls.TextBox txtName; - protected System.Web.UI.WebControls.RequiredFieldValidator valDisplayName; - protected System.Web.UI.WebControls.Button btnMailEnable; - protected System.Web.UI.WebControls.Button btnMailDisable; - protected System.Web.UI.WebControls.Localize locAuthors; - protected WebsitePanel.Portal.ExchangeServer.UserControls.AccountsList authors; - protected System.Web.UI.WebControls.CheckBox chkHideAddressBook; - protected System.Web.UI.WebControls.Button btnSave; - protected System.Web.UI.WebControls.ValidationSummary ValidationSummary1; - protected System.Web.UI.WebControls.Localize FormComments; + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// litDisplayName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Literal litDisplayName; + + /// + /// tabs control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.PublicFolderTabs tabs; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// locName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locName; + + /// + /// txtName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtName; + + /// + /// valDisplayName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valDisplayName; + + /// + /// btnMailEnable control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnMailEnable; + + /// + /// btnMailDisable control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnMailDisable; + + /// + /// locAllAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locAllAccounts; + + /// + /// allAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.AccountsListWithPermissions allAccounts; + + /// + /// chkHideAddressBook control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkHideAddressBook; + + /// + /// btnSave control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnSave; + + /// + /// ValidationSummary1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ValidationSummary ValidationSummary1; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; } } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx new file mode 100644 index 00000000..a0e10524 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx @@ -0,0 +1,152 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AccountsListWithPermissions.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeServer.UserControls.AccountsListWithPermissions" %> +<%@ Register Src="../../UserControls/PopupHeader.ascx" TagName="PopupHeader" TagPrefix="wsp" %> + + + + +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx.cs new file mode 100644 index 00000000..0f7f3f6c --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx.cs @@ -0,0 +1,320 @@ +// Copyright (c) 2011, 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. + +using System; +using System.Collections.Generic; +using System.Web.UI; +using System.Web.UI.WebControls; +using WebsitePanel.Providers.HostedSolution; +using System.Data; + +namespace WebsitePanel.Portal.ExchangeServer.UserControls +{ + public partial class AccountsListWithPermissions : WebsitePanelControlBase + { + private enum SelectedState + { + All, + Selected, + Unselected + } + + public bool EnableMailboxOnly + { + get {return ViewState["EnableMailboxOnly"] != null ? (bool)ViewState["EnableMailboxOnly"]: false; } + set { ViewState["EnableMailboxOnly"] = value; } + } + + public bool MailboxesEnabled + { + get { return ViewState["MailboxesEnabled"] != null ? (bool)ViewState["MailboxesEnabled"] : false; } + set { ViewState["MailboxesEnabled"] = value; } + } + + public bool ContactsEnabled + { + get { return ViewState["ContactsEnabled"] != null ? (bool)ViewState["ContactsEnabled"] : false; } + set { ViewState["ContactsEnabled"] = value; } + } + + public bool DistributionListsEnabled + { + get { return ViewState["DistributionListsEnabled"] != null ? (bool)ViewState["DistributionListsEnabled"] : false; } + set { ViewState["DistributionListsEnabled"] = value; } + } + + public int ExcludeAccountId + { + get { return PanelRequest.AccountID; } + } + + public void SetAccounts(ExchangeAccount[] accounts) + { + BindAccounts(accounts, false); + } + + public ExchangeAccount[] GetAccounts() + { + // get selected accounts + List selectedAccounts = GetGridViewAccounts(gvAccounts, SelectedState.All); + + List accountNames = new List(); + foreach (ExchangeAccount account in selectedAccounts) + { + accountNames.Add(account); + } + ExchangeAccount[] accounts = accountNames.ToArray(); + return accounts; + } + + protected void Page_Load(object sender, EventArgs e) + { + + // toggle controls + if (!IsPostBack) + { + chkIncludeMailboxes.Visible = chkIncludeRooms.Visible = chkIncludeEquipment.Visible = MailboxesEnabled; + chkIncludeMailboxes.Checked = chkIncludeRooms.Checked = chkIncludeEquipment.Checked = MailboxesEnabled; + + if (EnableMailboxOnly) + { + chkIncludeRooms.Checked = false; + chkIncludeRooms.Visible = false; + chkIncludeEquipment.Checked = false; + chkIncludeEquipment.Visible = false; + } + + chkIncludeContacts.Visible = ContactsEnabled; + chkIncludeContacts.Checked = ContactsEnabled; + chkIncludeLists.Visible = DistributionListsEnabled; + chkIncludeLists.Checked = DistributionListsEnabled; + } + + // register javascript + if (!Page.ClientScript.IsClientScriptBlockRegistered("SelectAllCheckboxes")) + { + string script = @" function SelectAllCheckboxes(box) + { + var state = box.checked; + var elm = box.parentElement.parentElement.parentElement.parentElement.getElementsByTagName(""INPUT""); + for(i = 0; i < elm.length; i++) + if(elm[i].type == ""checkbox"" && elm[i].id != box.id && elm[i].checked != state && !elm[i].disabled) + elm[i].checked = state; + }"; + Page.ClientScript.RegisterClientScriptBlock(typeof(AccountsList), "SelectAllCheckboxes", + script, true); + } + } + + public string GetAccountImage(int accountTypeId) + { + ExchangeAccountType accountType = (ExchangeAccountType)accountTypeId; + string imgName = "mailbox_16.gif"; + if (accountType == ExchangeAccountType.Contact) + imgName = "contact_16.gif"; + else if (accountType == ExchangeAccountType.DistributionList) + imgName = "dlist_16.gif"; + else if (accountType == ExchangeAccountType.Room) + imgName = "room_16.gif"; + else if (accountType == ExchangeAccountType.Equipment) + imgName = "equipment_16.gif"; + + return GetThemedImage("Exchange/" + imgName); + } + + protected void btnAdd_Click(object sender, EventArgs e) + { + // bind all accounts + BindPopupAccounts(); + + // show modal + AddAccountsModal.Show(); + } + + protected void btnDelete_Click(object sender, EventArgs e) + { + // get selected accounts + List selectedAccounts = GetGridViewAccounts(gvAccounts, SelectedState.Unselected); + + // add to the main list + BindAccounts(selectedAccounts.ToArray(), false); + } + + protected void btnAddSelected_Click(object sender, EventArgs e) + { + // get selected accounts + List selectedAccounts = GetGridViewAccounts(gvPopupAccounts, SelectedState.Selected); + List selectedAccountsWithPermissions = new List(); + foreach (ExchangeAccount account in selectedAccounts) + { + if (account.AccountId != ExcludeAccountId) + account.PublicFolderPermission = "Reviewer"; + selectedAccountsWithPermissions.Add(account); + } + // add to the main list + BindAccounts(selectedAccountsWithPermissions.ToArray(), true); + } + + private void BindPopupAccounts() + { + ExchangeAccount[] accounts = ES.Services.ExchangeServer.SearchAccounts(PanelRequest.ItemID, + chkIncludeMailboxes.Checked, chkIncludeContacts.Checked, chkIncludeLists.Checked, + chkIncludeRooms.Checked, chkIncludeEquipment.Checked, + ddlSearchColumn.SelectedValue, txtSearchValue.Text + "%", ""); + + if (ExcludeAccountId > 0) + { + List updatedAccounts = new List(); + foreach (ExchangeAccount account in accounts) + { + if (account.AccountId != ExcludeAccountId) + account.PublicFolderPermission = "Reviewer"; + updatedAccounts.Add(account); + } + accounts = updatedAccounts.ToArray(); + } + + gvPopupAccounts.DataSource = accounts; + gvPopupAccounts.DataBind(); + } + + private void BindAccounts(ExchangeAccount[] newAccounts, bool preserveExisting) + { + // get binded addresses + List accounts = new List(); + if(preserveExisting) + accounts.AddRange(GetGridViewAccounts(gvAccounts, SelectedState.All)); + + // add new accounts + if (newAccounts != null) + { + foreach (ExchangeAccount newAccount in newAccounts) + { + // check if exists + bool exists = false; + foreach (ExchangeAccount account in accounts) + { + if (String.Compare(newAccount.AccountName, account.AccountName, true) == 0) + { + exists = true; + break; + } + } + + if (exists) + continue; + + accounts.Add(newAccount); + } + } + + gvAccounts.DataSource = accounts; + gvAccounts.DataBind(); + + btnDelete.Visible = gvAccounts.Rows.Count > 0; + } + + private List GetGridViewAccounts(GridView gv, SelectedState state) + { + List accounts = new List(); + + for (int i = 0; i < gv.Rows.Count; i++) + { + GridViewRow row = gv.Rows[i]; + CheckBox chkSelect = (CheckBox)row.FindControl("chkSelect"); + if (chkSelect == null) + continue; + + ExchangeAccount account = new ExchangeAccount(); + account.AccountType = (ExchangeAccountType)Enum.Parse(typeof(ExchangeAccountType), ((Literal)row.FindControl("litAccountType")).Text); + account.AccountName = (string)gv.DataKeys[i][0]; + account.DisplayName = ((Literal)row.FindControl("litDisplayName")).Text; + account.PrimaryEmailAddress = ((Literal)row.FindControl("litPrimaryEmailAddress")).Text; + if (gv != gvPopupAccounts) + { + DropDownList ddlPermissions = (DropDownList)row.FindControl("ddlPermissions"); + //HiddenField PermissionLabel = (HiddenField)row.FindControl("PermissionLabel"); + //account.PublicFolderPermission = PermissionLabel.Value; + account.PublicFolderPermission = ddlPermissions.SelectedValue; + } + if(state == SelectedState.All || + (state == SelectedState.Selected && chkSelect.Checked) || + (state == SelectedState.Unselected && !chkSelect.Checked)) + accounts.Add(account); + } + return accounts; + } + + protected void chkIncludeMailboxes_CheckedChanged(object sender, EventArgs e) + { + BindPopupAccounts(); + } + + protected void cmdSearch_Click(object sender, ImageClickEventArgs e) + { + BindPopupAccounts(); + } + + protected void gvAccounts_RowDataBound(object sender, GridViewRowEventArgs e) + { + if (e.Row.RowType == DataControlRowType.DataRow) + { + + DropDownList ddlPermissions = (DropDownList)e.Row.FindControl("ddlPermissions"); + HiddenField PermissionLabel = (HiddenField)e.Row.FindControl("PermissionLabel"); + + ExchangeAccount dRow = (ExchangeAccount)e.Row.DataItem as ExchangeAccount; + ListItem itm = new ListItem(dRow.PublicFolderPermission, dRow.PublicFolderPermission); + + if (ddlPermissions.Items.Contains(itm)) + { + PermissionLabel.Value = dRow.PublicFolderPermission; + ddlPermissions.SelectedValue = dRow.PublicFolderPermission; + } + else + { + PermissionLabel.Value = dRow.PublicFolderPermission; + ddlPermissions.Items.Add(itm); + ddlPermissions.SelectedValue = dRow.PublicFolderPermission; + ddlPermissions.DataBind(); + } + + } + } + + protected void ddlPermissions_SelectedIndexChanged(object sender, EventArgs e) + { + DropDownList ddlCurrentDropDownList = (DropDownList)sender; + GridViewRow grdrDropDownRow = ((GridViewRow)ddlCurrentDropDownList.Parent.Parent); + + ExchangeAccount ex = (ExchangeAccount)grdrDropDownRow.DataItem as ExchangeAccount; + if (ex != null) + ex.PublicFolderPermission = ddlCurrentDropDownList.SelectedValue; + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx.designer.cs new file mode 100644 index 00000000..4a6c1fc9 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx.designer.cs @@ -0,0 +1,213 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.ExchangeServer.UserControls { + + + public partial class AccountsListWithPermissions { + + /// + /// AccountsUpdatePanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.UpdatePanel AccountsUpdatePanel; + + /// + /// btnAdd control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAdd; + + /// + /// btnDelete control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnDelete; + + /// + /// gvAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvAccounts; + + /// + /// AddAccountsPanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel AddAccountsPanel; + + /// + /// headerAddAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize headerAddAccounts; + + /// + /// AddAccountsUpdatePanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.UpdatePanel AddAccountsUpdatePanel; + + /// + /// locIncludeSearch control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locIncludeSearch; + + /// + /// chkIncludeMailboxes control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkIncludeMailboxes; + + /// + /// chkIncludeRooms control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkIncludeRooms; + + /// + /// chkIncludeEquipment control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkIncludeEquipment; + + /// + /// chkIncludeContacts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkIncludeContacts; + + /// + /// chkIncludeLists control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkIncludeLists; + + /// + /// SearchPanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel SearchPanel; + + /// + /// ddlSearchColumn control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.DropDownList ddlSearchColumn; + + /// + /// txtSearchValue control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSearchValue; + + /// + /// cmdSearch control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ImageButton cmdSearch; + + /// + /// gvPopupAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvPopupAccounts; + + /// + /// btnAddSelected control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAddSelected; + + /// + /// btnCancelAdd control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnCancelAdd; + + /// + /// btnAddAccountsFake control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAddAccountsFake; + + /// + /// AddAccountsModal control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::AjaxControlToolkit.ModalPopupExtender AddAccountsModal; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/AccountsListWithPermissions.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/AccountsListWithPermissions.ascx.resx new file mode 100644 index 00000000..624c5b9d --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/AccountsListWithPermissions.ascx.resx @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Add... + + + Add Accounts + + + Cancel + + + Delete + + + Contacts + + + Equipment + + + Distribution Lists + + + Mailboxes + + + Rooms + + + Display Name + + + E-mail Address + + + The list of accounts is empty. Click "Add..." button to add accounts. + + + Display Name + + + E-mail Address + + + No accounts found. + + + Exchange Address Book + + + Include in search: + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj index dda50430..969f4bfb 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj @@ -75,15 +75,15 @@ - + False ..\..\..\..\Bin\WebsitePanel.EnterpriseServer.Base.dll - + False ..\..\..\..\Bin\WebsitePanel.EnterpriseServer.Client.dll - + False ..\..\..\..\Bin\WebsitePanel.Providers.Base.dll @@ -199,10 +199,17 @@ + + AccountsListWithPermissions.ascx + ASPXCodeBehind + hMailServer5_EditAccount.ascx ASPXCodeBehind + + AccountsListWithPermissions.ascx + hMailServer5_EditAccount.ascx @@ -3749,6 +3756,7 @@ + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj index 1214ebaa..8e5646ec 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj @@ -18,6 +18,7 @@ v4.0 + false true @@ -87,11 +88,11 @@ - + False ..\..\Bin\WebsitePanel.EnterpriseServer.Base.dll - + False ..\..\Bin\WebsitePanel.EnterpriseServer.Client.dll From 90219f284fd72055e213afd4ce4c832a3e052a9a Mon Sep 17 00:00:00 2001 From: administrator Date: Sat, 9 Jun 2012 08:19:37 -0400 Subject: [PATCH 21/78] Fix issue in install_db.sql where it was not properly creating Stored Procedures UpdateServiceProperties and GetDNSRecordsTotal in Version 1.2.2.1 --- WebsitePanel/Database/install_db.sql | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index 409346a2..b26e034d 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -35694,7 +35694,7 @@ BEGIN GR.RecordName FROM GlobalDNSRecords AS GR WHERE GR.PackageID = @TmpPackageID - AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records) + AND GR.RecordType COLLATE DATABASE_DEFAULT + GR.RecordName COLLATE DATABASE_DEFAULT NOT IN (SELECT RecordType + RecordName FROM @Records) SET @ParentPackageID = NULL @@ -35722,7 +35722,7 @@ SELECT GR.RecordName FROM GlobalDNSRecords AS GR WHERE GR.ServerID = @ServerID -AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records) +AND GR.RecordType COLLATE DATABASE_DEFAULT + GR.RecordName COLLATE DATABASE_DEFAULT NOT IN (SELECT RecordType + RecordName FROM @Records) -- select SERVICES DNS records @@ -35736,7 +35736,7 @@ SELECT GR.RecordName FROM GlobalDNSRecords AS GR WHERE GR.ServiceID IN (SELECT ServiceID FROM PackageServices WHERE PackageID = @PackageID) -AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records) +AND GR.RecordType COLLATE DATABASE_DEFAULT + GR.RecordName COLLATE DATABASE_DEFAULT NOT IN (SELECT RecordType + RecordName FROM @Records) SELECT @@ -35795,6 +35795,8 @@ RETURN + + @@ -44088,8 +44090,8 @@ EXEC sp_xml_preparedocument @idoc OUTPUT, @xml -- Execute a SELECT statement that uses the OPENXML rowset provider. DELETE FROM ServiceProperties -WHERE ServiceID = @ServiceID -AND PropertyName IN +WHERE ServiceID = @ServiceID +AND PropertyName COLLATE DATABASE_DEFAULT IN ( SELECT PropertyName FROM OPENXML(@idoc, '/properties/property', 1) From 679431519847d67e75d2a0a97ef9de5ba395c813 Mon Sep 17 00:00:00 2001 From: robvde Date: Thu, 21 Jun 2012 11:54:09 +0400 Subject: [PATCH 22/78] Latest Exchange 2010 SP2 libraries --- .../Microsoft/Microsoft.Exchange.Common.dll | Bin 100984 -> 101184 bytes .../Microsoft.Exchange.Data.Directory.dll | Bin 3435144 -> 3435344 bytes .../Microsoft.Exchange.Data.Storage.dll | Bin 5204808 -> 5204808 bytes .../Microsoft/Microsoft.Exchange.Data.dll | Bin 879224 -> 879416 bytes .../Microsoft.Exchange.Diagnostics.dll | Bin 813696 -> 817992 bytes ...rosoft.Exchange.Extensibility.Internal.dll | Bin 436888 -> 437088 bytes .../Microsoft/Microsoft.Exchange.Net.dll | Bin 2144880 -> 2149176 bytes 7 files changed, 0 insertions(+), 0 deletions(-) diff --git a/WebsitePanel/Lib/References/Microsoft/Microsoft.Exchange.Common.dll b/WebsitePanel/Lib/References/Microsoft/Microsoft.Exchange.Common.dll index f57cfe43cb3d3dec28c62fef771a06daeefddf12..a3d1e823721e3b3c86689043118f8926a539add7 100644 GIT binary patch delta 2784 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

    =xSP^Nk`YxS#9_S73J4EpK~`sxk( z>J9d|hx!_f1nLnI+&#?qyev?Ukl?Bwdp6D?J5+CaVR~G>>7IHs3Nw85X87vO@YS2q z;~ws7FdC>wNO1QE-_s4$BP6)0$3B#E%?{O@S(q7DZ>Fc-timi`y;;6`vwZbt^|(j+ z8eATzM@Vq@DBrUYs7FX}Rgb+j=j%IEZ+2mJT)o+zdUFbMeD&t|>do=ho73YS?Q3vF zpdKN?-D7;uD+Bci39jm~U+BECL-pns=El{V>#1iIEMGm#SI_d*vwGZPeGRS()FULg zdz|lib)X(0!BxF^cy%5P4634U|MQk-zJ#WKuYP3b73TT+%=7h`*W(`VOS&ddgOK3f zVKhS&mCylfvdV`FL&f^_>`N7fyn`1jg-X$7|8H}l!h;uI_GQ5R3qNKWp9+Ok#&(9H zr?g6(Jl54h)n{EL>t9A#|0>S9O4iQ>U8SIJmUPFM*dw(V0%PoHeev-BmHf0mIB-VpsLmXG0b(+{Dz=rkDT>-RNMspaJ3UCts!N7vu{5fe6f z!}>NP@U}=dp(}*S$)_W@KW3h^HMnd>t>{YJcLZ0b%`&K@4l_MwR ztlQ|s!EuE)`*)b4wQpz03Bh~Oz5@U}S0O>FvmB>c&_`4KM}Dds)`uBZj!xXm5Mf%1{IK(I zst!qJ*D|^!#JU90QLVTXBC?+VV^mxma#(8b^%#!BpON}x>g3Eg&pl(@$(O4erCKg1 z;GRBQxs%!lCzMX?3GFV{H(&)3_k>;xWRyQ}e~|9$)cqm4 zuUGeax^GbTjdX9Io3-j%aKV1T_S8xYia|R2vMkvz#2!@GV-&*;s`jfCU0cm_YhOX+utq>YqaoKDajOewS2 zPb`@*!r$FbM^gn#W}jx#>{{m>kJ)3$fL>#S$&1PMZ+2oG+%2TTsStSBcOnZ$?;uc; zLQq)xEB_U1lmST~{&Mhec-Z-0u%qYN)1bYq8@y$3vuK9!_?Jv)lfMzZPG2+fB8zH5YTr;jnh zhel|?i_o@;7r>*I*nAtU1Y={}gx_KZcLd)6*Na#^hVM&czwwc%M*N=z&OhuoW^%>$ z8?ObvUr;AIvfh4UR7P2QR>_e)6YoX8*7mKGdW+nZ6={49sb5#FUw13VLsQuo$%gvM zzGZ2<`clS#s>a*jjFrB7uhgv5)$QvWZe^AhA#A=z*?P%VW^F2%027b3Ks4mGipb1+yplF-XrCgqD;paiS5$nbcB%Z~&XDYlxWZ`4+6M>Gg>&kR5?o zgiFL*T>~b4WBiGP{{3V8iG=lCt}KUS5W@h z{n7YwSeqw`6AATa&rAJjWYeEW=s$jpKatRXlJ6hfUNk%gVFyAL^{eg#AGyGnN+jgk z9r%mZ{bJ>z)4_%U57u)$Sd;N!g~fyQ5)W2CJXp){U}eICbp{Vs4Ln!_@L)m5gXI|y z7F#@6I`Lp3#DirG4;CprSaR@S0YOIl=Rn}h3hcD)0;qGkH?p&mvG0RDJ+!MS9AK7CQ@$x!xltvUjUecHPZb6keO^g;|c1ucT<`Np?MY^-@Hou3V3`8H}rga(1KY zl@sl3Txf`cm@+y0V<4D=!|^^&ouQ|$5ARNmpPrh=yNS4VeKqg{82{=jtVm>65KGRt zAOMc<-g#1+^)GPp%y%qyT{Nr2%QYuvb2n#lHxH+aos~Rqn1oku!SCCvZ6&NM96*={ z5T^Dm^qShX7v~3^mttgXVRvfzvDz0f@$JIGX8Cj8L}#|~UZjoF_X}9ihvOu!#>sp= zBX~Upul3)-3Tmu^%i79Si0u4^R&L`ohWIQ)yoG%TjnnZubhu$&a4YI%T7K<*es4FK zwQRa-OvXWp>1wZO2fd|q=v;}Th0raKEg5)vXC|FVmi_Kod;pbGHSRFn{ya32zBY;z zUyAE5foYt&!&DnKt7nqUv8JPkB`2tv zy4t-q-YNYOi{ibt?+|(pn2eB{vI%4oZvWT;OJ(AhY#GMGOaferrHr|IONG4WkN6XUN#^y7cV;7s!Jvh4KE0$-wRQt<8{Yv8UdS5y`e|@qs_ac^ zg++B0(Ioaxtc8{FlK)3Cg+FXU$<-g18f%aV#l~9v$}-```{8m4N@_Pgz*l1W%50Rf zkV`#Hn-zb~Nk|4=0}%{cVL-X%f`)U!!g(+V6U?GI&jK5JP^nGw*AvJGew9Ri9?AEG zmueJpKL=Ry!v6CaWMe{*r&|Vb804=BK_>q?NvS%?7s0DpsS^^(FCh6y0{KUQCC6bM zgFKxOD|Db;MrZ5;Eju?N8~9tb9jN6bsA{UaQRY_KwKAnDT(zO5099cro@y&b>$h=nOPO+ z%oo*}gBubk7bRvU1#0m{1bS*QI|5J18#3@b-$DBgdvaXrELKSTIpyD=1-}>!oL%T* zqB|?-VoEy4(ZvjKPNs{|c2?6xkj;BDEDzKi+-b`RN^OZWK8RlC-m@qbfjVizeJiY=GJq2Vrji&&%&KfW~Zz8k#|2h%^adorp6b5;9@=k24|C z#DwKK&V)$Fgk?C+gh&$;md!X5A|Vr&!#EQnQ6?y)PosOu^J;l^O$J@N|KR7FMb@eP z0iSOvu73BB=fo`XZTVI3RwFe$TPaY=RZwME!;=PLU&PF>#HIhc#$op$iu zBjzh_zHh%Xf^0xby9p_QE$NsJt~A7r^!N98>YaR;-Qgg|WWSbbhxH($xqe#BYZRPT+Gx4AMVl#4H0O@%hViUcm$hqZm81VG7*RC=UID(ve>Y7OE zAVXwO>R{6txpQaq9S%meuD_p24|!$^BU~wrpB3siVEFQfUuJLp(;^7DiX(eWC6tr#sa9u)w}z&d!T!i#r$EC< zu*x6*S+G6^I}RiojPX%vYk;*nUWb|OT+cwF;zyCx8t5JgRL-v_)ZA?wV5qMIp_oAu zitD8KqGlg@`db69=*4)tFpGV9ipMS4Me9)H(DuxyFf=RKU$hPr;L`+{m%2h~3gy1G zBf044HOtlgqbisEa*>$eJ4727f;Ln7kt*RR1y1MSnIsYqR(woW+pkm{!Tc1DaUTF zTspg1Z;Qr6fR}O_yIEwId)+UFVRE&)m|XV4XmWKTCk`UNSJ>2S&m0i&-kv#-?l4zo zQ_So@OgMb{#>Uu2LCGEMOwD1C=i#l*NDw5tCe!N+vTKcj48*t3(xNg}Q zgJma3PV9^!M>u-LT!Ev{WupTJilz8+V8E~wnUaNnCnov!EIi_*0HGo9E&hfd*U zB5a2don$)<8Er0LJB(_8?J%n4M5=N@M3r@MRpudFq_;TC*M4`tKKN}2jxc14uZJDN zrsL`aJ?xNhc!(gSi`}+`O)`i?A5$7=86srolP#nYv5_LewkwXXJ&7Z%<8g#VO%awd z@?oinBTQ;Rg2PCNguN8TKkiQ?^k?l?j$)G`LPT&WH#83-#2OtJ%W4%vtdo)MJW~CA zc*2TYVpu1@C1nhgK$z!PgdlQthdA)Pr!D($=*=93@49msin>n5)j(%GN3)Wd<=F6O zFu$B@;MzJj<28NuXYg6FK8v5mPVg;vZeWh!bJx2mQ!3{-WqQkS^_6=zW%|pLH)RIO zeVZ~<%B4-2spaCP%(N++GUeP<{N&3g;xrGdQ)cZwz6%v$r=X(p|~$_yk$yiOIB+lHsFzi(^$QADxJHC$m_Y3?GxoIhNmaPGm_z%$?&XXcy=;8CmEib3|q)IU&OE2iuTW8``a($XUP>HGOXiZCSk9P5OBmo{A#Op zc&@g}u+9QO?F7SG!{-rVQK@k?Jk7LD$90Cfy~D6@Qg%u^MGEMH2 z&`~%!GMocBwE-_p*qJNJKwESR3+!1VwE`(|4D((3q`KCR-3bf3SG4#sopWxZS9viO z*kc*C|Z2yA10UBp%A?V#xPy z4%I#iHpnjl?uh_gmwG;$pW_if-Y?emr(iphbvE0XaY%Fyt7zX*i?B3R_S+}|-JQkm zuF3(0&O+DS7jQ_mqkcO^e7ka4`^%6xO4%8l*?b3wfxiO8ehfdI?LF4xcvjmpxb+y0 zIfbs$d%7_gQRuvJ&BBMYEwsmBg=zQrV)ul_I2kWh7+;v6GP=|Cjo^n}c-S|mau_AE zNl&inD0FPk+!>S2op(Lf6A)TEw|*@O5>{(q5hvd5^+@mTi506b(cVC3JGSDr+h2zl z7F1*kIr|%MR&#|coYx^F=rBy5uRViR@NxlMI^A6!P{r;VMi( z95J|27=PoMy@$~Pv0m%EPG;OLOUH4?SZXh?B6)R4=0?^6KLPn8T}-WG_P4+gb%rAh z8T;FKk)d91aS}%vGWJtVC`TGH_P;iv9Bs(hPsh-q{hLK`cBDKO7pKytcf|SXthC)tNfifh{_z_pq!Z@kT%` zwRsDg_Hi9q368lK5Q~`19jlQ3nbhH47|zEug;4-!ErM0%j*!9WXRpFotbnT`=&9=| zNiSB=_OJxrJxCYoGnSq@x25(%g0E!zv+i;v{_b6PH7=kNE#sHi6wb%B>vRm`wueXX zv=^dSDzqM(TfA#b2lhc7ybp_dFU{Cr2Gu&ueGQ<>Ke7o`{xpQR6a|4E_FYI;)4CkL z9io(}F*BJor)SSz)hWr4m6@(CaktCWpWPmVbsVOumX(_{$+bzoirJiOEySHRJ~9~D zxR>Kjy+T@dA9`ok4tf3@QrEyZAPPkI)w^1ZFw%y-8zQomi6gD7RY80;(tewGIGV(J z*#eFtervpGF!?rd9_&Pl$AkXhaW8prRCj1Equk-i-hz+8&_2c%KG&Lnh0hER7`hvj?inaVvW@*#$f)0m zp9Uept)Jja3x-?%MHo!g@Jo!T9)H3ZX;bf^JB+FBnLfAM0&au^w_YH(B}ShY`r`}@ z=6tR-`vT?U9o+idvwUv12iyn=Zv7{@9d8tcTXF3oxrI_~l;aI86auX^i@x3w^jrui zx@Y?W?g#`B65RT!s$25ZeZW(f&$VVLP*>i;t>muuxor%%5fa>bk=$4(^?dIv_J+8p z!MB=qPiHussc|`;<<9j?RhdxFXBwo)NNH`5%BW?8dPsu$cH4B6E4AA$22E&{;DQG4 zxOcV9lzx2bduUYOi!y}4EX-z>&-5lZ*CDVs?TKd6pWwU@s528^?dD0A8nD4-NsB}- zVvu{@9y>2{2!rrEmND}(RNPsUAmzT6K`vpC=MsXLf9CqIa5hONEiNVbQg~@R*iK3f zcIv<|VY*hD&gM{Tj-3aBP-Er-gTtbm=i)LYOc$(+-+UdNp5uHdnPWb*oU^V#fx+WS zmKzsVbmKD0{lSjpCe3|P?uBu=&GVrmH`g;DVh18pM=AByKq{M!VD^tM-lPsLmM(4$ zJiXI!(~@-2nNJaenNQrP!FYL7QCHE;#t!(^bca(>F2zs&i=RcT2Z4CLc;aR1Gw}4p zN7Gi;$7T`SMgAwu9MZ{kl7tiYF>=uY;Go<3n`<2%7&6Ce5&#i&4CqJ6TvOLz4 zpM(4xBJ!_~$p27WeuMH)y2_6}zi~nI`4W~*FO_9(Qd60!d1FM(`iPhfaWPj=%=tky z*?a|J_~ONq)00~RPcN4ET;ucSiI@3C70>y`nO<3e`_En$$&XRVK{p$ z`2Ivfe`bx&LNVVt8%M;HQV~pEF=k4{WFrv~b3NYzBDPv_Nkl?PY^LJ=L_&Wy3@SvX z{2+vg8CvIzF6(ieh)5F=Ynu|WDpOq|=6b#b>atEK5i1;th?w$?3W!*ul!(QYL`0$s z6#3n2OAW!0Kbdx>KUVb;#*uiHdxv4sX+MQstr(%&j4ZCrG<6(FyQ*Ktkc;G5WQeG; zG*exy)ERp=TFvT^VSNH&`-i8;0{<={ut&KFLH-3nN=-qwBnJ676^rx!cMN#BEG!Yl z4C@OZM5J(QeI`4+0+W?=Sv?s9-_6WwX6=WXq#ohB^*T0NCXb(C;0`>n!te8Vv=6Vq z;U{$YOxr^y>Jh$Mufi~I#q?9)QLP#lpE4k$=d6@G1bg)|axJ#pWG!PxC5)6Ye(e5E z(Q^y1W-7)1g|>3nqN8)w890!IB-Tm)Bsxs?DT@yBN!wZus#Rv^Y5~XH{t3s=fFt9= zXFM)~B*mp0ce65G*=sL%tibacgN^Gxv5z=)3hIq%AA}OL4%dqs)hUq|bS0#K*+mwx{^F4O*zdZdbJ(`kPOgEZC4^rdKj7H@U|!z$G^#m*Sm z&9RnDWmgr`D!8&mc(*i8NL* zLZQT+*(6SbV*OaoAo$;I-yVxS`?af zS8z;&DAy)(eJZ}K;;x*m!Gr}ai#-Z;L`v{?Fp9!zr&7onUDz~K0#P-I2rB}pKfJq2 zzRT?CPG{S5=mcZvK?=V13(_fG1#>FWtS4{akRdFeN{z>Vp5nzPHRY54`|y8u z*40QIk9_Ur-AMV&U@A2+wRX=fkd?vxGz*T*Ok2BP=S=_F1v4_GwR^J!;JI>*RO$@h z@V~=*f_CY4gj~#@OnKtkrT^pcS^8VT{DB0t2WuBh%?vj1x_0RgLU8G0a4&vR0gPC! zUHW;?-46GCo*Vity_tk}dO&K~+67Cfc>{cV=on0`9lqE@hV6<&XKLKq;nT%otQ|f{ z9Lv@YA67XoGaa5XKDMAFaO2$Jr6D-HQ)QvPG4Y3|tD9}w@MLwP@0A+PRXTfz%K4!w z7+x=rA94o%>NgPF^KGWS3?lxe-N#WQuDA#i{kAP<+S+bUQlxj$h$5v$j`dyS;^4%& zNGWFpSlYKBbX&ECCYE8;SlSPmh6vxSFQZWxF_p@WiO=(ii$hU~{eSZ$mN2H4O`!{v zI*n~6nwPiXrAJ^z15AB`ZNS~IJ50HYFkNj=+uuVJFfC$lLrc*XM&Gox#`Aa4RMY0y zQtQ8!K_gqu8)jR{dID%nr=LJX{|1ye4E`0h)e!S)bJqL5R?$GnmzT*>X>;1%G|tXG{8OW{S>Hj|v?nfi<$Dru?|B2I0 z+Qo;%p)z{6kIOG!j@MFt@sa>7Z6Ajjq5NXZHhFY?!yQ3@$~X{r1zuAYoe)it2mav| z9*x5$Yue=(e-?Cs#Qfq-!RwS|w;>AY>Jk)h;qq@N zXVt3z_5;36i@vFZHv13AjQrx`z$mKjm2a`=l2K9tva7IJpe~EHlol=DYDmuyYENF8 zK2>+>FiMvem1X}any&HqpQf5rSNhtC=7*ro4&$+>?5}JB z-EVx`I4@)W3=N0wS;(e-gyMF3i#Dhr&E$53dFO2qKlo}HunnR`pmssn1{JjpGHsHU z^NUKVpbC2^WonyT@){|HopENgkzz>c-bo`xAuMBJel#~y5mGc#N~%vuw&q5P*NckkV=>(hXsewG3cO`c^hA$Yp_ z0oA*Drl;I{Q5Gd4QicylX$;?%`F>Jr7y5qkHY@5E_3_H^;*Ag&Eecl|CbCr%WNg~C zPO5iYjORs?rGl=2X7?~mZgF*NAIJ9YpOx?+@4ONof0r&}q=aipx!W{@63%%mEVoFV zf%2_UpClzZoi@))OD%|eK8QC|~NR z?3u1k$>1JZzMGQ_`)e$hvpgVQ>5uw-oqp}UpUl;%^o5T_HC>%yY^0G~jn*UTb!67B zDP4rc#+Kp`z>;8+>|JAw{G zL>41c^S)Io$jbeHCWt2{{voP$|_=Ninxm`!0Y1xqHG!4%SCm9d3kqFeFYW+7$FpNQq5Q%~%BE(Pzi+3q*< zj!sKqmmvjZvDGi5ibloAd?Ab8YDsI(H|~yp|No*tmzU>VoiZ_d4|)iNEMloe1?iVi=PG|!L47SEDTK>L`pP- z_%@$-Yd}oM<&TABVj%Xm79t4C%5HeFteEayAknhIJVq&5Wc2aS-c6WL9riCwb~pM| zy6r*oh4Z-Y1CRQB-W)80U=DT@=U`*=xRhz8Fs3Xr(=BD*FEZ=TqB2~X7MZ5V)0upK z|Kl3Uyx)__AdvYH%9MFu${L@lVT^Sx=&&;ZH>H+O^yc<%M>L!*s6NfJcuxWwOq`Ot zgF#*nf&>HgPSXuyGGecDY)mZYwIB%VpiC|NZ{FSnOs=Bp8^5`?r@Nt$1;izOuDn9r z1yKat5Yh1ce&^i1dmwrK&-c#*({)dsI(6#QcIworDra(+wYsu;KwQ~E3%@2}FK~7R zg0jZS(EW(YyR^&dh6K+S264I_5#96Qei|uZKW%gR88!xQzvCBlY0Pbe@N|CCiz91B;&fr zO7d|g*&fj<#GtaGN3tS&H#`-|${OV^;P=4rWc&MMTlOArBQ1G4PL9>R6D>Iisnqf* z95f`kfe5)zklfK*%$nSkB|^e@ia^u*@q~o&EK@w5kT9N1#^VVI z<5^?zctXN>8S2QNOlRDnA;gjiG1$dnLlq+8B|#)YqPsXaTXi=;a<)nWGNyJIw49xR zF(=s9`Cl{vdpj6LV1W1o!d)3$ew+f<(fFVGzyE)A+w|~}FkBMJo-?Lpy}HoDQI18A zk{d7Vf4$9iz;h(JH&iS!-b)rwz76_|K(AGmm&uE`;UG!+;Na7K^JK`vT>nAn!2B1r zm09*p^t!|q2$rw#{tJ4?D(8AMTd|7yrYi-Pd$?Q(Em8H~W8%{6tvZ=lv>UwR@N3mY zvSM-q0t;x>`PaL3(bKM#>Ls8mnU!FXCY6DuxbguDCuKJQ2-#{sgZiQQ(;q0sIjr z%%b?vap8zog#*}MLXFGPg{HqJfTgBCE3zZhG*CJDR~Vc?jKNG*kaEIrqB9z@oXn94SIrCH9Yt zkPSW}J=%=|=|$*!0vGI;}#F9BAPt;i7qLoFhHox+nK=bUC5Ef+72>y8~~4wQ=0AnoamaoD*UO~+|H zMb;pK^Yd83l-;NKS$4m}A5032jSsqngo7?Q(eaf0;!2(uC}0wCi~fTd z5x0-7{{f=C;6?`ZS`5gA`+%_Pk=MNYLqrW%-2a20SvmVawhr70pKcPqDU-IbbD4Wi zu)MvoKBK#$cf(Vctbk4ibg<8}ju~2YyeE?DHR^BhlmOh|o!MYe{S7BaaLG{%Zh?5? zjOoC8Kjr|*wT3-o;0`r5qYuDQGzI3;^$z~UykgZeC@Nn5uu}B{x%{J#_$x?%CeruY zuUJ&laLY{2z70WV!)kN2vkVLs<<`dfAiBtG-hES^#F?f3Yu-x30yMwR;!i-Fc#`O+ zk%5PKrks>C`1dFXNz#b#)nYDYc5zGbCC1C z@sx|uwf~EWbhw6B;9Rn(aQG6O2}y4*9)P!f z>r0Usm->&Jf`S`!jDbCk2}k0{v1y!OxWAH3Hq?2C@khj-MY;Y2lB)j{e{$)*Y_YF% zr+X2T&*nRC>B=}OI#G_7!PnvuKr{6j2$ptkGF%Fa&@DtV_0J>go=(SwOzS@b#kJH* zsK)6XzvHzq@J<)zH|08OxWIWS`Q0?XufzU1k`z}tHzRolyR#5n06LbGMsmR z2C#_Aw4sRPhRh*HkFSI=_MV6ssAH*(n}DNz#l%=mGPOQauvNs`KDawcTo}NNI`ts; zS>&W+!+t0Z26Su-r|YZGz3fg9X*>%NQcWaYIAX+8wZ{LiPc_ic2#IQF7?yq!Abp#| z4%9e8tPy?%y593X(ps)Zm=hr(C!1R02?^tW>Bq0R7()|B!(aK3fFdDYin9B2d<>PH zb4wUkygT$T^gW5WGQ70xG3N$EJ9puaeKPv9&P_i>O6QA!HCcT&R&~{;Q1j;|&K=#x z@6a-qa_)E*sJaNE=yj>}CSaaNXfW;<2W8xkzIRRew{yUA=JjLwino)wLJTJ!UB0pk zoFjmsnNrM}>3YD5?!G99$X?Q^yC~MG#lfXu*n1Sa)Oa_raNDh1*2wB|9&SVMg)s?Y zT^c2r^$2E_;BzEc8Sps_SD^a>HrRIU&(`3a*Cxrw#!SKn;ylqN$={fy?PV-%Mb5V6 zR>qbC)}Apos$jW>X7@6_rK8Ch#)eEt*ic^y;?d(}WkyIC|7H;XcQ2lhFn)7OJRxDc zS@iSw(-RWL|0hWAulxuJLc;h|5bx(tNEn}Pi6b_2V}@N%>*4A;cQtS1{WAJwSSb7FZw=VvX=CK>CM|wARmwkT9ozw!{+> z#=qVYPe>U5uaM&$h%962|`}pzo(AB#iI$({K2uCnQ3w z5q_zVg1bk5kAxUZZ$dA@VEQ|Lt#Tg4myVbO*nj3YDTw|!iC<2Rm|&@ILCD5x%vCt7 zatADlVhCNk2jX(+S_f|MlNqb=znG`GH*JTbyMn}HKbiWM@z?$dSJDEt!n2TaN;RVo zL}c~6t6@wrI%gT%;i~*`z8&*yPEv_9 zTOe;IHg_Ru^@MBO8-?V-# z!=Y)NW1I7_fG&r0EzTFnn|Dz&)t1KISPS9?ez_$bt1u7XT`JDW+Ib-$6Be;&O00+x zsc`;s_C~boV`0t>Ch@O`<`EYE+UU2rqMehS^GHC9vziv;dB7@zGaydvMBTX5eiU7M zgwd+u(Ve*HUV^bjQ8u2l)V>KQjXUv&rwb*n@p1i%aL?J(8JOyG9~O9bz#?@TNy72R zIXg(gNmY2{b%p#8RQcnb+mMR^nQ9cLV^EFDBGtG&UX7fmoofTyp)emNJH9Zt@P>HK z=gu$N5c_YG*cRRp&&l5zp5_ZGg&7}kO>P@9UQAL|7DUB z5v{%XZ41Mz;9Vvd%@+z1(83U8hlQa6?_3^`3=8uGz*-B#%j9E)@oto-p6Kr(C}>j8_jkH`?rm4Ng0Hc8$bGYJ<5&b~8! z#;N58qc%TUM(uJQ58BGyn=fFYr|% zQ*30*a94sQq0IcitD+Z)GWF-Uy2xgh_Y|}9dy1X&IxRfK{W#YsRz|Frq91h_FCuRo zrSM(<#m3w%hTjVQ*={dupTthj!3N%U+4tp@q&K0V<;8!;6CaeEZ~8sKe4#cgRYm zSlRiubdzEdLwJ*Nbgr9btZuSWS^v6Vw6Hg`3uy44a~Lv7K5DhsC9OJYd@H5k5%eCM zdJ7NIVd*-_gNhvx)*NERw^Ru6*2r^t!Bw^Cr;$ghW}AhA?XdKZDYLi%6)DzF!ymk3 zH^`sV`sw^Btlx$|rS%p341LN&w-hy{s2z%mCus$@sJM__TJA=|##-Ji;le7}qS(kS zigc;I8#XD@^?UFa%~f!>!LQ)1BLk(PxsK$bsfwCP+IL!f(G;JYw#VnY$$nlN*IHTdy?{aSbt>N#~V&8U$_xndSKmV;kbH zw3lsg&%_1f9@|&$&${q9-Z!wtVmGBgY#)!JJXqxC?a!d=oApQVca`(;+16@2?CAUs zzwm~B6+iWH+%*@XDCWNb(PL-sWMr4KYBPhk($jby-F?>2N^dOjUMWx2%HEwNT*u(y z@l*+uTFQIE++GW=x-y0SG~Nh*Rg2kyVh$H$%)NhGaC05_gr$acV#=ly+YB#_Vzt?q zuy`!`hc!^r0NckVr1=2r&o9dTAm^Q+!__Xp&o!RM_}-OX{Ar+K1iXrdX9)Tn#Pt+$ zB#rkUrSqv<>epZglx0}PJt&Tqf9TBCUjyTP9YyTdoq=t&^hb8at106y z6yQ9Rl@0}wW~yznEFk;NrEoTR9nw^c-4HrIkj*j3Igky7syjj|i>^#sBvAjWRMqgb z7}HN7sTY4LS`Iv=qYX@oROj$11x8J>ZY~AC=l_4<_n!g3MQQAoUPodU)6(K`Qm+Hg zunun%<7LepH1=7;>DkV`UD%CeJ1-1n(3hlbO$Sdh9{KI%^FUXb1kLSYZDmFKat3Ip zOw0b~x@5l^9P*lOAmQBr@u=N_-VXWp$C&%1pQ12S=(1`PO|O&a7*WOOz-HN1=+30W z(P2}y$HL(U8O61-&CO+XYw>`WV9@AnEJK4kA8*dGkHu^6U&vOEB75?PG37VNu>L45 ztk)*uk8zqY{v4ya7xsj=F-!K9DiX*N!a%Id7gC5^x=^y}9oP(KTKWl`j^7UgO$&+r z_ab-78^1=2?#|Q>L4PK-p3eHV7+LYQ?kv2MYcq)MS9dY3Wz=_lA<9+DqL&#@q8tC{jbb_EsPBa2Q-C6Imoo(Afp_3nPG$P z2}~L}Q|FenW`=y2-yHn9kd5;_2*8rLO0;U3u(0lXB+LSbtbbUJ73CRD0TW zAc;zC*&AY_9|no`3XC-`1J-&YQI+U3=K6Vr=(_{fie4l7TB3_vE(QS46!cJA^kJa0 zRy~b-2|vs3&ipySKNPPnhtoJ;-o-X`Tr@)O^b|N$bBbP6bJ<+r9v&f<$RXInqp0IZ zgd~tC+Bgy+2_%X#jzmZTi2_t4%8on{VvX=C;E7_3BN387qOcT+Vntj2C)+Y*=DY&w zHbra@rYt(j?t2k|4Y;ZEWCQL{ej!p;G54G9Q30`2vCN_ysOcV^fc4|(wVbs+Tf2f` zl@`s=r1~DD@UQ9A??4M=^%ITMVra}Viq?`)Nk>sor$_iqt)cmp%LzilEy*KW;t2`k z-xtL13cZZ!2?^tu`|*Ll3Ly!9m1A0v2uUCv+k!+$0_nIGBtjBMD_W2UNg!cF^qK=} zkPVBFDAJ*(yE2A^GeEeEPJmYYVp<6LgaDPJ59tw-Xw4`3NWlXegm}_iWxviA$%f|~ zjAo}hy?)En=g=^Z^cY`A8O8;iN7eyLN4(HBek)+UZ5-z*ybTcVRas1E9>8-%VPkN9 z)P~F(5i*#Fy;R{IjtB7eaM)&?9p|@lb2MQ6{vN^>Zpg5KIX4Bw!omDYfK>(ue~0eW zc5KGvmU8|SBxJpM_O|5vtDb3Gc5s*q+cgE3fie#irM)0rv_0cE+q5%hfnUCNrY!p} zN;#vH2b*9!q^_S~4(#2|%62&D{_#hnKXw^ z&7m?eB#&@No88&@-d50-Yt58)&gb5YbI;E(2aW~KTkUcfqi*HtCC#DB<9;y0{a}PP zhY)A-!Y!{|xfM-mcYCy#MrbdM(B{bF9Ndof81*W5p(*ViUozxo zyse2_zfZxp?CQ&SXu7AyzKiy4gU~u0>h@3$SA(?6KRPM1DE7ZNTT2m9 zV!7BFzqglUfz<#49yG-}4ArKD5p^Y_*dF&sTZTO$@7w^=y7*X+B1k>CzeBFh7ZFkH zH8xKoJUzm{;bu`_b^jog`sNzuvwS*8$NUFM7cF!TM%ZFpD zO{R06XORhY-el-p#-D;~0r4xnRdhXH0~%UoNsJzR_Mv_UJjR%Z_fdC7iF48yzk>eO zr0%lg6=3B!^b*8s{_J%R#y_ zj0hrf=h-ieL$;Gg2nif%HU{z0gQ!Yr9Vxx_J6wJ%1;8~m9;F$-2c`MN5kiy_I@!h` zUMbxPbu(8C$x^drR@+Om?+$Q;XZBaGG&n1-F3v1JE@$8lQV zmwVVB!L}CyNCtED4uG5nA!d$$o7RG+m35hK7<6$MjL~8m40VL z`WKVZETl?W0QM3}m9DnMzJ#gH3{nO3osYHTFXv{H9C#0iYOyY5u?j5KWhDELfNa<+ z2CjSCW_>v+43NSVr0_hjll`jm`mr0%m6GjO{I>jFoLkX>=z3IxGw@aH`q>{vaD*|Q z^9LV2Ev~X}09c+g)?njCeByV-(+G+0i`;dU@?=m|7YIk%Le_4h4It7&#J9?8 zKd}x9Hu_t z&wt(%zE_jpilBo8wL=dqeuRA^s-LrmjOKZg{5;b0j;o&^(B7P0=TD_NfqsP9RBrRx z{(~>DLOH^+_iU-?=j;rlIDq4_Eh9j;fe%LLuaDEehV=Ih=tqh%h8iu3ItLd%iMl!M zk{pZS-U66t3bvnHlOTb+xB8KD{Op?q30w<$Ek2#=14iDlev&V#Uf}2I)z5XL_fSCZ zZ3QRlJGbhH3OoX(--=jE5Fy1{&`RN-6SHoG3sCRcuo|&(|B|GLnP+(z|4DUkvZapFFp!-AW!;y);4ZCek}%kJh7{nca=mWpVY8o>dm#(Y|~>Uu^si z&2KcHFO@1w8?Z-XTQT3?*oUWU^7(-&;`cCX<3IhUK^ics5GCpj_onpoUX*VGm-t?_ zTo&-QIej_9p{wi7VAJj482d4VsBVeL6~CUf@OFaB?j8Jro|87XH-7?jPu;_XA*Sg5 zhbPEi0)}o~q_LSGppOj%AbpF1`+FaT8gn7^B%HV3gu{=xNe7(DD5_6-Ep4oWrJJ|H zo()!AGFYg?*`HTzX5d=$3WS8nC5)s((GpqENIMUGvxaxDh*|IB$7~#nm#+f8?Ebxw zdwrB${@qkt;GmHc>L9Qk(%8MgGVP@ZF1-|>LJ#o)5a}EhDg8*ZM2nYz_zTd2U(AXuA{DT?_xf!#D zyc6WZn2BpkypK8fh`{UoUOsIeUL!kgtem-w;Pj`9Ee;`sP#@QY1;;`zEC`9(PvKW_ z7eI2AganXET7#^+evhe*i#9^SMICkYI8{QTR6&GFvm#NmCNor?l|7C~gs{yk#LtM3 zFe7TokrZHrkT9MKvF70ykB|f-(wJGA!1zr_0*Q*NQlk1pK@k!?J_SMD4Upcs!2kdo ze1HT1_@obz008&+00{tauMdy_0QdO-2>@`v50C%=5BLBHKy1_xR4kl9SwDn?Vxg9y zg`wI@K~o!6h}gXW;nc1WUvz{-rGlLA1V{=j0RTpQfCNB>GrF?kH#yGK@yt0ZD~``D zAtAfejpM8k5@iJ$an6k+5t2aS9IH7AHxLXVVNRTAHQsN5RIKA<2}zLUd>SDOZa5>x z2~mkwLR7)ofC#ZfArH2|sP8J0-^vJywldJ>ED@o7qe8S0c%cmrdw!VHoL9L0{SCuY zIR0G&BLP_OZrnbDpnns@JB5$J*vWs|Xza^*9KOqRXJE9nj{qj_{Q}tlK9lg30%w5~ zUNi@>7&KPdvk=>uO_Z~UVn2&nQ1+@j4A_H=|KOaGb@l0uZGi!kV6VA(5~Wk@+3A~z zwK{LXt?zJZxQ(5Y5q+E^Y#=YW1M!)~AI0BduZhF^a{$~0CL{y53BCa>qP9DHBY1WR zG>c3s4x6AQFnC1-F#C86nR;PBI4xFpg}+lPZX1&Ju9!2D$@8hMd`CAuN>RGbT^C_} z4CfNCC}p>dQ^4qdS$4@Hr_XtHWrlHc;@Hnt;UPW90XLU>4|Rz;?VxnV3DgHyxFel~y`DH7N5%^1xSG4-Iw+ za^#3%TjcPBA;y_0U;zIH28`h=ygLB~_A!P}##m1~-)h8th`N$!7xuYqFY?Tp_kI~v zqM4=4+`&-!$V8qr`$16L$XjFG#mwe$JucU8C3U~xT@fqsaG$;_#)Um>d6wKu2=g-X zCa%Z^p2&q_DJ`4mDz$mZ9fxI}0w2>E=gb{fSTa$ThC5??LvQq}|s335JqYZ?6PoNH+gNFi{ zxhNZvbiSz-^`&PRPm=nQ8S7hUJ942JT&%iWnWWg9a8U&xa+NV9nkL@AC5_BbUK&2~ z>ZO^Ea!Ninmxy5&GJQp}fPlH&QUT+oQGR$YjUH*gNs}|zPR^ZpK(MLHCzPYx_zF4| z?|N`C*rl2e66N|}8Ote7O}CGVc`|MrirA5`?i$n57_%KkO-BzQGq;YqwmZ+>D%?Cm%C7_>4-6ho=Z>@pC(T95&gYOww2bDX2yvY}8?6Hihv-w%6h>Rb941 zRiAtvkdROZWW$N;V1y)eFt({U5kf*DY-#a$Lc(~qzj!<$VLXMROi)juwn#`qTV%6Q zBws}*B%zy9%yCMDBq*`Q9oW zVCss+zkvui+0-!pYVk*i5NxNETE#O;v%j~kBI5ZvGuRMhKy^dK^DUv>FG_~Dl|Y}M zx7{H52KnwM-%pV2-vY9U`fNMa$wi}KjlOk3v_@k)72hQB(qdoU!Ejd?q#I59ruHqS zIXFo355Js+K@({r274VGzfJTD19a+KA{Ly(Z^D)r?jU&feeq6Wq2(|+ zM*Ci|Yo|})2e-y|?{p0Uijb+lisX`~0j(*na0pZ){xm~KVshXhrbrwOITsOP$=DcJE;vLf z5=S&55n{>s79g>i#j_(MksSv%K?<($B_!mTXG)7P-mem1D(aN{h?Tul1I?IOzC)S zb(SwOT6GrC<(gnu{9YpKV<{Zh1RGemTzYTJyasj}r0rz!TkUrLie@|{BhrxRa`;iz z{X6DxM&c&oeiqVcy9lx*MWEmRmoq;H9H(>lajTm$=J+!|76yMqR`xUCcW4LuyJXv{ zA3hUbV1#E}(DFF==H2gs!f@67K7PErFcmbx{VqUqOrc4f@Lo)Q1@~h1S9vT6GKgF} z*<{Lsq|*BYNgNr|zxFIhDuFG49VK#=M2f(<5{xu|77j) zzoh*CWF7GfQeF%<0`*@@%-Scn^Dp2PF@c&9pR=QC#&e{6)mW6DY)4uAF~*|p`(=m@ z^E`=f?eb?661hXYMymNshNe+#`4tJ>$5~&Fri6+`Ik|-Lb|~pw;W8CmDGCxOscR-- zrHEVRuSxldc9fIqibq)#3Z7+mMvn*SsZ8a3y(9S}CzK%9Y%l-gTwX7A>s0FSS+5EUx zWCIV@ifJue?Ku4# ziDrfx-Dg$`(Y5CvB%X`}@zbL5zhivKeu+Q!zbQG)RUE8zn(?P?Lc+O<D0vey%2gmo(OHuo+_@5O3O} z)c)hXj!50e*^4f$$3?*25wGRgwi)u#|J5Fy;CAS51n4hvGufw3FmzCW>O#Hj{v8lF zGcQ;IXJ+Uw|G=l6nhJh*z;yxgW$_D9|BOY+mqe{HYvU~#Ke-0*?C{T+NsICBStL0^RXZ~ z>rj`ym3Kv!$T~&QGnCnlX1UIN3(enO=i+jX=sK5e!ui^k5#@4~OyD6D5FJNC-dizd zoG6=!^FlzBm9KV-(k`$S6{R)EDm`ku2(Z+>6#GMR!!O$pTe5hKu+U@2)9yAQCjEVKWK@>6y<^Rw)}#UH=p zkgoPKX-j@jAlN&`COyILo@L<>eHjagYLf(=pMim<&_vtoFczV#1+-_&9bW=zS$B{$ z-rpj?-^ap67WT2yrRY8u(wlN03)7p)^y$(HybdUSms~4sRbKyPUj18@7Sg_&?mR=Cd6RC6fSa@1w|LCX|!B+O&Ztf6w1;QqU9CS8)Pq^9cuKD5RZu)*)ggoya81 z+pshCjhcBTS>GnfJ%F{p`m2{o{uCs6IT#lv?2aVm5du`)7{4|K(K;YRt+9P1bUG4k z;aY$r7bUJES8pJ%&FOr6oF)S*qEJSGc#c59h?O-GeJAa8_uG1}J zIa=!#XwT-lGJwPI4*5B%8LzF?|AA?w%N+o8R=0g1racK~%nuT={!hdX_bDh{e;r?D zdOc${WwQFdg;Hc6*SjZX81@0WmM^>gK*SJM=9xk!?5A4Il*^69z+Un-L6n3=tA)!EA`}ctXN> zwz_ycAz?i0T;c=gGeV*&B$#03#gPb!B0c7O4edscHBpxKI1cBmU1$1I4CfSc<6o$o zCaV#CJ~;yyAIU%G_aE_Ruf($6x+b>q7@D>lvbdg1>UWKm_)Cb0?93z+PhsNaU`?mL zL;YBDl6`+h4%_iGf*~pLq>}O%C4?ka3Cuf=L`VXO87UIk zVEZA&5~j5Ml-&v-IC5oD*5tssin1ou`4&TijHfMXXXtNehI!`&mN+p|zXe!ju>D9~ zC9R_`@{eA;quqfUtV}bCt7ar%V`ml%Xu|BTa@ck;tu<>TJ7W)@mvRG0ECm|%-Nq|HS<4A-g zkeFW_iI6A~brtwqiC&bd%^#n_3*q&9ums4ZI~Gj0#;faCN7{Z6e%IquY0&^h(HE!d zp;flUHp3D)YauV~xKa}6K|RJPuw7nB-QvkD7iOgDq0R@=^uwVz7c$qrJ^jl6XP~s~ z2w2hG8`0A1bTUNMmj+)&S@nFaw;WhRq`%OqV>?p2FrXIB_Zt9fJ=wZF(O(PD-vu+e zYD|;%LgtaBgeplp5WVAGUz-S(q&qLCdR^%h$p+JQvC`QP6)8Gj??@Vp0veIV-rmB- z`C3|KC$p4mZ86E*8jyKMF7@?A;S(0d z!6s@b!f5yzGP;C0d?m;slx0O^IW;0mIk^=GGj=3vXHxlXKqbQG+nExT&y4QFM)>5; zfPRL2?!p{aqB-b5`R$;6UI>`iqO`_wFI~2%PqO5_CscN2;-`bexctu3$o~;0me#H9 zYd4^CXxRnY($JpHe(yqGe1p>@djTVMV+4+{@U!gPgLp!p#4yD%huuI%iZ$#-bhIWU zoZZ>g;v)$m(UAm1*n^Y^wqIpaiI9*8`+yQ*Z{bWth&95mK$Bs$D3Y%e5t7h}DA_nW zge2HuLyS`*BteO7DNc!y1SNL7I3+?7l-PaZln6;sVyz0&8ec?&gd$=!YCImT7ZDQT z#iM6%ALB7^*51XlQnyj zfe3jXY!h~;t?2V$>BfJ6Go(JQRb%{O!}C*1Uwe$deqY}BpM=#wt z2V3enJQH~?v%Cbp1d5f`I>x+U$(*xg=`Tk5*)al~v#vyUyNWu#W&d2xBOQmlYRgRf zDE`hg?PKtZ`^E5gK5kE)iP_6#?VI7;W!fjiaF6$JPlGY56<6ri!Zf6ed(6BvKgMYx zm+dr0|477k_nP*9A<^29Y4f{Bo@c^2BTK;(5!j4)+%$YW#8yp}s^f}q+1*>w`#RhK zXpntrxQh#!i3kXOTJgt~@F2QSmP;z%0;#@iZ`MAA#Ksl7(s=Yv3p$V)h9r(*>DcX} zoWe=qaPT%bh}l|tvAr)oO@L1cz-)&B_@n^L<||-aFOZ@tAOp-5X5%n0VBZQ&!W4s^ z?U3RinoZMQjo{F#D2k=gDUI?iK!<_0T7cf*%Ez|=5p0bRq_$8W{ZJoW*FgJwhFO9w z#l#JPXCv>%#bf}ZA3td8><~LPZ99A)lTdN`7@lhCmpm$>EK020EuGs)7G%!HRjx=Q zEb$7$-0%#Djv#wF8Xk_I1<_&i8%mcJX48Y5Hx_K~p^Ir`ZpL{XqcbjV&F>A{3lZ!) zQEMP0%>NiNRpkr9WM4WRzwlMeo0XmG{V>Qvf0~zfW+1Vt_xa64it}-kX8mz2d2P5* z=WJYmkn0KykdY}x_ms-z*qO#zA~DT(Hu4pFm=q6>IV$Nxabsg;=aD-&YN#wv zpgkN{n4u!jN;=p|B#iXd{4CEU%0K65u$(Zqv{*on2lq`@sdIXO9n=FZ%}4u^dWbBy zBncZ0tNc(j%b|nJVoC2t{ywgrwAZsxj$Y5q3s;L*`1bGk*eLu7f>}#Bc{OTqEa5kC@KOqaj z?rfd4oAI92O=WvFF)D?q;pfza=-r$qmm<&S3PYX9S8WjU4SSi6%lqJU%Z~9W`$M3! z<}%K}QAoW5r10*gCFdtT63idg+RbRjcy1|R99I;-FB@ZWp2uWQrZ%-x`K(`oTs&qc z;;lx`ELA_?GyYVPaq*>4zULUbob1mhrU4^~aSeE~*8UsZ;E~XPo33=Nn5p&Q#@f@7 zqef)vFQVRPhoN0|OVX}Nro{ooV7&U!RgHbBwC@GE;tWp}ycZn~>UM@}Nb z?M4(ZLPEu0tsftlR|rXH7w5Df5t2Z1e55tM^>QL4%xO&!-{YwugoN>D`|-iGjD$p$ zp}z#P@<$=|VZ7LUBY$U@_RaXUKY}h;!&G#_9+-;AU}P%7_>kfFAYv)IMSyDOFE3HuHtxZ12mAz_gMg?CI{9%fez*Tg zzMLKQ^G8B5qw7isu%d7uS=3^zk1lGxEi!WMY-&TJe}B?o77-fl7sf0d_Y z%kIhifwUU^^XlVh7^>J1K~p-szib4=s z&PsK|)$#&04n+4)*a@Bcf{fX>HRCU~&6s`Oc`ZN>o0-~9G8ppWO{CarJ7JYOCa%p_ z0fkxi9T=={g@`UuIgD(L36MrLiW9r9B?)*YK*Ay>K#qgX!N^g$I2C$_6udBoM-#0g zLbekoK%qrjofixj?;M!eGwWdxrg`SUz!Bs%2>2`)R^9)wX3 zoswmYcS=ISF_cs!KA6M^Nz6|yNgRogC{nb0e>dpf%*tPhu?=d)&?`d^7qy60<2gXAt0#3jX|{TpGCWziyWQ51%$%JkUuzR|4Imz8GCT|0;W6y zSjs{;N;JZhk)G2e`WM=uzuXr6LZTmVh)?|;n_8?bOpLdM;4^FsA0qjBKz?E%zxx1# zUjhMIY;?7aL3HbVR~La$Fva*4h2JM>lq$O;j4nG}@72adnZ+9yAz|a9kTf1E3^AP$ z62?<1@pwYQc-E%2J61WZQ-oO390KbU%dSY2Dv=0@HcoT{mP?UXcp?#EiC{b%h=n!h zfoPNb7n!Vn5wvEOEm&?pAAnh;0Q}1U%#!$RA8%1qn<6{V?!*4rckwGa$8tzg8(bl% zvkL)3oe>bW`5?Nr&0m9@oFBF!^jeY-+Wf`@q3Bg}*Mg8v_}7tSXz2_)!{S4OZWQSZ z*8@FhHD&h}ewLjpfy*I?{Hg4jH)T(VB?Sy>k$K0F2uUE3EkO!Qb%ccNg?wnd-`)uE z;{8_4dOm`cjDLPT+pnPB`WHb1zKmugW*yOhX?1xms90th)c4;4Fmv+j8|%wzQ>5T` zA>?JvABWfM^`D+zyA4U)AM+^ACm52mZMQQtiLg5u`Yl6uGV~flqYUlO&|M7e!O-0Z z1+!w=-N4VX`$_(MR@XFGC_Te7wH?lnw#9S5^$ND>Y#f|Sn|i|1{uz7sK^}4xhT3Dk zS~1eS0O83ymGVONM6RPF(adnZHpGPL7lgzjUqAEH$z)so5WH*26Txc{YJ zikzt`!}Czx!gQbWe$suKIXr+6YXH^&S@2wiw--mexf0sC6A0S(jLML?OLmnfLzWEvBNW(B5gsnKZd#W*o4$q%K zJAg~HLODSmiL(|8g~#)!KxfLT#vft28qL_p!lpEuw(o=~rO6W6<5@FO<|DNVJ_V@z zAO-X=LTv=}X@bk{XZQm?i61X3(<$e&@c4==>PE|bi$xMYx2eF# zr8an2dWHVPe8?<=Z%|)Po6rXD4Qis|4eC#}c_Z7xy#n;H;Xg|XS+i4;m;R0Bco)bV zKf>JAvGncmPFWE_1Z~Y_gLUWyRejS1tA8FhD%geie@%r^V?*?Piv-2k6{PIveO1Li_D&z^UP04kn!> z%TCWPSRjhm1-IY70xuHn@gMTl`F4E8Be#k#CXMq&$lLQZ-Z-(>Fg}KII*%{#m#XZ~ zx;kEgelwVZmfNyp|2n(X<%re+oJR&V$=3lZ+KE%u9KPFJA}gn={i_}1RCRO#@h@hP zKitnE@LF=V2Q1=q6f7dbvqJIH;8Dfu4HCT|AR0O(eNBi44oONBx_`Mcv2h*UF~jE+ z0+9Eh!oNwgbcD}nD2syuYmtSz^YJNaHw!yLLxh0G)*@%i^C|DuYB^q%MD2*7cBuK_ zP4aMi8y=0v30El}-L)Wue+`@}9K&cyDS5^#uN3l6@o~yO-~!?)(-o|2>U9dAJ(2cNJ?d zpVJ!ckt~^xL!a|ZkggJ>`yA7EId5Rgn`GR>7in(0BB zhcyiW$ut(z{3%GYO^{~Ba><8)WSSJyG!U<&!HgiyBbtVQWSS19={m|!Gc!nYEMSlU z0m(FJrg<_*6Sk+GquHMH6)3Nw<*D(q*POaNATN3?`M@5n{0xbn0RqZ=NOXe`)gjeO z&nsLfMSQgL~ls9m|NOw`tn%0=u4ydJ~$G=HOt<18tr-v*$Ao5-$S|!j`P`nXS(tlIXf(0 zBQFcha)jP^(mS^uy)hh~_zt((5naQ5jYYe!?>MlH#Iv6vvRFyaBEh z2Uy#wptcbT>GqNCsaru;UguW2WzwA(&_yVuTOi%bw}LL;@Am3wGU*NmbP)>aP9oh0 zwt_BS`}XKg0bQtEB3uoHbc>|>%vR8ynx9$}U3@e@wNSF>pu$S_P|%A?r1$bx(3_T@ z=F^*o7Damf5qkZk*Kz!ox2Q_K;?t|3SCU>iLT`Zdwr@vojP^8`AN1)B7N!ZkX%Tv5 z(mQ=C=uOX0_vuY%izkEl2_-n06d&3OireJ3@hNV@aYHCBjZmCIieKLfiZk*ve2O#F zMO282vuK3wRMLH6E9lP5&-CfeM4QCsfYOyvD1m9D+qJSyosUsRv+}ciy0btRGmS@= zp^$EcbSv%Xjxm1D&d>Jg&IVm<3wd-I3h54#?(%kY$KZF{{I)*bZ9x|sKptI&Lb}sQ zcimRdwez-5*9Kkoc{T<(e-H)}SJBA$QA3I`-82ZJCq;t z=?;PJ(ts{QA>Emz+jYX0w})!J>eH=)ZZn|EP)K(c=`Pv|y0v`Gr&|MEG+R#&425)O zlkS0AL3cPm?9&}4UFaoRZw!TWw>aEQ|Z*=jRu_ql&UN&d>KW)dl$l@rVW9bruWr3yWeW z8O<*&xbu*eyhkyN_AZv(CP4ys=lhX!87VJU5hQTc{f6-Ays<@`F3K;8GqlL#bi4d^ z@rdm_PPfl*Uv#NikLI^8xC?w{<^`M*Bye}3A2~nZlpujCr&WA9JD%94FO1Q5cgXMH z*VPWJD`+cT8$c+ms~YK^+K%oRW7v-Q9euhxlI~zY7om{uFzH^q6?AvX@8r|niFB6+ zbP)>a&IMhXot<8>$1mb%+1*Zmw&xGuVc?$3EwDwY)f>i_qMI296PA4otl{+`*!1NF zN|<6?+MgQVp#3}RJ>o34To?LrBC0+ShF?CdfH%>Ln@zmz3hOY}3u?fY%@dfJ2}zil zxd@0O5t2ZnULQvyB#MNB?ur({E7R@W7(o8i-Q%eUiKYS)74kR|Aqgbv*l{F65=bNq7r5|n5$QzZYa9U+Nhbkw8cln6;sqEZ}3A|!!CQ;Z_ftV6~L zNjwisYnLMVr6VL!I-2Da$v@ghNc3nQBu)!eoDv}kO0+jA5{(1oiIAvMA1F~ZS0ulI z5t1k!_3bzkAqgZZ(Qza~5=hjH<4A-gkf`p)kqAj3QG<;m5t2ZnQW{4hB!NT?Gmb<^ z0*UHk9Ep$w5_P{g5+MmBDspioLJ~;S%Hl|bB#@|L#gPa}AW>h6BN387qVf|*A|!!C zO(u>+NCJs!NgRog1QKAojBasNPM)(yV z(Qv3pG%FH`5KD}V0TK;?isW~5LK5Aax`!h9qY5F3QH9ff9Ep$w5)E*Iw1y{>c&dz$ zaQm3nHjSS{o)J$-7*8EQGw}x;LJ~Db^P3{kILCq$Vu`6PC^%>RI3+?7lsJXQkqC(* zU1#UHat3xw3iRpxojjptDbu;81%6!Sg*g@+6BCjnVrJV@cF!Svt@ zeiJ)_n3-C?6Ms6^FXqqq)cT$AJ9KqOU_msAAeGiHArA8WG^b+to|6)PNs7NjW21N0=46J`1`?Wyzxb;3#wlCJ8xOSy^&h zK3yNizC1U5YTM*fSD)U$a58Suy#+^_O1E?gV7^tTBD(*U?&>nlW~IR+DUD8S5ApnG zJ%>PTdmHLe4qsjPat;GK^=`s@0qQ}Z%PiWTMG14&jM=z@MJ@F(I3985r!!d`nI({C z98N^JKJJw(6d2y>l`OmM2}okU0zdzrUduTaIoYq`!^XBYUaYbwB6fDRp2ttdegrf# zSz*9_l(}yb#j9lZBKkR;LeTRJ6ODb2G`d*Vn@wwxSsF5HmNje^hon%rx(!J!`CC5~ z;;NNA_+0|$Ux7oFn+u)lK78Ztf}txE%Vz5OYh;lkGHt=<_e$RPv{p>pOylqE?h8I{ zL;1l$X-MO9>4K204LK`OVDEmcz$k9d-2;v~uYU9sU;;w8Xkdn&Eb^nenFAIW`a$&y^N zh0v&*F9k2hjWhCMow({jH1S-q%Ssnh>8np)HQ!2AC2)GZ55<7L%7Sh)UCgA5^#Zd`QJzT>o9u2&L<%MLe3m0l^Tr?TQt9Dt#*=(jhjUStG*;+bVha7UxZOUb8xHVY91)RRA zZPyPm9MyO~BKtDMzHD_$KI2>k(Wmp-Yey)p`meAJIUD<$%ed1C?1j(gGsC!oD4&r# z#@IG_uGBPojoTi^2{imOjc()NFKL+XRp2Hn<95i+xfPV1N7+tI`wisTsE|Vxe-OVo zSBJk{nff;P$<$}yFNpJPm^UEzJG_4XOQhD3)@sZI%6m~2jadlf(v7?IBo@V0*=5!I zY_YHNd3d;@o$a!!s3OkPXCt;dEi%oPm#vy7ST_?Z8%L@fvZ$=+mAw~D)DT{876LU% zbpliQlq!W~{XV(ysW+~*nsi#5X=y0WV{yhFxX=Q^lecj2^oOwt|4U;7jPPmr zA2+TUFGb+&|EB zjAb9OjPsHHE~NLy@!_mh-+g~ zGBb*gmz+|?o=w{VzCGZ>ztm%Y2Vhz54JH}W-T^Vsr3&vY>DfgY2X-`O9iwLeO#|<8 zzu(A!HRC0Jg6VSJ2)l6oli&u&#_D(C*M8ietQxqb5c8B}?+E%sqgs?&zgL1E;oPiQ zpN`?)l9RVXK-`IlJV(DX^17S#{TjRrb7tKFrS9s4Y`u;^S0*jhfPoTcYjeYY+?3C* z?Zg1q(^9} zjWUv-Z+Z7n?`=#yL1lkXsZf;ZQyNKAnj`(jInp_N^CrWKgZDuzbyE!O%TSu3cQb?s zj8o117_u1JpCOZ>0}yholVKT@$6mv|`zl~92Yco2koPdjiXh1_lkZNk(S^&Cn6DIjqod2FtL&qX|abyh&95m0EzW4NWsM_d8H`Gv#K7GN(vhF`1fUam43GRP}4mthQyWMkqWf@7wr7@ayl^eeqQRzpTs<) z=LVef&NNrc=0Q%ll&yoVV4oq4ErpD?lYnC5Hs)$mNy&MJvoY3R3tGwuoqPeZ|0t zmwxyLr+B7$&vD*Jw@1&P7IQpy}RrQir!_Mb5zF2RV=SPF?SO>ljs5cTa9ea6lQslElf z&JtR*dxe^9bWw_8QEC_kyQJ8ersv`xbLu#qOQzfM=XL!AMEe2k~z; zNAp>`8;EJs89LosU1;o#T3yc!Dl;2r!Ew9?uBrU(gOa=%OzWdab{(L6N4e+)rul(N zcMzHwgbG2ZfADwoebCgEDTAGnufgyOYI|BrS=3Ci;AYW|O=2esXo;Tt!&>dI}-o12JVKcM0~=RB5*kVpNBC2p?glk3^8=5xsLq-uSUsl9S`*8hORTEFE~rz zALARZAap_Mru{{5j*i`hwFb|N@t?Wwd=~aBt9Ft{vDc$`5h$7k>2=y4YkQg^8N8LQ zg4h*pb+%bdHnIt{y2zzo9v%e-O6+oGX+87PK5rP?8?%lwES7gSdpA%sS6Qk0vn)#F zdv`=czhPC!-39U1|T-EB@6QEkC>&a_av+Q2NAG8hHAhyTv39yF-XXRQR zr-W%!VeX|!r``hT#skpnlt#)}02=5TI3L7<>D~R*pD}cAi+(5PGM(eVbz=^l4tB$z z$bI4|V;7`fDd|~e8&|c*-!B%j(f1cJQiN(p$Ptw@CKkmjI0wh#D@0Z&5QIxXxOS0B z7^UHy1GbtJh;s=;ETXix4}m9XZ%_WgzvDM-I=29|)K=BFjFdiy=)~Rhg~{!mNO+2e zY4i|gCD8;fCpTgBjqtPVd>`b&qh-tlkN07o#1p=VQMr@J{>prN5Tsy(Ti~BVJImA? z#`0LS&p;EIm&Gd!++Z1!(}~O}BD+=2ACQSI1Fl4rU82Awe_x0Y`1L`qf8gQ|?PD9y^L7Zk0 zs*a> z#+}Sn^L0!;ADGG|rKF3dLjY@^A!X{U36i`JB)J+e7L1T&!9L1F4+e?Cf_;biG}{&I z1}1rtNfLJ||C{-E$3Bwz+{i??rhRFI9b&-*WA&iHAqjI}d~fE2?<6|8b&j|*sNZzZL{vs)>h02nF3RWeBl>w+jHZ>{@rQu=5c zN{=h0clWgNL=UgXVH)pl*V{v5nU>6ebAvV1FVQwFeed|PmS;=*|KeW|Jd?I z^Em7GZ)yek44)$y3MPWh=_ny zoWiC}b z%H2xYTUe8FbYXojDgUMo&n-HjCn+vqJjy*Kmt)pwzK1n2&li!Wz}-j66W97Y?;g~4 z@`>HJ-giHfEeVo^1Lrw_wLg9Q0FqGG_zq1{c(9zGc(7c5zQ`ZU@1}vd#dtt;4z^o8 zdCx&MIL$q1N<&s{1cT)w)2z~-2lG};Nf5ChSfpgR*Gbzt7w%$;}I_YJztOgjG1TZ-pM~L>0x@} z-yFu-dG<3^3;eV5gtUE~6bd`#N`3oNQip7LB2h?}jasFfUW3)q|bI@0xhDC5p*rMJ`GmqA)ndNI!0XQ1=YpP{4vZom<}AAW{^ z4q10@E*=udI-?YF)j7R6rGRm`2JeDWgu?zznhj{>l-Bn_D;K4eRa#x3)upsB`hr%r ze{5P^A+4?`tfGLp{T>8yAM9C>9~_TZ^x8z*-4olMbkAw5 z#GmsKAyUoQ2U0XoLlT+I#rFnMZ5#w}kNoXR=?`2}^YJl7_Xbsjbl2#M|ufC(;J;!F?{65&J|CqhVq29U^GEXEz60WCIvExXDB#@{*$B_t0AW<=nBN387 zlCB8nncNx6@6I#Xs&k*upW}Q!k<=h3hV5gR3&JHC%%J`5BorxFq&pWOeybQr9)TZQpdcvefu~ z?}KiSyv5}UFziVwlw(EeGTlSaL+wM+?X|cHpM*EqN$I_aY#d6ALx^ENOZ`O0x%C+5 zK1-hL136}}hZh&X0W#8y!#T$9xLY(IH4a0Dm~G$(<;^y``m+t3M{D!(M6r(VDSFSH z%G?h}iW(f7vd?3MZunrt9)SpdE_!UtxoB5^F5+x9AHF+d)4#M0eQ$mu{r2UVf@`rf4$nqjo9^3 zV!jJa*S-Q%R$CfFxSy`W_;{H2CbS}4H4K8ohrm?`zoq(-sHov7`qi&r(5bJ^_m3`-Ngw*i&Kk-kl0qpPKc>z%hnvdbLGOfuz%4NeZ*)8XqgV+Ii zYei+^NkiY!XBgH$2?Xp4JjEZ~?kleUHb11AqtQc;wZgn4mL^FldWTTsdc-m?#2KHH zafz0vC^^r8z5YH_t8>I2xG8-ZLiOeR!`6a3@+GSDLo*rG<=E$7w=*M-p!WMwi``~+ z9l2IMvg=qX%`7YWjBsVg?G7;Xym0$aKP(p{{8`}G86&T{NZQ9g{ETJ@) z1DH)Es8+H>*{My?Z~ekfz2;&`UX$%_pe)?Kr(3qH4^Lw*s1goK7`s!({mAQ4$Veof z+xU>_nIX-Q7r9~02PA6U<_O^`8P6Yj#zq_kQ&U|6m2gGHlO)Kd%lDwR&&HSgO%ys) zKMInr^?4sh;{z(@@wi6cf6_PaEP<3g$|pmS!t;k#;{V~3Ht3r7?C=VCJ0gnejLTxVirI6qUoMV`~>&XhFJvvD_n z8Qod3pU0%Mfq>km-r1e@djdZ{(Rz#7v~onBd&4-y7&zVNJq1#uT+aaH3v7Gd`Ghz> zIXEN_wBaZ1@za&|__2?rY(l2e{mQ5PoX=WMHq+?|hH{w##Tk2USa-2?)y54K;Wu8y zB8rV~Y5@(pIoeJL@a)(^)?ef6*Fkhpl3#FGE6EyW$TTx{}CB zlgVXaP&14beJP=qR?_Re507*kn%LN$ds;?Z=2zrX`nzaRX7H_7IPgqcgw1a+T$x+) z!Iee%06c9`M?Te6otaN%?3?4Yoldf9W^gmb3CC-%@2q7zr2$tbY0DMyYae3s)$u@p z!@HP~ZYK5OwKVoPC8xC)_Bu)KZL6|gNh9okZ%ZTSjx99K&<^$K|CzJp$H8vx zU^fXq4i!pcr&cL`DS!OLDm5k(L_UdWJX-Wq+$Y-SmIO;~To6hF!ms3(e!JY#BL8S^ zMJ<-yjoU{ft5xqksgI9a{F8AO`>SF6YTV)hQ^J?X@U97Uq#oe_pgP1G7-)t*>m16V zNrbM0uT*mjGLMA}VXR6UxPsQe_Iuv_Ito9lFQu=&K8}wi_aUmNufKecUB!K<$4GU- ziTu0x>d(mZT@dSX9jbY?yRib*&}7|ch;nNjPZ-Bl&n0|6bqSX$?36l?nngDRqSS!4 z)hLw7wYzrKPXJoXL;T@VliY5?`dHtd)jfRE=rJDs1~2GP+tGLM`xwfJcZ<3*mE8Po zGo|HwrvW@1|1Zb?STPtlvmw6>18MHzRVP#FT@DkDVPI?z{@=q3?}A_c&u<@=sVrSC z7J^9ta`3I-|4ikAxs$51DqXqi&I7sXj+H{Ly0B8oRfj9na#dT5qPgl|WofQD*&Knc z=~e0vf_^UE+g6PaA%W=eInFh-iERt&UqZQL<(_lD1ySHUT6IFU^Oi0gOQGqbv$U+I zGYe<>KOqtIwBu8T@ny|1;z zdc^re1Z(PGW#WXU^Nk2-8n6bIIG02cRyuLk)L88N3TP#du}TiG%@dq|MPXfoUB=QS z&iHd9c-^3vUEtEvhA)1yocFl{~ux-(XIu<*7MqxH!cZ@j4 zMPYN$uAU!pJ`{xwfxk0HoV%ki^!JGmjyN;$=5kP%HPBntln0sv*f8ilI^tY(Lj-Rw z@P0GmJQk%l53t{kIL}34^O5f-fR{2>_xpWe0bt)4aZ=}FYtn};9PBZEKH_`}#|Q)1 zBEX&n?2-sMo6#wY%BrXjneU&WDt4H_7Y zB71VW8U16VcYj(mQq7+*^i76-%FqZyKO=Rl6vVx`?Eajep1(53x9yPM39Y_C?j>+& z_WXc+*C6^h$6SLzRh*k)O(G9!Z}M%LgoO4ea-r5H|27Ol5>CxzI*vq00*Pf*q$g?F zg87UPYlL5FKEt@(VeE)<(YFUSh!ZDZ-KF*--I}9A4ztI&>@tT@Z=G(x$t%R4h7L_z zf@Qo9H2BXHEHzp6n*FQnKfq_WF&lsECdOh@h-vgpJnnY^V3i|e``d1@x|#IhZ3JnQbkZOyvP=3>2+!&7CSB%}^&o4QwV zeLNlbU*Wv=kax#3anja$CdO6IpK5ajwd8Xk(tQ=_^uFyJw8#5m*>z>ib@%$&b*F0+ zv%@_;h%aysrH3bGYXL|e)#TLg^8}~jeB)t{ClUfr%mF-oI=Fs%2h;g5ns(8i3}K); zH|&Q=)DoCIg`j;D!QF(Kvaf^q;8VPotxS=M_Echl%uj{PG>^>wLWVFKuLTGhez?DE zC8G%ki6wh0Fp(OMgLl(?5y(;TTlP(00DjOP#Sc!XWl|%%(mK77f5qP=>#YF@khq>r zh1rVLvk519J($5mh1@5gqBQN@IC3reE5e5wIe+cRvt;nY&RZ>fr0koOj~mEGIyJ%A zTx5=--e&C^0hKpWSsv3k4Rqki{dVOMI$55p%{C4~zNd3|`~FH=SSChJOG+wHCvvC=;VBNCpz9jHG5#9Audg;yN$ z(jcJ2zlOcmj6Stn7|M8O@iNAYA+^;~_oarNp)9ls;{;~bOxLB$%BhzZ*wSS~!GCy! zkZ=Hh#gA9VOANb&B({294UpK0IW`kwjqoej+IY=JTH{X@goHW$)sGKyA|#R1-&&9e zNg(~b1&NRZ(mw(uju_;b5Nm{A0nh*Rkpi9x33>ig5RbDK^3Wn7Vf@Q2@q~o&e`$#) zB#i%aOFSWA{7ZiPhHo=}6oL?IgkM1+{um(9Erv*hB*gK03lbqwq_X=wAn;Kwu9MSc zKb<5Rh3qRmX4(&6>?znE!DbWf?4Jp~Y7ue=sLb$1vQK z955%!5k$!StG4NM%=JnHQFX>RM z3LmS@IRXeO2UfDmVLf0)c?()sR2h3+kob>#J z9TE3CALc!a$Ij(k)`r+>MqnGMEEDLMJ@Ww@;k#NRz&I@F=^Cq~ut^=Je$Z zhpvPifSvOL+CiUb=iA5gKOW;aEBbK84wW|Lk0z9>8QoqNvj+}`iG7ew*db_ZXz_?u51IdG@K-qIO7NJ*DE z?$f0XTmRsO@8Q^Zw2BOw{&Mh6X=v>X{u$NaKAi@39l^F|n)Kg%9B9s7C)B9U;5bUU zIJi%zf&EVK4Xc5Di_KwvROK-3;%g0~nFDJ>Ij}C81MIGXM=kaybC{;`HEdg6hQjN! zZN$GYgnv;KpFLghPm90#)S=mZtt8tSY*C4%j{9_}!ybk$uX+`e^M~fdOKj`;R_ezn zAG-#6E@-u{fu_0ijFCwsZ3PAl-fX)ITmGi zlf%Jc&~S->1eeRI&GR5*i~B&u~ZmNzwkFggH0k zKV=|2RXy=wA6KSd_}B{A85n^hy9)0H2Abmp`lTcadWNmmQ!zMCoW(I^X(Q>W4(ls?J{$Wf{OMVPz~d4f4t{N+ngMFj}QerqHGmCsW7< z6BSQ;(5D<7!Cd9&3>GQJ7?om~LN3@-QSvJ7GKH?-P(|quj#Z8xm71Bt*x+PE85gWk zj`6|y$}u6hTpX1aq)m?`4aPpfwInv?gInddE4W{NyMyQDx6;alJXp9nwax`^lMY*4 z!TZY56*Qb9lB=!an6DfYf~CrVG~H9Xnu3G1t2y|ncC`d2 zXjf}+igt|(&eX2a!TH+N7F?!X+2CsJY7f4yT^+&A+SM8SM7zcW4{28}ctX4K!He3} z6}+xp-N8HB)f0T6U1NiWb0yA&alvTq8Xt6P*Mwk_b`^pF?J5RaYuChJiFR!f?51=xOVLlJg;552Cr$?Zo%8ywR`ZscI^=~d{)JG&!APi_6qXawRbR4 zyY>m@YS+HOBJJ8Q*j2ms5BArt1A@b~>%ibx?K&tZDOY8bt(h{H2u>GzLq51cIl6+^ zl%qT7KA*vAsElU)JWAD1>|~qzi3VELPtVj(&(u%P)KAaUPtVj(&(u$})2e=YwtjkO z^i=)y3eCaJqTWNZr)sKKXw@~Zey2 z6CAE3a=NB^g?wlM0no%ISmy3TrN1y!B(P(M|j^$O#4o%IS6be;7I1zl%h z;Z4_BuP{;9S+B5#uCrcYlCHB}VY05XUSW!^vtD7UuCrcYOI>HZg0JhWSJ+C|S+CHm z>#SGk({^y@n76$W&j^$OE;o%IUSb)EGJGjyHBecGU;(_mI`x^~Uh_1G)S(e>CX z%ni=dzVm|1v}@~NgLZ8b+^k*mb$y4qNnPK)!UA32VH!}^cdxLWuJ2x9``}(JyGYl3 zudrCxe6O%X*L<(AgRc2rVX3b9USUUF^S#0{UGu%dPP*oMg`IWH_X@k{n(q~M)ivKM z?51nJSJ++Ge6O&FuK8YJPhIo9!d|-OdxgDq&G!oX=$h{p_SLoAE9|FhxmVa<*K)6L zfUf1(A_*SWu{=oEcdu};uJ2yq5MAHB!lAmp!`h&(?_S|>UEjUJM|6Gn3PPdbXPD%Il6=Wm7^y(M>)m@8~{28(9FCqo?v4s^kW;)%}<79 zxr0*cvn`$ZGF|>%*e6j=f%2bVvXn7Bs*Hno`4y(fcq;1JyH<)wnDpWo*E)i2!RCJf z>vV$`%bSg@I#pzuf-kwgCQOpw@;kD~Usc5Q9UKocpp|L4ozz z(MFT3Tj21X)zlExRHP;tk*Tjtq$b>!sFC~OxN`BLDz0rhuCnMrp!M0T2>~9g+vs_r z5Tv6a*n%N=ogtXS5L`KQ2*PpYlYnIktk1R^P3_c_32ADKYMM+3BcaRZr4eJh|8N*^a zHTgo|;7V-nugA(1b`qLYGuuaqN)3o_S3~egKn;-(LG%;iPclMq)loickJU=)35WljSPSwTWvW(H+`Og*t?@edL> z_3~z1XeNa^4>5{dW-J5^XO%YA?B-@s>JwHf)R@NiJ#@jBcND2>eYVTorSC!&AW65X z5)xvDTGiRqbIl0!$m@zqPq)#7XBI077{9Q(+^1lN^v$8ZpV!hCHzuOvC9f_jeLY5> zJik~8>q{i`r(lQl&85D-jzFKh#;Ej-HTvXP#zZj`Kg3pj3U)}}JnH+(ktVl8`8GuS zMWBc8K>QX8q%~iHMJc&d`6C4jJ`r=m(!)3f*I1Y zE%gK=&{O1lkV;R{=qYygI6cZKm?1q2sOQoV=#h6Km7a-4&&19NPLFa5W=PLM>iPBv z^vLUxO3xNX51x^1bBeTEP(zxwqoxN(ph;epRGKCkO_NyGNi$`gZb1!c+McvmMxaUF znN*r48%_GbNvEvH<2Ujt*dcw3sBh|F!>?QN{-n}3#pu%yQHJ&5vWe11?2x|2)VI$F z^vS!FO5aqYPd`u@)>m)z5j&)B3H6;e0)6scrP8;h(Z`1?afUps&wL7YNZ$_Bw|)fr zfcQ6j_fGoOMT(zlHIIu9Ry`IPrCmA*csj}K!el2Lv7Q?Nt&cA~!RN1#vM z$yECKjXrrWvp%X%e+qU;-_F$c=@ICY_cN8g0i#bI(#%Bl=}*B9>Dxu}Zv^_}T}`EL zn$af@Y+@!svNUE$Ui}&T4cH-lyHekTj|@NmigIT z^zk)LiO71q!>KJZ&0u*cM)m1W!4B!$o%+5p0)2esQ|p^)^v$Hc#Zi6wQ?Nt&_MpDs zk3gTi9jelEmeDth`e0lxl7H$`utWOxq`tNzhM#|YGgQZKw$V2m`W7c5@iU)-9n!ZK z_4STGAD<%C`sNsYbMQ2@i=1`~YDm-G)O5fIG|AhhDkbL{O>+@5+?aC8+^1lN^zB1^ zpB#ZcdCgSmn`iXNv!dfZyTdeoQk^o`u3;3yN5IX(C4M*XXoe2TvT13osa1vU3$7G zE3JeI!5={Qw&lYp_!@rO?6$cwmtWUsw*@?18eZ092^E4rknqQh0DeJsfeHNr4E1g3 zl~bTX@COn8XCr`Lm|bW>zYy>?^vWqvA^3v{KlP~LCyp!(Gt68M?s1`4PJs%+A42%G zBZX&}6}%07k3>YELhy$Yeq*hYT5gAzT&Zwt8+vvwF;KHtEN#=W3U%e(B$@ z>e{JRDJ^qTU?jS_oG#@Q+>oxr0mzd?`kmm9@Uy3Ug!(yB|6tvV=ZaXo<)Du}UrkE* zgfEy_NTW=o#F$vrqD-X3m{?$Cdn;?kR(5? zBtNtyoiRyn34|p1X(jogCFzVwaw$I~$xkcE4=qV&Op;6UAxVB(Nq%TaI>VApJbGW| zqPt|dZ3svSmtrt+nO&6&Zp!f#A}Oxia1C97aM73bjg;`&LV$3UJjz5$mz>9UTNk|2%3WJ-=;Z@uuR&yf&TnJa(Tqb8INlD3~xos7=Ostr=qDdxF zV(BrbiiwmM)7&a1QesT=s+dTLF>PJNL`sZln<^$!VodX^m`I5+ah))l1f;~6xX2e} zA|=Me6}l)BDKVz)s+dTLF>zfiibP6`X;BpuDKRFlKt+*Ai7_pyVj?BR#I>F%5-BmJ zrBzI%#F)6M5=9~<#AC^C=w|#CQk38Or*q^I46%X zkrHF#L^{euN{orK-zXC)F(yt~qfDg4m^jajGLaHv;uJB;L`sZ_^SUS#DKREa#-dE5 z#F#jPiZYQBW8$98s$QesRTE=G|^2{Rp*EOR4JF>#x4@EV*iV4FyCYV8ZK z{%X&H)85z)n62@jKZ%FBKLV!Ui`eh296{H8a4CCZN8(cskqoZEQH9EKem3Ke`aB9Q z4rAq|>z?un{Ok$dg)~M|pU|H7^Oh;v^b)=$eD<9OB6DcvKQ>vIqi7|buiiwmM(}{*@Rjal#Ns5d8C#(EPasH=Te_m;0zfOwt zKds826z6}s^*6UTNzwi*{mCo^%)emo=_c<@2FinM9Wz=JpNH*{U+{k2%(dqB#mfkc zI<<5#Xw~=S7|G!F8tiY>WM`a%L)RH}d#)%r6|~yt3RsAO1*0*+jqQKm1(BhS1)W5p z)P+V*Xh$@@Z>W|GXn}w-coIZ@wKa2+!q&`LV1t3-!}94dfyL8f{MDw+mGf298+FQv zMLalq_^^C>OknZ!7=L^GSAeCR4wjW7ST}rFoQ+qojS6;xgPq_zSXQIprs2cNA$kRz ztyjo}HXnxcRfysKgG~w6zTlY=V8d{h4s^CbV;4i%#Sk_tZ7}*GQzqQa(Z-i>_#*Q5 z0FM>tir5HA3@*cMmi2fROkOT!l?>+BfVf~S3<*Ubc%(4`q2HHatqo3ZHO1N94hyaT zt+qW8R%Euq^88{?`3!#clvndd-TN7jcK#UL#|b9(>$=T{ZgB;ubR|;Olbb%c-h*rP zeHBUv$0G_A0RZe#IEO>{L-^ZM{(lO74Sx>ur&5Nb;CjjkH7*mq5B#`Io`2i6<3rG@ z+m13}x4zh9h-L4Djh7l`RnBCHpj&RG^^`08>?xn6em>0~^dH1jozQ{0879RwlLU$S zlcN29=;P_6z6z0p)d*LG;K8@H#gmI4AR#MM65LFWv*BV`)O~2$*Vqer@BrFQydD<3 z1D3&`!;s(^`T?MMDfJN0w84L%*M7 zHf;r@I`_rf$_-Hs19iR1#$>Xz0z&<*>bI1Je)y>`|2@&0EUg5~zV+U|uu(ZGaS_`4 z&mhd@ap^>T2sR=h)B==f#HH;GYPi&fhAS&oMO)U}{`IS36%OT1)6<7WzR`J<5_UgYYO6i~T72 zD*9{5pcL`Oc6IWsM+DY4s<2mhT6G;2Y_JMmGYW$H1iMS#G15oyc(dtI%b_1EsShQ@ zg$#EW!+jB9-?6Z<{CwapG=2W(5tg;|(eP}SU5Uv|a9AQZ8y#17p9EH1m1na=AQmHlI9S1H1-I%?K2-gZ+G z+4{Ih(!Ue&80bp+ci~q|LgT?i^+BWi+W7`*L`Os4vi1i5&v3#P|C{(xhF@l+ywYFj z@3ng&lQRB8OK_P}OiN3P=FCw83PgVUUnEdqnz#85 zeqiaPWt)rPPz>qPUm-3!6(QpY%3#jX5yrQ{9bqJ4+M-m1X-5Pg!bE~UX{b2#jo}lZ z86_dfwrDw8C4>}aom^Vx4_&kfoQGC1&%Bjih2?YfC0lQquO?J{u|14uQX@9 zc;<(J=5_*Xh!3R2uPu=hoSLuN;DH`Us26eMt%4qaJ|yi>r++U(*5uK6l_#}XWgG1& zH6)fM6Nz7vZ=gB21nuwO%ml_sop{T%6ZVpQjK5YLgk)>3@9)ULxb*babiKb7sD3a0 zH0ME@-3aT_P22n%4IjSp+rI-xXP5uStzdbplkW$l1{yP^f8w*XZw72;;myT9!hQ*t z=jGiRK6vu*7JRlQ+n~l}jTzX~eUlQ6^YIEyB2)SsKJaL7=^g%NGNrfq+c@}fT(s$E z$~Kl((2?yszCG)&q!SljO0B)HAATU-$UT9S_P&|z?fxg|#GRAU0~kPR9&wK?^&++V zTeD5sW_X_nzP?5Xd=idt%E1?XH>eQ zBiGTn&5g*5Y)7{9%8t?5rcyw!F@2}EkMRfTY-?}xSHYozG`e&@N>B-@>**lvlWhgZ zDdhMR{tOiDcXo8?R8X>`jQ?r)>gzXn4a9@R8ZqT@> z?xc$Jy6B4srG|CPXi9t*=_)ob?%`lU#>OA9b|o%<1@9`tKoBWv5QIgAN3FjaVd;0w zWioj+G?lX)U|mCmr~%5g5D86&uH$D5#90&3}@QIS8zxr(s6om(pPMSYA9Q!jB># z)LWCHTR$gK4rU{E6#;`O`MwI{5bR5uM8nLk@T;Fk`zja^$qoDgRbD^%dn|0%yRf-% zph4tEZY^vhD;r`q3@1>Z2*G+@Uxg}y=g&``R1qym${&HEcJyRj?u_!YAjr#l&m*>C zC=fRqDUYByUqzBTuwJCN@nf`Q_a^=+z?RFdrtX}~uRgPgL zH&CcKJ>cayD;<^Yn(gIV@~wUKd3I$3e06yoHKSeL| z2=oM(Aa&!*b~l5Dc@FN}ghPbwKM5r*n z=6#nNDfNhza;uTggI0Sr@;el1{k&1+rYk)|FDx=fTv+6d@CmL(fmA;Rn<(_6s#KcnA%AUsY?+g{R1Itc!s9bQO&EO5(|TG~y$M8iAUSfNJ744#2C4cydLZRuTvIs9y+)wV6c z!_*pY=9J9cl=;x6#r-y+xSg z8n~xZbyD(Tw_XXnRKh$eg!L0*9SXU4-?Rp_$Oe{1wV%wJXIpu5!>u1Dz%3`r^Rvp)tS2A*4 z((mec@uGIVaEy*vdkEz|qFe+Cl|-DgE0h}qrHF6LjL$;}2`!3t@J_bemQh}^604kp zvNW3Q2&wovRlIIhxPaDO#efzThC|8=-TC7GpcB!7RSSeFEAE%%gH${}k5EW0VI*GI z&J|{9m@%OM{em#p)quHIV3Z*WopQV{ohvkHl<<}52Z(aZ38u2TluLh^(L&07C7g1i zUxV@nbtq-4lP|C0`yf^93^)~E+a3)0IJDdfR_z=%eWabMBqHsce7bh-A!<0mYH$Ve zBG9S}ByR)jSJG8&>kcLBFNyVp#d7)FaJ3}JFA$P&2JxzIzLK(0cQ;+C>G%%vWg;cU#EDasiIf-A;al!=rW6K4ZaCQ@QdoC65cD$W*|W2Csm=HOoWn_@wV^XEW5 zs)Ur75{|+Z6PpQ^9a6$izMued2pwf2CC0?Dv0`GUPb5-OYx!jtDmnI5Odr+dos?L4 z=b$!aqtz%ADKRDvMimqL5r&DBm^uz86%&VCWFjTD!Nieb6p54=632m2CQ@Qd z9OgxtNQp6VpcV}iDX}p9(lVJ8Cnc5y9QQ=kkrGqKfsSJ0Fo;P&3eNE3%jO-2c8ZDP zMlz8SD^DE$C?*b$$V5s?hDsKRt*9`q@^o87iYvJsxkNRQ64S&%NR)|`7!yYmQ6^Gi zOdLHZrsH&>Bqf$a8~{X-NQoh_qYT;QyLwsTL%XnfL2aCOy7qE@T5l*`FqfLsXmDT2q>}w+kiCuS13>=Hx=DRR+ zG12-p<02(U?I+ars(3UFo`s&VS^lbFmM51&yp&I~=H9HG^N45zRtng$Tv5~bL8(B&J={oFQVcD&JdK(JHe>%nYsr>5Oc;akjB8k~{R1+-P9fFO`(b-Y(o)2$8EiV)oAY6&Tix^;JL$WZs^e)y5N*5EgDW887 zZ)K{{a_JI~N~dD8rK7EHWwxz^Co7v)VSrO7ySNAP8K3>L&8I8}rGGc<*V~>8h*;v5;!MmLlGBRC4<^*(x2w2J zzT1i)c%)~Fb^M;4%=hLvNaT24H9fK)gf^9wl*|)so60e`Vlo{$DX~79;E0g(@(Gtr~Id-LHZL0vZc=>g*ux17PU9~m&4iAUgwp*0Ed4I&Lg(h`CnuTHp1~G zIQqL%{=+C&GRRCyYg2j)*@S)ZX8#Iu{s7y@%^P#a*zIFHcn3AIiNEdFkV@(sk1<_I zyv|?&hRpc73ST{b8+P6XpyQ)>8d*leVI3!c?aLJUn08#aqA+V?63;5PHulfew2qcs zM{8dp+mdZXy}^$3Bm}RBwS&aWdhVNLTTwJo3bHL|ZJucy$kkSs^j|@!QEGvX|Ko^) z5PHlvrUPV{V7_raNCesp0jG#a=rZ4p>N{_~n^4bsvQ5;#4HJ~}gHU9}*Q4(pZ02LW zc*z>&*T`SGxS9j?acb5ZXvwAr&@K$rXB+#0wPQ`JImDU(?jCT1>--wwN%~FT@~=kn zC;g0Z`q$t)Hxn{HVi-8Y48Q6~nkMNAO2d0;Jl z1@4xjlcotxhO19dpV<0Wt+CGix(i_r;wZ)rSL;F1G=rhHWmtsM zeP9OK^xiX)$<^P%a}vqbH_6}c;%^BjvijEC2p7|yd-+G>_i2`gTk+%sPW`Q+NIJEK zGU@s?6iRoBM0%t5Jw8jZM_t0}_K(J29H2ZAKmD2XYC;aQr$v=lDuFt9#!dSZY5HG;fjU} zS4?XTmZBY156K&pdL`PR_!+-+;wb3*t?2t60=4>FBx2GR=eLl?7}4VIuT!OOtDhV3 z^H{3%9sUe{51ndL((^Axzko-swb<=gYidD}{sDdm?*>chIrJ^PFUUdO)%2~jAh?B5 zx#F4Ve+r$0Hvz5Es%blcmQ$orj1_XrTz1fx2u73KQ*P6~a-9DleYYG>3j}>?MEgbe$T{Wk!YsM*#cgQ^+ZY02JhPHS6 zcVX+aLkSyJd)Mg!G9xTBx|0&slNlE4He+)=nhoKr0MSmUAbx5J}kX}3i zD|&7LjP}VN(mN|PfH&__(uMb)oAhs$ES)mYJhfZ^#H!=bbPj$G#5F~RYhH3Se^aH~ z7#REYeSXbSex+F`H@&lR>rO<&Ss@4l&2wW55MDVqb~~z(TC(Tri`wFP6*Rs2s5WL$ zGY5YFSgaz-IkAZZLebSlb`n2(%9Azqe$+IM_sAt#Z%t&7f;xv0ifVt7oV}=fLWTAA zo{)bM5>8(c;u+Eo!(*?#pjxUMM7xE$0GKv`9Dv87-}pRao@KlCDc0iAb^dAionHZU zblt|><6x3JE=*th6-N6Gv0Dzj zEx9z-{}U!e1MOa;`Yz#|W0O3q3SN1A^C9$lc%*c9t{yFh=X0JuN4s51Gl$yk( z?Uk;B{5fn%m}9{*BzeVTnzS=Ldiq1*+&#Ce! z#re;z@+Zal&#Uq$#rbbz{OvJvQeul1(=3x&BqJrZ{4rpd?2TYjoTiyo{-ikn=~e!u zIR6<{{-iknS;pVKvqefQklPw28%Rt9AeXLgaI{a5;PSpt~R!M&!^ zRV1fTqt)#(wh^s~8&ZkH^C*+S`0K0Nhyl=QpGRYY276l(W`=53mV*{KToBp`VO9la zSs~XJts7Dg6F#`1hR8ibiZCyNS8Ir*zdBTGnEk;5c&kRz#b$5NhKddIG&scyxtA)h zrJhdPsOo1VJw?E1M-%kLOjfes*%~kn8ypO8eCY=_6%21?>9;ghYt6bCEP;rMf(y-H z2u2Q+X*sM?$!#@x|HjZ76c{URaC;4~*TY~u*<}QE?BqoaL(>stEe{61W9qe>!H#^9RO1K}%0P|Q(mO0 zWm3^Y5LERb3<4>X3ylsA^5?NxqImEW6jcO4+MyjW2RsYw!@-+2P%a+dcsFqp=5vyk zp#)t_ocuSc<9*ban*2-1FX!4`#^~fx7wO*}k2{uGcTz2+V+YFYX?5UbY~9eE0$O2W zZsl5%;vri~sjID&i^+|Ys*cHy(HB!;(8kuK`3 zOE4}W<&KdK$sOcx%~Hm=OJpk&ecbIsjlkFE(9C%&FZ4I z1hitZtwt5w6(USxxkZ3qxi`>L-i_p*^6vaW4IywS>_|9LT*47W`D0Z_x_MHx{}R;p2d5*r73vPIrE3qk7{-e*Rby!O#&9}Nh zfB3754D3!Y6O{Ypy(?4VlN4=+s%}ag+DhUSzDv8+x2g-p z-k=rR>T47VCTH*sThU!-_z}>|NJDi!n2+hxX4hgGfF&(+x!j&*)Ez9dAXr@^7&kE( zxB_0?{4>3RtGqhh-nf=<=IBJY6AU$k%%k8ftHt)nLEjCk8z;pzR;t=C$%6yIpxQMT z-IGPA_#{k7$f>xv-~kj|X9Zn@SoEUtQH>%`_%lxHGi($evW?wC%vliX82gg?Wrt=qE9Q80KH0j*Fr z82C0^hY|(YVmJqF7|S7yYb0La_}#rZ>{5AmNDVc@I)bn#gJGCw`A{6oltI6f7l$@& zOPYUo9a6cB=D2bsVb@vM?xY@z@Re?U=$=g5N$6fjT1zJ1bxo$L(0EN|@D8p(;1%{$ zxI&A>|8BEM{5L|0|EFl;FQ?LbYbeFhKz5&cEQg(wT#snvpcgu`4PE2#ryH8H4N5hK z#njE+z+Cw|)UIyS|2d?7HU>PQLUk0?ziZWds0cFtioC6^VdcugO#+){S$#bO`^RXk zK1$g9ji&OrA^lE#wMS1dqA%5l2CZfkuE(n%0~pJWuSRf3^RuUX41a3e@JEw+3&NK!n!T2c+<3;uT!Oo&&G-**8Bc5K8-5?#$f>S|V;$OZd5L)9tGX(3G-1&`e<-FOD9ZRRi~rJsGp(%; zCwnC!yVOsiQT-P2pjtvXnI6dm8rsB;=&x`d&%|$o!X8L=H+lXnmJ9R0gZ#_u&<3%P z1lu9yDpF2RdJZI)v^%$9y#9NHHCJfnGC1tiV9A@S>6MRD>c=xNmZj@a+jIw~1F6_l zYpAq>BGQ0~h-<*Er3kj9VUUBwcrUS%a?js@ZcOAh+nTctqYT=xjo!PgZEs*aDI`5x zq;J^r)(QA7|DDgJeS*5qZ-A~NkqvJ009)2Pxe{t;FvZ8*4c(NQG3v&QT@*1?7xnj0 zwf{%7+Mh^8$3AZq+4O^zktH>{@=uceA*55x%E%DxC9ty{kX7Bik}B>i2mge0@V{Bd z+~wM8DzP;SnT)#`XjLEB5Hxw^lSz0J0(k9W5N_QJ!`W$QxG^hL1xT>Gqm{eyIn3<~WVM$@z zLrSaxWAdxEMcO^IJ*2p{hv}{S&FGdC=g$O=`jZlBo05s+5XV;#$5j8vQoQ$iP^R&s zl~}+%nSYwv6aJlOVPM-Nu|)zquoCfi5WjTkt3B9>o1FBM;=!-d#i()v*l7!q$ZL%{ zeH9r>yNoNLlmCL(Sf5Wqkb)`Sfs2_bIV!6y{thV0m4LqIypufX(JejQeV4wC%=K@? zp9-@)SOHmOoN5(5{RJGdFiV3=2r9XXLMHYb)x2wtQa{plic^8f;;QGfr}49=e7dHZ z*(;!Xv)i_aSJwlhawVu{oP?rJJgy zE(5JlR9Ai7(7n*8uFZt6-hYM=FV}$R_^v2Erl#U^D0Lz@;=#Q{NzJG!buOh|sv(uV zS#&kklsZpzfg`T#0+FiyOzmeW^h6Dz^et4SEH=m6?(->hEEwXNE)t07B-b%M1zjteMwAeiFHPZYsI?ZjD2shev^JpfwuN&ag9 z`TModFC+WD@QNq@si2_(s=SYvn9oz{ff`cpD5=`D=W zzCe*1tq9H&==IcxLF0Ui6jjsFK|N~ym934iIkqnnsrv^;Ig6rFJ|8qQGgC;I?Bt50 zx5TJHru*8yn(V}Wi74mPK)F#+hA6F9P^#{ZYTa9bhD5HNTvt+Rjg@lAbsK24lj|yp zhD71|X#QerD~?1!REq{Num?L?VKi7~O4i87HAX4(PQ9REXGzKqpVgC(6HRksSL^s z8^I_dDKSL0c~K@(VoYr1gvsvLlj6e8CN1huiuOM)hZSiKlbjl5ItS|r4T)(O8+XcF zE6UQOWa?q`CUqQ*-lUF_CQHTgAb&fKa#{a_bI{UOqzSk?Szb>)cB5p*Jf(EkUvz2%8xjVOz9)8Jj4hQk`_Q7OEorXzc4pKLc6M+6i+rmWZICO(aOm6($)Oi)oH;;nv zYYf9FCvXzv_3t{k7r>gm(vPX9uM;O=eganujHCS&zootL2efTziClW^}_Z_y9BxL$~ZN5JTlZK%ncM7 zazAB8?NzdGQ|LOY$0hUQpbeGGH&Wz(= zOh{lzJa~aviw~Poz6~(te{$jS`vhDB;dq3OwSe)Gc{@eEXhm#JwV9T<*a zb1<@^O#0|^L_Z+TL&T9*uF=$0ZU*tg=?!nXu#oFbmrvTn+31z%ei&<8s=>O0*fkDw z)HpIBr;^HS3D(0-)JE?FB5~yx?v+-9g8d<3?|BNg6C}ts>a}3y%#nhXeaBD4uPcwv6RHdeLZe7l@)R;kv|qg zzK6)Ghl8vO6|E#`z)=J|ItKV-0)Bl2fHah(0Y?+?m>A$s2>8qh0BJT!1GW+H*cjkX z3E2FTVPunzGHoYmz$^ieiviwC!0ko=NE=ETu$_R%#{hpuz!f6^q!A?z*g?RL#{lmm z;MpSpr0paP*h#<@F~FY_@OlgQR}4vq+@z)Tq%yno_1Q7RI>};f^iHPRHAD9k_94PX z#}{nkSe>exINDSyv!h&}%@I2YVGl;Je?jawMu1JzN*X&)>{TJ`Q=-@p5PQr|haYaS zuB5`E zVqY)X5&kP5!TODXn zc8wslK07{NX4ecyS6TJ8skVMNDLW~qxtu{l>ZneNm`s`!O4}!>uy9{>RCfik5ldH`- zPLAlA9Mbb7^;}Xz&%TlxzV zFt;FaGH8(niH_cEuU=Tl_NvPH9EIK9H+ge-*hhobrd6~0K;Lf89d6e0dx+n=dtzX-0O&CX#7JB$;M}6#kwH$N#cAE=Pb?9haHenVXEu z%nOR(=epJl4`f#6q&KQucN$ z`?8gN9<=JkwLg%3;;)RVW;4GJ4g?LWUL?d-yhfR?TNxL;CqUaw@ct;*&L&M+Kw4EdS}z^hW&pc?2Q)I#r!3P zq;|~Tpv>$?P3UbTD!kk(bWPl|pjFr1ZL-^JvVv_Bf_|IO^B*^HdC*pp zQ$Q;edsg~?Kufunbe%i%v-5{QR|bRUYrbu>+ZsNNqAdzXLr$6S1U^ z?~nY0l4pZUb+#_u?*VNS=}w#)&j?E2Zk`bo3*zCl`6rd-pESx`+8hsBt+M&QkTma6 z=lwNwwmwCj|2O&ZFDgA63RJ4P{J0FXNL7gE$NQ9g)=Ikk82$ABet!I$%03EU6-<{O z-xOulZN>jWetbZksb{KnE&=WTDnB+-=_OXF%a1!i+hl%xNXZYa=Xd2V7k`uHqicy)-Xlf z*5|5mmxA_R;MPmBTHH{E5;uIWCSJiBBw1@nZu$IXBt1%=2riXIZlH1-X!gjOYp#n$ zT$!jo7Mdo^*cS|pt8@o~2AIWF51k?k#Y82cP1aYLqz|{S8G_$v!Ce^NSK#VcT_}w5 zf`QC$!!V76+5bfoMwh&+LEB{VHc|3+E9pw@%b?l*WL(uc5VL8-{Yf*GP5PY)rYp5a zgZ5vPt`>=e#dVcF^^%Q#XeiN2_5uNG|li54}hiicKTv>|NxqD=>32VOS0^&h11 z;%FN4)1`4I;n&oHA6^!2*|Gvw;i!H*&Q4gU>%qD?>fqu}}J;B$n3qZa(|(p(M+ zghO8+Nt`_4)34M>`{5=IDr6X*pDy%WgkSJq!DpiI_;m2ygkMn$et3za-;H3phu@9p zA?$|#9Jc7*iBee#GaR8%k0t!8wcv-F=D1)LPIG>`L>Wi;?5ieA?Ip5cchHJS=y^775wy^5T*2%E8=b#G^|*y1H^*F^_KX=VG5)AfsN`Ylcz!9kF~}cQ^~$3yi{VkMaI*~?hZbMG;B$cn`(%> zHl&D8k-pcVMa~)VV5wSyKNd7OVwGDFOhR8cpr7i2^brb z;BC-q*Oz$|S@35g;@YcyL6eTNs(5TokwGis8uksKMGmosT1#$J={8=ifo?;Tmn_P# zY7b>td-$sdugd9q+xdiTe$&Kf#ISkeH2rMTB2t z;a#D<2ed*l{MH`EBzlj&YN=o`QSxt@*gKRJpm8}Pw5Pram?eaHtOiWsuL9FHJeVB_ zb2dcc)%`BeYFGEA6ls3jh>W;;$Z#Z-${d}9GI2-3&$sYyDP;v{n_Nm+M#&9U(k-Pt z2AW+;IkxHyk6B77e+K&u>d?oKEAl&0$JoD_$h*a;!$HF`L;{vNLhDiS)^%r!-%vyR zB`xlA)#`GdF(Pzad>4ujykoSZ_16n0$AZRYlazRi`Ewq23Xd;$CCWD~%E&X2y-p|t z<stACKN1MA=|bTrqfDP$r?c zB@&f$|EprKCv~*GYeMRZ!QP;$MR~hx7|+DLD0@*2+51JdnAmg~*qh?1zZ=#6LGEF? z7|uO@y4>4`@P}J?*F4<{n%P~JDA|mNv~;Rx-j^s1|1g1cCPPzFLLX+~0^_ot3M|7k+%a`JM}kdxh^?Z}E)r5mqy9qy-A|3Bni!24Lw#XqAng5QN zN1J8dM-_lW$$qBQ;G%asXocd~;q^|35vAeZCY=94S;u5KT-N#N%KG7i zUuxl9dvgJ3roD-lb-kXf8XXnYj}YZyi{eU9#|M&=o2k!7Q2Yq6s_b)x{0b4T(OgN0 z)bZ2JmUI=wBdOyhtHT9x=0*mQd%8n5SIa4TCiqnNTyuU8Xq)VhkD}yzR`PN?DPHg) zBy(#?h*znPQf3AG%p%a@fvzEcG~{W~K&*YD zyP$3D6JgZ;b>0s>)8e|>(e0pBPnt^%#`~828gnwQhABC&Kam}ClbnAjCha-@Bb>U6 z8NQQ<(^qGrvnd>w2*F7M=P zl=#7}V7G*-I~1x<5$crTL5VFv1(gOAL)9G$)v1KKeRxoEl}$lqI(sBkJ)uyYMySV! z2Stn7I;|Q3#ZdKxLUlT!QmJ7jJ8!XRsHV=b5~{JGP@O@jf#E^%@|%Wg1{6azHWaGW zggU`OxoUbFXw}v9|B?Lz%WhXsYgAJ{-j*ve7S2-;U~Qf8B& za$8P;wkpuP1I_ymv`o;0EvV~OF9OX>LE~-enH0L$3T?I*?T{;Wlvp&|+Zf!7e3?bLvtl@)uIRRXs9j%b{8Vr%c8;EBSdC>@v<)9L+$)$JM!vIh8!i!c7zn3Lxpu|qtNaB?+RLI?>}C8 z&ZXRCR?bEFJ5Nho~_NUi}g zQ$lM9*<9o-Wlp8S=cwl=R!=OfW16HG4KW^*fL=g={qPM&WC%aEo1Cc?>jGWKwh;=5<9q zEPjCNE7@_OmgMsU8a>*C!e!4~&`edS99MN@sYC88#&ZU@7eg0m#)tG=PCchvJvMuS zTSd=MIU{CFzChV@n+cXMYW_vauCcP0+Ih>(B0Fv^De-3VOBDKt6>>!( zpN(gY+^bYsGeKp|6%<|y#&~Bi2%1UJTAhJhnH;h+z%9y9(iTEVdnFa#WEHy3;0=b> z|2!8UNz}!mh)a{3IL;lpNqH5aXSbWUIOtxuoc#dbrG=1x|R;xDlq9Uge`iX>YvbDA`}WvCEcPq6=FXY{KS zTm+4(lDbfwDWT9y6S~Hzo0VJ{*Ee{=H!C*~sr4_$Qj&XxW;$qCcdGpg&DSXPJapl; zQaF8>Jn<@DCvnV}`jhe@;x|Y<0>rMdLd~r#XAF z{tv@H9@BS0Lwf%VDriP_fgWL2!5ws%AURNLTxP>B@QACawRLq%> z;5E?lRc8cl1v}T^_C$-@`@`hwIpc8NrQqL?fYt0)7#4-Oyfvit!M64y^P$*aL30cE zPhZC?CNH`AW;}-LA3quI=_Xg-!UuFqhvQ@IHRuB6 zZGef8eFL(Cx8Xfq2&|!ims&$!Z=?5pzOwsEJa`hQ#1u_){TC=>8#0hAQl1s<26^fj!S) zA7ZgdD)W!RHi^YIe=kP(|BUe0*GQ{dZCd48`X+jr(gTQian*!^S;(h z{*ac8SNa7QW<8nOz=*acSAUNQ3}b)Gu-!V4mXzt^_d`gX(sCd)!%jL*45?Q+RS@*! z4t%G9dGRLm;&z=E)Qr3!Eb`(9%nM%aw7Gw7s=qN+UpgAdeI3cww}G!-v<@BzQd?b0 zy>mPTxPKw;9U7O6p0ESZwR zs*R2C(4HfnJW2c&vZ>_i+aVP$xaOJDiTasSJbAqO2jKBfKzLd*{f(K`i;%yqFW}uE z_2TH0@wZKLaxSp9QQ7!UCVCRnc2TwzOh%+qf9zVI9OKRVfgRS;io!;U&6A{`!T~WWd(dpYu4NU z0YBa@FVm=-3fU5P;`M=1>A~Nk$RdotL`jXkjgU-Co|;H~5pN^>HtExZlsv1_zeUog zaV7Z}7?V$yX>ChT#r*2Vy1qKK`q8^FEY=qmo516(iDI%$dsM7 zciNmD80RHRc$cH;QGUzeJil)l%H!4eb4I%KebfW7a;G%?3Ydj$<>}*e=?CzeGT==W zh3X+3c>+-KbRl$3LYT!9uV~OFo>;kUPW#KCZ=jeiOe^8Fm?pN)xtUp1pGg3mo`Ese z8yQ6QGxc0AQ*Va&pD+kbLDQ1Dle}b^7VT7O$g;(IkdnTM@6x2j_ALz&ISxEY^9Uj! zW&%|onUc2v|BkdtZlLkNrj*z&^881^r)x0lWPRd1VE%)AV#6zf$>{XY^HV#bP5B4h zgD~OR)GT(v(xo54?LPspGOc<^Y7G7c@k|dsfxl;X{$tS8`ochq@MmKDA#Ea+QBt~{ zOeFSBG#-)|xCkLXOrQ58F0=(DaoIrAn@wKV z@-Abl7Cb3n;@v9wr%cxN@0t?3SL&~mEPnXbhaWB%i=>ijwYj>EavZ(2SqdM7P|P@H z=I6RqqapmWwTi zC>LA?-+Z9r#i#dQc=O&42zrw~jryt4!T6+4OL^*}E$P!FpM0RtcD=mnw<`$azoZ?Z zsYcZraFW;L4W#vWA}L1UTyv>g|NgYvn(IxLX>(PHvH@<%v^Fk7+ns2{f3OK#^S95S zYY>*(*Y0Ng1o`x%nITBy}%i?LPSx+~Xo&ha4 zvoY7%IQUyQdk3H8U)of^6lt>&VH?D76vK#Btr%G&MbLY5$UM-R5@R>oFnX>fU3w0Z zF!DYRWB=#jl-ZcqsAg6t0%NKco!;yf`b$1QruH>@g$2q9sTUwM@Dnv-2%xRB7*fwE zJ)XjO2vSHpWruxwVrgLJ4s{8PcB;k?IvJB5O1>SJn8XD&*siPoBs;lMWu4=Y4-s$7 zf9^Dsg$-Ql<;49*pe$EErW%`hOQHd3^%FhrrzFPxWXHVar?uxT4T(is7p4+-MRjRP zN>$HhsJ?#^X0vbti{q=bv#yrlm_bi;+*(S=3JS#SE6PMljOo)= zOr*q^&NfUo+evZ3;dv>g$<$R+!gUp8i)Wk^lPMdd#L5N_G$|%iHb{wOJ5SsyCfNf( z0U{+OI|8-<@i=XiiIf-<&&o!bNQp7=AZ(P0lo%6_xJH>si81l;YLtnT7!!}BMwv*7 zG4a4@l!=rW(`i*qq{Ns`uVNx4#>C^FQFWxmn0T-=%0x;muKywOr*q^-Z2rk!6C&3ho(uR!679UoOdmgNn%oB zN&I)qWWr2JEI72v8C6G0Ox=5y$smyuL;6=06DcvKe;6hkds1BNX_PV=98zMz`M@%n z;E)p2M5~X{%pfJkM1z~cWP?MB3r?HOQ8QpBB{tftGfWnQ6bF(t{uVPK#wSsY6OE;!TFhMw}EEu~Ei<1CFvuYe7m%?wQ-xqQf$o9494~r zkhI4#nRFy2rfFOi6DcvKu~kf@#F*wJ8fv3&u@E z#RSVlqhe$tB_#&OEYlW-Y1Ii#4~$MoahfJu|8uAb{-iknDb}CoOXyFE^Pg({dGwF| zq&WZa*5BZh;{1D!zg>4DC6<7FhH2Fj9SBk!NWb;pO|PDk;{0j!NHw=+g^-lk3gI-v zw8|{8lHx$7SNW6T{AXByvzAGU^Pg$`4L&K(e^!-0Db9a(l|L!Ye~$Gx`blyATU&ow z*+x#0qW$Ge&L^-YpTs(Pa!RYeXM#t~W@C?MV2`A~JB|@Gb>c71@7}E|_Or*q^mKrA8oRZ@5 zaYy5C8yQk!VP0mKY!6L}1KG*=+mR9}v9Z9;mdOk~NQn(ScBx__CC0R?WikT-Qep#w z-7J$SYNW&>wufb+-33+!Qc_~$#a4yg4U>&MDK7SV8h;ymQev^+%QBhRlM;*A-c?Mb z#F##7nM}k;iA8L!VX|Q+#fABE#@~jSlvtQAuuLY*q{M=AeiaibF{XVilL<2^u`usz znM}*S6f&(m*Ndi)0u{*GeiIf=AL6*tHj+9uK z4mM1-wvytq?J(nS$M~egKn}M|Cb3D0CH6-wlPUS6#7h2AhRK#9Qe1G3H2$^}krGS7 z<(A1LAt|xcIiiY*lo-=G%VZ)(N-ScR7$zHLQe2oXGX6Hqq{PB}v1Kx0CM6b}3#*t& zi80-5nM{~TiG}%A%T(b=6X%#0;}|eU!{4<&BEChk)87>X4mlgi^M2{N1n!7m-Hlse zYd?bCe2_;lo06X5;@Jf+u|N1yJOl6|j#A((CI*Uq&1p48nXbktN&m4?37nX}74O7% zr8;w^9l+Dt$m1hvkbeik$hhSJuk;dVJYSkld>Q!l92*J9Kyz>?&QA>T6yzC$zgH?B z!v1Cdp}F!A?TPwiX+6Ry0c}wton0BI{6-yBb~NNVyuQg8A9-?CrL*z}*;V)-5O-qP^qa%B$d}!d=?nDFQpYmTo zDklAB0X~4kQ_u4^lk{I?>?Z>rzny+N&H(l2QvUNh;8f@p$ls)#?JT{8R7v``fd@Y~ zQ^eONRkrv1XD~<{n3wYZwgf_VVq6sx>YJeb0b0vH>E8&n0o+iz0l)MAp2ASp@0)}x z4()YGe=9irtq`W%Ovt}Yd@e+X@RR;b@Zg|R(w`n-{w$ffj2vO!8$37!<@>-K*gEO& zi|>y5_WGnxpN=w$3b-8iC~|X!D#ATT?sR)P z>7N|oK5H?!xquYmJ_|gZewG=50G{o>wo3Z+Q?$}+2qAOo%RIl^5YMTxVC=}WXZ*K$ z?)v1UKc0lf_C`f0YC=+JnRDva=9j-3XSBwszFRf0Nl3w;h*)o1@AI zcMEEBN46b}KoeY!yPn(}g+;jMk-NPe$u*~%n>|;AJ4f!0_Ku|A8R7miqsY-xgnKc$ zJKK?%+gEe5hly}+LGCf_W0L;l2>10n0-Ix%2=@<>68*d4JPA|ek0{>L7OIa@T?)xQ zJ@j$mihdN~+tFflEgwLB{DpxX9|dIl-;kJ!_7itjvi>}j-{3E3{PXMTP|RRWDp{J0 z*0l6=d%|1q`SanAPAz!n#l%U$wC?(oN^=^}4DXcmC*s%N2N95xN6P(Z$o+AM#NYQ+i80_iM%weI0fN)0U`ToOrDIVG z*{8N55_-vlOC~ty-jKKpGW-|J-9L3wh4=Ofqbif|Q|6z_Wc-;>nS#ILDpT>dNY)B( zgTR#xD!y`61}nVr0oqxE72f55>&JtYKDY{_a=F~#*=+b;N4i(~NgExd4N&5kZWxB- zJ(=RRh;W5BV2V$Uhl_Vxiv9$+cxz=6LV$lqDgy@!)V^&>O>u7jkEHoVfO#|z2=+oPn+nw9Ri&1o*>+H=opwl+%BB!3I&Uqf0430rz zQlnu1SZFT2iN3V=mf({hCs#9ya#J|z^A@BW(!o6^fsIbNrHK?-EGe>vch=OM zJg)tuWqh*?q3BO`_9o@7O5uQMbQgL{Q=snGO_)o%MJs?Z1IklFMl_zS{>38S0h$bN-*<*@QJFr50*< z2$*WRJ>Xt4;bZ*CA9Bedt+<``*wqI2_vu1!ay27$b$akkVDzSDG$!T(oBx7ykwnT~ zJWexf^W5t}gCzqJ;+71SFjY{_#3o%&c_}}8$~$VRls?p_R01anM8FGN^ei_XDCNE zMI~c$JpSU*xldGuShdbRfJ$sU#>2yyz%M2k2msvtcAcTMrmV|u^5Oxy7 zB7~*Gov>xO3|kZk0og=E#DVw|1VunZR74g*MU03Dh!NRUKtyFX{NMMSTXmPdO(wwi ze0ef`tKK?w&Z+g*a;k2F)S=T*?|Sxt%{`vwH&7nU-Q&?<{wbwfeiM(Hc|EP!^1tB9 zIOmYMrr3m5k#^n!)cbq1iuAg|sYsBvib7YNIX9V4Z9Yre1ZB>F%tpv8U{E1a(XEE0 zcKA}8>cX-bFvO-3^Bax8r{V%RaMm_hNcHTf@?fKQHdKX~0Idcz%{;>pk-vLH{>D-H zZoX8r$oU^yQcr`b(AeEzba>+9beKF_b#T+}A5KXrkKPt%KS)n!%3omXE_O|FF#PH6 zmx4n5eTFq?O4{3%h5HbDi)k70q}6yj(njirrsHSWU1De>oR!7f2zj#H+a?c9{S42u z)3~qkuyZSUI7o3vXZ)5jy*z*w(LHR1i8LH?h_l}3qwM4iE!->U=6O`TLXMT4E&dVa80vCu>K3G_3H2(|i|)?(H!4eCAM(1f zvmXI{=q($YGG$CM8e6*eXegKASWNYsF_C1YE`I??&-l9X>o^us*u1&U9cW4|DxU;& zA{NSpL_FOsCdOihHI!i(-`IQW+I+*QI36-Y58~!(v=tb3c|Eo5lrcA{$)x-0Sp0c^ zEqz?-pfhWv003xDdyrh*5O^G>%B=HD!(=7^|J*acMz2{2($Jk9l5qJUWl;Y6m=}2JJBpu2~0|}9y{g_CH`3aR4T=EX5x8xnc$DwJD%Ij!YRQMs9 zK-ZB9XPmp?lO*e6ILN7X0y*Idaug&L4#>H{P9(lySwTdV!$dOA=t22xiuJCv4xJj) zV~^_mr~`wjrgX=MqdJDoYfg8Jq>X$_Lw#Mg@4sxl&!o$57&HdSEmRhHZ{UeKF7NiX$&IOVG1*~1;vNf1 zt?zs-XuY`E16l3(KTj@;5hE`7 z8gfZ~LoHyOXKb86@`q8$Qqfh+QH=7zQ|9XJAc506ASU@8b~NLhhj3MGEjn$@l$#l+ z;;xlrNd9+A-fHu3Y$wP^t|Sm|ddDJ;w?D>*{a=8~c7Y}DBVefI$N4Cylk8ZS=UN|` z0@g<&;lUh;n59BwSK)~S!$xLblnId-6J}VH36X#aGbhS~NQ?=yM42%2xRpyJV8Y}p z6J`#RLnI?vW%sX`Ga*TnoV{7MP0pAxdqe6bzyFhiVExAujcDMt%J6!Tyf~oiCnPxL zmqSxHE1GJ?IL@68o#Lf@D6r(Qh6^U{IgBDVCS{I|%b10g1mgYVnT&Jh*G<-O-(2Hdp>YVr<1AsEXDCO$Cl|aW z>c>awhK`?c4-T$~!K<(j8!e3k4f@(xN*;TIKF(uR5)ZjwJ@iBejS`f8wVVIt8u#$s{kdAz_$+d|hnyty zu(bcN-=6Cy`C3ap!jw)>h1XDLydJ zFYC6+{qL;K1G&1qM@MHWWv*ZgyulT0=TJiZM3c_-OOR{fRYJX$(C=UJ=1YJ#kZ>*~ ze19X%gr)2+x5YRSQY%Lh>>u4DsZg{nR!y>8F3-9$kZZ_$bod`RQ)i&a`Q&`s25^?U z=9P1!azC7f~{TB%f;^=GDBL9dzFq?zeol1?oA-M252^XpF_6NU2| zCKDsK%eP;Q>t2TF?ec86xLv;JvFY)ec~rFaP(>RVt!Q5&{~I?TZ{)Ul%^Tb{Plta` zp*n*+xqzH6ztZ$v>(3LpI9@s9;&?jzJW*%B`9gADYjwUG+vn0JvZl}zbPj&wkc;D$ z^DyQ|DU=_hqWN(Vc{gujYT;>Et@C-e4qrEd-rVq&d{hXLOW##UjzUIIU{ClaKdO*^U%k(fGcrBNaxF(SUVRTAIwltd(u#J90BF?EMXtnToYs!U|I zFgD%yA%+OL2Xr{*MlD>wmltovoh&`A1*xrti}~j6`ybP9xx!&Qud3@-DAEA#W(<_2Q~fDkk$S9onZCvw`3mnbn4WH~9}i+IIl~-MBJsxtm;+;09vMOLtc4Wq*20D|;h;V;aBPnglmXAmL zo)&$U>##lDI|Tc@M4k5_4{0NVY&+Et^b-Ywt**o6Gr_aRc(-N)oqhVM(>c}t1;zHqJsd@8p%NiN`i)1qM61m)8 z8!q`Am)rR!S(J{FTXXs{C^T+!=sTfax=pTWvaGPstGf5r>$GEds;XKbomX0bL=AiM zBP8miB*ie7l|m2hM$mnly%BjR%f`7LFA$hM&CHgkBU4+t$71JpYq+pQR0BobiFl!v zix}QxOR5=LQW<9(g!Vp--I>g~LJqakY)RE45xPf|OLcFX8VV7TFWcdnL%v9DYV<3e zRS0rey;=&mF{l+=!k2T;Kq^-a48Cx45iHWCypruYIlc57$aTEX(hm3dm(!;hHgcDK zlVLF8nTTeQUV1%zL~roXO#~evsygMMlhlz+xPH{kV>$57BibFbLTBuwl{Z3Ulw3mw z_bpz825m0jWLkM!)zD%p(~0{xk4>k&>mb6JfC$T}Lb|w|dUY}6CdAYbs(}#d*0p=V z`w*6N>GJoGB(aZE`-%=+gw@8nWbDiSiwS-2l(aK|;!=B=`C4}B*+1jV-5JIjH`3TH zur2G}CQQ_xcK${-Fps$kY+wqe23xT7m_w5nzBWUVeQFr#{0p(Hku7-n_J=;?`_Rpb6X{P~E+9x%rqcj!6nI<5#Jh_Sb@XZmS zABNB#Sg%MbK=m!!r*Hrhq51&YQs&MK#%PrvYB{+h5F8j55``Kw33DcV% zdozXZAw^yKmtKugZ~K_24672AE#vUiX1Jq`y=x=-fuX5evS@Rt)9#s9m^sO-=rMFn z;!0qh!%^#XiP)}xd&AM&aQ*v5EM}SY?^__)-RmmDC77}w1FWM{R+1zgx=evj(}kz& z;ZM@uN>0B_(B~gX`taLyqEEfAPrXk3ze_GHmP??|EMR7-B3Lph>ec)WG7nG=EFt%I zS5~IzBVbVux?tk-z(v{fkiW`=<>5YXxnUA4-uwlaWNzXL?)Mq(%CDMef%ZQJ#@tNJ z91_aSgyoNr4!4up0#1Tt(it%GfW;ER%j^m!A>nnxJIJIrL8C)_jj-et)`%+@;S$b; zi}+45yUS{1CzI}TqEYfT#t#^2ykn9PM7nhnKL?o{=`KcEY6~&Q|E~i}UReDhqwJX= z=R{z|WHEO$&V@Ekki|Cw>*$Pp3XCf+k(>!HD*lL!o=IS|P8jI`M5}EZS4<*|!nOAv zGJ5#SrUnJM^)#?5`%yn;oN1ey+42$$By_gi$pyuVjiR5B{76f_bUoxhC3)i^DZd)p zmF9eBZB2x`Kh2kA8{8(0WsgSAzz@coMvWuXBH~{1+w>9hP{fzvM`Fcf;Rb8=?&;PNPkk9`;0Ef&nHZy$t33>AKpb4DJK-mN!8j+uS`9RiDu+|c$uSb*URQA0 zB;hrj52SF1p)6J-P(GCb_n{^Qa35wARyFU3ns&RXGSyNsUX!e5j4`w_RR1-o5B;q%k&>IcC%3!`Rt4kIiMkV-}eTT7v=bA2zF3v zvNv2k?scd)GTl$BO&+Eg)K_QGe4%qHP9&I$Q^{yJkszG)QK#x=@r6iizRzkCB_a|d z;=4>Gv070RB7r2n@0AI=P3{-6Hx01`!frf@@NE!9m@R_nb}?e{#iumF8Risxiv@^p zCI?EskOG`Kup^El>`|i#dmusdgfC*T4^c$Y3WR;C#xnUxB$h?2hoNZ5A|gQ+v8Pog z?3207LnO13KD*4r{#A+C6O)KYW+i<}bf_M!(JI%T$N8K&Se*c+oVdXmYSiBHr5Llq zAjOAxkVh!@Cne@#H8LMQ6t;9}kDaM5Rj@N}FONt4ZCcxlo8i&RXUjjqC`d0|XGVp{ zWipi2OVsPcCJfCsHF9LC_ZZZG*|5ZdB9f=&&A^fdg6t|p6b%IF@eKs$ItM_pe)a_J z-Dm~<(ixbYXgt-Zi}rGFLBDt_6MH=5Q}Tcd-B>d1G>>?}xK-=RQu7 zmoLgAJ03yHD{Kx!Q2Gk;6^gz~x$co~&bQ>-u<&sK$qs|1G!9Ii;+to4K<51cN+IVd zEbn{8U|BBKZ|3Y?}6*DbnQyl^K_j^*9&xAP1lQb{e-TU=z5o~m+6|; z3)d@jEuiaFx~`z>Z*<*H*Wc-SldgZzHF^?UuhBJ!uGi`E=z4>$HFW)xuD9rVldg%I z!Sye?4yWray87w*H(fW<^&h$(r|Z9Ty-(NMbWNTN*E@85iLQ6)x{a>)=z5l}_vvcf z9Ig-O>Y?jHxL6WmDTV$hJI3@9X62noY~{VKf`~|rsJ?=TNQ|h#5=j?~PKiit#ka{4 znLd(8xQ{G(wLoCneI(L^YFi^dv9ax1=w1r24<^gme&WtStg}Lobc>}J#s)2^F__5~ zIM;m^%$hE|xxI5|)O3Mny460dm<@kfF+62r#=0}7R0=y5m=!j<;@g<~ zYv^#pLNg0b)mkhQA*3mgi zCW0~p4QAL_sr~3If0nItW7Y)sxCAcCgiErGMF?ba1slDIhb{hEk!M?Ii74vEk%zdHif^UMA^v>68mCEO--k7XJgVCt_;o8d-N8D zOEALj0oKtO46#EK_m;3mrY_IXI-SPwfE~4i`;58UIFz&{Zx|nF=8PI0Q4k466jVnC z3#MHX3Af9+&cSR)#HWUhk| zLw7&pxaW|WL^Da+TaS`uy7NzLgEn`r$-^@aZOeHBW7FU_~S&XE^QXYkmb0kr>h8mgrYLCnB+<>PJ{2(?b)9 z^{X>1k?AstguBc+X>Xed5l@87Rj~5P#%&{{Oe2vnKNQ6F6+}d0L^CUhh{T9?utY_U z`5}%-W+i=^rBMHKmWXNe)hAe~{&tqM-RDOnvywi`Z%0cM;zzKO-%b%y>PIA&h@C5l zh{TAFv_$6WH6pRA*XCIw9zdozBC*?7XIUb{iAb0e^6WrM6iOq($~4Zkq^6z`iPf`% zERpFah=ltI)Qf{Hk>Nxn%n6#!wnQP#2v%ygt07(dkUw`N;x|aJ+RcQE#e`om2v)M% z-IAIXMxyEfKSd`AHA`&Lz9`q!<%ZuE<^R_1aLzvjDei*VEvz@8b zd~7F=z-F*>7~WH|>ryA32j)(+1K0*}+c|fP#l@iJ8z0SU)Lm(uUr9#-kq*LwSQz!f2`xqT$wE~|#c@-1Tt`!-N0cm^+ljn=@Ia4WjIgahKiSgN`8XpFH zET2)BlZ}NwBatqA<4|YCJW1=gSP*MmTRSn|v=-lC!Ldf!Lxz=ds$oQ`_E;1I_hb7J zx5WHhx*0_E9+q}ias7Z3=JrG7*k2#)*m%>4;0>6GHg}J}R$L=o{H*6fjIs0OCinn0 zFjbcR}tl_!LG15z8Xp_Q*J>NoHf_|?Vi-Qy>)II)orq`+sZ1s z3I0iSBlGl9{sy|yS5>!?HwnRAo^v>dLmcQhN6^KAk9(nq8McID@bgDG$;Caoo)+wX zBcC@$e&gRHwX5!*f+#+e@=u>nC6{~c7?Z~AIxPPWu=a}edyb;qXKXqY=^7rWBkEG7ipc$`evv#8B0^ z1ItDZ$=pMe7$=+ka^fe9Ve`vpG2mMaS>ke7=bkZmww&S#TNwKC*@;>-Bw(%HKx+>C z+&h!lC(p28ajxuPwoCTD*{(VRwj8**uUWPnnfbX~ke)Uu*zm+n^v1*udjZd*1)IaM zFVG#>S97rEj+;K{5|sT?RXSH|GsTz$`*{R!pgjk=?!Fr!fg7p51izXfpYb70TT|2< zNZ=^h^{fPrgl+!NQ;|PnBd+;V$NYISlt2H9<_`zg?ttYTs^Q5Mksl#5+WVEJV|buC z+=1R4K)d&C0B;%0=u`v#;8hlgGf zoHV%UZH)H8t8zPFm4_cVeQ>X~A)#_zFmrtsfdB0wc$c-q-KzblIg7xynP`!L9S}*sdz_+cy z_2)t%S1`GNg4fPvW;7S*4RV3AF?Z(YOg;zovL9G-y)5R6)$3(3R4+M$b6>W+gL*k` zyQF%_xtzNUK^2E`s?^K&T)Rmu285c}{%B(94HC<#pnK;ANEn$LX(Ws^5-?B;S1Nh~ z30%x@U$zps;-EEu{Pwbt%5m{ZqPo7_R?3wMUhLRmt`uI`&Xqzr$~6$TAFSf5y>|-x zj^?nD)2Q62La}3*u4?D>5Q#P}u9CRfnTAcE<*vZ6+{>YQSj*A5(FK1rpP%V`6&;ZJ z`seD{UXM%WMo07>9nzaCF7CIjKu)4HTkaQu1({Y0z27a2$&I0<*HBEN26AIm>qE#S zwS&=m{f%L4ZmcQ2v8MF!G2C$J(HoQ=XYcN~BneeUA|1I7Bca1e=#NT(H;}-oKUa@` z%L&xWX;0Q8AL3-6$?2(Umqo@de>F1{P}G2eJ~;2sq^?M%QlmM?UCkj_V|G>s0A}W? z3HU?3Om!chk!4ZU-nW0JNNrF$XIGLCk`b*!aqt~(jxa+=C5a3U<);tk+l@=wCO4;N8dqo>~UB4Q`_TU`{1)L+Xc7dy1hoKKyc@}u! z>_#>PW+~ESLNw{s49=E^gECvr$#1Ltw&Axgj~^W2AkVB>=K2_UG~ z!N}9}8L6KiY9@td!qLEWdeLej`Hi>Qfj*q)3zT0vf};0LpB+D8KFU zJ5qj2@+-1O!HKeD+{&`7lueE%t;w>pW$I@%_$+0U*I;C4%hb|n@Y$rBTm~;&^W13g zY4e=%H&k}EOpT2OpS-*o^OMQWmZ`VVVEuKiL+bfr*7NyV&qs%3H>CDKJts}Z3up}Y zF`&$r$I5Sq{C3LkM)EsOeno?g;Y4jG2UFWkKUpcCTus`ON8pC@6D6{2>^1F%riZlmKv^LV4)}~`0?yFVG zBNvn2WO=HSk@{)nG5%oWWy{peNd4sLW6Z(J)BH42*Poxb3>xFSvspF^wEQ-$kVl$K zh{ka50%f+`Ex$eTEAo2bMEQ|tW%*UgBbR9U;_|X(>SUyTT6v5=7I@;h3~Z)!+hW9mTk zd8EmB0gd6l1t_!SE#-Hb{B9+`)8%(-`JExZqQ^FHqFl+RvRo_mAa|4QWIeKF>T0z4 z|4I+?9gH5?GBq~ZeD?W4j)T`j%f)E(S(XcVZKxjEGPO6_d^YuiTt1l|*)r2$wE494 zl<_}}9=LxYq|GO9FO2!=^~jc)9+NlgZ@1&6|G0wv2QK61_-osc9yGZ!q$+Wol}) z`0Ub8PJ@@P`ERuNEb^Z`HdKDLOs$O;pRW8F`;*DfmZ`hZ;*-`t#``q#vt_2hXtBQf zKSA2xwQPUKYWv$cBwyzvq{(;zjp02Dl-crZ`Q1f+McS@#qP3CUw6c{2h(9|@1)NLZlMz;gxSjY7%aD;6) zNW{(bN235V2qs&_5enD!A7f$cN*K7l|5yvlzCysLq5lgAa$m#_fIDR;e0BjJNx+T3 z#FoLUYx7(-!&WG{e(RExxoa!XLiE- z33>d{W7fyR<=&F0!5&c!G$TX? z{i|Ggar3~U;>-0280Ax4f^19 z*FXcebvD|^@oXQ9iR}w-W#4%~R4ZQ56SiVwOj@ydcfld;quFXjNO13mCa}e7MM!Yf z>Qs2$#fcgm7}X%ucZ#i>Y5-feyN!^cRs%wUdp|OP!>k5`1Xm4CgV((#QG>ZvHJ~M& z>|zY$hUdL|jF910144p(KQ@6ms{tXwRfE&vb?;Bq;Gn7+hzXqL0Zib2VuZ9>4G0PD z{nP}uSq%sYt{R*HulsJI1_wtq2-O1`%K3SK5BuC}gygLTgar3~W&%f84G0OY8k`BQ z+qp|pO*|y30mlG-O%w||%>!82-DiXptOkSx_kL~yi&g_df~y8g;B^mA)Zoyl2BAEl zVV$1``Mh_(5z=loASAf=fC(IFH6SFoYOoYuw;vj~58}sJ$QHVcSk10U`EpoQt;C*> zF=@}|JqU-i(2~`Pkl@}!CUBJ1ijd%{)pB^fvs{tXw zy@yTU7^?vx!BqnfUUyES21iuYfHr}$^D&Ua3EM}Ekg-++LV|n0G=Uvf144qU24}(R zE=$zl$f_EMF`(uFi~)aTgmhXB2np`}+5~Q7H6SFoYS0g_dnYt--^Pz~0_z6%1>7xm zOR5|5qFRM&tQZh7=0FYxgpa}@bz_{>ijd&mZ%p9ERx3h+t5)a0>mHn_!ThKOp}HX! zhN?j+?>%OOjJFyP65RW(37lXxASAeIa4x*Am#D$#t7KWoxc7S#xT)2Ekl?Dp`S7~W zLIZc~?x-6lvTm#(b~wD1Z}y|2T7~KcZ5(B{0v3*W?+GKg%W6ePaPJQ$u-j@yNO0Ba zi}1Sri5eUo)gV+i#6Xg|59DAV`J@rjV>KWoxc5gB*lRT)B)DquC3xL$C2DX?RSm>| zQZ;}9LV~LX7r^U2mZ-t8RW<0$b(&J>%zMumA(O2Jgar5g zWCAz08W0j(HMkI7w`LF2jRWxGoW#0u5wYvxt*jegh-ww88yn>|D#(tKoHo-=}{S*-{O?)}vS zZe_J1B)Dp|3SM_cqE-u&w3?8c5Y=jeuhqodM5EQjy!X5jJl$$VNO1236S%e2ijd%{ z)g|z{XC!KMLXuXS>(@wc6Czsw>xJwCc)xFB`$zTCE5P?!96HKWDWfB)DqzWq93Z616%hNvrN$ zcT}rxU#p&6kI||p@4adSZ)de4B)IoC6S%$Aijd%{)n)LyrM;4B`^iaK_2zn^Rj~4w z>-Dvol$&IZFaMkK^c-@nsm3te0oRir%T|w-PL`};P zO~b2so8>ku$ezkTZnM1ini0IC)ryed-s>iCC#w}9!Bwj(;dNX0PRgrAQ4K=xt;xB` zMuW+D?+qhlXR84r!M%T)z*$xULV~LXSHbH}Pt@R)sv2yb+uUfddER@|2$^j)ASAf= zFB7}B);8xXON^XkLU`pP5%Lv)kYCuSE@82eHH>&|5!BvB+;dQS{ z)Sxe_LFgSdH8<60Fg5S}#|YWoYCuSE@4qH+532zo!BvB=!t36XsKMf>2BCVeMQ#hD z!4`S%Z6jn)s{tXwy?0FDURDD_f~yAC!0SGrsKKdKHP|w@rO{x^y!WmVvbWWMkl@~X zCU76C0U^OvgRjBsw(o-$x&S{;nJx5MVju8xW=CR8Xw6xn_4d=MYBeo4tswg_1G#B= z?|mb9U#k@%!MzVm;C@ysLV~MSUx(NIHWaGV;Pj{l$AHrBxwgt}Wi;3-?|o>5%&{5} z65RWr3EbamKuB=a;5vBS#}YL-BdWo%p!7AEo||qon4b6686gK)4G0PDePjX;v>Ff+ zTs8OxyzXm>8k`x?z#qSCo!h!l=s4ORylm~OG$S{|s5B$*;d%?549>MG5fa=RVge7c zDiIP~Rl1%keP^Dj81^)j+q^H1dc@Bw=?SWDA`Z`G_#b&?jp}MF@ISy`@EDT#<=WEad{nzFEhh)9g+gbE@eF`^SI zh=|09POcy#5+f>C5D|$HEvg_Q5+gdLf`~|r$gLnE5+mxXAR-bYI<g+3L+w5BHHWl7~dweS8(Q`H|&AkFXxjXHCt2bMzA!p>~a_u=74@_ zRg@e=L}EmjR1gt~5nWnAL?lM^RYy!k3-W-ab0GkR|ik|>pT-I zx7r;Ug8i%QaBF2FuA5x~#<*a16&`xQEZI1xP_Xdj9icm;?Z_RWM||6Siy*j#=vl<< z=q!Z}jnkNxk+!MQS zQ9UWrndJn*oA-a?6MCsG=__U-tfwxmcWCDug+cio#BAx_qoI5*9Qcydd3eZ&cTNYj zb3S~{>H4B0zHSsjZ%tie_xSqssB!^$K4MZX+k+1z*3E+b!KJft6L(!>LwS2d?Y(tv zV?$52K`#c&@+*o*>|ltpeQVHfb@|`A8l5_*43!> z+Fk2S#-lNv)qB}_%ovy2NkQSlb!t=RJf%u8eh=bzvn;($5KZHp4|N-H|9MXyA9cgE z=FRmzjrFUJFKk{@U$~~JPQHsb67i0vKBw~LcbKFxdbaNZaq#yU|F_r!&=0;7fPyG};CP_Lr zM}Vf|Y}|>08{KiEUEhV!3m3Y}UGCel{^AZmOZR)^dNb~K2MxY=HV>bOS_x-MT|@a| zJR8cZ@LMl+$GJp+OYz(HW&D&c!;do+*W5ymaD$R0iBY{9$_Yt|gnzOm zWjvOKUrg%p%@*~}zUiqGZ`5?MF7gbQ)NyYsn-JFD#%$kjSz}pO#)D=vmh-7BwMMB# zsHt_?@)ICIyL(Pn432ZA!`?Xe-PQHOf{hJ^xJd2sfKB(F5Z#Idn2bp{^pdwxJ6RZ zGdd%hWJR>R75aVxVdkC)YUzJ}QTi@?qc9b1KO;cFv-p|R76^;Bn}%$DIm3fCLtj#x zVSeLVdokVxQ0qs?$lrexOg9Z5BKo~1$Y zB-P+~jvf?GQYG`Ok-m8f>yGU^$AG#w+jk8rWmh4eT}pr7*Wklz_F6pHH)m2?$I30; z%X&fD?i~8kbJ^p39n=CP2}gX^4_lT+(|0G-JwHrkd`#Wr%gJw-k-BGjSE+j@JgM%* zcvkA0Q1>jqgt`~wXX~Dcv$RUxGvU6Dk-E2Do>l5zjAx|ot(Rw&x)l1piTj(>zid-~IIzN~l>{{Pu$5n9gEjTxdw9CY=nBgy zkbWnyY6aHKNT~yi^dQpCz^bX-gGkX|)~YfZ`Kgx{odc}$f?f``+(#`rOe6d|j@|{<*`LA{))zN&V8X)!m(W!x z6h?OxJ9_&b!WiUiBDtEPgb0k_a7er?r%>LWbB%gICM*V4soqqQ-($&bEp^ub>l|Jm z`39iYmMs`1e~^(7MA;Qs_^Ki$-;(54Sn^;Neh)D7q04wGrZLi+Hj+(6KJ?kU@ZPMP zb70BHIfsMbkT&!e+lB~v@^i2We9pEZLLPs#4RN^YrVlm=v?ZK}5!F0Qdc%U{cmvCL zAcx}(hrl6%|7ryj65Kn~1U_#C6B1knPlwkXX9aUKU9HP#lT!_vVw`F?%7ND->4}@Dt8E zZ`W7?eKF;RhB9&|@;bxvT7M3R^}lKf>wh}@FBGXW&~j&TzLuP0rFt*5l*zE)VaQiH z<#yXnTsmzoejTnwG>dHBv~0$h%I>xvCW$2w=0nT;HI~XxaZY*7Ca-M~Pn)EzXn9z| zvIFyLtKLET5ne(5U3RTSchkBdi;B)N-YWbu)&U1{t^OviSix(511tD>kRT2072CiF z3GU4|fv?&IMo4gNV7tKUuCNNOzcj=GUZukV{_{q_->h^(f_n>0;NPuuLV~OGUEy^f zv(l?&5AECWCEp->MkHj<2tRwo6kQd>EAS|z!#}Kogar4FHi55M1qlhR3hoB4JMM5( ze(TR3F+*4BFhf7a2zcE}CnUIctON+%?^O5Yt`cku>D7ZY@qjseCOjDUYy>4XIL zjx&L8TIqxYSLu7e>)yWs(#6zVrNh+xcq8CnRyrZUy@e+5Ei0Xn;3|Djc-_8HCCnUJH*aUuPr4tfdrSAu?yYB`_7dvZ} z4m;~pje!4I>4XILPBVe)taL(xtMobWx>s+2bg{8k>9Dar-3a)|N+%?^cZLbXj*&m( zB_y~?-ydFgjg|hfO_ui6vL!Q++c@u?X?PDI??>^v>n9|*x5NadtzbfetKb9RwR?jl zZz;VcZ<#)p^YMP#8IIVx)6Spwz717T!(IrTt z6G|_YUq3qCUDzulOV|yl!+9FAoE$hZh$Iq3hXxH}&?M}TtsCOZpqn4{Lukg@Fl`T? zYyitb9m9zP;Vjc=IFTTny=632kG0nw^~NX*)b3p`OGA~7N^DnyBh#E7_b zpz3(oUSo2I1nO`>AsS932pi0E)DT#<=WU^|BW*H(| zbBP3!W}EQU98;4Ck<3c^EE7&hRg$TmM8c&oCGBjDmeZRq;u~1Vz->(o*=k|}i3DOf zCDaTs8AK!q=lnAoP9zBDv_>`JzC*4yO1kC(oh zxn$rg%`?7$uP{&G-G1>*bQQAXTJYEjru%*>v)vjT=apBU@%KFdytyvlUY{?N7eken zhE>P&OI5S@p#lD3CZFog=DQjS*L2~Q_nlLiI$tpxHZrg;sY_jkvs}}lFTds2i{u!) zkMXjLoi5)2@`dhX=&lyXWf+%qJJ(?+u(7*GY3sBdKV46G_-EP=1sqjO#TfVZ(~igbZs3Z`zFv zYBlRW#0JHJxp( zZJL6k@u7kqCEnc-=Uej;;t{PQl=xfFqi19Apr)YaW0Z40GQN$go0DsD+3qw2BVTE) zGUM8HAAPiTT5EIIU?q}0KSK6so`mzGT#G7}$z}J;)%Ij^wfMB8O=@y6(jYn2 z6!D$ytdv7{E>|ob+=hjZTw&Gm+wYI>Le$Lebs}t^PGl>|N3v6?9Y$*l{wGp;0;(3i zhOLG#@VCK04#u568O z05AU&KN#XuSJcYw@NgF4r!njO7&OjJ%!AfUR^A-xz9&LaSQf>Pi^7gK9L3p@F(z%1 zc4ktHSe0!e%cky6vqKg+6JfO1n5m*-5T|z%^c4)%q(} z8)_T98)p=C#v`GLs&=14o!jJv}EoJ`_IuJiMmRV3&YAalV6WZ_K*?JU6pQ`;4C9 zS+{te^`#44MSX{6QX8SJGk#4^oqGrp*InzD@o3B}Eue1oY?@g*0#9W=I_qA9FlR?p z+pPN|F6S$CtOd^v`>B^2i3Gt2{8pZRDq zpOg`ch#sV54E(E(?}hq@8MayXEaNm1NY&G3s5=@rugf|=q_)ybyDoE1rBN|w_U@I4 z+rNyipTnhg$IId63V;|jznpe%K_O&%b7}W~Ad%j{xfKw4*ze*If-_=OS}Zt=QSKNM zWm8{9nM_AtQ`_4zw5F#%ovG2NLu-3S*Os?J?l)!w1Jz0O>00M|;JE~ZwS~NM8{9){ zdxnQ(INukUn;z|}QY%)T&h3Kk7NB_~!np&ebEgEcj79fatp*x_mB2??Nx~6M4R{q9 zq!C!KegqbLI06gL50XOF2zLZ*O0fv91VN($2`pHj4NE_eP%EY1RM)djT8dnVFvR=; z(pPBi9+`HF$M{jvL!lH-MJbqGVai|A&RxuiTIYv&Xq(BVjzRhS1vb4OTRwK}>0`>r ziuTKA2ct^5wtP1PI;XKK&@8#27PjkrsnnK##2`fvG%;$+_XOzi0s7+ry*NOB5}@A? z(4PkAe*^U103CU($>s9T0`!Ogy)QtQ2I$WN^veNye}Fy^pbuCyoadR;kI>I;Eo0|Q zQ{Aj)zGLv$h`(0+;WEh7IQ+4MXmO2Ea0z?oa6LK26``p?u@OgsU zBG04T5%N6D-AJDMyWR5K!`)JzJGq~e=Qi$c@|@}(D9>(po;){p&y?q=bY@{QK9oHT zdN~gw9qt9dormCBlI@ang};DXZ7ml-BUB@q3p@<8{0M#~Vt_{XFY!~HI^FmE3cmEx z^H8m)@@OInel5@{LQUyn(OH6e(%9Vw<8uToN$1@^Q1Wl!(Qi*>QwuQAn}PhR>CNQ3 z@oIbwVU2|*n5E-GY;ZT#^z>%)&Kfv-$7jpG!_${JG+TaLd=!VuoOON=?~=M6+HKQd zy}6_5VlF1MbeAw}5dEG2h4Tme^wy>8ohKPx1O77$x=S2CmU7LVs$39ov={tR|v zzTQwMUOWANn5Q)qFYTQbVR9*%U`;2^q$AA4SxZjrMjMLYbO$-L$JP1rpw!`ex1k+O zP9~F)adj>kygKZp8%BcDcycPm)mb?xb=aLZl)&UKXm|~y;_6Б&+Xcz@fSCZ4{ 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�PmP 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

    IkjgkB@{Rzj~6x{c5ggl;EPCf^-|`Uu@g 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

    BXewAC7Z+u{k6&U1z*8OfTj_ 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�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�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

    hcQ|`f-&k*tgjx!2I_HasGh_p)l=9= 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

    `GV)%I8=cC5wgECu1Jz>w~ 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ᙴ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%0Dk_O6;`xPoj#zntcv92KWvj8dwFs4x*rOU{R>%$Y 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%0AwrHrYSuvGUh~qi0zV2WLZT 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 Date: Thu, 21 Jun 2012 19:39:58 +0400 Subject: [PATCH 23/78] As are result of security penetration test the following changes applied: All authentication related cookies tagged as httpOnly web.config: enabledVersionHeader=false autocomplete disabled Login url injection redirection fixed session hijacking implemented Dont forget to apply ssl to your website with https and to set the requireSSL="false" to true --- .../Code/PortalUtils.cs | 3 + .../Code/SecureSessionModule.cs | 153 +++++++++++ .../WebsitePanel.WebPortal/Default.aspx | 2 +- ...bsitePanel.Portal.Ecommerce.Modules.csproj | 93 ++++++- .../Code/Framework/PanelSecurity.cs | 1 + .../DesktopModules/WebsitePanel/Login.ascx.cs | 257 ++++++++++-------- .../Sources/WebsitePanel.WebPortal/Web.config | 8 +- .../WebsitePanel.WebPortal.csproj | 1 + 8 files changed, 397 insertions(+), 121 deletions(-) create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SecureSessionModule.cs diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalUtils.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalUtils.cs index 4ab69b01..2b5eb4b0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalUtils.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/PortalUtils.cs @@ -268,6 +268,7 @@ namespace WebsitePanel.Portal authCookie.Secure = FormsAuthentication.RequireSSL; authCookie.Path = FormsAuthentication.FormsCookiePath; authCookie.Value = FormsAuthentication.Encrypt(ticket); + authCookie.HttpOnly = true; if (persistent) authCookie.Expires = DateTime.Now.AddMonths(1); @@ -500,6 +501,8 @@ namespace WebsitePanel.Portal // store last successful username in the cookie HttpCookie cookie = new HttpCookie("WebsitePanelLogin", username); cookie.Expires = DateTime.Now.AddDays(7); + cookie.Secure = FormsAuthentication.RequireSSL; + cookie.HttpOnly = true; HttpContext.Current.Response.Cookies.Add(cookie); // set language diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SecureSessionModule.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SecureSessionModule.cs new file mode 100644 index 00000000..41e320f6 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SecureSessionModule.cs @@ -0,0 +1,153 @@ +using System; +using System.Web; +using System.Web.Security; +using System.Web.Caching; +using System.Configuration; +using System.Security.Cryptography; +using System.Runtime.Serialization; +using System.Globalization; +using System.Text; +using Microsoft.Security.Application; + +namespace WebsitePanel.WebPortal +{ + public class SecureSessionModule : IHttpModule + { + public const string DEFAULT_PAGE = "~/Default.aspx"; + public const string PAGE_ID_PARAM = "pid"; + + private static string _ValidationKey = null; + + public void Init(HttpApplication app) + { + // Initialize validation key if not already initialized + if (_ValidationKey == null) + _ValidationKey = GetValidationKey(); + + // Register handlers for BeginRequest and EndRequest events + app.BeginRequest += new EventHandler(OnBeginRequest); + app.EndRequest += new EventHandler(OnEndRequest); + } + + public void Dispose() { } + + void OnBeginRequest(Object sender, EventArgs e) + { + // Look for an incoming cookie named "ASP.NET_SessionID" + HttpRequest request = ((HttpApplication)sender).Request; + HttpCookie cookie = GetCookie(request, "ASP.NET_SessionId"); + + if (cookie != null) + { + // Throw an exception if the cookie lacks a MAC + if (cookie.Value.Length <= 24) + { + FormsAuthentication.SignOut(); + HttpContext.Current.Response.Redirect(DefaultPage.GetPageUrl(PortalConfiguration.SiteSettings["DefaultPage"])); + } + + // Separate the session ID and the MAC + string id = cookie.Value.Substring(0, 24); + string mac1 = cookie.Value.Substring(24); + + // Generate a new MAC from the session ID and requestor info + string mac2 = GetSessionIDMac(id, request.UserHostAddress, + request.UserAgent, _ValidationKey); + + // Throw an exception if the MACs don't match + if (String.CompareOrdinal(mac1, mac2) != 0) + { + FormsAuthentication.SignOut(); + HttpContext.Current.Response.Redirect(DefaultPage.GetPageUrl(PortalConfiguration.SiteSettings["DefaultPage"])); + } + + // Strip the MAC from the cookie before ASP.NET sees it + cookie.Value = id; + } + } + + void OnEndRequest(Object sender, EventArgs e) + { + // Look for an outgoing cookie named "ASP.NET_SessionID" + HttpRequest request = ((HttpApplication)sender).Request; + HttpCookie cookie = GetCookie( request, "ASP.NET_SessionId"); + + if (cookie != null) + { + // Add a MAC + cookie.Value += GetSessionIDMac(cookie.Value, + request.UserHostAddress, request.UserAgent, + _ValidationKey); + } + } + + private string GetValidationKey() + { + string key = ConfigurationManager.AppSettings["SessionValidationKey"]; + if (key == null || key == String.Empty) + throw new InvalidSessionException + ("SessionValidationKey missing"); + return key; + } + + private HttpCookie GetCookie(HttpRequest request, string name) + { + HttpCookieCollection cookies = request.Cookies; + return FindCookie(cookies, name); + } + + private HttpCookie GetCookie(HttpResponse response, string name) + { + HttpCookieCollection cookies = response.Cookies; + return FindCookie(cookies, name); + } + + private HttpCookie FindCookie(HttpCookieCollection cookies, + string name) + { + int count = cookies.Count; + + for (int i = 0; i < count; i++) + { + if (String.Compare(cookies[i].Name, name, true, + CultureInfo.InvariantCulture) == 0) + return cookies[i]; + } + + return null; + } + + private string GetSessionIDMac(string id, string ip, + string agent, string key) + { + StringBuilder builder = new StringBuilder(id, 512); + builder.Append(ip); + builder.Append(agent); + + using (HMACSHA1 hmac = new HMACSHA1 + (Encoding.UTF8.GetBytes(key))) + { + return Convert.ToBase64String(hmac.ComputeHash + (Encoding.UTF8.GetBytes(builder.ToString()))); + } + } + } + + [Serializable] + public class InvalidSessionException : Exception + { + public InvalidSessionException() : + base("Session cookie is invalid") { } + + public InvalidSessionException(string message) : + base(message) { } + + public InvalidSessionException(string message, + Exception inner) + : base(message, inner) { } + + protected InvalidSessionException(SerializationInfo info, + StreamingContext context) + : base(info, context) { } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Default.aspx b/WebsitePanel/Sources/WebsitePanel.WebPortal/Default.aspx index eef00c65..de26e6e1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Default.aspx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Default.aspx @@ -13,7 +13,7 @@ -

    + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/WebsitePanel.Portal.Ecommerce.Modules.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/WebsitePanel.Portal.Ecommerce.Modules.csproj index cf0ab446..89669cd7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/WebsitePanel.Portal.Ecommerce.Modules.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/Ecommerce/WebsitePanel.Portal.Ecommerce.Modules.csproj @@ -112,36 +112,42 @@ BillingCycles.ascx + ASPXCodeBehind BillingCycles.ascx BillingCyclesAddCycle.ascx + ASPXCodeBehind BillingCyclesAddCycle.ascx BillingCyclesEditCycle.ascx + ASPXCodeBehind BillingCyclesEditCycle.ascx Categories.ascx + ASPXCodeBehind Categories.ascx CategoriesAddCategory.ascx + ASPXCodeBehind CategoriesAddCategory.ascx CategoriesEditCategory.ascx + ASPXCodeBehind CategoriesEditCategory.ascx @@ -153,8 +159,12 @@ ASPXCodeBehind - - + + ASPXCodeBehind + + + ASPXCodeBehind + @@ -181,150 +191,175 @@ CustomerPaymentProfile.ascx + ASPXCodeBehind CustomerPaymentProfile.ascx CustomersInvoices.ascx + ASPXCodeBehind CustomersInvoices.ascx CustomersInvoicesViewInvoice.ascx + ASPXCodeBehind CustomersInvoicesViewInvoice.ascx CustomersPayments.ascx + ASPXCodeBehind CustomersPayments.ascx CustomersServices.ascx + ASPXCodeBehind CustomersServices.ascx CustomersServicesUpgradeService.ascx + ASPXCodeBehind CustomersServicesUpgradeService.ascx CustomersServicesViewService.ascx + ASPXCodeBehind CustomersServicesViewService.ascx DomainNames.ascx + ASPXCodeBehind DomainNames.ascx DomainNamesAddDomain.ascx + ASPXCodeBehind DomainNamesAddDomain.ascx DomainNamesEditDomain.ascx + ASPXCodeBehind DomainNamesEditDomain.ascx DomainRegistrarDirecti.ascx + ASPXCodeBehind DomainRegistrarDirecti.ascx DomainRegistrarEnom.ascx + ASPXCodeBehind DomainRegistrarEnom.ascx EcommerceSystemSettings.ascx + ASPXCodeBehind EcommerceSystemSettings.ascx HostingAddons.ascx + ASPXCodeBehind HostingAddons.ascx HostingAddonsAddAddon.ascx + ASPXCodeBehind HostingAddonsAddAddon.ascx HostingAddonsEditAddon.ascx + ASPXCodeBehind HostingAddonsEditAddon.ascx HostingPlans.ascx + ASPXCodeBehind HostingPlans.ascx HostingPlansAddPlan.ascx + ASPXCodeBehind HostingPlansAddPlan.ascx HostingPlansEditPlan.ascx + ASPXCodeBehind HostingPlansEditPlan.ascx NotificationNewInvoice.ascx + ASPXCodeBehind NotificationNewInvoice.ascx NotificationPaymentReceived.ascx + ASPXCodeBehind NotificationPaymentReceived.ascx NotificationServiceActivated.ascx + ASPXCodeBehind NotificationServiceActivated.ascx NotificationServiceCancelled.ascx + ASPXCodeBehind NotificationServiceCancelled.ascx NotificationServiceSuspended.ascx + ASPXCodeBehind NotificationServiceSuspended.ascx OrderFailed.ascx + ASPXCodeBehind OrderFailed.ascx @@ -338,48 +373,56 @@ PaymentMethod2Checkout.ascx + ASPXCodeBehind PaymentMethod2Checkout.ascx PaymentMethodCreditCard.ascx + ASPXCodeBehind PaymentMethodCreditCard.ascx PaymentMethodOffline.ascx + ASPXCodeBehind PaymentMethodOffline.ascx PaymentMethodPayPalAccount.ascx + ASPXCodeBehind PaymentMethodPayPalAccount.ascx 2CO_Payment.ascx + ASPXCodeBehind 2CO_Payment.ascx CreditCard_Payment.ascx + ASPXCodeBehind CreditCard_Payment.ascx Offline_Payment.ascx + ASPXCodeBehind Offline_Payment.ascx PPAccount_Payment.ascx + ASPXCodeBehind PPAccount_Payment.ascx @@ -393,30 +436,35 @@ DomainName_ServiceDetails.ascx + ASPXCodeBehind DomainName_ServiceDetails.ascx HostingAddon_ServiceDetails.ascx + ASPXCodeBehind HostingAddon_ServiceDetails.ascx HostingPlan_Brief.ascx + ASPXCodeBehind HostingPlan_Brief.ascx HostingPlan_Highlights.ascx + ASPXCodeBehind HostingPlan_Highlights.ascx HostingPlan_ServiceDetails.ascx + ASPXCodeBehind HostingPlan_ServiceDetails.ascx @@ -424,24 +472,28 @@ ProvisioningSettingsEdit.ascx + ASPXCodeBehind ProvisioningSettingsEdit.ascx QuickSignup.ascx + ASPXCodeBehind QuickSignup.ascx OrderComplete.ascx + ASPXCodeBehind OrderComplete.ascx OrderCheckout.ascx + ASPXCodeBehind OrderCheckout.ascx @@ -453,102 +505,119 @@ CatalogBreadCrumb.ascx + ASPXCodeBehind CatalogBreadCrumb.ascx StorefrontMenu.ascx + ASPXCodeBehind StorefrontMenu.ascx StorefrontOrderProduct.ascx + ASPXCodeBehind StorefrontOrderProduct.ascx StorefrontViewCategory.ascx + ASPXCodeBehind StorefrontViewCategory.ascx StorefrontWelcome.ascx + ASPXCodeBehind StorefrontWelcome.ascx StorefrontWelcomeEdit.ascx + ASPXCodeBehind StorefrontWelcomeEdit.ascx 2Checkout_Settings.ascx + ASPXCodeBehind 2Checkout_Settings.ascx AuthorizeNet_Settings.ascx + ASPXCodeBehind AuthorizeNet_Settings.ascx OfflinePayment_Settings.ascx + ASPXCodeBehind OfflinePayment_Settings.ascx PayPalPro_Settings.ascx + ASPXCodeBehind PayPalPro_Settings.ascx PayPalStandard_Settings.ascx + ASPXCodeBehind PayPalStandard_Settings.ascx Taxations.ascx + ASPXCodeBehind Taxations.ascx TaxationsAddTax.ascx + ASPXCodeBehind TaxationsAddTax.ascx TaxationsEditTax.ascx + ASPXCodeBehind TaxationsEditTax.ascx TermsAndConditions.ascx + ASPXCodeBehind TermsAndConditions.ascx TermsAndConditionsEdit.ascx + ASPXCodeBehind TermsAndConditionsEdit.ascx AddonProducts.ascx + ASPXCodeBehind AddonProducts.ascx @@ -565,120 +634,140 @@ ChoosePaymentMethod.ascx + ASPXCodeBehind ChoosePaymentMethod.ascx CreateUserAccount.ascx + ASPXCodeBehind CreateUserAccount.ascx CustomerInvoiceTemplated.ascx + ASPXCodeBehind CustomerInvoiceTemplated.ascx DomainNameBillingCycles.ascx + ASPXCodeBehind DomainNameBillingCycles.ascx EmailNotificationEditor.ascx + ASPXCodeBehind EmailNotificationEditor.ascx HostingAddonOneTimeFee.ascx + ASPXCodeBehind HostingAddonOneTimeFee.ascx HostingPlanBillingCycles.ascx + ASPXCodeBehind HostingPlanBillingCycles.ascx HostingPlanQuotas.ascx + ASPXCodeBehind HostingPlanQuotas.ascx LoginUserAccount.ascx + ASPXCodeBehind LoginUserAccount.ascx ManualPaymentAdd.ascx + ASPXCodeBehind ManualPaymentAdd.ascx PlanDomainOption.ascx + ASPXCodeBehind PlanDomainOption.ascx PlanHostingAddons.ascx + ASPXCodeBehind PlanHostingAddons.ascx ProductHighlights.ascx + ASPXCodeBehind ProductHighlights.ascx QuickHostingAddon.ascx + ASPXCodeBehind QuickHostingAddon.ascx QuickHostingPlanCycles.ascx + ASPXCodeBehind QuickHostingPlanCycles.ascx QuickHostingPlans.ascx + ASPXCodeBehind QuickHostingPlans.ascx PathBreadCrumb.ascx + ASPXCodeBehind PathBreadCrumb.ascx ProductCategories.ascx + ASPXCodeBehind ProductCategories.ascx UserAccountDetails.ascx + ASPXCodeBehind UserAccountDetails.ascx ViewProductDetails.ascx + ASPXCodeBehind ViewProductDetails.ascx diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelSecurity.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelSecurity.cs index b780836c..ce154b60 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelSecurity.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/PanelSecurity.cs @@ -130,6 +130,7 @@ namespace WebsitePanel.Portal HttpContext.Current.Items[key] = s; HttpCookie cookie = new HttpCookie(key, s); + cookie.HttpOnly = true; HttpContext.Current.Response.Cookies.Remove(key); HttpContext.Current.Response.Cookies.Add(cookie); } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Login.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Login.ascx.cs index a4169f60..6bfa3f57 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Login.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Login.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -33,129 +33,154 @@ using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal { - public partial class Login : WebsitePanelModuleBase - { - string ipAddress; + public partial class Login : WebsitePanelModuleBase + { + string ipAddress; - private string RedirectUrl - { - get - { - string redirectUrl = ""; - if (Request["returnurl"] != null) - { - // return to the url passed to signin - redirectUrl = HttpUtility.UrlDecode(Request["returnurl"]); - } - else - { - redirectUrl = PortalUtils.LoginRedirectUrl; - } - return redirectUrl; - } - } + private bool IsLocalUrl(string url) + { + if (string.IsNullOrEmpty(url)) + { + return false; + } - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - EnsureSCPA(); - // - BindControls(); - } + Uri absoluteUri; + if (Uri.TryCreate(url, UriKind.Absolute, out absoluteUri)) + { + return String.Equals(this.Request.Url.Host, absoluteUri.Host, StringComparison.OrdinalIgnoreCase); + } + else + { + bool isLocal = !url.StartsWith("http:", StringComparison.OrdinalIgnoreCase) + && !url.StartsWith("https:", StringComparison.OrdinalIgnoreCase) + && Uri.IsWellFormedUriString(url, UriKind.Relative); + return isLocal; + } + } - // capture Enter key - //DotNetNuke.UI.Utilities.ClientAPI.RegisterKeyCapture(this.Parent, btnLogin, 13); + private string RedirectUrl + { + get + { + string redirectUrl = ""; + if (Request["returnurl"] != null) + { + // return to the url passed to signin + redirectUrl = HttpUtility.UrlDecode(Request["returnurl"]); + if (!IsLocalUrl(redirectUrl)) + { + redirectUrl = PortalUtils.LoginRedirectUrl; + } + } + else + { + redirectUrl = PortalUtils.LoginRedirectUrl; + } + return redirectUrl; + } + } - // get user IP - if (Request.UserHostAddress != null) - ipAddress = Request.UserHostAddress; + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + EnsureSCPA(); + // + BindControls(); + } - // update password control - txtPassword.Attributes["value"] = txtPassword.Text; + // capture Enter key + //DotNetNuke.UI.Utilities.ClientAPI.RegisterKeyCapture(this.Parent, btnLogin, 13); - // autologin - string usr = Request["u"]; - if (String.IsNullOrEmpty(usr)) - usr = Request["user"]; + // get user IP + if (Request.UserHostAddress != null) + ipAddress = Request.UserHostAddress; - string psw = Request["p"]; - if (String.IsNullOrEmpty(psw)) - psw = Request["pwd"]; - if (String.IsNullOrEmpty(psw)) - psw = Request["password"]; + // update password control + txtPassword.Attributes["value"] = txtPassword.Text; - if (!String.IsNullOrEmpty(usr) && !String.IsNullOrEmpty(psw)) - { - // perform login - LoginUser(usr, psw, chkRemember.Checked, String.Empty, String.Empty); - } - } + // autologin + string usr = Request["u"]; + if (String.IsNullOrEmpty(usr)) + usr = Request["user"]; - private void EnsureSCPA() - { - var enabledScpa = ES.Services.Authentication.GetSystemSetupMode(); - // - if (enabledScpa == false) - { - return; - } - // - Response.Redirect(EditUrl("scpa"), true); - } + string psw = Request["p"]; + if (String.IsNullOrEmpty(psw)) + psw = Request["pwd"]; + if (String.IsNullOrEmpty(psw)) + psw = Request["password"]; - private void BindControls() - { - // load languages - PortalUtils.LoadCultureDropDownList(ddlLanguage); + if (!String.IsNullOrEmpty(usr) && !String.IsNullOrEmpty(psw)) + { + // perform login + LoginUser(usr, psw, chkRemember.Checked, String.Empty, String.Empty); + } + } - // load themes - PortalUtils.LoadThemesDropDownList(ddlTheme); + private void EnsureSCPA() + { + var enabledScpa = ES.Services.Authentication.GetSystemSetupMode(); + // + if (enabledScpa == false) + { + return; + } + // + Response.Redirect(EditUrl("scpa"), true); + } - // try to get the last login name from cookie - HttpCookie cookie = Request.Cookies["WebsitePanelLogin"]; - if (cookie != null) - { - txtUsername.Text = cookie.Value; - } - } + private void BindControls() + { + // load languages + PortalUtils.LoadCultureDropDownList(ddlLanguage); - protected void cmdForgotPassword_Click(object sender, EventArgs e) - { - Response.Redirect(EditUrl("forgot_password"), true); - } + // load themes + PortalUtils.LoadThemesDropDownList(ddlTheme); - protected void btnLogin_Click(object sender, EventArgs e) - { - // validate input - if (!Page.IsValid) - return; + // try to get the last login name from cookie + HttpCookie cookie = Request.Cookies["WebsitePanelLogin"]; + if (cookie != null) + { + txtUsername.Text = cookie.Value; + } + } - // perform login - LoginUser(txtUsername.Text.Trim(), txtPassword.Text, chkRemember.Checked, - ddlLanguage.SelectedValue, ddlTheme.SelectedValue); - } + protected void cmdForgotPassword_Click(object sender, EventArgs e) + { + Response.Redirect(EditUrl("forgot_password"), true); + } - private void LoginUser(string username, string password, bool rememberLogin, - string preferredLocale, string theme) - { - // status - int loginStatus = PortalUtils.AuthenticateUser(username, password, ipAddress, - rememberLogin, preferredLocale, theme); + protected void btnLogin_Click(object sender, EventArgs e) + { + // validate input + if (!Page.IsValid) + return; - if (loginStatus < 0) - { + // perform login + LoginUser(txtUsername.Text.Trim(), txtPassword.Text, chkRemember.Checked, + ddlLanguage.SelectedValue, ddlTheme.SelectedValue); + } + + private void LoginUser(string username, string password, bool rememberLogin, + string preferredLocale, string theme) + { + // status + int loginStatus = PortalUtils.AuthenticateUser(username, password, ipAddress, + rememberLogin, preferredLocale, theme); + + if (loginStatus < 0) + { ShowWarningMessage("WrongLogin"); - } - else - { + } + else + { // redirect by shortcut ShortcutRedirect(); // standard redirect - Response.Redirect(RedirectUrl, true); - } - } + Response.Redirect(RedirectUrl, true); + } + } private void ShortcutRedirect() { @@ -223,22 +248,22 @@ namespace WebsitePanel.Portal } } - private void SetCurrentLanguage() - { + private void SetCurrentLanguage() + { PortalUtils.SetCurrentLanguage(ddlLanguage.SelectedValue); Response.Redirect(Request.Url.ToString()); - - } - - protected void ddlLanguage_SelectedIndexChanged(object sender, EventArgs e) - { - SetCurrentLanguage(); + } - protected void ddlTheme_SelectedIndexChanged(object sender, EventArgs e) - { - PortalUtils.SetCurrentTheme(ddlTheme.SelectedValue); - Response.Redirect(Request.Url.ToString()); - } - } + protected void ddlLanguage_SelectedIndexChanged(object sender, EventArgs e) + { + SetCurrentLanguage(); + } + + protected void ddlTheme_SelectedIndexChanged(object sender, EventArgs e) + { + PortalUtils.SetCurrentTheme(ddlTheme.SelectedValue); + Response.Redirect(Request.Url.ToString()); + } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Web.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/Web.config index 48f0315d..01cb22c8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Web.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Web.config @@ -4,6 +4,7 @@ + @@ -19,7 +20,7 @@ - + @@ -47,5 +48,8 @@ - + + + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj index 8e5646ec..00a1c8b1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj @@ -157,6 +157,7 @@ + ASPXCodeBehind From a0d9e59db2087e88f10b6a7c6821107da0fec2b9 Mon Sep 17 00:00:00 2001 From: robvde Date: Sun, 1 Jul 2012 08:24:49 +0400 Subject: [PATCH 24/78] Updated Hosted Sharepoing Provider (Foundation 2010): A) Powershell support added within the provider B) Now returns the actual deployed language packs C) The PeoplePicker points to the organization OU and shows only the users from the tentant organization. A requirement when used with Exchange 2010 SP2 Addressbook Policies D) Shared SSL root added to use wild card certificates as part of hosting plan. When enabled the host name is generated. E) Search fix: Provisioning of localhost file where the server component is active. This system expected to be the search server. Within the local hostfile the sites are listed with their local ip address so the search server can resolve the site and crawl through their data. This component needs to be compiled with .NET 2.0 together with Provers.Base, OS.Windows2003, OS.Windows2008, Server.Utils, and Server components. Out standing is to update the build and deployment package for a dedicated deployment packaged so this component is using .NET 2.0, all other should be using .NET 4.0. This will eliminate the configuration circus that was required to get the .NET 4.0 version of this component working previously. --- WebsitePanel/Database/QuotasSharepoint.sql | 1 + .../Packages/Quotas.cs | 3 +- .../HostedSharePointServerController.cs | 1274 +++++++++-------- .../HostedSolution/OrganizationUser.cs | 52 +- .../SharePoint/IHostedSharePointServer.cs | 154 +- .../SharePoint/SharePointSiteCollection.cs | 36 + .../HostedSharePointServer.cs | 527 +++---- .../HostedSharePointServer2010.cs | 245 ++++ .../HostedSharePointServerImpl.cs | 761 ++++++---- .../HostedSolutionLog.cs | 18 + .../HostedSharePointServerProxy.cs | 841 ++++++----- .../HostedSharePointServer.asmx.cs | 387 ++--- .../DomainsSelectDomainControl.ascx.cs | 3 +- .../UserControls/UserSelector.ascx | 2 +- .../UserControls/UserSelector.ascx.cs | 277 ++-- .../UserSelector.ascx.designer.cs | 3 +- .../HostedSharePointEditSiteCollection.ascx | 30 +- ...HostedSharePointEditSiteCollection.ascx.cs | 601 ++++---- ...rePointEditSiteCollection.ascx.designer.cs | 41 +- .../HostedSharePoint30_Settings.ascx.resx | 13 +- .../HostedSharePoint30_Settings.ascx | 17 +- .../HostedSharePoint30_Settings.ascx.cs | 93 +- ...stedSharePoint30_Settings.ascx.designer.cs | 30 +- .../UserControls/QuotaEditor.ascx.cs | 18 +- .../UserControls/QuotaEditor.ascx.designer.cs | 3 +- 25 files changed, 3174 insertions(+), 2256 deletions(-) create mode 100644 WebsitePanel/Database/QuotasSharepoint.sql diff --git a/WebsitePanel/Database/QuotasSharepoint.sql b/WebsitePanel/Database/QuotasSharepoint.sql new file mode 100644 index 00000000..d3b94426 --- /dev/null +++ b/WebsitePanel/Database/QuotasSharepoint.sql @@ -0,0 +1 @@ +INSERT INTO Quotas (QuotaID, GroupID, QuotaOrder, QuotaName,QuotaDescription, QuotaTypeID, ServiceQuota) VALUES (400, 20, 3, 'HostedSharePoint.UseSharedSSL' ,'Use shared SSL Root', 1, 0) \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs index b1362844..0f353415 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs @@ -136,7 +136,8 @@ order by rg.groupOrder public const string SHAREPOINT_SITES = "SharePoint.Sites"; // SharePoint Sites public const string HOSTED_SHAREPOINT_SITES = "HostedSharePoint.Sites"; // Hosted SharePoint Sites public const string HOSTED_SHAREPOINT_STORAGE_SIZE = "HostedSharePoint.MaxStorage"; // Hosted SharePoint storage size; - public const string DNS_EDITOR = "DNS.Editor"; // DNS Editor + public const string HOSTED_SHAREPOINT_USESHAREDSSL = "HostedSharePoint.UseSharedSSL"; // Hosted SharePoint Use Shared SSL Root + public const string DNS_EDITOR = "DNS.Editor"; // DNS Editor public const string DNS_ZONES = "DNS.Zones"; // DNS Editor public const string DNS_PRIMARY_ZONES = "DNS.PrimaryZones"; // DNS Editor public const string DNS_SECONDARY_ZONES = "DNS.SecondaryZones"; // DNS Editor diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs index ea1011a2..8d149714 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -40,26 +40,26 @@ using WebsitePanel.Providers.SharePoint; namespace WebsitePanel.EnterpriseServer.Code.SharePoint { - /// - /// Exposes handful API on hosted SharePoint site collections management. - /// - public class HostedSharePointServerController : IImportController, IBackupController - { - private const int FILE_BUFFER_LENGTH = 5000000; // ~5MB + /// + /// Exposes handful API on hosted SharePoint site collections management. + /// + public class HostedSharePointServerController : IImportController, IBackupController + { + private const int FILE_BUFFER_LENGTH = 5000000; // ~5MB - /// - /// Gets site collections in raw form. - /// - /// Package to which desired site collections belong. - /// Organization to which desired site collections belong. - /// Filter column name. - /// Filter value. - /// Sort column name. - /// Row index to start from. - /// Maximum number of rows to retrieve. - /// Site collections that match. - public static SharePointSiteCollectionListPaged GetSiteCollectionsPaged(int packageId, int organizationId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) - { + /// + /// Gets site collections in raw form. + /// + /// Package to which desired site collections belong. + /// Organization to which desired site collections belong. + /// Filter column name. + /// Filter value. + /// Sort column name. + /// Row index to start from. + /// Maximum number of rows to retrieve. + /// Site collections that match. + public static SharePointSiteCollectionListPaged GetSiteCollectionsPaged(int packageId, int organizationId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) + { if (IsDemoMode) { SharePointSiteCollectionListPaged demoResult = new SharePointSiteCollectionListPaged(); @@ -68,35 +68,35 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint return demoResult; } - SharePointSiteCollectionListPaged paged = new SharePointSiteCollectionListPaged(); - DataSet result = PackageController.GetRawPackageItemsPaged(packageId, typeof(SharePointSiteCollection), - true, filterColumn, filterValue, sortColumn, startRow, Int32.MaxValue); - List items = PackageController.CreateServiceItemsList(result, 1).ConvertAll(delegate(ServiceProviderItem item) { return (SharePointSiteCollection)item; }); + SharePointSiteCollectionListPaged paged = new SharePointSiteCollectionListPaged(); + DataSet result = PackageController.GetRawPackageItemsPaged(packageId, typeof(SharePointSiteCollection), + true, filterColumn, filterValue, sortColumn, startRow, Int32.MaxValue); + List items = PackageController.CreateServiceItemsList(result, 1).ConvertAll(delegate(ServiceProviderItem item) { return (SharePointSiteCollection)item; }); - if (organizationId > 0) - { - items = items.FindAll(delegate(SharePointSiteCollection siteCollection) { return siteCollection.OrganizationId == organizationId; }); - } - paged.TotalRowCount = items.Count; + if (organizationId > 0) + { + items = items.FindAll(delegate(SharePointSiteCollection siteCollection) { return siteCollection.OrganizationId == organizationId; }); + } + paged.TotalRowCount = items.Count; - if (items.Count > maximumRows) - { - items.RemoveRange(maximumRows, items.Count - maximumRows); - } + if (items.Count > maximumRows) + { + items.RemoveRange(maximumRows, items.Count - maximumRows); + } - paged.SiteCollections = items; + paged.SiteCollections = items; - return paged; - } + return paged; + } public static List GetSiteCollections(int organizationId) { Organization org = OrganizationController.GetOrganization(organizationId); - - List items = PackageController.GetPackageItemsByType(org.PackageId, typeof(SharePointSiteCollection), false); + + List items = PackageController.GetPackageItemsByType(org.PackageId, typeof(SharePointSiteCollection), false); items.ConvertAll(delegate(ServiceProviderItem item) { return (SharePointSiteCollection)item; }); List ret = new List(); - foreach(ServiceProviderItem item in items) + foreach (ServiceProviderItem item in items) { SharePointSiteCollection siteCollection = item as SharePointSiteCollection; if (siteCollection != null && siteCollection.OrganizationId == organizationId) @@ -104,54 +104,54 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint ret.Add(siteCollection); } } - - return ret; + + return ret; } - /// - /// Gets list of supported languages by this installation of SharePoint. - /// - /// List of supported languages - public static int[] GetSupportedLanguages(int packageId) - { + /// + /// Gets list of supported languages by this installation of SharePoint. + /// + /// List of supported languages + public static int[] GetSupportedLanguages(int packageId) + { if (IsDemoMode) { - return new int[] {1033}; + return new int[] { 1033 }; } - // Log operation. - TaskManager.StartTask("HOSTEDSHAREPOINT", "GET_LANGUAGES"); + // Log operation. + TaskManager.StartTask("HOSTEDSHAREPOINT", "GET_LANGUAGES"); - int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedSharePoint); - if (serviceId == 0) - { - return new int[]{}; - } + int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedSharePoint); + if (serviceId == 0) + { + return new int[] { }; + } - try - { - // Create site collection on server. - HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(serviceId); - return hostedSharePointServer.GetSupportedLanguages(); - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + try + { + // Create site collection on server. + HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(serviceId); + return hostedSharePointServer.GetSupportedLanguages(); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } - /// - /// Gets list of SharePoint site collections that belong to the package. - /// - /// Package that owns site collections. - /// A value which shows whether nested spaces must be searched as well. - /// List of found site collections. - public static List GetSiteCollections(int packageId, bool recursive) - { + /// + /// Gets list of SharePoint site collections that belong to the package. + /// + /// Package that owns site collections. + /// A value which shows whether nested spaces must be searched as well. + /// List of found site collections. + public static List GetSiteCollections(int packageId, bool recursive) + { if (IsDemoMode) { List demoResult = new List(); @@ -183,592 +183,626 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint } - List items = PackageController.GetPackageItemsByType(packageId, typeof(SharePointSiteCollection), recursive); - return items.ConvertAll(delegate(ServiceProviderItem item) { return (SharePointSiteCollection)item; }); - } + List items = PackageController.GetPackageItemsByType(packageId, typeof(SharePointSiteCollection), recursive); + return items.ConvertAll(delegate(ServiceProviderItem item) { return (SharePointSiteCollection)item; }); + } - /// - /// Gets SharePoint site collection with given id. - /// - /// Site collection id within metabase. - /// Site collection or null in case no such item exist. - public static SharePointSiteCollection GetSiteCollection(int itemId) - { + /// + /// Gets SharePoint site collection with given id. + /// + /// Site collection id within metabase. + /// Site collection or null in case no such item exist. + public static SharePointSiteCollection GetSiteCollection(int itemId) + { if (IsDemoMode) { - return GetSiteCollections(1, false)[itemId-1]; + return GetSiteCollections(1, false)[itemId - 1]; } - SharePointSiteCollection item = PackageController.GetPackageItem(itemId) as SharePointSiteCollection; - return item; - } + SharePointSiteCollection item = PackageController.GetPackageItem(itemId) as SharePointSiteCollection; + return item; + } - /// - /// Adds SharePoint site collection. - /// - /// Site collection description. - /// Created site collection id within metabase. - public static int AddSiteCollection(SharePointSiteCollection item) - { - string domainName = item.Name; - // Check account. - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) - { - return accountCheck; - } + /// + /// Adds SharePoint site collection. + /// + /// Site collection description. + /// Created site collection id within metabase. + public static int AddSiteCollection(SharePointSiteCollection item) + { - // Check package. - int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) - { - return packageCheck; - } + // Check account. + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + return accountCheck; + } - // Check quota. - OrganizationStatistics orgStats = OrganizationController.GetOrganizationStatistics(item.OrganizationId); - //QuotaValueInfo quota = PackageController.GetPackageQuota(item.PackageId, Quotas.HOSTED_SHAREPOINT_SITES); + // Check package. + int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) + { + return packageCheck; + } - if (orgStats.AllocatedSharePointSiteCollections > -1 - && orgStats.CreatedSharePointSiteCollections >= orgStats.AllocatedSharePointSiteCollections) - { - return BusinessErrorCodes.ERROR_SHAREPOINT_RESOURCE_QUOTA_LIMIT; - } + // Check quota. + OrganizationStatistics orgStats = OrganizationController.GetOrganizationStatistics(item.OrganizationId); + //QuotaValueInfo quota = PackageController.GetPackageQuota(item.PackageId, Quotas.HOSTED_SHAREPOINT_SITES); - // Check if stats resource is available - int serviceId = PackageController.GetPackageServiceId(item.PackageId, ResourceGroups.HostedSharePoint); - if (serviceId == 0) - { - return BusinessErrorCodes.ERROR_SHAREPOINT_RESOURCE_UNAVAILABLE; - } - StringDictionary hostedSharePointSettings = ServerController.GetServiceSettings(serviceId); - Uri rootWebApplicationUri = new Uri(hostedSharePointSettings["RootWebApplicationUri"]); - item.Name = String.Format("{0}://{1}", rootWebApplicationUri.Scheme, item.Name); - if (rootWebApplicationUri.Port > 0 && rootWebApplicationUri.Port != 80 && rootWebApplicationUri.Port != 443) - { - item.PhysicalAddress = String.Format("{0}:{1}", item.Name, rootWebApplicationUri.Port); - } - else - { - item.PhysicalAddress = item.Name; - } + if (orgStats.AllocatedSharePointSiteCollections > -1 + && orgStats.CreatedSharePointSiteCollections >= orgStats.AllocatedSharePointSiteCollections) + { + return BusinessErrorCodes.ERROR_SHAREPOINT_RESOURCE_QUOTA_LIMIT; + } - Organization org = OrganizationController.GetOrganization(item.OrganizationId); + // Check if stats resource is available + int serviceId = PackageController.GetPackageServiceId(item.PackageId, ResourceGroups.HostedSharePoint); + if (serviceId == 0) + { + return BusinessErrorCodes.ERROR_SHAREPOINT_RESOURCE_UNAVAILABLE; + } + + StringDictionary hostedSharePointSettings = ServerController.GetServiceSettings(serviceId); + QuotaValueInfo quota = PackageController.GetPackageQuota(item.PackageId, Quotas.HOSTED_SHAREPOINT_USESHAREDSSL); + Uri rootWebApplicationUri = new Uri(hostedSharePointSettings["RootWebApplicationUri"]); + Organization org = OrganizationController.GetOrganization(item.OrganizationId); + string siteName = item.Name; + + if (quota.QuotaAllocatedValue == 1) + { + string sslRoot = hostedSharePointSettings["SharedSSLRoot"]; + + + string defaultDomain = org.DefaultDomain; + string hostNameBase = string.Empty; + + string[] tmp = defaultDomain.Split('.'); + if (tmp.Length == 2) + { + hostNameBase = tmp[0]; + } + else + { + if (tmp.Length > 2) + { + hostNameBase = tmp[0] + tmp[1]; + } + } + + int counter = 0; + item.Name = String.Format("{0}://{1}", rootWebApplicationUri.Scheme, hostNameBase + "-" + counter.ToString() + "." + sslRoot); + siteName = String.Format("{0}", hostNameBase + "-" + counter.ToString() + "." + sslRoot); + + while (DataProvider.CheckServiceItemExists(serviceId, item.Name, "WebsitePanel.Providers.SharePoint.SharePointSiteCollection, WebsitePanel.Providers.Base")) + { + counter++; + item.Name = String.Format("{0}://{1}", rootWebApplicationUri.Scheme, hostNameBase + "-" + counter.ToString() + "." + sslRoot); + siteName = String.Format("{0}", hostNameBase + "-" + counter.ToString() + "." + sslRoot); + } + } + else + item.Name = String.Format("{0}://{1}", rootWebApplicationUri.Scheme, item.Name); + + if (rootWebApplicationUri.Port > 0 && rootWebApplicationUri.Port != 80 && rootWebApplicationUri.Port != 443) + { + item.PhysicalAddress = String.Format("{0}:{1}", item.Name, rootWebApplicationUri.Port); + } + else + { + item.PhysicalAddress = item.Name; + } + + if (Utils.ParseBool(hostedSharePointSettings["LocalHostFile"], false)) + { + item.RootWebApplicationInteralIpAddress = hostedSharePointSettings["RootWebApplicationInteralIpAddress"]; + item.RootWebApplicationFQDN = item.Name.Replace(rootWebApplicationUri.Scheme + "://", ""); + } item.MaxSiteStorage = RecalculateMaxSize(org.MaxSharePointStorage, (int)item.MaxSiteStorage); - item.WarningStorage = item.MaxSiteStorage == -1 ? -1 : Math.Min((int)item.WarningStorage, item.MaxSiteStorage) ; - - + item.WarningStorage = item.MaxSiteStorage == -1 ? -1 : Math.Min((int)item.WarningStorage, item.MaxSiteStorage); + + // Check package item with given name already exists. - if (PackageController.GetPackageItemByName(item.PackageId, item.Name, typeof(SharePointSiteCollection)) != null) - { - return BusinessErrorCodes.ERROR_SHAREPOINT_PACKAGE_ITEM_EXISTS; - } - - // Log operation. - TaskManager.StartTask("HOSTEDSHAREPOINT", "ADD_SITE_COLLECTION", item.Name); + if (PackageController.GetPackageItemByName(item.PackageId, item.Name, typeof(SharePointSiteCollection)) != null) + { + return BusinessErrorCodes.ERROR_SHAREPOINT_PACKAGE_ITEM_EXISTS; + } + + // Log operation. + TaskManager.StartTask("HOSTEDSHAREPOINT", "ADD_SITE_COLLECTION", item.Name); + + try + { + // Create site collection on server. + HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(serviceId); - try - { - // Create site collection on server. - HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(serviceId); - hostedSharePointServer.CreateSiteCollection(item); - // Make record in metabase. - item.ServiceId = serviceId; - int itemId = PackageController.AddPackageItem(item); - int dnsServiceId = PackageController.GetPackageServiceId(item.PackageId, ResourceGroups.Dns); - if (dnsServiceId > 0) - { - DomainInfo domain = ServerController.GetDomain(domainName); - if (domain != null) - { - string website = domain.WebSiteName; - - if (!String.IsNullOrEmpty(domain.WebSiteName)) + // Make record in metabase. + item.ServiceId = serviceId; + int itemId = PackageController.AddPackageItem(item); + + hostedSharePointServer.SetPeoplePickerOu(item.Name, org.DistinguishedName); + + int dnsServiceId = PackageController.GetPackageServiceId(item.PackageId, ResourceGroups.Dns); + if (dnsServiceId > 0) + { + string[] tmpStr = siteName.Split('.'); + string hostName = tmpStr[0]; + string domainName = siteName.Substring(hostName.Length + 1, siteName.Length - (hostName.Length + 1)); + + DomainInfo domain = ServerController.GetDomain(domainName); + if (domain != null) + { + string website = siteName; + + DnsRecord[] records = ServerController.GetDnsZoneRecords(domain.DomainId); + foreach (DnsRecord record in records) { - DnsRecord[] records = ServerController.GetDnsZoneRecords(domain.DomainId); - foreach (DnsRecord record in records) + if (record.RecordType.Equals(DnsRecordType.A) && (record.RecordName == hostName)) { - if (record.RecordType.Equals(DnsRecordType.A) && String.IsNullOrEmpty(record.RecordName)) - { - ServerController.DeleteDnsZoneRecord(domain.DomainId, String.Empty, DnsRecordType.A, record.RecordData); - break; - } - } - - } - ServerController.AddDnsZoneRecord(domain.DomainId, String.Empty, DnsRecordType.A, hostedSharePointSettings["RootWebApplicationIpAddress"], 0); - } - } - - TaskManager.ItemId = itemId; - return itemId; - } - catch(Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } - - /// - /// Deletes SharePoint site collection with given id. - /// - /// Site collection id within metabase. - /// ? - public static int DeleteSiteCollection(int itemId) - { - // Check account. - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) - { - return accountCheck; - } - - // Load original meta item - SharePointSiteCollection origItem = (SharePointSiteCollection) PackageController.GetPackageItem(itemId); - if (origItem == null) - { - return BusinessErrorCodes.ERROR_SHAREPOINT_PACKAGE_ITEM_NOT_FOUND; - } - - // Get service settings. - StringDictionary hostedSharePointSettings = ServerController.GetServiceSettings(origItem.ServiceId); - Uri rootWebApplicationUri = new Uri(hostedSharePointSettings["RootWebApplicationUri"]); - string domainName = origItem.Name.Replace(String.Format("{0}://", rootWebApplicationUri.Scheme), String.Empty); - - // Log operation. - TaskManager.StartTask("HOSTEDSHAREPOINT", "DELETE_SITE", origItem.Name); - TaskManager.ItemId = itemId; - - try - { - // Delete site collection on server. - HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(origItem.ServiceId); - hostedSharePointServer.DeleteSiteCollection(origItem.Url); - // Delete record in metabase. - PackageController.DeletePackageItem(origItem.Id); - - int dnsServiceId = PackageController.GetPackageServiceId(origItem.PackageId, ResourceGroups.Dns); - if (dnsServiceId > 0) - { - DomainInfo domain = ServerController.GetDomain(domainName); - if (domain != null) - { - ServerController.DeleteDnsZoneRecord(domain.DomainId, String.Empty, DnsRecordType.A, hostedSharePointSettings["RootWebApplicationIpAddress"]); - ServerController.DeleteDnsZoneRecord(domain.DomainId, "www", DnsRecordType.A, hostedSharePointSettings["RootWebApplicationIpAddress"]); - - if (!String.IsNullOrEmpty(domain.WebSiteName)) - { - DnsRecord[] records = ServerController.GetDnsZoneRecords(domain.DomainId); - foreach (DnsRecord record in records) - { - if (record.RecordType.Equals(DnsRecordType.A) && record.RecordName.Equals("www", StringComparison.CurrentCultureIgnoreCase)) - { - ServerController.AddDnsZoneRecord(domain.DomainId, String.Empty, DnsRecordType.A, - record.RecordData, 0); - break; - } + ServerController.DeleteDnsZoneRecord(domain.DomainId, hostName, DnsRecordType.A, record.RecordData); + break; } } - } - } + ServerController.AddDnsZoneRecord(domain.DomainId, hostName, DnsRecordType.A, hostedSharePointSettings["RootWebApplicationIpAddress"], 0); + } + } + TaskManager.ItemId = itemId; + return itemId; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } - return 0; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + /// + /// Deletes SharePoint site collection with given id. + /// + /// Site collection id within metabase. + /// ? + public static int DeleteSiteCollection(int itemId) + { + // Check account. + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + return accountCheck; + } - /// - /// Deletes SharePoint site collections which belong to organization. - /// - /// Site collection id within metabase. - public static void DeleteSiteCollections(int organizationId) - { - Organization org = OrganizationController.GetOrganization(organizationId); - SharePointSiteCollectionListPaged existentSiteCollections = GetSiteCollectionsPaged(org.PackageId, org.Id, String.Empty, String.Empty, String.Empty, 0, Int32.MaxValue); - foreach (SharePointSiteCollection existentSiteCollection in existentSiteCollections.SiteCollections) - { - DeleteSiteCollection(existentSiteCollection.Id); - } - } + // Load original meta item + SharePointSiteCollection origItem = (SharePointSiteCollection)PackageController.GetPackageItem(itemId); + if (origItem == null) + { + return BusinessErrorCodes.ERROR_SHAREPOINT_PACKAGE_ITEM_NOT_FOUND; + } - /// - /// Backups SharePoint site collection. - /// - /// Site collection id within metabase. - /// Backed up site collection file name. - /// A value which shows whether back up must be archived. - /// A value which shows whether created back up must be downloaded. - /// Local folder to store downloaded backup. - /// Created backup file name. - public static string BackupSiteCollection(int itemId, string fileName, bool zipBackup, bool download, string folderName) - { - // Check account. - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) - { - return null; - } + // Get service settings. + StringDictionary hostedSharePointSettings = ServerController.GetServiceSettings(origItem.ServiceId); + Uri rootWebApplicationUri = new Uri(hostedSharePointSettings["RootWebApplicationUri"]); + string siteName = origItem.Name.Replace(String.Format("{0}://", rootWebApplicationUri.Scheme), String.Empty); - // Load original meta item - SharePointSiteCollection origItem = (SharePointSiteCollection)PackageController.GetPackageItem(itemId); - if (origItem == null) - { - return null; - } + // Log operation. + TaskManager.StartTask("HOSTEDSHAREPOINT", "DELETE_SITE", origItem.Name); + TaskManager.ItemId = itemId; - // Log operation. - TaskManager.StartTask("HOSTEDSHAREPOINT", "BACKUP_SITE_COLLECTION", origItem.Name); - TaskManager.ItemId = itemId; + try + { + // Delete site collection on server. + HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(origItem.ServiceId); + hostedSharePointServer.DeleteSiteCollection(origItem); + // Delete record in metabase. + PackageController.DeletePackageItem(origItem.Id); - try - { - // Create site collection on server. - HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(origItem.ServiceId); - string backFile = hostedSharePointServer.BackupSiteCollection(origItem.Name, fileName, zipBackup); + int dnsServiceId = PackageController.GetPackageServiceId(origItem.PackageId, ResourceGroups.Dns); + if (dnsServiceId > 0) + { + string[] tmpStr = siteName.Split('.'); + string hostName = tmpStr[0]; + string domainName = siteName.Substring(hostName.Length + 1, siteName.Length - (hostName.Length + 1)); - if (!download) - { - // Copy backup files to space folder. - string relFolderName = FilesController.CorrectRelativePath(folderName); - if (!relFolderName.EndsWith("\\")) - { - relFolderName = relFolderName + "\\"; - } + DomainInfo domain = ServerController.GetDomain(domainName); + if (domain != null) + { + ServerController.DeleteDnsZoneRecord(domain.DomainId, hostName, DnsRecordType.A, hostedSharePointSettings["RootWebApplicationIpAddress"]); + } + } - // Create backup folder if not exists - if (!FilesController.DirectoryExists(origItem.PackageId, relFolderName)) - { - FilesController.CreateFolder(origItem.PackageId, relFolderName); - } + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } - string packageFile = relFolderName + Path.GetFileName(backFile); + /// + /// Deletes SharePoint site collections which belong to organization. + /// + /// Site collection id within metabase. + public static void DeleteSiteCollections(int organizationId) + { + Organization org = OrganizationController.GetOrganization(organizationId); + SharePointSiteCollectionListPaged existentSiteCollections = GetSiteCollectionsPaged(org.PackageId, org.Id, String.Empty, String.Empty, String.Empty, 0, Int32.MaxValue); + foreach (SharePointSiteCollection existentSiteCollection in existentSiteCollections.SiteCollections) + { + DeleteSiteCollection(existentSiteCollection.Id); + } + } - // Delete destination file if exists - if (FilesController.FileExists(origItem.PackageId, packageFile)) - { - FilesController.DeleteFiles(origItem.PackageId, new string[] { packageFile }); - } + /// + /// Backups SharePoint site collection. + /// + /// Site collection id within metabase. + /// Backed up site collection file name. + /// A value which shows whether back up must be archived. + /// A value which shows whether created back up must be downloaded. + /// Local folder to store downloaded backup. + /// Created backup file name. + public static string BackupSiteCollection(int itemId, string fileName, bool zipBackup, bool download, string folderName) + { + // Check account. + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + return null; + } - byte[] buffer = null; + // Load original meta item + SharePointSiteCollection origItem = (SharePointSiteCollection)PackageController.GetPackageItem(itemId); + if (origItem == null) + { + return null; + } - int offset = 0; - do - { - // Read remote content. - buffer = hostedSharePointServer.GetTempFileBinaryChunk(backFile, offset, FILE_BUFFER_LENGTH); + // Log operation. + TaskManager.StartTask("HOSTEDSHAREPOINT", "BACKUP_SITE_COLLECTION", origItem.Name); + TaskManager.ItemId = itemId; - // Write remote content. - FilesController.AppendFileBinaryChunk(origItem.PackageId, packageFile, buffer); + try + { + // Create site collection on server. + HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(origItem.ServiceId); + string backFile = hostedSharePointServer.BackupSiteCollection(origItem.Name, fileName, zipBackup); - offset += FILE_BUFFER_LENGTH; - } - while (buffer.Length == FILE_BUFFER_LENGTH); - } + if (!download) + { + // Copy backup files to space folder. + string relFolderName = FilesController.CorrectRelativePath(folderName); + if (!relFolderName.EndsWith("\\")) + { + relFolderName = relFolderName + "\\"; + } - return backFile; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + // Create backup folder if not exists + if (!FilesController.DirectoryExists(origItem.PackageId, relFolderName)) + { + FilesController.CreateFolder(origItem.PackageId, relFolderName); + } - /// - /// Restores SharePoint site collection. - /// - /// Site collection id within metabase. - /// - /// - /// - public static int RestoreSiteCollection(int itemId, string uploadedFile, string packageFile) - { - // Check account. - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) - { - return accountCheck; - } + string packageFile = relFolderName + Path.GetFileName(backFile); - // Load original meta item. - SharePointSiteCollection origItem = (SharePointSiteCollection)PackageController.GetPackageItem(itemId); - if (origItem == null) - { - return BusinessErrorCodes.ERROR_SHAREPOINT_PACKAGE_ITEM_NOT_FOUND; - } + // Delete destination file if exists + if (FilesController.FileExists(origItem.PackageId, packageFile)) + { + FilesController.DeleteFiles(origItem.PackageId, new string[] { packageFile }); + } - // Check package. - int packageCheck = SecurityContext.CheckPackage(origItem.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) - { - return packageCheck; - } + byte[] buffer = null; - // Log operation. - TaskManager.StartTask("HOSTEDSHAREPOINT", "BACKUP_SITE_COLLECTION", origItem.Name); - TaskManager.ItemId = itemId; + int offset = 0; + do + { + // Read remote content. + buffer = hostedSharePointServer.GetTempFileBinaryChunk(backFile, offset, FILE_BUFFER_LENGTH); - try - { - // Create site collection on server. - HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(origItem.ServiceId); + // Write remote content. + FilesController.AppendFileBinaryChunk(origItem.PackageId, packageFile, buffer); - string backupFile = null; - if (!String.IsNullOrEmpty(packageFile)) - { - // Copy package files to the remote SharePoint Server. - string path = null; - byte[] buffer = null; + offset += FILE_BUFFER_LENGTH; + } + while (buffer.Length == FILE_BUFFER_LENGTH); + } - int offset = 0; - do - { - // Read package file. - buffer = FilesController.GetFileBinaryChunk(origItem.PackageId, packageFile, offset, FILE_BUFFER_LENGTH); + return backFile; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } - // Write remote backup file - string tempPath = hostedSharePointServer.AppendTempFileBinaryChunk(Path.GetFileName(packageFile), path, buffer); - if (path == null) - { - path = tempPath; - backupFile = path; - } + /// + /// Restores SharePoint site collection. + /// + /// Site collection id within metabase. + /// + /// + /// + public static int RestoreSiteCollection(int itemId, string uploadedFile, string packageFile) + { + // Check account. + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + return accountCheck; + } - offset += FILE_BUFFER_LENGTH; - } - while (buffer.Length == FILE_BUFFER_LENGTH); - } - else if (!String.IsNullOrEmpty(uploadedFile)) - { - // Upladed files. - backupFile = uploadedFile; - } + // Load original meta item. + SharePointSiteCollection origItem = (SharePointSiteCollection)PackageController.GetPackageItem(itemId); + if (origItem == null) + { + return BusinessErrorCodes.ERROR_SHAREPOINT_PACKAGE_ITEM_NOT_FOUND; + } - // Restore. - if (!String.IsNullOrEmpty(backupFile)) - { - hostedSharePointServer.RestoreSiteCollection(origItem, backupFile); - } + // Check package. + int packageCheck = SecurityContext.CheckPackage(origItem.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) + { + return packageCheck; + } - return 0; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + // Log operation. + TaskManager.StartTask("HOSTEDSHAREPOINT", "BACKUP_SITE_COLLECTION", origItem.Name); + TaskManager.ItemId = itemId; - /// - /// Gets binary data chunk of specified size from specified offset. - /// - /// Item id to obtain realted service id. - /// Path to file to get bunary data chunk from. - /// Offset from which to start data reading. - /// Binary data chunk length. - /// Binary data chunk read from file. - public static byte[] GetBackupBinaryChunk(int itemId, string path, int offset, int length) - { - // Load original meta item. - SharePointSiteCollection item = (SharePointSiteCollection)PackageController.GetPackageItem(itemId); - if (item == null) - { - return null; - } + try + { + // Create site collection on server. + HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(origItem.ServiceId); - HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(item.ServiceId); - return hostedSharePointServer.GetTempFileBinaryChunk(path, offset, length); - } + string backupFile = null; + if (!String.IsNullOrEmpty(packageFile)) + { + // Copy package files to the remote SharePoint Server. + string path = null; + byte[] buffer = null; - /// - /// Appends supplied binary data chunk to file. - /// - /// Item id to obtain realted service id. - /// Non existent file name to append to. - /// Full path to existent file to append to. - /// Binary data chunk to append to. - /// Path to file that was appended with chunk. - public static string AppendBackupBinaryChunk(int itemId, string fileName, string path, byte[] chunk) - { - // Load original meta item. - SharePointSiteCollection item = (SharePointSiteCollection)PackageController.GetPackageItem(itemId); - if (item == null) - { - return null; - } + int offset = 0; + do + { + // Read package file. + buffer = FilesController.GetFileBinaryChunk(origItem.PackageId, packageFile, offset, FILE_BUFFER_LENGTH); - HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(item.ServiceId); - return hostedSharePointServer.AppendTempFileBinaryChunk(fileName, path, chunk); - } + // Write remote backup file + string tempPath = hostedSharePointServer.AppendTempFileBinaryChunk(Path.GetFileName(packageFile), path, buffer); + if (path == null) + { + path = tempPath; + backupFile = path; + } + + offset += FILE_BUFFER_LENGTH; + } + while (buffer.Length == FILE_BUFFER_LENGTH); + } + else if (!String.IsNullOrEmpty(uploadedFile)) + { + // Upladed files. + backupFile = uploadedFile; + } + + // Restore. + if (!String.IsNullOrEmpty(backupFile)) + { + hostedSharePointServer.RestoreSiteCollection(origItem, backupFile); + } + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + /// + /// Gets binary data chunk of specified size from specified offset. + /// + /// Item id to obtain realted service id. + /// Path to file to get bunary data chunk from. + /// Offset from which to start data reading. + /// Binary data chunk length. + /// Binary data chunk read from file. + public static byte[] GetBackupBinaryChunk(int itemId, string path, int offset, int length) + { + // Load original meta item. + SharePointSiteCollection item = (SharePointSiteCollection)PackageController.GetPackageItem(itemId); + if (item == null) + { + return null; + } + + HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(item.ServiceId); + return hostedSharePointServer.GetTempFileBinaryChunk(path, offset, length); + } + + /// + /// Appends supplied binary data chunk to file. + /// + /// Item id to obtain realted service id. + /// Non existent file name to append to. + /// Full path to existent file to append to. + /// Binary data chunk to append to. + /// Path to file that was appended with chunk. + public static string AppendBackupBinaryChunk(int itemId, string fileName, string path, byte[] chunk) + { + // Load original meta item. + SharePointSiteCollection item = (SharePointSiteCollection)PackageController.GetPackageItem(itemId); + if (item == null) + { + return null; + } + + HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(item.ServiceId); + return hostedSharePointServer.AppendTempFileBinaryChunk(fileName, path, chunk); + } + + /// + /// Initializes a new hosted SharePoint server proxy. + /// + /// Hosted SharePoint service id. + /// Hosted SharePoint server proxy. + private static HostedSharePointServer GetHostedSharePointServer(int serviceId) + { - /// - /// Initializes a new hosted SharePoint server proxy. - /// - /// Hosted SharePoint service id. - /// Hosted SharePoint server proxy. - private static HostedSharePointServer GetHostedSharePointServer(int serviceId) - { - HostedSharePointServer sps = new HostedSharePointServer(); - ServiceProviderProxy.Init(sps, serviceId); - return sps; - } + ServiceProviderProxy.Init(sps, serviceId); + return sps; + } - /// - /// Gets list of importable items. - /// - /// Package that owns importable items. - /// Item type id. - /// Item type. - /// Item resource group. - /// List of importable item names. - public List GetImportableItems(int packageId, int itemTypeId, Type itemType, ResourceGroupInfo group) - { - List items = new List(); + /// + /// Gets list of importable items. + /// + /// Package that owns importable items. + /// Item type id. + /// Item type. + /// Item resource group. + /// List of importable item names. + public List GetImportableItems(int packageId, int itemTypeId, Type itemType, ResourceGroupInfo group) + { + List items = new List(); - // Get service id - int serviceId = PackageController.GetPackageServiceId(packageId, group.GroupName); - if (serviceId == 0) - { - return items; - } + // Get service id + int serviceId = PackageController.GetPackageServiceId(packageId, group.GroupName); + if (serviceId == 0) + { + return items; + } - HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(serviceId); - if (itemType == typeof(SharePointSiteCollection)) - { - foreach (SharePointSiteCollection siteCollection in hostedSharePointServer.GetSiteCollections()) - { - items.Add(siteCollection.Url); - } - } + HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(serviceId); + if (itemType == typeof(SharePointSiteCollection)) + { + foreach (SharePointSiteCollection siteCollection in hostedSharePointServer.GetSiteCollections()) + { + items.Add(siteCollection.Url); + } + } - return items; - } + return items; + } - /// - /// Imports selected item into metabase. - /// - /// Package to which items must be imported. - /// Item type id. - /// Item type. - /// Item resource group. - /// Item name to import. - public void ImportItem(int packageId, int itemTypeId, Type itemType, ResourceGroupInfo group, string itemName) - { - // Get service id - int serviceId = PackageController.GetPackageServiceId(packageId, group.GroupName); - if (serviceId == 0) - { - return; - } + /// + /// Imports selected item into metabase. + /// + /// Package to which items must be imported. + /// Item type id. + /// Item type. + /// Item resource group. + /// Item name to import. + public void ImportItem(int packageId, int itemTypeId, Type itemType, ResourceGroupInfo group, string itemName) + { + // Get service id + int serviceId = PackageController.GetPackageServiceId(packageId, group.GroupName); + if (serviceId == 0) + { + return; + } - HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(serviceId); - if (itemType == typeof(SharePointSiteCollection)) - { - SharePointSiteCollection siteCollection = hostedSharePointServer.GetSiteCollection(itemName); - PackageController.AddPackageItem(siteCollection); - } - } + HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(serviceId); + if (itemType == typeof(SharePointSiteCollection)) + { + SharePointSiteCollection siteCollection = hostedSharePointServer.GetSiteCollection(itemName); + PackageController.AddPackageItem(siteCollection); + } + } - /// - /// Backups service item by serializing it into supplied writer. - /// - /// Temporary directory path. - /// Xml wirter used to store backuped service provider items. - /// Service provider item to be backed up.. - /// Service provider resource group. - /// Resulting code. - public int BackupItem(string tempFolder, XmlWriter writer, ServiceProviderItem item, ResourceGroupInfo group) - { - SharePointSiteCollection siteCollection = item as SharePointSiteCollection; - if (siteCollection != null) - { - HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(siteCollection.ServiceId); - SharePointSiteCollection loadedSiteCollection = hostedSharePointServer.GetSiteCollection(siteCollection.Url); - // Update item - siteCollection.Url = loadedSiteCollection.Url; - siteCollection.OwnerLogin = loadedSiteCollection.OwnerLogin; - siteCollection.OwnerName = loadedSiteCollection.OwnerName; - siteCollection.OwnerEmail = loadedSiteCollection.OwnerEmail; - siteCollection.LocaleId = loadedSiteCollection.LocaleId; - siteCollection.Title = loadedSiteCollection.Title; - siteCollection.Description = loadedSiteCollection.Description; - // Serialize it. - XmlSerializer serializer = new XmlSerializer(typeof(SharePointSiteCollection)); - serializer.Serialize(writer, siteCollection); + /// + /// Backups service item by serializing it into supplied writer. + /// + /// Temporary directory path. + /// Xml wirter used to store backuped service provider items. + /// Service provider item to be backed up.. + /// Service provider resource group. + /// Resulting code. + public int BackupItem(string tempFolder, XmlWriter writer, ServiceProviderItem item, ResourceGroupInfo group) + { + SharePointSiteCollection siteCollection = item as SharePointSiteCollection; + if (siteCollection != null) + { + HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(siteCollection.ServiceId); + SharePointSiteCollection loadedSiteCollection = hostedSharePointServer.GetSiteCollection(siteCollection.Url); + // Update item + siteCollection.Url = loadedSiteCollection.Url; + siteCollection.OwnerLogin = loadedSiteCollection.OwnerLogin; + siteCollection.OwnerName = loadedSiteCollection.OwnerName; + siteCollection.OwnerEmail = loadedSiteCollection.OwnerEmail; + siteCollection.LocaleId = loadedSiteCollection.LocaleId; + siteCollection.Title = loadedSiteCollection.Title; + siteCollection.Description = loadedSiteCollection.Description; + // Serialize it. + XmlSerializer serializer = new XmlSerializer(typeof(SharePointSiteCollection)); + serializer.Serialize(writer, siteCollection); - } - return 0; - } + } + return 0; + } - /// - /// Restore backed up previously service provider item. - /// - /// Temporary directory path. - /// Serialized service provider item. - /// Service provider item id. - /// Service provider item type. - /// Service provider item name. - /// Service provider item package. - /// Service provider item service id. - /// Service provider item resource group. - /// Resulting code. - public int RestoreItem(string tempFolder, XmlNode itemNode, int itemId, Type itemType, string itemName, int packageId, int serviceId, ResourceGroupInfo group) - { - if (itemType == typeof(SharePointSiteCollection)) - { - HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(serviceId); - // Deserialize item. - XmlSerializer serializer = new XmlSerializer(typeof(SharePointSiteCollection)); - SharePointSiteCollection siteCollection = (SharePointSiteCollection)serializer.Deserialize(new XmlNodeReader(itemNode.SelectSingleNode("SharePointSiteCollection"))); - siteCollection.PackageId = packageId; - siteCollection.ServiceId = serviceId; + /// + /// Restore backed up previously service provider item. + /// + /// Temporary directory path. + /// Serialized service provider item. + /// Service provider item id. + /// Service provider item type. + /// Service provider item name. + /// Service provider item package. + /// Service provider item service id. + /// Service provider item resource group. + /// Resulting code. + public int RestoreItem(string tempFolder, XmlNode itemNode, int itemId, Type itemType, string itemName, int packageId, int serviceId, ResourceGroupInfo group) + { + if (itemType == typeof(SharePointSiteCollection)) + { + HostedSharePointServer hostedSharePointServer = GetHostedSharePointServer(serviceId); + // Deserialize item. + XmlSerializer serializer = new XmlSerializer(typeof(SharePointSiteCollection)); + SharePointSiteCollection siteCollection = (SharePointSiteCollection)serializer.Deserialize(new XmlNodeReader(itemNode.SelectSingleNode("SharePointSiteCollection"))); + siteCollection.PackageId = packageId; + siteCollection.ServiceId = serviceId; - // Create site collection if needed. - if (hostedSharePointServer.GetSiteCollection(siteCollection.Url) == null) - { - hostedSharePointServer.CreateSiteCollection(siteCollection); - } + // Create site collection if needed. + if (hostedSharePointServer.GetSiteCollection(siteCollection.Url) == null) + { + hostedSharePointServer.CreateSiteCollection(siteCollection); + } + + // Add metabase record if needed. + SharePointSiteCollection metaSiteCollection = (SharePointSiteCollection)PackageController.GetPackageItemByName(packageId, itemName, typeof(SharePointSiteCollection)); + if (metaSiteCollection == null) + { + PackageController.AddPackageItem(siteCollection); + } + } + + return 0; + } - // Add metabase record if needed. - SharePointSiteCollection metaSiteCollection = (SharePointSiteCollection)PackageController.GetPackageItemByName(packageId, itemName, typeof(SharePointSiteCollection)); - if (metaSiteCollection == null) - { - PackageController.AddPackageItem(siteCollection); - } - } - return 0; - } - - private static int GetHostedSharePointServiceId(int packageId) { return PackageController.GetPackageServiceId(packageId, ResourceGroups.HostedSharePoint); } - + private static List GetOrganizationSharePointSiteCollections(int orgId) { Organization org = OrganizationController.GetOrganization(orgId); @@ -776,18 +810,18 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint SharePointSiteCollectionListPaged siteCollections = GetSiteCollectionsPaged(org.PackageId, org.Id, String.Empty, String.Empty, String.Empty, 0, Int32.MaxValue); return siteCollections.SiteCollections; } - + private static int RecalculateStorageMaxSize(int size, int packageId) - { + { PackageContext cntx = PackageController.GetPackageContext(packageId); - QuotaValueInfo quota = cntx.Quotas[Quotas.HOSTED_SHAREPOINT_STORAGE_SIZE]; + QuotaValueInfo quota = cntx.Quotas[Quotas.HOSTED_SHAREPOINT_STORAGE_SIZE]; if (quota.QuotaAllocatedValue == -1) { if (size == -1)//Unlimited return -1; else - return size; + return size; } else { @@ -795,7 +829,7 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint return quota.QuotaAllocatedValue; return Math.Min(size, quota.QuotaAllocatedValue); - } + } } private static int RecalculateMaxSize(int parentSize, int realSize) @@ -815,8 +849,8 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint return Math.Min(parentSize, realSize); } - - + + public static int SetStorageSettings(int itemId, int maxStorage, int warningStorage, bool applyToSiteCollections) { // check account @@ -831,15 +865,15 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint { Organization org = (Organization)PackageController.GetPackageItem(itemId); if (org == null) - return 0; + return 0; // set limits int realMaxSizeValue = RecalculateStorageMaxSize(maxStorage, org.PackageId); org.MaxSharePointStorage = realMaxSizeValue; - org.WarningSharePointStorage = realMaxSizeValue == -1 ? -1 : Math.Min(warningStorage, realMaxSizeValue); - + org.WarningSharePointStorage = realMaxSizeValue == -1 ? -1 : Math.Min(warningStorage, realMaxSizeValue); + // save organization UpdateOrganization(org); @@ -851,9 +885,9 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint List currentOrgSiteCollection = GetOrganizationSharePointSiteCollections(org.Id); - - - foreach( SharePointSiteCollection siteCollection in currentOrgSiteCollection) + + + foreach (SharePointSiteCollection siteCollection in currentOrgSiteCollection) { try { @@ -861,17 +895,17 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint sc.MaxSiteStorage = realMaxSizeValue; sc.WarningStorage = realMaxSizeValue == -1 ? -1 : warningStorage; PackageController.UpdatePackageItem(sc); - + hostedSharePointServer.UpdateQuotas(siteCollection.PhysicalAddress, realMaxSizeValue, warningStorage); } - catch(Exception ex) + catch (Exception ex) { TaskManager.WriteError(ex); } - } + } } - + return 0; } catch (Exception ex) @@ -894,14 +928,14 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint { errorCode = accountCheck; return null; - } + } // place log record TaskManager.StartTask("HOSTED_SHAREPOINT", "CALCULATE_DISK_SPACE"); TaskManager.ItemId = itemId; try { - Organization org = (Organization) PackageController.GetPackageItem(itemId); + Organization org = (Organization)PackageController.GetPackageItem(itemId); if (org == null) return null; @@ -917,7 +951,7 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint { urls.Add(siteCollection.PhysicalAddress); } - if (urls.Count > 0) + if (urls.Count > 0) retDiskSpace = hostedSharePointServer.CalculateSiteCollectionsDiskSpace(urls.ToArray()); else { @@ -927,7 +961,7 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint retDiskSpace[0].Url = string.Empty; } } - catch(Exception ex) + catch (Exception ex) { throw TaskManager.WriteError(ex); } @@ -935,10 +969,10 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint { TaskManager.CompleteTask(); } - return retDiskSpace; + return retDiskSpace; } - private static void UpdateOrganization(Organization organization) + private static void UpdateOrganization(Organization organization) { PackageController.UpdatePackageItem(organization); } @@ -949,7 +983,7 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint TaskManager.StartTask("HOSTED_SHAREPOINT", "UPDATE_QUOTA"); try { - Organization org = (Organization) PackageController.GetPackageItem(itemId); + Organization org = (Organization)PackageController.GetPackageItem(itemId); if (org == null) return; @@ -960,7 +994,7 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint SharePointSiteCollection sc = GetSiteCollection(siteCollectionId); int maxSize = RecalculateMaxSize(org.MaxSharePointStorage, maxStorage); - int warningSize = warningStorage; + int warningSize = warningStorage; sc.MaxSiteStorage = maxSize; @@ -970,7 +1004,7 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint hostedSharePointServer.UpdateQuotas(sc.PhysicalAddress, maxSize, warningStorage); } - catch(Exception ex) + catch (Exception ex) { throw TaskManager.WriteError(ex); } @@ -989,5 +1023,5 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint return (SecurityContext.CheckAccount(DemandAccount.NotDemo) < 0); } } - } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs index 228bf436..687c96cf 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -30,15 +30,15 @@ using System; namespace WebsitePanel.Providers.HostedSolution { - - + + public class OrganizationUser { private int accountId; private int itemId; private int packageId; - private string primaryEmailAddress; + private string primaryEmailAddress; private string accountPassword; private string samAccountName; private string displayName; @@ -65,18 +65,23 @@ namespace WebsitePanel.Providers.HostedSolution private string domainUserName; private bool disabled; + private bool locked; + private bool isOCSUser; + private bool isBlackBerryUser; + private bool isLyncUser; + ExchangeAccountType accountType; private OrganizationUser manager; private Guid crmUserId; - + public Guid CrmUserId { get { return crmUserId; } set { crmUserId = value; } } - + public string DomainUserName { @@ -98,10 +103,10 @@ namespace WebsitePanel.Providers.HostedSolution public bool Disabled { - get { return disabled;} - set { disabled = value;} + get { return disabled; } + set { disabled = value; } } - + public string FirstName { get { return firstName; } @@ -258,17 +263,40 @@ namespace WebsitePanel.Providers.HostedSolution set { primaryEmailAddress = value; } } - + public string AccountPassword { get { return accountPassword; } set { accountPassword = value; } } - public string ExternalEmail { get; set; } + public string ExternalEmail { get; set; } public string DistinguishedName { get; set; } - public bool Locked { get; set; } + public bool Locked + { + get { return locked; } + set { locked = value; } + } + + public bool IsOCSUser + { + get { return isOCSUser; } + set { isOCSUser = value; } + } + + public bool IsLyncUser + { + get { return isLyncUser; } + set { isLyncUser = value; } + } + + public bool IsBlackBerryUser + { + get { return isBlackBerryUser; } + set { isBlackBerryUser = value; } + } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/IHostedSharePointServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/IHostedSharePointServer.cs index 219e0301..16b4822e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/IHostedSharePointServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/IHostedSharePointServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -30,89 +30,91 @@ using System; namespace WebsitePanel.Providers.SharePoint { - /// - /// Exposes functionality for share point server provider hosted in conjunction with organization management provider and - /// exchange server. - /// - public interface IHostedSharePointServer - { - /// - /// When implemented gets root web application uri. - /// - Uri RootWebApplicationUri - { - get; - } + /// + /// Exposes functionality for share point server provider hosted in conjunction with organization management provider and + /// exchange server. + /// + public interface IHostedSharePointServer + { + /// + /// When implemented gets root web application uri. + /// + Uri RootWebApplicationUri + { + get; + } - /// - /// When implemented gets list of supported languages by this installation of SharePoint. - /// - /// List of supported languages - int[] GetSupportedLanguages(); + /// + /// When implemented gets list of supported languages by this installation of SharePoint. + /// + /// List of supported languages + int[] GetSupportedLanguages(); - /// - /// When implemented gets list of SharePoint collections within root web application. - /// - /// List of SharePoint collections within root web application. - SharePointSiteCollection[] GetSiteCollections(); + /// + /// When implemented gets list of SharePoint collections within root web application. + /// + /// List of SharePoint collections within root web application. + SharePointSiteCollection[] GetSiteCollections(); - /// - /// When implemented gets SharePoint collection within root web application with given name. - /// - /// Url that uniquely identifies site collection to be loaded. - /// SharePoint collection within root web application with given name. - SharePointSiteCollection GetSiteCollection(string url); + /// + /// When implemented gets SharePoint collection within root web application with given name. + /// + /// Url that uniquely identifies site collection to be loaded. + /// SharePoint collection within root web application with given name. + SharePointSiteCollection GetSiteCollection(string url); - /// - /// When implemented creates site collection within predefined root web application. - /// - /// Information about site coolection to be created. - void CreateSiteCollection(SharePointSiteCollection siteCollection); - - /// - /// When implemented deletes site collection under given url. - /// - /// Url that uniquely identifies site collection to be deleted. - void DeleteSiteCollection(string url); + /// + /// When implemented creates site collection within predefined root web application. + /// + /// Information about site coolection to be created. + void CreateSiteCollection(SharePointSiteCollection siteCollection); - /// - /// When implemeneted backups site collection under give url. - /// - /// Url that uniquely identifies site collection to be deleted. - /// Resulting backup file name. - /// A value which shows whether created backup must be archived. - /// Created backup full path. - string BackupSiteCollection(string url, string filename, bool zip); + /// + /// When implemented deletes site collection under given url. + /// + /// Url that uniquely identifies site collection to be deleted. + void DeleteSiteCollection(SharePointSiteCollection siteCollection); - /// - /// When implemented restores site collection under given url from backup. - /// - /// Site collection to be restored. - /// Backup file name to restore from. - void RestoreSiteCollection(SharePointSiteCollection siteCollection, string filename); + /// + /// When implemeneted backups site collection under give url. + /// + /// Url that uniquely identifies site collection to be deleted. + /// Resulting backup file name. + /// A value which shows whether created backup must be archived. + /// Created backup full path. + string BackupSiteCollection(string url, string filename, bool zip); + + /// + /// When implemented restores site collection under given url from backup. + /// + /// Site collection to be restored. + /// Backup file name to restore from. + void RestoreSiteCollection(SharePointSiteCollection siteCollection, string filename); + + /// + /// When implemented gets binary data chunk of specified size from specified offset. + /// + /// Path to file to get bunary data chunk from. + /// Offset from which to start data reading. + /// Binary data chunk length. + /// Binary data chunk read from file. + byte[] GetTempFileBinaryChunk(string path, int offset, int length); + + /// + /// When implemented appends supplied binary data chunk to file. + /// + /// Non existent file name to append to. + /// Full path to existent file to append to. + /// Binary data chunk to append to. + /// Path to file that was appended with chunk. + string AppendTempFileBinaryChunk(string fileName, string path, byte[] chunk); - /// - /// When implemented gets binary data chunk of specified size from specified offset. - /// - /// Path to file to get bunary data chunk from. - /// Offset from which to start data reading. - /// Binary data chunk length. - /// Binary data chunk read from file. - byte[] GetTempFileBinaryChunk(string path, int offset, int length); - - /// - /// When implemented appends supplied binary data chunk to file. - /// - /// Non existent file name to append to. - /// Full path to existent file to append to. - /// Binary data chunk to append to. - /// Path to file that was appended with chunk. - string AppendTempFileBinaryChunk(string fileName, string path, byte[] chunk); - void UpdateQuotas(string url, long maxStorage, long warningStorage); - SharePointSiteDiskSpace[] CalculateSiteCollectionsDiskSpace(string[] urls); + SharePointSiteDiskSpace[] CalculateSiteCollectionsDiskSpace(string[] urls); - long GetSiteCollectionSize(string url); - } + long GetSiteCollectionSize(string url); + + void SetPeoplePickerOu(string site, string ou); + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteCollection.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteCollection.cs index 77133bf8..120863c3 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteCollection.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/SharePointSiteCollection.cs @@ -51,6 +51,9 @@ namespace WebsitePanel.Providers.SharePoint private long diskspace; private long maxSiteStorage; private long warningStorage; + private string rootWebApplicationInteralIpAddress; + private string rootWebApplicationFQDN; + [Persistent] @@ -178,6 +181,39 @@ namespace WebsitePanel.Providers.SharePoint } } + /// + /// Gets or sets the internal ip address + /// + [Persistent] + public string RootWebApplicationInteralIpAddress + { + get + { + return this.rootWebApplicationInteralIpAddress; + } + set + { + this.rootWebApplicationInteralIpAddress = value; + } + } + + /// + /// Gets or sets the internal ip address + /// + [Persistent] + public string RootWebApplicationFQDN + { + get + { + return this.rootWebApplicationFQDN; + } + set + { + this.rootWebApplicationFQDN = value; + } + } + + /// /// Gets or sets locale id of the site collection to be created. /// diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer.cs index a162f2fa..3639da0b 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -36,14 +36,14 @@ using Microsoft.Win32; namespace WebsitePanel.Providers.HostedSolution { - /// - /// Provides hosted SharePoint server functionality implementation. - /// - public class HostedSharePointServer : HostingServiceProviderBase, IHostedSharePointServer - { - private delegate TReturn SharePointAction(HostedSharePointServerImpl impl); + /// + /// Provides hosted SharePoint server functionality implementation. + /// + public class HostedSharePointServer : HostingServiceProviderBase, IHostedSharePointServer + { + private delegate TReturn SharePointAction(HostedSharePointServerImpl impl); - protected string Wss3RegistryKey; + protected string Wss3RegistryKey; protected string Wss3Registry32Key; protected string LanguagePacksPath; @@ -54,301 +54,301 @@ namespace WebsitePanel.Providers.HostedSolution this.LanguagePacksPath = @"%commonprogramfiles%\microsoft shared\Web Server Extensions\12\HCCab\"; } - /// - /// Gets root web application uri. - /// - public Uri RootWebApplicationUri - { - get - { - return new Uri(ProviderSettings["RootWebApplicationUri"]); - } - } + /// + /// Gets root web application uri. + /// + public Uri RootWebApplicationUri + { + get + { + return new Uri(ProviderSettings["RootWebApplicationUri"]); + } + } public string BackupTemporaryFolder - { - get - { + { + get + { return ProviderSettings["BackupTemporaryFolder"]; - } - } + } + } - /// - /// Gets list of supported languages by this installation of SharePoint. - /// - /// List of supported languages - public int[] GetSupportedLanguages() - { - HostedSharePointServerImpl impl = new HostedSharePointServerImpl(); - return impl.GetSupportedLanguages(LanguagePacksPath); - } + /// + /// Gets list of supported languages by this installation of SharePoint. + /// + /// List of supported languages + public int[] GetSupportedLanguages() + { + HostedSharePointServerImpl impl = new HostedSharePointServerImpl(); + return impl.GetSupportedLanguages(LanguagePacksPath); + } - /// - /// Gets list of SharePoint collections within root web application. - /// - /// List of SharePoint collections within root web application. - public SharePointSiteCollection[] GetSiteCollections() - { - return - ExecuteSharePointAction(delegate(HostedSharePointServerImpl impl) - { - return impl.GetSiteCollections(RootWebApplicationUri); - }); - } + /// + /// Gets list of SharePoint collections within root web application. + /// + /// List of SharePoint collections within root web application. + public SharePointSiteCollection[] GetSiteCollections() + { + return + ExecuteSharePointAction(delegate(HostedSharePointServerImpl impl) + { + return impl.GetSiteCollections(RootWebApplicationUri); + }); + } - /// - /// Gets SharePoint collection within root web application with given name. - /// - /// Url that uniquely identifies site collection to be loaded. - /// SharePoint collection within root web application with given name. - public SharePointSiteCollection GetSiteCollection(string url) - { - return - ExecuteSharePointAction(delegate(HostedSharePointServerImpl impl) - { - return impl.GetSiteCollection(RootWebApplicationUri, url); - }); - } + /// + /// Gets SharePoint collection within root web application with given name. + /// + /// Url that uniquely identifies site collection to be loaded. + /// SharePoint collection within root web application with given name. + public SharePointSiteCollection GetSiteCollection(string url) + { + return + ExecuteSharePointAction(delegate(HostedSharePointServerImpl impl) + { + return impl.GetSiteCollection(RootWebApplicationUri, url); + }); + } - /// - /// Creates site collection within predefined root web application. - /// - /// Information about site coolection to be created. - public void CreateSiteCollection(SharePointSiteCollection siteCollection) - { - ExecuteSharePointAction(delegate(HostedSharePointServerImpl impl) - { - impl.CreateSiteCollection(RootWebApplicationUri, siteCollection); - return null; - }); - } + /// + /// Creates site collection within predefined root web application. + /// + /// Information about site coolection to be created. + public void CreateSiteCollection(SharePointSiteCollection siteCollection) + { + ExecuteSharePointAction(delegate(HostedSharePointServerImpl impl) + { + impl.CreateSiteCollection(RootWebApplicationUri, siteCollection); + return null; + }); + } - /// - /// Deletes site collection under given url. - /// - /// Url that uniquely identifies site collection to be deleted. - public void DeleteSiteCollection(string url) - { - ExecuteSharePointAction(delegate(HostedSharePointServerImpl impl) - { - impl.DeleteSiteCollection(RootWebApplicationUri, url); - return null; - }); - } + /// + /// Deletes site collection under given url. + /// + /// Url that uniquely identifies site collection to be deleted. + public void DeleteSiteCollection(SharePointSiteCollection siteCollection) + { + ExecuteSharePointAction(delegate(HostedSharePointServerImpl impl) + { + impl.DeleteSiteCollection(RootWebApplicationUri, siteCollection); + return null; + }); + } - /// - /// Backups site collection under give url. - /// - /// Url that uniquely identifies site collection to be deleted. - /// Resulting backup file name. - /// A value which shows whether created backup must be archived. - /// Created backup full path. - public string BackupSiteCollection(string url, string filename, bool zip) - { - return ExecuteSharePointAction(delegate(HostedSharePointServerImpl impl) - { - return impl.BackupSiteCollection(RootWebApplicationUri, url, filename, zip, BackupTemporaryFolder); - }); - } + /// + /// Backups site collection under give url. + /// + /// Url that uniquely identifies site collection to be deleted. + /// Resulting backup file name. + /// A value which shows whether created backup must be archived. + /// Created backup full path. + public string BackupSiteCollection(string url, string filename, bool zip) + { + return ExecuteSharePointAction(delegate(HostedSharePointServerImpl impl) + { + return impl.BackupSiteCollection(RootWebApplicationUri, url, filename, zip, BackupTemporaryFolder); + }); + } - - /// - /// Restores site collection under given url from backup. - /// - /// Site collection to be restored. - /// Backup file name to restore from. - public void RestoreSiteCollection(SharePointSiteCollection siteCollection, string filename) - { - ExecuteSharePointAction(delegate(HostedSharePointServerImpl impl) - { - impl.RestoreSiteCollection(RootWebApplicationUri, siteCollection, filename); - return null; - }); - } - /// - /// Gets binary data chunk of specified size from specified offset. - /// - /// Path to file to get bunary data chunk from. - /// Offset from which to start data reading. - /// Binary data chunk length. - /// Binary data chunk read from file. - public virtual byte[] GetTempFileBinaryChunk(string path, int offset, int length) - { - byte[] buffer = FileUtils.GetFileBinaryChunk(path, offset, length); + /// + /// Restores site collection under given url from backup. + /// + /// Site collection to be restored. + /// Backup file name to restore from. + public void RestoreSiteCollection(SharePointSiteCollection siteCollection, string filename) + { + ExecuteSharePointAction(delegate(HostedSharePointServerImpl impl) + { + impl.RestoreSiteCollection(RootWebApplicationUri, siteCollection, filename); + return null; + }); + } - // Delete temp file - if (buffer.Length < length) - { - FileUtils.DeleteFile(path); - } - return buffer; - } + /// + /// Gets binary data chunk of specified size from specified offset. + /// + /// Path to file to get bunary data chunk from. + /// Offset from which to start data reading. + /// Binary data chunk length. + /// Binary data chunk read from file. + public virtual byte[] GetTempFileBinaryChunk(string path, int offset, int length) + { + byte[] buffer = FileUtils.GetFileBinaryChunk(path, offset, length); - /// - /// Appends supplied binary data chunk to file. - /// - /// Non existent file name to append to. - /// Full path to existent file to append to. - /// Binary data chunk to append to. - /// Path to file that was appended with chunk. - public virtual string AppendTempFileBinaryChunk(string fileName, string path, byte[] chunk) - { - if (path == null) - { - path = Path.Combine(Path.GetTempPath(), fileName); - if (FileUtils.FileExists(path)) - { - FileUtils.DeleteFile(path); - } - } + // Delete temp file + if (buffer.Length < length) + { + FileUtils.DeleteFile(path); + } + return buffer; + } - FileUtils.AppendFileBinaryContent(path, chunk); + /// + /// Appends supplied binary data chunk to file. + /// + /// Non existent file name to append to. + /// Full path to existent file to append to. + /// Binary data chunk to append to. + /// Path to file that was appended with chunk. + public virtual string AppendTempFileBinaryChunk(string fileName, string path, byte[] chunk) + { + if (path == null) + { + path = Path.Combine(Path.GetTempPath(), fileName); + if (FileUtils.FileExists(path)) + { + FileUtils.DeleteFile(path); + } + } + + FileUtils.AppendFileBinaryContent(path, chunk); + + return path; + } - return path; - } - public override bool IsInstalled() { return IsSharePointInstalled(); - + } - /// - /// Deletes service items that represent SharePoint site collection. - /// - /// Items to be deleted. - public override void DeleteServiceItems(ServiceProviderItem[] items) - { - foreach (ServiceProviderItem item in items) - { - if (item is SharePointSiteCollection) - { - try - { - DeleteSiteCollection((item as SharePointSiteCollection).Url); - } - catch (Exception ex) - { - Log.WriteError(String.Format("Error deleting '{0}' {1}", item.Name, item.GetType().Name), ex); - } - } - } - } + /// + /// Deletes service items that represent SharePoint site collection. + /// + /// Items to be deleted. + public override void DeleteServiceItems(ServiceProviderItem[] items) + { + foreach (ServiceProviderItem item in items) + { + if (item is SharePointSiteCollection) + { + try + { + DeleteSiteCollection((SharePointSiteCollection)item); + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error deleting '{0}' {1}", item.Name, item.GetType().Name), ex); + } + } + } + } - /// - /// Calculates diskspace used by supplied service items. - /// - /// Service items to get diskspace usage for. - /// Calculated disk space usage statistics. - public override ServiceProviderItemDiskSpace[] GetServiceItemsDiskSpace(ServiceProviderItem[] items) - { - List itemsDiskspace = new List(); + /// + /// Calculates diskspace used by supplied service items. + /// + /// Service items to get diskspace usage for. + /// Calculated disk space usage statistics. + public override ServiceProviderItemDiskSpace[] GetServiceItemsDiskSpace(ServiceProviderItem[] items) + { + List itemsDiskspace = new List(); - // update items with diskspace - foreach (ServiceProviderItem item in items) - { - if (item is SharePointSiteCollection) - { - try - { - Log.WriteStart(String.Format("Calculating '{0}' site logs size", item.Name)); + // update items with diskspace + foreach (ServiceProviderItem item in items) + { + if (item is SharePointSiteCollection) + { + try + { + Log.WriteStart(String.Format("Calculating '{0}' site logs size", item.Name)); - SharePointSiteCollection site = GetSiteCollection(item.Name); - ServiceProviderItemDiskSpace diskspace = new ServiceProviderItemDiskSpace(); - diskspace.ItemId = item.Id; - diskspace.DiskSpace = site.Diskspace; - itemsDiskspace.Add(diskspace); + SharePointSiteCollection site = GetSiteCollection(item.Name); + ServiceProviderItemDiskSpace diskspace = new ServiceProviderItemDiskSpace(); + diskspace.ItemId = item.Id; + diskspace.DiskSpace = site.Diskspace; + itemsDiskspace.Add(diskspace); - Log.WriteEnd(String.Format("Calculating '{0}' site logs size", item.Name)); - } - catch (Exception ex) - { - Log.WriteError(ex); - } - } - } - return itemsDiskspace.ToArray(); - } + Log.WriteEnd(String.Format("Calculating '{0}' site logs size", item.Name)); + } + catch (Exception ex) + { + Log.WriteError(ex); + } + } + } + return itemsDiskspace.ToArray(); + } - /// - /// Checks whether Wss 3.0 is installed. - /// - /// true - if it is installed; false - otherwise. - private bool IsSharePointInstalled() - { - RegistryKey spKey = Registry.LocalMachine.OpenSubKey(Wss3RegistryKey); + /// + /// Checks whether Wss 3.0 is installed. + /// + /// true - if it is installed; false - otherwise. + private bool IsSharePointInstalled() + { + RegistryKey spKey = Registry.LocalMachine.OpenSubKey(Wss3RegistryKey); RegistryKey spKey32 = Registry.LocalMachine.OpenSubKey(Wss3Registry32Key); if (spKey == null && spKey32 == null) - { - return false; - } + { + return false; + } - string spVal = (string)spKey.GetValue("SharePoint"); - return (String.Compare(spVal, "installed", true) == 0); - } + string spVal = (string)spKey.GetValue("SharePoint"); + return (String.Compare(spVal, "installed", true) == 0); + } - /// - /// Executes supplied action within separate application domain. - /// - /// Action to be executed. - /// Any object that results from action execution or null if nothing is supposed to be returned. - /// Is thrown in case supplied action is null. - private static TReturn ExecuteSharePointAction(SharePointAction action) - { - if (action == null) - { - throw new ArgumentNullException("action"); - } + /// + /// Executes supplied action within separate application domain. + /// + /// Action to be executed. + /// Any object that results from action execution or null if nothing is supposed to be returned. + /// Is thrown in case supplied action is null. + private static TReturn ExecuteSharePointAction(SharePointAction action) + { + if (action == null) + { + throw new ArgumentNullException("action"); + } - AppDomain domain = null; - try - { - // Create instance of server implementation in a separate application domain for - // security and isolation purposes. - Type type = typeof (HostedSharePointServerImpl); - AppDomainSetup info = new AppDomainSetup(); - info.ApplicationBase = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory); - info.PrivateBinPath = "bin; bin/debug"; - domain = AppDomain.CreateDomain("WSS30", null, info); + AppDomain domain = null; + try + { + // Create instance of server implementation in a separate application domain for + // security and isolation purposes. + Type type = typeof(HostedSharePointServerImpl); + AppDomainSetup info = new AppDomainSetup(); + info.ApplicationBase = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory); + info.PrivateBinPath = "bin; bin/debug"; + domain = AppDomain.CreateDomain("WSS30", null, info); - HostedSharePointServerImpl impl = - (HostedSharePointServerImpl) - domain.CreateInstanceAndUnwrap(type.Assembly.FullName, type.FullName); + HostedSharePointServerImpl impl = + (HostedSharePointServerImpl) + domain.CreateInstanceAndUnwrap(type.Assembly.FullName, type.FullName); - // Execute requested action within created application domain. - return action(impl); - } - finally - { - if (domain != null) - { - AppDomain.Unload(domain); - } - } - } + // Execute requested action within created application domain. + return action(impl); + } + finally + { + if (domain != null) + { + AppDomain.Unload(domain); + } + } + } public void UpdateQuotas(string url, long maxStorage, long warningStorage) { ExecuteSharePointAction(delegate(HostedSharePointServerImpl impl) - { - impl.UpdateQuotas(RootWebApplicationUri, url, maxStorage, warningStorage); - return null; - }); - - + { + impl.UpdateQuotas(RootWebApplicationUri, url, maxStorage, warningStorage); + return null; + }); + + + - } - public SharePointSiteDiskSpace[] CalculateSiteCollectionsDiskSpace(string []urls) + public SharePointSiteDiskSpace[] CalculateSiteCollectionsDiskSpace(string[] urls) { - SharePointSiteDiskSpace []sd = null; + SharePointSiteDiskSpace[] sd = null; sd = ExecuteSharePointAction(delegate(HostedSharePointServerImpl impl) - { - return impl.CalculateSiteCollectionDiskSpace(RootWebApplicationUri, urls); - }); + { + return impl.CalculateSiteCollectionDiskSpace(RootWebApplicationUri, urls); + }); return sd; @@ -366,5 +366,10 @@ namespace WebsitePanel.Providers.HostedSolution return ret; } + public virtual void SetPeoplePickerOu(string site, string ou) + { + + } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer2010.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer2010.cs index 0ae7dda3..b761df53 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer2010.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer2010.cs @@ -1,7 +1,18 @@ using System; +using System.IO; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Text; +using System.Management.Automation; +using System.Management.Automation.Runspaces; + +using WebsitePanel.Providers.Utils; +using WebsitePanel.Server.Utils; + +using WebsitePanel.Providers.SharePoint; + + namespace WebsitePanel.Providers.HostedSolution { public class HostedSharePointServer2010 : HostedSharePointServer @@ -12,5 +23,239 @@ namespace WebsitePanel.Providers.HostedSolution this.Wss3Registry32Key = @"SOFTWARE\Wow6432Node\Microsoft\Shared Tools\Web Server Extensions\14.0"; this.LanguagePacksPath = @"%commonprogramfiles%\microsoft shared\Web Server Extensions\14\HCCab\"; } + + #region PowerShell integration + private static RunspaceConfiguration runspaceConfiguration = null; + + internal virtual string SharepointSnapInName + { + get { return "Microsoft.SharePoint.Powershell"; } + } + + internal virtual Runspace OpenRunspace() + { + HostedSolutionLog.LogStart("OpenRunspace"); + + if (runspaceConfiguration == null) + { + runspaceConfiguration = RunspaceConfiguration.Create(); + PSSnapInException exception = null; + + PSSnapInInfo info = runspaceConfiguration.AddPSSnapIn(SharepointSnapInName, out exception); + HostedSolutionLog.LogInfo("Sharepoint snapin loaded"); + + if (exception != null) + { + HostedSolutionLog.LogWarning("SnapIn error", exception); + } + } + Runspace runSpace = RunspaceFactory.CreateRunspace(runspaceConfiguration); + // + runSpace.Open(); + // + runSpace.SessionStateProxy.SetVariable("ConfirmPreference", "none"); + HostedSolutionLog.LogEnd("OpenRunspace"); + return runSpace; + } + + internal void CloseRunspace(Runspace runspace) + { + try + { + if (runspace != null && runspace.RunspaceStateInfo.State == RunspaceState.Opened) + { + runspace.Close(); + } + } + catch (Exception ex) + { + HostedSolutionLog.LogError("Runspace error", ex); + } + } + + internal Collection ExecuteShellCommand(Runspace runSpace, Command cmd) + { + return ExecuteShellCommand(runSpace, cmd, true); + } + + internal Collection ExecuteShellCommand(Runspace runSpace, Command cmd, bool useDomainController) + { + object[] errors; + return ExecuteShellCommand(runSpace, cmd, useDomainController, out errors); + } + + internal Collection ExecuteShellCommand(Runspace runSpace, Command cmd, out object[] errors) + { + return ExecuteShellCommand(runSpace, cmd, true, out errors); + } + + internal Collection ExecuteShellCommand(Runspace runSpace, Command cmd, bool useDomainController, out object[] errors) + { + HostedSolutionLog.LogStart("ExecuteShellCommand"); + List errorList = new List(); + + HostedSolutionLog.DebugCommand(cmd); + Collection results = null; + // Create a pipeline + Pipeline pipeLine = runSpace.CreatePipeline(); + using (pipeLine) + { + // Add the command + pipeLine.Commands.Add(cmd); + // Execute the pipeline and save the objects returned. + results = pipeLine.Invoke(); + + // Log out any errors in the pipeline execution + // NOTE: These errors are NOT thrown as exceptions! + // Be sure to check this to ensure that no errors + // happened while executing the command. + if (pipeLine.Error != null && pipeLine.Error.Count > 0) + { + foreach (object item in pipeLine.Error.ReadToEnd()) + { + errorList.Add(item); + string errorMessage = string.Format("Invoke error: {0}", item); + HostedSolutionLog.LogWarning(errorMessage); + } + } + } + pipeLine = null; + errors = errorList.ToArray(); + HostedSolutionLog.LogEnd("ExecuteShellCommand"); + return results; + } + + /// + /// Returns the distinguished name of the object from the shell execution result + /// + /// + /// + internal string GetResultObjectDN(Collection result) + { + HostedSolutionLog.LogStart("GetResultObjectDN"); + if (result == null) + throw new ArgumentNullException("result", "Execution result is not specified"); + + if (result.Count < 1) + throw new ArgumentException("Execution result does not contain any object"); + + if (result.Count > 1) + throw new ArgumentException("Execution result contains more than one object"); + + PSMemberInfo info = result[0].Members["DistinguishedName"]; + if (info == null) + throw new ArgumentException("Execution result does not contain DistinguishedName property", "result"); + + string ret = info.Value.ToString(); + HostedSolutionLog.LogEnd("GetResultObjectDN"); + return ret; + } + + /// + /// Checks the object from the shell execution result. + /// + /// + /// Distinguished name of the object if object exists or null otherwise. + internal string CheckResultObjectDN(Collection result) + { + HostedSolutionLog.LogStart("CheckResultObjectDN"); + + if (result == null) + return null; + + if (result.Count < 1) + return null; + + PSMemberInfo info = result[0].Members["DistinguishedName"]; + if (info == null) + throw new ArgumentException("Execution result does not contain DistinguishedName property", "result"); + + string ret = info.Value.ToString(); + HostedSolutionLog.LogEnd("CheckResultObjectDN"); + return ret; + } + + /// + /// Returns the identity of the object from the shell execution result + /// + /// + /// + internal string GetResultObjectIdentity(Collection result) + { + HostedSolutionLog.LogStart("GetResultObjectIdentity"); + if (result == null) + throw new ArgumentNullException("result", "Execution result is not specified"); + + if (result.Count < 1) + throw new ArgumentException("Execution result is empty", "result"); + + if (result.Count > 1) + throw new ArgumentException("Execution result contains more than one object", "result"); + + PSMemberInfo info = result[0].Members["Identity"]; + if (info == null) + throw new ArgumentException("Execution result does not contain Identity property", "result"); + + string ret = info.Value.ToString(); + HostedSolutionLog.LogEnd("GetResultObjectIdentity"); + return ret; + } + + /// + /// Returns the identity of the PS object + /// + /// + /// + internal string GetPSObjectIdentity(PSObject obj) + { + HostedSolutionLog.LogStart("GetPSObjectIdentity"); + if (obj == null) + throw new ArgumentNullException("obj", "PSObject is not specified"); + + + PSMemberInfo info = obj.Members["Identity"]; + if (info == null) + throw new ArgumentException("PSObject does not contain Identity property", "obj"); + + string ret = info.Value.ToString(); + HostedSolutionLog.LogEnd("GetPSObjectIdentity"); + return ret; + } + + internal object GetPSObjectProperty(PSObject obj, string name) + { + return obj.Members[name].Value; + } + + #endregion + + public override void SetPeoplePickerOu(string site, string ou) + { + HostedSolutionLog.LogStart("SetPeoplePickerOu"); + HostedSolutionLog.LogInfo(" Site: {0}", site); + HostedSolutionLog.LogInfo(" OU: {0}", ou); + + Runspace runSpace = null; + try + { + List siteCollections = new List(); + + runSpace = OpenRunspace(); + Command cmd = new Command("Set-SPSite"); + cmd.Parameters.Add("Identity", site); + cmd.Parameters.Add("UserAccountDirectoryPath", ou); + ExecuteShellCommand(runSpace, cmd); + + } + finally + { + + CloseRunspace(runSpace); + } + + HostedSolutionLog.LogEnd("SetPeoplePickerOu"); + } + + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServerImpl.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServerImpl.cs index e947279b..f9f15cdf 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServerImpl.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServerImpl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -38,33 +38,48 @@ using Microsoft.SharePoint.Administration; namespace WebsitePanel.Providers.HostedSolution { - /// - /// Represents SharePoint management functionality implementation. - /// - public class HostedSharePointServerImpl : MarshalByRefObject - { - /// - /// Gets list of supported languages by this installation of SharePoint. - /// - /// List of supported languages + /// + /// Represents SharePoint management functionality implementation. + /// + public class HostedSharePointServerImpl : MarshalByRefObject + { + /// + /// Gets list of supported languages by this installation of SharePoint. + /// + /// List of supported languages public int[] GetSupportedLanguages(string languagePacksPath) - { - List languages = new List(); - string rootDirectory = FileUtils.EvaluateSystemVariables(languagePacksPath); - foreach (string dir in Directory.GetDirectories(rootDirectory)) - { - int languageId = 0; - if (Int32.TryParse(dir.Replace(rootDirectory, String.Empty), out languageId)) - { - languages.Add(languageId); - } - } + { + List languages = new List(); - return languages.ToArray(); - } + try + { + WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); - public long GetSiteCollectionSize(Uri root,string url) - { + try + { + SPLanguageCollection installedLanguages = SPRegionalSettings.GlobalInstalledLanguages; + + foreach (SPLanguage lang in installedLanguages) + { + languages.Add(lang.LCID); + } + + return languages.ToArray(); + + } + finally + { + wic.Undo(); + } + } + catch (Exception ex) + { + throw new InvalidOperationException("Failed to create site collection.", ex); + } + } + + public long GetSiteCollectionSize(Uri root, string url) + { WindowsImpersonationContext wic = null; try @@ -77,8 +92,8 @@ namespace WebsitePanel.Providers.HostedSolution site.RecalculateStorageUsed(); else throw new ApplicationException(string.Format("SiteCollection {0} does not exist", url)); - - return site.Usage.Storage; + + return site.Usage.Storage; } catch (Exception ex) { @@ -91,28 +106,28 @@ namespace WebsitePanel.Providers.HostedSolution wic.Undo(); } - } - + } + public SharePointSiteDiskSpace[] CalculateSiteCollectionDiskSpace(Uri root, string[] urls) - { + { WindowsImpersonationContext wic = null; - + try { wic = WindowsIdentity.GetCurrent().Impersonate(); - + SPWebApplication rootWebApplication = SPWebApplication.Lookup(root); List ret = new List(); foreach (string url in urls) { SharePointSiteDiskSpace siteDiskSpace = new SharePointSiteDiskSpace(); - rootWebApplication.Sites[url].RecalculateStorageUsed(); + rootWebApplication.Sites[url].RecalculateStorageUsed(); siteDiskSpace.Url = url; - siteDiskSpace.DiskSpace = (long)Math.Round( rootWebApplication.Sites[url].Usage.Storage / 1024.0 / 1024.0); + siteDiskSpace.DiskSpace = (long)Math.Round(rootWebApplication.Sites[url].Usage.Storage / 1024.0 / 1024.0); ret.Add(siteDiskSpace); } - return ret.ToArray(); + return ret.ToArray(); } catch (Exception ex) { @@ -125,97 +140,97 @@ namespace WebsitePanel.Providers.HostedSolution wic.Undo(); } - } - - + } + + /// - /// Gets list of SharePoint collections within root web application. - /// - /// Root web application uri. - /// List of SharePoint collections within root web application. - public SharePointSiteCollection[] GetSiteCollections(Uri rootWebApplicationUri) - { - try - { - WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); + /// Gets list of SharePoint collections within root web application. + /// + /// Root web application uri. + /// List of SharePoint collections within root web application. + public SharePointSiteCollection[] GetSiteCollections(Uri rootWebApplicationUri) + { + try + { + WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); - try - { - SPWebApplication rootWebApplication = SPWebApplication.Lookup(rootWebApplicationUri); + try + { + SPWebApplication rootWebApplication = SPWebApplication.Lookup(rootWebApplicationUri); - List siteCollections = new List(); + List siteCollections = new List(); - foreach(SPSite site in rootWebApplication.Sites) - { + foreach (SPSite site in rootWebApplication.Sites) + { SharePointSiteCollection loadedSiteCollection = new SharePointSiteCollection(); - FillSiteCollection(loadedSiteCollection, site); - siteCollections.Add(loadedSiteCollection); - } + FillSiteCollection(loadedSiteCollection, site); + siteCollections.Add(loadedSiteCollection); + } - return siteCollections.ToArray(); - } - finally - { - wic.Undo(); - } - } - catch (Exception ex) - { - throw new InvalidOperationException("Failed to create site collection.", ex); - } - } + return siteCollections.ToArray(); + } + finally + { + wic.Undo(); + } + } + catch (Exception ex) + { + throw new InvalidOperationException("Failed to create site collection.", ex); + } + } - /// - /// Gets SharePoint collection within root web application with given name. - /// - /// Root web application uri. - /// Url that uniquely identifies site collection to be loaded. - /// SharePoint collection within root web application with given name. - public SharePointSiteCollection GetSiteCollection(Uri rootWebApplicationUri, string url) - { - try - { - WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); + /// + /// Gets SharePoint collection within root web application with given name. + /// + /// Root web application uri. + /// Url that uniquely identifies site collection to be loaded. + /// SharePoint collection within root web application with given name. + public SharePointSiteCollection GetSiteCollection(Uri rootWebApplicationUri, string url) + { + try + { + WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); - try - { - SPWebApplication rootWebApplication = SPWebApplication.Lookup(rootWebApplicationUri); - string siteCollectionUrl = String.Format("{0}:{1}", url, rootWebApplicationUri.Port); - - SPSite site = rootWebApplication.Sites[siteCollectionUrl]; - if (site != null) - { - SharePointSiteCollection loadedSiteCollection = new SharePointSiteCollection(); - FillSiteCollection(loadedSiteCollection, site); - return loadedSiteCollection; - } - return null; - } - finally - { - wic.Undo(); - } - } - catch (Exception ex) - { - throw new InvalidOperationException("Failed to create site collection.", ex); - } - } + try + { + SPWebApplication rootWebApplication = SPWebApplication.Lookup(rootWebApplicationUri); + string siteCollectionUrl = String.Format("{0}:{1}", url, rootWebApplicationUri.Port); - private static void DeleteQuotaTemplate(string name) - { + SPSite site = rootWebApplication.Sites[siteCollectionUrl]; + if (site != null) + { + SharePointSiteCollection loadedSiteCollection = new SharePointSiteCollection(); + FillSiteCollection(loadedSiteCollection, site); + return loadedSiteCollection; + } + return null; + } + finally + { + wic.Undo(); + } + } + catch (Exception ex) + { + throw new InvalidOperationException("Failed to create site collection.", ex); + } + } + + private static void DeleteQuotaTemplate(string name) + { SPFarm farm = SPFarm.Local; SPWebService webService = farm.Services.GetValue(""); SPQuotaTemplateCollection quotaColl = webService.QuotaTemplates; - quotaColl.Delete(name); - } - + quotaColl.Delete(name); + } + public void UpdateQuotas(Uri root, string url, long maxStorage, long warningStorage) { WindowsImpersonationContext wic = null; - + try { wic = WindowsIdentity.GetCurrent().Impersonate(); @@ -230,10 +245,10 @@ namespace WebsitePanel.Providers.HostedSolution if (warningStorage != -1 && maxStorage != -1) - quota.StorageWarningLevel = Math.Min(warningStorage, maxStorage)*1024*1024; + quota.StorageWarningLevel = Math.Min(warningStorage, maxStorage) * 1024 * 1024; else quota.StorageWarningLevel = 0; - + rootWebApplication.GrantAccessToProcessIdentity(WindowsIdentity.GetCurrent().Name); rootWebApplication.Sites[url].Quota = quota; @@ -250,16 +265,17 @@ namespace WebsitePanel.Providers.HostedSolution } } - + /// - /// Creates site collection within predefined root web application. - /// - /// Root web application uri. - /// Information about site coolection to be created. - /// Is thrown in case requested operation fails for any reason. + /// Creates site collection within predefined root web application. + /// + /// Root web application uri. + /// Information about site coolection to be created. + /// Is thrown in case requested operation fails for any reason. public void CreateSiteCollection(Uri rootWebApplicationUri, SharePointSiteCollection siteCollection) { WindowsImpersonationContext wic = null; + HostedSolutionLog.LogStart("CreateSiteCollection"); try { @@ -267,27 +283,29 @@ namespace WebsitePanel.Providers.HostedSolution SPWebApplication rootWebApplication = SPWebApplication.Lookup(rootWebApplicationUri); string siteCollectionUrl = String.Format("{0}:{1}", siteCollection.Url, rootWebApplicationUri.Port); + HostedSolutionLog.DebugInfo("rootWebApplicationUri: {0}", rootWebApplicationUri); + HostedSolutionLog.DebugInfo("siteCollectionUrl: {0}", siteCollectionUrl); SPQuota spQuota; - + SPSite spSite = rootWebApplication.Sites.Add(siteCollectionUrl, siteCollection.Title, siteCollection.Description, - (uint) siteCollection.LocaleId, String.Empty, + (uint)siteCollection.LocaleId, String.Empty, siteCollection.OwnerLogin, siteCollection.OwnerName, siteCollection.OwnerEmail, null, null, null, true); try { - + spQuota = new SPQuota(); - + if (siteCollection.MaxSiteStorage != -1) spQuota.StorageMaximumLevel = siteCollection.MaxSiteStorage * 1024 * 1024; if (siteCollection.WarningStorage != -1 && siteCollection.MaxSiteStorage != -1) spQuota.StorageWarningLevel = Math.Min(siteCollection.WarningStorage, siteCollection.MaxSiteStorage) * 1024 * 1024; - + } catch (Exception) { @@ -298,7 +316,7 @@ namespace WebsitePanel.Providers.HostedSolution try { rootWebApplication.GrantAccessToProcessIdentity(WindowsIdentity.GetCurrent().Name); - spSite.Quota = spQuota; + spSite.Quota = spQuota; } catch (Exception) { @@ -308,8 +326,77 @@ namespace WebsitePanel.Providers.HostedSolution } rootWebApplication.Update(true); + + try + { + if (siteCollection.RootWebApplicationInteralIpAddress != string.Empty) + { + string dirPath = FileUtils.EvaluateSystemVariables(@"%windir%\system32\drivers\etc"); + string path = dirPath + "\\hosts"; + + if (FileUtils.FileExists(path)) + { + string content = FileUtils.GetFileTextContent(path); + content = content.Replace("\r\n", "\n").Replace("\n\r", "\n"); + string[] contentArr = content.Split(new char[] { '\n' }); + bool bRecordExist = false; + foreach (string s in contentArr) + { + if (s != string.Empty) + { + string IPAddr = string.Empty; + string hostName = string.Empty; + if (s[0] != '#') + { + bool bSeperator = false; + foreach (char c in s) + { + if ((c != ' ') & (c != '\t')) + { + if (bSeperator) + hostName += c; + else + IPAddr += c; + } + else + bSeperator = true; + } + + if (hostName.ToLower() == siteCollection.RootWebApplicationFQDN.ToLower()) + { + bRecordExist = true; + break; + } + + } + } + } + + if (!bRecordExist) + { + string outPut = string.Empty; + foreach (string o in contentArr) + { + if (o != string.Empty) + outPut += o + "\r\n"; + } + + outPut += siteCollection.RootWebApplicationInteralIpAddress + '\t' + siteCollection.RootWebApplicationFQDN + "\r\n"; + + FileUtils.UpdateFileTextContent(path, outPut); + } + + + } + } + } + catch (Exception ex) + { + HostedSolutionLog.LogError(ex); + + } } - catch(Exception ex) + catch (Exception ex) { HostedSolutionLog.LogError(ex); throw; @@ -318,207 +405,267 @@ namespace WebsitePanel.Providers.HostedSolution { if (wic != null) wic.Undo(); + + HostedSolutionLog.LogEnd("CreateSiteCollection"); } } - /// - /// Deletes site collection under given url. - /// - /// Root web application uri. - /// Url that uniquely identifies site collection to be deleted. - /// Is thrown in case requested operation fails for any reason. - public void DeleteSiteCollection(Uri rootWebApplicationUri, string url) - { - try - { - WindowsIdentity identity = WindowsIdentity.GetCurrent(); - WindowsImpersonationContext wic = identity.Impersonate(); + /// + /// Deletes site collection under given url. + /// + /// Root web application uri. + /// Url that uniquely identifies site collection to be deleted. + /// Is thrown in case requested operation fails for any reason. + public void DeleteSiteCollection(Uri rootWebApplicationUri, SharePointSiteCollection siteCollection) + { + try + { + WindowsIdentity identity = WindowsIdentity.GetCurrent(); + WindowsImpersonationContext wic = identity.Impersonate(); - try - { - SPWebApplication rootWebApplication = SPWebApplication.Lookup(rootWebApplicationUri); - string siteCollectionUrl = String.Format("{0}:{1}", url, rootWebApplicationUri.Port); + try + { + SPWebApplication rootWebApplication = SPWebApplication.Lookup(rootWebApplicationUri); + string siteCollectionUrl = String.Format("{0}:{1}", siteCollection.Url, rootWebApplicationUri.Port); - //string args = String.Format("-o deletesite -url {0}", siteCollectionUrl); - //string stsadm = @"c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\STSADM.EXE"; + //string args = String.Format("-o deletesite -url {0}", siteCollectionUrl); + //string stsadm = @"c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\STSADM.EXE"; - //// launch system process - //ProcessStartInfo startInfo = new ProcessStartInfo(stsadm, args); - //startInfo.WindowStyle = ProcessWindowStyle.Hidden; - //startInfo.RedirectStandardOutput = true; - //startInfo.UseShellExecute = false; - //Process proc = Process.Start(startInfo); + //// launch system process + //ProcessStartInfo startInfo = new ProcessStartInfo(stsadm, args); + //startInfo.WindowStyle = ProcessWindowStyle.Hidden; + //startInfo.RedirectStandardOutput = true; + //startInfo.UseShellExecute = false; + //Process proc = Process.Start(startInfo); - //// analyze results - //StreamReader reader = proc.StandardOutput; - //string output = reader.ReadToEnd(); - //int exitCode = proc.ExitCode; - //reader.Close(); + //// analyze results + //StreamReader reader = proc.StandardOutput; + //string output = reader.ReadToEnd(); + //int exitCode = proc.ExitCode; + //reader.Close(); - rootWebApplication.Sites.Delete(siteCollectionUrl, true); - rootWebApplication.Update(true); - } - finally - { - wic.Undo(); - } - } - catch(Exception ex) - { - throw new InvalidOperationException("Failed to delete site collection.", ex); - } - } + rootWebApplication.Sites.Delete(siteCollectionUrl, true); + rootWebApplication.Update(true); - /// - /// Backups site collection under give url. - /// - /// Root web application uri. - /// Url that uniquely identifies site collection to be deleted. - /// Resulting backup file name. - /// A value which shows whether created backup must be archived. - /// Custom temp path for backup - /// Full path to created backup. - /// Is thrown in case requested operation fails for any reason. - public string BackupSiteCollection(Uri rootWebApplicationUri, string url, string filename, bool zip, string tempPath) - { - try - { - WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); + try + { + if (siteCollection.RootWebApplicationInteralIpAddress != string.Empty) + { + string dirPath = FileUtils.EvaluateSystemVariables(@"%windir%\system32\drivers\etc"); + string path = dirPath + "\\hosts"; - try - { - SPWebApplication rootWebApplication = SPWebApplication.Lookup(rootWebApplicationUri); - string siteCollectionUrl = String.Format("{0}:{1}", url, rootWebApplicationUri.Port); + if (FileUtils.FileExists(path)) + { + string content = FileUtils.GetFileTextContent(path); + content = content.Replace("\r\n", "\n").Replace("\n\r", "\n"); + string[] contentArr = content.Split(new char[] { '\n' }); + string outPut = string.Empty; + foreach (string s in contentArr) + { + if (s != string.Empty) + { + string IPAddr = string.Empty; + string hostName = string.Empty; + if (s[0] != '#') + { + bool bSeperator = false; + foreach (char c in s) + { + if ((c != ' ') & (c != '\t')) + { + if (bSeperator) + hostName += c; + else + IPAddr += c; + } + else + bSeperator = true; + } - if (String.IsNullOrEmpty(tempPath)) - { - tempPath = Path.GetTempPath(); - } - string backupFileName = Path.Combine(tempPath, (zip ? StringUtils.CleanIdentifier(siteCollectionUrl) + ".bsh" : StringUtils.CleanIdentifier(filename))); - // Backup requested site. - rootWebApplication.Sites.Backup(siteCollectionUrl, backupFileName, true); + if (hostName.ToLower() != siteCollection.RootWebApplicationFQDN.ToLower()) + { + outPut += s + "\r\n"; + } - if (zip) - { - string zipFile = Path.Combine(tempPath, filename); - string zipRoot = Path.GetDirectoryName(backupFileName); + } + else + outPut += s + "\r\n"; + } + } - FileUtils.ZipFiles(zipFile, zipRoot, new string[] { Path.GetFileName(backupFileName) }); - FileUtils.DeleteFile(backupFileName); + FileUtils.UpdateFileTextContent(path, outPut); + } + } + } + catch (Exception ex) + { + HostedSolutionLog.LogError(ex); - backupFileName = zipFile; - } - return backupFileName; - } - finally - { - wic.Undo(); - } - } - catch(Exception ex) - { - throw new InvalidOperationException("Failed to backup site collection.", ex); - } - } - - /// - /// Restores site collection under given url from backup. - /// - /// Root web application uri. - /// Site collection to be restored. - /// Backup file name to restore from. - /// Is thrown in case requested operation fails for any reason. - public void RestoreSiteCollection(Uri rootWebApplicationUri, SharePointSiteCollection siteCollection, string filename) - { - string url = siteCollection.Url; - try - { - - WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); - - try - { - SPWebApplication rootWebApplication = SPWebApplication.Lookup(rootWebApplicationUri); - string siteCollectionUrl = String.Format("{0}:{1}", url, rootWebApplicationUri.Port); - - string tempPath = Path.GetTempPath(); - // Unzip uploaded files if required. - string expandedFile = filename; - if (Path.GetExtension(filename).ToLower() == ".zip") - { - // Unpack file. - expandedFile = FileUtils.UnzipFiles(filename, tempPath)[0]; - - // Delete zip archive. - FileUtils.DeleteFile(filename); - } - - // Delete existent site and restore new one. - rootWebApplication.Sites.Delete(siteCollectionUrl, false); - rootWebApplication.Sites.Restore(siteCollectionUrl, expandedFile, true, true); - - SPSite restoredSite = rootWebApplication.Sites[siteCollectionUrl]; - SPWeb web = restoredSite.OpenWeb(); - - SPUser owner = null; - try - { - owner = web.SiteUsers[siteCollection.OwnerLogin]; - } - catch - { - // Ignore this error. - } - if (owner == null) - { - web.SiteUsers.Add(siteCollection.OwnerLogin, siteCollection.OwnerEmail, siteCollection.OwnerName, String.Empty); - owner = web.SiteUsers[siteCollection.OwnerLogin]; - } - - restoredSite.Owner = owner; - web.Close(); - - rootWebApplication.Update(); - - // Delete expanded file. - FileUtils.DeleteFile(expandedFile); - } - finally - { - wic.Undo(); - } - } - catch(Exception ex) - { - throw new InvalidOperationException("Failed to restore site collection.", ex); - } - } + } - /// - /// Fills custom site collection with information from administration object. - /// - /// Custom site collection to fill. - /// Administration object. - private static void FillSiteCollection (SharePointSiteCollection customSiteCollection, SPSite site) - { - Uri siteUri = new Uri(site.Url); - string url = (siteUri.Port > 0) ? site.Url.Replace(String.Format(":{0}", siteUri.Port), String.Empty) : site.Url; + } + finally + { + wic.Undo(); + } + } + catch (Exception ex) + { + throw new InvalidOperationException("Failed to delete site collection.", ex); + } + } - customSiteCollection.Url = url; - customSiteCollection.OwnerLogin = site.Owner.LoginName; - customSiteCollection.OwnerName = site.Owner.Name; - customSiteCollection.OwnerEmail = site.Owner.Email; - customSiteCollection.LocaleId = site.RootWeb.Locale.LCID; - customSiteCollection.Title = site.RootWeb.Title; - customSiteCollection.Description = site.RootWeb.Description; - customSiteCollection.Bandwidth = site.Usage.Bandwidth; - customSiteCollection.Diskspace = site.Usage.Storage; - customSiteCollection.MaxSiteStorage = site.Quota.StorageMaximumLevel; - customSiteCollection.WarningStorage = site.Quota.StorageWarningLevel; - } - } + /// + /// Backups site collection under give url. + /// + /// Root web application uri. + /// Url that uniquely identifies site collection to be deleted. + /// Resulting backup file name. + /// A value which shows whether created backup must be archived. + /// Custom temp path for backup + /// Full path to created backup. + /// Is thrown in case requested operation fails for any reason. + public string BackupSiteCollection(Uri rootWebApplicationUri, string url, string filename, bool zip, string tempPath) + { + try + { + WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); + + try + { + SPWebApplication rootWebApplication = SPWebApplication.Lookup(rootWebApplicationUri); + string siteCollectionUrl = String.Format("{0}:{1}", url, rootWebApplicationUri.Port); + + if (String.IsNullOrEmpty(tempPath)) + { + tempPath = Path.GetTempPath(); + } + string backupFileName = Path.Combine(tempPath, (zip ? StringUtils.CleanIdentifier(siteCollectionUrl) + ".bsh" : StringUtils.CleanIdentifier(filename))); + // Backup requested site. + rootWebApplication.Sites.Backup(siteCollectionUrl, backupFileName, true); + + if (zip) + { + string zipFile = Path.Combine(tempPath, filename); + string zipRoot = Path.GetDirectoryName(backupFileName); + + FileUtils.ZipFiles(zipFile, zipRoot, new string[] { Path.GetFileName(backupFileName) }); + FileUtils.DeleteFile(backupFileName); + + backupFileName = zipFile; + } + return backupFileName; + } + finally + { + wic.Undo(); + } + } + catch (Exception ex) + { + throw new InvalidOperationException("Failed to backup site collection.", ex); + } + } + + /// + /// Restores site collection under given url from backup. + /// + /// Root web application uri. + /// Site collection to be restored. + /// Backup file name to restore from. + /// Is thrown in case requested operation fails for any reason. + public void RestoreSiteCollection(Uri rootWebApplicationUri, SharePointSiteCollection siteCollection, string filename) + { + string url = siteCollection.Url; + try + { + + WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); + + try + { + SPWebApplication rootWebApplication = SPWebApplication.Lookup(rootWebApplicationUri); + string siteCollectionUrl = String.Format("{0}:{1}", url, rootWebApplicationUri.Port); + + string tempPath = Path.GetTempPath(); + // Unzip uploaded files if required. + string expandedFile = filename; + if (Path.GetExtension(filename).ToLower() == ".zip") + { + // Unpack file. + expandedFile = FileUtils.UnzipFiles(filename, tempPath)[0]; + + // Delete zip archive. + FileUtils.DeleteFile(filename); + } + + // Delete existent site and restore new one. + rootWebApplication.Sites.Delete(siteCollectionUrl, false); + rootWebApplication.Sites.Restore(siteCollectionUrl, expandedFile, true, true); + + SPSite restoredSite = rootWebApplication.Sites[siteCollectionUrl]; + SPWeb web = restoredSite.OpenWeb(); + + SPUser owner = null; + try + { + owner = web.SiteUsers[siteCollection.OwnerLogin]; + } + catch + { + // Ignore this error. + } + if (owner == null) + { + web.SiteUsers.Add(siteCollection.OwnerLogin, siteCollection.OwnerEmail, siteCollection.OwnerName, String.Empty); + owner = web.SiteUsers[siteCollection.OwnerLogin]; + } + + restoredSite.Owner = owner; + web.Close(); + + rootWebApplication.Update(); + + // Delete expanded file. + FileUtils.DeleteFile(expandedFile); + } + finally + { + wic.Undo(); + } + } + catch (Exception ex) + { + throw new InvalidOperationException("Failed to restore site collection.", ex); + } + } + + + /// + /// Fills custom site collection with information from administration object. + /// + /// Custom site collection to fill. + /// Administration object. + private static void FillSiteCollection(SharePointSiteCollection customSiteCollection, SPSite site) + { + Uri siteUri = new Uri(site.Url); + string url = (siteUri.Port > 0) ? site.Url.Replace(String.Format(":{0}", siteUri.Port), String.Empty) : site.Url; + + customSiteCollection.Url = url; + customSiteCollection.OwnerLogin = site.Owner.LoginName; + customSiteCollection.OwnerName = site.Owner.Name; + customSiteCollection.OwnerEmail = site.Owner.Email; + customSiteCollection.LocaleId = site.RootWeb.Locale.LCID; + customSiteCollection.Title = site.RootWeb.Title; + customSiteCollection.Description = site.RootWeb.Description; + customSiteCollection.Bandwidth = site.Usage.Bandwidth; + customSiteCollection.Diskspace = site.Usage.Storage; + customSiteCollection.MaxSiteStorage = site.Quota.StorageMaximumLevel; + customSiteCollection.WarningStorage = site.Quota.StorageWarningLevel; + } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSolutionLog.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSolutionLog.cs index 51267394..4ad0ce27 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSolutionLog.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSolutionLog.cs @@ -29,6 +29,8 @@ using System; using WebsitePanel.Providers.Common; using WebsitePanel.Server.Utils; +using System.Text; +using System.Management.Automation.Runspaces; namespace WebsitePanel.Providers.HostedSolution { @@ -121,6 +123,22 @@ namespace WebsitePanel.Providers.HostedSolution res.IsSuccess = true; return res; } + + internal static void DebugCommand(Command cmd) + { + StringBuilder sb = new StringBuilder(cmd.CommandText); + foreach (CommandParameter parameter in cmd.Parameters) + { + string formatString = " -{0} {1}"; + if (parameter.Value is string) + formatString = " -{0} '{1}'"; + else if (parameter.Value is bool) + formatString = " -{0} ${1}"; + sb.AppendFormat(formatString, parameter.Name, parameter.Value); + } + Log.WriteInfo("{0} {1}", LogPrefix, sb.ToString()); + } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/HostedSharePointServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/HostedSharePointServerProxy.cs index fa6a5f6d..2cb383e5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/HostedSharePointServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/HostedSharePointServerProxy.cs @@ -1,35 +1,7 @@ -// 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. - //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 +// Runtime Version:2.0.50727.5448 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -39,283 +11,328 @@ // // This source code was auto-generated by wsdl, Version=2.0.50727.42. // -using WebsitePanel.Providers.SharePoint; - -namespace WebsitePanel.Providers.HostedSolution { - using System.Diagnostics; +namespace WebsitePanel.Providers.HostedSolution +{ + using System.Xml.Serialization; using System.Web.Services; using System.ComponentModel; using System.Web.Services.Protocols; using System; - using System.Xml.Serialization; - - + using System.Diagnostics; + using WebsitePanel.Providers.SharePoint; + + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - [System.Web.Services.WebServiceBindingAttribute(Name="HostedSharePointServerSoap", Namespace="http://smbsaas/websitepanel/server/")] + [System.Web.Services.WebServiceBindingAttribute(Name = "HostedSharePointServerSoap", Namespace = "http://smbsaas/websitepanel/server/")] [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))] - public partial class HostedSharePointServer : Microsoft.Web.Services3.WebServicesClientProtocol { - + public partial class HostedSharePointServer : Microsoft.Web.Services3.WebServicesClientProtocol + { + public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue; - + private System.Threading.SendOrPostCallback GetSupportedLanguagesOperationCompleted; - + private System.Threading.SendOrPostCallback GetSiteCollectionsOperationCompleted; - + private System.Threading.SendOrPostCallback GetSiteCollectionOperationCompleted; - + private System.Threading.SendOrPostCallback CreateSiteCollectionOperationCompleted; - + private System.Threading.SendOrPostCallback UpdateQuotasOperationCompleted; - + private System.Threading.SendOrPostCallback CalculateSiteCollectionsDiskSpaceOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteSiteCollectionOperationCompleted; - + private System.Threading.SendOrPostCallback BackupSiteCollectionOperationCompleted; - + private System.Threading.SendOrPostCallback RestoreSiteCollectionOperationCompleted; - + private System.Threading.SendOrPostCallback GetTempFileBinaryChunkOperationCompleted; - + private System.Threading.SendOrPostCallback AppendTempFileBinaryChunkOperationCompleted; - + private System.Threading.SendOrPostCallback GetSiteCollectionSizeOperationCompleted; - + + private System.Threading.SendOrPostCallback SetPeoplePickerOuOperationCompleted; + /// - public HostedSharePointServer() { - this.Url = "http://192.168.0.132:9003/HostedSharePointServer.asmx"; + public HostedSharePointServer() + { + this.Url = "http://localhost:9003/HostedSharePointServer.asmx"; } - + /// public event GetSupportedLanguagesCompletedEventHandler GetSupportedLanguagesCompleted; - + /// public event GetSiteCollectionsCompletedEventHandler GetSiteCollectionsCompleted; - + /// public event GetSiteCollectionCompletedEventHandler GetSiteCollectionCompleted; - + /// public event CreateSiteCollectionCompletedEventHandler CreateSiteCollectionCompleted; - + /// public event UpdateQuotasCompletedEventHandler UpdateQuotasCompleted; - + /// public event CalculateSiteCollectionsDiskSpaceCompletedEventHandler CalculateSiteCollectionsDiskSpaceCompleted; - + /// public event DeleteSiteCollectionCompletedEventHandler DeleteSiteCollectionCompleted; - + /// public event BackupSiteCollectionCompletedEventHandler BackupSiteCollectionCompleted; - + /// public event RestoreSiteCollectionCompletedEventHandler RestoreSiteCollectionCompleted; - + /// public event GetTempFileBinaryChunkCompletedEventHandler GetTempFileBinaryChunkCompleted; - + /// public event AppendTempFileBinaryChunkCompletedEventHandler AppendTempFileBinaryChunkCompleted; - + /// public event GetSiteCollectionSizeCompletedEventHandler GetSiteCollectionSizeCompleted; - + + /// + public event SetPeoplePickerOuCompletedEventHandler SetPeoplePickerOuCompleted; + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetSupportedLanguages", 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 int[] GetSupportedLanguages() { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetSupportedLanguages", 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 int[] GetSupportedLanguages() + { object[] results = this.Invoke("GetSupportedLanguages", new object[0]); return ((int[])(results[0])); } - + /// - public System.IAsyncResult BeginGetSupportedLanguages(System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetSupportedLanguages(System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetSupportedLanguages", new object[0], callback, asyncState); } - + /// - public int[] EndGetSupportedLanguages(System.IAsyncResult asyncResult) { + public int[] EndGetSupportedLanguages(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int[])(results[0])); } - + /// - public void GetSupportedLanguagesAsync() { + public void GetSupportedLanguagesAsync() + { this.GetSupportedLanguagesAsync(null); } - + /// - public void GetSupportedLanguagesAsync(object userState) { - if ((this.GetSupportedLanguagesOperationCompleted == null)) { + public void GetSupportedLanguagesAsync(object userState) + { + if ((this.GetSupportedLanguagesOperationCompleted == null)) + { this.GetSupportedLanguagesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSupportedLanguagesOperationCompleted); } this.InvokeAsync("GetSupportedLanguages", new object[0], this.GetSupportedLanguagesOperationCompleted, userState); } - - private void OnGetSupportedLanguagesOperationCompleted(object arg) { - if ((this.GetSupportedLanguagesCompleted != null)) { + + private void OnGetSupportedLanguagesOperationCompleted(object arg) + { + if ((this.GetSupportedLanguagesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetSupportedLanguagesCompleted(this, new GetSupportedLanguagesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetSiteCollections", 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 SharePointSiteCollection[] GetSiteCollections() { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetSiteCollections", 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 SharePointSiteCollection[] GetSiteCollections() + { object[] results = this.Invoke("GetSiteCollections", new object[0]); return ((SharePointSiteCollection[])(results[0])); } - + /// - public System.IAsyncResult BeginGetSiteCollections(System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetSiteCollections(System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetSiteCollections", new object[0], callback, asyncState); } - + /// - public SharePointSiteCollection[] EndGetSiteCollections(System.IAsyncResult asyncResult) { + public SharePointSiteCollection[] EndGetSiteCollections(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((SharePointSiteCollection[])(results[0])); } - + /// - public void GetSiteCollectionsAsync() { + public void GetSiteCollectionsAsync() + { this.GetSiteCollectionsAsync(null); } - + /// - public void GetSiteCollectionsAsync(object userState) { - if ((this.GetSiteCollectionsOperationCompleted == null)) { + public void GetSiteCollectionsAsync(object userState) + { + if ((this.GetSiteCollectionsOperationCompleted == null)) + { this.GetSiteCollectionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSiteCollectionsOperationCompleted); } this.InvokeAsync("GetSiteCollections", new object[0], this.GetSiteCollectionsOperationCompleted, userState); } - - private void OnGetSiteCollectionsOperationCompleted(object arg) { - if ((this.GetSiteCollectionsCompleted != null)) { + + private void OnGetSiteCollectionsOperationCompleted(object arg) + { + if ((this.GetSiteCollectionsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetSiteCollectionsCompleted(this, new GetSiteCollectionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetSiteCollection", 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 SharePointSiteCollection GetSiteCollection(string url) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetSiteCollection", 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 SharePointSiteCollection GetSiteCollection(string url) + { object[] results = this.Invoke("GetSiteCollection", new object[] { url}); return ((SharePointSiteCollection)(results[0])); } - + /// - public System.IAsyncResult BeginGetSiteCollection(string url, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetSiteCollection(string url, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetSiteCollection", new object[] { url}, callback, asyncState); } - + /// - public SharePointSiteCollection EndGetSiteCollection(System.IAsyncResult asyncResult) { + public SharePointSiteCollection EndGetSiteCollection(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((SharePointSiteCollection)(results[0])); } - + /// - public void GetSiteCollectionAsync(string url) { + public void GetSiteCollectionAsync(string url) + { this.GetSiteCollectionAsync(url, null); } - + /// - public void GetSiteCollectionAsync(string url, object userState) { - if ((this.GetSiteCollectionOperationCompleted == null)) { + public void GetSiteCollectionAsync(string url, object userState) + { + if ((this.GetSiteCollectionOperationCompleted == null)) + { this.GetSiteCollectionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSiteCollectionOperationCompleted); } this.InvokeAsync("GetSiteCollection", new object[] { url}, this.GetSiteCollectionOperationCompleted, userState); } - - private void OnGetSiteCollectionOperationCompleted(object arg) { - if ((this.GetSiteCollectionCompleted != null)) { + + private void OnGetSiteCollectionOperationCompleted(object arg) + { + if ((this.GetSiteCollectionCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetSiteCollectionCompleted(this, new GetSiteCollectionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateSiteCollection", 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 void CreateSiteCollection(SharePointSiteCollection siteCollection) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateSiteCollection", 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 void CreateSiteCollection(SharePointSiteCollection siteCollection) + { this.Invoke("CreateSiteCollection", new object[] { siteCollection}); } - + /// - public System.IAsyncResult BeginCreateSiteCollection(SharePointSiteCollection siteCollection, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginCreateSiteCollection(SharePointSiteCollection siteCollection, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("CreateSiteCollection", new object[] { siteCollection}, callback, asyncState); } - + /// - public void EndCreateSiteCollection(System.IAsyncResult asyncResult) { + public void EndCreateSiteCollection(System.IAsyncResult asyncResult) + { this.EndInvoke(asyncResult); } - + /// - public void CreateSiteCollectionAsync(SharePointSiteCollection siteCollection) { + public void CreateSiteCollectionAsync(SharePointSiteCollection siteCollection) + { this.CreateSiteCollectionAsync(siteCollection, null); } - + /// - public void CreateSiteCollectionAsync(SharePointSiteCollection siteCollection, object userState) { - if ((this.CreateSiteCollectionOperationCompleted == null)) { + public void CreateSiteCollectionAsync(SharePointSiteCollection siteCollection, object userState) + { + if ((this.CreateSiteCollectionOperationCompleted == null)) + { this.CreateSiteCollectionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateSiteCollectionOperationCompleted); } this.InvokeAsync("CreateSiteCollection", new object[] { siteCollection}, this.CreateSiteCollectionOperationCompleted, userState); } - - private void OnCreateSiteCollectionOperationCompleted(object arg) { - if ((this.CreateSiteCollectionCompleted != null)) { + + private void OnCreateSiteCollectionOperationCompleted(object arg) + { + if ((this.CreateSiteCollectionCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.CreateSiteCollectionCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/UpdateQuotas", 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 void UpdateQuotas(string url, long maxSize, long warningSize) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/UpdateQuotas", 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 void UpdateQuotas(string url, long maxSize, long warningSize) + { this.Invoke("UpdateQuotas", new object[] { url, maxSize, warningSize}); } - + /// - public System.IAsyncResult BeginUpdateQuotas(string url, long maxSize, long warningSize, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginUpdateQuotas(string url, long maxSize, long warningSize, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("UpdateQuotas", new object[] { url, maxSize, warningSize}, callback, asyncState); } - + /// - public void EndUpdateQuotas(System.IAsyncResult asyncResult) { + public void EndUpdateQuotas(System.IAsyncResult asyncResult) + { this.EndInvoke(asyncResult); } - + /// - public void UpdateQuotasAsync(string url, long maxSize, long warningSize) { + public void UpdateQuotasAsync(string url, long maxSize, long warningSize) + { this.UpdateQuotasAsync(url, maxSize, warningSize, null); } - + /// - public void UpdateQuotasAsync(string url, long maxSize, long warningSize, object userState) { - if ((this.UpdateQuotasOperationCompleted == null)) { + public void UpdateQuotasAsync(string url, long maxSize, long warningSize, object userState) + { + if ((this.UpdateQuotasOperationCompleted == null)) + { this.UpdateQuotasOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateQuotasOperationCompleted); } this.InvokeAsync("UpdateQuotas", new object[] { @@ -323,129 +340,153 @@ namespace WebsitePanel.Providers.HostedSolution { maxSize, warningSize}, this.UpdateQuotasOperationCompleted, userState); } - - private void OnUpdateQuotasOperationCompleted(object arg) { - if ((this.UpdateQuotasCompleted != null)) { + + private void OnUpdateQuotasOperationCompleted(object arg) + { + if ((this.UpdateQuotasCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.UpdateQuotasCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CalculateSiteCollectionsDiskSpace", 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 SharePointSiteDiskSpace[] CalculateSiteCollectionsDiskSpace(string[] urls) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CalculateSiteCollectionsDiskSpace", 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 SharePointSiteDiskSpace[] CalculateSiteCollectionsDiskSpace(string[] urls) + { object[] results = this.Invoke("CalculateSiteCollectionsDiskSpace", new object[] { urls}); return ((SharePointSiteDiskSpace[])(results[0])); } - + /// - public System.IAsyncResult BeginCalculateSiteCollectionsDiskSpace(string[] urls, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginCalculateSiteCollectionsDiskSpace(string[] urls, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("CalculateSiteCollectionsDiskSpace", new object[] { urls}, callback, asyncState); } - + /// - public SharePointSiteDiskSpace[] EndCalculateSiteCollectionsDiskSpace(System.IAsyncResult asyncResult) { + public SharePointSiteDiskSpace[] EndCalculateSiteCollectionsDiskSpace(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((SharePointSiteDiskSpace[])(results[0])); } - + /// - public void CalculateSiteCollectionsDiskSpaceAsync(string[] urls) { + public void CalculateSiteCollectionsDiskSpaceAsync(string[] urls) + { this.CalculateSiteCollectionsDiskSpaceAsync(urls, null); } - + /// - public void CalculateSiteCollectionsDiskSpaceAsync(string[] urls, object userState) { - if ((this.CalculateSiteCollectionsDiskSpaceOperationCompleted == null)) { + public void CalculateSiteCollectionsDiskSpaceAsync(string[] urls, object userState) + { + if ((this.CalculateSiteCollectionsDiskSpaceOperationCompleted == null)) + { this.CalculateSiteCollectionsDiskSpaceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCalculateSiteCollectionsDiskSpaceOperationCompleted); } this.InvokeAsync("CalculateSiteCollectionsDiskSpace", new object[] { urls}, this.CalculateSiteCollectionsDiskSpaceOperationCompleted, userState); } - - private void OnCalculateSiteCollectionsDiskSpaceOperationCompleted(object arg) { - if ((this.CalculateSiteCollectionsDiskSpaceCompleted != null)) { + + private void OnCalculateSiteCollectionsDiskSpaceOperationCompleted(object arg) + { + if ((this.CalculateSiteCollectionsDiskSpaceCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.CalculateSiteCollectionsDiskSpaceCompleted(this, new CalculateSiteCollectionsDiskSpaceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteSiteCollection", 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 void DeleteSiteCollection(string url) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteSiteCollection", 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 void DeleteSiteCollection(SharePointSiteCollection siteCollection) + { this.Invoke("DeleteSiteCollection", new object[] { - url}); + siteCollection}); } - + /// - public System.IAsyncResult BeginDeleteSiteCollection(string url, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteSiteCollection(SharePointSiteCollection siteCollection, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteSiteCollection", new object[] { - url}, callback, asyncState); + siteCollection}, callback, asyncState); } - + /// - public void EndDeleteSiteCollection(System.IAsyncResult asyncResult) { + public void EndDeleteSiteCollection(System.IAsyncResult asyncResult) + { this.EndInvoke(asyncResult); } - + /// - public void DeleteSiteCollectionAsync(string url) { - this.DeleteSiteCollectionAsync(url, null); + public void DeleteSiteCollectionAsync(SharePointSiteCollection siteCollection) + { + this.DeleteSiteCollectionAsync(siteCollection, null); } - + /// - public void DeleteSiteCollectionAsync(string url, object userState) { - if ((this.DeleteSiteCollectionOperationCompleted == null)) { + public void DeleteSiteCollectionAsync(SharePointSiteCollection siteCollection, object userState) + { + if ((this.DeleteSiteCollectionOperationCompleted == null)) + { this.DeleteSiteCollectionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteSiteCollectionOperationCompleted); } this.InvokeAsync("DeleteSiteCollection", new object[] { - url}, this.DeleteSiteCollectionOperationCompleted, userState); + siteCollection}, this.DeleteSiteCollectionOperationCompleted, userState); } - - private void OnDeleteSiteCollectionOperationCompleted(object arg) { - if ((this.DeleteSiteCollectionCompleted != null)) { + + private void OnDeleteSiteCollectionOperationCompleted(object arg) + { + if ((this.DeleteSiteCollectionCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteSiteCollectionCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/BackupSiteCollection", 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 string BackupSiteCollection(string url, string filename, bool zip) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/BackupSiteCollection", 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 string BackupSiteCollection(string url, string filename, bool zip) + { object[] results = this.Invoke("BackupSiteCollection", new object[] { url, filename, zip}); return ((string)(results[0])); } - + /// - public System.IAsyncResult BeginBackupSiteCollection(string url, string filename, bool zip, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginBackupSiteCollection(string url, string filename, bool zip, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("BackupSiteCollection", new object[] { url, filename, zip}, callback, asyncState); } - + /// - public string EndBackupSiteCollection(System.IAsyncResult asyncResult) { + public string EndBackupSiteCollection(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((string)(results[0])); } - + /// - public void BackupSiteCollectionAsync(string url, string filename, bool zip) { + public void BackupSiteCollectionAsync(string url, string filename, bool zip) + { this.BackupSiteCollectionAsync(url, filename, zip, null); } - + /// - public void BackupSiteCollectionAsync(string url, string filename, bool zip, object userState) { - if ((this.BackupSiteCollectionOperationCompleted == null)) { + public void BackupSiteCollectionAsync(string url, string filename, bool zip, object userState) + { + if ((this.BackupSiteCollectionOperationCompleted == null)) + { this.BackupSiteCollectionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnBackupSiteCollectionOperationCompleted); } this.InvokeAsync("BackupSiteCollection", new object[] { @@ -453,91 +494,107 @@ namespace WebsitePanel.Providers.HostedSolution { filename, zip}, this.BackupSiteCollectionOperationCompleted, userState); } - - private void OnBackupSiteCollectionOperationCompleted(object arg) { - if ((this.BackupSiteCollectionCompleted != null)) { + + private void OnBackupSiteCollectionOperationCompleted(object arg) + { + if ((this.BackupSiteCollectionCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.BackupSiteCollectionCompleted(this, new BackupSiteCollectionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/RestoreSiteCollection", 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 void RestoreSiteCollection(SharePointSiteCollection siteCollection, string filename) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/RestoreSiteCollection", 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 void RestoreSiteCollection(SharePointSiteCollection siteCollection, string filename) + { this.Invoke("RestoreSiteCollection", new object[] { siteCollection, filename}); } - + /// - public System.IAsyncResult BeginRestoreSiteCollection(SharePointSiteCollection siteCollection, string filename, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginRestoreSiteCollection(SharePointSiteCollection siteCollection, string filename, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("RestoreSiteCollection", new object[] { siteCollection, filename}, callback, asyncState); } - + /// - public void EndRestoreSiteCollection(System.IAsyncResult asyncResult) { + public void EndRestoreSiteCollection(System.IAsyncResult asyncResult) + { this.EndInvoke(asyncResult); } - + /// - public void RestoreSiteCollectionAsync(SharePointSiteCollection siteCollection, string filename) { + public void RestoreSiteCollectionAsync(SharePointSiteCollection siteCollection, string filename) + { this.RestoreSiteCollectionAsync(siteCollection, filename, null); } - + /// - public void RestoreSiteCollectionAsync(SharePointSiteCollection siteCollection, string filename, object userState) { - if ((this.RestoreSiteCollectionOperationCompleted == null)) { + public void RestoreSiteCollectionAsync(SharePointSiteCollection siteCollection, string filename, object userState) + { + if ((this.RestoreSiteCollectionOperationCompleted == null)) + { this.RestoreSiteCollectionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRestoreSiteCollectionOperationCompleted); } this.InvokeAsync("RestoreSiteCollection", new object[] { siteCollection, filename}, this.RestoreSiteCollectionOperationCompleted, userState); } - - private void OnRestoreSiteCollectionOperationCompleted(object arg) { - if ((this.RestoreSiteCollectionCompleted != null)) { + + private void OnRestoreSiteCollectionOperationCompleted(object arg) + { + if ((this.RestoreSiteCollectionCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.RestoreSiteCollectionCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetTempFileBinaryChunk", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - [return: System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")] - public byte[] GetTempFileBinaryChunk(string path, int offset, int length) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetTempFileBinaryChunk", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + [return: System.Xml.Serialization.XmlElementAttribute(DataType = "base64Binary")] + public byte[] GetTempFileBinaryChunk(string path, int offset, int length) + { object[] results = this.Invoke("GetTempFileBinaryChunk", new object[] { path, offset, length}); return ((byte[])(results[0])); } - + /// - public System.IAsyncResult BeginGetTempFileBinaryChunk(string path, int offset, int length, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetTempFileBinaryChunk(string path, int offset, int length, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetTempFileBinaryChunk", new object[] { path, offset, length}, callback, asyncState); } - + /// - public byte[] EndGetTempFileBinaryChunk(System.IAsyncResult asyncResult) { + public byte[] EndGetTempFileBinaryChunk(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((byte[])(results[0])); } - + /// - public void GetTempFileBinaryChunkAsync(string path, int offset, int length) { + public void GetTempFileBinaryChunkAsync(string path, int offset, int length) + { this.GetTempFileBinaryChunkAsync(path, offset, length, null); } - + /// - public void GetTempFileBinaryChunkAsync(string path, int offset, int length, object userState) { - if ((this.GetTempFileBinaryChunkOperationCompleted == null)) { + public void GetTempFileBinaryChunkAsync(string path, int offset, int length, object userState) + { + if ((this.GetTempFileBinaryChunkOperationCompleted == null)) + { this.GetTempFileBinaryChunkOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetTempFileBinaryChunkOperationCompleted); } this.InvokeAsync("GetTempFileBinaryChunk", new object[] { @@ -545,47 +602,55 @@ namespace WebsitePanel.Providers.HostedSolution { offset, length}, this.GetTempFileBinaryChunkOperationCompleted, userState); } - - private void OnGetTempFileBinaryChunkOperationCompleted(object arg) { - if ((this.GetTempFileBinaryChunkCompleted != null)) { + + private void OnGetTempFileBinaryChunkOperationCompleted(object arg) + { + if ((this.GetTempFileBinaryChunkCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetTempFileBinaryChunkCompleted(this, new GetTempFileBinaryChunkCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AppendTempFileBinaryChunk", 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 string AppendTempFileBinaryChunk(string fileName, string path, [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")] byte[] chunk) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AppendTempFileBinaryChunk", 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 string AppendTempFileBinaryChunk(string fileName, string path, [System.Xml.Serialization.XmlElementAttribute(DataType = "base64Binary")] byte[] chunk) + { object[] results = this.Invoke("AppendTempFileBinaryChunk", new object[] { fileName, path, chunk}); return ((string)(results[0])); } - + /// - public System.IAsyncResult BeginAppendTempFileBinaryChunk(string fileName, string path, byte[] chunk, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAppendTempFileBinaryChunk(string fileName, string path, byte[] chunk, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AppendTempFileBinaryChunk", new object[] { fileName, path, chunk}, callback, asyncState); } - + /// - public string EndAppendTempFileBinaryChunk(System.IAsyncResult asyncResult) { + public string EndAppendTempFileBinaryChunk(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((string)(results[0])); } - + /// - public void AppendTempFileBinaryChunkAsync(string fileName, string path, byte[] chunk) { + public void AppendTempFileBinaryChunkAsync(string fileName, string path, byte[] chunk) + { this.AppendTempFileBinaryChunkAsync(fileName, path, chunk, null); } - + /// - public void AppendTempFileBinaryChunkAsync(string fileName, string path, byte[] chunk, object userState) { - if ((this.AppendTempFileBinaryChunkOperationCompleted == null)) { + public void AppendTempFileBinaryChunkAsync(string fileName, string path, byte[] chunk, object userState) + { + if ((this.AppendTempFileBinaryChunkOperationCompleted == null)) + { this.AppendTempFileBinaryChunkOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAppendTempFileBinaryChunkOperationCompleted); } this.InvokeAsync("AppendTempFileBinaryChunk", new object[] { @@ -593,287 +658,381 @@ namespace WebsitePanel.Providers.HostedSolution { path, chunk}, this.AppendTempFileBinaryChunkOperationCompleted, userState); } - - private void OnAppendTempFileBinaryChunkOperationCompleted(object arg) { - if ((this.AppendTempFileBinaryChunkCompleted != null)) { + + private void OnAppendTempFileBinaryChunkOperationCompleted(object arg) + { + if ((this.AppendTempFileBinaryChunkCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AppendTempFileBinaryChunkCompleted(this, new AppendTempFileBinaryChunkCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetSiteCollectionSize", 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 long GetSiteCollectionSize(string url) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetSiteCollectionSize", 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 long GetSiteCollectionSize(string url) + { object[] results = this.Invoke("GetSiteCollectionSize", new object[] { url}); return ((long)(results[0])); } - + /// - public System.IAsyncResult BeginGetSiteCollectionSize(string url, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetSiteCollectionSize(string url, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetSiteCollectionSize", new object[] { url}, callback, asyncState); } - + /// - public long EndGetSiteCollectionSize(System.IAsyncResult asyncResult) { + public long EndGetSiteCollectionSize(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((long)(results[0])); } - + /// - public void GetSiteCollectionSizeAsync(string url) { + public void GetSiteCollectionSizeAsync(string url) + { this.GetSiteCollectionSizeAsync(url, null); } - + /// - public void GetSiteCollectionSizeAsync(string url, object userState) { - if ((this.GetSiteCollectionSizeOperationCompleted == null)) { + public void GetSiteCollectionSizeAsync(string url, object userState) + { + if ((this.GetSiteCollectionSizeOperationCompleted == null)) + { this.GetSiteCollectionSizeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSiteCollectionSizeOperationCompleted); } this.InvokeAsync("GetSiteCollectionSize", new object[] { url}, this.GetSiteCollectionSizeOperationCompleted, userState); } - - private void OnGetSiteCollectionSizeOperationCompleted(object arg) { - if ((this.GetSiteCollectionSizeCompleted != null)) { + + private void OnGetSiteCollectionSizeOperationCompleted(object arg) + { + if ((this.GetSiteCollectionSizeCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetSiteCollectionSizeCompleted(this, new GetSiteCollectionSizeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - public new void CancelAsync(object userState) { + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetPeoplePickerOu", 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 void SetPeoplePickerOu(string site, string ou) + { + this.Invoke("SetPeoplePickerOu", new object[] { + site, + ou}); + } + + /// + public System.IAsyncResult BeginSetPeoplePickerOu(string site, string ou, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("SetPeoplePickerOu", new object[] { + site, + ou}, callback, asyncState); + } + + /// + public void EndSetPeoplePickerOu(System.IAsyncResult asyncResult) + { + this.EndInvoke(asyncResult); + } + + /// + public void SetPeoplePickerOuAsync(string site, string ou) + { + this.SetPeoplePickerOuAsync(site, ou, null); + } + + /// + public void SetPeoplePickerOuAsync(string site, string ou, object userState) + { + if ((this.SetPeoplePickerOuOperationCompleted == null)) + { + this.SetPeoplePickerOuOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPeoplePickerOuOperationCompleted); + } + this.InvokeAsync("SetPeoplePickerOu", new object[] { + site, + ou}, this.SetPeoplePickerOuOperationCompleted, userState); + } + + private void OnSetPeoplePickerOuOperationCompleted(object arg) + { + if ((this.SetPeoplePickerOuCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetPeoplePickerOuCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + public new void CancelAsync(object userState) + { base.CancelAsync(userState); } } - - - - - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSupportedLanguagesCompletedEventHandler(object sender, GetSupportedLanguagesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetSupportedLanguagesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetSupportedLanguagesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetSupportedLanguagesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetSupportedLanguagesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int[] Result { - get { + public int[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSiteCollectionsCompletedEventHandler(object sender, GetSiteCollectionsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetSiteCollectionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetSiteCollectionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetSiteCollectionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetSiteCollectionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public SharePointSiteCollection[] Result { - get { + public SharePointSiteCollection[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((SharePointSiteCollection[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSiteCollectionCompletedEventHandler(object sender, GetSiteCollectionCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetSiteCollectionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetSiteCollectionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetSiteCollectionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetSiteCollectionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public SharePointSiteCollection Result { - get { + public SharePointSiteCollection Result + { + get + { this.RaiseExceptionIfNecessary(); return ((SharePointSiteCollection)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreateSiteCollectionCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateQuotasCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CalculateSiteCollectionsDiskSpaceCompletedEventHandler(object sender, CalculateSiteCollectionsDiskSpaceCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class CalculateSiteCollectionsDiskSpaceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class CalculateSiteCollectionsDiskSpaceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal CalculateSiteCollectionsDiskSpaceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal CalculateSiteCollectionsDiskSpaceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public SharePointSiteDiskSpace[] Result { - get { + public SharePointSiteDiskSpace[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((SharePointSiteDiskSpace[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteSiteCollectionCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void BackupSiteCollectionCompletedEventHandler(object sender, BackupSiteCollectionCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class BackupSiteCollectionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class BackupSiteCollectionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal BackupSiteCollectionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal BackupSiteCollectionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public string Result { - get { + public string Result + { + get + { this.RaiseExceptionIfNecessary(); return ((string)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void RestoreSiteCollectionCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetTempFileBinaryChunkCompletedEventHandler(object sender, GetTempFileBinaryChunkCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetTempFileBinaryChunkCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetTempFileBinaryChunkCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetTempFileBinaryChunkCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetTempFileBinaryChunkCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public byte[] Result { - get { + public byte[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((byte[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AppendTempFileBinaryChunkCompletedEventHandler(object sender, AppendTempFileBinaryChunkCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AppendTempFileBinaryChunkCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class AppendTempFileBinaryChunkCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal AppendTempFileBinaryChunkCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal AppendTempFileBinaryChunkCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public string Result { - get { + public string Result + { + get + { this.RaiseExceptionIfNecessary(); return ((string)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSiteCollectionSizeCompletedEventHandler(object sender, GetSiteCollectionSizeCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetSiteCollectionSizeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetSiteCollectionSizeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetSiteCollectionSizeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetSiteCollectionSizeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public long Result { - get { + public long Result + { + get + { this.RaiseExceptionIfNecessary(); return ((long)(this.results[0])); } } } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetPeoplePickerOuCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); } diff --git a/WebsitePanel/Sources/WebsitePanel.Server/HostedSharePointServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/HostedSharePointServer.asmx.cs index a80da75a..ac540abd 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/HostedSharePointServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/HostedSharePointServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -38,186 +38,185 @@ using Microsoft.Web.Services3; namespace WebsitePanel.Server { - /// - /// Summary description for HostedSharePointServer - /// - [WebService(Namespace = "http://smbsaas/websitepanel/server/")] - [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] - [Policy("ServerPolicy")] - [ToolboxItem(false)] - public class HostedSharePointServer : HostingServiceProviderWebService - { - private delegate TReturn Action(); + /// + /// Summary description for HostedSharePointServer + /// + [WebService(Namespace = "http://smbsaas/websitepanel/server/")] + [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] + [Policy("ServerPolicy")] + [ToolboxItem(false)] + public class HostedSharePointServer : HostingServiceProviderWebService + { + private delegate TReturn Action(); - /// - /// Gets hosted SharePoint provider instance. - /// - private IHostedSharePointServer HostedSharePointServerProvider - { - get { return (IHostedSharePointServer)Provider; } - } + /// + /// Gets hosted SharePoint provider instance. + /// + private IHostedSharePointServer HostedSharePointServerProvider + { + get { return (IHostedSharePointServer)Provider; } + } - /// - /// Gets list of supported languages by this installation of SharePoint. - /// - /// List of supported languages - [WebMethod, SoapHeader("settings")] - public int[] GetSupportedLanguages() - { - return ExecuteAction(delegate - { - return HostedSharePointServerProvider.GetSupportedLanguages(); - }, "GetSupportedLanguages"); - } + /// + /// Gets list of supported languages by this installation of SharePoint. + /// + /// List of supported languages + [WebMethod, SoapHeader("settings")] + public int[] GetSupportedLanguages() + { + return ExecuteAction(delegate + { + return HostedSharePointServerProvider.GetSupportedLanguages(); + }, "GetSupportedLanguages"); + } - /// - /// Gets list of SharePoint collections within root web application. - /// - /// List of SharePoint collections within root web application. - [WebMethod, SoapHeader("settings")] - public SharePointSiteCollection[] GetSiteCollections() - { - return ExecuteAction(delegate - { - return HostedSharePointServerProvider.GetSiteCollections(); - }, "GetSiteCollections"); - } + /// + /// Gets list of SharePoint collections within root web application. + /// + /// List of SharePoint collections within root web application. + [WebMethod, SoapHeader("settings")] + public SharePointSiteCollection[] GetSiteCollections() + { + return ExecuteAction(delegate + { + return HostedSharePointServerProvider.GetSiteCollections(); + }, "GetSiteCollections"); + } - /// - /// Gets SharePoint collection within root web application with given name. - /// - /// Url that uniquely identifies site collection to be loaded. - /// SharePoint collection within root web application with given name. - [WebMethod, SoapHeader("settings")] - public SharePointSiteCollection GetSiteCollection(string url) - { - return ExecuteAction(delegate - { - return HostedSharePointServerProvider.GetSiteCollection(url); - }, "GetSiteCollection"); - } + /// + /// Gets SharePoint collection within root web application with given name. + /// + /// Url that uniquely identifies site collection to be loaded. + /// SharePoint collection within root web application with given name. + [WebMethod, SoapHeader("settings")] + public SharePointSiteCollection GetSiteCollection(string url) + { + return ExecuteAction(delegate + { + return HostedSharePointServerProvider.GetSiteCollection(url); + }, "GetSiteCollection"); + } - /// - /// Creates site collection within predefined root web application. - /// - /// Information about site coolection to be created. - [WebMethod, SoapHeader("settings")] - public void CreateSiteCollection(SharePointSiteCollection siteCollection) - { - siteCollection.OwnerLogin = AttachNetbiosDomainName(siteCollection.OwnerLogin); - ExecuteAction(delegate - { - HostedSharePointServerProvider.CreateSiteCollection(siteCollection); - return new object(); - }, "CreateSiteCollection"); - } + /// + /// Creates site collection within predefined root web application. + /// + /// Information about site coolection to be created. + [WebMethod, SoapHeader("settings")] + public void CreateSiteCollection(SharePointSiteCollection siteCollection) + { + siteCollection.OwnerLogin = AttachNetbiosDomainName(siteCollection.OwnerLogin); + ExecuteAction(delegate + { + HostedSharePointServerProvider.CreateSiteCollection(siteCollection); + return new object(); + }, "CreateSiteCollection"); + } [WebMethod, SoapHeader("settings")] public void UpdateQuotas(string url, long maxSize, long warningSize) { ExecuteAction(delegate - { - HostedSharePointServerProvider.UpdateQuotas(url, maxSize, warningSize); - return new object(); - }, "UpdateQuotas"); - - - + { + HostedSharePointServerProvider.UpdateQuotas(url, maxSize, warningSize); + return new object(); + }, "UpdateQuotas"); + + + } [WebMethod, SoapHeader("settings")] public SharePointSiteDiskSpace[] CalculateSiteCollectionsDiskSpace(string[] urls) { - SharePointSiteDiskSpace []ret = null; + SharePointSiteDiskSpace[] ret = null; ret = ExecuteAction(delegate - { - return HostedSharePointServerProvider.CalculateSiteCollectionsDiskSpace(urls); - }, "CalculateSiteCollectionDiskSpace"); - return ret; + { + return HostedSharePointServerProvider.CalculateSiteCollectionsDiskSpace(urls); + }, "CalculateSiteCollectionDiskSpace"); + return ret; } /// - /// Deletes site collection under given url. - /// - /// Url that uniquely identifies site collection to be deleted. - [WebMethod, SoapHeader("settings")] - public void DeleteSiteCollection(string url) - { - ExecuteAction(delegate - { - HostedSharePointServerProvider.DeleteSiteCollection(url); - return new object(); - }, "DeleteSiteCollection"); - } + /// Deletes site collection under given url. + /// + /// Url that uniquely identifies site collection to be deleted. + [WebMethod, SoapHeader("settings")] + public void DeleteSiteCollection(SharePointSiteCollection siteCollection) + { + ExecuteAction(delegate + { + HostedSharePointServerProvider.DeleteSiteCollection(siteCollection); + return new object(); + }, "DeleteSiteCollection"); + } + /// + /// Backups site collection under give url. + /// + /// Url that uniquely identifies site collection to be deleted. + /// Resulting backup file name. + /// A value which shows whether created backup must be archived. + /// Created backup full path. + [WebMethod, SoapHeader("settings")] + public string BackupSiteCollection(string url, string filename, bool zip) + { + return ExecuteAction(delegate + { + return + HostedSharePointServerProvider.BackupSiteCollection(url, filename, zip); + }, "BackupSiteCollection"); + } - /// - /// Backups site collection under give url. - /// - /// Url that uniquely identifies site collection to be deleted. - /// Resulting backup file name. - /// A value which shows whether created backup must be archived. - /// Created backup full path. - [WebMethod, SoapHeader("settings")] - public string BackupSiteCollection(string url, string filename, bool zip) - { - return ExecuteAction(delegate - { - return - HostedSharePointServerProvider.BackupSiteCollection(url, filename, zip); - }, "BackupSiteCollection"); - } + /// + /// Restores site collection under given url from backup. + /// + /// Site collection to be restored. + /// Backup file name to restore from. + [WebMethod, SoapHeader("settings")] + public void RestoreSiteCollection(SharePointSiteCollection siteCollection, string filename) + { + siteCollection.OwnerLogin = AttachNetbiosDomainName(siteCollection.OwnerLogin); + ExecuteAction(delegate + { + HostedSharePointServerProvider.RestoreSiteCollection(siteCollection, filename); + return new object(); + }, "RestoreSiteCollection"); + } - /// - /// Restores site collection under given url from backup. - /// - /// Site collection to be restored. - /// Backup file name to restore from. - [WebMethod, SoapHeader("settings")] - public void RestoreSiteCollection(SharePointSiteCollection siteCollection, string filename) - { - siteCollection.OwnerLogin = AttachNetbiosDomainName(siteCollection.OwnerLogin); - ExecuteAction(delegate - { - HostedSharePointServerProvider.RestoreSiteCollection(siteCollection, filename); - return new object(); - }, "RestoreSiteCollection"); - } + /// + /// Gets binary data chunk of specified size from specified offset. + /// + /// Path to file to get bunary data chunk from. + /// Offset from which to start data reading. + /// Binary data chunk length. + /// Binary data chunk read from file. + [WebMethod, SoapHeader("settings")] + public byte[] GetTempFileBinaryChunk(string path, int offset, int length) + { + return ExecuteAction(delegate + { + return + HostedSharePointServerProvider.GetTempFileBinaryChunk(path, offset, length); + }, "GetTempFileBinaryChunk"); + } - /// - /// Gets binary data chunk of specified size from specified offset. - /// - /// Path to file to get bunary data chunk from. - /// Offset from which to start data reading. - /// Binary data chunk length. - /// Binary data chunk read from file. - [WebMethod, SoapHeader("settings")] - public byte[] GetTempFileBinaryChunk(string path, int offset, int length) - { - return ExecuteAction(delegate - { - return - HostedSharePointServerProvider.GetTempFileBinaryChunk(path, offset, length); - }, "GetTempFileBinaryChunk"); - } - - /// - /// Appends supplied binary data chunk to file. - /// - /// Non existent file name to append to. - /// Full path to existent file to append to. - /// Binary data chunk to append to. - /// Path to file that was appended with chunk. - [WebMethod, SoapHeader("settings")] - public virtual string AppendTempFileBinaryChunk(string fileName, string path, byte[] chunk) - { - return ExecuteAction(delegate - { - return - HostedSharePointServerProvider.AppendTempFileBinaryChunk(fileName, path, chunk); - }, "AppendTempFileBinaryChunk"); - } + /// + /// Appends supplied binary data chunk to file. + /// + /// Non existent file name to append to. + /// Full path to existent file to append to. + /// Binary data chunk to append to. + /// Path to file that was appended with chunk. + [WebMethod, SoapHeader("settings")] + public virtual string AppendTempFileBinaryChunk(string fileName, string path, byte[] chunk) + { + return ExecuteAction(delegate + { + return + HostedSharePointServerProvider.AppendTempFileBinaryChunk(fileName, path, chunk); + }, "AppendTempFileBinaryChunk"); + } [WebMethod, SoapHeader("settings")] @@ -230,38 +229,46 @@ namespace WebsitePanel.Server }, "GetSiteCollectionSize"); } - /// - /// Executes supplied action and performs logging. - /// - /// Type of action's return value. - /// Action to be executed. - /// Action name for logging purposes. - /// Action execution result. - private TReturn ExecuteAction(Action action, string actionName) - { - try - { - Log.WriteStart("'{0}' {1}", ProviderSettings.ProviderName, actionName); - TReturn result = action(); - Log.WriteEnd("'{0}' {1}", ProviderSettings.ProviderName, actionName); - return result; - } - catch (Exception ex) - { - Log.WriteError(String.Format("Can't {1} '{0}' provider", ProviderSettings.ProviderName, actionName), ex); - throw; - } - } - /// - /// Returns fully qualified netbios account name. - /// - /// Account name. - /// Fully qualified netbios account name. - private string AttachNetbiosDomainName(string accountName) - { - string domainNetbiosName = String.Format("{0}\\", ActiveDirectoryUtils.GetNETBIOSDomainName(ServerSettings.ADRootDomain)); - return String.Format("{0}{1}", domainNetbiosName, accountName.Replace(domainNetbiosName, String.Empty)); - } - } + [WebMethod, SoapHeader("settings")] + public void SetPeoplePickerOu(string site, string ou) + { + HostedSharePointServerProvider.SetPeoplePickerOu(site, ou); + } + + + /// + /// Executes supplied action and performs logging. + /// + /// Type of action's return value. + /// Action to be executed. + /// Action name for logging purposes. + /// Action execution result. + private TReturn ExecuteAction(Action action, string actionName) + { + try + { + Log.WriteStart("'{0}' {1}", ProviderSettings.ProviderName, actionName); + TReturn result = action(); + Log.WriteEnd("'{0}' {1}", ProviderSettings.ProviderName, actionName); + return result; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Can't {1} '{0}' provider", ProviderSettings.ProviderName, actionName), ex); + throw; + } + } + + /// + /// Returns fully qualified netbios account name. + /// + /// Account name. + /// Fully qualified netbios account name. + private string AttachNetbiosDomainName(string accountName) + { + string domainNetbiosName = String.Format("{0}\\", ActiveDirectoryUtils.GetNETBIOSDomainName(ServerSettings.ADRootDomain)); + return String.Format("{0}{1}", domainNetbiosName, accountName.Replace(domainNetbiosName, String.Empty)); + } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsSelectDomainControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsSelectDomainControl.ascx.cs index 04e842ef..ef0b17eb 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsSelectDomainControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsSelectDomainControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -95,6 +95,7 @@ namespace WebsitePanel.Portal { BindDomains(); } + } private void BindDomains() diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx index 341e5b7c..1abeb777 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx @@ -49,7 +49,7 @@ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs index fe09e266..e27af284 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2010, SMB SAAS Systems Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -11,7 +11,7 @@ // 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 +// - Neither the name of the SMB SAAS Systems Inc. nor the names of its // contributors may be used to endorse or promote products derived from this // software without specific prior written permission. // @@ -50,21 +50,82 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls ViewState["IncludeMailboxes"] = value; } } - + + public bool IncludeMailboxesOnly + { + get + { + object ret = ViewState["IncludeMailboxesOnly"]; + return (ret != null) ? (bool)ret : false; + } + set + { + ViewState["IncludeMailboxesOnly"] = value; + } + } + + + public bool ExcludeOCSUsers + { + get + { + object ret = ViewState["ExcludeOCSUsers"]; + return (ret != null) ? (bool)ret : false; + } + set + { + ViewState["ExcludeOCSUsers"] = value; + } + } + + public bool ExcludeLyncUsers + { + get + { + object ret = ViewState["ExcludeLyncUsers"]; + return (ret != null) ? (bool)ret : false; + } + set + { + ViewState["ExcludeLyncUsers"] = value; + } + } + + + public bool ExcludeBESUsers + { + get + { + object ret = ViewState["ExcludeBESUsers"]; + return (ret != null) ? (bool)ret : false; + } + set + { + ViewState["ExcludeBESUsers"] = value; + } + } + + public int ExcludeAccountId - { - get { return PanelRequest.AccountID; } - } + { + get { return PanelRequest.AccountID; } + } - public void SetAccount(OrganizationUser account) - { - BindSelectedAccount(account); - } + public void SetAccount(OrganizationUser account) + { + BindSelectedAccount(account); + } + + public string GetAccount() + { + return (string)ViewState["AccountName"]; + } + + public string GetSAMAccountName() + { + return (string)ViewState["SAMAccountName"]; + } - public string GetAccount() - { - return (string)ViewState["AccountName"]; - } public string GetDisplayName() { @@ -77,56 +138,93 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls } public int GetAccountId() - { - return Utils.ParseInt(ViewState["AccountId"], 0); + { + return Utils.ParseInt(ViewState["AccountId"], 0); } protected void Page_Load(object sender, EventArgs e) { - + } - private void BindSelectedAccount(OrganizationUser account) - { - if (account != null) - { - txtDisplayName.Text = account.DisplayName; + private void BindSelectedAccount(OrganizationUser account) + { + if (account != null) + { + txtDisplayName.Text = account.DisplayName; ViewState["AccountName"] = account.AccountName; ViewState["DisplayName"] = account.DisplayName; ViewState["PrimaryEmailAddress"] = account.PrimaryEmailAddress; - ViewState["AccountId"] = account.AccountId; - } - else - { - txtDisplayName.Text = ""; - ViewState["AccountName"] = null; + ViewState["AccountId"] = account.AccountId; + ViewState["SAMAccountName"] = account.SamAccountName; + } + else + { + txtDisplayName.Text = ""; + ViewState["AccountName"] = null; ViewState["DisplayName"] = null; ViewState["PrimaryEmailAddress"] = null; - ViewState["AccountId"] = null; - + ViewState["AccountId"] = null; + ViewState["SAMAccountName"] = null; + } - } + } - public string GetAccountImage() - { + public string GetAccountImage() + { return GetThemedImage("Exchange/admin_16.png"); - } + } - private void BindPopupAccounts() - { - OrganizationUser[] accounts = ES.Services.Organizations.SearchAccounts(PanelRequest.ItemID, - ddlSearchColumn.SelectedValue, txtSearchValue.Text + "%", "", IncludeMailboxes); + private void BindPopupAccounts() + { + OrganizationUser[] accounts = ES.Services.Organizations.SearchAccounts(PanelRequest.ItemID, + ddlSearchColumn.SelectedValue, txtSearchValue.Text + "%", "", IncludeMailboxes); - if (ExcludeAccountId > 0) - { - List updatedAccounts = new List(); - foreach (OrganizationUser account in accounts) - if (account.AccountId != ExcludeAccountId) - updatedAccounts.Add(account); + if (ExcludeAccountId > 0) + { + List updatedAccounts = new List(); + foreach (OrganizationUser account in accounts) + if (account.AccountId != ExcludeAccountId) + updatedAccounts.Add(account); + + accounts = updatedAccounts.ToArray(); + } + + if (IncludeMailboxesOnly) + { + + List updatedAccounts = new List(); + foreach (OrganizationUser account in accounts) + { + bool addUser = false; + if (account.ExternalEmail != string.Empty) addUser = true; + if ((account.IsBlackBerryUser) & (ExcludeBESUsers)) addUser = false; + if ((account.IsLyncUser) & (ExcludeLyncUsers)) addUser = false; + + if (addUser) updatedAccounts.Add(account); + } + + accounts = updatedAccounts.ToArray(); + } + else + if ((ExcludeOCSUsers) | (ExcludeBESUsers) | (ExcludeLyncUsers)) + { + + List updatedAccounts = new List(); + foreach (OrganizationUser account in accounts) + { + bool addUser = true; + if ((account.IsOCSUser) & (ExcludeOCSUsers)) addUser = false; + if ((account.IsLyncUser) & (ExcludeLyncUsers)) addUser = false; + if ((account.IsBlackBerryUser) & (ExcludeBESUsers)) addUser = false; + + if (addUser) updatedAccounts.Add(account); + } + + accounts = updatedAccounts.ToArray(); + } - accounts = updatedAccounts.ToArray(); - } Array.Sort(accounts, CompareAccount); if (Direction == SortDirection.Ascending) @@ -136,15 +234,15 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls } else Direction = SortDirection.Ascending; - + gvPopupAccounts.DataSource = accounts; - gvPopupAccounts.DataBind(); - } + gvPopupAccounts.DataBind(); + } private SortDirection Direction { get { return ViewState[DirectionString] == null ? SortDirection.Descending : (SortDirection)ViewState[DirectionString]; } - set {ViewState[DirectionString] = value;} + set { ViewState[DirectionString] = value; } } private static int CompareAccount(OrganizationUser user1, OrganizationUser user2) @@ -152,57 +250,58 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls return string.Compare(user1.DisplayName, user2.DisplayName); } - - protected void chkIncludeMailboxes_CheckedChanged(object sender, EventArgs e) - { - BindPopupAccounts(); - } - protected void cmdSearch_Click(object sender, ImageClickEventArgs e) - { - BindPopupAccounts(); - } + protected void chkIncludeMailboxes_CheckedChanged(object sender, EventArgs e) + { + BindPopupAccounts(); + } - protected void cmdClear_Click(object sender, EventArgs e) - { - BindSelectedAccount(null); - } + protected void cmdSearch_Click(object sender, ImageClickEventArgs e) + { + BindPopupAccounts(); + } - protected void ImageButton1_Click(object sender, ImageClickEventArgs e) - { - // bind all accounts - BindPopupAccounts(); + protected void cmdClear_Click(object sender, EventArgs e) + { + BindSelectedAccount(null); + } - // show modal - SelectAccountsModal.Show(); - } + protected void ImageButton1_Click(object sender, ImageClickEventArgs e) + { + // bind all accounts + BindPopupAccounts(); - protected void gvPopupAccounts_RowCommand(object sender, GridViewCommandEventArgs e) - { - if (e.CommandName == "SelectAccount") - { - string[] parts = e.CommandArgument.ToString().Split('|'); - OrganizationUser account = new OrganizationUser(); - account.AccountName = parts[0]; - account.DisplayName = parts[1]; - account.PrimaryEmailAddress = parts[2]; - account.AccountId = Utils.ParseInt(parts[3]); + // show modal + SelectAccountsModal.Show(); + } - // set account - BindSelectedAccount(account); + protected void gvPopupAccounts_RowCommand(object sender, GridViewCommandEventArgs e) + { + if (e.CommandName == "SelectAccount") + { + string[] parts = e.CommandArgument.ToString().Split('|'); + OrganizationUser account = new OrganizationUser(); + account.AccountName = parts[0]; + account.DisplayName = parts[1]; + account.PrimaryEmailAddress = parts[2]; + account.AccountId = Utils.ParseInt(parts[3]); + account.SamAccountName = parts[4]; - // hide popup - SelectAccountsModal.Hide(); + // set account + BindSelectedAccount(account); - // update parent panel - MainUpdatePanel.Update(); - } - } + // hide popup + SelectAccountsModal.Hide(); + + // update parent panel + MainUpdatePanel.Update(); + } + } protected void OnSorting(object sender, GridViewSortEventArgs e) { - + BindPopupAccounts(); } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.designer.cs index 68fe956e..4775df9a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.4927 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx index d6bd3c4f..08fa5b5b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx @@ -1,25 +1,18 @@ -<%@ Control Language="C#" AutoEventWireup="true" Codebehind="HostedSharePointEditSiteCollection.ascx.cs" - Inherits="WebsitePanel.Portal.HostedSharePointEditSiteCollection" %> +<%@ Control Language="C#" AutoEventWireup="true" Codebehind="HostedSharePointEditSiteCollection.ascx.cs" Inherits="WebsitePanel.Portal.HostedSharePointEditSiteCollection" %> <%@ Register Src="ExchangeServer/UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %> -<%@ Register Src="UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" - TagPrefix="wsp" %> -<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="UserControls/CollapsiblePanel.ascx" %> +<%@ Register Src="UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %> <%@ Register Src="UserControls/PopupHeader.ascx" TagName="PopupHeader" TagPrefix="wsp" %> <%@ Register Src="ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> -<%@ Register Src="ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" - TagPrefix="wsp" %> -<%@ Register Src="ExchangeServer/UserControls/DomainSelector.ascx" TagName="DomainSelector" TagPrefix="wsp" %> +<%@ Register Src="ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="UserControls/AllocatePackageIPAddresses.ascx" TagName="SiteUrlBuilder" TagPrefix="wsp" %> <%@ Register Src="ExchangeServer/UserControls/UserSelector.ascx" TagName="UserSelector" TagPrefix="wsp" %> - - -<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" - TagPrefix="wsp" %> - +<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> <%@ Register src="UserControls/QuotaEditor.ascx" tagname="QuotaEditor" tagprefix="uc1" %> +<%@ Register Src="DomainsSelectDomainControl.ascx" TagName="DomainsSelectDomainControl" TagPrefix="uc1" %> -
    @@ -39,13 +32,18 @@ - + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.cs index 79650ced..1c13ab54 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -35,331 +35,378 @@ using WebsitePanel.Providers.DNS; using WebsitePanel.Providers.HostedSolution; using WebsitePanel.Providers.SharePoint; + namespace WebsitePanel.Portal { - public partial class HostedSharePointEditSiteCollection : WebsitePanelModuleBase - { - SharePointSiteCollection item = null; + public partial class HostedSharePointEditSiteCollection : WebsitePanelModuleBase + { + SharePointSiteCollection item = null; - private int OrganizationId - { - get - { - return PanelRequest.GetInt("ItemID"); - } - } + private int OrganizationId + { + get + { + return PanelRequest.GetInt("ItemID"); + } + } - private int SiteCollectionId - { - get - { - return PanelRequest.GetInt("SiteCollectionID"); - } - } + private int SiteCollectionId + { + get + { + return PanelRequest.GetInt("SiteCollectionID"); + } + } + + protected void Page_Load(object sender, EventArgs e) + { + domain.PackageId = PanelSecurity.PackageId; - protected void Page_Load(object sender, EventArgs e) - { warningStorage.UnlimitedText = GetLocalizedString("WarningUnlimitedValue"); editWarningStorage.UnlimitedText = GetLocalizedString("WarningUnlimitedValue"); - + bool newItem = (this.SiteCollectionId == 0); - tblEditItem.Visible = newItem; - tblViewItem.Visible = !newItem; + tblEditItem.Visible = newItem; + tblViewItem.Visible = !newItem; - //btnUpdate.Visible = newItem; - btnDelete.Visible = !newItem; - btnUpdate.Text = newItem ? GetLocalizedString("Text.Add") : GetLocalizedString("Text.Update"); + //btnUpdate.Visible = newItem; + btnDelete.Visible = !newItem; + btnUpdate.Text = newItem ? GetLocalizedString("Text.Add") : GetLocalizedString("Text.Update"); btnUpdate.OnClientClick = newItem ? GetLocalizedString("btnCreate.OnClientClick") : GetLocalizedString("btnUpdate.OnClientClick"); - btnBackup.Enabled = btnRestore.Enabled = !newItem; + btnBackup.Enabled = btnRestore.Enabled = !newItem; - // bind item - BindItem(); + // bind item + BindItem(); - //this.RegisterOwnerSelector(); - - } + } - private void BindItem() - { - try - { - if (!IsPostBack) - { - if (!this.IsDnsServiceAvailable()) - { - localMessageBox.ShowWarningMessage("HOSTEDSHAREPOINT_NO_DNS"); - } + private void BindItem() + { + try + { + if (!IsPostBack) + { + if (!this.IsDnsServiceAvailable()) + { + localMessageBox.ShowWarningMessage("HOSTEDSHAREPOINT_NO_DNS"); + } - // load item if required - if (this.SiteCollectionId > 0) - { - // existing item - item = ES.Services.HostedSharePointServers.GetSiteCollection(this.SiteCollectionId); - if (item != null) - { - // save package info - ViewState["PackageId"] = item.PackageId; - } - else - RedirectToBrowsePage(); - } - else - { - // new item - ViewState["PackageId"] = PanelSecurity.PackageId; - } - - //this.gvUsers.DataBind(); - - List cultures = new List(); - foreach (int localeId in ES.Services.HostedSharePointServers.GetSupportedLanguages(PanelSecurity.PackageId)) - { - cultures.Add(new CultureInfo(localeId, false)); - } - - this.ddlLocaleID.DataSource = cultures; - this.ddlLocaleID.DataBind(); - } - - if (!IsPostBack) - { - // bind item to controls - if (item != null) - { - // bind item to controls - lnkUrl.Text = item.PhysicalAddress; - lnkUrl.NavigateUrl = item.PhysicalAddress; - litSiteCollectionOwner.Text = String.Format("{0} ({1})", item.OwnerName, item.OwnerEmail); - litLocaleID.Text = new CultureInfo(item.LocaleId, false).DisplayName; - litTitle.Text = item.Title; - litDescription.Text = item.Description; - editWarningStorage.QuotaValue = (int)item.WarningStorage; - editMaxStorage.QuotaValue = (int)item.MaxSiteStorage; - } - - Organization org = ES.Services.Organizations.GetOrganization(OrganizationId); - if (org != null) + // load item if required + if (this.SiteCollectionId > 0) + { + // existing item + item = ES.Services.HostedSharePointServers.GetSiteCollection(this.SiteCollectionId); + if (item != null) { - maxStorage.ParentQuotaValue = org.MaxSharePointStorage; - maxStorage.QuotaValue = org.MaxSharePointStorage; - - editMaxStorage.ParentQuotaValue = org.MaxSharePointStorage; - - - - warningStorage.ParentQuotaValue = org.WarningSharePointStorage; - warningStorage.QuotaValue = org.WarningSharePointStorage; - editWarningStorage.ParentQuotaValue = org.WarningSharePointStorage; + // save package info + ViewState["PackageId"] = item.PackageId; } - - } - OrganizationDomainName[] domains = ES.Services.Organizations.GetOrganizationDomains(PanelRequest.ItemID); + else + RedirectToBrowsePage(); + } + else + { + // new item + ViewState["PackageId"] = PanelSecurity.PackageId; + if (UseSharedSLL(PanelSecurity.PackageId)) + { + + rowUrl.Visible = false; + valRequireHostName.Enabled = false; + valRequireCorrectHostName.Enabled = false; + } + } + + //this.gvUsers.DataBind(); + + List cultures = new List(); + foreach (int localeId in ES.Services.HostedSharePointServers.GetSupportedLanguages(PanelSecurity.PackageId)) + { + cultures.Add(new CultureInfo(localeId, false)); + } + + this.ddlLocaleID.DataSource = cultures; + this.ddlLocaleID.DataBind(); + } + + if (!IsPostBack) + { + // bind item to controls + if (item != null) + { + // bind item to controls + lnkUrl.Text = item.PhysicalAddress; + lnkUrl.NavigateUrl = item.PhysicalAddress; + litSiteCollectionOwner.Text = String.Format("{0} ({1})", item.OwnerName, item.OwnerEmail); + litLocaleID.Text = new CultureInfo(item.LocaleId, false).DisplayName; + litTitle.Text = item.Title; + litDescription.Text = item.Description; + editWarningStorage.QuotaValue = (int)item.WarningStorage; + editMaxStorage.QuotaValue = (int)item.MaxSiteStorage; + } + + Organization org = ES.Services.Organizations.GetOrganization(OrganizationId); + if (org != null) + { + maxStorage.ParentQuotaValue = org.MaxSharePointStorage; + maxStorage.QuotaValue = org.MaxSharePointStorage; + + editMaxStorage.ParentQuotaValue = org.MaxSharePointStorage; + + + + warningStorage.ParentQuotaValue = org.WarningSharePointStorage; + warningStorage.QuotaValue = org.WarningSharePointStorage; + editWarningStorage.ParentQuotaValue = org.WarningSharePointStorage; + } + + } + //OrganizationDomainName[] domains = ES.Services.Organizations.GetOrganizationDomains(PanelRequest.ItemID); + + //DomainInfo[] domains = ES.Services.Servers.GetMyDomains(PanelSecurity.PackageId); + + EnterpriseServer.DomainInfo[] domains = ES.Services.Servers.GetDomains(PanelSecurity.PackageId); + + if (domains.Length == 0) + { + localMessageBox.ShowWarningMessage("HOSTEDSHAREPOINT_NO_DOMAINS"); + DisableFormControls(this, btnCancel); + return; + } + //if (this.gvUsers.Rows.Count == 0) + //{ + // localMessageBox.ShowWarningMessage("HOSTEDSHAREPOINT_NO_USERS"); + // DisableFormControls(this, btnCancel); + // return; + //} + } + catch + { - if (domains.Length == 0) - { - localMessageBox.ShowWarningMessage("HOSTEDSHAREPOINT_NO_DOMAINS"); - DisableFormControls(this, btnCancel); - return; - } - //if (this.gvUsers.Rows.Count == 0) - //{ - // localMessageBox.ShowWarningMessage("HOSTEDSHAREPOINT_NO_USERS"); - // DisableFormControls(this, btnCancel); - // return; - //} - } - catch - { - localMessageBox.ShowWarningMessage("INIT_SERVICE_ITEM_FORM"); - - DisableFormControls(this, btnCancel); - return; - } - } - private void SaveItem() - { - if (!Page.IsValid) - { - return; - } + DisableFormControls(this, btnCancel); + return; + } + } - - if (this.SiteCollectionId == 0) - { + private void SaveItem() + { + if (!Page.IsValid) + { + return; + } + + + if (this.SiteCollectionId == 0) + { if (this.userSelector.GetAccount() == null) { localMessageBox.ShowWarningMessage("HOSTEDSHAREPOINT_NO_USERS"); return; } - + // new item - try - { - SharePointSiteCollectionListPaged existentSiteCollections = ES.Services.HostedSharePointServers.GetSiteCollectionsPaged(PanelSecurity.PackageId, this.OrganizationId, "ItemName", String.Format("%{0}", this.domain.DomainName), String.Empty, 0, Int32.MaxValue); - foreach (SharePointSiteCollection existentSiteCollection in existentSiteCollections.SiteCollections) - { - Uri existentSiteCollectionUri = new Uri(existentSiteCollection.Name); - if (existentSiteCollection.Name == String.Format("{0}://{1}", existentSiteCollectionUri.Scheme, this.domain.DomainName)) - { - localMessageBox.ShowWarningMessage("HOSTEDSHAREPOINT_DOMAIN_IN_USE"); - return; - } - } + try + { + item = new SharePointSiteCollection(); + + if (!UseSharedSLL(PanelSecurity.PackageId)) + { + SharePointSiteCollectionListPaged existentSiteCollections = ES.Services.HostedSharePointServers.GetSiteCollectionsPaged(PanelSecurity.PackageId, this.OrganizationId, "ItemName", String.Format("%{0}", this.domain.DomainName), String.Empty, 0, Int32.MaxValue); + foreach (SharePointSiteCollection existentSiteCollection in existentSiteCollections.SiteCollections) + { + Uri existentSiteCollectionUri = new Uri(existentSiteCollection.Name); + if (existentSiteCollection.Name == String.Format("{0}://{1}", existentSiteCollectionUri.Scheme, this.txtHostName.Text.ToLower() + "." + this.domain.DomainName)) + { + localMessageBox.ShowWarningMessage("HOSTEDSHAREPOINT_DOMAIN_IN_USE"); + return; + } + } + + item.Name = this.txtHostName.Text.ToLower() + "." + this.domain.DomainName; + } + else + item.Name = string.Empty; + + // get form data + + item.OrganizationId = this.OrganizationId; + item.Id = this.SiteCollectionId; + item.PackageId = PanelSecurity.PackageId; + + item.LocaleId = Int32.Parse(this.ddlLocaleID.SelectedValue); + item.OwnerLogin = this.userSelector.GetSAMAccountName(); + item.OwnerEmail = this.userSelector.GetPrimaryEmailAddress(); + item.OwnerName = this.userSelector.GetDisplayName(); + item.Title = txtTitle.Text; + item.Description = txtDescription.Text; + - // get form data - item = new SharePointSiteCollection(); - item.OrganizationId = this.OrganizationId; - item.Id = this.SiteCollectionId; - item.PackageId = PanelSecurity.PackageId; - item.Name = this.domain.DomainName; - item.LocaleId = Int32.Parse(this.ddlLocaleID.SelectedValue); - item.OwnerLogin = this.userSelector.GetAccount(); - item.OwnerEmail = this.userSelector.GetPrimaryEmailAddress(); - item.OwnerName = this.userSelector.GetDisplayName(); - item.Title = txtTitle.Text; - item.Description = txtDescription.Text; - - item.MaxSiteStorage = maxStorage.QuotaValue; - item.WarningStorage = warningStorage.QuotaValue; + item.WarningStorage = warningStorage.QuotaValue; - int result = ES.Services.HostedSharePointServers.AddSiteCollection(item); - if (result < 0) - { - localMessageBox.ShowResultMessage(result); - return; - } - } - catch (Exception ex) - { - localMessageBox.ShowErrorMessage("HOSTEDSHAREPOINT_ADD_SITECOLLECTION", ex); - return; - } - } + int result = ES.Services.HostedSharePointServers.AddSiteCollection(item); + if (result < 0) + { + localMessageBox.ShowResultMessage(result); + return; + } + } + catch (Exception ex) + { + localMessageBox.ShowErrorMessage("HOSTEDSHAREPOINT_ADD_SITECOLLECTION", ex); + return; + } + } else - { - ES.Services.HostedSharePointServers.UpdateQuota(PanelRequest.ItemID, SiteCollectionId, editMaxStorage.QuotaValue, editWarningStorage.QuotaValue); - } + { + ES.Services.HostedSharePointServers.UpdateQuota(PanelRequest.ItemID, SiteCollectionId, editMaxStorage.QuotaValue, editWarningStorage.QuotaValue); + } - // return - RedirectToSiteCollectionsList(); - } + // return + RedirectToSiteCollectionsList(); + } - private void AddDnsRecord(int domainId, string recordName, string recordData) - { - int result = ES.Services.Servers.AddDnsZoneRecord(domainId, recordName, DnsRecordType.A, recordData, 0); - if (result < 0) - { - ShowResultMessage(result); - } - } + private void AddDnsRecord(int domainId, string recordName, string recordData) + { + int result = ES.Services.Servers.AddDnsZoneRecord(domainId, recordName, DnsRecordType.A, recordData, 0); + if (result < 0) + { + ShowResultMessage(result); + } + } - private bool IsDnsServiceAvailable() - { - ProviderInfo dnsProvider = ES.Services.Servers.GetPackageServiceProvider(PanelSecurity.PackageId, ResourceGroups.Dns); - return dnsProvider != null; - } + private bool IsDnsServiceAvailable() + { + ProviderInfo dnsProvider = ES.Services.Servers.GetPackageServiceProvider(PanelSecurity.PackageId, ResourceGroups.Dns); + return dnsProvider != null; + } - private void DeleteItem() - { - // delete - try - { - int result = ES.Services.HostedSharePointServers.DeleteSiteCollection(this.SiteCollectionId); - if (result < 0) - { - ShowResultMessage(result); - return; - } - } - catch (Exception ex) - { - localMessageBox.ShowErrorMessage("HOSTEDSHAREPOINT_DELETE_SITECOLLECTION", ex); - return; - } + private void DeleteItem() + { + // delete + try + { + int result = ES.Services.HostedSharePointServers.DeleteSiteCollection(this.SiteCollectionId); + if (result < 0) + { + ShowResultMessage(result); + return; + } + } + catch (Exception ex) + { + localMessageBox.ShowErrorMessage("HOSTEDSHAREPOINT_DELETE_SITECOLLECTION", ex); + return; + } - // return - RedirectToSiteCollectionsList(); - } + // return + RedirectToSiteCollectionsList(); + } - protected void odsAccountsPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e) - { - if (e.Exception != null) - { - localMessageBox.ShowErrorMessage("ORGANIZATION_GET_USERS", e.Exception); - e.ExceptionHandled = true; - } - } + protected void odsAccountsPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e) + { + if (e.Exception != null) + { + localMessageBox.ShowErrorMessage("ORGANIZATION_GET_USERS", e.Exception); + e.ExceptionHandled = true; + } + } - protected void btnCancel_Click(object sender, EventArgs e) - { - // return - RedirectToSiteCollectionsList(); - } + protected void btnCancel_Click(object sender, EventArgs e) + { + // return + RedirectToSiteCollectionsList(); + } - protected void btnDelete_Click(object sender, EventArgs e) - { - DeleteItem(); - } + protected void btnDelete_Click(object sender, EventArgs e) + { + DeleteItem(); + } - protected void btnUpdate_Click(object sender, EventArgs e) - { - SaveItem(); - } - protected void btnBackup_Click(object sender, EventArgs e) - { - Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_backup_sitecollection", "SiteCollectionID=" + this.SiteCollectionId,"ItemID=" + PanelRequest.ItemID.ToString())); - } + protected void btnUpdate_Click(object sender, EventArgs e) + { + SaveItem(); + } - protected void btnRestore_Click(object sender, EventArgs e) - { - Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_restore_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString())); - } + protected void btnBackup_Click(object sender, EventArgs e) + { + Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_backup_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString())); + } + + protected void btnRestore_Click(object sender, EventArgs e) + { + Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_restore_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString())); + } - private void RedirectToSiteCollectionsList() - { - Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_sitecollections", "ItemID=" + PanelRequest.ItemID.ToString())); - } - //private void RegisterOwnerSelector() - //{ - // // Define the name and type of the client scripts on the page. - // String csname = "OwnerSelectorScript"; - // Type cstype = this.GetType(); + private void RedirectToSiteCollectionsList() + { + Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_sitecollections", "ItemID=" + PanelRequest.ItemID.ToString())); + } - // // Get a ClientScriptManager reference from the Page class. - // ClientScriptManager cs = Page.ClientScript; + private bool UseSharedSLL(int packageID) + { + PackageContext cntx = ES.Services.Packages.GetPackageContext(PanelSecurity.PackageId); + if (cntx != null) + { + foreach (QuotaValueInfo quota in cntx.QuotasArray) + { + switch (quota.QuotaId) + { + case 400: + if (Convert.ToBoolean(quota.QuotaAllocatedValue)) + { + return true; + } - // // Check to see if the client script is already registered. - // if (!cs.IsClientScriptBlockRegistered(cstype, csname)) - // { - // StringBuilder ownerSelector = new StringBuilder(); - // ownerSelector.Append(""); - // cs.RegisterClientScriptBlock(cstype, csname, ownerSelector.ToString(), false); - // } + break; + } + } + } - //} + return false; + } - //private StringDictionary ConvertArrayToDictionary(string[] settings) - //{ - // StringDictionary r = new StringDictionary(); - // foreach (string setting in settings) - // { - // int idx = setting.IndexOf('='); - // r.Add(setting.Substring(0, idx), setting.Substring(idx + 1)); - // } - // return r; - //} - } + + //private void RegisterOwnerSelector() + //{ + // // Define the name and type of the client scripts on the page. + // String csname = "OwnerSelectorScript"; + // Type cstype = this.GetType(); + + // // Get a ClientScriptManager reference from the Page class. + // ClientScriptManager cs = Page.ClientScript; + + // // Check to see if the client script is already registered. + // if (!cs.IsClientScriptBlockRegistered(cstype, csname)) + // { + // StringBuilder ownerSelector = new StringBuilder(); + // ownerSelector.Append(""); + // cs.RegisterClientScriptBlock(cstype, csname, ownerSelector.ToString(), false); + // } + + //} + + //private StringDictionary ConvertArrayToDictionary(string[] settings) + //{ + // StringDictionary r = new StringDictionary(); + // foreach (string setting in settings) + // { + // int idx = setting.IndexOf('='); + // r.Add(setting.Substring(0, idx), setting.Substring(idx + 1)); + // } + // return r; + //} + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.designer.cs index 995d27cd..f5979ef6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -76,6 +75,15 @@ namespace WebsitePanel.Portal { /// protected global::System.Web.UI.HtmlControls.HtmlTable tblEditItem; + /// + /// rowUrl control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow rowUrl; + /// /// lblSiteCollectionUrl control. /// @@ -85,6 +93,15 @@ namespace WebsitePanel.Portal { /// protected global::System.Web.UI.WebControls.Label lblSiteCollectionUrl; + /// + /// txtHostName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtHostName; + /// /// domain control. /// @@ -92,7 +109,25 @@ namespace WebsitePanel.Portal { /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::WebsitePanel.Portal.ExchangeServer.UserControls.DomainSelector domain; + protected global::WebsitePanel.Portal.DomainsSelectDomainControl domain; + + /// + /// valRequireHostName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireHostName; + + /// + /// valRequireCorrectHostName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectHostName; /// /// lblSiteCollectionOwner control. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/HostedSharePoint30_Settings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/HostedSharePoint30_Settings.ascx.resx index 96bcb25c..39e1c0a4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/HostedSharePoint30_Settings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/HostedSharePoint30_Settings.ascx.resx @@ -112,11 +112,14 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Provision local hosts file + SharePoint Backup Temporary Folder: @@ -126,9 +129,15 @@ SharePoint Web Application IP: + + Shared SSL Root: + SharePoint Backup + + Wildcard Certificate Root + Please note that WebsitePanel Server account should have access to this folder. Leave this field blank to use default path. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx index b4d4e827..fcfbee86 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx @@ -17,7 +17,21 @@ - + + + + + + + + +
    - + . + +
    + +
    + + + +
    @@ -39,4 +53,5 @@
    +
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.cs index 518b23ef..7b1fd2f5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -41,54 +41,61 @@ using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ProviderControls { - public partial class HostedSharePoint30_Settings : WebsitePanelControlBase, IHostingServiceProviderSettings - { - protected void Page_Load(object sender, EventArgs e) - { + public partial class HostedSharePoint30_Settings : WebsitePanelControlBase, IHostingServiceProviderSettings + { + protected void Page_Load(object sender, EventArgs e) + { - } + } - public void BindSettings(StringDictionary settings) - { - this.txtRootWebApplication.Text = settings["RootWebApplicationUri"]; - int selectedAddressid = this.FindAddressByText(settings["RootWebApplicationIpAddress"]); - this.ddlRootWebApplicationIpAddress.AddressId = (selectedAddressid > 0) ? selectedAddressid : 0; - txtBackupTempFolder.Text = settings["BackupTemporaryFolder"]; - } + public void BindSettings(StringDictionary settings) + { + this.txtRootWebApplication.Text = settings["RootWebApplicationUri"]; + int selectedAddressid = this.FindAddressByText(settings["RootWebApplicationIpAddress"]); + this.ddlRootWebApplicationIpAddress.AddressId = (selectedAddressid > 0) ? selectedAddressid : 0; + chkLocalHostFile.Checked = Utils.ParseBool(settings["LocalHostFile"], false); + this.txtSharedSSLRoot.Text = settings["SharedSSLRoot"]; + } - public void SaveSettings(StringDictionary settings) - { - settings["RootWebApplicationUri"] = this.txtRootWebApplication.Text; + public void SaveSettings(StringDictionary settings) + { + settings["RootWebApplicationUri"] = this.txtRootWebApplication.Text; + settings["LocalHostFile"] = chkLocalHostFile.Checked.ToString(); + settings["RootWebApplicationInteralIpAddress"] = String.Empty; + settings["SharedSSLRoot"] = this.txtSharedSSLRoot.Text; - if (ddlRootWebApplicationIpAddress.AddressId > 0) - { - IPAddressInfo address = ES.Services.Servers.GetIPAddress(ddlRootWebApplicationIpAddress.AddressId); + if (ddlRootWebApplicationIpAddress.AddressId > 0) + { + IPAddressInfo address = ES.Services.Servers.GetIPAddress(ddlRootWebApplicationIpAddress.AddressId); if (String.IsNullOrEmpty(address.ExternalIP)) - { + { settings["RootWebApplicationIpAddress"] = address.InternalIP; - } - else - { + } + else + { settings["RootWebApplicationIpAddress"] = address.ExternalIP; - } - } - else - { - settings["RootWebApplicationIpAddress"] = String.Empty; - } - settings["BackupTemporaryFolder"] = txtBackupTempFolder.Text; - } + } - private int FindAddressByText(string address) - { - foreach (IPAddressInfo addressInfo in ES.Services.Servers.GetIPAddresses(IPAddressPool.General, PanelRequest.ServerId)) - { - if (addressInfo.InternalIP == address || addressInfo.ExternalIP == address) - { - return addressInfo.AddressId; - } - } - return 0; - } - } + if (!String.IsNullOrEmpty(address.InternalIP)) + settings["RootWebApplicationInteralIpAddress"] = address.InternalIP; + } + else + { + settings["RootWebApplicationIpAddress"] = String.Empty; + } + + } + + private int FindAddressByText(string address) + { + foreach (IPAddressInfo addressInfo in ES.Services.Servers.GetIPAddresses(IPAddressPool.General, PanelRequest.ServerId)) + { + if (addressInfo.InternalIP == address || addressInfo.ExternalIP == address) + { + return addressInfo.AddressId; + } + } + return 0; + } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.designer.cs index 571fb7d0..edf10495 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1434 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -49,6 +48,33 @@ namespace WebsitePanel.Portal.ProviderControls { /// protected global::WebsitePanel.Portal.SelectIPAddress ddlRootWebApplicationIpAddress; + /// + /// chkLocalHostFile control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkLocalHostFile; + + /// + /// lblSharedSSLRoot control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSharedSSLRoot; + + /// + /// txtSharedSSLRoot control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSharedSSLRoot; + /// /// lblSharePointBackup control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.cs index dd5ecef4..0160b484 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -80,7 +80,7 @@ namespace WebsitePanel.Portal ? ParentQuotaValue : Math.Min(Utils.ParseInt(txtQuotaValue.Text, 0), ParentQuotaValue); } - } + } } set { @@ -108,10 +108,10 @@ namespace WebsitePanel.Portal } get { - return ViewState["ParentQuotaValue"] != null ? (int) ViewState["ParentQuotaValue"] : 0; + return ViewState["ParentQuotaValue"] != null ? (int)ViewState["ParentQuotaValue"] : 0; } } - + protected void Page_Load(object sender, EventArgs e) { WriteScriptBlock(); @@ -122,19 +122,19 @@ namespace WebsitePanel.Portal // set textbox attributes txtQuotaValue.Style["display"] = (txtQuotaValue.Text == "-1") ? "none" : "inline"; - - + + chkQuotaUnlimited.Attributes["onclick"] = String.Format("ToggleQuota('{0}', '{1}');", txtQuotaValue.ClientID, chkQuotaUnlimited.ClientID); - + // call base handler base.OnPreRender(e); } private void WriteScriptBlock() { - string scriptKey = "QuataScript"; + string scriptKey = "QuataScript"; if (!Page.ClientScript.IsClientScriptBlockRegistered(scriptKey)) { Page.ClientScript.RegisterClientScriptBlock(GetType(), scriptKey, @""); } - + } } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.designer.cs index 27444719..c535ae48 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.3053 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ From a327e27e152b84ae8c640b22922c9f17debb614a Mon Sep 17 00:00:00 2001 From: robvde Date: Wed, 4 Jul 2012 07:38:12 +0400 Subject: [PATCH 25/78] Sharepoint Shared SSL Root Quota integrated --- WebsitePanel/Database/install_db.sql | 3 +++ WebsitePanel/Database/update_db.sql | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index b26e034d..ae539e3d 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -3755,6 +3755,9 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (363, 40, 12, N'VPSForPC.Bandwidth', N'Monthly bandwidth, GB', 2, 0, NULL) GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (400, 20, 3, N'HostedSharePoint.UseSharedSSL', N'Use shared SSL Root', 1, 0, NULL) +GO + SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index 37f17390..b7640b99 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -125,6 +125,13 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe END GO +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'HostedSharePoint.UseSharedSSL') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (400, 20, 3, N'HostedSharePoint.UseSharedSSL', N'Use shared SSL Root', 1, 0, NULL) +END +GO + + UPDATE [dbo].[ScheduleTaskParameters] SET DefaultValue = N'MsSQL2000=SQL Server 2000;MsSQL2005=SQL Server 2005;MsSQL2008=SQL Server 2008;MsSQL2012=SQL Server 2012;MySQL4=MySQL 4.0;MySQL5=MySQL 5.0' WHERE [ParameterID] = N'DATABASE_GROUP' GO From 326b32e7693f029642203363e50aac00e52357e2 Mon Sep 17 00:00:00 2001 From: feodor_fitsner Date: Wed, 4 Jul 2012 02:09:48 -0700 Subject: [PATCH 26/78] MySQL assembly loader fixed. --- .../MySqlServer.cs | 52 ++++++++++++------- 1 file changed, 33 insertions(+), 19 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer.cs index 26434f3c..d7aca68c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Database.MySQL/MySqlServer.cs @@ -148,24 +148,30 @@ namespace WebsitePanel.Providers.Database Log.WriteInfo("Connector location is either null or empty"); return null; } - // - string assemblyFile = String.Empty; - // Versions 5.x.x compatibility - if (connectorVersion.StartsWith("5.")) - assemblyFile = Path.Combine(connectorLocation, @"Binaries\.NET 2.0\" + args.Name.Split(',')[0] + ".dll"); - // Newest versions compatibility - else - assemblyFile = Path.Combine(connectorLocation, @"Assemblies\" + args.Name.Split(',')[0] + ".dll"); - // - Log.WriteInfo(assemblyFile); - // - if (!File.Exists(assemblyFile)) - { - Log.WriteInfo("Connector assembly could not be found or does not exist"); - return null; - } - // - return Assembly.LoadFrom(assemblyFile); + + string assemblyFile = args.Name.Split(',')[0] + ".dll"; + + // 1st location + string assemblyPath = Path.Combine(connectorLocation, @"Binaries\.NET 2.0\" + assemblyFile); + if (!File.Exists(assemblyPath)) + { + // 2nd location + assemblyPath = Path.Combine(connectorLocation, @"Assemblies\" + assemblyFile); + + if (!File.Exists(assemblyPath)) + { + // 3rd location + assemblyPath = Path.Combine(connectorLocation, @"Assemblies\v2.0" + assemblyFile); + + if (!File.Exists(assemblyPath)) + { + Log.WriteInfo("Connector assembly could not be found or does not exist"); + return null; // sorry, cannot find + } + } + } + + return Assembly.LoadFrom(assemblyPath); } #endregion @@ -762,7 +768,15 @@ namespace WebsitePanel.Providers.Database DataView dvProcesses = new DataView(dtProcesses); foreach (DataRowView rowSid in dvProcesses) { - ExecuteNonQuery(String.Format("KILL {0}", rowSid["Id"])); + string cmdText = String.Format("KILL {0}", rowSid["Id"]); + try + { + ExecuteNonQuery(cmdText); + } + catch(Exception ex) + { + Log.WriteError("Cannot drop MySQL connection: " + cmdText, ex); + } } } From 452fcb7f472897c97b91b10a1f4722a4477e7b0d Mon Sep 17 00:00:00 2001 From: robvde Date: Wed, 4 Jul 2012 13:18:58 +0400 Subject: [PATCH 27/78] DNS SRV Record support. Only supported with MS DNS Provider --- WebsitePanel/Database/QuotasSharepoint.sql | 1 - WebsitePanel/Database/install_db.sql | 57 +- WebsitePanel/Database/update_db.sql | 655 +- .../Servers/GlobalDnsRecord.cs | 50 +- .../ServersProxy.cs | 6788 ++++++++++------- .../Code/Data/DataProvider.cs | 16 +- .../Code/DnsServers/DnsServerController.cs | 530 +- .../Code/HostedSolution/CRMController.cs | 2 +- .../Code/Packages/PackageController.cs | 2 +- .../Code/Servers/ServerController.cs | 254 +- .../HostedSharePointServerController.cs | 2 +- .../Code/Wizards/UserCreationWizard.cs | 2 +- .../esServers.asmx.cs | 28 +- .../DNS/DnsRecord.cs | 24 + .../DNS/DnsRecordType.cs | 2 + .../WebsitePanel.Providers.DNS.MsDNS/MsDNS.cs | 904 ++- .../DnsServerProxy.cs | 574 +- .../WebsitePanel/DnsZoneRecords.ascx | 51 +- .../WebsitePanel/DnsZoneRecords.ascx.cs | 84 +- .../DnsZoneRecords.ascx.designer.cs | 138 +- .../WebsitePanel/DomainsEditDomain.ascx.cs | 2 +- .../ExchangeServer/ExchangeDomainRecords.ascx | 91 +- .../ExchangeDomainRecords.ascx.cs | 161 +- .../ExchangeDomainRecords.ascx.designer.cs | 147 +- .../WebsitePanel/GlobalDnsRecordsControl.ascx | 23 + .../GlobalDnsRecordsControl.ascx.cs | 45 +- .../GlobalDnsRecordsControl.ascx.designer.cs | 255 +- ...HostedSharePointEditSiteCollection.ascx.cs | 4 +- 28 files changed, 6890 insertions(+), 4002 deletions(-) delete mode 100644 WebsitePanel/Database/QuotasSharepoint.sql diff --git a/WebsitePanel/Database/QuotasSharepoint.sql b/WebsitePanel/Database/QuotasSharepoint.sql deleted file mode 100644 index d3b94426..00000000 --- a/WebsitePanel/Database/QuotasSharepoint.sql +++ /dev/null @@ -1 +0,0 @@ -INSERT INTO Quotas (QuotaID, GroupID, QuotaOrder, QuotaName,QuotaDescription, QuotaTypeID, ServiceQuota) VALUES (400, 20, 3, 'HostedSharePoint.UseSharedSSL' ,'Use shared SSL Root', 1, 0) \ No newline at end of file diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index ae539e3d..88dc247f 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -1174,7 +1174,7 @@ INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID LEFT OUTER JOIN Services AS S ON Z.ServiceID = S.ServiceID LEFT OUTER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID -WHERE D.IsInstantAlias = 0 AND +WHERE (D.IsInstantAlias = 0 AND D.IsDomainPointer = 0) AND ((@Recursive = 0 AND D.PackageID = @PackageID) OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, D.PackageID) = 1)) AND (@ServerID = 0 OR (@ServerID > 0 AND S.ServerID = @ServerID)) @@ -3306,6 +3306,7 @@ CREATE PROCEDURE CheckDomain ( @PackageID int, @DomainName nvarchar(100), + @IsDomainPointer bit, @Result int OUTPUT ) AS @@ -3322,7 +3323,7 @@ SET @Result = 0 -- OK -- check if the domain already exists IF EXISTS( SELECT DomainID FROM Domains -WHERE DomainName = @DomainName +WHERE DomainName = @DomainName AND IsDomainPointer = @IsDomainPointer ) BEGIN SET @Result = -1 @@ -15772,6 +15773,9 @@ CREATE TABLE [dbo].[GlobalDnsRecords]( [ServerID] [int] NULL, [PackageID] [int] NULL, [IPAddressID] [int] NULL, + [SrvPriority] [int] NULL, + [SrvWeight] [int] NULL, + [SrvPort] [int] NULL, CONSTRAINT [PK_GlobalDnsRecords] PRIMARY KEY CLUSTERED ( [RecordID] ASC @@ -23347,6 +23351,9 @@ CREATE PROCEDURE UpdateDnsRecord @RecordName nvarchar(50), @RecordData nvarchar(500), @MXPriority int, + @SrvPriority int, + @SrvWeight int, + @SrvPort int, @IPAddressID int ) AS @@ -23377,6 +23384,9 @@ SET RecordName = @RecordName, RecordData = @RecordData, MXPriority = @MXPriority, + SrvPriority = @SrvPriority, + SrvWeight = @SrvWeight, + SrvPort = @SrvPort, IPAddressID = @IPAddressID WHERE RecordID = @RecordID @@ -23484,6 +23494,9 @@ SELECT NR.RecordName, NR.RecordData, NR.MXPriority, + NR.SrvPriority, + NR.SrvWeight, + NR.SrvPort, NR.IPAddressID FROM GlobalDnsRecords AS NR @@ -23669,6 +23682,9 @@ CREATE PROCEDURE AddDnsRecord @RecordName nvarchar(50), @RecordData nvarchar(500), @MXPriority int, + @SrvPriority int, + @SrvWeight int, + @SrvPort int, @IPAddressID int ) AS @@ -23693,8 +23709,12 @@ IF EXISTS UPDATE GlobalDnsRecords SET - RecordData = RecordData, - MXPriority = MXPriority, + RecordData = @RecordData, + MXPriority = @MXPriority, + SrvPriority = @SrvPriority, + SrvWeight = @SrvWeight, + SrvPort = @SrvPort, + IPAddressID = @IPAddressID WHERE ServiceID = @ServiceID AND ServerID = @ServerID AND PackageID = @PackageID @@ -23708,6 +23728,9 @@ ELSE RecordName, RecordData, MXPriority, + SrvPriority, + SrvWeight, + SrvPort, IPAddressID ) VALUES @@ -23719,6 +23742,9 @@ ELSE @RecordName, @RecordData, @MXPriority, + @SrvPriority, + @SrvWeight, + @SrvPort, @IPAddressID ) @@ -35697,7 +35723,7 @@ BEGIN GR.RecordName FROM GlobalDNSRecords AS GR WHERE GR.PackageID = @TmpPackageID - AND GR.RecordType COLLATE DATABASE_DEFAULT + GR.RecordName COLLATE DATABASE_DEFAULT NOT IN (SELECT RecordType + RecordName FROM @Records) + AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records) SET @ParentPackageID = NULL @@ -35725,7 +35751,7 @@ SELECT GR.RecordName FROM GlobalDNSRecords AS GR WHERE GR.ServerID = @ServerID -AND GR.RecordType COLLATE DATABASE_DEFAULT + GR.RecordName COLLATE DATABASE_DEFAULT NOT IN (SELECT RecordType + RecordName FROM @Records) +AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records) -- select SERVICES DNS records @@ -35739,7 +35765,7 @@ SELECT GR.RecordName FROM GlobalDNSRecords AS GR WHERE GR.ServiceID IN (SELECT ServiceID FROM PackageServices WHERE PackageID = @PackageID) -AND GR.RecordType COLLATE DATABASE_DEFAULT + GR.RecordName COLLATE DATABASE_DEFAULT NOT IN (SELECT RecordType + RecordName FROM @Records) +AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records) SELECT @@ -35751,12 +35777,16 @@ SELECT NR.RecordName, NR.RecordData, NR.MXPriority, + NR.SrvPriority, + NR.SrvWeight, + NR.SrvPort, NR.IPAddressID, ISNULL(IP.ExternalIP, '') AS ExternalIP, ISNULL(IP.InternalIP, '') AS InternalIP, CASE WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData + WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData ELSE NR.RecordData END AS FullRecordData, dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress @@ -35855,10 +35885,14 @@ SELECT CASE WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData + WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData ELSE NR.RecordData END AS FullRecordData, NR.RecordData, NR.MXPriority, + NR.SrvPriority, + NR.SrvWeight, + NR.SrvPort, NR.IPAddressID, dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress, IP.ExternalIP, @@ -35958,9 +35992,13 @@ SELECT CASE WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData + WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData ELSE NR.RecordData END AS FullRecordData, NR.MXPriority, + NR.SrvPriority, + NR.SrvWeight, + NR.SrvPort, NR.IPAddressID, dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress, IP.ExternalIP, @@ -36005,6 +36043,7 @@ RETURN + GO @@ -36062,10 +36101,14 @@ SELECT NR.RecordName, NR.RecordData, NR.MXPriority, + NR.SrvPriority, + NR.SrvWeight, + NR.SrvPort, NR.IPAddressID, CASE WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData + WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData ELSE NR.RecordData END AS FullRecordData, dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress, diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index b7640b99..17c996eb 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -853,4 +853,657 @@ IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] BEGIN INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (63, N'AdminPassword', N'') END -GO \ No newline at end of file +GO + + + + + + + + + +ALTER TABLE [dbo].[GlobalDnsRecords] ADD + [SrvPriority] [int] NULL, + [SrvWeight] [int] NULL, + [SrvPort] [int] NULL + +GO + + + + + + + + + + + + +ALTER PROCEDURE [dbo].[AddDnsRecord] +( + @ActorID int, + @ServiceID int, + @ServerID int, + @PackageID int, + @RecordType nvarchar(10), + @RecordName nvarchar(50), + @RecordData nvarchar(500), + @MXPriority int, + @SrvPriority int, + @SrvWeight int, + @SrvPort int, + @IPAddressID int +) +AS + +IF (@ServiceID > 0 OR @ServerID > 0) AND dbo.CheckIsUserAdmin(@ActorID) = 0 +RAISERROR('You should have administrator role to perform such operation', 16, 1) + +IF (@PackageID > 0) AND dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0 +RAISERROR('You are not allowed to access this package', 16, 1) + +IF @ServiceID = 0 SET @ServiceID = NULL +IF @ServerID = 0 SET @ServerID = NULL +IF @PackageID = 0 SET @PackageID = NULL +IF @IPAddressID = 0 SET @IPAddressID = NULL + +IF EXISTS +( + SELECT RecordID FROM GlobalDnsRecords WHERE + ServiceID = @ServiceID AND ServerID = @ServerID AND PackageID = @PackageID + AND RecordName = @RecordName AND RecordType = @RecordType +) + + UPDATE GlobalDnsRecords + SET + RecordData = RecordData, + MXPriority = MXPriority, + SrvPriority = SrvPriority, + SrvWeight = SrvWeight, + SrvPort = SrvPort, + + IPAddressID = @IPAddressID + WHERE + ServiceID = @ServiceID AND ServerID = @ServerID AND PackageID = @PackageID +ELSE + INSERT INTO GlobalDnsRecords + ( + ServiceID, + ServerID, + PackageID, + RecordType, + RecordName, + RecordData, + MXPriority, + SrvPriority, + SrvWeight, + SrvPort, + IPAddressID + ) + VALUES + ( + @ServiceID, + @ServerID, + @PackageID, + @RecordType, + @RecordName, + @RecordData, + @MXPriority, + @SrvPriority, + @SrvWeight, + @SrvPort, + @IPAddressID + ) + +RETURN + +GO + + + + + + + + +ALTER PROCEDURE [dbo].[CheckDomain] +( + @PackageID int, + @DomainName nvarchar(100), + @IsDomainPointer bit, + @Result int OUTPUT +) +AS + +/* +@Result values: + 0 - OK + -1 - already exists + -2 - sub-domain of prohibited domain +*/ + +SET @Result = 0 -- OK + +-- check if the domain already exists +IF EXISTS( +SELECT DomainID FROM Domains +WHERE DomainName = @DomainName AND IsDomainPointer = @IsDomainPointer +) +BEGIN + SET @Result = -1 + RETURN +END + +-- check if this is a sub-domain of other domain +-- that is not allowed for 3rd level hosting + +DECLARE @UserID int +SELECT @UserID = UserID FROM Packages +WHERE PackageID = @PackageID + +-- find sub-domains +DECLARE @DomainUserID int, @HostingAllowed bit +SELECT + @DomainUserID = P.UserID, + @HostingAllowed = D.HostingAllowed +FROM Domains AS D +INNER JOIN Packages AS P ON D.PackageID = P.PackageID +WHERE CHARINDEX('.' + DomainName, @DomainName) > 0 +AND (CHARINDEX('.' + DomainName, @DomainName) + LEN('.' + DomainName)) = LEN(@DomainName) + 1 + +-- this is a domain of other user +IF @UserID <> @DomainUserID AND @HostingAllowed = 0 +BEGIN + SET @Result = -2 + RETURN +END + +RETURN + +GO + + + + + + + + +ALTER PROCEDURE [dbo].[GetDnsRecord] +( + @ActorID int, + @RecordID int +) +AS + +-- check rights +DECLARE @ServiceID int, @ServerID int, @PackageID int +SELECT + @ServiceID = ServiceID, + @ServerID = ServerID, + @PackageID = PackageID +FROM GlobalDnsRecords +WHERE + RecordID = @RecordID + +IF (@ServiceID > 0 OR @ServerID > 0) AND dbo.CheckIsUserAdmin(@ActorID) = 0 +RAISERROR('You are not allowed to perform this operation', 16, 1) + +IF (@PackageID > 0) AND dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0 +RAISERROR('You are not allowed to access this package', 16, 1) + +SELECT + NR.RecordID, + NR.ServiceID, + NR.ServerID, + NR.PackageID, + NR.RecordType, + NR.RecordName, + NR.RecordData, + NR.MXPriority, + NR.SrvPriority, + NR.SrvWeight, + NR.SrvPort, + NR.IPAddressID +FROM + GlobalDnsRecords AS NR +WHERE NR.RecordID = @RecordID +RETURN + +GO + + + + + + + + +ALTER PROCEDURE [dbo].[GetDnsRecordsByPackage] +( + @ActorID int, + @PackageID int +) +AS + +-- check rights +IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0 +RAISERROR('You are not allowed to access this package', 16, 1) + +SELECT + NR.RecordID, + NR.ServiceID, + NR.ServerID, + NR.PackageID, + NR.RecordType, + NR.RecordName, + NR.RecordData, + NR.MXPriority, + NR.SrvPriority, + NR.SrvWeight, + NR.SrvPort, + NR.IPAddressID, + CASE + WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) + WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData + WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData + ELSE NR.RecordData + END AS FullRecordData, + dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress, + IP.ExternalIP, + IP.InternalIP +FROM + GlobalDnsRecords AS NR +LEFT OUTER JOIN IPAddresses AS IP ON NR.IPAddressID = IP.AddressID +WHERE NR.PackageID = @PackageID +RETURN + +GO + + + + + + + + +USE [WebsitePanel] +GO +/****** Object: StoredProcedure [dbo].[GetDnsRecordsByServer] Script Date: 06/01/2011 23:42:41 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO + +ALTER PROCEDURE [dbo].[GetDnsRecordsByServer] +( + @ActorID int, + @ServerID int +) +AS + +SELECT + NR.RecordID, + NR.ServiceID, + NR.ServerID, + NR.PackageID, + NR.RecordType, + NR.RecordName, + NR.RecordData, + CASE + WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) + WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData + WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData + ELSE NR.RecordData + END AS FullRecordData, + NR.MXPriority, + NR.SrvPriority, + NR.SrvWeight, + NR.SrvPort, + NR.IPAddressID, + dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress, + IP.ExternalIP, + IP.InternalIP +FROM + GlobalDnsRecords AS NR +LEFT OUTER JOIN IPAddresses AS IP ON NR.IPAddressID = IP.AddressID +WHERE + NR.ServerID = @ServerID +RETURN + +GO + + + + + + + + + +ALTER PROCEDURE [dbo].[GetDnsRecordsByService] +( + @ActorID int, + @ServiceID int +) +AS + +SELECT + NR.RecordID, + NR.ServiceID, + NR.ServerID, + NR.PackageID, + NR.RecordType, + NR.RecordName, + CASE + WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) + WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData + WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData + ELSE NR.RecordData + END AS FullRecordData, + NR.RecordData, + NR.MXPriority, + NR.SrvPriority, + NR.SrvWeight, + NR.SrvPort, + NR.IPAddressID, + dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress, + IP.ExternalIP, + IP.InternalIP +FROM + GlobalDnsRecords AS NR +LEFT OUTER JOIN IPAddresses AS IP ON NR.IPAddressID = IP.AddressID +WHERE + NR.ServiceID = @ServiceID +RETURN + +GO + + + + + + + + + +ALTER PROCEDURE [dbo].[GetDnsRecordsTotal] +( + @ActorID int, + @PackageID int +) +AS + +-- check rights +IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0 +RAISERROR('You are not allowed to access this package', 16, 1) + +-- create temp table for DNS records +DECLARE @Records TABLE +( + RecordID int, + RecordType nvarchar(10) COLLATE DATABASE_DEFAULT, + RecordName nvarchar(50) COLLATE DATABASE_DEFAULT +) + +-- select PACKAGES DNS records +DECLARE @ParentPackageID int, @TmpPackageID int +SET @TmpPackageID = @PackageID + +WHILE 10 = 10 +BEGIN + + -- get DNS records for the current package + INSERT INTO @Records (RecordID, RecordType, RecordName) + SELECT + GR.RecordID, + GR.RecordType, + GR.RecordName + FROM GlobalDNSRecords AS GR + WHERE GR.PackageID = @TmpPackageID + AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records) + + SET @ParentPackageID = NULL + + -- get parent package + SELECT + @ParentPackageID = ParentPackageID + FROM Packages + WHERE PackageID = @TmpPackageID + + IF @ParentPackageID IS NULL -- the last parent + BREAK + + SET @TmpPackageID = @ParentPackageID +END + +-- select SERVER DNS records +DECLARE @ServerID int +SELECT @ServerID = ServerID FROM Packages +WHERE PackageID = @PackageID + +INSERT INTO @Records (RecordID, RecordType, RecordName) +SELECT + GR.RecordID, + GR.RecordType, + GR.RecordName +FROM GlobalDNSRecords AS GR +WHERE GR.ServerID = @ServerID +AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records) + + +-- select SERVICES DNS records +-- re-distribute package services +EXEC DistributePackageServices @ActorID, @PackageID + +INSERT INTO @Records (RecordID, RecordType, RecordName) +SELECT + GR.RecordID, + GR.RecordType, + GR.RecordName +FROM GlobalDNSRecords AS GR +WHERE GR.ServiceID IN (SELECT ServiceID FROM PackageServices WHERE PackageID = @PackageID) +AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records) + + +SELECT + NR.RecordID, + NR.ServiceID, + NR.ServerID, + NR.PackageID, + NR.RecordType, + NR.RecordName, + NR.RecordData, + NR.MXPriority, + NR.SrvPriority, + NR.SrvWeight, + NR.SrvPort, + NR.IPAddressID, + ISNULL(IP.ExternalIP, '') AS ExternalIP, + ISNULL(IP.InternalIP, '') AS InternalIP, + CASE + WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) + WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData + WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData + ELSE NR.RecordData + END AS FullRecordData, + dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress +FROM @Records AS TR +INNER JOIN GlobalDnsRecords AS NR ON TR.RecordID = NR.RecordID +LEFT OUTER JOIN IPAddresses AS IP ON NR.IPAddressID = IP.AddressID + +RETURN + +GO + + + + + + + + + +ALTER PROCEDURE [dbo].[GetDomainsPaged] +( + @ActorID int, + @PackageID int, + @ServerID int, + @Recursive bit, + @FilterColumn nvarchar(50) = '', + @FilterValue nvarchar(50) = '', + @SortColumn nvarchar(50), + @StartRow int, + @MaximumRows int +) +AS +SET NOCOUNT ON + +-- check rights +IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0 +RAISERROR('You are not allowed to access this package', 16, 1) + +-- build query and run it to the temporary table +DECLARE @sql nvarchar(2000) + +IF @SortColumn = '' OR @SortColumn IS NULL +SET @SortColumn = 'DomainName' + +SET @sql = ' +DECLARE @Domains TABLE +( + ItemPosition int IDENTITY(1,1), + DomainID int +) +INSERT INTO @Domains (DomainID) +SELECT + D.DomainID +FROM Domains AS D +INNER JOIN Packages AS P ON D.PackageID = P.PackageID +INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID +LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID +LEFT OUTER JOIN Services AS S ON Z.ServiceID = S.ServiceID +LEFT OUTER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID +WHERE (D.IsInstantAlias = 0 AND D.IsDomainPointer = 0) AND + ((@Recursive = 0 AND D.PackageID = @PackageID) + OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, D.PackageID) = 1)) +AND (@ServerID = 0 OR (@ServerID > 0 AND S.ServerID = @ServerID)) +' + +IF @FilterColumn <> '' AND @FilterValue <> '' +SET @sql = @sql + ' AND ' + @FilterColumn + ' LIKE @FilterValue ' + +IF @SortColumn <> '' AND @SortColumn IS NOT NULL +SET @sql = @sql + ' ORDER BY ' + @SortColumn + ' ' + +SET @sql = @sql + ' SELECT COUNT(DomainID) FROM @Domains;SELECT + D.DomainID, + D.PackageID, + D.ZoneItemID, + D.DomainName, + D.HostingAllowed, + ISNULL(WS.ItemID, 0) AS WebSiteID, + WS.ItemName AS WebSiteName, + ISNULL(MD.ItemID, 0) AS MailDomainID, + MD.ItemName AS MailDomainName, + D.IsSubDomain, + D.IsInstantAlias, + D.IsDomainPointer, + + -- packages + P.PackageName, + + -- server + ISNULL(SRV.ServerID, 0) AS ServerID, + ISNULL(SRV.ServerName, '''') AS ServerName, + ISNULL(SRV.Comments, '''') AS ServerComments, + ISNULL(SRV.VirtualServer, 0) AS VirtualServer, + + -- user + P.UserID, + U.Username, + U.FirstName, + U.LastName, + U.FullName, + U.RoleID, + U.Email +FROM @Domains AS SD +INNER JOIN Domains AS D ON SD.DomainID = D.DomainID +INNER JOIN Packages AS P ON D.PackageID = P.PackageID +INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID +LEFT OUTER JOIN ServiceItems AS WS ON D.WebSiteID = WS.ItemID +LEFT OUTER JOIN ServiceItems AS MD ON D.MailDomainID = MD.ItemID +LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID +LEFT OUTER JOIN Services AS S ON Z.ServiceID = S.ServiceID +LEFT OUTER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID +WHERE SD.ItemPosition BETWEEN @StartRow + 1 AND @StartRow + @MaximumRows' + +exec sp_executesql @sql, N'@StartRow int, @MaximumRows int, @PackageID int, @FilterValue nvarchar(50), @ServerID int, @Recursive bit', +@StartRow, @MaximumRows, @PackageID, @FilterValue, @ServerID, @Recursive + + +RETURN + +GO + + + + + + + + + + +ALTER PROCEDURE [dbo].[UpdateDnsRecord] +( + @ActorID int, + @RecordID int, + @RecordType nvarchar(10), + @RecordName nvarchar(50), + @RecordData nvarchar(500), + @MXPriority int, + @SrvPriority int, + @SrvWeight int, + @SrvPort int, + @IPAddressID int +) +AS + +IF @IPAddressID = 0 SET @IPAddressID = NULL + +-- check rights +DECLARE @ServiceID int, @ServerID int, @PackageID int +SELECT + @ServiceID = ServiceID, + @ServerID = ServerID, + @PackageID = PackageID +FROM GlobalDnsRecords +WHERE + RecordID = @RecordID + +IF (@ServiceID > 0 OR @ServerID > 0) AND dbo.CheckIsUserAdmin(@ActorID) = 0 +RAISERROR('You are not allowed to perform this operation', 16, 1) + +IF (@PackageID > 0) AND dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0 +RAISERROR('You are not allowed to access this package', 16, 1) + + +-- update record +UPDATE GlobalDnsRecords +SET + RecordType = @RecordType, + RecordName = @RecordName, + RecordData = @RecordData, + MXPriority = @MXPriority, + SrvPriority = @SrvPriority, + SrvWeight = @SrvWeight, + SrvPort = @SrvPort, + IPAddressID = @IPAddressID +WHERE + RecordID = @RecordID +RETURN + +GO diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/GlobalDnsRecord.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/GlobalDnsRecord.cs index 27d7869f..773026b4 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/GlobalDnsRecord.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/GlobalDnsRecord.cs @@ -36,6 +36,22 @@ namespace WebsitePanel.EnterpriseServer public class GlobalDnsRecord { private int recordId; + private string internalIP; + private string externalIP; + private int recordOrder; + private int groupId; + private int serviceId; + private int serverId; + private int packageId; + private string recordType; + private string recordName; + private string recordData; + private int mxPriority; + private int ipAddressId; + private int srvPriority; + private int srvWeight; + private int srvPort; + public int RecordId { @@ -43,63 +59,54 @@ namespace WebsitePanel.EnterpriseServer set { recordId = value; } } - private int recordOrder; public int RecordOrder { get { return recordOrder; } set { recordOrder = value; } } - private int groupId; public int GroupId { get { return groupId; } set { groupId = value; } } - private int serviceId; public int ServiceId { get { return serviceId; } set { serviceId = value; } } - private int serverId; public int ServerId { get { return serverId; } set { serverId = value; } } - private int packageId; public int PackageId { get { return packageId; } set { packageId = value; } } - private string recordType; public string RecordType { get { return recordType; } set { recordType = value; } } - private string recordName; public string RecordName { get { return recordName; } set { recordName = value; } } - private string recordData; public string RecordData { get { return recordData; } set { recordData = value; } } - private int mxPriority; public int MxPriority { @@ -107,7 +114,6 @@ namespace WebsitePanel.EnterpriseServer set { mxPriority = value; } } - private int ipAddressId; public int IpAddressId { @@ -115,9 +121,6 @@ namespace WebsitePanel.EnterpriseServer set { ipAddressId = value; } } - private string internalIP; - private string externalIP; - public GlobalDnsRecord() { } @@ -133,5 +136,24 @@ namespace WebsitePanel.EnterpriseServer get { return this.externalIP; } set { this.externalIP = value; } } + + + public int SrvPriority + { + get { return srvPriority; } + set { srvPriority = value; } + } + + public int SrvWeight + { + get { return srvWeight; } + set { srvWeight = value; } + } + + public int SrvPort + { + get { return srvPort; } + set { srvPort = value; } + } } -} +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs index 1874b690..4e9ae211 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs @@ -1,35 +1,7 @@ -// 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. - //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.3074 +// Runtime Version:2.0.50727.5456 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -39,7 +11,8 @@ // // This source code was auto-generated by wsdl, Version=2.0.50727.42. // -namespace WebsitePanel.EnterpriseServer { +namespace WebsitePanel.EnterpriseServer +{ using System.Xml.Serialization; using System.Web.Services; using System.ComponentModel; @@ -47,2268 +20,2609 @@ namespace WebsitePanel.EnterpriseServer { using System; using System.Diagnostics; using System.Data; + using WebsitePanel.Providers.Common; using WebsitePanel.Server; using WebsitePanel.Providers.DNS; using WebsitePanel.Providers.ResultObjects; - + + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - [System.Web.Services.WebServiceBindingAttribute(Name="esServersSoap", Namespace="http://smbsaas/websitepanel/enterpriseserver")] - public partial class esServers : Microsoft.Web.Services3.WebServicesClientProtocol { - + [System.Web.Services.WebServiceBindingAttribute(Name = "esServersSoap", Namespace = "http://smbsaas/websitepanel/enterpriseserver")] + public partial class esServers : Microsoft.Web.Services3.WebServicesClientProtocol + { + private System.Threading.SendOrPostCallback GetAllServersOperationCompleted; - + private System.Threading.SendOrPostCallback GetRawAllServersOperationCompleted; - + private System.Threading.SendOrPostCallback GetServersOperationCompleted; - + private System.Threading.SendOrPostCallback GetRawServersOperationCompleted; - + private System.Threading.SendOrPostCallback GetServerShortDetailsOperationCompleted; - + private System.Threading.SendOrPostCallback GetServerByIdOperationCompleted; - + private System.Threading.SendOrPostCallback GetServerByNameOperationCompleted; - + private System.Threading.SendOrPostCallback CheckServerAvailableOperationCompleted; - + private System.Threading.SendOrPostCallback AddServerOperationCompleted; - + private System.Threading.SendOrPostCallback UpdateServerOperationCompleted; - + private System.Threading.SendOrPostCallback UpdateServerConnectionPasswordOperationCompleted; - + private System.Threading.SendOrPostCallback UpdateServerADPasswordOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteServerOperationCompleted; - + private System.Threading.SendOrPostCallback GetVirtualServersOperationCompleted; - + private System.Threading.SendOrPostCallback GetAvailableVirtualServicesOperationCompleted; - + private System.Threading.SendOrPostCallback GetVirtualServicesOperationCompleted; - + private System.Threading.SendOrPostCallback AddVirtualServicesOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteVirtualServicesOperationCompleted; - + private System.Threading.SendOrPostCallback UpdateVirtualGroupsOperationCompleted; - + private System.Threading.SendOrPostCallback GetRawServicesByServerIdOperationCompleted; - + private System.Threading.SendOrPostCallback GetServicesByServerIdOperationCompleted; - + private System.Threading.SendOrPostCallback GetServicesByServerIdGroupNameOperationCompleted; - + private System.Threading.SendOrPostCallback GetRawServicesByGroupIdOperationCompleted; - + private System.Threading.SendOrPostCallback GetRawServicesByGroupNameOperationCompleted; - + private System.Threading.SendOrPostCallback GetServiceInfoOperationCompleted; - + private System.Threading.SendOrPostCallback AddServiceOperationCompleted; - + private System.Threading.SendOrPostCallback UpdateServiceOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteServiceOperationCompleted; - + private System.Threading.SendOrPostCallback GetServiceSettingsOperationCompleted; - + private System.Threading.SendOrPostCallback UpdateServiceSettingsOperationCompleted; - + private System.Threading.SendOrPostCallback InstallServiceOperationCompleted; - + private System.Threading.SendOrPostCallback GetProviderServiceQuotaOperationCompleted; - + private System.Threading.SendOrPostCallback GetInstalledProvidersOperationCompleted; - + private System.Threading.SendOrPostCallback GetResourceGroupsOperationCompleted; - + private System.Threading.SendOrPostCallback GetResourceGroupOperationCompleted; - + private System.Threading.SendOrPostCallback GetProviderOperationCompleted; - + private System.Threading.SendOrPostCallback GetProvidersOperationCompleted; - + private System.Threading.SendOrPostCallback GetProvidersByGroupIdOperationCompleted; - + private System.Threading.SendOrPostCallback GetPackageServiceProviderOperationCompleted; - + private System.Threading.SendOrPostCallback IsInstalledOperationCompleted; - + private System.Threading.SendOrPostCallback GetServerVersionOperationCompleted; - + private System.Threading.SendOrPostCallback GetIPAddressesOperationCompleted; - + private System.Threading.SendOrPostCallback GetIPAddressesPagedOperationCompleted; - + private System.Threading.SendOrPostCallback GetIPAddressOperationCompleted; - + private System.Threading.SendOrPostCallback AddIPAddressOperationCompleted; - + private System.Threading.SendOrPostCallback AddIPAddressesRangeOperationCompleted; - + private System.Threading.SendOrPostCallback UpdateIPAddressOperationCompleted; - + private System.Threading.SendOrPostCallback UpdateIPAddressesOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteIPAddressOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteIPAddressesOperationCompleted; - + private System.Threading.SendOrPostCallback GetUnallottedIPAddressesOperationCompleted; - + private System.Threading.SendOrPostCallback GetPackageIPAddressesOperationCompleted; - + private System.Threading.SendOrPostCallback GetPackageUnassignedIPAddressesOperationCompleted; - + private System.Threading.SendOrPostCallback AllocatePackageIPAddressesOperationCompleted; - + private System.Threading.SendOrPostCallback AllocateMaximumPackageIPAddressesOperationCompleted; - + private System.Threading.SendOrPostCallback DeallocatePackageIPAddressesOperationCompleted; - + private System.Threading.SendOrPostCallback GetClustersOperationCompleted; - + private System.Threading.SendOrPostCallback AddClusterOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteClusterOperationCompleted; - + private System.Threading.SendOrPostCallback GetRawDnsRecordsByServiceOperationCompleted; - + private System.Threading.SendOrPostCallback GetRawDnsRecordsByServerOperationCompleted; - + private System.Threading.SendOrPostCallback GetRawDnsRecordsByPackageOperationCompleted; - + private System.Threading.SendOrPostCallback GetRawDnsRecordsByGroupOperationCompleted; - + private System.Threading.SendOrPostCallback GetDnsRecordsByServiceOperationCompleted; - + private System.Threading.SendOrPostCallback GetDnsRecordsByServerOperationCompleted; - + private System.Threading.SendOrPostCallback GetDnsRecordsByPackageOperationCompleted; - + private System.Threading.SendOrPostCallback GetDnsRecordsByGroupOperationCompleted; - + private System.Threading.SendOrPostCallback GetDnsRecordOperationCompleted; - + private System.Threading.SendOrPostCallback AddDnsRecordOperationCompleted; - + private System.Threading.SendOrPostCallback UpdateDnsRecordOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteDnsRecordOperationCompleted; - + private System.Threading.SendOrPostCallback GetDomainsOperationCompleted; - + private System.Threading.SendOrPostCallback GetMyDomainsOperationCompleted; - + private System.Threading.SendOrPostCallback GetResellerDomainsOperationCompleted; - + private System.Threading.SendOrPostCallback GetDomainsPagedOperationCompleted; - + private System.Threading.SendOrPostCallback GetDomainOperationCompleted; - + private System.Threading.SendOrPostCallback AddDomainOperationCompleted; - + private System.Threading.SendOrPostCallback AddDomainWithProvisioningOperationCompleted; - + private System.Threading.SendOrPostCallback UpdateDomainOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteDomainOperationCompleted; - + private System.Threading.SendOrPostCallback DetachDomainOperationCompleted; - + private System.Threading.SendOrPostCallback EnableDomainDnsOperationCompleted; - + private System.Threading.SendOrPostCallback DisableDomainDnsOperationCompleted; - + private System.Threading.SendOrPostCallback CreateDomainInstantAliasOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteDomainInstantAliasOperationCompleted; - + private System.Threading.SendOrPostCallback GetDnsZoneRecordsOperationCompleted; - + private System.Threading.SendOrPostCallback GetRawDnsZoneRecordsOperationCompleted; - + private System.Threading.SendOrPostCallback AddDnsZoneRecordOperationCompleted; - + private System.Threading.SendOrPostCallback UpdateDnsZoneRecordOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteDnsZoneRecordOperationCompleted; - + private System.Threading.SendOrPostCallback GetTerminalServicesSessionsOperationCompleted; - + private System.Threading.SendOrPostCallback CloseTerminalServicesSessionOperationCompleted; - + private System.Threading.SendOrPostCallback GetWindowsProcessesOperationCompleted; - + private System.Threading.SendOrPostCallback TerminateWindowsProcessOperationCompleted; - + private System.Threading.SendOrPostCallback GetWindowsServicesOperationCompleted; - + private System.Threading.SendOrPostCallback ChangeWindowsServiceStatusOperationCompleted; - + private System.Threading.SendOrPostCallback GetLogNamesOperationCompleted; - + private System.Threading.SendOrPostCallback GetLogEntriesOperationCompleted; - + private System.Threading.SendOrPostCallback GetLogEntriesPagedOperationCompleted; - + private System.Threading.SendOrPostCallback ClearLogOperationCompleted; - + private System.Threading.SendOrPostCallback RebootSystemOperationCompleted; - + /// - public esServers() { - this.Url = "http://127.0.0.1:9002/esServers.asmx"; + public esServers() + { + this.Url = "http://localhost:9002/esServers.asmx"; } - + /// public event GetAllServersCompletedEventHandler GetAllServersCompleted; - + /// public event GetRawAllServersCompletedEventHandler GetRawAllServersCompleted; - + /// public event GetServersCompletedEventHandler GetServersCompleted; - + /// public event GetRawServersCompletedEventHandler GetRawServersCompleted; - + /// public event GetServerShortDetailsCompletedEventHandler GetServerShortDetailsCompleted; - + /// public event GetServerByIdCompletedEventHandler GetServerByIdCompleted; - + /// public event GetServerByNameCompletedEventHandler GetServerByNameCompleted; - + /// public event CheckServerAvailableCompletedEventHandler CheckServerAvailableCompleted; - + /// public event AddServerCompletedEventHandler AddServerCompleted; - + /// public event UpdateServerCompletedEventHandler UpdateServerCompleted; - + /// public event UpdateServerConnectionPasswordCompletedEventHandler UpdateServerConnectionPasswordCompleted; - + /// public event UpdateServerADPasswordCompletedEventHandler UpdateServerADPasswordCompleted; - + /// public event DeleteServerCompletedEventHandler DeleteServerCompleted; - + /// public event GetVirtualServersCompletedEventHandler GetVirtualServersCompleted; - + /// public event GetAvailableVirtualServicesCompletedEventHandler GetAvailableVirtualServicesCompleted; - + /// public event GetVirtualServicesCompletedEventHandler GetVirtualServicesCompleted; - + /// public event AddVirtualServicesCompletedEventHandler AddVirtualServicesCompleted; - + /// public event DeleteVirtualServicesCompletedEventHandler DeleteVirtualServicesCompleted; - + /// public event UpdateVirtualGroupsCompletedEventHandler UpdateVirtualGroupsCompleted; - + /// public event GetRawServicesByServerIdCompletedEventHandler GetRawServicesByServerIdCompleted; - + /// public event GetServicesByServerIdCompletedEventHandler GetServicesByServerIdCompleted; - + /// public event GetServicesByServerIdGroupNameCompletedEventHandler GetServicesByServerIdGroupNameCompleted; - + /// public event GetRawServicesByGroupIdCompletedEventHandler GetRawServicesByGroupIdCompleted; - + /// public event GetRawServicesByGroupNameCompletedEventHandler GetRawServicesByGroupNameCompleted; - + /// public event GetServiceInfoCompletedEventHandler GetServiceInfoCompleted; - + /// public event AddServiceCompletedEventHandler AddServiceCompleted; - + /// public event UpdateServiceCompletedEventHandler UpdateServiceCompleted; - + /// public event DeleteServiceCompletedEventHandler DeleteServiceCompleted; - + /// public event GetServiceSettingsCompletedEventHandler GetServiceSettingsCompleted; - + /// public event UpdateServiceSettingsCompletedEventHandler UpdateServiceSettingsCompleted; - + /// public event InstallServiceCompletedEventHandler InstallServiceCompleted; - + /// public event GetProviderServiceQuotaCompletedEventHandler GetProviderServiceQuotaCompleted; - + /// public event GetInstalledProvidersCompletedEventHandler GetInstalledProvidersCompleted; - + /// public event GetResourceGroupsCompletedEventHandler GetResourceGroupsCompleted; - + /// public event GetResourceGroupCompletedEventHandler GetResourceGroupCompleted; - + /// public event GetProviderCompletedEventHandler GetProviderCompleted; - + /// public event GetProvidersCompletedEventHandler GetProvidersCompleted; - + /// public event GetProvidersByGroupIdCompletedEventHandler GetProvidersByGroupIdCompleted; - + /// public event GetPackageServiceProviderCompletedEventHandler GetPackageServiceProviderCompleted; - + /// public event IsInstalledCompletedEventHandler IsInstalledCompleted; - + /// public event GetServerVersionCompletedEventHandler GetServerVersionCompleted; - + /// public event GetIPAddressesCompletedEventHandler GetIPAddressesCompleted; - + /// public event GetIPAddressesPagedCompletedEventHandler GetIPAddressesPagedCompleted; - + /// public event GetIPAddressCompletedEventHandler GetIPAddressCompleted; - + /// public event AddIPAddressCompletedEventHandler AddIPAddressCompleted; - + /// public event AddIPAddressesRangeCompletedEventHandler AddIPAddressesRangeCompleted; - + /// public event UpdateIPAddressCompletedEventHandler UpdateIPAddressCompleted; - + /// public event UpdateIPAddressesCompletedEventHandler UpdateIPAddressesCompleted; - + /// public event DeleteIPAddressCompletedEventHandler DeleteIPAddressCompleted; - + /// public event DeleteIPAddressesCompletedEventHandler DeleteIPAddressesCompleted; - + /// public event GetUnallottedIPAddressesCompletedEventHandler GetUnallottedIPAddressesCompleted; - + /// public event GetPackageIPAddressesCompletedEventHandler GetPackageIPAddressesCompleted; - + /// public event GetPackageUnassignedIPAddressesCompletedEventHandler GetPackageUnassignedIPAddressesCompleted; - + /// public event AllocatePackageIPAddressesCompletedEventHandler AllocatePackageIPAddressesCompleted; - + /// public event AllocateMaximumPackageIPAddressesCompletedEventHandler AllocateMaximumPackageIPAddressesCompleted; - + /// public event DeallocatePackageIPAddressesCompletedEventHandler DeallocatePackageIPAddressesCompleted; - + /// public event GetClustersCompletedEventHandler GetClustersCompleted; - + /// public event AddClusterCompletedEventHandler AddClusterCompleted; - + /// public event DeleteClusterCompletedEventHandler DeleteClusterCompleted; - + /// public event GetRawDnsRecordsByServiceCompletedEventHandler GetRawDnsRecordsByServiceCompleted; - + /// public event GetRawDnsRecordsByServerCompletedEventHandler GetRawDnsRecordsByServerCompleted; - + /// public event GetRawDnsRecordsByPackageCompletedEventHandler GetRawDnsRecordsByPackageCompleted; - + /// public event GetRawDnsRecordsByGroupCompletedEventHandler GetRawDnsRecordsByGroupCompleted; - + /// public event GetDnsRecordsByServiceCompletedEventHandler GetDnsRecordsByServiceCompleted; - + /// public event GetDnsRecordsByServerCompletedEventHandler GetDnsRecordsByServerCompleted; - + /// public event GetDnsRecordsByPackageCompletedEventHandler GetDnsRecordsByPackageCompleted; - + /// public event GetDnsRecordsByGroupCompletedEventHandler GetDnsRecordsByGroupCompleted; - + /// public event GetDnsRecordCompletedEventHandler GetDnsRecordCompleted; - + /// public event AddDnsRecordCompletedEventHandler AddDnsRecordCompleted; - + /// public event UpdateDnsRecordCompletedEventHandler UpdateDnsRecordCompleted; - + /// public event DeleteDnsRecordCompletedEventHandler DeleteDnsRecordCompleted; - + /// public event GetDomainsCompletedEventHandler GetDomainsCompleted; - + /// public event GetMyDomainsCompletedEventHandler GetMyDomainsCompleted; - + /// public event GetResellerDomainsCompletedEventHandler GetResellerDomainsCompleted; - + /// public event GetDomainsPagedCompletedEventHandler GetDomainsPagedCompleted; - + /// public event GetDomainCompletedEventHandler GetDomainCompleted; - + /// public event AddDomainCompletedEventHandler AddDomainCompleted; - + /// public event AddDomainWithProvisioningCompletedEventHandler AddDomainWithProvisioningCompleted; - + /// public event UpdateDomainCompletedEventHandler UpdateDomainCompleted; - + /// public event DeleteDomainCompletedEventHandler DeleteDomainCompleted; - + /// public event DetachDomainCompletedEventHandler DetachDomainCompleted; - + /// public event EnableDomainDnsCompletedEventHandler EnableDomainDnsCompleted; - + /// public event DisableDomainDnsCompletedEventHandler DisableDomainDnsCompleted; - + /// public event CreateDomainInstantAliasCompletedEventHandler CreateDomainInstantAliasCompleted; - + /// public event DeleteDomainInstantAliasCompletedEventHandler DeleteDomainInstantAliasCompleted; - + /// public event GetDnsZoneRecordsCompletedEventHandler GetDnsZoneRecordsCompleted; - + /// public event GetRawDnsZoneRecordsCompletedEventHandler GetRawDnsZoneRecordsCompleted; - + /// public event AddDnsZoneRecordCompletedEventHandler AddDnsZoneRecordCompleted; - + /// public event UpdateDnsZoneRecordCompletedEventHandler UpdateDnsZoneRecordCompleted; - + /// public event DeleteDnsZoneRecordCompletedEventHandler DeleteDnsZoneRecordCompleted; - + /// public event GetTerminalServicesSessionsCompletedEventHandler GetTerminalServicesSessionsCompleted; - + /// public event CloseTerminalServicesSessionCompletedEventHandler CloseTerminalServicesSessionCompleted; - + /// public event GetWindowsProcessesCompletedEventHandler GetWindowsProcessesCompleted; - + /// public event TerminateWindowsProcessCompletedEventHandler TerminateWindowsProcessCompleted; - + /// public event GetWindowsServicesCompletedEventHandler GetWindowsServicesCompleted; - + /// public event ChangeWindowsServiceStatusCompletedEventHandler ChangeWindowsServiceStatusCompleted; - + /// public event GetLogNamesCompletedEventHandler GetLogNamesCompleted; - + /// public event GetLogEntriesCompletedEventHandler GetLogEntriesCompleted; - + /// public event GetLogEntriesPagedCompletedEventHandler GetLogEntriesPagedCompleted; - + /// public event ClearLogCompletedEventHandler ClearLogCompleted; - + /// public event RebootSystemCompletedEventHandler RebootSystemCompleted; - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetAllServers", 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 ServerInfo[] GetAllServers() { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetAllServers", 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 ServerInfo[] GetAllServers() + { object[] results = this.Invoke("GetAllServers", new object[0]); return ((ServerInfo[])(results[0])); } - + /// - public System.IAsyncResult BeginGetAllServers(System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetAllServers(System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetAllServers", new object[0], callback, asyncState); } - + /// - public ServerInfo[] EndGetAllServers(System.IAsyncResult asyncResult) { + public ServerInfo[] EndGetAllServers(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ServerInfo[])(results[0])); } - + /// - public void GetAllServersAsync() { + public void GetAllServersAsync() + { this.GetAllServersAsync(null); } - + /// - public void GetAllServersAsync(object userState) { - if ((this.GetAllServersOperationCompleted == null)) { + public void GetAllServersAsync(object userState) + { + if ((this.GetAllServersOperationCompleted == null)) + { this.GetAllServersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAllServersOperationCompleted); } this.InvokeAsync("GetAllServers", new object[0], this.GetAllServersOperationCompleted, userState); } - - private void OnGetAllServersOperationCompleted(object arg) { - if ((this.GetAllServersCompleted != null)) { + + private void OnGetAllServersOperationCompleted(object arg) + { + if ((this.GetAllServersCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetAllServersCompleted(this, new GetAllServersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawAllServers", 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 System.Data.DataSet GetRawAllServers() { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawAllServers", 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 System.Data.DataSet GetRawAllServers() + { object[] results = this.Invoke("GetRawAllServers", new object[0]); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetRawAllServers(System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetRawAllServers(System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetRawAllServers", new object[0], callback, asyncState); } - + /// - public System.Data.DataSet EndGetRawAllServers(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetRawAllServers(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetRawAllServersAsync() { + public void GetRawAllServersAsync() + { this.GetRawAllServersAsync(null); } - + /// - public void GetRawAllServersAsync(object userState) { - if ((this.GetRawAllServersOperationCompleted == null)) { + public void GetRawAllServersAsync(object userState) + { + if ((this.GetRawAllServersOperationCompleted == null)) + { this.GetRawAllServersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawAllServersOperationCompleted); } this.InvokeAsync("GetRawAllServers", new object[0], this.GetRawAllServersOperationCompleted, userState); } - - private void OnGetRawAllServersOperationCompleted(object arg) { - if ((this.GetRawAllServersCompleted != null)) { + + private void OnGetRawAllServersOperationCompleted(object arg) + { + if ((this.GetRawAllServersCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetRawAllServersCompleted(this, new GetRawAllServersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServers", 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 ServerInfo[] GetServers() { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServers", 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 ServerInfo[] GetServers() + { object[] results = this.Invoke("GetServers", new object[0]); return ((ServerInfo[])(results[0])); } - + /// - public System.IAsyncResult BeginGetServers(System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetServers(System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetServers", new object[0], callback, asyncState); } - + /// - public ServerInfo[] EndGetServers(System.IAsyncResult asyncResult) { + public ServerInfo[] EndGetServers(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ServerInfo[])(results[0])); } - + /// - public void GetServersAsync() { + public void GetServersAsync() + { this.GetServersAsync(null); } - + /// - public void GetServersAsync(object userState) { - if ((this.GetServersOperationCompleted == null)) { + public void GetServersAsync(object userState) + { + if ((this.GetServersOperationCompleted == null)) + { this.GetServersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetServersOperationCompleted); } this.InvokeAsync("GetServers", new object[0], this.GetServersOperationCompleted, userState); } - - private void OnGetServersOperationCompleted(object arg) { - if ((this.GetServersCompleted != null)) { + + private void OnGetServersOperationCompleted(object arg) + { + if ((this.GetServersCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetServersCompleted(this, new GetServersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawServers", 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 System.Data.DataSet GetRawServers() { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawServers", 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 System.Data.DataSet GetRawServers() + { object[] results = this.Invoke("GetRawServers", new object[0]); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetRawServers(System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetRawServers(System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetRawServers", new object[0], callback, asyncState); } - + /// - public System.Data.DataSet EndGetRawServers(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetRawServers(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetRawServersAsync() { + public void GetRawServersAsync() + { this.GetRawServersAsync(null); } - + /// - public void GetRawServersAsync(object userState) { - if ((this.GetRawServersOperationCompleted == null)) { + public void GetRawServersAsync(object userState) + { + if ((this.GetRawServersOperationCompleted == null)) + { this.GetRawServersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawServersOperationCompleted); } this.InvokeAsync("GetRawServers", new object[0], this.GetRawServersOperationCompleted, userState); } - - private void OnGetRawServersOperationCompleted(object arg) { - if ((this.GetRawServersCompleted != null)) { + + private void OnGetRawServersOperationCompleted(object arg) + { + if ((this.GetRawServersCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetRawServersCompleted(this, new GetRawServersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServerShortDetails", 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 ServerInfo GetServerShortDetails(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServerShortDetails", 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 ServerInfo GetServerShortDetails(int serverId) + { object[] results = this.Invoke("GetServerShortDetails", new object[] { serverId}); return ((ServerInfo)(results[0])); } - + /// - public System.IAsyncResult BeginGetServerShortDetails(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetServerShortDetails(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetServerShortDetails", new object[] { serverId}, callback, asyncState); } - + /// - public ServerInfo EndGetServerShortDetails(System.IAsyncResult asyncResult) { + public ServerInfo EndGetServerShortDetails(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ServerInfo)(results[0])); } - + /// - public void GetServerShortDetailsAsync(int serverId) { + public void GetServerShortDetailsAsync(int serverId) + { this.GetServerShortDetailsAsync(serverId, null); } - + /// - public void GetServerShortDetailsAsync(int serverId, object userState) { - if ((this.GetServerShortDetailsOperationCompleted == null)) { + public void GetServerShortDetailsAsync(int serverId, object userState) + { + if ((this.GetServerShortDetailsOperationCompleted == null)) + { this.GetServerShortDetailsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetServerShortDetailsOperationCompleted); } this.InvokeAsync("GetServerShortDetails", new object[] { serverId}, this.GetServerShortDetailsOperationCompleted, userState); } - - private void OnGetServerShortDetailsOperationCompleted(object arg) { - if ((this.GetServerShortDetailsCompleted != null)) { + + private void OnGetServerShortDetailsOperationCompleted(object arg) + { + if ((this.GetServerShortDetailsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetServerShortDetailsCompleted(this, new GetServerShortDetailsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServerById", 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 ServerInfo GetServerById(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServerById", 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 ServerInfo GetServerById(int serverId) + { object[] results = this.Invoke("GetServerById", new object[] { serverId}); return ((ServerInfo)(results[0])); } - + /// - public System.IAsyncResult BeginGetServerById(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetServerById(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetServerById", new object[] { serverId}, callback, asyncState); } - + /// - public ServerInfo EndGetServerById(System.IAsyncResult asyncResult) { + public ServerInfo EndGetServerById(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ServerInfo)(results[0])); } - + /// - public void GetServerByIdAsync(int serverId) { + public void GetServerByIdAsync(int serverId) + { this.GetServerByIdAsync(serverId, null); } - + /// - public void GetServerByIdAsync(int serverId, object userState) { - if ((this.GetServerByIdOperationCompleted == null)) { + public void GetServerByIdAsync(int serverId, object userState) + { + if ((this.GetServerByIdOperationCompleted == null)) + { this.GetServerByIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetServerByIdOperationCompleted); } this.InvokeAsync("GetServerById", new object[] { serverId}, this.GetServerByIdOperationCompleted, userState); } - - private void OnGetServerByIdOperationCompleted(object arg) { - if ((this.GetServerByIdCompleted != null)) { + + private void OnGetServerByIdOperationCompleted(object arg) + { + if ((this.GetServerByIdCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetServerByIdCompleted(this, new GetServerByIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServerByName", 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 ServerInfo GetServerByName(string serverName) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServerByName", 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 ServerInfo GetServerByName(string serverName) + { object[] results = this.Invoke("GetServerByName", new object[] { serverName}); return ((ServerInfo)(results[0])); } - + /// - public System.IAsyncResult BeginGetServerByName(string serverName, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetServerByName(string serverName, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetServerByName", new object[] { serverName}, callback, asyncState); } - + /// - public ServerInfo EndGetServerByName(System.IAsyncResult asyncResult) { + public ServerInfo EndGetServerByName(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ServerInfo)(results[0])); } - + /// - public void GetServerByNameAsync(string serverName) { + public void GetServerByNameAsync(string serverName) + { this.GetServerByNameAsync(serverName, null); } - + /// - public void GetServerByNameAsync(string serverName, object userState) { - if ((this.GetServerByNameOperationCompleted == null)) { + public void GetServerByNameAsync(string serverName, object userState) + { + if ((this.GetServerByNameOperationCompleted == null)) + { this.GetServerByNameOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetServerByNameOperationCompleted); } this.InvokeAsync("GetServerByName", new object[] { serverName}, this.GetServerByNameOperationCompleted, userState); } - - private void OnGetServerByNameOperationCompleted(object arg) { - if ((this.GetServerByNameCompleted != null)) { + + private void OnGetServerByNameOperationCompleted(object arg) + { + if ((this.GetServerByNameCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetServerByNameCompleted(this, new GetServerByNameCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CheckServerAvailable", 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 int CheckServerAvailable(string serverUrl, string password) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CheckServerAvailable", 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 int CheckServerAvailable(string serverUrl, string password) + { object[] results = this.Invoke("CheckServerAvailable", new object[] { serverUrl, password}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginCheckServerAvailable(string serverUrl, string password, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginCheckServerAvailable(string serverUrl, string password, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("CheckServerAvailable", new object[] { serverUrl, password}, callback, asyncState); } - + /// - public int EndCheckServerAvailable(System.IAsyncResult asyncResult) { + public int EndCheckServerAvailable(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void CheckServerAvailableAsync(string serverUrl, string password) { + public void CheckServerAvailableAsync(string serverUrl, string password) + { this.CheckServerAvailableAsync(serverUrl, password, null); } - + /// - public void CheckServerAvailableAsync(string serverUrl, string password, object userState) { - if ((this.CheckServerAvailableOperationCompleted == null)) { + public void CheckServerAvailableAsync(string serverUrl, string password, object userState) + { + if ((this.CheckServerAvailableOperationCompleted == null)) + { this.CheckServerAvailableOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCheckServerAvailableOperationCompleted); } this.InvokeAsync("CheckServerAvailable", new object[] { serverUrl, password}, this.CheckServerAvailableOperationCompleted, userState); } - - private void OnCheckServerAvailableOperationCompleted(object arg) { - if ((this.CheckServerAvailableCompleted != null)) { + + private void OnCheckServerAvailableOperationCompleted(object arg) + { + if ((this.CheckServerAvailableCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.CheckServerAvailableCompleted(this, new CheckServerAvailableCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddServer", 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 int AddServer(ServerInfo server, bool autoDiscovery) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddServer", 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 int AddServer(ServerInfo server, bool autoDiscovery) + { object[] results = this.Invoke("AddServer", new object[] { server, autoDiscovery}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginAddServer(ServerInfo server, bool autoDiscovery, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddServer(ServerInfo server, bool autoDiscovery, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddServer", new object[] { server, autoDiscovery}, callback, asyncState); } - + /// - public int EndAddServer(System.IAsyncResult asyncResult) { + public int EndAddServer(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void AddServerAsync(ServerInfo server, bool autoDiscovery) { + public void AddServerAsync(ServerInfo server, bool autoDiscovery) + { this.AddServerAsync(server, autoDiscovery, null); } - + /// - public void AddServerAsync(ServerInfo server, bool autoDiscovery, object userState) { - if ((this.AddServerOperationCompleted == null)) { + public void AddServerAsync(ServerInfo server, bool autoDiscovery, object userState) + { + if ((this.AddServerOperationCompleted == null)) + { this.AddServerOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddServerOperationCompleted); } this.InvokeAsync("AddServer", new object[] { server, autoDiscovery}, this.AddServerOperationCompleted, userState); } - - private void OnAddServerOperationCompleted(object arg) { - if ((this.AddServerCompleted != null)) { + + private void OnAddServerOperationCompleted(object arg) + { + if ((this.AddServerCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddServerCompleted(this, new AddServerCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateServer", 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 int UpdateServer(ServerInfo server) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateServer", 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 int UpdateServer(ServerInfo server) + { object[] results = this.Invoke("UpdateServer", new object[] { server}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginUpdateServer(ServerInfo server, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginUpdateServer(ServerInfo server, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("UpdateServer", new object[] { server}, callback, asyncState); } - + /// - public int EndUpdateServer(System.IAsyncResult asyncResult) { + public int EndUpdateServer(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void UpdateServerAsync(ServerInfo server) { + public void UpdateServerAsync(ServerInfo server) + { this.UpdateServerAsync(server, null); } - + /// - public void UpdateServerAsync(ServerInfo server, object userState) { - if ((this.UpdateServerOperationCompleted == null)) { + public void UpdateServerAsync(ServerInfo server, object userState) + { + if ((this.UpdateServerOperationCompleted == null)) + { this.UpdateServerOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateServerOperationCompleted); } this.InvokeAsync("UpdateServer", new object[] { server}, this.UpdateServerOperationCompleted, userState); } - - private void OnUpdateServerOperationCompleted(object arg) { - if ((this.UpdateServerCompleted != null)) { + + private void OnUpdateServerOperationCompleted(object arg) + { + if ((this.UpdateServerCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.UpdateServerCompleted(this, new UpdateServerCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateServerConnectionPassword", 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 int UpdateServerConnectionPassword(int serverId, string password) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateServerConnectionPassword", 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 int UpdateServerConnectionPassword(int serverId, string password) + { object[] results = this.Invoke("UpdateServerConnectionPassword", new object[] { serverId, password}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginUpdateServerConnectionPassword(int serverId, string password, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginUpdateServerConnectionPassword(int serverId, string password, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("UpdateServerConnectionPassword", new object[] { serverId, password}, callback, asyncState); } - + /// - public int EndUpdateServerConnectionPassword(System.IAsyncResult asyncResult) { + public int EndUpdateServerConnectionPassword(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void UpdateServerConnectionPasswordAsync(int serverId, string password) { + public void UpdateServerConnectionPasswordAsync(int serverId, string password) + { this.UpdateServerConnectionPasswordAsync(serverId, password, null); } - + /// - public void UpdateServerConnectionPasswordAsync(int serverId, string password, object userState) { - if ((this.UpdateServerConnectionPasswordOperationCompleted == null)) { + public void UpdateServerConnectionPasswordAsync(int serverId, string password, object userState) + { + if ((this.UpdateServerConnectionPasswordOperationCompleted == null)) + { this.UpdateServerConnectionPasswordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateServerConnectionPasswordOperationCompleted); } this.InvokeAsync("UpdateServerConnectionPassword", new object[] { serverId, password}, this.UpdateServerConnectionPasswordOperationCompleted, userState); } - - private void OnUpdateServerConnectionPasswordOperationCompleted(object arg) { - if ((this.UpdateServerConnectionPasswordCompleted != null)) { + + private void OnUpdateServerConnectionPasswordOperationCompleted(object arg) + { + if ((this.UpdateServerConnectionPasswordCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.UpdateServerConnectionPasswordCompleted(this, new UpdateServerConnectionPasswordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateServerADPassword", 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 int UpdateServerADPassword(int serverId, string adPassword) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateServerADPassword", 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 int UpdateServerADPassword(int serverId, string adPassword) + { object[] results = this.Invoke("UpdateServerADPassword", new object[] { serverId, adPassword}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginUpdateServerADPassword(int serverId, string adPassword, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginUpdateServerADPassword(int serverId, string adPassword, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("UpdateServerADPassword", new object[] { serverId, adPassword}, callback, asyncState); } - + /// - public int EndUpdateServerADPassword(System.IAsyncResult asyncResult) { + public int EndUpdateServerADPassword(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void UpdateServerADPasswordAsync(int serverId, string adPassword) { + public void UpdateServerADPasswordAsync(int serverId, string adPassword) + { this.UpdateServerADPasswordAsync(serverId, adPassword, null); } - + /// - public void UpdateServerADPasswordAsync(int serverId, string adPassword, object userState) { - if ((this.UpdateServerADPasswordOperationCompleted == null)) { + public void UpdateServerADPasswordAsync(int serverId, string adPassword, object userState) + { + if ((this.UpdateServerADPasswordOperationCompleted == null)) + { this.UpdateServerADPasswordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateServerADPasswordOperationCompleted); } this.InvokeAsync("UpdateServerADPassword", new object[] { serverId, adPassword}, this.UpdateServerADPasswordOperationCompleted, userState); } - - private void OnUpdateServerADPasswordOperationCompleted(object arg) { - if ((this.UpdateServerADPasswordCompleted != null)) { + + private void OnUpdateServerADPasswordOperationCompleted(object arg) + { + if ((this.UpdateServerADPasswordCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.UpdateServerADPasswordCompleted(this, new UpdateServerADPasswordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteServer", 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 int DeleteServer(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteServer", 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 int DeleteServer(int serverId) + { object[] results = this.Invoke("DeleteServer", new object[] { serverId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginDeleteServer(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteServer(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteServer", new object[] { serverId}, callback, asyncState); } - + /// - public int EndDeleteServer(System.IAsyncResult asyncResult) { + public int EndDeleteServer(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void DeleteServerAsync(int serverId) { + public void DeleteServerAsync(int serverId) + { this.DeleteServerAsync(serverId, null); } - + /// - public void DeleteServerAsync(int serverId, object userState) { - if ((this.DeleteServerOperationCompleted == null)) { + public void DeleteServerAsync(int serverId, object userState) + { + if ((this.DeleteServerOperationCompleted == null)) + { this.DeleteServerOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteServerOperationCompleted); } this.InvokeAsync("DeleteServer", new object[] { serverId}, this.DeleteServerOperationCompleted, userState); } - - private void OnDeleteServerOperationCompleted(object arg) { - if ((this.DeleteServerCompleted != null)) { + + private void OnDeleteServerOperationCompleted(object arg) + { + if ((this.DeleteServerCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteServerCompleted(this, new DeleteServerCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetVirtualServers", 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 System.Data.DataSet GetVirtualServers() { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetVirtualServers", 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 System.Data.DataSet GetVirtualServers() + { object[] results = this.Invoke("GetVirtualServers", new object[0]); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetVirtualServers(System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetVirtualServers(System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetVirtualServers", new object[0], callback, asyncState); } - + /// - public System.Data.DataSet EndGetVirtualServers(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetVirtualServers(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetVirtualServersAsync() { + public void GetVirtualServersAsync() + { this.GetVirtualServersAsync(null); } - + /// - public void GetVirtualServersAsync(object userState) { - if ((this.GetVirtualServersOperationCompleted == null)) { + public void GetVirtualServersAsync(object userState) + { + if ((this.GetVirtualServersOperationCompleted == null)) + { this.GetVirtualServersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualServersOperationCompleted); } this.InvokeAsync("GetVirtualServers", new object[0], this.GetVirtualServersOperationCompleted, userState); } - - private void OnGetVirtualServersOperationCompleted(object arg) { - if ((this.GetVirtualServersCompleted != null)) { + + private void OnGetVirtualServersOperationCompleted(object arg) + { + if ((this.GetVirtualServersCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetVirtualServersCompleted(this, new GetVirtualServersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetAvailableVirtualServices", 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 System.Data.DataSet GetAvailableVirtualServices(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetAvailableVirtualServices", 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 System.Data.DataSet GetAvailableVirtualServices(int serverId) + { object[] results = this.Invoke("GetAvailableVirtualServices", new object[] { serverId}); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetAvailableVirtualServices(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetAvailableVirtualServices(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetAvailableVirtualServices", new object[] { serverId}, callback, asyncState); } - + /// - public System.Data.DataSet EndGetAvailableVirtualServices(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetAvailableVirtualServices(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetAvailableVirtualServicesAsync(int serverId) { + public void GetAvailableVirtualServicesAsync(int serverId) + { this.GetAvailableVirtualServicesAsync(serverId, null); } - + /// - public void GetAvailableVirtualServicesAsync(int serverId, object userState) { - if ((this.GetAvailableVirtualServicesOperationCompleted == null)) { + public void GetAvailableVirtualServicesAsync(int serverId, object userState) + { + if ((this.GetAvailableVirtualServicesOperationCompleted == null)) + { this.GetAvailableVirtualServicesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAvailableVirtualServicesOperationCompleted); } this.InvokeAsync("GetAvailableVirtualServices", new object[] { serverId}, this.GetAvailableVirtualServicesOperationCompleted, userState); } - - private void OnGetAvailableVirtualServicesOperationCompleted(object arg) { - if ((this.GetAvailableVirtualServicesCompleted != null)) { + + private void OnGetAvailableVirtualServicesOperationCompleted(object arg) + { + if ((this.GetAvailableVirtualServicesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetAvailableVirtualServicesCompleted(this, new GetAvailableVirtualServicesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetVirtualServices", 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 System.Data.DataSet GetVirtualServices(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetVirtualServices", 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 System.Data.DataSet GetVirtualServices(int serverId) + { object[] results = this.Invoke("GetVirtualServices", new object[] { serverId}); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetVirtualServices(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetVirtualServices(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetVirtualServices", new object[] { serverId}, callback, asyncState); } - + /// - public System.Data.DataSet EndGetVirtualServices(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetVirtualServices(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetVirtualServicesAsync(int serverId) { + public void GetVirtualServicesAsync(int serverId) + { this.GetVirtualServicesAsync(serverId, null); } - + /// - public void GetVirtualServicesAsync(int serverId, object userState) { - if ((this.GetVirtualServicesOperationCompleted == null)) { + public void GetVirtualServicesAsync(int serverId, object userState) + { + if ((this.GetVirtualServicesOperationCompleted == null)) + { this.GetVirtualServicesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVirtualServicesOperationCompleted); } this.InvokeAsync("GetVirtualServices", new object[] { serverId}, this.GetVirtualServicesOperationCompleted, userState); } - - private void OnGetVirtualServicesOperationCompleted(object arg) { - if ((this.GetVirtualServicesCompleted != null)) { + + private void OnGetVirtualServicesOperationCompleted(object arg) + { + if ((this.GetVirtualServicesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetVirtualServicesCompleted(this, new GetVirtualServicesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddVirtualServices", 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 int AddVirtualServices(int serverId, int[] ids) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddVirtualServices", 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 int AddVirtualServices(int serverId, int[] ids) + { object[] results = this.Invoke("AddVirtualServices", new object[] { serverId, ids}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginAddVirtualServices(int serverId, int[] ids, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddVirtualServices(int serverId, int[] ids, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddVirtualServices", new object[] { serverId, ids}, callback, asyncState); } - + /// - public int EndAddVirtualServices(System.IAsyncResult asyncResult) { + public int EndAddVirtualServices(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void AddVirtualServicesAsync(int serverId, int[] ids) { + public void AddVirtualServicesAsync(int serverId, int[] ids) + { this.AddVirtualServicesAsync(serverId, ids, null); } - + /// - public void AddVirtualServicesAsync(int serverId, int[] ids, object userState) { - if ((this.AddVirtualServicesOperationCompleted == null)) { + public void AddVirtualServicesAsync(int serverId, int[] ids, object userState) + { + if ((this.AddVirtualServicesOperationCompleted == null)) + { this.AddVirtualServicesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddVirtualServicesOperationCompleted); } this.InvokeAsync("AddVirtualServices", new object[] { serverId, ids}, this.AddVirtualServicesOperationCompleted, userState); } - - private void OnAddVirtualServicesOperationCompleted(object arg) { - if ((this.AddVirtualServicesCompleted != null)) { + + private void OnAddVirtualServicesOperationCompleted(object arg) + { + if ((this.AddVirtualServicesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddVirtualServicesCompleted(this, new AddVirtualServicesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteVirtualServices", 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 int DeleteVirtualServices(int serverId, int[] ids) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteVirtualServices", 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 int DeleteVirtualServices(int serverId, int[] ids) + { object[] results = this.Invoke("DeleteVirtualServices", new object[] { serverId, ids}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginDeleteVirtualServices(int serverId, int[] ids, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteVirtualServices(int serverId, int[] ids, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteVirtualServices", new object[] { serverId, ids}, callback, asyncState); } - + /// - public int EndDeleteVirtualServices(System.IAsyncResult asyncResult) { + public int EndDeleteVirtualServices(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void DeleteVirtualServicesAsync(int serverId, int[] ids) { + public void DeleteVirtualServicesAsync(int serverId, int[] ids) + { this.DeleteVirtualServicesAsync(serverId, ids, null); } - + /// - public void DeleteVirtualServicesAsync(int serverId, int[] ids, object userState) { - if ((this.DeleteVirtualServicesOperationCompleted == null)) { + public void DeleteVirtualServicesAsync(int serverId, int[] ids, object userState) + { + if ((this.DeleteVirtualServicesOperationCompleted == null)) + { this.DeleteVirtualServicesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteVirtualServicesOperationCompleted); } this.InvokeAsync("DeleteVirtualServices", new object[] { serverId, ids}, this.DeleteVirtualServicesOperationCompleted, userState); } - - private void OnDeleteVirtualServicesOperationCompleted(object arg) { - if ((this.DeleteVirtualServicesCompleted != null)) { + + private void OnDeleteVirtualServicesOperationCompleted(object arg) + { + if ((this.DeleteVirtualServicesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteVirtualServicesCompleted(this, new DeleteVirtualServicesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateVirtualGroups", 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 int UpdateVirtualGroups(int serverId, VirtualGroupInfo[] groups) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateVirtualGroups", 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 int UpdateVirtualGroups(int serverId, VirtualGroupInfo[] groups) + { object[] results = this.Invoke("UpdateVirtualGroups", new object[] { serverId, groups}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginUpdateVirtualGroups(int serverId, VirtualGroupInfo[] groups, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginUpdateVirtualGroups(int serverId, VirtualGroupInfo[] groups, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("UpdateVirtualGroups", new object[] { serverId, groups}, callback, asyncState); } - + /// - public int EndUpdateVirtualGroups(System.IAsyncResult asyncResult) { + public int EndUpdateVirtualGroups(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void UpdateVirtualGroupsAsync(int serverId, VirtualGroupInfo[] groups) { + public void UpdateVirtualGroupsAsync(int serverId, VirtualGroupInfo[] groups) + { this.UpdateVirtualGroupsAsync(serverId, groups, null); } - + /// - public void UpdateVirtualGroupsAsync(int serverId, VirtualGroupInfo[] groups, object userState) { - if ((this.UpdateVirtualGroupsOperationCompleted == null)) { + public void UpdateVirtualGroupsAsync(int serverId, VirtualGroupInfo[] groups, object userState) + { + if ((this.UpdateVirtualGroupsOperationCompleted == null)) + { this.UpdateVirtualGroupsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateVirtualGroupsOperationCompleted); } this.InvokeAsync("UpdateVirtualGroups", new object[] { serverId, groups}, this.UpdateVirtualGroupsOperationCompleted, userState); } - - private void OnUpdateVirtualGroupsOperationCompleted(object arg) { - if ((this.UpdateVirtualGroupsCompleted != null)) { + + private void OnUpdateVirtualGroupsOperationCompleted(object arg) + { + if ((this.UpdateVirtualGroupsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.UpdateVirtualGroupsCompleted(this, new UpdateVirtualGroupsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawServicesByServerId", 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 System.Data.DataSet GetRawServicesByServerId(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawServicesByServerId", 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 System.Data.DataSet GetRawServicesByServerId(int serverId) + { object[] results = this.Invoke("GetRawServicesByServerId", new object[] { serverId}); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetRawServicesByServerId(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetRawServicesByServerId(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetRawServicesByServerId", new object[] { serverId}, callback, asyncState); } - + /// - public System.Data.DataSet EndGetRawServicesByServerId(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetRawServicesByServerId(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetRawServicesByServerIdAsync(int serverId) { + public void GetRawServicesByServerIdAsync(int serverId) + { this.GetRawServicesByServerIdAsync(serverId, null); } - + /// - public void GetRawServicesByServerIdAsync(int serverId, object userState) { - if ((this.GetRawServicesByServerIdOperationCompleted == null)) { + public void GetRawServicesByServerIdAsync(int serverId, object userState) + { + if ((this.GetRawServicesByServerIdOperationCompleted == null)) + { this.GetRawServicesByServerIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawServicesByServerIdOperationCompleted); } this.InvokeAsync("GetRawServicesByServerId", new object[] { serverId}, this.GetRawServicesByServerIdOperationCompleted, userState); } - - private void OnGetRawServicesByServerIdOperationCompleted(object arg) { - if ((this.GetRawServicesByServerIdCompleted != null)) { + + private void OnGetRawServicesByServerIdOperationCompleted(object arg) + { + if ((this.GetRawServicesByServerIdCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetRawServicesByServerIdCompleted(this, new GetRawServicesByServerIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServicesByServerId", 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 ServiceInfo[] GetServicesByServerId(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServicesByServerId", 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 ServiceInfo[] GetServicesByServerId(int serverId) + { object[] results = this.Invoke("GetServicesByServerId", new object[] { serverId}); return ((ServiceInfo[])(results[0])); } - + /// - public System.IAsyncResult BeginGetServicesByServerId(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetServicesByServerId(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetServicesByServerId", new object[] { serverId}, callback, asyncState); } - + /// - public ServiceInfo[] EndGetServicesByServerId(System.IAsyncResult asyncResult) { + public ServiceInfo[] EndGetServicesByServerId(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ServiceInfo[])(results[0])); } - + /// - public void GetServicesByServerIdAsync(int serverId) { + public void GetServicesByServerIdAsync(int serverId) + { this.GetServicesByServerIdAsync(serverId, null); } - + /// - public void GetServicesByServerIdAsync(int serverId, object userState) { - if ((this.GetServicesByServerIdOperationCompleted == null)) { + public void GetServicesByServerIdAsync(int serverId, object userState) + { + if ((this.GetServicesByServerIdOperationCompleted == null)) + { this.GetServicesByServerIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetServicesByServerIdOperationCompleted); } this.InvokeAsync("GetServicesByServerId", new object[] { serverId}, this.GetServicesByServerIdOperationCompleted, userState); } - - private void OnGetServicesByServerIdOperationCompleted(object arg) { - if ((this.GetServicesByServerIdCompleted != null)) { + + private void OnGetServicesByServerIdOperationCompleted(object arg) + { + if ((this.GetServicesByServerIdCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetServicesByServerIdCompleted(this, new GetServicesByServerIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServicesByServerIdGroupName", 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 ServiceInfo[] GetServicesByServerIdGroupName(int serverId, string groupName) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServicesByServerIdGroupName", 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 ServiceInfo[] GetServicesByServerIdGroupName(int serverId, string groupName) + { object[] results = this.Invoke("GetServicesByServerIdGroupName", new object[] { serverId, groupName}); return ((ServiceInfo[])(results[0])); } - + /// - public System.IAsyncResult BeginGetServicesByServerIdGroupName(int serverId, string groupName, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetServicesByServerIdGroupName(int serverId, string groupName, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetServicesByServerIdGroupName", new object[] { serverId, groupName}, callback, asyncState); } - + /// - public ServiceInfo[] EndGetServicesByServerIdGroupName(System.IAsyncResult asyncResult) { + public ServiceInfo[] EndGetServicesByServerIdGroupName(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ServiceInfo[])(results[0])); } - + /// - public void GetServicesByServerIdGroupNameAsync(int serverId, string groupName) { + public void GetServicesByServerIdGroupNameAsync(int serverId, string groupName) + { this.GetServicesByServerIdGroupNameAsync(serverId, groupName, null); } - + /// - public void GetServicesByServerIdGroupNameAsync(int serverId, string groupName, object userState) { - if ((this.GetServicesByServerIdGroupNameOperationCompleted == null)) { + public void GetServicesByServerIdGroupNameAsync(int serverId, string groupName, object userState) + { + if ((this.GetServicesByServerIdGroupNameOperationCompleted == null)) + { this.GetServicesByServerIdGroupNameOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetServicesByServerIdGroupNameOperationCompleted); } this.InvokeAsync("GetServicesByServerIdGroupName", new object[] { serverId, groupName}, this.GetServicesByServerIdGroupNameOperationCompleted, userState); } - - private void OnGetServicesByServerIdGroupNameOperationCompleted(object arg) { - if ((this.GetServicesByServerIdGroupNameCompleted != null)) { + + private void OnGetServicesByServerIdGroupNameOperationCompleted(object arg) + { + if ((this.GetServicesByServerIdGroupNameCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetServicesByServerIdGroupNameCompleted(this, new GetServicesByServerIdGroupNameCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawServicesByGroupId", 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 System.Data.DataSet GetRawServicesByGroupId(int groupId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawServicesByGroupId", 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 System.Data.DataSet GetRawServicesByGroupId(int groupId) + { object[] results = this.Invoke("GetRawServicesByGroupId", new object[] { groupId}); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetRawServicesByGroupId(int groupId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetRawServicesByGroupId(int groupId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetRawServicesByGroupId", new object[] { groupId}, callback, asyncState); } - + /// - public System.Data.DataSet EndGetRawServicesByGroupId(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetRawServicesByGroupId(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetRawServicesByGroupIdAsync(int groupId) { + public void GetRawServicesByGroupIdAsync(int groupId) + { this.GetRawServicesByGroupIdAsync(groupId, null); } - + /// - public void GetRawServicesByGroupIdAsync(int groupId, object userState) { - if ((this.GetRawServicesByGroupIdOperationCompleted == null)) { + public void GetRawServicesByGroupIdAsync(int groupId, object userState) + { + if ((this.GetRawServicesByGroupIdOperationCompleted == null)) + { this.GetRawServicesByGroupIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawServicesByGroupIdOperationCompleted); } this.InvokeAsync("GetRawServicesByGroupId", new object[] { groupId}, this.GetRawServicesByGroupIdOperationCompleted, userState); } - - private void OnGetRawServicesByGroupIdOperationCompleted(object arg) { - if ((this.GetRawServicesByGroupIdCompleted != null)) { + + private void OnGetRawServicesByGroupIdOperationCompleted(object arg) + { + if ((this.GetRawServicesByGroupIdCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetRawServicesByGroupIdCompleted(this, new GetRawServicesByGroupIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawServicesByGroupName", 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 System.Data.DataSet GetRawServicesByGroupName(string groupName) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawServicesByGroupName", 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 System.Data.DataSet GetRawServicesByGroupName(string groupName) + { object[] results = this.Invoke("GetRawServicesByGroupName", new object[] { groupName}); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetRawServicesByGroupName(string groupName, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetRawServicesByGroupName(string groupName, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetRawServicesByGroupName", new object[] { groupName}, callback, asyncState); } - + /// - public System.Data.DataSet EndGetRawServicesByGroupName(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetRawServicesByGroupName(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetRawServicesByGroupNameAsync(string groupName) { + public void GetRawServicesByGroupNameAsync(string groupName) + { this.GetRawServicesByGroupNameAsync(groupName, null); } - + /// - public void GetRawServicesByGroupNameAsync(string groupName, object userState) { - if ((this.GetRawServicesByGroupNameOperationCompleted == null)) { + public void GetRawServicesByGroupNameAsync(string groupName, object userState) + { + if ((this.GetRawServicesByGroupNameOperationCompleted == null)) + { this.GetRawServicesByGroupNameOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawServicesByGroupNameOperationCompleted); } this.InvokeAsync("GetRawServicesByGroupName", new object[] { groupName}, this.GetRawServicesByGroupNameOperationCompleted, userState); } - - private void OnGetRawServicesByGroupNameOperationCompleted(object arg) { - if ((this.GetRawServicesByGroupNameCompleted != null)) { + + private void OnGetRawServicesByGroupNameOperationCompleted(object arg) + { + if ((this.GetRawServicesByGroupNameCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetRawServicesByGroupNameCompleted(this, new GetRawServicesByGroupNameCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServiceInfo", 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 ServiceInfo GetServiceInfo(int serviceId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServiceInfo", 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 ServiceInfo GetServiceInfo(int serviceId) + { object[] results = this.Invoke("GetServiceInfo", new object[] { serviceId}); return ((ServiceInfo)(results[0])); } - + /// - public System.IAsyncResult BeginGetServiceInfo(int serviceId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetServiceInfo(int serviceId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetServiceInfo", new object[] { serviceId}, callback, asyncState); } - + /// - public ServiceInfo EndGetServiceInfo(System.IAsyncResult asyncResult) { + public ServiceInfo EndGetServiceInfo(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ServiceInfo)(results[0])); } - + /// - public void GetServiceInfoAsync(int serviceId) { + public void GetServiceInfoAsync(int serviceId) + { this.GetServiceInfoAsync(serviceId, null); } - + /// - public void GetServiceInfoAsync(int serviceId, object userState) { - if ((this.GetServiceInfoOperationCompleted == null)) { + public void GetServiceInfoAsync(int serviceId, object userState) + { + if ((this.GetServiceInfoOperationCompleted == null)) + { this.GetServiceInfoOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetServiceInfoOperationCompleted); } this.InvokeAsync("GetServiceInfo", new object[] { serviceId}, this.GetServiceInfoOperationCompleted, userState); } - - private void OnGetServiceInfoOperationCompleted(object arg) { - if ((this.GetServiceInfoCompleted != null)) { + + private void OnGetServiceInfoOperationCompleted(object arg) + { + if ((this.GetServiceInfoCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetServiceInfoCompleted(this, new GetServiceInfoCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddService", 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 int AddService(ServiceInfo service) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddService", 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 int AddService(ServiceInfo service) + { object[] results = this.Invoke("AddService", new object[] { service}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginAddService(ServiceInfo service, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddService(ServiceInfo service, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddService", new object[] { service}, callback, asyncState); } - + /// - public int EndAddService(System.IAsyncResult asyncResult) { + public int EndAddService(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void AddServiceAsync(ServiceInfo service) { + public void AddServiceAsync(ServiceInfo service) + { this.AddServiceAsync(service, null); } - + /// - public void AddServiceAsync(ServiceInfo service, object userState) { - if ((this.AddServiceOperationCompleted == null)) { + public void AddServiceAsync(ServiceInfo service, object userState) + { + if ((this.AddServiceOperationCompleted == null)) + { this.AddServiceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddServiceOperationCompleted); } this.InvokeAsync("AddService", new object[] { service}, this.AddServiceOperationCompleted, userState); } - - private void OnAddServiceOperationCompleted(object arg) { - if ((this.AddServiceCompleted != null)) { + + private void OnAddServiceOperationCompleted(object arg) + { + if ((this.AddServiceCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddServiceCompleted(this, new AddServiceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateService", 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 int UpdateService(ServiceInfo service) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateService", 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 int UpdateService(ServiceInfo service) + { object[] results = this.Invoke("UpdateService", new object[] { service}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginUpdateService(ServiceInfo service, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginUpdateService(ServiceInfo service, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("UpdateService", new object[] { service}, callback, asyncState); } - + /// - public int EndUpdateService(System.IAsyncResult asyncResult) { + public int EndUpdateService(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void UpdateServiceAsync(ServiceInfo service) { + public void UpdateServiceAsync(ServiceInfo service) + { this.UpdateServiceAsync(service, null); } - + /// - public void UpdateServiceAsync(ServiceInfo service, object userState) { - if ((this.UpdateServiceOperationCompleted == null)) { + public void UpdateServiceAsync(ServiceInfo service, object userState) + { + if ((this.UpdateServiceOperationCompleted == null)) + { this.UpdateServiceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateServiceOperationCompleted); } this.InvokeAsync("UpdateService", new object[] { service}, this.UpdateServiceOperationCompleted, userState); } - - private void OnUpdateServiceOperationCompleted(object arg) { - if ((this.UpdateServiceCompleted != null)) { + + private void OnUpdateServiceOperationCompleted(object arg) + { + if ((this.UpdateServiceCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.UpdateServiceCompleted(this, new UpdateServiceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteService", 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 int DeleteService(int serviceId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteService", 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 int DeleteService(int serviceId) + { object[] results = this.Invoke("DeleteService", new object[] { serviceId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginDeleteService(int serviceId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteService(int serviceId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteService", new object[] { serviceId}, callback, asyncState); } - + /// - public int EndDeleteService(System.IAsyncResult asyncResult) { + public int EndDeleteService(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void DeleteServiceAsync(int serviceId) { + public void DeleteServiceAsync(int serviceId) + { this.DeleteServiceAsync(serviceId, null); } - + /// - public void DeleteServiceAsync(int serviceId, object userState) { - if ((this.DeleteServiceOperationCompleted == null)) { + public void DeleteServiceAsync(int serviceId, object userState) + { + if ((this.DeleteServiceOperationCompleted == null)) + { this.DeleteServiceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteServiceOperationCompleted); } this.InvokeAsync("DeleteService", new object[] { serviceId}, this.DeleteServiceOperationCompleted, userState); } - - private void OnDeleteServiceOperationCompleted(object arg) { - if ((this.DeleteServiceCompleted != null)) { + + private void OnDeleteServiceOperationCompleted(object arg) + { + if ((this.DeleteServiceCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteServiceCompleted(this, new DeleteServiceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServiceSettings", 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 string[] GetServiceSettings(int serviceId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServiceSettings", 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 string[] GetServiceSettings(int serviceId) + { object[] results = this.Invoke("GetServiceSettings", new object[] { serviceId}); return ((string[])(results[0])); } - + /// - public System.IAsyncResult BeginGetServiceSettings(int serviceId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetServiceSettings(int serviceId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetServiceSettings", new object[] { serviceId}, callback, asyncState); } - + /// - public string[] EndGetServiceSettings(System.IAsyncResult asyncResult) { + public string[] EndGetServiceSettings(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((string[])(results[0])); } - + /// - public void GetServiceSettingsAsync(int serviceId) { + public void GetServiceSettingsAsync(int serviceId) + { this.GetServiceSettingsAsync(serviceId, null); } - + /// - public void GetServiceSettingsAsync(int serviceId, object userState) { - if ((this.GetServiceSettingsOperationCompleted == null)) { + public void GetServiceSettingsAsync(int serviceId, object userState) + { + if ((this.GetServiceSettingsOperationCompleted == null)) + { this.GetServiceSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetServiceSettingsOperationCompleted); } this.InvokeAsync("GetServiceSettings", new object[] { serviceId}, this.GetServiceSettingsOperationCompleted, userState); } - - private void OnGetServiceSettingsOperationCompleted(object arg) { - if ((this.GetServiceSettingsCompleted != null)) { + + private void OnGetServiceSettingsOperationCompleted(object arg) + { + if ((this.GetServiceSettingsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetServiceSettingsCompleted(this, new GetServiceSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateServiceSettings", 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 int UpdateServiceSettings(int serviceId, string[] settings) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateServiceSettings", 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 int UpdateServiceSettings(int serviceId, string[] settings) + { object[] results = this.Invoke("UpdateServiceSettings", new object[] { serviceId, settings}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginUpdateServiceSettings(int serviceId, string[] settings, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginUpdateServiceSettings(int serviceId, string[] settings, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("UpdateServiceSettings", new object[] { serviceId, settings}, callback, asyncState); } - + /// - public int EndUpdateServiceSettings(System.IAsyncResult asyncResult) { + public int EndUpdateServiceSettings(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void UpdateServiceSettingsAsync(int serviceId, string[] settings) { + public void UpdateServiceSettingsAsync(int serviceId, string[] settings) + { this.UpdateServiceSettingsAsync(serviceId, settings, null); } - + /// - public void UpdateServiceSettingsAsync(int serviceId, string[] settings, object userState) { - if ((this.UpdateServiceSettingsOperationCompleted == null)) { + public void UpdateServiceSettingsAsync(int serviceId, string[] settings, object userState) + { + if ((this.UpdateServiceSettingsOperationCompleted == null)) + { this.UpdateServiceSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateServiceSettingsOperationCompleted); } this.InvokeAsync("UpdateServiceSettings", new object[] { serviceId, settings}, this.UpdateServiceSettingsOperationCompleted, userState); } - - private void OnUpdateServiceSettingsOperationCompleted(object arg) { - if ((this.UpdateServiceSettingsCompleted != null)) { + + private void OnUpdateServiceSettingsOperationCompleted(object arg) + { + if ((this.UpdateServiceSettingsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.UpdateServiceSettingsCompleted(this, new UpdateServiceSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/InstallService", 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 string[] InstallService(int serviceId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/InstallService", 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 string[] InstallService(int serviceId) + { object[] results = this.Invoke("InstallService", new object[] { serviceId}); return ((string[])(results[0])); } - + /// - public System.IAsyncResult BeginInstallService(int serviceId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginInstallService(int serviceId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("InstallService", new object[] { serviceId}, callback, asyncState); } - + /// - public string[] EndInstallService(System.IAsyncResult asyncResult) { + public string[] EndInstallService(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((string[])(results[0])); } - + /// - public void InstallServiceAsync(int serviceId) { + public void InstallServiceAsync(int serviceId) + { this.InstallServiceAsync(serviceId, null); } - + /// - public void InstallServiceAsync(int serviceId, object userState) { - if ((this.InstallServiceOperationCompleted == null)) { + public void InstallServiceAsync(int serviceId, object userState) + { + if ((this.InstallServiceOperationCompleted == null)) + { this.InstallServiceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnInstallServiceOperationCompleted); } this.InvokeAsync("InstallService", new object[] { serviceId}, this.InstallServiceOperationCompleted, userState); } - - private void OnInstallServiceOperationCompleted(object arg) { - if ((this.InstallServiceCompleted != null)) { + + private void OnInstallServiceOperationCompleted(object arg) + { + if ((this.InstallServiceCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.InstallServiceCompleted(this, new InstallServiceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetProviderServiceQuota", 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 QuotaInfo GetProviderServiceQuota(int providerId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetProviderServiceQuota", 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 QuotaInfo GetProviderServiceQuota(int providerId) + { object[] results = this.Invoke("GetProviderServiceQuota", new object[] { providerId}); return ((QuotaInfo)(results[0])); } - + /// - public System.IAsyncResult BeginGetProviderServiceQuota(int providerId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetProviderServiceQuota(int providerId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetProviderServiceQuota", new object[] { providerId}, callback, asyncState); } - + /// - public QuotaInfo EndGetProviderServiceQuota(System.IAsyncResult asyncResult) { + public QuotaInfo EndGetProviderServiceQuota(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((QuotaInfo)(results[0])); } - + /// - public void GetProviderServiceQuotaAsync(int providerId) { + public void GetProviderServiceQuotaAsync(int providerId) + { this.GetProviderServiceQuotaAsync(providerId, null); } - + /// - public void GetProviderServiceQuotaAsync(int providerId, object userState) { - if ((this.GetProviderServiceQuotaOperationCompleted == null)) { + public void GetProviderServiceQuotaAsync(int providerId, object userState) + { + if ((this.GetProviderServiceQuotaOperationCompleted == null)) + { this.GetProviderServiceQuotaOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetProviderServiceQuotaOperationCompleted); } this.InvokeAsync("GetProviderServiceQuota", new object[] { providerId}, this.GetProviderServiceQuotaOperationCompleted, userState); } - - private void OnGetProviderServiceQuotaOperationCompleted(object arg) { - if ((this.GetProviderServiceQuotaCompleted != null)) { + + private void OnGetProviderServiceQuotaOperationCompleted(object arg) + { + if ((this.GetProviderServiceQuotaCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetProviderServiceQuotaCompleted(this, new GetProviderServiceQuotaCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetInstalledProviders", 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 ProviderInfo[] GetInstalledProviders(int groupId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetInstalledProviders", 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 ProviderInfo[] GetInstalledProviders(int groupId) + { object[] results = this.Invoke("GetInstalledProviders", new object[] { groupId}); return ((ProviderInfo[])(results[0])); } - + /// - public System.IAsyncResult BeginGetInstalledProviders(int groupId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetInstalledProviders(int groupId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetInstalledProviders", new object[] { groupId}, callback, asyncState); } - + /// - public ProviderInfo[] EndGetInstalledProviders(System.IAsyncResult asyncResult) { + public ProviderInfo[] EndGetInstalledProviders(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ProviderInfo[])(results[0])); } - + /// - public void GetInstalledProvidersAsync(int groupId) { + public void GetInstalledProvidersAsync(int groupId) + { this.GetInstalledProvidersAsync(groupId, null); } - + /// - public void GetInstalledProvidersAsync(int groupId, object userState) { - if ((this.GetInstalledProvidersOperationCompleted == null)) { + public void GetInstalledProvidersAsync(int groupId, object userState) + { + if ((this.GetInstalledProvidersOperationCompleted == null)) + { this.GetInstalledProvidersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetInstalledProvidersOperationCompleted); } this.InvokeAsync("GetInstalledProviders", new object[] { groupId}, this.GetInstalledProvidersOperationCompleted, userState); } - - private void OnGetInstalledProvidersOperationCompleted(object arg) { - if ((this.GetInstalledProvidersCompleted != null)) { + + private void OnGetInstalledProvidersOperationCompleted(object arg) + { + if ((this.GetInstalledProvidersCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetInstalledProvidersCompleted(this, new GetInstalledProvidersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetResourceGroups", 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 ResourceGroupInfo[] GetResourceGroups() { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetResourceGroups", 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 ResourceGroupInfo[] GetResourceGroups() + { object[] results = this.Invoke("GetResourceGroups", new object[0]); return ((ResourceGroupInfo[])(results[0])); } - + /// - public System.IAsyncResult BeginGetResourceGroups(System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetResourceGroups(System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetResourceGroups", new object[0], callback, asyncState); } - + /// - public ResourceGroupInfo[] EndGetResourceGroups(System.IAsyncResult asyncResult) { + public ResourceGroupInfo[] EndGetResourceGroups(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ResourceGroupInfo[])(results[0])); } - + /// - public void GetResourceGroupsAsync() { + public void GetResourceGroupsAsync() + { this.GetResourceGroupsAsync(null); } - + /// - public void GetResourceGroupsAsync(object userState) { - if ((this.GetResourceGroupsOperationCompleted == null)) { + public void GetResourceGroupsAsync(object userState) + { + if ((this.GetResourceGroupsOperationCompleted == null)) + { this.GetResourceGroupsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetResourceGroupsOperationCompleted); } this.InvokeAsync("GetResourceGroups", new object[0], this.GetResourceGroupsOperationCompleted, userState); } - - private void OnGetResourceGroupsOperationCompleted(object arg) { - if ((this.GetResourceGroupsCompleted != null)) { + + private void OnGetResourceGroupsOperationCompleted(object arg) + { + if ((this.GetResourceGroupsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetResourceGroupsCompleted(this, new GetResourceGroupsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetResourceGroup", 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 ResourceGroupInfo GetResourceGroup(int groupId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetResourceGroup", 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 ResourceGroupInfo GetResourceGroup(int groupId) + { object[] results = this.Invoke("GetResourceGroup", new object[] { groupId}); return ((ResourceGroupInfo)(results[0])); } - + /// - public System.IAsyncResult BeginGetResourceGroup(int groupId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetResourceGroup(int groupId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetResourceGroup", new object[] { groupId}, callback, asyncState); } - + /// - public ResourceGroupInfo EndGetResourceGroup(System.IAsyncResult asyncResult) { + public ResourceGroupInfo EndGetResourceGroup(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ResourceGroupInfo)(results[0])); } - + /// - public void GetResourceGroupAsync(int groupId) { + public void GetResourceGroupAsync(int groupId) + { this.GetResourceGroupAsync(groupId, null); } - + /// - public void GetResourceGroupAsync(int groupId, object userState) { - if ((this.GetResourceGroupOperationCompleted == null)) { + public void GetResourceGroupAsync(int groupId, object userState) + { + if ((this.GetResourceGroupOperationCompleted == null)) + { this.GetResourceGroupOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetResourceGroupOperationCompleted); } this.InvokeAsync("GetResourceGroup", new object[] { groupId}, this.GetResourceGroupOperationCompleted, userState); } - - private void OnGetResourceGroupOperationCompleted(object arg) { - if ((this.GetResourceGroupCompleted != null)) { + + private void OnGetResourceGroupOperationCompleted(object arg) + { + if ((this.GetResourceGroupCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetResourceGroupCompleted(this, new GetResourceGroupCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetProvider", 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 ProviderInfo GetProvider(int providerId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetProvider", 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 ProviderInfo GetProvider(int providerId) + { object[] results = this.Invoke("GetProvider", new object[] { providerId}); return ((ProviderInfo)(results[0])); } - + /// - public System.IAsyncResult BeginGetProvider(int providerId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetProvider(int providerId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetProvider", new object[] { providerId}, callback, asyncState); } - + /// - public ProviderInfo EndGetProvider(System.IAsyncResult asyncResult) { + public ProviderInfo EndGetProvider(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ProviderInfo)(results[0])); } - + /// - public void GetProviderAsync(int providerId) { + public void GetProviderAsync(int providerId) + { this.GetProviderAsync(providerId, null); } - + /// - public void GetProviderAsync(int providerId, object userState) { - if ((this.GetProviderOperationCompleted == null)) { + public void GetProviderAsync(int providerId, object userState) + { + if ((this.GetProviderOperationCompleted == null)) + { this.GetProviderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetProviderOperationCompleted); } this.InvokeAsync("GetProvider", new object[] { providerId}, this.GetProviderOperationCompleted, userState); } - - private void OnGetProviderOperationCompleted(object arg) { - if ((this.GetProviderCompleted != null)) { + + private void OnGetProviderOperationCompleted(object arg) + { + if ((this.GetProviderCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetProviderCompleted(this, new GetProviderCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetProviders", 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 ProviderInfo[] GetProviders() { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetProviders", 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 ProviderInfo[] GetProviders() + { object[] results = this.Invoke("GetProviders", new object[0]); return ((ProviderInfo[])(results[0])); } - + /// - public System.IAsyncResult BeginGetProviders(System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetProviders(System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetProviders", new object[0], callback, asyncState); } - + /// - public ProviderInfo[] EndGetProviders(System.IAsyncResult asyncResult) { + public ProviderInfo[] EndGetProviders(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ProviderInfo[])(results[0])); } - + /// - public void GetProvidersAsync() { + public void GetProvidersAsync() + { this.GetProvidersAsync(null); } - + /// - public void GetProvidersAsync(object userState) { - if ((this.GetProvidersOperationCompleted == null)) { + public void GetProvidersAsync(object userState) + { + if ((this.GetProvidersOperationCompleted == null)) + { this.GetProvidersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetProvidersOperationCompleted); } this.InvokeAsync("GetProviders", new object[0], this.GetProvidersOperationCompleted, userState); } - - private void OnGetProvidersOperationCompleted(object arg) { - if ((this.GetProvidersCompleted != null)) { + + private void OnGetProvidersOperationCompleted(object arg) + { + if ((this.GetProvidersCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetProvidersCompleted(this, new GetProvidersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetProvidersByGroupId", 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 ProviderInfo[] GetProvidersByGroupId(int groupId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetProvidersByGroupId", 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 ProviderInfo[] GetProvidersByGroupId(int groupId) + { object[] results = this.Invoke("GetProvidersByGroupId", new object[] { groupId}); return ((ProviderInfo[])(results[0])); } - + /// - public System.IAsyncResult BeginGetProvidersByGroupId(int groupId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetProvidersByGroupId(int groupId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetProvidersByGroupId", new object[] { groupId}, callback, asyncState); } - + /// - public ProviderInfo[] EndGetProvidersByGroupId(System.IAsyncResult asyncResult) { + public ProviderInfo[] EndGetProvidersByGroupId(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ProviderInfo[])(results[0])); } - + /// - public void GetProvidersByGroupIdAsync(int groupId) { + public void GetProvidersByGroupIdAsync(int groupId) + { this.GetProvidersByGroupIdAsync(groupId, null); } - + /// - public void GetProvidersByGroupIdAsync(int groupId, object userState) { - if ((this.GetProvidersByGroupIdOperationCompleted == null)) { + public void GetProvidersByGroupIdAsync(int groupId, object userState) + { + if ((this.GetProvidersByGroupIdOperationCompleted == null)) + { this.GetProvidersByGroupIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetProvidersByGroupIdOperationCompleted); } this.InvokeAsync("GetProvidersByGroupId", new object[] { groupId}, this.GetProvidersByGroupIdOperationCompleted, userState); } - - private void OnGetProvidersByGroupIdOperationCompleted(object arg) { - if ((this.GetProvidersByGroupIdCompleted != null)) { + + private void OnGetProvidersByGroupIdOperationCompleted(object arg) + { + if ((this.GetProvidersByGroupIdCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetProvidersByGroupIdCompleted(this, new GetProvidersByGroupIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPackageServiceProvider", 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 ProviderInfo GetPackageServiceProvider(int packageId, string groupName) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPackageServiceProvider", 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 ProviderInfo GetPackageServiceProvider(int packageId, string groupName) + { object[] results = this.Invoke("GetPackageServiceProvider", new object[] { packageId, groupName}); return ((ProviderInfo)(results[0])); } - + /// - public System.IAsyncResult BeginGetPackageServiceProvider(int packageId, string groupName, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetPackageServiceProvider(int packageId, string groupName, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetPackageServiceProvider", new object[] { packageId, groupName}, callback, asyncState); } - + /// - public ProviderInfo EndGetPackageServiceProvider(System.IAsyncResult asyncResult) { + public ProviderInfo EndGetPackageServiceProvider(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ProviderInfo)(results[0])); } - + /// - public void GetPackageServiceProviderAsync(int packageId, string groupName) { + public void GetPackageServiceProviderAsync(int packageId, string groupName) + { this.GetPackageServiceProviderAsync(packageId, groupName, null); } - + /// - public void GetPackageServiceProviderAsync(int packageId, string groupName, object userState) { - if ((this.GetPackageServiceProviderOperationCompleted == null)) { + public void GetPackageServiceProviderAsync(int packageId, string groupName, object userState) + { + if ((this.GetPackageServiceProviderOperationCompleted == null)) + { this.GetPackageServiceProviderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPackageServiceProviderOperationCompleted); } this.InvokeAsync("GetPackageServiceProvider", new object[] { packageId, groupName}, this.GetPackageServiceProviderOperationCompleted, userState); } - - private void OnGetPackageServiceProviderOperationCompleted(object arg) { - if ((this.GetPackageServiceProviderCompleted != null)) { + + private void OnGetPackageServiceProviderOperationCompleted(object arg) + { + if ((this.GetPackageServiceProviderCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetPackageServiceProviderCompleted(this, new GetPackageServiceProviderCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/IsInstalled", 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 BoolResult IsInstalled(int serverId, int providerId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/IsInstalled", 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 BoolResult IsInstalled(int serverId, int providerId) + { object[] results = this.Invoke("IsInstalled", new object[] { serverId, providerId}); return ((BoolResult)(results[0])); } - + /// - public System.IAsyncResult BeginIsInstalled(int serverId, int providerId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginIsInstalled(int serverId, int providerId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("IsInstalled", new object[] { serverId, providerId}, callback, asyncState); } - + /// - public BoolResult EndIsInstalled(System.IAsyncResult asyncResult) { + public BoolResult EndIsInstalled(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((BoolResult)(results[0])); } - + /// - public void IsInstalledAsync(int serverId, int providerId) { + public void IsInstalledAsync(int serverId, int providerId) + { this.IsInstalledAsync(serverId, providerId, null); } - + /// - public void IsInstalledAsync(int serverId, int providerId, object userState) { - if ((this.IsInstalledOperationCompleted == null)) { + public void IsInstalledAsync(int serverId, int providerId, object userState) + { + if ((this.IsInstalledOperationCompleted == null)) + { this.IsInstalledOperationCompleted = new System.Threading.SendOrPostCallback(this.OnIsInstalledOperationCompleted); } this.InvokeAsync("IsInstalled", new object[] { serverId, providerId}, this.IsInstalledOperationCompleted, userState); } - - private void OnIsInstalledOperationCompleted(object arg) { - if ((this.IsInstalledCompleted != null)) { + + private void OnIsInstalledOperationCompleted(object arg) + { + if ((this.IsInstalledCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.IsInstalledCompleted(this, new IsInstalledCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServerVersion", 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 string GetServerVersion(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetServerVersion", 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 string GetServerVersion(int serverId) + { object[] results = this.Invoke("GetServerVersion", new object[] { serverId}); return ((string)(results[0])); } - + /// - public System.IAsyncResult BeginGetServerVersion(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetServerVersion(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetServerVersion", new object[] { serverId}, callback, asyncState); } - + /// - public string EndGetServerVersion(System.IAsyncResult asyncResult) { + public string EndGetServerVersion(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((string)(results[0])); } - + /// - public void GetServerVersionAsync(int serverId) { + public void GetServerVersionAsync(int serverId) + { this.GetServerVersionAsync(serverId, null); } - + /// - public void GetServerVersionAsync(int serverId, object userState) { - if ((this.GetServerVersionOperationCompleted == null)) { + public void GetServerVersionAsync(int serverId, object userState) + { + if ((this.GetServerVersionOperationCompleted == null)) + { this.GetServerVersionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetServerVersionOperationCompleted); } this.InvokeAsync("GetServerVersion", new object[] { serverId}, this.GetServerVersionOperationCompleted, userState); } - - private void OnGetServerVersionOperationCompleted(object arg) { - if ((this.GetServerVersionCompleted != null)) { + + private void OnGetServerVersionOperationCompleted(object arg) + { + if ((this.GetServerVersionCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetServerVersionCompleted(this, new GetServerVersionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetIPAddresses", 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 IPAddressInfo[] GetIPAddresses(IPAddressPool pool, int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetIPAddresses", 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 IPAddressInfo[] GetIPAddresses(IPAddressPool pool, int serverId) + { object[] results = this.Invoke("GetIPAddresses", new object[] { pool, serverId}); return ((IPAddressInfo[])(results[0])); } - + /// - public System.IAsyncResult BeginGetIPAddresses(IPAddressPool pool, int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetIPAddresses(IPAddressPool pool, int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetIPAddresses", new object[] { pool, serverId}, callback, asyncState); } - + /// - public IPAddressInfo[] EndGetIPAddresses(System.IAsyncResult asyncResult) { + public IPAddressInfo[] EndGetIPAddresses(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((IPAddressInfo[])(results[0])); } - + /// - public void GetIPAddressesAsync(IPAddressPool pool, int serverId) { + public void GetIPAddressesAsync(IPAddressPool pool, int serverId) + { this.GetIPAddressesAsync(pool, serverId, null); } - + /// - public void GetIPAddressesAsync(IPAddressPool pool, int serverId, object userState) { - if ((this.GetIPAddressesOperationCompleted == null)) { + public void GetIPAddressesAsync(IPAddressPool pool, int serverId, object userState) + { + if ((this.GetIPAddressesOperationCompleted == null)) + { this.GetIPAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetIPAddressesOperationCompleted); } this.InvokeAsync("GetIPAddresses", new object[] { pool, serverId}, this.GetIPAddressesOperationCompleted, userState); } - - private void OnGetIPAddressesOperationCompleted(object arg) { - if ((this.GetIPAddressesCompleted != null)) { + + private void OnGetIPAddressesOperationCompleted(object arg) + { + if ((this.GetIPAddressesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetIPAddressesCompleted(this, new GetIPAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetIPAddressesPaged", 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 IPAddressesPaged GetIPAddressesPaged(IPAddressPool pool, int serverId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetIPAddressesPaged", 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 IPAddressesPaged GetIPAddressesPaged(IPAddressPool pool, int serverId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) + { object[] results = this.Invoke("GetIPAddressesPaged", new object[] { pool, serverId, @@ -2319,9 +2633,10 @@ namespace WebsitePanel.EnterpriseServer { maximumRows}); return ((IPAddressesPaged)(results[0])); } - + /// - public System.IAsyncResult BeginGetIPAddressesPaged(IPAddressPool pool, int serverId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetIPAddressesPaged(IPAddressPool pool, int serverId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetIPAddressesPaged", new object[] { pool, serverId, @@ -2331,21 +2646,25 @@ namespace WebsitePanel.EnterpriseServer { startRow, maximumRows}, callback, asyncState); } - + /// - public IPAddressesPaged EndGetIPAddressesPaged(System.IAsyncResult asyncResult) { + public IPAddressesPaged EndGetIPAddressesPaged(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((IPAddressesPaged)(results[0])); } - + /// - public void GetIPAddressesPagedAsync(IPAddressPool pool, int serverId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) { + public void GetIPAddressesPagedAsync(IPAddressPool pool, int serverId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) + { this.GetIPAddressesPagedAsync(pool, serverId, filterColumn, filterValue, sortColumn, startRow, maximumRows, null); } - + /// - public void GetIPAddressesPagedAsync(IPAddressPool pool, int serverId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState) { - if ((this.GetIPAddressesPagedOperationCompleted == null)) { + public void GetIPAddressesPagedAsync(IPAddressPool pool, int serverId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState) + { + if ((this.GetIPAddressesPagedOperationCompleted == null)) + { this.GetIPAddressesPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetIPAddressesPagedOperationCompleted); } this.InvokeAsync("GetIPAddressesPaged", new object[] { @@ -2357,58 +2676,69 @@ namespace WebsitePanel.EnterpriseServer { startRow, maximumRows}, this.GetIPAddressesPagedOperationCompleted, userState); } - - private void OnGetIPAddressesPagedOperationCompleted(object arg) { - if ((this.GetIPAddressesPagedCompleted != null)) { + + private void OnGetIPAddressesPagedOperationCompleted(object arg) + { + if ((this.GetIPAddressesPagedCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetIPAddressesPagedCompleted(this, new GetIPAddressesPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetIPAddress", 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 IPAddressInfo GetIPAddress(int addressId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetIPAddress", 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 IPAddressInfo GetIPAddress(int addressId) + { object[] results = this.Invoke("GetIPAddress", new object[] { addressId}); return ((IPAddressInfo)(results[0])); } - + /// - public System.IAsyncResult BeginGetIPAddress(int addressId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetIPAddress(int addressId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetIPAddress", new object[] { addressId}, callback, asyncState); } - + /// - public IPAddressInfo EndGetIPAddress(System.IAsyncResult asyncResult) { + public IPAddressInfo EndGetIPAddress(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((IPAddressInfo)(results[0])); } - + /// - public void GetIPAddressAsync(int addressId) { + public void GetIPAddressAsync(int addressId) + { this.GetIPAddressAsync(addressId, null); } - + /// - public void GetIPAddressAsync(int addressId, object userState) { - if ((this.GetIPAddressOperationCompleted == null)) { + public void GetIPAddressAsync(int addressId, object userState) + { + if ((this.GetIPAddressOperationCompleted == null)) + { this.GetIPAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetIPAddressOperationCompleted); } this.InvokeAsync("GetIPAddress", new object[] { addressId}, this.GetIPAddressOperationCompleted, userState); } - - private void OnGetIPAddressOperationCompleted(object arg) { - if ((this.GetIPAddressCompleted != null)) { + + private void OnGetIPAddressOperationCompleted(object arg) + { + if ((this.GetIPAddressCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetIPAddressCompleted(this, new GetIPAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddIPAddress", 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 IntResult AddIPAddress(IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddIPAddress", 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 IntResult AddIPAddress(IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments) + { object[] results = this.Invoke("AddIPAddress", new object[] { pool, serverId, @@ -2419,9 +2749,10 @@ namespace WebsitePanel.EnterpriseServer { comments}); return ((IntResult)(results[0])); } - + /// - public System.IAsyncResult BeginAddIPAddress(IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddIPAddress(IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddIPAddress", new object[] { pool, serverId, @@ -2431,21 +2762,25 @@ namespace WebsitePanel.EnterpriseServer { defaultGateway, comments}, callback, asyncState); } - + /// - public IntResult EndAddIPAddress(System.IAsyncResult asyncResult) { + public IntResult EndAddIPAddress(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((IntResult)(results[0])); } - + /// - public void AddIPAddressAsync(IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments) { + public void AddIPAddressAsync(IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments) + { this.AddIPAddressAsync(pool, serverId, externalIP, internalIP, subnetMask, defaultGateway, comments, null); } - + /// - public void AddIPAddressAsync(IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments, object userState) { - if ((this.AddIPAddressOperationCompleted == null)) { + public void AddIPAddressAsync(IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments, object userState) + { + if ((this.AddIPAddressOperationCompleted == null)) + { this.AddIPAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddIPAddressOperationCompleted); } this.InvokeAsync("AddIPAddress", new object[] { @@ -2457,17 +2792,20 @@ namespace WebsitePanel.EnterpriseServer { defaultGateway, comments}, this.AddIPAddressOperationCompleted, userState); } - - private void OnAddIPAddressOperationCompleted(object arg) { - if ((this.AddIPAddressCompleted != null)) { + + private void OnAddIPAddressOperationCompleted(object arg) + { + if ((this.AddIPAddressCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddIPAddressCompleted(this, new AddIPAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddIPAddressesRange", 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 ResultObject AddIPAddressesRange(IPAddressPool pool, int serverId, string externalIP, string endIP, string internalIP, string subnetMask, string defaultGateway, string comments) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddIPAddressesRange", 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 ResultObject AddIPAddressesRange(IPAddressPool pool, int serverId, string externalIP, string endIP, string internalIP, string subnetMask, string defaultGateway, string comments) + { object[] results = this.Invoke("AddIPAddressesRange", new object[] { pool, serverId, @@ -2479,9 +2817,10 @@ namespace WebsitePanel.EnterpriseServer { comments}); return ((ResultObject)(results[0])); } - + /// - public System.IAsyncResult BeginAddIPAddressesRange(IPAddressPool pool, int serverId, string externalIP, string endIP, string internalIP, string subnetMask, string defaultGateway, string comments, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddIPAddressesRange(IPAddressPool pool, int serverId, string externalIP, string endIP, string internalIP, string subnetMask, string defaultGateway, string comments, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddIPAddressesRange", new object[] { pool, serverId, @@ -2492,21 +2831,25 @@ namespace WebsitePanel.EnterpriseServer { defaultGateway, comments}, callback, asyncState); } - + /// - public ResultObject EndAddIPAddressesRange(System.IAsyncResult asyncResult) { + public ResultObject EndAddIPAddressesRange(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ResultObject)(results[0])); } - + /// - public void AddIPAddressesRangeAsync(IPAddressPool pool, int serverId, string externalIP, string endIP, string internalIP, string subnetMask, string defaultGateway, string comments) { + public void AddIPAddressesRangeAsync(IPAddressPool pool, int serverId, string externalIP, string endIP, string internalIP, string subnetMask, string defaultGateway, string comments) + { this.AddIPAddressesRangeAsync(pool, serverId, externalIP, endIP, internalIP, subnetMask, defaultGateway, comments, null); } - + /// - public void AddIPAddressesRangeAsync(IPAddressPool pool, int serverId, string externalIP, string endIP, string internalIP, string subnetMask, string defaultGateway, string comments, object userState) { - if ((this.AddIPAddressesRangeOperationCompleted == null)) { + public void AddIPAddressesRangeAsync(IPAddressPool pool, int serverId, string externalIP, string endIP, string internalIP, string subnetMask, string defaultGateway, string comments, object userState) + { + if ((this.AddIPAddressesRangeOperationCompleted == null)) + { this.AddIPAddressesRangeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddIPAddressesRangeOperationCompleted); } this.InvokeAsync("AddIPAddressesRange", new object[] { @@ -2519,17 +2862,20 @@ namespace WebsitePanel.EnterpriseServer { defaultGateway, comments}, this.AddIPAddressesRangeOperationCompleted, userState); } - - private void OnAddIPAddressesRangeOperationCompleted(object arg) { - if ((this.AddIPAddressesRangeCompleted != null)) { + + private void OnAddIPAddressesRangeOperationCompleted(object arg) + { + if ((this.AddIPAddressesRangeCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddIPAddressesRangeCompleted(this, new AddIPAddressesRangeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateIPAddress", 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 ResultObject UpdateIPAddress(int addressId, IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateIPAddress", 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 ResultObject UpdateIPAddress(int addressId, IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments) + { object[] results = this.Invoke("UpdateIPAddress", new object[] { addressId, pool, @@ -2541,9 +2887,10 @@ namespace WebsitePanel.EnterpriseServer { comments}); return ((ResultObject)(results[0])); } - + /// - public System.IAsyncResult BeginUpdateIPAddress(int addressId, IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginUpdateIPAddress(int addressId, IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("UpdateIPAddress", new object[] { addressId, pool, @@ -2554,21 +2901,25 @@ namespace WebsitePanel.EnterpriseServer { defaultGateway, comments}, callback, asyncState); } - + /// - public ResultObject EndUpdateIPAddress(System.IAsyncResult asyncResult) { + public ResultObject EndUpdateIPAddress(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ResultObject)(results[0])); } - + /// - public void UpdateIPAddressAsync(int addressId, IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments) { + public void UpdateIPAddressAsync(int addressId, IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments) + { this.UpdateIPAddressAsync(addressId, pool, serverId, externalIP, internalIP, subnetMask, defaultGateway, comments, null); } - + /// - public void UpdateIPAddressAsync(int addressId, IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments, object userState) { - if ((this.UpdateIPAddressOperationCompleted == null)) { + public void UpdateIPAddressAsync(int addressId, IPAddressPool pool, int serverId, string externalIP, string internalIP, string subnetMask, string defaultGateway, string comments, object userState) + { + if ((this.UpdateIPAddressOperationCompleted == null)) + { this.UpdateIPAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateIPAddressOperationCompleted); } this.InvokeAsync("UpdateIPAddress", new object[] { @@ -2581,17 +2932,20 @@ namespace WebsitePanel.EnterpriseServer { defaultGateway, comments}, this.UpdateIPAddressOperationCompleted, userState); } - - private void OnUpdateIPAddressOperationCompleted(object arg) { - if ((this.UpdateIPAddressCompleted != null)) { + + private void OnUpdateIPAddressOperationCompleted(object arg) + { + if ((this.UpdateIPAddressCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.UpdateIPAddressCompleted(this, new UpdateIPAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateIPAddresses", 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 ResultObject UpdateIPAddresses(int[] addresses, IPAddressPool pool, int serverId, string subnetMask, string defaultGateway, string comments) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateIPAddresses", 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 ResultObject UpdateIPAddresses(int[] addresses, IPAddressPool pool, int serverId, string subnetMask, string defaultGateway, string comments) + { object[] results = this.Invoke("UpdateIPAddresses", new object[] { addresses, pool, @@ -2601,9 +2955,10 @@ namespace WebsitePanel.EnterpriseServer { comments}); return ((ResultObject)(results[0])); } - + /// - public System.IAsyncResult BeginUpdateIPAddresses(int[] addresses, IPAddressPool pool, int serverId, string subnetMask, string defaultGateway, string comments, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginUpdateIPAddresses(int[] addresses, IPAddressPool pool, int serverId, string subnetMask, string defaultGateway, string comments, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("UpdateIPAddresses", new object[] { addresses, pool, @@ -2612,21 +2967,25 @@ namespace WebsitePanel.EnterpriseServer { defaultGateway, comments}, callback, asyncState); } - + /// - public ResultObject EndUpdateIPAddresses(System.IAsyncResult asyncResult) { + public ResultObject EndUpdateIPAddresses(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ResultObject)(results[0])); } - + /// - public void UpdateIPAddressesAsync(int[] addresses, IPAddressPool pool, int serverId, string subnetMask, string defaultGateway, string comments) { + public void UpdateIPAddressesAsync(int[] addresses, IPAddressPool pool, int serverId, string subnetMask, string defaultGateway, string comments) + { this.UpdateIPAddressesAsync(addresses, pool, serverId, subnetMask, defaultGateway, comments, null); } - + /// - public void UpdateIPAddressesAsync(int[] addresses, IPAddressPool pool, int serverId, string subnetMask, string defaultGateway, string comments, object userState) { - if ((this.UpdateIPAddressesOperationCompleted == null)) { + public void UpdateIPAddressesAsync(int[] addresses, IPAddressPool pool, int serverId, string subnetMask, string defaultGateway, string comments, object userState) + { + if ((this.UpdateIPAddressesOperationCompleted == null)) + { this.UpdateIPAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateIPAddressesOperationCompleted); } this.InvokeAsync("UpdateIPAddresses", new object[] { @@ -2637,128 +2996,152 @@ namespace WebsitePanel.EnterpriseServer { defaultGateway, comments}, this.UpdateIPAddressesOperationCompleted, userState); } - - private void OnUpdateIPAddressesOperationCompleted(object arg) { - if ((this.UpdateIPAddressesCompleted != null)) { + + private void OnUpdateIPAddressesOperationCompleted(object arg) + { + if ((this.UpdateIPAddressesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.UpdateIPAddressesCompleted(this, new UpdateIPAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteIPAddress", 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 ResultObject DeleteIPAddress(int addressId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteIPAddress", 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 ResultObject DeleteIPAddress(int addressId) + { object[] results = this.Invoke("DeleteIPAddress", new object[] { addressId}); return ((ResultObject)(results[0])); } - + /// - public System.IAsyncResult BeginDeleteIPAddress(int addressId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteIPAddress(int addressId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteIPAddress", new object[] { addressId}, callback, asyncState); } - + /// - public ResultObject EndDeleteIPAddress(System.IAsyncResult asyncResult) { + public ResultObject EndDeleteIPAddress(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ResultObject)(results[0])); } - + /// - public void DeleteIPAddressAsync(int addressId) { + public void DeleteIPAddressAsync(int addressId) + { this.DeleteIPAddressAsync(addressId, null); } - + /// - public void DeleteIPAddressAsync(int addressId, object userState) { - if ((this.DeleteIPAddressOperationCompleted == null)) { + public void DeleteIPAddressAsync(int addressId, object userState) + { + if ((this.DeleteIPAddressOperationCompleted == null)) + { this.DeleteIPAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteIPAddressOperationCompleted); } this.InvokeAsync("DeleteIPAddress", new object[] { addressId}, this.DeleteIPAddressOperationCompleted, userState); } - - private void OnDeleteIPAddressOperationCompleted(object arg) { - if ((this.DeleteIPAddressCompleted != null)) { + + private void OnDeleteIPAddressOperationCompleted(object arg) + { + if ((this.DeleteIPAddressCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteIPAddressCompleted(this, new DeleteIPAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteIPAddresses", 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 ResultObject DeleteIPAddresses(int[] addresses) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteIPAddresses", 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 ResultObject DeleteIPAddresses(int[] addresses) + { object[] results = this.Invoke("DeleteIPAddresses", new object[] { addresses}); return ((ResultObject)(results[0])); } - + /// - public System.IAsyncResult BeginDeleteIPAddresses(int[] addresses, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteIPAddresses(int[] addresses, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteIPAddresses", new object[] { addresses}, callback, asyncState); } - + /// - public ResultObject EndDeleteIPAddresses(System.IAsyncResult asyncResult) { + public ResultObject EndDeleteIPAddresses(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ResultObject)(results[0])); } - + /// - public void DeleteIPAddressesAsync(int[] addresses) { + public void DeleteIPAddressesAsync(int[] addresses) + { this.DeleteIPAddressesAsync(addresses, null); } - + /// - public void DeleteIPAddressesAsync(int[] addresses, object userState) { - if ((this.DeleteIPAddressesOperationCompleted == null)) { + public void DeleteIPAddressesAsync(int[] addresses, object userState) + { + if ((this.DeleteIPAddressesOperationCompleted == null)) + { this.DeleteIPAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteIPAddressesOperationCompleted); } this.InvokeAsync("DeleteIPAddresses", new object[] { addresses}, this.DeleteIPAddressesOperationCompleted, userState); } - - private void OnDeleteIPAddressesOperationCompleted(object arg) { - if ((this.DeleteIPAddressesCompleted != null)) { + + private void OnDeleteIPAddressesOperationCompleted(object arg) + { + if ((this.DeleteIPAddressesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteIPAddressesCompleted(this, new DeleteIPAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetUnallottedIPAddresses", 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 IPAddressInfo[] GetUnallottedIPAddresses(int packageId, string groupName, IPAddressPool pool) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetUnallottedIPAddresses", 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 IPAddressInfo[] GetUnallottedIPAddresses(int packageId, string groupName, IPAddressPool pool) + { object[] results = this.Invoke("GetUnallottedIPAddresses", new object[] { packageId, groupName, pool}); return ((IPAddressInfo[])(results[0])); } - + /// - public System.IAsyncResult BeginGetUnallottedIPAddresses(int packageId, string groupName, IPAddressPool pool, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetUnallottedIPAddresses(int packageId, string groupName, IPAddressPool pool, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetUnallottedIPAddresses", new object[] { packageId, groupName, pool}, callback, asyncState); } - + /// - public IPAddressInfo[] EndGetUnallottedIPAddresses(System.IAsyncResult asyncResult) { + public IPAddressInfo[] EndGetUnallottedIPAddresses(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((IPAddressInfo[])(results[0])); } - + /// - public void GetUnallottedIPAddressesAsync(int packageId, string groupName, IPAddressPool pool) { + public void GetUnallottedIPAddressesAsync(int packageId, string groupName, IPAddressPool pool) + { this.GetUnallottedIPAddressesAsync(packageId, groupName, pool, null); } - + /// - public void GetUnallottedIPAddressesAsync(int packageId, string groupName, IPAddressPool pool, object userState) { - if ((this.GetUnallottedIPAddressesOperationCompleted == null)) { + public void GetUnallottedIPAddressesAsync(int packageId, string groupName, IPAddressPool pool, object userState) + { + if ((this.GetUnallottedIPAddressesOperationCompleted == null)) + { this.GetUnallottedIPAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUnallottedIPAddressesOperationCompleted); } this.InvokeAsync("GetUnallottedIPAddresses", new object[] { @@ -2766,17 +3149,20 @@ namespace WebsitePanel.EnterpriseServer { groupName, pool}, this.GetUnallottedIPAddressesOperationCompleted, userState); } - - private void OnGetUnallottedIPAddressesOperationCompleted(object arg) { - if ((this.GetUnallottedIPAddressesCompleted != null)) { + + private void OnGetUnallottedIPAddressesOperationCompleted(object arg) + { + if ((this.GetUnallottedIPAddressesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetUnallottedIPAddressesCompleted(this, new GetUnallottedIPAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPackageIPAddresses", 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 PackageIPAddressesPaged GetPackageIPAddresses(int packageId, IPAddressPool pool, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPackageIPAddresses", 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 PackageIPAddressesPaged GetPackageIPAddresses(int packageId, IPAddressPool pool, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive) + { object[] results = this.Invoke("GetPackageIPAddresses", new object[] { packageId, pool, @@ -2788,9 +3174,10 @@ namespace WebsitePanel.EnterpriseServer { recursive}); return ((PackageIPAddressesPaged)(results[0])); } - + /// - public System.IAsyncResult BeginGetPackageIPAddresses(int packageId, IPAddressPool pool, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetPackageIPAddresses(int packageId, IPAddressPool pool, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetPackageIPAddresses", new object[] { packageId, pool, @@ -2801,21 +3188,25 @@ namespace WebsitePanel.EnterpriseServer { maximumRows, recursive}, callback, asyncState); } - + /// - public PackageIPAddressesPaged EndGetPackageIPAddresses(System.IAsyncResult asyncResult) { + public PackageIPAddressesPaged EndGetPackageIPAddresses(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((PackageIPAddressesPaged)(results[0])); } - + /// - public void GetPackageIPAddressesAsync(int packageId, IPAddressPool pool, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive) { + public void GetPackageIPAddressesAsync(int packageId, IPAddressPool pool, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive) + { this.GetPackageIPAddressesAsync(packageId, pool, filterColumn, filterValue, sortColumn, startRow, maximumRows, recursive, null); } - + /// - public void GetPackageIPAddressesAsync(int packageId, IPAddressPool pool, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive, object userState) { - if ((this.GetPackageIPAddressesOperationCompleted == null)) { + public void GetPackageIPAddressesAsync(int packageId, IPAddressPool pool, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive, object userState) + { + if ((this.GetPackageIPAddressesOperationCompleted == null)) + { this.GetPackageIPAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPackageIPAddressesOperationCompleted); } this.InvokeAsync("GetPackageIPAddresses", new object[] { @@ -2828,61 +3219,72 @@ namespace WebsitePanel.EnterpriseServer { maximumRows, recursive}, this.GetPackageIPAddressesOperationCompleted, userState); } - - private void OnGetPackageIPAddressesOperationCompleted(object arg) { - if ((this.GetPackageIPAddressesCompleted != null)) { + + private void OnGetPackageIPAddressesOperationCompleted(object arg) + { + if ((this.GetPackageIPAddressesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetPackageIPAddressesCompleted(this, new GetPackageIPAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPackageUnassignedIPAddresses", 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 PackageIPAddress[] GetPackageUnassignedIPAddresses(int packageId, IPAddressPool pool) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPackageUnassignedIPAddresses", 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 PackageIPAddress[] GetPackageUnassignedIPAddresses(int packageId, IPAddressPool pool) + { object[] results = this.Invoke("GetPackageUnassignedIPAddresses", new object[] { packageId, pool}); return ((PackageIPAddress[])(results[0])); } - + /// - public System.IAsyncResult BeginGetPackageUnassignedIPAddresses(int packageId, IPAddressPool pool, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetPackageUnassignedIPAddresses(int packageId, IPAddressPool pool, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetPackageUnassignedIPAddresses", new object[] { packageId, pool}, callback, asyncState); } - + /// - public PackageIPAddress[] EndGetPackageUnassignedIPAddresses(System.IAsyncResult asyncResult) { + public PackageIPAddress[] EndGetPackageUnassignedIPAddresses(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((PackageIPAddress[])(results[0])); } - + /// - public void GetPackageUnassignedIPAddressesAsync(int packageId, IPAddressPool pool) { + public void GetPackageUnassignedIPAddressesAsync(int packageId, IPAddressPool pool) + { this.GetPackageUnassignedIPAddressesAsync(packageId, pool, null); } - + /// - public void GetPackageUnassignedIPAddressesAsync(int packageId, IPAddressPool pool, object userState) { - if ((this.GetPackageUnassignedIPAddressesOperationCompleted == null)) { + public void GetPackageUnassignedIPAddressesAsync(int packageId, IPAddressPool pool, object userState) + { + if ((this.GetPackageUnassignedIPAddressesOperationCompleted == null)) + { this.GetPackageUnassignedIPAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPackageUnassignedIPAddressesOperationCompleted); } this.InvokeAsync("GetPackageUnassignedIPAddresses", new object[] { packageId, pool}, this.GetPackageUnassignedIPAddressesOperationCompleted, userState); } - - private void OnGetPackageUnassignedIPAddressesOperationCompleted(object arg) { - if ((this.GetPackageUnassignedIPAddressesCompleted != null)) { + + private void OnGetPackageUnassignedIPAddressesOperationCompleted(object arg) + { + if ((this.GetPackageUnassignedIPAddressesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetPackageUnassignedIPAddressesCompleted(this, new GetPackageUnassignedIPAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AllocatePackageIPAddresses", 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 ResultObject AllocatePackageIPAddresses(int packageId, string groupName, IPAddressPool pool, bool allocateRandom, int addressesNumber, int[] addressId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AllocatePackageIPAddresses", 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 ResultObject AllocatePackageIPAddresses(int packageId, string groupName, IPAddressPool pool, bool allocateRandom, int addressesNumber, int[] addressId) + { object[] results = this.Invoke("AllocatePackageIPAddresses", new object[] { packageId, groupName, @@ -2892,9 +3294,10 @@ namespace WebsitePanel.EnterpriseServer { addressId}); return ((ResultObject)(results[0])); } - + /// - public System.IAsyncResult BeginAllocatePackageIPAddresses(int packageId, string groupName, IPAddressPool pool, bool allocateRandom, int addressesNumber, int[] addressId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAllocatePackageIPAddresses(int packageId, string groupName, IPAddressPool pool, bool allocateRandom, int addressesNumber, int[] addressId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AllocatePackageIPAddresses", new object[] { packageId, groupName, @@ -2903,21 +3306,25 @@ namespace WebsitePanel.EnterpriseServer { addressesNumber, addressId}, callback, asyncState); } - + /// - public ResultObject EndAllocatePackageIPAddresses(System.IAsyncResult asyncResult) { + public ResultObject EndAllocatePackageIPAddresses(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ResultObject)(results[0])); } - + /// - public void AllocatePackageIPAddressesAsync(int packageId, string groupName, IPAddressPool pool, bool allocateRandom, int addressesNumber, int[] addressId) { + public void AllocatePackageIPAddressesAsync(int packageId, string groupName, IPAddressPool pool, bool allocateRandom, int addressesNumber, int[] addressId) + { this.AllocatePackageIPAddressesAsync(packageId, groupName, pool, allocateRandom, addressesNumber, addressId, null); } - + /// - public void AllocatePackageIPAddressesAsync(int packageId, string groupName, IPAddressPool pool, bool allocateRandom, int addressesNumber, int[] addressId, object userState) { - if ((this.AllocatePackageIPAddressesOperationCompleted == null)) { + public void AllocatePackageIPAddressesAsync(int packageId, string groupName, IPAddressPool pool, bool allocateRandom, int addressesNumber, int[] addressId, object userState) + { + if ((this.AllocatePackageIPAddressesOperationCompleted == null)) + { this.AllocatePackageIPAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAllocatePackageIPAddressesOperationCompleted); } this.InvokeAsync("AllocatePackageIPAddresses", new object[] { @@ -2928,46 +3335,54 @@ namespace WebsitePanel.EnterpriseServer { addressesNumber, addressId}, this.AllocatePackageIPAddressesOperationCompleted, userState); } - - private void OnAllocatePackageIPAddressesOperationCompleted(object arg) { - if ((this.AllocatePackageIPAddressesCompleted != null)) { + + private void OnAllocatePackageIPAddressesOperationCompleted(object arg) + { + if ((this.AllocatePackageIPAddressesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AllocatePackageIPAddressesCompleted(this, new AllocatePackageIPAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AllocateMaximumPackageIPAddresses", 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 ResultObject AllocateMaximumPackageIPAddresses(int packageId, string groupName, IPAddressPool pool) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AllocateMaximumPackageIPAddresses", 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 ResultObject AllocateMaximumPackageIPAddresses(int packageId, string groupName, IPAddressPool pool) + { object[] results = this.Invoke("AllocateMaximumPackageIPAddresses", new object[] { packageId, groupName, pool}); return ((ResultObject)(results[0])); } - + /// - public System.IAsyncResult BeginAllocateMaximumPackageIPAddresses(int packageId, string groupName, IPAddressPool pool, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAllocateMaximumPackageIPAddresses(int packageId, string groupName, IPAddressPool pool, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AllocateMaximumPackageIPAddresses", new object[] { packageId, groupName, pool}, callback, asyncState); } - + /// - public ResultObject EndAllocateMaximumPackageIPAddresses(System.IAsyncResult asyncResult) { + public ResultObject EndAllocateMaximumPackageIPAddresses(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ResultObject)(results[0])); } - + /// - public void AllocateMaximumPackageIPAddressesAsync(int packageId, string groupName, IPAddressPool pool) { + public void AllocateMaximumPackageIPAddressesAsync(int packageId, string groupName, IPAddressPool pool) + { this.AllocateMaximumPackageIPAddressesAsync(packageId, groupName, pool, null); } - + /// - public void AllocateMaximumPackageIPAddressesAsync(int packageId, string groupName, IPAddressPool pool, object userState) { - if ((this.AllocateMaximumPackageIPAddressesOperationCompleted == null)) { + public void AllocateMaximumPackageIPAddressesAsync(int packageId, string groupName, IPAddressPool pool, object userState) + { + if ((this.AllocateMaximumPackageIPAddressesOperationCompleted == null)) + { this.AllocateMaximumPackageIPAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAllocateMaximumPackageIPAddressesOperationCompleted); } this.InvokeAsync("AllocateMaximumPackageIPAddresses", new object[] { @@ -2975,796 +3390,951 @@ namespace WebsitePanel.EnterpriseServer { groupName, pool}, this.AllocateMaximumPackageIPAddressesOperationCompleted, userState); } - - private void OnAllocateMaximumPackageIPAddressesOperationCompleted(object arg) { - if ((this.AllocateMaximumPackageIPAddressesCompleted != null)) { + + private void OnAllocateMaximumPackageIPAddressesOperationCompleted(object arg) + { + if ((this.AllocateMaximumPackageIPAddressesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AllocateMaximumPackageIPAddressesCompleted(this, new AllocateMaximumPackageIPAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeallocatePackageIPAddresses", 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 ResultObject DeallocatePackageIPAddresses(int packageId, int[] addressId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeallocatePackageIPAddresses", 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 ResultObject DeallocatePackageIPAddresses(int packageId, int[] addressId) + { object[] results = this.Invoke("DeallocatePackageIPAddresses", new object[] { packageId, addressId}); return ((ResultObject)(results[0])); } - + /// - public System.IAsyncResult BeginDeallocatePackageIPAddresses(int packageId, int[] addressId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeallocatePackageIPAddresses(int packageId, int[] addressId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeallocatePackageIPAddresses", new object[] { packageId, addressId}, callback, asyncState); } - + /// - public ResultObject EndDeallocatePackageIPAddresses(System.IAsyncResult asyncResult) { + public ResultObject EndDeallocatePackageIPAddresses(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ResultObject)(results[0])); } - + /// - public void DeallocatePackageIPAddressesAsync(int packageId, int[] addressId) { + public void DeallocatePackageIPAddressesAsync(int packageId, int[] addressId) + { this.DeallocatePackageIPAddressesAsync(packageId, addressId, null); } - + /// - public void DeallocatePackageIPAddressesAsync(int packageId, int[] addressId, object userState) { - if ((this.DeallocatePackageIPAddressesOperationCompleted == null)) { + public void DeallocatePackageIPAddressesAsync(int packageId, int[] addressId, object userState) + { + if ((this.DeallocatePackageIPAddressesOperationCompleted == null)) + { this.DeallocatePackageIPAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeallocatePackageIPAddressesOperationCompleted); } this.InvokeAsync("DeallocatePackageIPAddresses", new object[] { packageId, addressId}, this.DeallocatePackageIPAddressesOperationCompleted, userState); } - - private void OnDeallocatePackageIPAddressesOperationCompleted(object arg) { - if ((this.DeallocatePackageIPAddressesCompleted != null)) { + + private void OnDeallocatePackageIPAddressesOperationCompleted(object arg) + { + if ((this.DeallocatePackageIPAddressesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeallocatePackageIPAddressesCompleted(this, new DeallocatePackageIPAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetClusters", 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 ClusterInfo[] GetClusters() { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetClusters", 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 ClusterInfo[] GetClusters() + { object[] results = this.Invoke("GetClusters", new object[0]); return ((ClusterInfo[])(results[0])); } - + /// - public System.IAsyncResult BeginGetClusters(System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetClusters(System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetClusters", new object[0], callback, asyncState); } - + /// - public ClusterInfo[] EndGetClusters(System.IAsyncResult asyncResult) { + public ClusterInfo[] EndGetClusters(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((ClusterInfo[])(results[0])); } - + /// - public void GetClustersAsync() { + public void GetClustersAsync() + { this.GetClustersAsync(null); } - + /// - public void GetClustersAsync(object userState) { - if ((this.GetClustersOperationCompleted == null)) { + public void GetClustersAsync(object userState) + { + if ((this.GetClustersOperationCompleted == null)) + { this.GetClustersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetClustersOperationCompleted); } this.InvokeAsync("GetClusters", new object[0], this.GetClustersOperationCompleted, userState); } - - private void OnGetClustersOperationCompleted(object arg) { - if ((this.GetClustersCompleted != null)) { + + private void OnGetClustersOperationCompleted(object arg) + { + if ((this.GetClustersCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetClustersCompleted(this, new GetClustersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddCluster", 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 int AddCluster(ClusterInfo cluster) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddCluster", 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 int AddCluster(ClusterInfo cluster) + { object[] results = this.Invoke("AddCluster", new object[] { cluster}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginAddCluster(ClusterInfo cluster, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddCluster(ClusterInfo cluster, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddCluster", new object[] { cluster}, callback, asyncState); } - + /// - public int EndAddCluster(System.IAsyncResult asyncResult) { + public int EndAddCluster(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void AddClusterAsync(ClusterInfo cluster) { + public void AddClusterAsync(ClusterInfo cluster) + { this.AddClusterAsync(cluster, null); } - + /// - public void AddClusterAsync(ClusterInfo cluster, object userState) { - if ((this.AddClusterOperationCompleted == null)) { + public void AddClusterAsync(ClusterInfo cluster, object userState) + { + if ((this.AddClusterOperationCompleted == null)) + { this.AddClusterOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddClusterOperationCompleted); } this.InvokeAsync("AddCluster", new object[] { cluster}, this.AddClusterOperationCompleted, userState); } - - private void OnAddClusterOperationCompleted(object arg) { - if ((this.AddClusterCompleted != null)) { + + private void OnAddClusterOperationCompleted(object arg) + { + if ((this.AddClusterCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddClusterCompleted(this, new AddClusterCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteCluster", 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 int DeleteCluster(int clusterId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteCluster", 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 int DeleteCluster(int clusterId) + { object[] results = this.Invoke("DeleteCluster", new object[] { clusterId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginDeleteCluster(int clusterId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteCluster(int clusterId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteCluster", new object[] { clusterId}, callback, asyncState); } - + /// - public int EndDeleteCluster(System.IAsyncResult asyncResult) { + public int EndDeleteCluster(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void DeleteClusterAsync(int clusterId) { + public void DeleteClusterAsync(int clusterId) + { this.DeleteClusterAsync(clusterId, null); } - + /// - public void DeleteClusterAsync(int clusterId, object userState) { - if ((this.DeleteClusterOperationCompleted == null)) { + public void DeleteClusterAsync(int clusterId, object userState) + { + if ((this.DeleteClusterOperationCompleted == null)) + { this.DeleteClusterOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteClusterOperationCompleted); } this.InvokeAsync("DeleteCluster", new object[] { clusterId}, this.DeleteClusterOperationCompleted, userState); } - - private void OnDeleteClusterOperationCompleted(object arg) { - if ((this.DeleteClusterCompleted != null)) { + + private void OnDeleteClusterOperationCompleted(object arg) + { + if ((this.DeleteClusterCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteClusterCompleted(this, new DeleteClusterCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawDnsRecordsByService", 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 System.Data.DataSet GetRawDnsRecordsByService(int serviceId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawDnsRecordsByService", 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 System.Data.DataSet GetRawDnsRecordsByService(int serviceId) + { object[] results = this.Invoke("GetRawDnsRecordsByService", new object[] { serviceId}); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetRawDnsRecordsByService(int serviceId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetRawDnsRecordsByService(int serviceId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetRawDnsRecordsByService", new object[] { serviceId}, callback, asyncState); } - + /// - public System.Data.DataSet EndGetRawDnsRecordsByService(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetRawDnsRecordsByService(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetRawDnsRecordsByServiceAsync(int serviceId) { + public void GetRawDnsRecordsByServiceAsync(int serviceId) + { this.GetRawDnsRecordsByServiceAsync(serviceId, null); } - + /// - public void GetRawDnsRecordsByServiceAsync(int serviceId, object userState) { - if ((this.GetRawDnsRecordsByServiceOperationCompleted == null)) { + public void GetRawDnsRecordsByServiceAsync(int serviceId, object userState) + { + if ((this.GetRawDnsRecordsByServiceOperationCompleted == null)) + { this.GetRawDnsRecordsByServiceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawDnsRecordsByServiceOperationCompleted); } this.InvokeAsync("GetRawDnsRecordsByService", new object[] { serviceId}, this.GetRawDnsRecordsByServiceOperationCompleted, userState); } - - private void OnGetRawDnsRecordsByServiceOperationCompleted(object arg) { - if ((this.GetRawDnsRecordsByServiceCompleted != null)) { + + private void OnGetRawDnsRecordsByServiceOperationCompleted(object arg) + { + if ((this.GetRawDnsRecordsByServiceCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetRawDnsRecordsByServiceCompleted(this, new GetRawDnsRecordsByServiceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawDnsRecordsByServer", 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 System.Data.DataSet GetRawDnsRecordsByServer(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawDnsRecordsByServer", 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 System.Data.DataSet GetRawDnsRecordsByServer(int serverId) + { object[] results = this.Invoke("GetRawDnsRecordsByServer", new object[] { serverId}); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetRawDnsRecordsByServer(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetRawDnsRecordsByServer(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetRawDnsRecordsByServer", new object[] { serverId}, callback, asyncState); } - + /// - public System.Data.DataSet EndGetRawDnsRecordsByServer(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetRawDnsRecordsByServer(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetRawDnsRecordsByServerAsync(int serverId) { + public void GetRawDnsRecordsByServerAsync(int serverId) + { this.GetRawDnsRecordsByServerAsync(serverId, null); } - + /// - public void GetRawDnsRecordsByServerAsync(int serverId, object userState) { - if ((this.GetRawDnsRecordsByServerOperationCompleted == null)) { + public void GetRawDnsRecordsByServerAsync(int serverId, object userState) + { + if ((this.GetRawDnsRecordsByServerOperationCompleted == null)) + { this.GetRawDnsRecordsByServerOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawDnsRecordsByServerOperationCompleted); } this.InvokeAsync("GetRawDnsRecordsByServer", new object[] { serverId}, this.GetRawDnsRecordsByServerOperationCompleted, userState); } - - private void OnGetRawDnsRecordsByServerOperationCompleted(object arg) { - if ((this.GetRawDnsRecordsByServerCompleted != null)) { + + private void OnGetRawDnsRecordsByServerOperationCompleted(object arg) + { + if ((this.GetRawDnsRecordsByServerCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetRawDnsRecordsByServerCompleted(this, new GetRawDnsRecordsByServerCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawDnsRecordsByPackage", 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 System.Data.DataSet GetRawDnsRecordsByPackage(int packageId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawDnsRecordsByPackage", 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 System.Data.DataSet GetRawDnsRecordsByPackage(int packageId) + { object[] results = this.Invoke("GetRawDnsRecordsByPackage", new object[] { packageId}); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetRawDnsRecordsByPackage(int packageId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetRawDnsRecordsByPackage(int packageId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetRawDnsRecordsByPackage", new object[] { packageId}, callback, asyncState); } - + /// - public System.Data.DataSet EndGetRawDnsRecordsByPackage(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetRawDnsRecordsByPackage(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetRawDnsRecordsByPackageAsync(int packageId) { + public void GetRawDnsRecordsByPackageAsync(int packageId) + { this.GetRawDnsRecordsByPackageAsync(packageId, null); } - + /// - public void GetRawDnsRecordsByPackageAsync(int packageId, object userState) { - if ((this.GetRawDnsRecordsByPackageOperationCompleted == null)) { + public void GetRawDnsRecordsByPackageAsync(int packageId, object userState) + { + if ((this.GetRawDnsRecordsByPackageOperationCompleted == null)) + { this.GetRawDnsRecordsByPackageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawDnsRecordsByPackageOperationCompleted); } this.InvokeAsync("GetRawDnsRecordsByPackage", new object[] { packageId}, this.GetRawDnsRecordsByPackageOperationCompleted, userState); } - - private void OnGetRawDnsRecordsByPackageOperationCompleted(object arg) { - if ((this.GetRawDnsRecordsByPackageCompleted != null)) { + + private void OnGetRawDnsRecordsByPackageOperationCompleted(object arg) + { + if ((this.GetRawDnsRecordsByPackageCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetRawDnsRecordsByPackageCompleted(this, new GetRawDnsRecordsByPackageCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawDnsRecordsByGroup", 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 System.Data.DataSet GetRawDnsRecordsByGroup(int groupId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawDnsRecordsByGroup", 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 System.Data.DataSet GetRawDnsRecordsByGroup(int groupId) + { object[] results = this.Invoke("GetRawDnsRecordsByGroup", new object[] { groupId}); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetRawDnsRecordsByGroup(int groupId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetRawDnsRecordsByGroup(int groupId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetRawDnsRecordsByGroup", new object[] { groupId}, callback, asyncState); } - + /// - public System.Data.DataSet EndGetRawDnsRecordsByGroup(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetRawDnsRecordsByGroup(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetRawDnsRecordsByGroupAsync(int groupId) { + public void GetRawDnsRecordsByGroupAsync(int groupId) + { this.GetRawDnsRecordsByGroupAsync(groupId, null); } - + /// - public void GetRawDnsRecordsByGroupAsync(int groupId, object userState) { - if ((this.GetRawDnsRecordsByGroupOperationCompleted == null)) { + public void GetRawDnsRecordsByGroupAsync(int groupId, object userState) + { + if ((this.GetRawDnsRecordsByGroupOperationCompleted == null)) + { this.GetRawDnsRecordsByGroupOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawDnsRecordsByGroupOperationCompleted); } this.InvokeAsync("GetRawDnsRecordsByGroup", new object[] { groupId}, this.GetRawDnsRecordsByGroupOperationCompleted, userState); } - - private void OnGetRawDnsRecordsByGroupOperationCompleted(object arg) { - if ((this.GetRawDnsRecordsByGroupCompleted != null)) { + + private void OnGetRawDnsRecordsByGroupOperationCompleted(object arg) + { + if ((this.GetRawDnsRecordsByGroupCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetRawDnsRecordsByGroupCompleted(this, new GetRawDnsRecordsByGroupCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDnsRecordsByService", 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 GlobalDnsRecord[] GetDnsRecordsByService(int serviceId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDnsRecordsByService", 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 GlobalDnsRecord[] GetDnsRecordsByService(int serviceId) + { object[] results = this.Invoke("GetDnsRecordsByService", new object[] { serviceId}); return ((GlobalDnsRecord[])(results[0])); } - + /// - public System.IAsyncResult BeginGetDnsRecordsByService(int serviceId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetDnsRecordsByService(int serviceId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetDnsRecordsByService", new object[] { serviceId}, callback, asyncState); } - + /// - public GlobalDnsRecord[] EndGetDnsRecordsByService(System.IAsyncResult asyncResult) { + public GlobalDnsRecord[] EndGetDnsRecordsByService(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((GlobalDnsRecord[])(results[0])); } - + /// - public void GetDnsRecordsByServiceAsync(int serviceId) { + public void GetDnsRecordsByServiceAsync(int serviceId) + { this.GetDnsRecordsByServiceAsync(serviceId, null); } - + /// - public void GetDnsRecordsByServiceAsync(int serviceId, object userState) { - if ((this.GetDnsRecordsByServiceOperationCompleted == null)) { + public void GetDnsRecordsByServiceAsync(int serviceId, object userState) + { + if ((this.GetDnsRecordsByServiceOperationCompleted == null)) + { this.GetDnsRecordsByServiceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDnsRecordsByServiceOperationCompleted); } this.InvokeAsync("GetDnsRecordsByService", new object[] { serviceId}, this.GetDnsRecordsByServiceOperationCompleted, userState); } - - private void OnGetDnsRecordsByServiceOperationCompleted(object arg) { - if ((this.GetDnsRecordsByServiceCompleted != null)) { + + private void OnGetDnsRecordsByServiceOperationCompleted(object arg) + { + if ((this.GetDnsRecordsByServiceCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetDnsRecordsByServiceCompleted(this, new GetDnsRecordsByServiceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDnsRecordsByServer", 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 GlobalDnsRecord[] GetDnsRecordsByServer(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDnsRecordsByServer", 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 GlobalDnsRecord[] GetDnsRecordsByServer(int serverId) + { object[] results = this.Invoke("GetDnsRecordsByServer", new object[] { serverId}); return ((GlobalDnsRecord[])(results[0])); } - + /// - public System.IAsyncResult BeginGetDnsRecordsByServer(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetDnsRecordsByServer(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetDnsRecordsByServer", new object[] { serverId}, callback, asyncState); } - + /// - public GlobalDnsRecord[] EndGetDnsRecordsByServer(System.IAsyncResult asyncResult) { + public GlobalDnsRecord[] EndGetDnsRecordsByServer(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((GlobalDnsRecord[])(results[0])); } - + /// - public void GetDnsRecordsByServerAsync(int serverId) { + public void GetDnsRecordsByServerAsync(int serverId) + { this.GetDnsRecordsByServerAsync(serverId, null); } - + /// - public void GetDnsRecordsByServerAsync(int serverId, object userState) { - if ((this.GetDnsRecordsByServerOperationCompleted == null)) { + public void GetDnsRecordsByServerAsync(int serverId, object userState) + { + if ((this.GetDnsRecordsByServerOperationCompleted == null)) + { this.GetDnsRecordsByServerOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDnsRecordsByServerOperationCompleted); } this.InvokeAsync("GetDnsRecordsByServer", new object[] { serverId}, this.GetDnsRecordsByServerOperationCompleted, userState); } - - private void OnGetDnsRecordsByServerOperationCompleted(object arg) { - if ((this.GetDnsRecordsByServerCompleted != null)) { + + private void OnGetDnsRecordsByServerOperationCompleted(object arg) + { + if ((this.GetDnsRecordsByServerCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetDnsRecordsByServerCompleted(this, new GetDnsRecordsByServerCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDnsRecordsByPackage", 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 GlobalDnsRecord[] GetDnsRecordsByPackage(int packageId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDnsRecordsByPackage", 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 GlobalDnsRecord[] GetDnsRecordsByPackage(int packageId) + { object[] results = this.Invoke("GetDnsRecordsByPackage", new object[] { packageId}); return ((GlobalDnsRecord[])(results[0])); } - + /// - public System.IAsyncResult BeginGetDnsRecordsByPackage(int packageId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetDnsRecordsByPackage(int packageId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetDnsRecordsByPackage", new object[] { packageId}, callback, asyncState); } - + /// - public GlobalDnsRecord[] EndGetDnsRecordsByPackage(System.IAsyncResult asyncResult) { + public GlobalDnsRecord[] EndGetDnsRecordsByPackage(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((GlobalDnsRecord[])(results[0])); } - + /// - public void GetDnsRecordsByPackageAsync(int packageId) { + public void GetDnsRecordsByPackageAsync(int packageId) + { this.GetDnsRecordsByPackageAsync(packageId, null); } - + /// - public void GetDnsRecordsByPackageAsync(int packageId, object userState) { - if ((this.GetDnsRecordsByPackageOperationCompleted == null)) { + public void GetDnsRecordsByPackageAsync(int packageId, object userState) + { + if ((this.GetDnsRecordsByPackageOperationCompleted == null)) + { this.GetDnsRecordsByPackageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDnsRecordsByPackageOperationCompleted); } this.InvokeAsync("GetDnsRecordsByPackage", new object[] { packageId}, this.GetDnsRecordsByPackageOperationCompleted, userState); } - - private void OnGetDnsRecordsByPackageOperationCompleted(object arg) { - if ((this.GetDnsRecordsByPackageCompleted != null)) { + + private void OnGetDnsRecordsByPackageOperationCompleted(object arg) + { + if ((this.GetDnsRecordsByPackageCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetDnsRecordsByPackageCompleted(this, new GetDnsRecordsByPackageCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDnsRecordsByGroup", 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 GlobalDnsRecord[] GetDnsRecordsByGroup(int groupId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDnsRecordsByGroup", 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 GlobalDnsRecord[] GetDnsRecordsByGroup(int groupId) + { object[] results = this.Invoke("GetDnsRecordsByGroup", new object[] { groupId}); return ((GlobalDnsRecord[])(results[0])); } - + /// - public System.IAsyncResult BeginGetDnsRecordsByGroup(int groupId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetDnsRecordsByGroup(int groupId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetDnsRecordsByGroup", new object[] { groupId}, callback, asyncState); } - + /// - public GlobalDnsRecord[] EndGetDnsRecordsByGroup(System.IAsyncResult asyncResult) { + public GlobalDnsRecord[] EndGetDnsRecordsByGroup(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((GlobalDnsRecord[])(results[0])); } - + /// - public void GetDnsRecordsByGroupAsync(int groupId) { + public void GetDnsRecordsByGroupAsync(int groupId) + { this.GetDnsRecordsByGroupAsync(groupId, null); } - + /// - public void GetDnsRecordsByGroupAsync(int groupId, object userState) { - if ((this.GetDnsRecordsByGroupOperationCompleted == null)) { + public void GetDnsRecordsByGroupAsync(int groupId, object userState) + { + if ((this.GetDnsRecordsByGroupOperationCompleted == null)) + { this.GetDnsRecordsByGroupOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDnsRecordsByGroupOperationCompleted); } this.InvokeAsync("GetDnsRecordsByGroup", new object[] { groupId}, this.GetDnsRecordsByGroupOperationCompleted, userState); } - - private void OnGetDnsRecordsByGroupOperationCompleted(object arg) { - if ((this.GetDnsRecordsByGroupCompleted != null)) { + + private void OnGetDnsRecordsByGroupOperationCompleted(object arg) + { + if ((this.GetDnsRecordsByGroupCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetDnsRecordsByGroupCompleted(this, new GetDnsRecordsByGroupCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDnsRecord", 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 GlobalDnsRecord GetDnsRecord(int recordId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDnsRecord", 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 GlobalDnsRecord GetDnsRecord(int recordId) + { object[] results = this.Invoke("GetDnsRecord", new object[] { recordId}); return ((GlobalDnsRecord)(results[0])); } - + /// - public System.IAsyncResult BeginGetDnsRecord(int recordId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetDnsRecord(int recordId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetDnsRecord", new object[] { recordId}, callback, asyncState); } - + /// - public GlobalDnsRecord EndGetDnsRecord(System.IAsyncResult asyncResult) { + public GlobalDnsRecord EndGetDnsRecord(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((GlobalDnsRecord)(results[0])); } - + /// - public void GetDnsRecordAsync(int recordId) { + public void GetDnsRecordAsync(int recordId) + { this.GetDnsRecordAsync(recordId, null); } - + /// - public void GetDnsRecordAsync(int recordId, object userState) { - if ((this.GetDnsRecordOperationCompleted == null)) { + public void GetDnsRecordAsync(int recordId, object userState) + { + if ((this.GetDnsRecordOperationCompleted == null)) + { this.GetDnsRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDnsRecordOperationCompleted); } this.InvokeAsync("GetDnsRecord", new object[] { recordId}, this.GetDnsRecordOperationCompleted, userState); } - - private void OnGetDnsRecordOperationCompleted(object arg) { - if ((this.GetDnsRecordCompleted != null)) { + + private void OnGetDnsRecordOperationCompleted(object arg) + { + if ((this.GetDnsRecordCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetDnsRecordCompleted(this, new GetDnsRecordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddDnsRecord", 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 int AddDnsRecord(GlobalDnsRecord record) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddDnsRecord", 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 int AddDnsRecord(GlobalDnsRecord record) + { object[] results = this.Invoke("AddDnsRecord", new object[] { record}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginAddDnsRecord(GlobalDnsRecord record, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddDnsRecord(GlobalDnsRecord record, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddDnsRecord", new object[] { record}, callback, asyncState); } - + /// - public int EndAddDnsRecord(System.IAsyncResult asyncResult) { + public int EndAddDnsRecord(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void AddDnsRecordAsync(GlobalDnsRecord record) { + public void AddDnsRecordAsync(GlobalDnsRecord record) + { this.AddDnsRecordAsync(record, null); } - + /// - public void AddDnsRecordAsync(GlobalDnsRecord record, object userState) { - if ((this.AddDnsRecordOperationCompleted == null)) { + public void AddDnsRecordAsync(GlobalDnsRecord record, object userState) + { + if ((this.AddDnsRecordOperationCompleted == null)) + { this.AddDnsRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddDnsRecordOperationCompleted); } this.InvokeAsync("AddDnsRecord", new object[] { record}, this.AddDnsRecordOperationCompleted, userState); } - - private void OnAddDnsRecordOperationCompleted(object arg) { - if ((this.AddDnsRecordCompleted != null)) { + + private void OnAddDnsRecordOperationCompleted(object arg) + { + if ((this.AddDnsRecordCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddDnsRecordCompleted(this, new AddDnsRecordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateDnsRecord", 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 int UpdateDnsRecord(GlobalDnsRecord record) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateDnsRecord", 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 int UpdateDnsRecord(GlobalDnsRecord record) + { object[] results = this.Invoke("UpdateDnsRecord", new object[] { record}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginUpdateDnsRecord(GlobalDnsRecord record, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginUpdateDnsRecord(GlobalDnsRecord record, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("UpdateDnsRecord", new object[] { record}, callback, asyncState); } - + /// - public int EndUpdateDnsRecord(System.IAsyncResult asyncResult) { + public int EndUpdateDnsRecord(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void UpdateDnsRecordAsync(GlobalDnsRecord record) { + public void UpdateDnsRecordAsync(GlobalDnsRecord record) + { this.UpdateDnsRecordAsync(record, null); } - + /// - public void UpdateDnsRecordAsync(GlobalDnsRecord record, object userState) { - if ((this.UpdateDnsRecordOperationCompleted == null)) { + public void UpdateDnsRecordAsync(GlobalDnsRecord record, object userState) + { + if ((this.UpdateDnsRecordOperationCompleted == null)) + { this.UpdateDnsRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateDnsRecordOperationCompleted); } this.InvokeAsync("UpdateDnsRecord", new object[] { record}, this.UpdateDnsRecordOperationCompleted, userState); } - - private void OnUpdateDnsRecordOperationCompleted(object arg) { - if ((this.UpdateDnsRecordCompleted != null)) { + + private void OnUpdateDnsRecordOperationCompleted(object arg) + { + if ((this.UpdateDnsRecordCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.UpdateDnsRecordCompleted(this, new UpdateDnsRecordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteDnsRecord", 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 int DeleteDnsRecord(int recordId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteDnsRecord", 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 int DeleteDnsRecord(int recordId) + { object[] results = this.Invoke("DeleteDnsRecord", new object[] { recordId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginDeleteDnsRecord(int recordId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteDnsRecord(int recordId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteDnsRecord", new object[] { recordId}, callback, asyncState); } - + /// - public int EndDeleteDnsRecord(System.IAsyncResult asyncResult) { + public int EndDeleteDnsRecord(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void DeleteDnsRecordAsync(int recordId) { + public void DeleteDnsRecordAsync(int recordId) + { this.DeleteDnsRecordAsync(recordId, null); } - + /// - public void DeleteDnsRecordAsync(int recordId, object userState) { - if ((this.DeleteDnsRecordOperationCompleted == null)) { + public void DeleteDnsRecordAsync(int recordId, object userState) + { + if ((this.DeleteDnsRecordOperationCompleted == null)) + { this.DeleteDnsRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteDnsRecordOperationCompleted); } this.InvokeAsync("DeleteDnsRecord", new object[] { recordId}, this.DeleteDnsRecordOperationCompleted, userState); } - - private void OnDeleteDnsRecordOperationCompleted(object arg) { - if ((this.DeleteDnsRecordCompleted != null)) { + + private void OnDeleteDnsRecordOperationCompleted(object arg) + { + if ((this.DeleteDnsRecordCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteDnsRecordCompleted(this, new DeleteDnsRecordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDomains", 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 DomainInfo[] GetDomains(int packageId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDomains", 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 DomainInfo[] GetDomains(int packageId) + { object[] results = this.Invoke("GetDomains", new object[] { packageId}); return ((DomainInfo[])(results[0])); } - + /// - public System.IAsyncResult BeginGetDomains(int packageId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetDomains(int packageId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetDomains", new object[] { packageId}, callback, asyncState); } - + /// - public DomainInfo[] EndGetDomains(System.IAsyncResult asyncResult) { + public DomainInfo[] EndGetDomains(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((DomainInfo[])(results[0])); } - + /// - public void GetDomainsAsync(int packageId) { + public void GetDomainsAsync(int packageId) + { this.GetDomainsAsync(packageId, null); } - + /// - public void GetDomainsAsync(int packageId, object userState) { - if ((this.GetDomainsOperationCompleted == null)) { + public void GetDomainsAsync(int packageId, object userState) + { + if ((this.GetDomainsOperationCompleted == null)) + { this.GetDomainsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDomainsOperationCompleted); } this.InvokeAsync("GetDomains", new object[] { packageId}, this.GetDomainsOperationCompleted, userState); } - - private void OnGetDomainsOperationCompleted(object arg) { - if ((this.GetDomainsCompleted != null)) { + + private void OnGetDomainsOperationCompleted(object arg) + { + if ((this.GetDomainsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetDomainsCompleted(this, new GetDomainsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMyDomains", 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 DomainInfo[] GetMyDomains(int packageId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMyDomains", 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 DomainInfo[] GetMyDomains(int packageId) + { object[] results = this.Invoke("GetMyDomains", new object[] { packageId}); return ((DomainInfo[])(results[0])); } - + /// - public System.IAsyncResult BeginGetMyDomains(int packageId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetMyDomains(int packageId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetMyDomains", new object[] { packageId}, callback, asyncState); } - + /// - public DomainInfo[] EndGetMyDomains(System.IAsyncResult asyncResult) { + public DomainInfo[] EndGetMyDomains(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((DomainInfo[])(results[0])); } - + /// - public void GetMyDomainsAsync(int packageId) { + public void GetMyDomainsAsync(int packageId) + { this.GetMyDomainsAsync(packageId, null); } - + /// - public void GetMyDomainsAsync(int packageId, object userState) { - if ((this.GetMyDomainsOperationCompleted == null)) { + public void GetMyDomainsAsync(int packageId, object userState) + { + if ((this.GetMyDomainsOperationCompleted == null)) + { this.GetMyDomainsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMyDomainsOperationCompleted); } this.InvokeAsync("GetMyDomains", new object[] { packageId}, this.GetMyDomainsOperationCompleted, userState); } - - private void OnGetMyDomainsOperationCompleted(object arg) { - if ((this.GetMyDomainsCompleted != null)) { + + private void OnGetMyDomainsOperationCompleted(object arg) + { + if ((this.GetMyDomainsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetMyDomainsCompleted(this, new GetMyDomainsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetResellerDomains", 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 DomainInfo[] GetResellerDomains(int packageId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetResellerDomains", 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 DomainInfo[] GetResellerDomains(int packageId) + { object[] results = this.Invoke("GetResellerDomains", new object[] { packageId}); return ((DomainInfo[])(results[0])); } - + /// - public System.IAsyncResult BeginGetResellerDomains(int packageId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetResellerDomains(int packageId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetResellerDomains", new object[] { packageId}, callback, asyncState); } - + /// - public DomainInfo[] EndGetResellerDomains(System.IAsyncResult asyncResult) { + public DomainInfo[] EndGetResellerDomains(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((DomainInfo[])(results[0])); } - + /// - public void GetResellerDomainsAsync(int packageId) { + public void GetResellerDomainsAsync(int packageId) + { this.GetResellerDomainsAsync(packageId, null); } - + /// - public void GetResellerDomainsAsync(int packageId, object userState) { - if ((this.GetResellerDomainsOperationCompleted == null)) { + public void GetResellerDomainsAsync(int packageId, object userState) + { + if ((this.GetResellerDomainsOperationCompleted == null)) + { this.GetResellerDomainsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetResellerDomainsOperationCompleted); } this.InvokeAsync("GetResellerDomains", new object[] { packageId}, this.GetResellerDomainsOperationCompleted, userState); } - - private void OnGetResellerDomainsOperationCompleted(object arg) { - if ((this.GetResellerDomainsCompleted != null)) { + + private void OnGetResellerDomainsOperationCompleted(object arg) + { + if ((this.GetResellerDomainsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetResellerDomainsCompleted(this, new GetResellerDomainsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDomainsPaged", 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 System.Data.DataSet GetDomainsPaged(int packageId, int serverId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDomainsPaged", 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 System.Data.DataSet GetDomainsPaged(int packageId, int serverId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) + { object[] results = this.Invoke("GetDomainsPaged", new object[] { packageId, serverId, @@ -3776,9 +4346,10 @@ namespace WebsitePanel.EnterpriseServer { maximumRows}); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetDomainsPaged(int packageId, int serverId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetDomainsPaged(int packageId, int serverId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetDomainsPaged", new object[] { packageId, serverId, @@ -3789,21 +4360,25 @@ namespace WebsitePanel.EnterpriseServer { startRow, maximumRows}, callback, asyncState); } - + /// - public System.Data.DataSet EndGetDomainsPaged(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetDomainsPaged(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetDomainsPagedAsync(int packageId, int serverId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) { + public void GetDomainsPagedAsync(int packageId, int serverId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) + { this.GetDomainsPagedAsync(packageId, serverId, recursive, filterColumn, filterValue, sortColumn, startRow, maximumRows, null); } - + /// - public void GetDomainsPagedAsync(int packageId, int serverId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState) { - if ((this.GetDomainsPagedOperationCompleted == null)) { + public void GetDomainsPagedAsync(int packageId, int serverId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState) + { + if ((this.GetDomainsPagedOperationCompleted == null)) + { this.GetDomainsPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDomainsPagedOperationCompleted); } this.InvokeAsync("GetDomainsPaged", new object[] { @@ -3816,99 +4391,118 @@ namespace WebsitePanel.EnterpriseServer { startRow, maximumRows}, this.GetDomainsPagedOperationCompleted, userState); } - - private void OnGetDomainsPagedOperationCompleted(object arg) { - if ((this.GetDomainsPagedCompleted != null)) { + + private void OnGetDomainsPagedOperationCompleted(object arg) + { + if ((this.GetDomainsPagedCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetDomainsPagedCompleted(this, new GetDomainsPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDomain", 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 DomainInfo GetDomain(int domainId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDomain", 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 DomainInfo GetDomain(int domainId) + { object[] results = this.Invoke("GetDomain", new object[] { domainId}); return ((DomainInfo)(results[0])); } - + /// - public System.IAsyncResult BeginGetDomain(int domainId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetDomain(int domainId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetDomain", new object[] { domainId}, callback, asyncState); } - + /// - public DomainInfo EndGetDomain(System.IAsyncResult asyncResult) { + public DomainInfo EndGetDomain(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((DomainInfo)(results[0])); } - + /// - public void GetDomainAsync(int domainId) { + public void GetDomainAsync(int domainId) + { this.GetDomainAsync(domainId, null); } - + /// - public void GetDomainAsync(int domainId, object userState) { - if ((this.GetDomainOperationCompleted == null)) { + public void GetDomainAsync(int domainId, object userState) + { + if ((this.GetDomainOperationCompleted == null)) + { this.GetDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDomainOperationCompleted); } this.InvokeAsync("GetDomain", new object[] { domainId}, this.GetDomainOperationCompleted, userState); } - - private void OnGetDomainOperationCompleted(object arg) { - if ((this.GetDomainCompleted != null)) { + + private void OnGetDomainOperationCompleted(object arg) + { + if ((this.GetDomainCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetDomainCompleted(this, new GetDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddDomain", 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 int AddDomain(DomainInfo domain) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddDomain", 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 int AddDomain(DomainInfo domain) + { object[] results = this.Invoke("AddDomain", new object[] { domain}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginAddDomain(DomainInfo domain, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddDomain(DomainInfo domain, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddDomain", new object[] { domain}, callback, asyncState); } - + /// - public int EndAddDomain(System.IAsyncResult asyncResult) { + public int EndAddDomain(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void AddDomainAsync(DomainInfo domain) { + public void AddDomainAsync(DomainInfo domain) + { this.AddDomainAsync(domain, null); } - + /// - public void AddDomainAsync(DomainInfo domain, object userState) { - if ((this.AddDomainOperationCompleted == null)) { + public void AddDomainAsync(DomainInfo domain, object userState) + { + if ((this.AddDomainOperationCompleted == null)) + { this.AddDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddDomainOperationCompleted); } this.InvokeAsync("AddDomain", new object[] { domain}, this.AddDomainOperationCompleted, userState); } - - private void OnAddDomainOperationCompleted(object arg) { - if ((this.AddDomainCompleted != null)) { + + private void OnAddDomainOperationCompleted(object arg) + { + if ((this.AddDomainCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddDomainCompleted(this, new AddDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddDomainWithProvisioning", 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 int AddDomainWithProvisioning(int packageId, string domainName, DomainType domainType, bool createWebSite, int pointWebSiteId, int pointMailDomainId, bool createDnsZone, bool createInstantAlias, bool allowSubDomains) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddDomainWithProvisioning", 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 int AddDomainWithProvisioning(int packageId, string domainName, DomainType domainType, bool createWebSite, int pointWebSiteId, int pointMailDomainId, bool createDnsZone, bool createInstantAlias, bool allowSubDomains) + { object[] results = this.Invoke("AddDomainWithProvisioning", new object[] { packageId, domainName, @@ -3921,9 +4515,10 @@ namespace WebsitePanel.EnterpriseServer { allowSubDomains}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginAddDomainWithProvisioning(int packageId, string domainName, DomainType domainType, bool createWebSite, int pointWebSiteId, int pointMailDomainId, bool createDnsZone, bool createInstantAlias, bool allowSubDomains, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddDomainWithProvisioning(int packageId, string domainName, DomainType domainType, bool createWebSite, int pointWebSiteId, int pointMailDomainId, bool createDnsZone, bool createInstantAlias, bool allowSubDomains, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddDomainWithProvisioning", new object[] { packageId, domainName, @@ -3935,21 +4530,25 @@ namespace WebsitePanel.EnterpriseServer { createInstantAlias, allowSubDomains}, callback, asyncState); } - + /// - public int EndAddDomainWithProvisioning(System.IAsyncResult asyncResult) { + public int EndAddDomainWithProvisioning(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void AddDomainWithProvisioningAsync(int packageId, string domainName, DomainType domainType, bool createWebSite, int pointWebSiteId, int pointMailDomainId, bool createDnsZone, bool createInstantAlias, bool allowSubDomains) { + public void AddDomainWithProvisioningAsync(int packageId, string domainName, DomainType domainType, bool createWebSite, int pointWebSiteId, int pointMailDomainId, bool createDnsZone, bool createInstantAlias, bool allowSubDomains) + { this.AddDomainWithProvisioningAsync(packageId, domainName, domainType, createWebSite, pointWebSiteId, pointMailDomainId, createDnsZone, createInstantAlias, allowSubDomains, null); } - + /// - public void AddDomainWithProvisioningAsync(int packageId, string domainName, DomainType domainType, bool createWebSite, int pointWebSiteId, int pointMailDomainId, bool createDnsZone, bool createInstantAlias, bool allowSubDomains, object userState) { - if ((this.AddDomainWithProvisioningOperationCompleted == null)) { + public void AddDomainWithProvisioningAsync(int packageId, string domainName, DomainType domainType, bool createWebSite, int pointWebSiteId, int pointMailDomainId, bool createDnsZone, bool createInstantAlias, bool allowSubDomains, object userState) + { + if ((this.AddDomainWithProvisioningOperationCompleted == null)) + { this.AddDomainWithProvisioningOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddDomainWithProvisioningOperationCompleted); } this.InvokeAsync("AddDomainWithProvisioning", new object[] { @@ -3963,419 +4562,508 @@ namespace WebsitePanel.EnterpriseServer { createInstantAlias, allowSubDomains}, this.AddDomainWithProvisioningOperationCompleted, userState); } - - private void OnAddDomainWithProvisioningOperationCompleted(object arg) { - if ((this.AddDomainWithProvisioningCompleted != null)) { + + private void OnAddDomainWithProvisioningOperationCompleted(object arg) + { + if ((this.AddDomainWithProvisioningCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddDomainWithProvisioningCompleted(this, new AddDomainWithProvisioningCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateDomain", 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 int UpdateDomain(DomainInfo domain) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateDomain", 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 int UpdateDomain(DomainInfo domain) + { object[] results = this.Invoke("UpdateDomain", new object[] { domain}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginUpdateDomain(DomainInfo domain, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginUpdateDomain(DomainInfo domain, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("UpdateDomain", new object[] { domain}, callback, asyncState); } - + /// - public int EndUpdateDomain(System.IAsyncResult asyncResult) { + public int EndUpdateDomain(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void UpdateDomainAsync(DomainInfo domain) { + public void UpdateDomainAsync(DomainInfo domain) + { this.UpdateDomainAsync(domain, null); } - + /// - public void UpdateDomainAsync(DomainInfo domain, object userState) { - if ((this.UpdateDomainOperationCompleted == null)) { + public void UpdateDomainAsync(DomainInfo domain, object userState) + { + if ((this.UpdateDomainOperationCompleted == null)) + { this.UpdateDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateDomainOperationCompleted); } this.InvokeAsync("UpdateDomain", new object[] { domain}, this.UpdateDomainOperationCompleted, userState); } - - private void OnUpdateDomainOperationCompleted(object arg) { - if ((this.UpdateDomainCompleted != null)) { + + private void OnUpdateDomainOperationCompleted(object arg) + { + if ((this.UpdateDomainCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.UpdateDomainCompleted(this, new UpdateDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteDomain", 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 int DeleteDomain(int domainId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteDomain", 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 int DeleteDomain(int domainId) + { object[] results = this.Invoke("DeleteDomain", new object[] { domainId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginDeleteDomain(int domainId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteDomain(int domainId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteDomain", new object[] { domainId}, callback, asyncState); } - + /// - public int EndDeleteDomain(System.IAsyncResult asyncResult) { + public int EndDeleteDomain(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void DeleteDomainAsync(int domainId) { + public void DeleteDomainAsync(int domainId) + { this.DeleteDomainAsync(domainId, null); } - + /// - public void DeleteDomainAsync(int domainId, object userState) { - if ((this.DeleteDomainOperationCompleted == null)) { + public void DeleteDomainAsync(int domainId, object userState) + { + if ((this.DeleteDomainOperationCompleted == null)) + { this.DeleteDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteDomainOperationCompleted); } this.InvokeAsync("DeleteDomain", new object[] { domainId}, this.DeleteDomainOperationCompleted, userState); } - - private void OnDeleteDomainOperationCompleted(object arg) { - if ((this.DeleteDomainCompleted != null)) { + + private void OnDeleteDomainOperationCompleted(object arg) + { + if ((this.DeleteDomainCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteDomainCompleted(this, new DeleteDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DetachDomain", 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 int DetachDomain(int domainId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DetachDomain", 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 int DetachDomain(int domainId) + { object[] results = this.Invoke("DetachDomain", new object[] { domainId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginDetachDomain(int domainId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDetachDomain(int domainId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DetachDomain", new object[] { domainId}, callback, asyncState); } - + /// - public int EndDetachDomain(System.IAsyncResult asyncResult) { + public int EndDetachDomain(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void DetachDomainAsync(int domainId) { + public void DetachDomainAsync(int domainId) + { this.DetachDomainAsync(domainId, null); } - + /// - public void DetachDomainAsync(int domainId, object userState) { - if ((this.DetachDomainOperationCompleted == null)) { + public void DetachDomainAsync(int domainId, object userState) + { + if ((this.DetachDomainOperationCompleted == null)) + { this.DetachDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDetachDomainOperationCompleted); } this.InvokeAsync("DetachDomain", new object[] { domainId}, this.DetachDomainOperationCompleted, userState); } - - private void OnDetachDomainOperationCompleted(object arg) { - if ((this.DetachDomainCompleted != null)) { + + private void OnDetachDomainOperationCompleted(object arg) + { + if ((this.DetachDomainCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DetachDomainCompleted(this, new DetachDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/EnableDomainDns", 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 int EnableDomainDns(int domainId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/EnableDomainDns", 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 int EnableDomainDns(int domainId) + { object[] results = this.Invoke("EnableDomainDns", new object[] { domainId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginEnableDomainDns(int domainId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginEnableDomainDns(int domainId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("EnableDomainDns", new object[] { domainId}, callback, asyncState); } - + /// - public int EndEnableDomainDns(System.IAsyncResult asyncResult) { + public int EndEnableDomainDns(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void EnableDomainDnsAsync(int domainId) { + public void EnableDomainDnsAsync(int domainId) + { this.EnableDomainDnsAsync(domainId, null); } - + /// - public void EnableDomainDnsAsync(int domainId, object userState) { - if ((this.EnableDomainDnsOperationCompleted == null)) { + public void EnableDomainDnsAsync(int domainId, object userState) + { + if ((this.EnableDomainDnsOperationCompleted == null)) + { this.EnableDomainDnsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnEnableDomainDnsOperationCompleted); } this.InvokeAsync("EnableDomainDns", new object[] { domainId}, this.EnableDomainDnsOperationCompleted, userState); } - - private void OnEnableDomainDnsOperationCompleted(object arg) { - if ((this.EnableDomainDnsCompleted != null)) { + + private void OnEnableDomainDnsOperationCompleted(object arg) + { + if ((this.EnableDomainDnsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.EnableDomainDnsCompleted(this, new EnableDomainDnsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DisableDomainDns", 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 int DisableDomainDns(int domainId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DisableDomainDns", 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 int DisableDomainDns(int domainId) + { object[] results = this.Invoke("DisableDomainDns", new object[] { domainId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginDisableDomainDns(int domainId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDisableDomainDns(int domainId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DisableDomainDns", new object[] { domainId}, callback, asyncState); } - + /// - public int EndDisableDomainDns(System.IAsyncResult asyncResult) { + public int EndDisableDomainDns(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void DisableDomainDnsAsync(int domainId) { + public void DisableDomainDnsAsync(int domainId) + { this.DisableDomainDnsAsync(domainId, null); } - + /// - public void DisableDomainDnsAsync(int domainId, object userState) { - if ((this.DisableDomainDnsOperationCompleted == null)) { + public void DisableDomainDnsAsync(int domainId, object userState) + { + if ((this.DisableDomainDnsOperationCompleted == null)) + { this.DisableDomainDnsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDisableDomainDnsOperationCompleted); } this.InvokeAsync("DisableDomainDns", new object[] { domainId}, this.DisableDomainDnsOperationCompleted, userState); } - - private void OnDisableDomainDnsOperationCompleted(object arg) { - if ((this.DisableDomainDnsCompleted != null)) { + + private void OnDisableDomainDnsOperationCompleted(object arg) + { + if ((this.DisableDomainDnsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DisableDomainDnsCompleted(this, new DisableDomainDnsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CreateDomainInstantAlias", 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 int CreateDomainInstantAlias(int domainId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CreateDomainInstantAlias", 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 int CreateDomainInstantAlias(string hostName, int domainId) + { object[] results = this.Invoke("CreateDomainInstantAlias", new object[] { + hostName, domainId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginCreateDomainInstantAlias(int domainId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginCreateDomainInstantAlias(string hostName, int domainId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("CreateDomainInstantAlias", new object[] { + hostName, domainId}, callback, asyncState); } - + /// - public int EndCreateDomainInstantAlias(System.IAsyncResult asyncResult) { + public int EndCreateDomainInstantAlias(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void CreateDomainInstantAliasAsync(int domainId) { - this.CreateDomainInstantAliasAsync(domainId, null); + public void CreateDomainInstantAliasAsync(string hostName, int domainId) + { + this.CreateDomainInstantAliasAsync(hostName, domainId, null); } - + /// - public void CreateDomainInstantAliasAsync(int domainId, object userState) { - if ((this.CreateDomainInstantAliasOperationCompleted == null)) { + public void CreateDomainInstantAliasAsync(string hostName, int domainId, object userState) + { + if ((this.CreateDomainInstantAliasOperationCompleted == null)) + { this.CreateDomainInstantAliasOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateDomainInstantAliasOperationCompleted); } this.InvokeAsync("CreateDomainInstantAlias", new object[] { + hostName, domainId}, this.CreateDomainInstantAliasOperationCompleted, userState); } - - private void OnCreateDomainInstantAliasOperationCompleted(object arg) { - if ((this.CreateDomainInstantAliasCompleted != null)) { + + private void OnCreateDomainInstantAliasOperationCompleted(object arg) + { + if ((this.CreateDomainInstantAliasCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.CreateDomainInstantAliasCompleted(this, new CreateDomainInstantAliasCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteDomainInstantAlias", 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 int DeleteDomainInstantAlias(int domainId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteDomainInstantAlias", 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 int DeleteDomainInstantAlias(int domainId) + { object[] results = this.Invoke("DeleteDomainInstantAlias", new object[] { domainId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginDeleteDomainInstantAlias(int domainId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteDomainInstantAlias(int domainId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteDomainInstantAlias", new object[] { domainId}, callback, asyncState); } - + /// - public int EndDeleteDomainInstantAlias(System.IAsyncResult asyncResult) { + public int EndDeleteDomainInstantAlias(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void DeleteDomainInstantAliasAsync(int domainId) { + public void DeleteDomainInstantAliasAsync(int domainId) + { this.DeleteDomainInstantAliasAsync(domainId, null); } - + /// - public void DeleteDomainInstantAliasAsync(int domainId, object userState) { - if ((this.DeleteDomainInstantAliasOperationCompleted == null)) { + public void DeleteDomainInstantAliasAsync(int domainId, object userState) + { + if ((this.DeleteDomainInstantAliasOperationCompleted == null)) + { this.DeleteDomainInstantAliasOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteDomainInstantAliasOperationCompleted); } this.InvokeAsync("DeleteDomainInstantAlias", new object[] { domainId}, this.DeleteDomainInstantAliasOperationCompleted, userState); } - - private void OnDeleteDomainInstantAliasOperationCompleted(object arg) { - if ((this.DeleteDomainInstantAliasCompleted != null)) { + + private void OnDeleteDomainInstantAliasOperationCompleted(object arg) + { + if ((this.DeleteDomainInstantAliasCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteDomainInstantAliasCompleted(this, new DeleteDomainInstantAliasCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDnsZoneRecords", 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 DnsRecord[] GetDnsZoneRecords(int domainId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetDnsZoneRecords", 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 DnsRecord[] GetDnsZoneRecords(int domainId) + { object[] results = this.Invoke("GetDnsZoneRecords", new object[] { domainId}); return ((DnsRecord[])(results[0])); } - + /// - public System.IAsyncResult BeginGetDnsZoneRecords(int domainId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetDnsZoneRecords(int domainId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetDnsZoneRecords", new object[] { domainId}, callback, asyncState); } - + /// - public DnsRecord[] EndGetDnsZoneRecords(System.IAsyncResult asyncResult) { + public DnsRecord[] EndGetDnsZoneRecords(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((DnsRecord[])(results[0])); } - + /// - public void GetDnsZoneRecordsAsync(int domainId) { + public void GetDnsZoneRecordsAsync(int domainId) + { this.GetDnsZoneRecordsAsync(domainId, null); } - + /// - public void GetDnsZoneRecordsAsync(int domainId, object userState) { - if ((this.GetDnsZoneRecordsOperationCompleted == null)) { + public void GetDnsZoneRecordsAsync(int domainId, object userState) + { + if ((this.GetDnsZoneRecordsOperationCompleted == null)) + { this.GetDnsZoneRecordsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDnsZoneRecordsOperationCompleted); } this.InvokeAsync("GetDnsZoneRecords", new object[] { domainId}, this.GetDnsZoneRecordsOperationCompleted, userState); } - - private void OnGetDnsZoneRecordsOperationCompleted(object arg) { - if ((this.GetDnsZoneRecordsCompleted != null)) { + + private void OnGetDnsZoneRecordsOperationCompleted(object arg) + { + if ((this.GetDnsZoneRecordsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetDnsZoneRecordsCompleted(this, new GetDnsZoneRecordsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawDnsZoneRecords", 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 System.Data.DataSet GetRawDnsZoneRecords(int domainId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawDnsZoneRecords", 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 System.Data.DataSet GetRawDnsZoneRecords(int domainId) + { object[] results = this.Invoke("GetRawDnsZoneRecords", new object[] { domainId}); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetRawDnsZoneRecords(int domainId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetRawDnsZoneRecords(int domainId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetRawDnsZoneRecords", new object[] { domainId}, callback, asyncState); } - + /// - public System.Data.DataSet EndGetRawDnsZoneRecords(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetRawDnsZoneRecords(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetRawDnsZoneRecordsAsync(int domainId) { + public void GetRawDnsZoneRecordsAsync(int domainId) + { this.GetRawDnsZoneRecordsAsync(domainId, null); } - + /// - public void GetRawDnsZoneRecordsAsync(int domainId, object userState) { - if ((this.GetRawDnsZoneRecordsOperationCompleted == null)) { + public void GetRawDnsZoneRecordsAsync(int domainId, object userState) + { + if ((this.GetRawDnsZoneRecordsOperationCompleted == null)) + { this.GetRawDnsZoneRecordsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawDnsZoneRecordsOperationCompleted); } this.InvokeAsync("GetRawDnsZoneRecords", new object[] { domainId}, this.GetRawDnsZoneRecordsOperationCompleted, userState); } - - private void OnGetRawDnsZoneRecordsOperationCompleted(object arg) { - if ((this.GetRawDnsZoneRecordsCompleted != null)) { + + private void OnGetRawDnsZoneRecordsOperationCompleted(object arg) + { + if ((this.GetRawDnsZoneRecordsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetRawDnsZoneRecordsCompleted(this, new GetRawDnsZoneRecordsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddDnsZoneRecord", 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 int AddDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType, string recordData, int mxPriority) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddDnsZoneRecord", 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 int AddDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType, string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber) + { object[] results = this.Invoke("AddDnsZoneRecord", new object[] { domainId, recordName, recordType, recordData, - mxPriority}); + mxPriority, + srvPriority, + srvWeight, + srvPortNumber}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginAddDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType, string recordData, int mxPriority, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType, string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddDnsZoneRecord", new object[] { domainId, recordName, recordType, recordData, - mxPriority}, callback, asyncState); + mxPriority, + srvPriority, + srvWeight, + srvPortNumber}, callback, asyncState); } - + /// - public int EndAddDnsZoneRecord(System.IAsyncResult asyncResult) { + public int EndAddDnsZoneRecord(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void AddDnsZoneRecordAsync(int domainId, string recordName, DnsRecordType recordType, string recordData, int mxPriority) { - this.AddDnsZoneRecordAsync(domainId, recordName, recordType, recordData, mxPriority, null); + public void AddDnsZoneRecordAsync(int domainId, string recordName, DnsRecordType recordType, string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber) + { + this.AddDnsZoneRecordAsync(domainId, recordName, recordType, recordData, mxPriority, srvPriority, srvWeight, srvPortNumber, null); } - + /// - public void AddDnsZoneRecordAsync(int domainId, string recordName, DnsRecordType recordType, string recordData, int mxPriority, object userState) { - if ((this.AddDnsZoneRecordOperationCompleted == null)) { + public void AddDnsZoneRecordAsync(int domainId, string recordName, DnsRecordType recordType, string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber, object userState) + { + if ((this.AddDnsZoneRecordOperationCompleted == null)) + { this.AddDnsZoneRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddDnsZoneRecordOperationCompleted); } this.InvokeAsync("AddDnsZoneRecord", new object[] { @@ -4383,19 +5071,25 @@ namespace WebsitePanel.EnterpriseServer { recordName, recordType, recordData, - mxPriority}, this.AddDnsZoneRecordOperationCompleted, userState); + mxPriority, + srvPriority, + srvWeight, + srvPortNumber}, this.AddDnsZoneRecordOperationCompleted, userState); } - - private void OnAddDnsZoneRecordOperationCompleted(object arg) { - if ((this.AddDnsZoneRecordCompleted != null)) { + + private void OnAddDnsZoneRecordOperationCompleted(object arg) + { + if ((this.AddDnsZoneRecordCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddDnsZoneRecordCompleted(this, new AddDnsZoneRecordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateDnsZoneRecord", 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 int UpdateDnsZoneRecord(int domainId, string originalRecordName, string originalRecordData, string recordName, DnsRecordType recordType, string recordData, int mxPriority) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateDnsZoneRecord", 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 int UpdateDnsZoneRecord(int domainId, string originalRecordName, string originalRecordData, string recordName, DnsRecordType recordType, string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber) + { object[] results = this.Invoke("UpdateDnsZoneRecord", new object[] { domainId, originalRecordName, @@ -4403,12 +5097,16 @@ namespace WebsitePanel.EnterpriseServer { recordName, recordType, recordData, - mxPriority}); + mxPriority, + srvPriority, + srvWeight, + srvPortNumber}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginUpdateDnsZoneRecord(int domainId, string originalRecordName, string originalRecordData, string recordName, DnsRecordType recordType, string recordData, int mxPriority, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginUpdateDnsZoneRecord(int domainId, string originalRecordName, string originalRecordData, string recordName, DnsRecordType recordType, string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("UpdateDnsZoneRecord", new object[] { domainId, originalRecordName, @@ -4416,23 +5114,30 @@ namespace WebsitePanel.EnterpriseServer { recordName, recordType, recordData, - mxPriority}, callback, asyncState); + mxPriority, + srvPriority, + srvWeight, + srvPortNumber}, callback, asyncState); } - + /// - public int EndUpdateDnsZoneRecord(System.IAsyncResult asyncResult) { + public int EndUpdateDnsZoneRecord(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void UpdateDnsZoneRecordAsync(int domainId, string originalRecordName, string originalRecordData, string recordName, DnsRecordType recordType, string recordData, int mxPriority) { - this.UpdateDnsZoneRecordAsync(domainId, originalRecordName, originalRecordData, recordName, recordType, recordData, mxPriority, null); + public void UpdateDnsZoneRecordAsync(int domainId, string originalRecordName, string originalRecordData, string recordName, DnsRecordType recordType, string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber) + { + this.UpdateDnsZoneRecordAsync(domainId, originalRecordName, originalRecordData, recordName, recordType, recordData, mxPriority, srvPriority, srvWeight, srvPortNumber, null); } - + /// - public void UpdateDnsZoneRecordAsync(int domainId, string originalRecordName, string originalRecordData, string recordName, DnsRecordType recordType, string recordData, int mxPriority, object userState) { - if ((this.UpdateDnsZoneRecordOperationCompleted == null)) { + public void UpdateDnsZoneRecordAsync(int domainId, string originalRecordName, string originalRecordData, string recordName, DnsRecordType recordType, string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber, object userState) + { + if ((this.UpdateDnsZoneRecordOperationCompleted == null)) + { this.UpdateDnsZoneRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateDnsZoneRecordOperationCompleted); } this.InvokeAsync("UpdateDnsZoneRecord", new object[] { @@ -4442,19 +5147,25 @@ namespace WebsitePanel.EnterpriseServer { recordName, recordType, recordData, - mxPriority}, this.UpdateDnsZoneRecordOperationCompleted, userState); + mxPriority, + srvPriority, + srvWeight, + srvPortNumber}, this.UpdateDnsZoneRecordOperationCompleted, userState); } - - private void OnUpdateDnsZoneRecordOperationCompleted(object arg) { - if ((this.UpdateDnsZoneRecordCompleted != null)) { + + private void OnUpdateDnsZoneRecordOperationCompleted(object arg) + { + if ((this.UpdateDnsZoneRecordCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.UpdateDnsZoneRecordCompleted(this, new UpdateDnsZoneRecordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteDnsZoneRecord", 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 int DeleteDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType, string recordData) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteDnsZoneRecord", 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 int DeleteDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType, string recordData) + { object[] results = this.Invoke("DeleteDnsZoneRecord", new object[] { domainId, recordName, @@ -4462,30 +5173,35 @@ namespace WebsitePanel.EnterpriseServer { recordData}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginDeleteDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType, string recordData, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType, string recordData, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteDnsZoneRecord", new object[] { domainId, recordName, recordType, recordData}, callback, asyncState); } - + /// - public int EndDeleteDnsZoneRecord(System.IAsyncResult asyncResult) { + public int EndDeleteDnsZoneRecord(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void DeleteDnsZoneRecordAsync(int domainId, string recordName, DnsRecordType recordType, string recordData) { + public void DeleteDnsZoneRecordAsync(int domainId, string recordName, DnsRecordType recordType, string recordData) + { this.DeleteDnsZoneRecordAsync(domainId, recordName, recordType, recordData, null); } - + /// - public void DeleteDnsZoneRecordAsync(int domainId, string recordName, DnsRecordType recordType, string recordData, object userState) { - if ((this.DeleteDnsZoneRecordOperationCompleted == null)) { + public void DeleteDnsZoneRecordAsync(int domainId, string recordName, DnsRecordType recordType, string recordData, object userState) + { + if ((this.DeleteDnsZoneRecordOperationCompleted == null)) + { this.DeleteDnsZoneRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteDnsZoneRecordOperationCompleted); } this.InvokeAsync("DeleteDnsZoneRecord", new object[] { @@ -4494,257 +5210,305 @@ namespace WebsitePanel.EnterpriseServer { recordType, recordData}, this.DeleteDnsZoneRecordOperationCompleted, userState); } - - private void OnDeleteDnsZoneRecordOperationCompleted(object arg) { - if ((this.DeleteDnsZoneRecordCompleted != null)) { + + private void OnDeleteDnsZoneRecordOperationCompleted(object arg) + { + if ((this.DeleteDnsZoneRecordCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteDnsZoneRecordCompleted(this, new DeleteDnsZoneRecordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetTerminalServicesSessions", 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 TerminalSession[] GetTerminalServicesSessions(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetTerminalServicesSessions", 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 TerminalSession[] GetTerminalServicesSessions(int serverId) + { object[] results = this.Invoke("GetTerminalServicesSessions", new object[] { serverId}); return ((TerminalSession[])(results[0])); } - + /// - public System.IAsyncResult BeginGetTerminalServicesSessions(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetTerminalServicesSessions(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetTerminalServicesSessions", new object[] { serverId}, callback, asyncState); } - + /// - public TerminalSession[] EndGetTerminalServicesSessions(System.IAsyncResult asyncResult) { + public TerminalSession[] EndGetTerminalServicesSessions(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((TerminalSession[])(results[0])); } - + /// - public void GetTerminalServicesSessionsAsync(int serverId) { + public void GetTerminalServicesSessionsAsync(int serverId) + { this.GetTerminalServicesSessionsAsync(serverId, null); } - + /// - public void GetTerminalServicesSessionsAsync(int serverId, object userState) { - if ((this.GetTerminalServicesSessionsOperationCompleted == null)) { + public void GetTerminalServicesSessionsAsync(int serverId, object userState) + { + if ((this.GetTerminalServicesSessionsOperationCompleted == null)) + { this.GetTerminalServicesSessionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetTerminalServicesSessionsOperationCompleted); } this.InvokeAsync("GetTerminalServicesSessions", new object[] { serverId}, this.GetTerminalServicesSessionsOperationCompleted, userState); } - - private void OnGetTerminalServicesSessionsOperationCompleted(object arg) { - if ((this.GetTerminalServicesSessionsCompleted != null)) { + + private void OnGetTerminalServicesSessionsOperationCompleted(object arg) + { + if ((this.GetTerminalServicesSessionsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetTerminalServicesSessionsCompleted(this, new GetTerminalServicesSessionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CloseTerminalServicesSession", 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 int CloseTerminalServicesSession(int serverId, int sessionId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CloseTerminalServicesSession", 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 int CloseTerminalServicesSession(int serverId, int sessionId) + { object[] results = this.Invoke("CloseTerminalServicesSession", new object[] { serverId, sessionId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginCloseTerminalServicesSession(int serverId, int sessionId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginCloseTerminalServicesSession(int serverId, int sessionId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("CloseTerminalServicesSession", new object[] { serverId, sessionId}, callback, asyncState); } - + /// - public int EndCloseTerminalServicesSession(System.IAsyncResult asyncResult) { + public int EndCloseTerminalServicesSession(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void CloseTerminalServicesSessionAsync(int serverId, int sessionId) { + public void CloseTerminalServicesSessionAsync(int serverId, int sessionId) + { this.CloseTerminalServicesSessionAsync(serverId, sessionId, null); } - + /// - public void CloseTerminalServicesSessionAsync(int serverId, int sessionId, object userState) { - if ((this.CloseTerminalServicesSessionOperationCompleted == null)) { + public void CloseTerminalServicesSessionAsync(int serverId, int sessionId, object userState) + { + if ((this.CloseTerminalServicesSessionOperationCompleted == null)) + { this.CloseTerminalServicesSessionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCloseTerminalServicesSessionOperationCompleted); } this.InvokeAsync("CloseTerminalServicesSession", new object[] { serverId, sessionId}, this.CloseTerminalServicesSessionOperationCompleted, userState); } - - private void OnCloseTerminalServicesSessionOperationCompleted(object arg) { - if ((this.CloseTerminalServicesSessionCompleted != null)) { + + private void OnCloseTerminalServicesSessionOperationCompleted(object arg) + { + if ((this.CloseTerminalServicesSessionCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.CloseTerminalServicesSessionCompleted(this, new CloseTerminalServicesSessionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetWindowsProcesses", 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 WindowsProcess[] GetWindowsProcesses(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetWindowsProcesses", 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 WindowsProcess[] GetWindowsProcesses(int serverId) + { object[] results = this.Invoke("GetWindowsProcesses", new object[] { serverId}); return ((WindowsProcess[])(results[0])); } - + /// - public System.IAsyncResult BeginGetWindowsProcesses(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetWindowsProcesses(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetWindowsProcesses", new object[] { serverId}, callback, asyncState); } - + /// - public WindowsProcess[] EndGetWindowsProcesses(System.IAsyncResult asyncResult) { + public WindowsProcess[] EndGetWindowsProcesses(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((WindowsProcess[])(results[0])); } - + /// - public void GetWindowsProcessesAsync(int serverId) { + public void GetWindowsProcessesAsync(int serverId) + { this.GetWindowsProcessesAsync(serverId, null); } - + /// - public void GetWindowsProcessesAsync(int serverId, object userState) { - if ((this.GetWindowsProcessesOperationCompleted == null)) { + public void GetWindowsProcessesAsync(int serverId, object userState) + { + if ((this.GetWindowsProcessesOperationCompleted == null)) + { this.GetWindowsProcessesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetWindowsProcessesOperationCompleted); } this.InvokeAsync("GetWindowsProcesses", new object[] { serverId}, this.GetWindowsProcessesOperationCompleted, userState); } - - private void OnGetWindowsProcessesOperationCompleted(object arg) { - if ((this.GetWindowsProcessesCompleted != null)) { + + private void OnGetWindowsProcessesOperationCompleted(object arg) + { + if ((this.GetWindowsProcessesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetWindowsProcessesCompleted(this, new GetWindowsProcessesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/TerminateWindowsProcess", 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 int TerminateWindowsProcess(int serverId, int pid) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/TerminateWindowsProcess", 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 int TerminateWindowsProcess(int serverId, int pid) + { object[] results = this.Invoke("TerminateWindowsProcess", new object[] { serverId, pid}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginTerminateWindowsProcess(int serverId, int pid, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginTerminateWindowsProcess(int serverId, int pid, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("TerminateWindowsProcess", new object[] { serverId, pid}, callback, asyncState); } - + /// - public int EndTerminateWindowsProcess(System.IAsyncResult asyncResult) { + public int EndTerminateWindowsProcess(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void TerminateWindowsProcessAsync(int serverId, int pid) { + public void TerminateWindowsProcessAsync(int serverId, int pid) + { this.TerminateWindowsProcessAsync(serverId, pid, null); } - + /// - public void TerminateWindowsProcessAsync(int serverId, int pid, object userState) { - if ((this.TerminateWindowsProcessOperationCompleted == null)) { + public void TerminateWindowsProcessAsync(int serverId, int pid, object userState) + { + if ((this.TerminateWindowsProcessOperationCompleted == null)) + { this.TerminateWindowsProcessOperationCompleted = new System.Threading.SendOrPostCallback(this.OnTerminateWindowsProcessOperationCompleted); } this.InvokeAsync("TerminateWindowsProcess", new object[] { serverId, pid}, this.TerminateWindowsProcessOperationCompleted, userState); } - - private void OnTerminateWindowsProcessOperationCompleted(object arg) { - if ((this.TerminateWindowsProcessCompleted != null)) { + + private void OnTerminateWindowsProcessOperationCompleted(object arg) + { + if ((this.TerminateWindowsProcessCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.TerminateWindowsProcessCompleted(this, new TerminateWindowsProcessCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetWindowsServices", 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 WindowsService[] GetWindowsServices(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetWindowsServices", 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 WindowsService[] GetWindowsServices(int serverId) + { object[] results = this.Invoke("GetWindowsServices", new object[] { serverId}); return ((WindowsService[])(results[0])); } - + /// - public System.IAsyncResult BeginGetWindowsServices(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetWindowsServices(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetWindowsServices", new object[] { serverId}, callback, asyncState); } - + /// - public WindowsService[] EndGetWindowsServices(System.IAsyncResult asyncResult) { + public WindowsService[] EndGetWindowsServices(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((WindowsService[])(results[0])); } - + /// - public void GetWindowsServicesAsync(int serverId) { + public void GetWindowsServicesAsync(int serverId) + { this.GetWindowsServicesAsync(serverId, null); } - + /// - public void GetWindowsServicesAsync(int serverId, object userState) { - if ((this.GetWindowsServicesOperationCompleted == null)) { + public void GetWindowsServicesAsync(int serverId, object userState) + { + if ((this.GetWindowsServicesOperationCompleted == null)) + { this.GetWindowsServicesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetWindowsServicesOperationCompleted); } this.InvokeAsync("GetWindowsServices", new object[] { serverId}, this.GetWindowsServicesOperationCompleted, userState); } - - private void OnGetWindowsServicesOperationCompleted(object arg) { - if ((this.GetWindowsServicesCompleted != null)) { + + private void OnGetWindowsServicesOperationCompleted(object arg) + { + if ((this.GetWindowsServicesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetWindowsServicesCompleted(this, new GetWindowsServicesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/ChangeWindowsServiceStatus", 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 int ChangeWindowsServiceStatus(int serverId, string id, WindowsServiceStatus status) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/ChangeWindowsServiceStatus", 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 int ChangeWindowsServiceStatus(int serverId, string id, WindowsServiceStatus status) + { object[] results = this.Invoke("ChangeWindowsServiceStatus", new object[] { serverId, id, status}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginChangeWindowsServiceStatus(int serverId, string id, WindowsServiceStatus status, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginChangeWindowsServiceStatus(int serverId, string id, WindowsServiceStatus status, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("ChangeWindowsServiceStatus", new object[] { serverId, id, status}, callback, asyncState); } - + /// - public int EndChangeWindowsServiceStatus(System.IAsyncResult asyncResult) { + public int EndChangeWindowsServiceStatus(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void ChangeWindowsServiceStatusAsync(int serverId, string id, WindowsServiceStatus status) { + public void ChangeWindowsServiceStatusAsync(int serverId, string id, WindowsServiceStatus status) + { this.ChangeWindowsServiceStatusAsync(serverId, id, status, null); } - + /// - public void ChangeWindowsServiceStatusAsync(int serverId, string id, WindowsServiceStatus status, object userState) { - if ((this.ChangeWindowsServiceStatusOperationCompleted == null)) { + public void ChangeWindowsServiceStatusAsync(int serverId, string id, WindowsServiceStatus status, object userState) + { + if ((this.ChangeWindowsServiceStatusOperationCompleted == null)) + { this.ChangeWindowsServiceStatusOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangeWindowsServiceStatusOperationCompleted); } this.InvokeAsync("ChangeWindowsServiceStatus", new object[] { @@ -4752,102 +5516,121 @@ namespace WebsitePanel.EnterpriseServer { id, status}, this.ChangeWindowsServiceStatusOperationCompleted, userState); } - - private void OnChangeWindowsServiceStatusOperationCompleted(object arg) { - if ((this.ChangeWindowsServiceStatusCompleted != null)) { + + private void OnChangeWindowsServiceStatusOperationCompleted(object arg) + { + if ((this.ChangeWindowsServiceStatusCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.ChangeWindowsServiceStatusCompleted(this, new ChangeWindowsServiceStatusCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetLogNames", 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 string[] GetLogNames(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetLogNames", 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 string[] GetLogNames(int serverId) + { object[] results = this.Invoke("GetLogNames", new object[] { serverId}); return ((string[])(results[0])); } - + /// - public System.IAsyncResult BeginGetLogNames(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetLogNames(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetLogNames", new object[] { serverId}, callback, asyncState); } - + /// - public string[] EndGetLogNames(System.IAsyncResult asyncResult) { + public string[] EndGetLogNames(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((string[])(results[0])); } - + /// - public void GetLogNamesAsync(int serverId) { + public void GetLogNamesAsync(int serverId) + { this.GetLogNamesAsync(serverId, null); } - + /// - public void GetLogNamesAsync(int serverId, object userState) { - if ((this.GetLogNamesOperationCompleted == null)) { + public void GetLogNamesAsync(int serverId, object userState) + { + if ((this.GetLogNamesOperationCompleted == null)) + { this.GetLogNamesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLogNamesOperationCompleted); } this.InvokeAsync("GetLogNames", new object[] { serverId}, this.GetLogNamesOperationCompleted, userState); } - - private void OnGetLogNamesOperationCompleted(object arg) { - if ((this.GetLogNamesCompleted != null)) { + + private void OnGetLogNamesOperationCompleted(object arg) + { + if ((this.GetLogNamesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetLogNamesCompleted(this, new GetLogNamesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetLogEntries", 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 SystemLogEntry[] GetLogEntries(int serverId, string logName) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetLogEntries", 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 SystemLogEntry[] GetLogEntries(int serverId, string logName) + { object[] results = this.Invoke("GetLogEntries", new object[] { serverId, logName}); return ((SystemLogEntry[])(results[0])); } - + /// - public System.IAsyncResult BeginGetLogEntries(int serverId, string logName, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetLogEntries(int serverId, string logName, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetLogEntries", new object[] { serverId, logName}, callback, asyncState); } - + /// - public SystemLogEntry[] EndGetLogEntries(System.IAsyncResult asyncResult) { + public SystemLogEntry[] EndGetLogEntries(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((SystemLogEntry[])(results[0])); } - + /// - public void GetLogEntriesAsync(int serverId, string logName) { + public void GetLogEntriesAsync(int serverId, string logName) + { this.GetLogEntriesAsync(serverId, logName, null); } - + /// - public void GetLogEntriesAsync(int serverId, string logName, object userState) { - if ((this.GetLogEntriesOperationCompleted == null)) { + public void GetLogEntriesAsync(int serverId, string logName, object userState) + { + if ((this.GetLogEntriesOperationCompleted == null)) + { this.GetLogEntriesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLogEntriesOperationCompleted); } this.InvokeAsync("GetLogEntries", new object[] { serverId, logName}, this.GetLogEntriesOperationCompleted, userState); } - - private void OnGetLogEntriesOperationCompleted(object arg) { - if ((this.GetLogEntriesCompleted != null)) { + + private void OnGetLogEntriesOperationCompleted(object arg) + { + if ((this.GetLogEntriesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetLogEntriesCompleted(this, new GetLogEntriesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetLogEntriesPaged", 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 SystemLogEntriesPaged GetLogEntriesPaged(int serverId, string logName, int startRow, int maximumRows) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetLogEntriesPaged", 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 SystemLogEntriesPaged GetLogEntriesPaged(int serverId, string logName, int startRow, int maximumRows) + { object[] results = this.Invoke("GetLogEntriesPaged", new object[] { serverId, logName, @@ -4855,30 +5638,35 @@ namespace WebsitePanel.EnterpriseServer { maximumRows}); return ((SystemLogEntriesPaged)(results[0])); } - + /// - public System.IAsyncResult BeginGetLogEntriesPaged(int serverId, string logName, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetLogEntriesPaged(int serverId, string logName, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetLogEntriesPaged", new object[] { serverId, logName, startRow, maximumRows}, callback, asyncState); } - + /// - public SystemLogEntriesPaged EndGetLogEntriesPaged(System.IAsyncResult asyncResult) { + public SystemLogEntriesPaged EndGetLogEntriesPaged(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((SystemLogEntriesPaged)(results[0])); } - + /// - public void GetLogEntriesPagedAsync(int serverId, string logName, int startRow, int maximumRows) { + public void GetLogEntriesPagedAsync(int serverId, string logName, int startRow, int maximumRows) + { this.GetLogEntriesPagedAsync(serverId, logName, startRow, maximumRows, null); } - + /// - public void GetLogEntriesPagedAsync(int serverId, string logName, int startRow, int maximumRows, object userState) { - if ((this.GetLogEntriesPagedOperationCompleted == null)) { + public void GetLogEntriesPagedAsync(int serverId, string logName, int startRow, int maximumRows, object userState) + { + if ((this.GetLogEntriesPagedOperationCompleted == null)) + { this.GetLogEntriesPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLogEntriesPagedOperationCompleted); } this.InvokeAsync("GetLogEntriesPaged", new object[] { @@ -4887,2754 +5675,3148 @@ namespace WebsitePanel.EnterpriseServer { startRow, maximumRows}, this.GetLogEntriesPagedOperationCompleted, userState); } - - private void OnGetLogEntriesPagedOperationCompleted(object arg) { - if ((this.GetLogEntriesPagedCompleted != null)) { + + private void OnGetLogEntriesPagedOperationCompleted(object arg) + { + if ((this.GetLogEntriesPagedCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetLogEntriesPagedCompleted(this, new GetLogEntriesPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/ClearLog", 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 int ClearLog(int serverId, string logName) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/ClearLog", 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 int ClearLog(int serverId, string logName) + { object[] results = this.Invoke("ClearLog", new object[] { serverId, logName}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginClearLog(int serverId, string logName, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginClearLog(int serverId, string logName, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("ClearLog", new object[] { serverId, logName}, callback, asyncState); } - + /// - public int EndClearLog(System.IAsyncResult asyncResult) { + public int EndClearLog(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void ClearLogAsync(int serverId, string logName) { + public void ClearLogAsync(int serverId, string logName) + { this.ClearLogAsync(serverId, logName, null); } - + /// - public void ClearLogAsync(int serverId, string logName, object userState) { - if ((this.ClearLogOperationCompleted == null)) { + public void ClearLogAsync(int serverId, string logName, object userState) + { + if ((this.ClearLogOperationCompleted == null)) + { this.ClearLogOperationCompleted = new System.Threading.SendOrPostCallback(this.OnClearLogOperationCompleted); } this.InvokeAsync("ClearLog", new object[] { serverId, logName}, this.ClearLogOperationCompleted, userState); } - - private void OnClearLogOperationCompleted(object arg) { - if ((this.ClearLogCompleted != null)) { + + private void OnClearLogOperationCompleted(object arg) + { + if ((this.ClearLogCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.ClearLogCompleted(this, new ClearLogCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/RebootSystem", 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 int RebootSystem(int serverId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/RebootSystem", 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 int RebootSystem(int serverId) + { object[] results = this.Invoke("RebootSystem", new object[] { serverId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginRebootSystem(int serverId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginRebootSystem(int serverId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("RebootSystem", new object[] { serverId}, callback, asyncState); } - + /// - public int EndRebootSystem(System.IAsyncResult asyncResult) { + public int EndRebootSystem(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void RebootSystemAsync(int serverId) { + public void RebootSystemAsync(int serverId) + { this.RebootSystemAsync(serverId, null); } - + /// - public void RebootSystemAsync(int serverId, object userState) { - if ((this.RebootSystemOperationCompleted == null)) { + public void RebootSystemAsync(int serverId, object userState) + { + if ((this.RebootSystemOperationCompleted == null)) + { this.RebootSystemOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRebootSystemOperationCompleted); } this.InvokeAsync("RebootSystem", new object[] { serverId}, this.RebootSystemOperationCompleted, userState); } - - private void OnRebootSystemOperationCompleted(object arg) { - if ((this.RebootSystemCompleted != null)) { + + private void OnRebootSystemOperationCompleted(object arg) + { + if ((this.RebootSystemCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.RebootSystemCompleted(this, new RebootSystemCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - public new void CancelAsync(object userState) { + public new void CancelAsync(object userState) + { base.CancelAsync(userState); } } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetAllServersCompletedEventHandler(object sender, GetAllServersCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetAllServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetAllServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetAllServersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetAllServersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ServerInfo[] Result { - get { + public ServerInfo[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ServerInfo[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawAllServersCompletedEventHandler(object sender, GetRawAllServersCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetRawAllServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetRawAllServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetRawAllServersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetRawAllServersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServersCompletedEventHandler(object sender, GetServersCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetServersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetServersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ServerInfo[] Result { - get { + public ServerInfo[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ServerInfo[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawServersCompletedEventHandler(object sender, GetRawServersCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetRawServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetRawServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetRawServersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetRawServersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServerShortDetailsCompletedEventHandler(object sender, GetServerShortDetailsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetServerShortDetailsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetServerShortDetailsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetServerShortDetailsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetServerShortDetailsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ServerInfo Result { - get { + public ServerInfo Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ServerInfo)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServerByIdCompletedEventHandler(object sender, GetServerByIdCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetServerByIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetServerByIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetServerByIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetServerByIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ServerInfo Result { - get { + public ServerInfo Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ServerInfo)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServerByNameCompletedEventHandler(object sender, GetServerByNameCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetServerByNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetServerByNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetServerByNameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetServerByNameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ServerInfo Result { - get { + public ServerInfo Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ServerInfo)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CheckServerAvailableCompletedEventHandler(object sender, CheckServerAvailableCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class CheckServerAvailableCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class CheckServerAvailableCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal CheckServerAvailableCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal CheckServerAvailableCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddServerCompletedEventHandler(object sender, AddServerCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class AddServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal AddServerCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal AddServerCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateServerCompletedEventHandler(object sender, UpdateServerCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class UpdateServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class UpdateServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal UpdateServerCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal UpdateServerCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateServerConnectionPasswordCompletedEventHandler(object sender, UpdateServerConnectionPasswordCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class UpdateServerConnectionPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class UpdateServerConnectionPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal UpdateServerConnectionPasswordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal UpdateServerConnectionPasswordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateServerADPasswordCompletedEventHandler(object sender, UpdateServerADPasswordCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class UpdateServerADPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class UpdateServerADPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal UpdateServerADPasswordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal UpdateServerADPasswordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteServerCompletedEventHandler(object sender, DeleteServerCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DeleteServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DeleteServerCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DeleteServerCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetVirtualServersCompletedEventHandler(object sender, GetVirtualServersCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetVirtualServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetVirtualServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetVirtualServersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetVirtualServersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetAvailableVirtualServicesCompletedEventHandler(object sender, GetAvailableVirtualServicesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetAvailableVirtualServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetAvailableVirtualServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetAvailableVirtualServicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetAvailableVirtualServicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetVirtualServicesCompletedEventHandler(object sender, GetVirtualServicesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetVirtualServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetVirtualServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetVirtualServicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetVirtualServicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddVirtualServicesCompletedEventHandler(object sender, AddVirtualServicesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddVirtualServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class AddVirtualServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal AddVirtualServicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal AddVirtualServicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteVirtualServicesCompletedEventHandler(object sender, DeleteVirtualServicesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteVirtualServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DeleteVirtualServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DeleteVirtualServicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DeleteVirtualServicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateVirtualGroupsCompletedEventHandler(object sender, UpdateVirtualGroupsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class UpdateVirtualGroupsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class UpdateVirtualGroupsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal UpdateVirtualGroupsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal UpdateVirtualGroupsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawServicesByServerIdCompletedEventHandler(object sender, GetRawServicesByServerIdCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetRawServicesByServerIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetRawServicesByServerIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetRawServicesByServerIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetRawServicesByServerIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServicesByServerIdCompletedEventHandler(object sender, GetServicesByServerIdCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetServicesByServerIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetServicesByServerIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetServicesByServerIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetServicesByServerIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ServiceInfo[] Result { - get { + public ServiceInfo[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ServiceInfo[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServicesByServerIdGroupNameCompletedEventHandler(object sender, GetServicesByServerIdGroupNameCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetServicesByServerIdGroupNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetServicesByServerIdGroupNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetServicesByServerIdGroupNameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetServicesByServerIdGroupNameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ServiceInfo[] Result { - get { + public ServiceInfo[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ServiceInfo[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawServicesByGroupIdCompletedEventHandler(object sender, GetRawServicesByGroupIdCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetRawServicesByGroupIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetRawServicesByGroupIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetRawServicesByGroupIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetRawServicesByGroupIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawServicesByGroupNameCompletedEventHandler(object sender, GetRawServicesByGroupNameCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetRawServicesByGroupNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetRawServicesByGroupNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetRawServicesByGroupNameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetRawServicesByGroupNameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServiceInfoCompletedEventHandler(object sender, GetServiceInfoCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetServiceInfoCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetServiceInfoCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetServiceInfoCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetServiceInfoCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ServiceInfo Result { - get { + public ServiceInfo Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ServiceInfo)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddServiceCompletedEventHandler(object sender, AddServiceCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class AddServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal AddServiceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal AddServiceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateServiceCompletedEventHandler(object sender, UpdateServiceCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class UpdateServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class UpdateServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal UpdateServiceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal UpdateServiceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteServiceCompletedEventHandler(object sender, DeleteServiceCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DeleteServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DeleteServiceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DeleteServiceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServiceSettingsCompletedEventHandler(object sender, GetServiceSettingsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetServiceSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetServiceSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetServiceSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetServiceSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public string[] Result { - get { + public string[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((string[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateServiceSettingsCompletedEventHandler(object sender, UpdateServiceSettingsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class UpdateServiceSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class UpdateServiceSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal UpdateServiceSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal UpdateServiceSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void InstallServiceCompletedEventHandler(object sender, InstallServiceCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class InstallServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class InstallServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal InstallServiceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal InstallServiceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public string[] Result { - get { + public string[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((string[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetProviderServiceQuotaCompletedEventHandler(object sender, GetProviderServiceQuotaCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetProviderServiceQuotaCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetProviderServiceQuotaCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetProviderServiceQuotaCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetProviderServiceQuotaCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public QuotaInfo Result { - get { + public QuotaInfo Result + { + get + { this.RaiseExceptionIfNecessary(); return ((QuotaInfo)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetInstalledProvidersCompletedEventHandler(object sender, GetInstalledProvidersCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetInstalledProvidersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetInstalledProvidersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetInstalledProvidersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetInstalledProvidersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ProviderInfo[] Result { - get { + public ProviderInfo[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ProviderInfo[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetResourceGroupsCompletedEventHandler(object sender, GetResourceGroupsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetResourceGroupsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetResourceGroupsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetResourceGroupsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetResourceGroupsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ResourceGroupInfo[] Result { - get { + public ResourceGroupInfo[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ResourceGroupInfo[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetResourceGroupCompletedEventHandler(object sender, GetResourceGroupCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetResourceGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetResourceGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetResourceGroupCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetResourceGroupCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ResourceGroupInfo Result { - get { + public ResourceGroupInfo Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ResourceGroupInfo)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetProviderCompletedEventHandler(object sender, GetProviderCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetProviderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetProviderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetProviderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetProviderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ProviderInfo Result { - get { + public ProviderInfo Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ProviderInfo)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetProvidersCompletedEventHandler(object sender, GetProvidersCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetProvidersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetProvidersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetProvidersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetProvidersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ProviderInfo[] Result { - get { + public ProviderInfo[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ProviderInfo[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetProvidersByGroupIdCompletedEventHandler(object sender, GetProvidersByGroupIdCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetProvidersByGroupIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetProvidersByGroupIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetProvidersByGroupIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetProvidersByGroupIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ProviderInfo[] Result { - get { + public ProviderInfo[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ProviderInfo[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPackageServiceProviderCompletedEventHandler(object sender, GetPackageServiceProviderCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetPackageServiceProviderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetPackageServiceProviderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetPackageServiceProviderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetPackageServiceProviderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ProviderInfo Result { - get { + public ProviderInfo Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ProviderInfo)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void IsInstalledCompletedEventHandler(object sender, IsInstalledCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class IsInstalledCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class IsInstalledCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal IsInstalledCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal IsInstalledCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public BoolResult Result { - get { + public BoolResult Result + { + get + { this.RaiseExceptionIfNecessary(); return ((BoolResult)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServerVersionCompletedEventHandler(object sender, GetServerVersionCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetServerVersionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetServerVersionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetServerVersionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetServerVersionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public string Result { - get { + public string Result + { + get + { this.RaiseExceptionIfNecessary(); return ((string)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetIPAddressesCompletedEventHandler(object sender, GetIPAddressesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public IPAddressInfo[] Result { - get { + public IPAddressInfo[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((IPAddressInfo[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetIPAddressesPagedCompletedEventHandler(object sender, GetIPAddressesPagedCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetIPAddressesPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetIPAddressesPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetIPAddressesPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetIPAddressesPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public IPAddressesPaged Result { - get { + public IPAddressesPaged Result + { + get + { this.RaiseExceptionIfNecessary(); return ((IPAddressesPaged)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetIPAddressCompletedEventHandler(object sender, GetIPAddressCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetIPAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetIPAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetIPAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetIPAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public IPAddressInfo Result { - get { + public IPAddressInfo Result + { + get + { this.RaiseExceptionIfNecessary(); return ((IPAddressInfo)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddIPAddressCompletedEventHandler(object sender, AddIPAddressCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddIPAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class AddIPAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal AddIPAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal AddIPAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public IntResult Result { - get { + public IntResult Result + { + get + { this.RaiseExceptionIfNecessary(); return ((IntResult)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddIPAddressesRangeCompletedEventHandler(object sender, AddIPAddressesRangeCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddIPAddressesRangeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class AddIPAddressesRangeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal AddIPAddressesRangeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal AddIPAddressesRangeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ResultObject Result { - get { + public ResultObject Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ResultObject)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateIPAddressCompletedEventHandler(object sender, UpdateIPAddressCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class UpdateIPAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class UpdateIPAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal UpdateIPAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal UpdateIPAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ResultObject Result { - get { + public ResultObject Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ResultObject)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateIPAddressesCompletedEventHandler(object sender, UpdateIPAddressesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class UpdateIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class UpdateIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal UpdateIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal UpdateIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ResultObject Result { - get { + public ResultObject Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ResultObject)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteIPAddressCompletedEventHandler(object sender, DeleteIPAddressCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteIPAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DeleteIPAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DeleteIPAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DeleteIPAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ResultObject Result { - get { + public ResultObject Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ResultObject)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteIPAddressesCompletedEventHandler(object sender, DeleteIPAddressesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DeleteIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DeleteIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DeleteIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ResultObject Result { - get { + public ResultObject Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ResultObject)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetUnallottedIPAddressesCompletedEventHandler(object sender, GetUnallottedIPAddressesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetUnallottedIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetUnallottedIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetUnallottedIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetUnallottedIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public IPAddressInfo[] Result { - get { + public IPAddressInfo[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((IPAddressInfo[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPackageIPAddressesCompletedEventHandler(object sender, GetPackageIPAddressesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetPackageIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetPackageIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetPackageIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetPackageIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public PackageIPAddressesPaged Result { - get { + public PackageIPAddressesPaged Result + { + get + { this.RaiseExceptionIfNecessary(); return ((PackageIPAddressesPaged)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPackageUnassignedIPAddressesCompletedEventHandler(object sender, GetPackageUnassignedIPAddressesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetPackageUnassignedIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetPackageUnassignedIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetPackageUnassignedIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetPackageUnassignedIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public PackageIPAddress[] Result { - get { + public PackageIPAddress[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((PackageIPAddress[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AllocatePackageIPAddressesCompletedEventHandler(object sender, AllocatePackageIPAddressesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AllocatePackageIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class AllocatePackageIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal AllocatePackageIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal AllocatePackageIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ResultObject Result { - get { + public ResultObject Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ResultObject)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AllocateMaximumPackageIPAddressesCompletedEventHandler(object sender, AllocateMaximumPackageIPAddressesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AllocateMaximumPackageIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class AllocateMaximumPackageIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal AllocateMaximumPackageIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal AllocateMaximumPackageIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ResultObject Result { - get { + public ResultObject Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ResultObject)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeallocatePackageIPAddressesCompletedEventHandler(object sender, DeallocatePackageIPAddressesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeallocatePackageIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DeallocatePackageIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DeallocatePackageIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DeallocatePackageIPAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ResultObject Result { - get { + public ResultObject Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ResultObject)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetClustersCompletedEventHandler(object sender, GetClustersCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetClustersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetClustersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetClustersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetClustersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public ClusterInfo[] Result { - get { + public ClusterInfo[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((ClusterInfo[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddClusterCompletedEventHandler(object sender, AddClusterCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddClusterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class AddClusterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal AddClusterCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal AddClusterCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteClusterCompletedEventHandler(object sender, DeleteClusterCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteClusterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DeleteClusterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DeleteClusterCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DeleteClusterCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawDnsRecordsByServiceCompletedEventHandler(object sender, GetRawDnsRecordsByServiceCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetRawDnsRecordsByServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetRawDnsRecordsByServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetRawDnsRecordsByServiceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetRawDnsRecordsByServiceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawDnsRecordsByServerCompletedEventHandler(object sender, GetRawDnsRecordsByServerCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetRawDnsRecordsByServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetRawDnsRecordsByServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetRawDnsRecordsByServerCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetRawDnsRecordsByServerCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawDnsRecordsByPackageCompletedEventHandler(object sender, GetRawDnsRecordsByPackageCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetRawDnsRecordsByPackageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetRawDnsRecordsByPackageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetRawDnsRecordsByPackageCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetRawDnsRecordsByPackageCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawDnsRecordsByGroupCompletedEventHandler(object sender, GetRawDnsRecordsByGroupCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetRawDnsRecordsByGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetRawDnsRecordsByGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetRawDnsRecordsByGroupCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetRawDnsRecordsByGroupCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDnsRecordsByServiceCompletedEventHandler(object sender, GetDnsRecordsByServiceCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetDnsRecordsByServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetDnsRecordsByServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetDnsRecordsByServiceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetDnsRecordsByServiceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public GlobalDnsRecord[] Result { - get { + public GlobalDnsRecord[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((GlobalDnsRecord[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDnsRecordsByServerCompletedEventHandler(object sender, GetDnsRecordsByServerCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetDnsRecordsByServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetDnsRecordsByServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetDnsRecordsByServerCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetDnsRecordsByServerCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public GlobalDnsRecord[] Result { - get { + public GlobalDnsRecord[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((GlobalDnsRecord[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDnsRecordsByPackageCompletedEventHandler(object sender, GetDnsRecordsByPackageCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetDnsRecordsByPackageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetDnsRecordsByPackageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetDnsRecordsByPackageCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetDnsRecordsByPackageCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public GlobalDnsRecord[] Result { - get { + public GlobalDnsRecord[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((GlobalDnsRecord[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDnsRecordsByGroupCompletedEventHandler(object sender, GetDnsRecordsByGroupCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetDnsRecordsByGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetDnsRecordsByGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetDnsRecordsByGroupCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetDnsRecordsByGroupCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public GlobalDnsRecord[] Result { - get { + public GlobalDnsRecord[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((GlobalDnsRecord[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDnsRecordCompletedEventHandler(object sender, GetDnsRecordCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetDnsRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetDnsRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetDnsRecordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetDnsRecordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public GlobalDnsRecord Result { - get { + public GlobalDnsRecord Result + { + get + { this.RaiseExceptionIfNecessary(); return ((GlobalDnsRecord)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddDnsRecordCompletedEventHandler(object sender, AddDnsRecordCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddDnsRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class AddDnsRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal AddDnsRecordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal AddDnsRecordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateDnsRecordCompletedEventHandler(object sender, UpdateDnsRecordCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class UpdateDnsRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class UpdateDnsRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal UpdateDnsRecordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal UpdateDnsRecordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteDnsRecordCompletedEventHandler(object sender, DeleteDnsRecordCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteDnsRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DeleteDnsRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DeleteDnsRecordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DeleteDnsRecordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDomainsCompletedEventHandler(object sender, GetDomainsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public DomainInfo[] Result { - get { + public DomainInfo[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((DomainInfo[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetMyDomainsCompletedEventHandler(object sender, GetMyDomainsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetMyDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetMyDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetMyDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetMyDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public DomainInfo[] Result { - get { + public DomainInfo[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((DomainInfo[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetResellerDomainsCompletedEventHandler(object sender, GetResellerDomainsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetResellerDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetResellerDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetResellerDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetResellerDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public DomainInfo[] Result { - get { + public DomainInfo[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((DomainInfo[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDomainsPagedCompletedEventHandler(object sender, GetDomainsPagedCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetDomainsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetDomainsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetDomainsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetDomainsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDomainCompletedEventHandler(object sender, GetDomainCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public DomainInfo Result { - get { + public DomainInfo Result + { + get + { this.RaiseExceptionIfNecessary(); return ((DomainInfo)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddDomainCompletedEventHandler(object sender, AddDomainCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class AddDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal AddDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal AddDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddDomainWithProvisioningCompletedEventHandler(object sender, AddDomainWithProvisioningCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddDomainWithProvisioningCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class AddDomainWithProvisioningCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal AddDomainWithProvisioningCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal AddDomainWithProvisioningCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateDomainCompletedEventHandler(object sender, UpdateDomainCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class UpdateDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class UpdateDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal UpdateDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal UpdateDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteDomainCompletedEventHandler(object sender, DeleteDomainCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DeleteDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DeleteDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DeleteDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DetachDomainCompletedEventHandler(object sender, DetachDomainCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DetachDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DetachDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DetachDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DetachDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void EnableDomainDnsCompletedEventHandler(object sender, EnableDomainDnsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class EnableDomainDnsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class EnableDomainDnsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal EnableDomainDnsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal EnableDomainDnsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DisableDomainDnsCompletedEventHandler(object sender, DisableDomainDnsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DisableDomainDnsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DisableDomainDnsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DisableDomainDnsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DisableDomainDnsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreateDomainInstantAliasCompletedEventHandler(object sender, CreateDomainInstantAliasCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class CreateDomainInstantAliasCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class CreateDomainInstantAliasCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal CreateDomainInstantAliasCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal CreateDomainInstantAliasCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteDomainInstantAliasCompletedEventHandler(object sender, DeleteDomainInstantAliasCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteDomainInstantAliasCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DeleteDomainInstantAliasCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DeleteDomainInstantAliasCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DeleteDomainInstantAliasCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDnsZoneRecordsCompletedEventHandler(object sender, GetDnsZoneRecordsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetDnsZoneRecordsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetDnsZoneRecordsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetDnsZoneRecordsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetDnsZoneRecordsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public DnsRecord[] Result { - get { + public DnsRecord[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((DnsRecord[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawDnsZoneRecordsCompletedEventHandler(object sender, GetRawDnsZoneRecordsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetRawDnsZoneRecordsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetRawDnsZoneRecordsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetRawDnsZoneRecordsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetRawDnsZoneRecordsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddDnsZoneRecordCompletedEventHandler(object sender, AddDnsZoneRecordCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddDnsZoneRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class AddDnsZoneRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal AddDnsZoneRecordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal AddDnsZoneRecordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateDnsZoneRecordCompletedEventHandler(object sender, UpdateDnsZoneRecordCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class UpdateDnsZoneRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class UpdateDnsZoneRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal UpdateDnsZoneRecordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal UpdateDnsZoneRecordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteDnsZoneRecordCompletedEventHandler(object sender, DeleteDnsZoneRecordCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteDnsZoneRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DeleteDnsZoneRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DeleteDnsZoneRecordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DeleteDnsZoneRecordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetTerminalServicesSessionsCompletedEventHandler(object sender, GetTerminalServicesSessionsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetTerminalServicesSessionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetTerminalServicesSessionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetTerminalServicesSessionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetTerminalServicesSessionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public TerminalSession[] Result { - get { + public TerminalSession[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((TerminalSession[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CloseTerminalServicesSessionCompletedEventHandler(object sender, CloseTerminalServicesSessionCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class CloseTerminalServicesSessionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class CloseTerminalServicesSessionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal CloseTerminalServicesSessionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal CloseTerminalServicesSessionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWindowsProcessesCompletedEventHandler(object sender, GetWindowsProcessesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetWindowsProcessesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetWindowsProcessesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetWindowsProcessesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetWindowsProcessesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public WindowsProcess[] Result { - get { + public WindowsProcess[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((WindowsProcess[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void TerminateWindowsProcessCompletedEventHandler(object sender, TerminateWindowsProcessCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class TerminateWindowsProcessCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class TerminateWindowsProcessCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal TerminateWindowsProcessCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal TerminateWindowsProcessCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWindowsServicesCompletedEventHandler(object sender, GetWindowsServicesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetWindowsServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetWindowsServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetWindowsServicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetWindowsServicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public WindowsService[] Result { - get { + public WindowsService[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((WindowsService[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ChangeWindowsServiceStatusCompletedEventHandler(object sender, ChangeWindowsServiceStatusCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class ChangeWindowsServiceStatusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class ChangeWindowsServiceStatusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal ChangeWindowsServiceStatusCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal ChangeWindowsServiceStatusCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetLogNamesCompletedEventHandler(object sender, GetLogNamesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetLogNamesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetLogNamesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetLogNamesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetLogNamesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public string[] Result { - get { + public string[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((string[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetLogEntriesCompletedEventHandler(object sender, GetLogEntriesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetLogEntriesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetLogEntriesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetLogEntriesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetLogEntriesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public SystemLogEntry[] Result { - get { + public SystemLogEntry[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((SystemLogEntry[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetLogEntriesPagedCompletedEventHandler(object sender, GetLogEntriesPagedCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetLogEntriesPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetLogEntriesPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetLogEntriesPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetLogEntriesPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public SystemLogEntriesPaged Result { - get { + public SystemLogEntriesPaged Result + { + get + { this.RaiseExceptionIfNecessary(); return ((SystemLogEntriesPaged)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ClearLogCompletedEventHandler(object sender, ClearLogCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class ClearLogCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class ClearLogCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal ClearLogCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal ClearLogCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void RebootSystemCompletedEventHandler(object sender, RebootSystemCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class RebootSystemCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class RebootSystemCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal RebootSystemCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal RebootSystemCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs index fed09810..1d4f770d 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs @@ -675,7 +675,7 @@ namespace WebsitePanel.EnterpriseServer } public static void AddDnsRecord(int actorId, int serviceId, int serverId, int packageId, string recordType, - string recordName, string recordData, int mxPriority, int ipAddressId) + string recordName, string recordData, int mxPriority, int SrvPriority, int SrvWeight, int SrvPort, int ipAddressId) { SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure, ObjectQualifier + "AddDnsRecord", @@ -687,11 +687,14 @@ namespace WebsitePanel.EnterpriseServer new SqlParameter("@RecordName", recordName), new SqlParameter("@RecordData", recordData), new SqlParameter("@MXPriority", mxPriority), + new SqlParameter("@SrvPriority", SrvPriority), + new SqlParameter("@SrvWeight", SrvWeight), + new SqlParameter("@SrvPort", SrvPort), new SqlParameter("@IpAddressId", ipAddressId)); } public static void UpdateDnsRecord(int actorId, int recordId, string recordType, - string recordName, string recordData, int mxPriority, int ipAddressId) + string recordName, string recordData, int mxPriority, int SrvPriority, int SrvWeight, int SrvPort, int ipAddressId) { SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure, ObjectQualifier + "UpdateDnsRecord", @@ -701,9 +704,13 @@ namespace WebsitePanel.EnterpriseServer new SqlParameter("@RecordName", recordName), new SqlParameter("@RecordData", recordData), new SqlParameter("@MXPriority", mxPriority), + new SqlParameter("@SrvPriority", SrvPriority), + new SqlParameter("@SrvWeight", SrvWeight), + new SqlParameter("@SrvPort", SrvPort), new SqlParameter("@IpAddressId", ipAddressId)); } + public static void DeleteDnsRecord(int actorId, int recordId) { SqlHelper.ExecuteNonQuery(ConnectionString, CommandType.StoredProcedure, @@ -763,7 +770,7 @@ namespace WebsitePanel.EnterpriseServer new SqlParameter("@domainName", domainName)); } - public static int CheckDomain(int packageId, string domainName) + public static int CheckDomain(int packageId, string domainName, bool isDomainPointer) { SqlParameter prmId = new SqlParameter("@Result", SqlDbType.Int); prmId.Direction = ParameterDirection.Output; @@ -772,7 +779,8 @@ namespace WebsitePanel.EnterpriseServer ObjectQualifier + "CheckDomain", prmId, new SqlParameter("@packageId", packageId), - new SqlParameter("@domainName", domainName)); + new SqlParameter("@domainName", domainName), + new SqlParameter("@isDomainPointer", isDomainPointer)); return Convert.ToInt32(prmId.Value); } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/DnsServers/DnsServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/DnsServers/DnsServerController.cs index 894a321c..1489176e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/DnsServers/DnsServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/DnsServers/DnsServerController.cs @@ -38,158 +38,157 @@ namespace WebsitePanel.EnterpriseServer { public class DnsServerController : IImportController, IBackupController { - private static DNSServer GetDNSServer(int serviceId) - { - DNSServer dns = new DNSServer(); - ServiceProviderProxy.Init(dns, serviceId); - return dns; - } + private static DNSServer GetDNSServer(int serviceId) + { + DNSServer dns = new DNSServer(); + ServiceProviderProxy.Init(dns, serviceId); + return dns; + } - public static int AddZone(int packageId, int serviceId, string zoneName) - { - return AddZone(packageId, serviceId, zoneName, true); - } + public static int AddZone(int packageId, int serviceId, string zoneName) + { + return AddZone(packageId, serviceId, zoneName, true); + } - public static int AddZone(int packageId, int serviceId, string zoneName, bool addPackageItem) - { - // get DNS provider - DNSServer dns = GetDNSServer(serviceId); + public static int AddZone(int packageId, int serviceId, string zoneName, bool addPackageItem) + { + // get DNS provider + DNSServer dns = GetDNSServer(serviceId); - // check if zone already exists - if (dns.ZoneExists(zoneName)) - return BusinessErrorCodes.ERROR_DNS_ZONE_EXISTS; + // check if zone already exists + if (dns.ZoneExists(zoneName)) + return BusinessErrorCodes.ERROR_DNS_ZONE_EXISTS; - // - TaskManager.StartTask("DNS_ZONE", "ADD", zoneName); - // - int zoneItemId = default(int); - // - try - { - // get secondary DNS services - StringDictionary primSettings = ServerController.GetServiceSettings(serviceId); - string[] primaryIPAddresses = GetExternalIPAddressesFromString(primSettings["ListeningIPAddresses"]); + // + TaskManager.StartTask("DNS_ZONE", "ADD", zoneName); + // + int zoneItemId = default(int); + // + try + { + // get secondary DNS services + StringDictionary primSettings = ServerController.GetServiceSettings(serviceId); + string[] primaryIPAddresses = GetExternalIPAddressesFromString(primSettings["ListeningIPAddresses"]); - List secondaryIPAddresses = new List(); - List secondaryServiceIds = new List(); - string strSecondaryServices = primSettings["SecondaryDNSServices"]; - if (!String.IsNullOrEmpty(strSecondaryServices)) - { - string[] secondaryServices = strSecondaryServices.Split(','); - foreach (string strSecondaryId in secondaryServices) - { - int secondaryId = Utils.ParseInt(strSecondaryId, 0); - if (secondaryId == 0) - continue; + List secondaryIPAddresses = new List(); + List secondaryServiceIds = new List(); + string strSecondaryServices = primSettings["SecondaryDNSServices"]; + if (!String.IsNullOrEmpty(strSecondaryServices)) + { + string[] secondaryServices = strSecondaryServices.Split(','); + foreach (string strSecondaryId in secondaryServices) + { + int secondaryId = Utils.ParseInt(strSecondaryId, 0); + if (secondaryId == 0) + continue; - secondaryServiceIds.Add(secondaryId); - StringDictionary secondarySettings = ServerController.GetServiceSettings(secondaryId); + secondaryServiceIds.Add(secondaryId); + StringDictionary secondarySettings = ServerController.GetServiceSettings(secondaryId); - // add secondary IPs to the master array - secondaryIPAddresses.AddRange( - GetExternalIPAddressesFromString(secondarySettings["ListeningIPAddresses"])); - } - } + // add secondary IPs to the master array + secondaryIPAddresses.AddRange( + GetExternalIPAddressesFromString(secondarySettings["ListeningIPAddresses"])); + } + } - // add "Allow zone transfers" - string allowTransfers = primSettings["AllowZoneTransfers"]; - if (!String.IsNullOrEmpty(allowTransfers)) - { - string[] ips = Utils.ParseDelimitedString(allowTransfers, '\n', ' ', ',', ';'); - foreach (string ip in ips) - { - if (!secondaryIPAddresses.Contains(ip)) - secondaryIPAddresses.Add(ip); - } - } + // add "Allow zone transfers" + string allowTransfers = primSettings["AllowZoneTransfers"]; + if (!String.IsNullOrEmpty(allowTransfers)) + { + string[] ips = Utils.ParseDelimitedString(allowTransfers, '\n', ' ', ',', ';'); + foreach (string ip in ips) + { + if (!secondaryIPAddresses.Contains(ip)) + secondaryIPAddresses.Add(ip); + } + } - // add primary zone - dns.AddPrimaryZone(zoneName, secondaryIPAddresses.ToArray()); + // add primary zone + dns.AddPrimaryZone(zoneName, secondaryIPAddresses.ToArray()); - // get DNS zone records - List records = ServerController.GetDnsRecordsTotal(packageId); + // get DNS zone records + List records = ServerController.GetDnsRecordsTotal(packageId); - // get name servers - PackageSettings packageSettings = PackageController.GetPackageSettings(packageId, PackageSettings.NAME_SERVERS); - string[] nameServers = new string[] { }; - if (!String.IsNullOrEmpty(packageSettings["NameServers"])) - nameServers = packageSettings["NameServers"].Split(';'); + // get name servers + PackageSettings packageSettings = PackageController.GetPackageSettings(packageId, PackageSettings.NAME_SERVERS); + string[] nameServers = new string[] { }; + if (!String.IsNullOrEmpty(packageSettings["NameServers"])) + nameServers = packageSettings["NameServers"].Split(';'); - // build records list - List zoneRecords = new List(); + // build records list + List zoneRecords = new List(); - string primaryNameServer = "ns." + zoneName; + string primaryNameServer = "ns." + zoneName; - if (nameServers.Length > 0) - primaryNameServer = nameServers[0]; + if (nameServers.Length > 0) + primaryNameServer = nameServers[0]; - // update SOA record + // update SOA record - string hostmaster = primSettings["ResponsiblePerson"]; - if (String.IsNullOrEmpty(hostmaster)) - { - hostmaster = "hostmaster." + zoneName; - } - else - { - hostmaster = Utils.ReplaceStringVariable(hostmaster, "domain_name", zoneName); - } + string hostmaster = primSettings["ResponsiblePerson"]; + if (String.IsNullOrEmpty(hostmaster)) + { + hostmaster = "hostmaster." + zoneName; + } + else + { + hostmaster = Utils.ReplaceStringVariable(hostmaster, "domain_name", zoneName); + } - dns.UpdateSoaRecord(zoneName, "", primaryNameServer, hostmaster); + dns.UpdateSoaRecord(zoneName, "", primaryNameServer, hostmaster); - // add name servers - foreach (string nameServer in nameServers) - { - DnsRecord ns = new DnsRecord(); - ns.RecordType = DnsRecordType.NS; - ns.RecordName = ""; - ns.RecordData = nameServer; + // add name servers + foreach (string nameServer in nameServers) + { + DnsRecord ns = new DnsRecord(); + ns.RecordType = DnsRecordType.NS; + ns.RecordName = ""; + ns.RecordData = nameServer; - zoneRecords.Add(ns); - } + zoneRecords.Add(ns); + } - // add all other records - zoneRecords.AddRange( - BuildDnsResourceRecords(records, zoneName, "")); + // add all other records + zoneRecords.AddRange(BuildDnsResourceRecords(records, zoneName, "")); - // add zone records - dns.AddZoneRecords(zoneName, zoneRecords.ToArray()); + // add zone records + dns.AddZoneRecords(zoneName, zoneRecords.ToArray()); - // add secondary zones - foreach (int secondaryId in secondaryServiceIds) - { - try - { - // add secondary zone - DNSServer secDns = GetDNSServer(secondaryId); - secDns.AddSecondaryZone(zoneName, primaryIPAddresses); - RegisterZoneItems(packageId, secondaryId, zoneName, false); - } - catch (Exception ex) - { - TaskManager.WriteError(ex, "Error adding secondary zone (service ID = " + secondaryId + ")"); - } - } + // add secondary zones + foreach (int secondaryId in secondaryServiceIds) + { + try + { + // add secondary zone + DNSServer secDns = GetDNSServer(secondaryId); + secDns.AddSecondaryZone(zoneName, primaryIPAddresses); + RegisterZoneItems(packageId, secondaryId, zoneName, false); + } + catch (Exception ex) + { + TaskManager.WriteError(ex, "Error adding secondary zone (service ID = " + secondaryId + ")"); + } + } - if (!addPackageItem) - return 0; - // add service item - zoneItemId = RegisterZoneItems(packageId, serviceId, zoneName, true); - // - TaskManager.ItemId = zoneItemId; - } - catch (Exception ex) - { - TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - // - return zoneItemId; - } + if (!addPackageItem) + return 0; + // add service item + zoneItemId = RegisterZoneItems(packageId, serviceId, zoneName, true); + // + TaskManager.ItemId = zoneItemId; + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + // + return zoneItemId; + } private static int RegisterZoneItems(int spaceId, int serviceId, string zoneName, bool primaryZone) @@ -202,131 +201,138 @@ namespace WebsitePanel.EnterpriseServer int zoneItemId = PackageController.AddPackageItem(zone); return zoneItemId; } - + public static int DeleteZone(int zoneItemId) - { - // delete DNS zone if applicable + { + // delete DNS zone if applicable DnsZone zoneItem = (DnsZone)PackageController.GetPackageItem(zoneItemId); - // - if (zoneItem != null) - { - TaskManager.StartTask("DNS_ZONE", "DELETE", zoneItem.Name); - // - try - { - // - TaskManager.ItemId = zoneItemId; - // delete DNS zone - DNSServer dns = new DNSServer(); - ServiceProviderProxy.Init(dns, zoneItem.ServiceId); + // + if (zoneItem != null) + { + TaskManager.StartTask("DNS_ZONE", "DELETE", zoneItem.Name); + // + try + { + // + TaskManager.ItemId = zoneItemId; + // delete DNS zone + DNSServer dns = new DNSServer(); + ServiceProviderProxy.Init(dns, zoneItem.ServiceId); - // delete secondary zones - StringDictionary primSettings = ServerController.GetServiceSettings(zoneItem.ServiceId); - string strSecondaryServices = primSettings["SecondaryDNSServices"]; - if (!String.IsNullOrEmpty(strSecondaryServices)) - { - string[] secondaryServices = strSecondaryServices.Split(','); - foreach (string strSecondaryId in secondaryServices) - { - try - { - int secondaryId = Utils.ParseInt(strSecondaryId, 0); - if (secondaryId == 0) - continue; + // delete secondary zones + StringDictionary primSettings = ServerController.GetServiceSettings(zoneItem.ServiceId); + string strSecondaryServices = primSettings["SecondaryDNSServices"]; + if (!String.IsNullOrEmpty(strSecondaryServices)) + { + string[] secondaryServices = strSecondaryServices.Split(','); + foreach (string strSecondaryId in secondaryServices) + { + try + { + int secondaryId = Utils.ParseInt(strSecondaryId, 0); + if (secondaryId == 0) + continue; - DNSServer secDns = new DNSServer(); - ServiceProviderProxy.Init(secDns, secondaryId); + DNSServer secDns = new DNSServer(); + ServiceProviderProxy.Init(secDns, secondaryId); - secDns.DeleteZone(zoneItem.Name); - } - catch (Exception ex1) - { - // problem when deleting secondary zone - TaskManager.WriteError(ex1, "Error deleting secondary DNS zone"); - } - } - } + secDns.DeleteZone(zoneItem.Name); + } + catch (Exception ex1) + { + // problem when deleting secondary zone + TaskManager.WriteError(ex1, "Error deleting secondary DNS zone"); + } + } + } - try - { - dns.DeleteZone(zoneItem.Name); - } - catch (Exception ex2) - { - TaskManager.WriteError(ex2, "Error deleting primary DNS zone"); - } + try + { + dns.DeleteZone(zoneItem.Name); + } + catch (Exception ex2) + { + TaskManager.WriteError(ex2, "Error deleting primary DNS zone"); + } - // delete service item - PackageController.DeletePackageItem(zoneItemId); - } - catch (Exception ex) - { - TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } - // - return 0; - } + // delete service item + PackageController.DeletePackageItem(zoneItemId); + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + // + return 0; + } - public static List BuildDnsResourceRecords(List records, - string domainName, string serviceIP) - { - List zoneRecords = new List(); + public static List BuildDnsResourceRecords(List records, string domainName, string serviceIP) + { + List zoneRecords = new List(); - foreach (GlobalDnsRecord record in records) - { - DnsRecord rr = new DnsRecord(); - rr.RecordType = (DnsRecordType)Enum.Parse(typeof(DnsRecordType), record.RecordType, true); - rr.RecordName = record.RecordName; + foreach (GlobalDnsRecord record in records) + { + DnsRecord rr = new DnsRecord(); + rr.RecordType = (DnsRecordType)Enum.Parse(typeof(DnsRecordType), record.RecordType, true); + rr.RecordName = record.RecordName; + + if (record.RecordType == "A") + { + rr.RecordData = String.IsNullOrEmpty(record.RecordData) ? record.ExternalIP : record.RecordData; + rr.RecordData = Utils.ReplaceStringVariable(rr.RecordData, "ip", record.ExternalIP); - if (record.RecordType == "A") - { - rr.RecordData = String.IsNullOrEmpty(record.RecordData) ? record.ExternalIP : record.RecordData; - rr.RecordData = Utils.ReplaceStringVariable(rr.RecordData, "ip", record.ExternalIP); + if (String.IsNullOrEmpty(rr.RecordData) && !String.IsNullOrEmpty(serviceIP)) + rr.RecordData = serviceIP; + } + else if (record.RecordType == "SRV") + { + rr.SrvPriority = record.SrvPriority; + rr.SrvWeight = record.SrvWeight; + rr.SrvPort = record.SrvPort; + rr.RecordText = record.RecordData; + rr.RecordData = record.RecordData; + } + else + { + rr.RecordData = record.RecordData; + } - if (String.IsNullOrEmpty(rr.RecordData) && !String.IsNullOrEmpty(serviceIP)) - rr.RecordData = serviceIP; - } - else - { - rr.RecordData = record.RecordData; - } + // substitute variables + rr.RecordData = Utils.ReplaceStringVariable(rr.RecordData, "domain_name", domainName); - // substitute variables - rr.RecordData = Utils.ReplaceStringVariable(rr.RecordData, "domain_name", domainName); + // add MX priority + if (record.RecordType == "MX") + rr.MxPriority = record.MxPriority; - // add MX priority - if (record.RecordType == "MX") - rr.MxPriority = record.MxPriority; + if (!String.IsNullOrEmpty(rr.RecordData)) + zoneRecords.Add(rr); + } - if (!String.IsNullOrEmpty(rr.RecordData)) - zoneRecords.Add(rr); - } + return zoneRecords; + } - return zoneRecords; - } + public static string[] GetExternalIPAddressesFromString(string str) + { + List ips = new List(); - public static string[] GetExternalIPAddressesFromString(string str) - { - List ips = new List(); + if (str != null && str.Trim() != "") + { + string[] sips = str.Split(','); + foreach (string sip in sips) + { + IPAddressInfo ip = ServerController.GetIPAddress(Int32.Parse(sip)); + if (ip != null) + ips.Add(ip.ExternalIP); + } + } - if (str != null && str.Trim() != "") - { - string[] sips = str.Split(','); - foreach (string sip in sips) - { - IPAddressInfo ip = ServerController.GetIPAddress(Int32.Parse(sip)); - if (ip != null) - ips.Add(ip.ExternalIP); - } - } - - return ips.ToArray(); - } + return ips.ToArray(); + } #region IImportController Members @@ -350,7 +356,7 @@ namespace WebsitePanel.EnterpriseServer } public void ImportItem(int packageId, int itemTypeId, Type itemType, - ResourceGroupInfo group, string itemName) + ResourceGroupInfo group, string itemName) { // get service id int serviceId = PackageController.GetPackageServiceId(packageId, group.GroupName); @@ -395,11 +401,11 @@ namespace WebsitePanel.EnterpriseServer public int BackupItem(string tempFolder, XmlWriter writer, ServiceProviderItem item, ResourceGroupInfo group) { - if (!(item is DnsZone)) - return 0; + if (!(item is DnsZone)) + return 0; // DNS provider - DNSServer dns = GetDNSServer(item.ServiceId); + DNSServer dns = GetDNSServer(item.ServiceId); // zone records serialized XmlSerializer serializer = new XmlSerializer(typeof(DnsRecord)); @@ -424,31 +430,31 @@ namespace WebsitePanel.EnterpriseServer public int RestoreItem(string tempFolder, XmlNode itemNode, int itemId, Type itemType, string itemName, int packageId, int serviceId, ResourceGroupInfo group) { - if (itemType != typeof(DnsZone)) - return 0; + if (itemType != typeof(DnsZone)) + return 0; - // DNS provider - DNSServer dns = GetDNSServer(serviceId); + // DNS provider + DNSServer dns = GetDNSServer(serviceId); - // check service item - if (!dns.ZoneExists(itemName)) - { - // create primary and secondary zones - AddZone(packageId, serviceId, itemName, false); + // check service item + if (!dns.ZoneExists(itemName)) + { + // create primary and secondary zones + AddZone(packageId, serviceId, itemName, false); - // restore records - XmlSerializer serializer = new XmlSerializer(typeof(DnsRecord)); - List records = new List(); - foreach (XmlNode childNode in itemNode.ChildNodes) - { - if (childNode.Name == "DnsRecord") - { - records.Add((DnsRecord)serializer.Deserialize(new XmlNodeReader(childNode))); - } - } + // restore records + XmlSerializer serializer = new XmlSerializer(typeof(DnsRecord)); + List records = new List(); + foreach (XmlNode childNode in itemNode.ChildNodes) + { + if (childNode.Name == "DnsRecord") + { + records.Add((DnsRecord)serializer.Deserialize(new XmlNodeReader(childNode))); + } + } - dns.AddZoneRecords(itemName, records.ToArray()); - } + dns.AddZoneRecords(itemName, records.ToArray()); + } // check if meta-item exists int zoneId = 0; @@ -470,7 +476,7 @@ namespace WebsitePanel.EnterpriseServer // restore domains RestoreDomainByZone(itemName, packageId, zoneId); - return 0; + return 0; } #endregion diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/CRMController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/CRMController.cs index 24faf4be..c2edc1bb 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/CRMController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/CRMController.cs @@ -74,7 +74,7 @@ namespace WebsitePanel.EnterpriseServer } } - int res = ServerController.AddDnsZoneRecord(domainId, recordName, DnsRecordType.A, ip, 0); + int res = ServerController.AddDnsZoneRecord(domainId, recordName, DnsRecordType.A, ip, 0, 0, 0, 0); if (res != 0) { CompleteTask(ret, CrmErrorCodes.CANNOT_CREATE_DNS_ZONE, null, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs index f701f5cc..c4d60460 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs @@ -460,7 +460,7 @@ namespace WebsitePanel.EnterpriseServer domain.PackageId = packageId; domain.DomainName = domainName; domain.HostingAllowed = false; - domainId = ServerController.AddDomain(domain, createInstantAlias); + domainId = ServerController.AddDomain(domain, createInstantAlias, true); if (domainId < 0) { result.Result = domainId; diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Servers/ServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Servers/ServerController.cs index 260be7de..f8a2e889 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Servers/ServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Servers/ServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -122,20 +122,20 @@ namespace WebsitePanel.EnterpriseServer try { // TO-DO: Check connectivity - return 0; + return 0; } catch (WebException ex) { HttpWebResponse response = (HttpWebResponse)ex.Response; - if (response != null && response.StatusCode == HttpStatusCode.NotFound) + if (response != null && response.StatusCode == HttpStatusCode.NotFound) return BusinessErrorCodes.ERROR_ADD_SERVER_NOT_FOUND; - else if (response != null && response.StatusCode == HttpStatusCode.BadRequest) + else if (response != null && response.StatusCode == HttpStatusCode.BadRequest) return BusinessErrorCodes.ERROR_ADD_SERVER_BAD_REQUEST; - else if (response != null && response.StatusCode == HttpStatusCode.InternalServerError) + else if (response != null && response.StatusCode == HttpStatusCode.InternalServerError) return BusinessErrorCodes.ERROR_ADD_SERVER_INTERNAL_SERVER_ERROR; - else if (response != null && response.StatusCode == HttpStatusCode.ServiceUnavailable) + else if (response != null && response.StatusCode == HttpStatusCode.ServiceUnavailable) return BusinessErrorCodes.ERROR_ADD_SERVER_SERVICE_UNAVAILABLE; - else if (response != null && response.StatusCode == HttpStatusCode.Unauthorized) + else if (response != null && response.StatusCode == HttpStatusCode.Unauthorized) return BusinessErrorCodes.ERROR_ADD_SERVER_UNAUTHORIZED; if (ex.Message.Contains("The remote name could not be resolved") || ex.Message.Contains("Unable to connect")) { @@ -155,7 +155,7 @@ namespace WebsitePanel.EnterpriseServer { TaskManager.WriteError("General Server Error"); TaskManager.WriteError(ex); - return BusinessErrorCodes.ERROR_ADD_SERVER_APPLICATION_ERROR; + return BusinessErrorCodes.ERROR_ADD_SERVER_APPLICATION_ERROR; } } finally @@ -220,7 +220,7 @@ namespace WebsitePanel.EnterpriseServer throw new ApplicationException("Could not find services. General error was occued.", ex); } } - + public static int AddServer(ServerInfo server, bool autoDiscovery) { // check account @@ -243,8 +243,8 @@ namespace WebsitePanel.EnterpriseServer } TaskManager.StartTask("SERVER", "ADD", server.ServerName); - - int serverId = DataProvider.AddServer(server.ServerName, server.ServerUrl, + + int serverId = DataProvider.AddServer(server.ServerName, server.ServerUrl, CryptoUtils.Encrypt(server.Password), server.Comments, server.VirtualServer, server.InstantDomainAlias, server.PrimaryGroupId, server.ADEnabled, server.ADRootDomain, server.ADUsername, CryptoUtils.Encrypt(server.ADPassword), server.ADAuthenticationType); @@ -261,7 +261,7 @@ namespace WebsitePanel.EnterpriseServer TaskManager.WriteError(ex); } } - + TaskManager.ItemId = serverId; TaskManager.CompleteTask(); @@ -294,7 +294,7 @@ namespace WebsitePanel.EnterpriseServer return availResult; } - DataProvider.UpdateServer(server.ServerId, server.ServerName, server.ServerUrl, + DataProvider.UpdateServer(server.ServerId, server.ServerName, server.ServerUrl, CryptoUtils.Encrypt(server.Password), server.Comments, server.InstantDomainAlias, server.PrimaryGroupId, server.ADEnabled, server.ADRootDomain, server.ADUsername, CryptoUtils.Encrypt(server.ADPassword), server.ADAuthenticationType); @@ -322,7 +322,7 @@ namespace WebsitePanel.EnterpriseServer server.Password = password; // update server - DataProvider.UpdateServer(server.ServerId, server.ServerName, server.ServerUrl, + DataProvider.UpdateServer(server.ServerId, server.ServerName, server.ServerUrl, CryptoUtils.Encrypt(server.Password), server.Comments, server.InstantDomainAlias, server.PrimaryGroupId, server.ADEnabled, server.ADRootDomain, server.ADUsername, CryptoUtils.Encrypt(server.ADPassword), server.ADAuthenticationType); @@ -350,7 +350,7 @@ namespace WebsitePanel.EnterpriseServer server.ADPassword = adPassword; // update server - DataProvider.UpdateServer(server.ServerId, server.ServerName, server.ServerUrl, + DataProvider.UpdateServer(server.ServerId, server.ServerName, server.ServerUrl, CryptoUtils.Encrypt(server.Password), server.Comments, server.InstantDomainAlias, server.PrimaryGroupId, server.ADEnabled, server.ADRootDomain, server.ADUsername, CryptoUtils.Encrypt(server.ADPassword), server.ADAuthenticationType); @@ -636,12 +636,12 @@ namespace WebsitePanel.EnterpriseServer | DemandAccount.IsActive); if (accountCheck < 0) return accountCheck; - // load original service - ServiceInfo origService = GetServiceInfo(service.ServiceId); + // load original service + ServiceInfo origService = GetServiceInfo(service.ServiceId); TaskManager.StartTask("SERVER", "UPDATE_SERVICE"); - TaskManager.ItemId = origService.ServerId; - TaskManager.ItemName = GetServerByIdInternal(origService.ServerId).ServerName; + TaskManager.ItemId = origService.ServerId; + TaskManager.ItemName = GetServerByIdInternal(origService.ServerId).ServerName; TaskManager.WriteParameter("New service name", service.ServiceName); DataProvider.UpdateService(service.ServiceId, service.ServiceName, @@ -839,7 +839,7 @@ namespace WebsitePanel.EnterpriseServer public static BoolResult IsInstalled(int serverId, int providerId) { BoolResult res = TaskManager.StartResultTask("AUTO_DISCOVERY", "IS_INSTALLED"); - + try { ProviderInfo provider = GetProvider(providerId); @@ -848,22 +848,22 @@ namespace WebsitePanel.EnterpriseServer TaskManager.CompleteResultTask(res, ErrorCodes.CANNOT_GET_PROVIDER_INFO); return res; } - + AutoDiscovery.AutoDiscovery ad = new AutoDiscovery.AutoDiscovery(); ServiceProviderProxy.ServerInit(ad, serverId); - - res = ad.IsInstalled(provider.ProviderType); + + res = ad.IsInstalled(provider.ProviderType); } - catch(Exception ex) + catch (Exception ex) { TaskManager.CompleteResultTask(res, ErrorCodes.CANNOT_CHECK_IF_PROVIDER_SOFTWARE_INSTALLED, ex); - + } TaskManager.CompleteResultTask(); return res; } - + public static string GetServerVersion(int serverId) { AutoDiscovery.AutoDiscovery ad = new AutoDiscovery.AutoDiscovery(); @@ -871,7 +871,7 @@ namespace WebsitePanel.EnterpriseServer return ad.GetServerVersion(); } - + #endregion #region IP Addresses @@ -1400,18 +1400,18 @@ namespace WebsitePanel.EnterpriseServer private static string GetIPAddressesQuotaByResourceGroup(string groupName) { - if (String.Compare(groupName, ResourceGroups.VPS, true) == 0) - { - return Quotas.VPS_EXTERNAL_IP_ADDRESSES_NUMBER; - } - else if (String.Compare(groupName, ResourceGroups.VPSForPC, true) == 0) - { - return Quotas.VPSForPC_EXTERNAL_IP_ADDRESSES_NUMBER; - } - else - { - return Quotas.WEB_IP_ADDRESSES; - } + if (String.Compare(groupName, ResourceGroups.VPS, true) == 0) + { + return Quotas.VPS_EXTERNAL_IP_ADDRESSES_NUMBER; + } + else if (String.Compare(groupName, ResourceGroups.VPSForPC, true) == 0) + { + return Quotas.VPSForPC_EXTERNAL_IP_ADDRESSES_NUMBER; + } + else + { + return Quotas.WEB_IP_ADDRESSES; + } } #endregion @@ -1521,7 +1521,8 @@ namespace WebsitePanel.EnterpriseServer TaskManager.WriteParameter("Data", record.RecordData); DataProvider.AddDnsRecord(SecurityContext.User.UserId, record.ServiceId, record.ServerId, record.PackageId, - record.RecordType, record.RecordName, record.RecordData, record.MxPriority, record.IpAddressId); + record.RecordType, record.RecordName, record.RecordData, record.MxPriority, + record.SrvPriority, record.SrvWeight, record.SrvPort, record.IpAddressId); TaskManager.CompleteTask(); @@ -1540,7 +1541,8 @@ namespace WebsitePanel.EnterpriseServer TaskManager.WriteParameter("Data", record.RecordData); DataProvider.UpdateDnsRecord(SecurityContext.User.UserId, record.RecordId, - record.RecordType, record.RecordName, record.RecordData, record.MxPriority, record.IpAddressId); + record.RecordType, record.RecordName, record.RecordData, record.MxPriority, + record.SrvPriority, record.SrvWeight, record.SrvPort, record.IpAddressId); TaskManager.CompleteTask(); @@ -1571,7 +1573,7 @@ namespace WebsitePanel.EnterpriseServer #region Domains public static int CheckDomain(string domainName) { - int checkDomainResult = DataProvider.CheckDomain(-10, domainName); + int checkDomainResult = DataProvider.CheckDomain(-10, domainName, false); if (checkDomainResult == -1) return BusinessErrorCodes.ERROR_DOMAIN_ALREADY_EXISTS; @@ -1677,8 +1679,7 @@ namespace WebsitePanel.EnterpriseServer } public static int AddDomainWithProvisioning(int packageId, string domainName, DomainType domainType, - bool createWebSite, int pointWebSiteId, int pointMailDomainId, - bool createDnsZone, bool createInstantAlias, bool allowSubDomains) + bool createWebSite, int pointWebSiteId, int pointMailDomainId, bool createDnsZone, bool createInstantAlias, bool allowSubDomains) { // check account int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); @@ -1687,7 +1688,7 @@ namespace WebsitePanel.EnterpriseServer // check package int packageCheck = SecurityContext.CheckPackage(packageId, DemandPackage.IsActive); if (packageCheck < 0) return packageCheck; - + // set flags bool isSubDomain = (domainType == DomainType.SubDomain || domainType == DomainType.ProviderSubDomain); bool isDomainPointer = (domainType == DomainType.DomainPointer); @@ -1748,10 +1749,10 @@ namespace WebsitePanel.EnterpriseServer public static int AddDomain(DomainInfo domain) { - return AddDomain(domain, false); + return AddDomain(domain, false, false); } - public static int AddDomain(DomainInfo domain, bool createInstantAlias) + public static int AddDomain(DomainInfo domain, bool createInstantAlias, bool createZone) { // check account int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); @@ -1762,7 +1763,7 @@ namespace WebsitePanel.EnterpriseServer if (packageCheck < 0) return packageCheck; // add main domain - int domainId = AddDomainInternal(domain.PackageId, domain.DomainName, true, + int domainId = AddDomainInternal(domain.PackageId, domain.DomainName, createZone, domain.IsSubDomain, false, domain.IsDomainPointer, false); if (domainId < 0) @@ -1805,7 +1806,7 @@ namespace WebsitePanel.EnterpriseServer } // check if the domain already exists - int checkResult = DataProvider.CheckDomain(packageId, domainName); + int checkResult = DataProvider.CheckDomain(packageId, domainName, isDomainPointer); if (checkResult < 0) { @@ -1816,15 +1817,18 @@ namespace WebsitePanel.EnterpriseServer else return checkResult; } - - if (domainName.ToLower().StartsWith("www.")) - return BusinessErrorCodes.ERROR_DOMAIN_STARTS_WWW; + /* + if (domainName.ToLower().StartsWith("www.")) + return BusinessErrorCodes.ERROR_DOMAIN_STARTS_WWW; + */ // place log record TaskManager.StartTask("DOMAIN", "ADD", domainName); TaskManager.PackageId = packageId; TaskManager.TaskParameters["CreateZone"] = createDnsZone; + + // create DNS zone int zoneItemId = 0; if (createDnsZone) @@ -1895,60 +1899,60 @@ namespace WebsitePanel.EnterpriseServer } } - public static int DetachDomain(int domainId) - { - // check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsAdmin); - if (accountCheck < 0) return accountCheck; + public static int DetachDomain(int domainId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsAdmin); + if (accountCheck < 0) return accountCheck; - // load domain - DomainInfo domain = GetDomain(domainId); + // load domain + DomainInfo domain = GetDomain(domainId); - // place log record - TaskManager.StartTask("DOMAIN", "DETACH", domain.DomainName); - TaskManager.ItemId = domain.DomainId; + // place log record + TaskManager.StartTask("DOMAIN", "DETACH", domain.DomainName); + TaskManager.ItemId = domain.DomainId; - try - { - // check if domain can be deleted - if (domain.WebSiteId > 0) - { - TaskManager.WriteError("Domain points to the existing web site"); - return BusinessErrorCodes.ERROR_DOMAIN_POINTS_TO_WEB_SITE; - } + try + { + // check if domain can be deleted + if (domain.WebSiteId > 0) + { + TaskManager.WriteError("Domain points to the existing web site"); + return BusinessErrorCodes.ERROR_DOMAIN_POINTS_TO_WEB_SITE; + } - if (domain.MailDomainId > 0) - { - TaskManager.WriteError("Domain points to the existing mail domain"); - return BusinessErrorCodes.ERROR_DOMAIN_POINTS_TO_MAIL_DOMAIN; - } + if (domain.MailDomainId > 0) + { + TaskManager.WriteError("Domain points to the existing mail domain"); + return BusinessErrorCodes.ERROR_DOMAIN_POINTS_TO_MAIL_DOMAIN; + } if (DataProvider.ExchangeOrganizationDomainExists(domain.DomainId)) { TaskManager.WriteError("Domain points to the existing organization domain"); return BusinessErrorCodes.ERROR_ORGANIZATION_DOMAIN_IS_IN_USE; } - + // remove DNS zone meta-item if required - if (domain.ZoneItemId > 0) - { - PackageController.DeletePackageItem(domain.ZoneItemId); - } + if (domain.ZoneItemId > 0) + { + PackageController.DeletePackageItem(domain.ZoneItemId); + } - // delete domain - DataProvider.DeleteDomain(SecurityContext.User.UserId, domainId); + // delete domain + DataProvider.DeleteDomain(SecurityContext.User.UserId, domainId); - return 0; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } public static int DeleteDomain(int domainId) { @@ -1991,9 +1995,9 @@ namespace WebsitePanel.EnterpriseServer if (res < 0) return res; } - - // delete zone if required - DnsServerController.DeleteZone(domain.ZoneItemId); + + // delete zone if required + DnsServerController.DeleteZone(domain.ZoneItemId); // delete domain DataProvider.DeleteDomain(SecurityContext.User.UserId, domainId); @@ -2096,7 +2100,7 @@ namespace WebsitePanel.EnterpriseServer } // add web site DNS records - int res = AddWebSiteZoneRecords(domainId); + int res = AddWebSiteZoneRecords("", domainId); if (res < 0) return res; @@ -2112,7 +2116,7 @@ namespace WebsitePanel.EnterpriseServer } } - private static int AddWebSiteZoneRecords(int domainId) + private static int AddWebSiteZoneRecords(string hostName, int domainId) { // load domain DomainInfo domain = GetDomainItem(domainId); @@ -2126,7 +2130,7 @@ namespace WebsitePanel.EnterpriseServer return res; } - public static int CreateDomainInstantAlias(int domainId) + public static int CreateDomainInstantAlias(string hostName, int domainId) { // check account int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo); @@ -2166,14 +2170,15 @@ namespace WebsitePanel.EnterpriseServer if (webRes < 0) return webRes; } - - // add mail domain pointer - if (domain.MailDomainId > 0 && instantAlias.MailDomainId == 0) - { - int mailRes = MailServerController.AddMailDomainPointer(domain.MailDomainId, instantAliasId); - if (mailRes < 0) - return mailRes; - } + /* + // add mail domain pointer + if (domain.MailDomainId > 0 && instantAlias.MailDomainId == 0) + { + int mailRes = MailServerController.AddMailDomainPointer(domain.MailDomainId, instantAliasId); + if (mailRes < 0) + return mailRes; + } + */ return 0; } @@ -2214,14 +2219,15 @@ namespace WebsitePanel.EnterpriseServer if (webRes < 0) return webRes; } - - // remove from mail domain pointers - if (instantAlias.MailDomainId > 0) - { - int mailRes = MailServerController.DeleteMailDomainPointer(instantAlias.MailDomainId, instantAlias.DomainId); - if (mailRes < 0) - return mailRes; - } + /* + // remove from mail domain pointers + if (instantAlias.MailDomainId > 0) + { + int mailRes = MailServerController.DeleteMailDomainPointer(instantAlias.MailDomainId, instantAlias.DomainId); + if (mailRes < 0) + return mailRes; + } + */ // delete instant alias int res = DeleteDomain(instantAlias.DomainId); @@ -2272,12 +2278,15 @@ namespace WebsitePanel.EnterpriseServer dt.Columns.Add("RecordName", typeof(string)); dt.Columns.Add("RecordData", typeof(string)); dt.Columns.Add("MxPriority", typeof(int)); + dt.Columns.Add("SrvPriority", typeof(int)); + dt.Columns.Add("SrvWeight", typeof(int)); + dt.Columns.Add("SrvPort", typeof(int)); // add rows DnsRecord[] records = GetDnsZoneRecords(domainId); foreach (DnsRecord record in records) { - dt.Rows.Add(record.RecordType, record.RecordName, record.RecordData, record.MxPriority); + dt.Rows.Add(record.RecordType, record.RecordName, record.RecordData, record.MxPriority, record.SrvPriority, record.SrvWeight, record.SrvPort); } return ds; @@ -2299,7 +2308,7 @@ namespace WebsitePanel.EnterpriseServer } public static int AddDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType, - string recordData, int mxPriority) + string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPort) { // check account int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); @@ -2315,7 +2324,7 @@ namespace WebsitePanel.EnterpriseServer // get DNS service DnsZone zoneItem = (DnsZone)PackageController.GetPackageItem(domain.ZoneItemId); - if(zoneItem == null) + if (zoneItem == null) return 0; // place log record @@ -2337,6 +2346,9 @@ namespace WebsitePanel.EnterpriseServer record.RecordName = recordName; record.RecordData = recordData; record.MxPriority = mxPriority; + record.SrvPriority = srvPriority; + record.SrvWeight = srvWeight; + record.SrvPort = srvPort; dns.AddZoneRecord(zoneItem.Name, record); return 0; @@ -2353,7 +2365,7 @@ namespace WebsitePanel.EnterpriseServer public static int UpdateDnsZoneRecord(int domainId, string originalRecordName, string originalRecordData, - string recordName, DnsRecordType recordType, string recordData, int mxPriority) + string recordName, DnsRecordType recordType, string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber) { // place log record DomainInfo domain = GetDomain(domainId); @@ -2367,7 +2379,7 @@ namespace WebsitePanel.EnterpriseServer DeleteDnsZoneRecord(domainId, originalRecordName, recordType, originalRecordData); // add new record - AddDnsZoneRecord(domainId, recordName, recordType, recordData, mxPriority); + AddDnsZoneRecord(domainId, recordName, recordType, recordData, mxPriority, srvPriority, srvWeight, srvPortNumber); return 0; } @@ -2410,7 +2422,7 @@ namespace WebsitePanel.EnterpriseServer DNSServer dns = new DNSServer(); ServiceProviderProxy.Init(dns, zoneItem.ServiceId); - DnsRecord record = GetDnsZoneRecord(domainId, recordName, recordType, recordData); + DnsRecord record = GetDnsZoneRecord(domainId, recordName, recordType, recordData); dns.DeleteZoneRecord(zoneItem.Name, record); return 0; diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs index 8d149714..8a1b4baa 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs @@ -346,7 +346,7 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint } } - ServerController.AddDnsZoneRecord(domain.DomainId, hostName, DnsRecordType.A, hostedSharePointSettings["RootWebApplicationIpAddress"], 0); + ServerController.AddDnsZoneRecord(domain.DomainId, hostName, DnsRecordType.A, hostedSharePointSettings["RootWebApplicationIpAddress"], 0, 0, 0, 0); } } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Wizards/UserCreationWizard.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Wizards/UserCreationWizard.cs index cae8e037..1ba6e220 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Wizards/UserCreationWizard.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Wizards/UserCreationWizard.cs @@ -173,7 +173,7 @@ namespace WebsitePanel.EnterpriseServer domain.PackageId = createdPackageId; domain.DomainName = domainName; domain.HostingAllowed = false; - domainId = ServerController.AddDomain(domain, !tempDomain); + domainId = ServerController.AddDomain(domain, false, !tempDomain); if (domainId < 0) { // rollback wizard diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs index e389b148..3caa0f08 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -249,7 +249,7 @@ namespace WebsitePanel.EnterpriseServer { return ServerController.GetProviderServiceQuota(providerId); } - + #endregion #region Providers @@ -301,7 +301,7 @@ namespace WebsitePanel.EnterpriseServer { return ServerController.IsInstalled(serverId, providerId); } - + [WebMethod] public string GetServerVersion(int serverId) { @@ -568,11 +568,11 @@ namespace WebsitePanel.EnterpriseServer return ServerController.DeleteDomain(domainId); } - [WebMethod] - public int DetachDomain(int domainId) - { - return ServerController.DetachDomain(domainId); - } + [WebMethod] + public int DetachDomain(int domainId) + { + return ServerController.DetachDomain(domainId); + } [WebMethod] public int EnableDomainDns(int domainId) @@ -587,9 +587,9 @@ namespace WebsitePanel.EnterpriseServer } [WebMethod] - public int CreateDomainInstantAlias(int domainId) + public int CreateDomainInstantAlias(string hostName, int domainId) { - return ServerController.CreateDomainInstantAlias(domainId); + return ServerController.CreateDomainInstantAlias(hostName, domainId); } [WebMethod] @@ -614,18 +614,18 @@ namespace WebsitePanel.EnterpriseServer [WebMethod] public int AddDnsZoneRecord(int domainId, string recordName, DnsRecordType recordType, - string recordData, int mxPriority) + string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber) { - return ServerController.AddDnsZoneRecord(domainId, recordName, recordType, recordData, mxPriority); + return ServerController.AddDnsZoneRecord(domainId, recordName, recordType, recordData, mxPriority, srvPriority, srvWeight, srvPortNumber); } [WebMethod] public int UpdateDnsZoneRecord(int domainId, string originalRecordName, string originalRecordData, - string recordName, DnsRecordType recordType, string recordData, int mxPriority) + string recordName, DnsRecordType recordType, string recordData, int mxPriority, int srvPriority, int srvWeight, int srvPortNumber) { return ServerController.UpdateDnsZoneRecord(domainId, originalRecordName, originalRecordData, - recordName, recordType, recordData, mxPriority); + recordName, recordType, recordData, mxPriority, srvPriority, srvWeight, srvPortNumber); } [WebMethod] diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecord.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecord.cs index d5a75e28..ec61181d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecord.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecord.cs @@ -39,6 +39,10 @@ namespace WebsitePanel.Providers.DNS private string recordData; private int mxPriority; private string recordText; + private int srvPriority; + private int srvWeight; + private int srvPort; + public string RecordName { @@ -69,5 +73,25 @@ namespace WebsitePanel.Providers.DNS get { return this.recordText; } set { this.recordText = value; } } + + + public int SrvPriority + { + get { return this.srvPriority; } + set { this.srvPriority = value; } + } + + public int SrvWeight + { + get { return this.srvWeight; } + set { this.srvWeight = value; } + } + + public int SrvPort + { + get { return this.srvPort; } + set { this.srvPort = value; } + } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecordType.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecordType.cs index acc08741..722c7b83 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecordType.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DNS/DnsRecordType.cs @@ -40,6 +40,8 @@ namespace WebsitePanel.Providers.DNS CNAME, SOA, TXT, + SRV, Other } } + diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.MsDNS/MsDNS.cs b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.MsDNS/MsDNS.cs index e2a81904..a89b73c2 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.DNS.MsDNS/MsDNS.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.DNS.MsDNS/MsDNS.cs @@ -80,52 +80,52 @@ namespace WebsitePanel.Providers.DNS #region Zones - /// - /// Supports managed resources disposal - /// - /// + /// + /// Supports managed resources disposal + /// + /// public virtual string[] GetZones() { List zones = new List(); - using (ManagementObjectCollection objZones = wmi.GetClass("MicrosoftDNS_Zone").GetInstances()) - { - foreach (ManagementObject objZone in objZones) using(objZone) - { - if ((uint)objZone.Properties["ZoneType"].Value == 1) - zones.Add((string)objZone.Properties["Name"].Value); - } - } + using (ManagementObjectCollection objZones = wmi.GetClass("MicrosoftDNS_Zone").GetInstances()) + { + foreach (ManagementObject objZone in objZones) using (objZone) + { + if ((uint)objZone.Properties["ZoneType"].Value == 1) + zones.Add((string)objZone.Properties["Name"].Value); + } + } return zones.ToArray(); } - /// - /// - /// - /// - /// - /// Supports managed resources disposal + /// + /// + /// + /// + /// + /// Supports managed resources disposal public virtual bool ZoneExists(string zoneName) { - using (RegistryKey root = Registry.LocalMachine) - { - using (RegistryKey rk = root.OpenSubKey("Software\\Microsoft\\Windows NT\\CurrentVersion\\DNS Server\\Zones\\" + zoneName)) - { - return (rk != null); - } - } + using (RegistryKey root = Registry.LocalMachine) + { + using (RegistryKey rk = root.OpenSubKey("Software\\Microsoft\\Windows NT\\CurrentVersion\\DNS Server\\Zones\\" + zoneName)) + { + return (rk != null); + } + } } - /// - /// Supports managed resources disposal - /// - /// - /// - + /// + /// Supports managed resources disposal + /// + /// + /// + public virtual DnsRecord[] GetZoneRecords(string zoneName) { - //using (ManagementObjectCollection rrs = wmi.ExecuteQuery( - // String.Format("SELECT * FROM MicrosoftDNS_ResourceRecord WHERE DomainName='{0}'", zoneName))) + //using (ManagementObjectCollection rrs = wmi.ExecuteQuery( + // String.Format("SELECT * FROM MicrosoftDNS_ResourceRecord WHERE DomainName='{0}'", zoneName))) //ManagementObjectCollection rrs = GetWmiObjects("MicrosoftDNS_ResourceRecord", "DomainName='{0}'",zoneName); ManagementObjectCollection rrsA = wmi.GetWmiObjects("MicrosoftDNS_AType", "DomainName='{0}'", zoneName); @@ -138,6 +138,14 @@ namespace WebsitePanel.Providers.DNS ManagementObjectCollection rrsTXT = wmi.GetWmiObjects("MicrosoftDNS_TXTType", "DomainName='{0}'", zoneName); + ManagementObjectCollection rrsSRV = wmi.GetWmiObjects("MicrosoftDNS_SRVType", "DomainName='{0}'", zoneName); + + ManagementObjectCollection rrsSRV_tcp = wmi.GetWmiObjects("MicrosoftDNS_SRVType", "DomainName='_tcp.{0}'", zoneName); + + ManagementObjectCollection rrsSRV_udp = wmi.GetWmiObjects("MicrosoftDNS_SRVType", "DomainName='_udp.{0}'", zoneName); + + ManagementObjectCollection rrsSRV_tls = wmi.GetWmiObjects("MicrosoftDNS_SRVType", "DomainName='_tls.{0}'", zoneName); + List records = new List(); DnsRecord record = new DnsRecord(); @@ -188,11 +196,61 @@ namespace WebsitePanel.Providers.DNS records.Add(record); } + foreach (ManagementObject rr in rrsSRV) + { + record = new DnsRecord(); + record.RecordType = DnsRecordType.SRV; + record.RecordName = CorrectHost(zoneName, (string)rr.Properties["OwnerName"].Value); + record.SrvPriority = Convert.ToInt32(rr.Properties["Priority"].Value); + record.SrvWeight = Convert.ToInt32(rr.Properties["Weight"].Value); + record.SrvPort = Convert.ToInt32(rr.Properties["Port"].Value); + record.RecordData = RemoveTrailingDot((string)rr.Properties["SRVDomainName"].Value); + records.Add(record); + } + + foreach (ManagementObject rr in rrsSRV_tcp) + { + record = new DnsRecord(); + record.RecordType = DnsRecordType.SRV; + record.RecordName = CorrectHost(zoneName, (string)rr.Properties["OwnerName"].Value); + record.SrvPriority = Convert.ToInt32(rr.Properties["Priority"].Value); + record.SrvWeight = Convert.ToInt32(rr.Properties["Weight"].Value); + record.SrvPort = Convert.ToInt32(rr.Properties["Port"].Value); + record.RecordData = RemoveTrailingDot((string)rr.Properties["SRVDomainName"].Value); + records.Add(record); + } + + foreach (ManagementObject rr in rrsSRV_udp) + { + record = new DnsRecord(); + record.RecordType = DnsRecordType.SRV; + record.RecordName = CorrectHost(zoneName, (string)rr.Properties["OwnerName"].Value); + record.SrvPriority = Convert.ToInt32(rr.Properties["Priority"].Value); + record.SrvWeight = Convert.ToInt32(rr.Properties["Weight"].Value); + record.SrvPort = Convert.ToInt32(rr.Properties["Port"].Value); + record.RecordData = RemoveTrailingDot((string)rr.Properties["SRVDomainName"].Value); + records.Add(record); + } + + foreach (ManagementObject rr in rrsSRV_tls) + { + record = new DnsRecord(); + record.RecordType = DnsRecordType.SRV; + record.RecordName = CorrectHost(zoneName, (string)rr.Properties["OwnerName"].Value); + record.SrvPriority = Convert.ToInt32(rr.Properties["Priority"].Value); + record.SrvWeight = Convert.ToInt32(rr.Properties["Weight"].Value); + record.SrvPort = Convert.ToInt32(rr.Properties["Port"].Value); + record.RecordData = RemoveTrailingDot((string)rr.Properties["SRVDomainName"].Value); + records.Add(record); + } + + + + return records.ToArray(); - } - + private string RemoveTrailingDot(string str) { return (str.EndsWith(".")) ? str.Substring(0, str.Length - 1) : str; @@ -209,21 +267,21 @@ namespace WebsitePanel.Providers.DNS private ManagementObject GetZone(string zoneName) { ManagementObject objZone = null; - + try { - + objZone = wmi.GetObject(String.Format( "MicrosoftDNS_Zone.ContainerName='{0}',DnsServerName='{1}',Name='{2}'", zoneName, System.Net.Dns.GetHostEntry("LocalHost").HostName, zoneName)); objZone.Get(); - + /* objZone = wmi.GetWmiObject("MicrosoftDNS_Zone", "ContainerName = '{0}' AND DnsServerName = '{1}' AND Name = '{2}'", new object[] { zoneName, System.Net.Dns.GetHostEntry("LocalHost").HostName, zoneName }); */ } - catch(Exception ex) + catch (Exception ex) { objZone = null; Log.WriteError("Could not get DNS Zone", ex); @@ -232,12 +290,12 @@ namespace WebsitePanel.Providers.DNS return objZone; } - /// - /// - /// - /// - /// - /// Supports managed resources disposal + /// + /// + /// + /// + /// + /// Supports managed resources disposal public virtual void AddPrimaryZone(string zoneName, string[] secondaryServers) { // check if zone exists @@ -245,144 +303,144 @@ namespace WebsitePanel.Providers.DNS return; // create a zone - using (ManagementClass clsZone = wmi.GetClass("MicrosoftDNS_Zone")) - { - using (ManagementBaseObject inParams = clsZone.GetMethodParameters("CreateZone")) - { - inParams["ZoneName"] = zoneName; - inParams["ZoneType"] = 0; // primary zone + using (ManagementClass clsZone = wmi.GetClass("MicrosoftDNS_Zone")) + { + using (ManagementBaseObject inParams = clsZone.GetMethodParameters("CreateZone")) + { + inParams["ZoneName"] = zoneName; + inParams["ZoneType"] = 0; // primary zone - // create zones in AD if required - if (AdMode) - inParams["DsIntegrated"] = true; + // create zones in AD if required + if (AdMode) + inParams["DsIntegrated"] = true; - using (ManagementBaseObject outParams = clsZone.InvokeMethod("CreateZone", inParams, null)) - { - // update created zone - using (ManagementObject objZone = wmi.GetObject(String.Format( - "MicrosoftDNS_Zone.ContainerName='{0}',DnsServerName='{1}',Name='{2}'", - zoneName, System.Net.Dns.GetHostEntry("LocalHost").HostName, zoneName))) - { - try - { - // invoke ResetSecondaries method - using (ManagementBaseObject inParams2 = objZone.GetMethodParameters("ResetSecondaries")) - { - inParams2["SecondaryServers"] = new string[] { }; - inParams2["NotifyServers"] = new string[] { }; + using (ManagementBaseObject outParams = clsZone.InvokeMethod("CreateZone", inParams, null)) + { + // update created zone + using (ManagementObject objZone = wmi.GetObject(String.Format( + "MicrosoftDNS_Zone.ContainerName='{0}',DnsServerName='{1}',Name='{2}'", + zoneName, System.Net.Dns.GetHostEntry("LocalHost").HostName, zoneName))) + { + try + { + // invoke ResetSecondaries method + using (ManagementBaseObject inParams2 = objZone.GetMethodParameters("ResetSecondaries")) + { + inParams2["SecondaryServers"] = new string[] { }; + inParams2["NotifyServers"] = new string[] { }; - if (secondaryServers == null || secondaryServers.Length == 0) - { - // transfers are not allowed - inParams2["SecureSecondaries"] = 3; - inParams2["Notify"] = 0; - } - else if (secondaryServers.Length == 1 && - secondaryServers[0] == "*") - { - // allowed transfer from all servers - inParams2["SecureSecondaries"] = 0; - inParams2["Notify"] = 1; - } - else - { - // allowed transfer from specified servers - inParams2["SecureSecondaries"] = 2; - inParams2["SecondaryServers"] = secondaryServers; - inParams2["NotifyServers"] = secondaryServers; - inParams2["Notify"] = 2; - } + if (secondaryServers == null || secondaryServers.Length == 0) + { + // transfers are not allowed + inParams2["SecureSecondaries"] = 3; + inParams2["Notify"] = 0; + } + else if (secondaryServers.Length == 1 && + secondaryServers[0] == "*") + { + // allowed transfer from all servers + inParams2["SecureSecondaries"] = 0; + inParams2["Notify"] = 1; + } + else + { + // allowed transfer from specified servers + inParams2["SecureSecondaries"] = 2; + inParams2["SecondaryServers"] = secondaryServers; + inParams2["NotifyServers"] = secondaryServers; + inParams2["Notify"] = 2; + } - objZone.InvokeMethod("ResetSecondaries", inParams2, null); - } - } - catch - { - Log.WriteWarning("Error resetting/notifying secondary name servers"); - } - } - } - } - } + objZone.InvokeMethod("ResetSecondaries", inParams2, null); + } + } + catch + { + Log.WriteWarning("Error resetting/notifying secondary name servers"); + } + } + } + } + } // delete orphan NS records DeleteOrphanNsRecords(zoneName); } - /// - /// Supports managed resources disposal - /// - /// - /// + /// + /// Supports managed resources disposal + /// + /// + /// public virtual void AddSecondaryZone(string zoneName, string[] masterServers) { // check if zone exists - using (ManagementObject objSecondary = GetZone(zoneName)) - { - if (objSecondary != null) - return; - } + using (ManagementObject objSecondary = GetZone(zoneName)) + { + if (objSecondary != null) + return; + } // create a zone - using (ManagementClass clsZone = wmi.GetClass("MicrosoftDNS_Zone")) - { - using (ManagementBaseObject inParams = clsZone.GetMethodParameters("CreateZone")) - { - inParams["ZoneName"] = zoneName; - inParams["ZoneType"] = 1; // secondary zone - inParams["IpAddr"] = masterServers; - inParams["DataFileName"] = zoneName + ".dns"; + using (ManagementClass clsZone = wmi.GetClass("MicrosoftDNS_Zone")) + { + using (ManagementBaseObject inParams = clsZone.GetMethodParameters("CreateZone")) + { + inParams["ZoneName"] = zoneName; + inParams["ZoneType"] = 1; // secondary zone + inParams["IpAddr"] = masterServers; + inParams["DataFileName"] = zoneName + ".dns"; - // create zones in AD if required - inParams["DsIntegrated"] = AdMode; + // create zones in AD if required + inParams["DsIntegrated"] = AdMode; - using (ManagementBaseObject outParams = clsZone.InvokeMethod("CreateZone", inParams, null)) - { - try - { - // update created zone - /*ManagementObject objZone = wmi.GetObject(String.Format( - "MicrosoftDNS_Zone.ContainerName='{0}',DnsServerName='{1}',Name='{2}'", - zoneName, System.Net.Dns.GetHostEntry("LocalHost").HostName, zoneName)); + using (ManagementBaseObject outParams = clsZone.InvokeMethod("CreateZone", inParams, null)) + { + try + { + // update created zone + /*ManagementObject objZone = wmi.GetObject(String.Format( + "MicrosoftDNS_Zone.ContainerName='{0}',DnsServerName='{1}',Name='{2}'", + zoneName, System.Net.Dns.GetHostEntry("LocalHost").HostName, zoneName)); - objZone.InvokeMethod("ForceRefresh", null);*/ - using (ManagementObject objZone = (ManagementObject)outParams["RR"]) - { - objZone.InvokeMethod("ReloadZone", null); - } - } - catch (Exception ex) - { - Log.WriteWarning("Error ReloadZone for secondary zone '{0}': {1}", zoneName, ex.Message); - } - } - } - } + objZone.InvokeMethod("ForceRefresh", null);*/ + using (ManagementObject objZone = (ManagementObject)outParams["RR"]) + { + objZone.InvokeMethod("ReloadZone", null); + } + } + catch (Exception ex) + { + Log.WriteWarning("Error ReloadZone for secondary zone '{0}': {1}", zoneName, ex.Message); + } + } + } + } // delete orphan NS records DeleteOrphanNsRecords(zoneName); } - /// - /// Supports managed resources disposal - /// - /// - + /// + /// Supports managed resources disposal + /// + /// + public virtual void DeleteZone(string zoneName) { - try - { + try + { using (ManagementObject objZone = GetZone(zoneName)) { if (objZone != null) objZone.Delete(); } - } - catch (Exception ex) - { - Log.WriteError(ex); - } + } + catch (Exception ex) + { + Log.WriteError(ex); + } } - + public virtual void AddZoneRecord(string zoneName, DnsRecord record) { @@ -398,6 +456,9 @@ namespace WebsitePanel.Providers.DNS AddNsRecord(zoneName, record.RecordName, record.RecordData); else if (record.RecordType == DnsRecordType.TXT) AddTxtRecord(zoneName, record.RecordName, record.RecordData); + else if (record.RecordType == DnsRecordType.SRV) + AddSrvRecord(zoneName, record.RecordName, record.SrvPriority, record.SrvWeight, record.SrvPort, record.RecordData); + } catch (Exception ex) { @@ -428,6 +489,9 @@ namespace WebsitePanel.Providers.DNS DeleteNsRecord(zoneName, record.RecordName, record.RecordData); else if (record.RecordType == DnsRecordType.TXT) DeleteTxtRecord(zoneName, record.RecordName, record.RecordData); + else if (record.RecordType == DnsRecordType.SRV) + DeleteSrvRecord(zoneName, record.RecordName, record.RecordData); + } catch (Exception ex) { @@ -477,12 +541,12 @@ namespace WebsitePanel.Providers.DNS UpdateSoaRecord(zoneName); } - /// - /// Supports managed resources disposal - /// - /// + /// + /// Supports managed resources disposal + /// + /// private void DeleteSoaRecord(string zoneName) - { + { string query = String.Format("SELECT * FROM MicrosoftDNS_SOAType " + "WHERE OwnerName = '{0}'", zoneName); @@ -491,7 +555,7 @@ namespace WebsitePanel.Providers.DNS foreach (ManagementObject objRR in objRRs) using (objRR) objRR.Delete(); } - } + } private string GetSoaRecordText(string host, string primaryNsServer, string primaryPerson) @@ -500,11 +564,11 @@ namespace WebsitePanel.Providers.DNS primaryNsServer, primaryPerson); } - /// - /// Supports managed resources disposal - /// - /// - + /// + /// Supports managed resources disposal + /// + /// + private void UpdateSoaRecord(string zoneName) { // get existing SOA record in order to read serial number @@ -514,52 +578,52 @@ namespace WebsitePanel.Providers.DNS //ManagementObject obj = GetWmiObject("MicrosoftDNS_Zone", "ContainerName = '{0}'", zoneName); //ManagementObject objSoa = GetRelatedWmiObject(obj, "MicrosoftDNS_SOAType"); - - + + ManagementObject objSoa = wmi.GetWmiObject("MicrosoftDNS_SOAType", "ContainerName = '{0}'", RemoveTrailingDot(zoneName)); - + if (objSoa != null) + { + if (objSoa.Properties["OwnerName"].Value.Equals(zoneName)) { - if (objSoa.Properties["OwnerName"].Value.Equals(zoneName)) + string primaryServer = (string)objSoa.Properties["PrimaryServer"].Value; + string responsibleParty = (string)objSoa.Properties["ResponsibleParty"].Value; + UInt32 serialNumber = (UInt32)objSoa.Properties["SerialNumber"].Value; + + // update record's serial number + string sn = serialNumber.ToString(); + string todayDate = DateTime.Now.ToString("yyyyMMdd"); + if (sn.Length < 10 || !sn.StartsWith(todayDate)) { - string primaryServer = (string) objSoa.Properties["PrimaryServer"].Value; - string responsibleParty = (string) objSoa.Properties["ResponsibleParty"].Value; - UInt32 serialNumber = (UInt32) objSoa.Properties["SerialNumber"].Value; - - // update record's serial number - string sn = serialNumber.ToString(); - string todayDate = DateTime.Now.ToString("yyyyMMdd"); - if (sn.Length < 10 || !sn.StartsWith(todayDate)) - { - // build a new serial number - sn = todayDate + "01"; - serialNumber = UInt32.Parse(sn); - } - else - { - // just increment serial number - serialNumber += 1; - } - - // update SOA record - using (ManagementBaseObject methodParams = objSoa.GetMethodParameters("Modify")) - { - methodParams["ResponsibleParty"] = responsibleParty; - methodParams["PrimaryServer"] = primaryServer; - methodParams["SerialNumber"] = serialNumber; - - methodParams["ExpireLimit"] = ExpireLimit; - methodParams["MinimumTTL"] = MinimumTTL; - methodParams["TTL"] = MinimumTTL; - methodParams["RefreshInterval"] = RefreshInterval; - methodParams["RetryDelay"] = RetryDelay; - - ManagementBaseObject outParams = objSoa.InvokeMethod("Modify", methodParams, null); - } - // - objSoa.Dispose(); + // build a new serial number + sn = todayDate + "01"; + serialNumber = UInt32.Parse(sn); } - + else + { + // just increment serial number + serialNumber += 1; + } + + // update SOA record + using (ManagementBaseObject methodParams = objSoa.GetMethodParameters("Modify")) + { + methodParams["ResponsibleParty"] = responsibleParty; + methodParams["PrimaryServer"] = primaryServer; + methodParams["SerialNumber"] = serialNumber; + + methodParams["ExpireLimit"] = ExpireLimit; + methodParams["MinimumTTL"] = MinimumTTL; + methodParams["TTL"] = MinimumTTL; + methodParams["RefreshInterval"] = RefreshInterval; + methodParams["RetryDelay"] = RetryDelay; + + ManagementBaseObject outParams = objSoa.InvokeMethod("Modify", methodParams, null); + } + // + objSoa.Dispose(); + } + } } catch (Exception ex) @@ -567,23 +631,23 @@ namespace WebsitePanel.Providers.DNS Log.WriteError(ex); } } - + #endregion #region A Record - /// - /// - /// - /// - /// - /// + /// + /// + /// + /// + /// + /// /// Supports managed resources disposal private void AddARecord(string zoneName, string host, string ip) { // add record - using (ManagementClass clsRR = wmi.GetClass("MicrosoftDNS_AType")) - { - clsRR.InvokeMethod("CreateInstanceFromPropertyData", new object[] { + using (ManagementClass clsRR = wmi.GetClass("MicrosoftDNS_AType")) + { + clsRR.InvokeMethod("CreateInstanceFromPropertyData", new object[] { GetDnsServerName(), zoneName, CorrectHostName(zoneName, host), @@ -591,19 +655,19 @@ namespace WebsitePanel.Providers.DNS MinimumTTL, ip }); - } + } // update SOA record - if (bulkRecords) return; - UpdateSoaRecord(zoneName); + if (bulkRecords) return; + UpdateSoaRecord(zoneName); } - /// - /// Supports managed resources disposal - /// - /// - /// - /// + /// + /// Supports managed resources disposal + /// + /// + /// + /// private void DeleteARecord(string zoneName, string host, string ip) { string query = String.Format("SELECT * FROM MicrosoftDNS_AType " + @@ -613,32 +677,32 @@ namespace WebsitePanel.Providers.DNS if (ip != null) query += String.Format(" AND RecordData = '{0}'", ip); - using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query)) - { - foreach (ManagementObject objRR in objRRs) using(objRR) - objRR.Delete(); - } - - // update SOA record + using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query)) + { + foreach (ManagementObject objRR in objRRs) using (objRR) + objRR.Delete(); + } + + // update SOA record UpdateSoaRecord(zoneName); - + } #endregion #region CNAME Record - /// - /// - /// - /// - /// - /// + /// + /// + /// + /// + /// + /// /// Supports managed resources disposal private void AddCNameRecord(string zoneName, string alias, string targetHost) { // add record - using (ManagementClass clsRR = wmi.GetClass("MicrosoftDNS_CNAMEType")) - { - clsRR.InvokeMethod("CreateInstanceFromPropertyData", new object[] { + using (ManagementClass clsRR = wmi.GetClass("MicrosoftDNS_CNAMEType")) + { + clsRR.InvokeMethod("CreateInstanceFromPropertyData", new object[] { GetDnsServerName(), zoneName, CorrectHostName(zoneName, alias), @@ -646,19 +710,19 @@ namespace WebsitePanel.Providers.DNS MinimumTTL, targetHost }); - } + } // update SOA record - if (bulkRecords) return; - UpdateSoaRecord(zoneName); + if (bulkRecords) return; + UpdateSoaRecord(zoneName); } - /// - /// Supports managed resources disposal - /// - /// - /// - /// + /// + /// Supports managed resources disposal + /// + /// + /// + /// private void DeleteCNameRecord(string zoneName, string alias, string targetHost) { string query = String.Format("SELECT * FROM MicrosoftDNS_CNAMEType " + @@ -668,11 +732,11 @@ namespace WebsitePanel.Providers.DNS if (targetHost != null) query += String.Format(" AND RecordData='{0}.'", targetHost); - using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query)) - { - foreach (ManagementObject objRR in objRRs) using(objRR) - objRR.Delete(); - } + using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query)) + { + foreach (ManagementObject objRR in objRRs) using (objRR) + objRR.Delete(); + } // update SOA record UpdateSoaRecord(zoneName); @@ -680,20 +744,20 @@ namespace WebsitePanel.Providers.DNS #endregion #region MX Record - /// - /// - /// - /// - /// - /// - /// + /// + /// + /// + /// + /// + /// + /// /// Supports managed resources disposal private void AddMXRecord(string zoneName, string host, string mailServer, int mailServerPriority) { - // add record - using (ManagementClass clsRR = wmi.GetClass("MicrosoftDNS_MXType")) - { - clsRR.InvokeMethod("CreateInstanceFromPropertyData", new object[] { + // add record + using (ManagementClass clsRR = wmi.GetClass("MicrosoftDNS_MXType")) + { + clsRR.InvokeMethod("CreateInstanceFromPropertyData", new object[] { GetDnsServerName(), zoneName, CorrectHostName(zoneName, host), @@ -702,19 +766,19 @@ namespace WebsitePanel.Providers.DNS mailServerPriority, mailServer }); - } + } // update SOA record - if (bulkRecords) return; - UpdateSoaRecord(zoneName); + if (bulkRecords) return; + UpdateSoaRecord(zoneName); } - /// - /// Supports managed resources disposal - /// - /// - /// - /// + /// + /// Supports managed resources disposal + /// + /// + /// + /// private void DeleteMXRecord(string zoneName, string host, string mailServer) { string query = String.Format("SELECT * FROM MicrosoftDNS_MXType " + @@ -724,11 +788,11 @@ namespace WebsitePanel.Providers.DNS if (mailServer != null) query += String.Format(" AND MailExchange = '{0}.'", CorrectHostName(zoneName, mailServer)); - using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query)) - { - foreach (ManagementObject objRR in objRRs) using(objRR) - objRR.Delete(); - } + using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query)) + { + foreach (ManagementObject objRR in objRRs) using (objRR) + objRR.Delete(); + } // update SOA record UpdateSoaRecord(zoneName); @@ -736,19 +800,19 @@ namespace WebsitePanel.Providers.DNS #endregion #region NS Record - /// - /// - /// - /// - /// - /// + /// + /// + /// + /// + /// + /// /// Supports managed resources disposal private void AddNsRecord(string zoneName, string host, string nameServer) { - // add record - using (ManagementClass clsRR = wmi.GetClass("MicrosoftDNS_NSType")) - { - clsRR.InvokeMethod("CreateInstanceFromPropertyData", new object[] { + // add record + using (ManagementClass clsRR = wmi.GetClass("MicrosoftDNS_NSType")) + { + clsRR.InvokeMethod("CreateInstanceFromPropertyData", new object[] { GetDnsServerName(), zoneName, CorrectHostName(zoneName, host), @@ -756,18 +820,18 @@ namespace WebsitePanel.Providers.DNS MinimumTTL, nameServer }); - } + } // update SOA record - if (bulkRecords) return; - UpdateSoaRecord(zoneName); + if (bulkRecords) return; + UpdateSoaRecord(zoneName); } - /// - /// Supports managed resources disposal - /// - /// - /// - /// + /// + /// Supports managed resources disposal + /// + /// + /// + /// private void DeleteNsRecord(string zoneName, string host, string nameServer) { string query = String.Format("SELECT * FROM MicrosoftDNS_NSType " + @@ -777,51 +841,51 @@ namespace WebsitePanel.Providers.DNS if (nameServer != null) query += String.Format(" AND NSHost = '{0}.'", nameServer); - using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query)) - { - foreach (ManagementObject objRR in objRRs) using(objRR) - objRR.Delete(); - } + using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query)) + { + foreach (ManagementObject objRR in objRRs) using (objRR) + objRR.Delete(); + } // update SOA record UpdateSoaRecord(zoneName); } - /// - /// Supports managed resources disposal - /// - /// + /// + /// Supports managed resources disposal + /// + /// private void DeleteOrphanNsRecords(string zoneName) { string machineName = System.Net.Dns.GetHostEntry("LocalHost").HostName.ToLower(); string computerName = Environment.MachineName.ToLower(); - using (ManagementObjectCollection objRRs = wmi.ExecuteQuery( - String.Format("SELECT * FROM MicrosoftDNS_NSType WHERE DomainName = '{0}'", zoneName))) - { - foreach (ManagementObject objRR in objRRs) - using(objRR) - { - string ns = ((string)objRR.Properties["NSHost"].Value).ToLower(); - if (ns.StartsWith(machineName) || ns.StartsWith(computerName)) - objRR.Delete(); - } - } + using (ManagementObjectCollection objRRs = wmi.ExecuteQuery( + String.Format("SELECT * FROM MicrosoftDNS_NSType WHERE DomainName = '{0}'", zoneName))) + { + foreach (ManagementObject objRR in objRRs) + using (objRR) + { + string ns = ((string)objRR.Properties["NSHost"].Value).ToLower(); + if (ns.StartsWith(machineName) || ns.StartsWith(computerName)) + objRR.Delete(); + } + } } #endregion #region TXT Record - /// - /// Supports managed resources disposal - /// - /// - /// - /// + /// + /// Supports managed resources disposal + /// + /// + /// + /// private void AddTxtRecord(string zoneName, string host, string text) { - using (ManagementClass clsRR = wmi.GetClass("MicrosoftDNS_TXTType")) - { - clsRR.InvokeMethod("CreateInstanceFromPropertyData", new object[] { + using (ManagementClass clsRR = wmi.GetClass("MicrosoftDNS_TXTType")) + { + clsRR.InvokeMethod("CreateInstanceFromPropertyData", new object[] { GetDnsServerName(), zoneName, CorrectHostName(zoneName, host), @@ -829,19 +893,19 @@ namespace WebsitePanel.Providers.DNS MinimumTTL, System.Text.RegularExpressions.Regex.Replace(text, @"""|\\", "") }); - } + } // update SOA record - if (bulkRecords) return; - UpdateSoaRecord(zoneName); + if (bulkRecords) return; + UpdateSoaRecord(zoneName); } - /// - /// Supports managed resources disposal - /// - /// - /// - /// + /// + /// Supports managed resources disposal + /// + /// + /// + /// private void DeleteTxtRecord(string zoneName, string host, string text) { string query = String.Format("SELECT * FROM MicrosoftDNS_TXTType " + @@ -851,13 +915,85 @@ namespace WebsitePanel.Providers.DNS if (text != null) query += String.Format(" AND RecordData = '\"{0}\"'", System.Text.RegularExpressions.Regex.Replace(text, @"""|\\", "")); - using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query)) - { - foreach (ManagementObject objRR in objRRs) using(objRR) - { - objRR.Delete(); - } - } + using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query)) + { + foreach (ManagementObject objRR in objRRs) using (objRR) + { + objRR.Delete(); + } + } + + // update SOA record + UpdateSoaRecord(zoneName); + } + #endregion + + #region SRV Record + /// + /// + /// + /// + /// + /// + /// + /// Supports managed resources disposal + private void AddSrvRecord(string zoneName, string host, int priority, int weight, int port, string domainName) + { + // add record + using (ManagementClass clsRR = wmi.GetClass("MicrosoftDNS_SRVType")) + { + + clsRR.InvokeMethod("CreateInstanceFromPropertyData", new object[] { + GetDnsServerName(), + zoneName, + CorrectHostName(zoneName, host), + 1, + MinimumTTL, + priority, + weight, + port, + domainName + }); + } + + // update SOA record + if (bulkRecords) return; + UpdateSoaRecord(zoneName); + } + + /// + /// Supports managed resources disposal + /// + /// + /// + /// + private void DeleteSrvRecord(string zoneName, string host, string domainName) + { + + string query = string.Empty; + if ((host.Contains("._tcp")) | (host.Contains("._udp")) | (host.Contains("._tls"))) + { + query = String.Format("SELECT * FROM MicrosoftDNS_SRVType " + + "WHERE ContainerName = '{0}' AND OwnerName ='{1}.{0}'", + zoneName, CorrectHostName(zoneName, host)); + } + else + { + query = String.Format("SELECT * FROM MicrosoftDNS_SRVType " + + "WHERE ContainerName = '{0}' AND OwnerName ='{1}'", + zoneName, CorrectHostName(zoneName, host)); + } + + + + if (domainName != null) + query += String.Format(" AND SRVDomainName = '{0}.'", domainName); + + using (ManagementObjectCollection objRRs = wmi.ExecuteQuery(query)) + { + foreach (ManagementObject objRR in objRRs) using (objRR) + objRR.Delete(); + } // update SOA record UpdateSoaRecord(zoneName); @@ -865,36 +1001,36 @@ namespace WebsitePanel.Providers.DNS #endregion #region private helper methods - /// - /// Supports managed resources disposal - /// - /// - private string GetDnsServerName() - { - using (ManagementObject objServer = wmi.GetObject("MicrosoftDNS_Server.Name=\".\"")) - { - return (string)objServer.Properties["Name"].Value; - } - } + /// + /// Supports managed resources disposal + /// + /// + private string GetDnsServerName() + { + using (ManagementObject objServer = wmi.GetObject("MicrosoftDNS_Server.Name=\".\"")) + { + return (string)objServer.Properties["Name"].Value; + } + } - /// - /// Supports managed resources disposal - /// - /// - /// - /// - private string AddDnsRecord(string zoneName, string recordText) + /// + /// Supports managed resources disposal + /// + /// + /// + /// + private string AddDnsRecord(string zoneName, string recordText) { // get the name of the server string serverName = GetDnsServerName(); // add record - using (ManagementClass clsRR = wmi.GetClass("MicrosoftDNS_ResourceRecord")) - { - object[] prms = new object[] { serverName, zoneName, recordText, null }; - clsRR.InvokeMethod("CreateInstanceFromTextRepresentation", prms); - return (string)prms[3]; - } + using (ManagementClass clsRR = wmi.GetClass("MicrosoftDNS_ResourceRecord")) + { + object[] prms = new object[] { serverName, zoneName, recordText, null }; + clsRR.InvokeMethod("CreateInstanceFromTextRepresentation", prms); + return (string)prms[3]; + } } private string CorrectHostName(string zoneName, string host) @@ -937,30 +1073,30 @@ namespace WebsitePanel.Providers.DNS } } - /// - /// Supports managed resources disposal - /// - /// + /// + /// Supports managed resources disposal + /// + /// protected bool IsDNSInstalled() { - using (RegistryKey root = Registry.LocalMachine) - { - using (RegistryKey key = root.OpenSubKey("SYSTEM\\CurrentControlSet\\Services\\DNS")) - { - bool res = key != null; - if (key != null) - key.Close(); + using (RegistryKey root = Registry.LocalMachine) + { + using (RegistryKey key = root.OpenSubKey("SYSTEM\\CurrentControlSet\\Services\\DNS")) + { + bool res = key != null; + if (key != null) + key.Close(); - return res; - } - } + return res; + } + } } public override bool IsInstalled() { return IsDNSInstalled(); } - + #endregion } } diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/DnsServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/DnsServerProxy.cs index 85e734a3..66950b94 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/DnsServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/DnsServerProxy.cs @@ -39,324 +39,373 @@ // // This source code was auto-generated by wsdl, Version=2.0.50727.42. // -namespace WebsitePanel.Providers.DNS { +namespace WebsitePanel.Providers.DNS +{ using System.Diagnostics; using System.Web.Services; using System.ComponentModel; using System.Web.Services.Protocols; using System; using System.Xml.Serialization; - - + + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - [System.Web.Services.WebServiceBindingAttribute(Name="DNSServerSoap", Namespace="http://smbsaas/websitepanel/server/")] - public partial class DNSServer : Microsoft.Web.Services3.WebServicesClientProtocol { - + [System.Web.Services.WebServiceBindingAttribute(Name = "DNSServerSoap", Namespace = "http://smbsaas/websitepanel/server/")] + public partial class DNSServer : Microsoft.Web.Services3.WebServicesClientProtocol + { + public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue; - + private System.Threading.SendOrPostCallback ZoneExistsOperationCompleted; - + private System.Threading.SendOrPostCallback GetZonesOperationCompleted; - + private System.Threading.SendOrPostCallback AddPrimaryZoneOperationCompleted; - + private System.Threading.SendOrPostCallback AddSecondaryZoneOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteZoneOperationCompleted; - + private System.Threading.SendOrPostCallback UpdateSoaRecordOperationCompleted; - + private System.Threading.SendOrPostCallback GetZoneRecordsOperationCompleted; - + private System.Threading.SendOrPostCallback AddZoneRecordOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteZoneRecordOperationCompleted; - + private System.Threading.SendOrPostCallback AddZoneRecordsOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteZoneRecordsOperationCompleted; - + /// - public DNSServer() { + public DNSServer() + { this.Url = "http://localhost/WebsitePanelServer11/DnsServer.asmx"; } - + /// public event ZoneExistsCompletedEventHandler ZoneExistsCompleted; - + /// public event GetZonesCompletedEventHandler GetZonesCompleted; - + /// public event AddPrimaryZoneCompletedEventHandler AddPrimaryZoneCompleted; - + /// public event AddSecondaryZoneCompletedEventHandler AddSecondaryZoneCompleted; - + /// public event DeleteZoneCompletedEventHandler DeleteZoneCompleted; - + /// public event UpdateSoaRecordCompletedEventHandler UpdateSoaRecordCompleted; - + /// public event GetZoneRecordsCompletedEventHandler GetZoneRecordsCompleted; - + /// public event AddZoneRecordCompletedEventHandler AddZoneRecordCompleted; - + /// public event DeleteZoneRecordCompletedEventHandler DeleteZoneRecordCompleted; - + /// public event AddZoneRecordsCompletedEventHandler AddZoneRecordsCompleted; - + /// public event DeleteZoneRecordsCompletedEventHandler DeleteZoneRecordsCompleted; - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/ZoneExists", 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 bool ZoneExists(string zoneName) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/ZoneExists", 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 bool ZoneExists(string zoneName) + { object[] results = this.Invoke("ZoneExists", new object[] { zoneName}); return ((bool)(results[0])); } - + /// - public System.IAsyncResult BeginZoneExists(string zoneName, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginZoneExists(string zoneName, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("ZoneExists", new object[] { zoneName}, callback, asyncState); } - + /// - public bool EndZoneExists(System.IAsyncResult asyncResult) { + public bool EndZoneExists(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((bool)(results[0])); } - + /// - public void ZoneExistsAsync(string zoneName) { + public void ZoneExistsAsync(string zoneName) + { this.ZoneExistsAsync(zoneName, null); } - + /// - public void ZoneExistsAsync(string zoneName, object userState) { - if ((this.ZoneExistsOperationCompleted == null)) { + public void ZoneExistsAsync(string zoneName, object userState) + { + if ((this.ZoneExistsOperationCompleted == null)) + { this.ZoneExistsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnZoneExistsOperationCompleted); } this.InvokeAsync("ZoneExists", new object[] { zoneName}, this.ZoneExistsOperationCompleted, userState); } - - private void OnZoneExistsOperationCompleted(object arg) { - if ((this.ZoneExistsCompleted != null)) { + + private void OnZoneExistsOperationCompleted(object arg) + { + if ((this.ZoneExistsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.ZoneExistsCompleted(this, new ZoneExistsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetZones", 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 string[] GetZones() { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetZones", 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 string[] GetZones() + { object[] results = this.Invoke("GetZones", new object[0]); return ((string[])(results[0])); } - + /// - public System.IAsyncResult BeginGetZones(System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetZones(System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetZones", new object[0], callback, asyncState); } - + /// - public string[] EndGetZones(System.IAsyncResult asyncResult) { + public string[] EndGetZones(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((string[])(results[0])); } - + /// - public void GetZonesAsync() { + public void GetZonesAsync() + { this.GetZonesAsync(null); } - + /// - public void GetZonesAsync(object userState) { - if ((this.GetZonesOperationCompleted == null)) { + public void GetZonesAsync(object userState) + { + if ((this.GetZonesOperationCompleted == null)) + { this.GetZonesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetZonesOperationCompleted); } this.InvokeAsync("GetZones", new object[0], this.GetZonesOperationCompleted, userState); } - - private void OnGetZonesOperationCompleted(object arg) { - if ((this.GetZonesCompleted != null)) { + + private void OnGetZonesOperationCompleted(object arg) + { + if ((this.GetZonesCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetZonesCompleted(this, new GetZonesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddPrimaryZone", 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 void AddPrimaryZone(string zoneName, string[] secondaryServers) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddPrimaryZone", 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 void AddPrimaryZone(string zoneName, string[] secondaryServers) + { this.Invoke("AddPrimaryZone", new object[] { zoneName, secondaryServers}); } - + /// - public System.IAsyncResult BeginAddPrimaryZone(string zoneName, string[] secondaryServers, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddPrimaryZone(string zoneName, string[] secondaryServers, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddPrimaryZone", new object[] { zoneName, secondaryServers}, callback, asyncState); } - + /// - public void EndAddPrimaryZone(System.IAsyncResult asyncResult) { + public void EndAddPrimaryZone(System.IAsyncResult asyncResult) + { this.EndInvoke(asyncResult); } - + /// - public void AddPrimaryZoneAsync(string zoneName, string[] secondaryServers) { + public void AddPrimaryZoneAsync(string zoneName, string[] secondaryServers) + { this.AddPrimaryZoneAsync(zoneName, secondaryServers, null); } - + /// - public void AddPrimaryZoneAsync(string zoneName, string[] secondaryServers, object userState) { - if ((this.AddPrimaryZoneOperationCompleted == null)) { + public void AddPrimaryZoneAsync(string zoneName, string[] secondaryServers, object userState) + { + if ((this.AddPrimaryZoneOperationCompleted == null)) + { this.AddPrimaryZoneOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddPrimaryZoneOperationCompleted); } this.InvokeAsync("AddPrimaryZone", new object[] { zoneName, secondaryServers}, this.AddPrimaryZoneOperationCompleted, userState); } - - private void OnAddPrimaryZoneOperationCompleted(object arg) { - if ((this.AddPrimaryZoneCompleted != null)) { + + private void OnAddPrimaryZoneOperationCompleted(object arg) + { + if ((this.AddPrimaryZoneCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddPrimaryZoneCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddSecondaryZone", 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 void AddSecondaryZone(string zoneName, string[] masterServers) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddSecondaryZone", 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 void AddSecondaryZone(string zoneName, string[] masterServers) + { this.Invoke("AddSecondaryZone", new object[] { zoneName, masterServers}); } - + /// - public System.IAsyncResult BeginAddSecondaryZone(string zoneName, string[] masterServers, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddSecondaryZone(string zoneName, string[] masterServers, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddSecondaryZone", new object[] { zoneName, masterServers}, callback, asyncState); } - + /// - public void EndAddSecondaryZone(System.IAsyncResult asyncResult) { + public void EndAddSecondaryZone(System.IAsyncResult asyncResult) + { this.EndInvoke(asyncResult); } - + /// - public void AddSecondaryZoneAsync(string zoneName, string[] masterServers) { + public void AddSecondaryZoneAsync(string zoneName, string[] masterServers) + { this.AddSecondaryZoneAsync(zoneName, masterServers, null); } - + /// - public void AddSecondaryZoneAsync(string zoneName, string[] masterServers, object userState) { - if ((this.AddSecondaryZoneOperationCompleted == null)) { + public void AddSecondaryZoneAsync(string zoneName, string[] masterServers, object userState) + { + if ((this.AddSecondaryZoneOperationCompleted == null)) + { this.AddSecondaryZoneOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddSecondaryZoneOperationCompleted); } this.InvokeAsync("AddSecondaryZone", new object[] { zoneName, masterServers}, this.AddSecondaryZoneOperationCompleted, userState); } - - private void OnAddSecondaryZoneOperationCompleted(object arg) { - if ((this.AddSecondaryZoneCompleted != null)) { + + private void OnAddSecondaryZoneOperationCompleted(object arg) + { + if ((this.AddSecondaryZoneCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddSecondaryZoneCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteZone", 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 void DeleteZone(string zoneName) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteZone", 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 void DeleteZone(string zoneName) + { this.Invoke("DeleteZone", new object[] { zoneName}); } - + /// - public System.IAsyncResult BeginDeleteZone(string zoneName, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteZone(string zoneName, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteZone", new object[] { zoneName}, callback, asyncState); } - + /// - public void EndDeleteZone(System.IAsyncResult asyncResult) { + public void EndDeleteZone(System.IAsyncResult asyncResult) + { this.EndInvoke(asyncResult); } - + /// - public void DeleteZoneAsync(string zoneName) { + public void DeleteZoneAsync(string zoneName) + { this.DeleteZoneAsync(zoneName, null); } - + /// - public void DeleteZoneAsync(string zoneName, object userState) { - if ((this.DeleteZoneOperationCompleted == null)) { + public void DeleteZoneAsync(string zoneName, object userState) + { + if ((this.DeleteZoneOperationCompleted == null)) + { this.DeleteZoneOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteZoneOperationCompleted); } this.InvokeAsync("DeleteZone", new object[] { zoneName}, this.DeleteZoneOperationCompleted, userState); } - - private void OnDeleteZoneOperationCompleted(object arg) { - if ((this.DeleteZoneCompleted != null)) { + + private void OnDeleteZoneOperationCompleted(object arg) + { + if ((this.DeleteZoneCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteZoneCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/UpdateSoaRecord", 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 void UpdateSoaRecord(string zoneName, string host, string primaryNsServer, string primaryPerson) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/UpdateSoaRecord", 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 void UpdateSoaRecord(string zoneName, string host, string primaryNsServer, string primaryPerson) + { this.Invoke("UpdateSoaRecord", new object[] { zoneName, host, primaryNsServer, primaryPerson}); } - + /// - public System.IAsyncResult BeginUpdateSoaRecord(string zoneName, string host, string primaryNsServer, string primaryPerson, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginUpdateSoaRecord(string zoneName, string host, string primaryNsServer, string primaryPerson, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("UpdateSoaRecord", new object[] { zoneName, host, primaryNsServer, primaryPerson}, callback, asyncState); } - + /// - public void EndUpdateSoaRecord(System.IAsyncResult asyncResult) { + public void EndUpdateSoaRecord(System.IAsyncResult asyncResult) + { this.EndInvoke(asyncResult); } - + /// - public void UpdateSoaRecordAsync(string zoneName, string host, string primaryNsServer, string primaryPerson) { + public void UpdateSoaRecordAsync(string zoneName, string host, string primaryNsServer, string primaryPerson) + { this.UpdateSoaRecordAsync(zoneName, host, primaryNsServer, primaryPerson, null); } - + /// - public void UpdateSoaRecordAsync(string zoneName, string host, string primaryNsServer, string primaryPerson, object userState) { - if ((this.UpdateSoaRecordOperationCompleted == null)) { + public void UpdateSoaRecordAsync(string zoneName, string host, string primaryNsServer, string primaryPerson, object userState) + { + if ((this.UpdateSoaRecordOperationCompleted == null)) + { this.UpdateSoaRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateSoaRecordOperationCompleted); } this.InvokeAsync("UpdateSoaRecord", new object[] { @@ -365,340 +414,395 @@ namespace WebsitePanel.Providers.DNS { primaryNsServer, primaryPerson}, this.UpdateSoaRecordOperationCompleted, userState); } - - private void OnUpdateSoaRecordOperationCompleted(object arg) { - if ((this.UpdateSoaRecordCompleted != null)) { + + private void OnUpdateSoaRecordOperationCompleted(object arg) + { + if ((this.UpdateSoaRecordCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.UpdateSoaRecordCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetZoneRecords", 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 DnsRecord[] GetZoneRecords(string zoneName) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetZoneRecords", 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 DnsRecord[] GetZoneRecords(string zoneName) + { object[] results = this.Invoke("GetZoneRecords", new object[] { zoneName}); return ((DnsRecord[])(results[0])); } - + /// - public System.IAsyncResult BeginGetZoneRecords(string zoneName, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetZoneRecords(string zoneName, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetZoneRecords", new object[] { zoneName}, callback, asyncState); } - + /// - public DnsRecord[] EndGetZoneRecords(System.IAsyncResult asyncResult) { + public DnsRecord[] EndGetZoneRecords(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((DnsRecord[])(results[0])); } - + /// - public void GetZoneRecordsAsync(string zoneName) { + public void GetZoneRecordsAsync(string zoneName) + { this.GetZoneRecordsAsync(zoneName, null); } - + /// - public void GetZoneRecordsAsync(string zoneName, object userState) { - if ((this.GetZoneRecordsOperationCompleted == null)) { + public void GetZoneRecordsAsync(string zoneName, object userState) + { + if ((this.GetZoneRecordsOperationCompleted == null)) + { this.GetZoneRecordsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetZoneRecordsOperationCompleted); } this.InvokeAsync("GetZoneRecords", new object[] { zoneName}, this.GetZoneRecordsOperationCompleted, userState); } - - private void OnGetZoneRecordsOperationCompleted(object arg) { - if ((this.GetZoneRecordsCompleted != null)) { + + private void OnGetZoneRecordsOperationCompleted(object arg) + { + if ((this.GetZoneRecordsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetZoneRecordsCompleted(this, new GetZoneRecordsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddZoneRecord", 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 void AddZoneRecord(string zoneName, DnsRecord record) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddZoneRecord", 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 void AddZoneRecord(string zoneName, DnsRecord record) + { this.Invoke("AddZoneRecord", new object[] { zoneName, record}); } - + /// - public System.IAsyncResult BeginAddZoneRecord(string zoneName, DnsRecord record, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddZoneRecord(string zoneName, DnsRecord record, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddZoneRecord", new object[] { zoneName, record}, callback, asyncState); } - + /// - public void EndAddZoneRecord(System.IAsyncResult asyncResult) { + public void EndAddZoneRecord(System.IAsyncResult asyncResult) + { this.EndInvoke(asyncResult); } - + /// - public void AddZoneRecordAsync(string zoneName, DnsRecord record) { + public void AddZoneRecordAsync(string zoneName, DnsRecord record) + { this.AddZoneRecordAsync(zoneName, record, null); } - + /// - public void AddZoneRecordAsync(string zoneName, DnsRecord record, object userState) { - if ((this.AddZoneRecordOperationCompleted == null)) { + public void AddZoneRecordAsync(string zoneName, DnsRecord record, object userState) + { + if ((this.AddZoneRecordOperationCompleted == null)) + { this.AddZoneRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddZoneRecordOperationCompleted); } this.InvokeAsync("AddZoneRecord", new object[] { zoneName, record}, this.AddZoneRecordOperationCompleted, userState); } - - private void OnAddZoneRecordOperationCompleted(object arg) { - if ((this.AddZoneRecordCompleted != null)) { + + private void OnAddZoneRecordOperationCompleted(object arg) + { + if ((this.AddZoneRecordCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddZoneRecordCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteZoneRecord", 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 void DeleteZoneRecord(string zoneName, DnsRecord record) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteZoneRecord", 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 void DeleteZoneRecord(string zoneName, DnsRecord record) + { this.Invoke("DeleteZoneRecord", new object[] { zoneName, record}); } - + /// - public System.IAsyncResult BeginDeleteZoneRecord(string zoneName, DnsRecord record, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteZoneRecord(string zoneName, DnsRecord record, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteZoneRecord", new object[] { zoneName, record}, callback, asyncState); } - + /// - public void EndDeleteZoneRecord(System.IAsyncResult asyncResult) { + public void EndDeleteZoneRecord(System.IAsyncResult asyncResult) + { this.EndInvoke(asyncResult); } - + /// - public void DeleteZoneRecordAsync(string zoneName, DnsRecord record) { + public void DeleteZoneRecordAsync(string zoneName, DnsRecord record) + { this.DeleteZoneRecordAsync(zoneName, record, null); } - + /// - public void DeleteZoneRecordAsync(string zoneName, DnsRecord record, object userState) { - if ((this.DeleteZoneRecordOperationCompleted == null)) { + public void DeleteZoneRecordAsync(string zoneName, DnsRecord record, object userState) + { + if ((this.DeleteZoneRecordOperationCompleted == null)) + { this.DeleteZoneRecordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteZoneRecordOperationCompleted); } this.InvokeAsync("DeleteZoneRecord", new object[] { zoneName, record}, this.DeleteZoneRecordOperationCompleted, userState); } - - private void OnDeleteZoneRecordOperationCompleted(object arg) { - if ((this.DeleteZoneRecordCompleted != null)) { + + private void OnDeleteZoneRecordOperationCompleted(object arg) + { + if ((this.DeleteZoneRecordCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteZoneRecordCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddZoneRecords", 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 void AddZoneRecords(string zoneName, DnsRecord[] records) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddZoneRecords", 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 void AddZoneRecords(string zoneName, DnsRecord[] records) + { this.Invoke("AddZoneRecords", new object[] { zoneName, records}); } - + /// - public System.IAsyncResult BeginAddZoneRecords(string zoneName, DnsRecord[] records, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddZoneRecords(string zoneName, DnsRecord[] records, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddZoneRecords", new object[] { zoneName, records}, callback, asyncState); } - + /// - public void EndAddZoneRecords(System.IAsyncResult asyncResult) { + public void EndAddZoneRecords(System.IAsyncResult asyncResult) + { this.EndInvoke(asyncResult); } - + /// - public void AddZoneRecordsAsync(string zoneName, DnsRecord[] records) { + public void AddZoneRecordsAsync(string zoneName, DnsRecord[] records) + { this.AddZoneRecordsAsync(zoneName, records, null); } - + /// - public void AddZoneRecordsAsync(string zoneName, DnsRecord[] records, object userState) { - if ((this.AddZoneRecordsOperationCompleted == null)) { + public void AddZoneRecordsAsync(string zoneName, DnsRecord[] records, object userState) + { + if ((this.AddZoneRecordsOperationCompleted == null)) + { this.AddZoneRecordsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddZoneRecordsOperationCompleted); } this.InvokeAsync("AddZoneRecords", new object[] { zoneName, records}, this.AddZoneRecordsOperationCompleted, userState); } - - private void OnAddZoneRecordsOperationCompleted(object arg) { - if ((this.AddZoneRecordsCompleted != null)) { + + private void OnAddZoneRecordsOperationCompleted(object arg) + { + if ((this.AddZoneRecordsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddZoneRecordsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteZoneRecords", 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 void DeleteZoneRecords(string zoneName, DnsRecord[] records) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteZoneRecords", 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 void DeleteZoneRecords(string zoneName, DnsRecord[] records) + { this.Invoke("DeleteZoneRecords", new object[] { zoneName, records}); } - + /// - public System.IAsyncResult BeginDeleteZoneRecords(string zoneName, DnsRecord[] records, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteZoneRecords(string zoneName, DnsRecord[] records, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteZoneRecords", new object[] { zoneName, records}, callback, asyncState); } - + /// - public void EndDeleteZoneRecords(System.IAsyncResult asyncResult) { + public void EndDeleteZoneRecords(System.IAsyncResult asyncResult) + { this.EndInvoke(asyncResult); } - + /// - public void DeleteZoneRecordsAsync(string zoneName, DnsRecord[] records) { + public void DeleteZoneRecordsAsync(string zoneName, DnsRecord[] records) + { this.DeleteZoneRecordsAsync(zoneName, records, null); } - + /// - public void DeleteZoneRecordsAsync(string zoneName, DnsRecord[] records, object userState) { - if ((this.DeleteZoneRecordsOperationCompleted == null)) { + public void DeleteZoneRecordsAsync(string zoneName, DnsRecord[] records, object userState) + { + if ((this.DeleteZoneRecordsOperationCompleted == null)) + { this.DeleteZoneRecordsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteZoneRecordsOperationCompleted); } this.InvokeAsync("DeleteZoneRecords", new object[] { zoneName, records}, this.DeleteZoneRecordsOperationCompleted, userState); } - - private void OnDeleteZoneRecordsOperationCompleted(object arg) { - if ((this.DeleteZoneRecordsCompleted != null)) { + + private void OnDeleteZoneRecordsOperationCompleted(object arg) + { + if ((this.DeleteZoneRecordsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteZoneRecordsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - public new void CancelAsync(object userState) { + public new void CancelAsync(object userState) + { base.CancelAsync(userState); } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ZoneExistsCompletedEventHandler(object sender, ZoneExistsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class ZoneExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class ZoneExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal ZoneExistsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal ZoneExistsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public bool Result { - get { + public bool Result + { + get + { this.RaiseExceptionIfNecessary(); return ((bool)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetZonesCompletedEventHandler(object sender, GetZonesCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetZonesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetZonesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetZonesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetZonesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public string[] Result { - get { + public string[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((string[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddPrimaryZoneCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddSecondaryZoneCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteZoneCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateSoaRecordCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetZoneRecordsCompletedEventHandler(object sender, GetZoneRecordsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetZoneRecordsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetZoneRecordsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetZoneRecordsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetZoneRecordsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public DnsRecord[] Result { - get { + public DnsRecord[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((DnsRecord[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddZoneRecordCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteZoneRecordCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddZoneRecordsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteZoneRecordsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx index 81ff9687..423d479b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx @@ -1,15 +1,13 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DnsZoneRecords.ascx.cs" Inherits="WebsitePanel.Portal.DnsZoneRecords" %> -<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" - TagPrefix="wsp" %> +<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
    @@ -33,6 +31,9 @@ function confirmation() + + + @@ -41,7 +42,7 @@ function confirmation() - <%# GetRecordFullData((string)Eval("RecordType"), (string)Eval("RecordData"), (int)Eval("MxPriority")) %> + <%# GetRecordFullData((string)Eval("RecordType"), (string)Eval("RecordData"), (int)Eval("MxPriority"), (int)Eval("SrvPort"))%> @@ -77,6 +78,7 @@ function confirmation() NS TXT CNAME + SRV
    + + +
    + + +
    + + +
    -
    - A - MX - NS - TXT - CNAME + A + MX + NS + TXT + CNAME + SRV
    - - -
    + + + +
    - - -
    + + +
    + + +
    + + +
    + + +
    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.cs index b43ebb7a..81796d94 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.cs @@ -59,44 +59,53 @@ namespace WebsitePanel.Portal.ExchangeServer } } - public string GetRecordFullData(string recordType, string recordData, int mxPriority) + public string GetRecordFullData(string recordType, string recordData, int mxPriority, int port) { - return (String.Compare(recordType, "mx", true) == 0) - ? String.Format("[{0}], {1}", mxPriority, recordData) : recordData; - } + switch (recordType) + { + case "MX": + return String.Format("[{0}], {1}", mxPriority, recordData); + case "SRV": + return String.Format("[{0}], {1}", port, recordData); + default: + return recordData; + } + } private void GetRecordsDetails(int recordIndex) { - GridViewRow row = gvRecords.Rows[recordIndex]; - ViewState["MxPriority"] = ((Literal)row.Cells[0].FindControl("litMxPriority")).Text; - ViewState["RecordName"] = ((Literal)row.Cells[0].FindControl("litRecordName")).Text; ; - ViewState["RecordType"] = (DnsRecordType)Enum.Parse(typeof(DnsRecordType), - ((Literal)row.Cells[0].FindControl("litRecordType")).Text, true); - ViewState["RecordData"] = ((Literal)row.Cells[0].FindControl("litRecordData")).Text; - } + GridViewRow row = gvRecords.Rows[recordIndex]; + ViewState["SrvPort"] = ((Literal)row.Cells[0].FindControl("litSrvPort")).Text; + ViewState["SrvWeight"] = ((Literal)row.Cells[0].FindControl("litSrvWeight")).Text; + ViewState["SrvPriority"] = ((Literal)row.Cells[0].FindControl("litSrvPriority")).Text; + ViewState["MxPriority"] = ((Literal)row.Cells[0].FindControl("litMxPriority")).Text; + ViewState["RecordName"] = ((Literal)row.Cells[0].FindControl("litRecordName")).Text; ; + ViewState["RecordType"] = (DnsRecordType)Enum.Parse(typeof(DnsRecordType), ((Literal)row.Cells[0].FindControl("litRecordType")).Text, true); + ViewState["RecordData"] = ((Literal)row.Cells[0].FindControl("litRecordData")).Text; + } private void BindDnsRecord(int recordIndex) { - try - { - litRecordType.Visible = true; - ddlRecordType.Visible = false; + try + { + ViewState["NewRecord"] = false; + GetRecordsDetails(recordIndex); - GetRecordsDetails(recordIndex); - - ddlRecordType.SelectedValue = ViewState["RecordType"].ToString(); - litRecordType.Text = ViewState["RecordType"].ToString(); - txtRecordName.Text = ViewState["RecordName"].ToString(); - txtRecordData.Text = ViewState["RecordData"].ToString(); - txtMXPriority.Text = ViewState["MxPriority"].ToString(); - ToggleRecordControls(); - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("GDNS_GET_RECORD", ex); - return; - } - } + ddlRecordType.SelectedValue = ViewState["RecordType"].ToString(); + litRecordType.Text = ViewState["RecordType"].ToString(); + txtRecordName.Text = ViewState["RecordName"].ToString(); + txtRecordData.Text = ViewState["RecordData"].ToString(); + txtMXPriority.Text = ViewState["MxPriority"].ToString(); + txtSRVPriority.Text = ViewState["SrvPriority"].ToString(); + txtSRVWeight.Text = ViewState["SrvWeight"].ToString(); + txtSRVPort.Text = ViewState["SrvPort"].ToString(); + } + catch (Exception ex) + { + ShowErrorMessage("GDNS_GET_RECORD", ex); + return; + } + } protected void ddlRecordType_SelectedIndexChanged(object sender, EventArgs e) { @@ -105,19 +114,32 @@ namespace WebsitePanel.Portal.ExchangeServer private void ToggleRecordControls() { - rowMXPriority.Visible = (ddlRecordType.SelectedValue == "MX"); - - if (ddlRecordType.SelectedValue == "A") + rowMXPriority.Visible = false; + rowSRVPriority.Visible = false; + rowSRVWeight.Visible = false; + rowSRVPort.Visible = false; + lblRecordData.Text = "Record Data:"; + IPValidator.Enabled = false; + + switch (ddlRecordType.SelectedValue) { - lblRecordData.Text = "IP:"; - IPValidator1.Enabled = true; + case "A": + lblRecordData.Text = "IP:"; + IPValidator.Enabled = true; + break; + case "MX": + rowMXPriority.Visible = true; + break; + case "SRV": + rowSRVPriority.Visible = true; + rowSRVWeight.Visible = true; + rowSRVPort.Visible = true; + lblRecordData.Text = "Host offering this service:"; + break; + default: + break; } - else - { - lblRecordData.Text = "Record Data:"; - IPValidator1.Enabled = false; - } - } + } private void SaveRecord() { @@ -131,11 +153,16 @@ namespace WebsitePanel.Portal.ExchangeServer // add record try { - int result = ES.Services.Servers.AddDnsZoneRecord(PanelRequest.DomainID, - txtRecordName.Text.Trim(), - (DnsRecordType)Enum.Parse(typeof(DnsRecordType), ddlRecordType.SelectedValue, true), - txtRecordData.Text.Trim(), - Utils.ParseInt(txtMXPriority.Text.Trim(), 0)); + int result = ES.Services.Servers.AddDnsZoneRecord(PanelRequest.DomainID, + txtRecordName.Text.Trim(), + (DnsRecordType) + Enum.Parse(typeof(DnsRecordType), + ddlRecordType.SelectedValue, true), + txtRecordData.Text.Trim(), + Int32.Parse(txtMXPriority.Text.Trim()), + Int32.Parse(txtSRVPriority.Text.Trim()), + Int32.Parse(txtSRVWeight.Text.Trim()), + Int32.Parse(txtSRVPort.Text.Trim())); if (result < 0) { @@ -154,13 +181,16 @@ namespace WebsitePanel.Portal.ExchangeServer // update record try { - int result = ES.Services.Servers.UpdateDnsZoneRecord(PanelRequest.DomainID, - ViewState["RecordName"].ToString(), - ViewState["RecordData"].ToString(), - txtRecordName.Text.Trim(), - (DnsRecordType)ViewState["RecordType"], - txtRecordData.Text.Trim(), - Utils.ParseInt(txtMXPriority.Text.Trim(), 0)); + int result = ES.Services.Servers.UpdateDnsZoneRecord(PanelRequest.DomainID, + ViewState["RecordName"].ToString(), + ViewState["RecordData"].ToString(), + txtRecordName.Text.Trim(), + (DnsRecordType)ViewState["RecordType"], + txtRecordData.Text.Trim(), + Int32.Parse(txtMXPriority.Text.Trim()), + Int32.Parse(txtSRVPriority.Text.Trim()), + Int32.Parse(txtSRVWeight.Text.Trim()), + Int32.Parse(txtSRVPort.Text.Trim())); if (result < 0) { @@ -220,18 +250,21 @@ namespace WebsitePanel.Portal.ExchangeServer private void ResetPopup() { - EditRecordModal.Hide(); - ViewState["ExistingRecord"] = null; + EditRecordModal.Hide(); + ViewState["ExistingRecord"] = null; - // erase fields - litRecordType.Visible = false; - ddlRecordType.Visible = true; - ddlRecordType.SelectedIndex = 0; - txtRecordName.Text = ""; - txtRecordData.Text = ""; - txtMXPriority.Text = "1"; - ToggleRecordControls(); - } + // erase fields + litRecordType.Visible = false; + ddlRecordType.Visible = true; + ddlRecordType.SelectedIndex = 0; + txtRecordName.Text = ""; + txtRecordData.Text = ""; + txtMXPriority.Text = "1"; + txtSRVPriority.Text = "0"; + txtSRVWeight.Text = "0"; + txtSRVPort.Text = "0"; + ToggleRecordControls(); + } protected void gvRecords_RowEditing(object sender, GridViewEditEventArgs e) { diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.designer.cs index d9cc5277..fe5fa391 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -229,6 +228,15 @@ namespace WebsitePanel.Portal.ExchangeServer { /// protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireData; + /// + /// IPValidator control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator IPValidator; + /// /// IPValidator1 control. /// @@ -283,6 +291,141 @@ namespace WebsitePanel.Portal.ExchangeServer { /// protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectPriority; + /// + /// rowSRVPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVPriority; + + /// + /// lblSRVPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSRVPriority; + + /// + /// txtSRVPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSRVPriority; + + /// + /// valRequireSrvPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSrvPriority; + + /// + /// valRequireCorrectSrvPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectSrvPriority; + + /// + /// rowSRVWeight control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVWeight; + + /// + /// lblSRVWeight control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSRVWeight; + + /// + /// txtSRVWeight control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSRVWeight; + + /// + /// valRequireSrvWeight control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSrvWeight; + + /// + /// valRequireCorrectSrvWeight control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectSrvWeight; + + /// + /// rowSRVPort control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVPort; + + /// + /// lblSRVPort control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSRVPort; + + /// + /// txtSRVPort control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSRVPort; + + /// + /// valRequireSrvPort control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSrvPort; + + /// + /// valRequireCorrectSrvPort control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectSrvPort; + /// /// btnSave control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx index bf9d97f3..86c15066 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx @@ -39,6 +39,7 @@ NS TXT CNAME + SRV @@ -60,6 +61,28 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.cs index 5d03772c..2ecb71f8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -86,6 +86,7 @@ namespace WebsitePanel.Portal return; } } + } private void BindDnsRecords() @@ -104,6 +105,8 @@ namespace WebsitePanel.Portal gvRecords.DataSource = ds; gvRecords.DataBind(); } + + ToggleRecordControls(); } private void BindDnsRecord(int recordId) @@ -119,6 +122,9 @@ namespace WebsitePanel.Portal txtRecordName.Text = record.RecordName; txtRecordData.Text = record.RecordData; txtMXPriority.Text = record.MxPriority.ToString(); + txtSRVPriority.Text = record.SrvPriority.ToString(); + txtSRVWeight.Text = record.SrvWeight.ToString(); + txtSRVPort.Text = record.SrvPort.ToString(); ipAddress.AddressId = record.IpAddressId; } @@ -138,9 +144,32 @@ namespace WebsitePanel.Portal private void ToggleRecordControls() { - ipAddress.Visible = (ddlRecordType.SelectedValue == "A"); - //rowData.Visible = (ddlRecordType.SelectedValue != "A"); - rowMXPriority.Visible = (ddlRecordType.SelectedValue == "MX"); + + rowMXPriority.Visible = false; + rowSRVPriority.Visible = false; + rowSRVWeight.Visible = false; + rowSRVPort.Visible = false; + lblRecordData.Text = "Record Data:"; + ipAddress.Visible = false; + + switch (ddlRecordType.SelectedValue) + { + case "A": + lblRecordData.Text = "IP:"; + ipAddress.Visible = true; + break; + case "MX": + rowMXPriority.Visible = true; + break; + case "SRV": + rowSRVPriority.Visible = true; + rowSRVWeight.Visible = true; + rowSRVPort.Visible = true; + lblRecordData.Text = "Host offering this service:"; + break; + default: + break; + } } private void SaveRecord() @@ -151,6 +180,9 @@ namespace WebsitePanel.Portal record.RecordName = txtRecordName.Text.Trim(); record.RecordData = txtRecordData.Text.Trim(); record.MxPriority = Utils.ParseInt(txtMXPriority.Text, 0); + record.SrvPriority = Utils.ParseInt(txtSRVPriority.Text, 0); + record.SrvWeight = Utils.ParseInt(txtSRVWeight.Text, 0); + record.SrvPort = Utils.ParseInt(txtSRVPort.Text, 0); record.IpAddressId = ipAddress.AddressId; if (ServiceIdParam != null) @@ -230,6 +262,11 @@ namespace WebsitePanel.Portal txtRecordName.Text = ""; txtRecordData.Text = ""; txtMXPriority.Text = "0"; + txtSRVPriority.Text = "0"; + txtSRVWeight.Text = "0"; + txtSRVPort.Text = "0"; + + ToggleRecordControls(); ShowPanels(true); } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.designer.cs index d9fbff7f..a376fa40 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.designer.cs @@ -1,32 +1,249 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.42 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ namespace WebsitePanel.Portal { + public partial class GlobalDnsRecordsControl { - protected System.Web.UI.WebControls.Panel pnlRecords; - protected System.Web.UI.WebControls.Button btnAdd; - protected System.Web.UI.WebControls.GridView gvRecords; - protected System.Web.UI.WebControls.Panel pnlEdit; - protected System.Web.UI.WebControls.Label lblRecordType; - protected System.Web.UI.WebControls.DropDownList ddlRecordType; - protected System.Web.UI.WebControls.Label lblRecordName; - protected System.Web.UI.WebControls.TextBox txtRecordName; - protected System.Web.UI.HtmlControls.HtmlTableRow rowData; - protected System.Web.UI.WebControls.Label lblRecordData; - protected System.Web.UI.WebControls.TextBox txtRecordData; - protected WebsitePanel.Portal.SelectIPAddress ipAddress; - protected System.Web.UI.HtmlControls.HtmlTableRow rowMXPriority; - protected System.Web.UI.WebControls.Label lblMXPriority; - protected System.Web.UI.WebControls.TextBox txtMXPriority; - protected System.Web.UI.WebControls.Button btnSave; - protected System.Web.UI.WebControls.Button btnCancel; + + /// + /// pnlRecords control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel pnlRecords; + + /// + /// btnAdd control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAdd; + + /// + /// gvRecords control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvRecords; + + /// + /// pnlEdit control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel pnlEdit; + + /// + /// lblRecordType control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblRecordType; + + /// + /// ddlRecordType control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.DropDownList ddlRecordType; + + /// + /// lblRecordName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblRecordName; + + /// + /// txtRecordName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtRecordName; + + /// + /// rowData control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow rowData; + + /// + /// lblRecordData control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblRecordData; + + /// + /// txtRecordData control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtRecordData; + + /// + /// ipAddress control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.SelectIPAddress ipAddress; + + /// + /// rowMXPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow rowMXPriority; + + /// + /// lblMXPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblMXPriority; + + /// + /// txtMXPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtMXPriority; + + /// + /// rowSRVPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVPriority; + + /// + /// lblSRVPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSRVPriority; + + /// + /// txtSRVPriority control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSRVPriority; + + /// + /// rowSRVWeight control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVWeight; + + /// + /// lblSRVWeight control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSRVWeight; + + /// + /// txtSRVWeight control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSRVWeight; + + /// + /// rowSRVPort control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVPort; + + /// + /// lblSRVPort control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSRVPort; + + /// + /// txtSRVPort control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSRVPort; + + /// + /// btnSave control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnSave; + + /// + /// btnCancel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnCancel; } } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.cs index 1c13ab54..bc712364 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -273,7 +273,7 @@ namespace WebsitePanel.Portal private void AddDnsRecord(int domainId, string recordName, string recordData) { - int result = ES.Services.Servers.AddDnsZoneRecord(domainId, recordName, DnsRecordType.A, recordData, 0); + int result = ES.Services.Servers.AddDnsZoneRecord(domainId, recordName, DnsRecordType.A, recordData, 0, 0, 0, 0); if (result < 0) { ShowResultMessage(result); From b4f4c36bfd006d22ba01055b3743061e260d2839 Mon Sep 17 00:00:00 2001 From: robvde Date: Wed, 4 Jul 2012 13:42:46 +0400 Subject: [PATCH 28/78] HostedSharePoint.Sites set to type 2 Quota.HostedSharePoint.UseSharedSSL added to sharedresources --- WebsitePanel/Database/install_db.sql | 2 +- WebsitePanel/Database/update_db.sql | 6 ++++++ .../WebsitePanel_SharedResources.ascx.resx | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index 88dc247f..14fbbba5 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -3594,7 +3594,7 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (108, 11, 6, N'MySQL5.Truncate', N'Database Truncate', 1, 0, NULL) GO -INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (200, 20, 1, N'HostedSharePoint.Sites', N'SharePoint Site Collections', 3, 0, 200) +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (200, 20, 1, N'HostedSharePoint.Sites', N'SharePoint Site Collections', 2, 0, 200) GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (203, 10, 4, N'MsSQL2005.MaxLogSize', N'Max Log Size', 3, 0, NULL) GO diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index 17c996eb..92b0b599 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -1507,3 +1507,9 @@ WHERE RETURN GO + + + + +UPDATE dbo.Quotas SET QuotaTypeID = 2 WHERE QuotaName = 'HostedSharePoint.Sites' +GO \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx index e5a30c55..a7b4c5e9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx @@ -5113,4 +5113,7 @@ Web Publishing profile for this web site has been successfully saved + + Use shared SSL Root + \ No newline at end of file From 127a7fc1dd29812c55a84d2cf51833e1182b7952 Mon Sep 17 00:00:00 2001 From: omara Date: Wed, 4 Jul 2012 08:37:14 -0400 Subject: [PATCH 29/78] Update Copyright information on updated files Change Copyright date on footer --- .../ServersProxy.cs | 28 +++++++++++++++++ .../Code/Servers/ServerController.cs | 2 +- .../HostedSharePointServerController.cs | 2 +- .../esServers.asmx.cs | 2 +- .../HostedSolution/OrganizationUser.cs | 2 +- .../SharePoint/IHostedSharePointServer.cs | 2 +- .../HostedSharePointServer.cs | 2 +- .../HostedSharePointServer2010.cs | 30 ++++++++++++++++++- .../HostedSharePointServerImpl.cs | 2 +- .../HostedSharePointServerProxy.cs | 28 +++++++++++++++++ .../HostedSharePointServer.asmx.cs | 2 +- .../Code/SecureSessionModule.cs | 30 ++++++++++++++++++- .../DnsZoneRecords.ascx.designer.cs | 28 +++++++++++++++++ .../DomainsSelectDomainControl.ascx.cs | 2 +- .../ExchangeDomainRecords.ascx.designer.cs | 28 +++++++++++++++++ .../AccountsListWithPermissions.ascx.cs | 2 +- .../UserControls/UserSelector.ascx.cs | 4 +-- .../UserSelector.ascx.designer.cs | 28 +++++++++++++++++ .../GlobalDnsRecordsControl.ascx.cs | 2 +- .../GlobalDnsRecordsControl.ascx.designer.cs | 28 +++++++++++++++++ ...rePointEditSiteCollection.ascx.designer.cs | 28 +++++++++++++++++ .../DesktopModules/WebsitePanel/Login.ascx.cs | 2 +- .../HostedSharePoint30_Settings.ascx.cs | 2 +- ...stedSharePoint30_Settings.ascx.designer.cs | 28 +++++++++++++++++ .../App_LocalResources/SiteFooter.ascx.resx | 2 +- .../UserControls/QuotaEditor.ascx.cs | 2 +- .../UserControls/QuotaEditor.ascx.designer.cs | 28 +++++++++++++++++ 27 files changed, 327 insertions(+), 19 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs index 4e9ae211..2643979b 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs @@ -1,3 +1,31 @@ +// 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. + //------------------------------------------------------------------------------ // // This code was generated by a tool. diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Servers/ServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Servers/ServerController.cs index f8a2e889..05eb7a72 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Servers/ServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Servers/ServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs index 8a1b4baa..00fa5a28 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SharePoint/HostedSharePointServerController.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs index 3caa0f08..1df94af6 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs index 687c96cf..53d73e5f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/IHostedSharePointServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/IHostedSharePointServer.cs index 16b4822e..d10f56ca 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/IHostedSharePointServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/SharePoint/IHostedSharePointServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer.cs index 3639da0b..511480bd 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer2010.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer2010.cs index b761df53..f2cd57d3 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer2010.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServer2010.cs @@ -1,4 +1,32 @@ -using System; +// 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. + +using System; using System.IO; using System.Collections.Generic; using System.Collections.ObjectModel; diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServerImpl.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServerImpl.cs index f9f15cdf..5b0cf619 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServerImpl.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/HostedSharePointServerImpl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/HostedSharePointServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/HostedSharePointServerProxy.cs index 2cb383e5..d380cbe6 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/HostedSharePointServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/HostedSharePointServerProxy.cs @@ -1,3 +1,31 @@ +// 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. + //------------------------------------------------------------------------------ // // This code was generated by a tool. diff --git a/WebsitePanel/Sources/WebsitePanel.Server/HostedSharePointServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/HostedSharePointServer.asmx.cs index ac540abd..b2c6bddf 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/HostedSharePointServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/HostedSharePointServer.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SecureSessionModule.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SecureSessionModule.cs index 41e320f6..580b5cd5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SecureSessionModule.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/Code/SecureSessionModule.cs @@ -1,4 +1,32 @@ -using System; +// 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. + +using System; using System.Web; using System.Web.Security; using System.Web.Caching; diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.designer.cs index b9a95504..ae347852 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DnsZoneRecords.ascx.designer.cs @@ -1,3 +1,31 @@ +// 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. + //------------------------------------------------------------------------------ // // This code was generated by a tool. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsSelectDomainControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsSelectDomainControl.ascx.cs index ef0b17eb..866c24b9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsSelectDomainControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/DomainsSelectDomainControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.designer.cs index fe5fa391..f7333780 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.designer.cs @@ -1,3 +1,31 @@ +// 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. + //------------------------------------------------------------------------------ // // This code was generated by a tool. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx.cs index 0f7f3f6c..3cc8f1a4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/AccountsListWithPermissions.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs index e27af284..51e5e543 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2010, SMB SAAS Systems Inc. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -11,7 +11,7 @@ // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. // -// - Neither the name of the SMB SAAS Systems Inc. nor the names of its +// - 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. // diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.designer.cs index 4775df9a..c4fe285f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.designer.cs @@ -1,3 +1,31 @@ +// 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. + //------------------------------------------------------------------------------ // // This code was generated by a tool. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.cs index 2ecb71f8..7ad7be25 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.designer.cs index a376fa40..fad6103e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/GlobalDnsRecordsControl.ascx.designer.cs @@ -1,3 +1,31 @@ +// 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. + //------------------------------------------------------------------------------ // // This code was generated by a tool. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.designer.cs index f5979ef6..66498cdd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/HostedSharePointEditSiteCollection.ascx.designer.cs @@ -1,3 +1,31 @@ +// 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. + //------------------------------------------------------------------------------ // // This code was generated by a tool. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Login.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Login.ascx.cs index 6bfa3f57..3bb6fe20 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Login.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Login.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.cs index 7b1fd2f5..09c7785b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.designer.cs index edf10495..6d35f33f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HostedSharePoint30_Settings.ascx.designer.cs @@ -1,3 +1,31 @@ +// 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. + //------------------------------------------------------------------------------ // // This code was generated by a tool. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/App_LocalResources/SiteFooter.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/App_LocalResources/SiteFooter.ascx.resx index 68fba881..b23810ec 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/App_LocalResources/SiteFooter.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SkinControls/App_LocalResources/SiteFooter.ascx.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Powered by <a href="http://www.websitepanel.net" target="_blank">WebsitePanel</a>. Copyright &copy; 2011 Outercurve Foundation. + Powered by <a href="http://www.websitepanel.net" target="_blank">WebsitePanel</a>. Copyright &copy; 2012 Outercurve Foundation. Version diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.cs index 0160b484..aab84486 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2011, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.designer.cs index c535ae48..c78142ae 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/QuotaEditor.ascx.designer.cs @@ -1,3 +1,31 @@ +// 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. + //------------------------------------------------------------------------------ // // This code was generated by a tool. From 7d29f1822b0f0a410579c10c5849dc0311198280 Mon Sep 17 00:00:00 2001 From: robvde Date: Wed, 4 Jul 2012 17:30:28 +0400 Subject: [PATCH 30/78] Fork specific configuration files --- WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config | 4 ++-- .../WebsitePanel.WebPortal/App_Data/SiteSettings.config | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config index 3af7ac75..135027ec 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config @@ -5,11 +5,11 @@ - + - + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/SiteSettings.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/SiteSettings.config index 0a99be01..e40147a6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/SiteSettings.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/SiteSettings.config @@ -3,7 +3,7 @@ WebsitePanel - http://localhost:9002 + http://localhost:9005 UserCulture UserTheme From c958211ce753aae1731ac05b627bde7764aa6b9c Mon Sep 17 00:00:00 2001 From: robvde Date: Wed, 4 Jul 2012 18:09:25 +0400 Subject: [PATCH 31/78] COLLOCATE DATABASE_DEFAULT replaced with Latin1_General1_CI_AS --- .../Sources/WebsitePanel.Installer.Core/Loader.cs | 4 ++-- WebsitePanel/Database/install_db.sql | 6 +++--- WebsitePanel/Database/update_db.sql | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Installer.Core/Loader.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Installer.Core/Loader.cs index 39fe1861..54ef5d79 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Installer.Core/Loader.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Installer.Core/Loader.cs @@ -80,7 +80,7 @@ namespace WebsitePanel.Installer.Core private WebClient fileLoader; - public BitlyLoader(string remoteFile) + internal BitlyLoader(string remoteFile) : base(remoteFile) { InitFileLoader(); @@ -175,7 +175,7 @@ namespace WebsitePanel.Installer.Core public event EventHandler> ProgressChanged; public event EventHandler OperationCompleted; - public Loader(string remoteFile) + internal Loader(string remoteFile) { this.remoteFile = remoteFile; } diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index 14fbbba5..b9a05217 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -35704,8 +35704,8 @@ RAISERROR('You are not allowed to access this package', 16, 1) DECLARE @Records TABLE ( RecordID int, - RecordType nvarchar(10) COLLATE DATABASE_DEFAULT, - RecordName nvarchar(50) COLLATE DATABASE_DEFAULT + RecordType nvarchar(10) COLLATE Latin1_General_CI_AS, + RecordName nvarchar(50) COLLATE Latin1_General_CI_AS ) -- select PACKAGES DNS records @@ -44137,7 +44137,7 @@ EXEC sp_xml_preparedocument @idoc OUTPUT, @xml -- Execute a SELECT statement that uses the OPENXML rowset provider. DELETE FROM ServiceProperties WHERE ServiceID = @ServiceID -AND PropertyName COLLATE DATABASE_DEFAULT IN +AND PropertyName COLLATE Latin1_General_CI_AS IN ( SELECT PropertyName FROM OPENXML(@idoc, '/properties/property', 1) diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index 92b0b599..a9963878 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -1244,8 +1244,8 @@ RAISERROR('You are not allowed to access this package', 16, 1) DECLARE @Records TABLE ( RecordID int, - RecordType nvarchar(10) COLLATE DATABASE_DEFAULT, - RecordName nvarchar(50) COLLATE DATABASE_DEFAULT + RecordType nvarchar(10) COLLATE Latin1_General_CI_AS, + RecordName nvarchar(50) COLLATE Latin1_General_CI_AS ) -- select PACKAGES DNS records From 2a44c64e4001ea27a21b49cbb464acf188bc9a04 Mon Sep 17 00:00:00 2001 From: robvde Date: Wed, 4 Jul 2012 18:57:33 +0400 Subject: [PATCH 32/78] Column verification added before extending an existing table --- WebsitePanel/Database/update_db.sql | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index a9963878..56c023d4 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -856,31 +856,17 @@ END GO - - - - - - - +IF NOT EXISTS(select 1 from sys.columns COLS INNER JOIN sys.objects OBJS ON OBJS.object_id=COLS.object_id and OBJS.type='U' AND OBJS.name='GlobalDnsRecords' AND COLS.name='SrvPriority') +BEGIN ALTER TABLE [dbo].[GlobalDnsRecords] ADD [SrvPriority] [int] NULL, [SrvWeight] [int] NULL, [SrvPort] [int] NULL - +END GO - - - - - - - - - ALTER PROCEDURE [dbo].[AddDnsRecord] ( @ActorID int, @@ -1129,13 +1115,7 @@ GO -USE [WebsitePanel] -GO -/****** Object: StoredProcedure [dbo].[GetDnsRecordsByServer] Script Date: 06/01/2011 23:42:41 ******/ -SET ANSI_NULLS ON -GO -SET QUOTED_IDENTIFIER ON -GO + ALTER PROCEDURE [dbo].[GetDnsRecordsByServer] ( From ef73b0d1c6bb12edd8b3dad299e36d64b7c5fc24 Mon Sep 17 00:00:00 2001 From: robvde Date: Wed, 4 Jul 2012 19:17:09 +0400 Subject: [PATCH 33/78] Version reverted to last version --- .../WebsitePanel.Installer.Core/Loader.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Installer.Core/Loader.cs b/WebsitePanel.Installer/Sources/WebsitePanel.Installer.Core/Loader.cs index 54ef5d79..b65c1e57 100644 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Installer.Core/Loader.cs +++ b/WebsitePanel.Installer/Sources/WebsitePanel.Installer.Core/Loader.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2012, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -80,7 +80,7 @@ namespace WebsitePanel.Installer.Core private WebClient fileLoader; - internal BitlyLoader(string remoteFile) + public BitlyLoader(string remoteFile) : base(remoteFile) { InitFileLoader(); @@ -115,7 +115,7 @@ namespace WebsitePanel.Installer.Core Log.WriteStart("Downloading file"); Log.WriteInfo("Downloading file \"{0}\" to \"{1}\"", remoteFile, tmpFile); - + // Attach event handlers to track status of the download process fileLoader.DownloadProgressChanged += (obj, e) => { @@ -145,7 +145,7 @@ namespace WebsitePanel.Installer.Core fileLoader.DownloadFileAsync(new Uri(remoteFile), tmpFile); RaiseOnStatusChangedEvent(DownloadingSetupFilesMessage); - + autoEvent.WaitOne(); } }, ct); @@ -175,7 +175,7 @@ namespace WebsitePanel.Installer.Core public event EventHandler> ProgressChanged; public event EventHandler OperationCompleted; - internal Loader(string remoteFile) + public Loader(string remoteFile) { this.remoteFile = remoteFile; } @@ -276,7 +276,7 @@ namespace WebsitePanel.Installer.Core // Download the file requested Task downloadFileTask = GetDownloadFileTask(remoteFile, tmpFile, token); // Move the file downloaded from temporary location to Data folder - var moveFileTask = downloadFileTask.ContinueWith((t) => + var moveFileTask = downloadFileTask.ContinueWith((t) => { if (File.Exists(tmpFile)) { @@ -312,7 +312,7 @@ namespace WebsitePanel.Installer.Core { RaiseOnOperationCompletedEvent(); }, token); - + downloadFileTask.Start(); downloadFileTask.Wait(); } @@ -527,4 +527,4 @@ namespace WebsitePanel.Installer.Core } } } -} \ No newline at end of file +} From e9d55cde5414f62b8bb308b162543f7e8af5f4aa Mon Sep 17 00:00:00 2001 From: omara Date: Wed, 4 Jul 2012 12:46:43 -0400 Subject: [PATCH 34/78] Revert changes made in Rev 128 --- WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config | 4 ++-- .../WebsitePanel.WebPortal/App_Data/SiteSettings.config | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config index 135027ec..451c69c1 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config @@ -5,11 +5,11 @@ - + - + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/SiteSettings.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/SiteSettings.config index e40147a6..0a99be01 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/SiteSettings.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/SiteSettings.config @@ -3,7 +3,7 @@ WebsitePanel - http://localhost:9005 + http://localhost:9002 UserCulture UserTheme From fc0cfc5211b7f9b87cf79121453ebd0c5d05ea63 Mon Sep 17 00:00:00 2001 From: robvde Date: Wed, 4 Jul 2012 22:45:24 +0400 Subject: [PATCH 35/78] Forget installer/app.config and updater.exe --- .../Sources/WebsitePanel.Installer/App.config | 20 ------------------ .../WebsitePanel.Installer/Updater.exe | Bin 198144 -> 0 bytes 2 files changed, 20 deletions(-) delete mode 100644 WebsitePanel.Installer/Sources/WebsitePanel.Installer/App.config delete mode 100644 WebsitePanel.Installer/Sources/WebsitePanel.Installer/Updater.exe diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Installer/App.config b/WebsitePanel.Installer/Sources/WebsitePanel.Installer/App.config deleted file mode 100644 index 60bc4b39..00000000 --- a/WebsitePanel.Installer/Sources/WebsitePanel.Installer/App.config +++ /dev/null @@ -1,20 +0,0 @@ - - - -
    - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Installer/Updater.exe b/WebsitePanel.Installer/Sources/WebsitePanel.Installer/Updater.exe deleted file mode 100644 index 310afe242adc8e9a49f1a5f37820095dcaa6ca8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198144 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 !OM3kHYq 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 From 2e334afcdf4b4a6e806d67201b7950b23e027a86 Mon Sep 17 00:00:00 2001 From: robvde Date: Wed, 4 Jul 2012 23:07:28 +0400 Subject: [PATCH 36/78] Violation of Primary Key contraint on UserSettings fixed --- WebsitePanel/Database/update_db.sql | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index 56c023d4..ebfc3189 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -9,10 +9,15 @@ SET @build_date = '${release.date}T00:00:00' -- ISO 8601 Format (YYYY-MM-DDTHH:M IF NOT EXISTS (SELECT * FROM [dbo].[Versions] WHERE [DatabaseVersion] = @build_version) BEGIN INSERT [dbo].[Versions] ([DatabaseVersion], [BuildDate]) VALUES (@build_version, @build_date) - INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'WebPolicy', N'EnableParkingPageTokens', N'False') END GO + +IF NOT EXISTS (SELECT * FROM [dbo].[UserSetting] WHERE ([GroupName] = 1) AND ([SettingsName] = 'WebPolicy') AND ([PropertyName] = 'EnableParkingPageTokens')) +BEGIN + INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'WebPolicy', N'EnableParkingPageTokens', N'False') +END + IF NOT EXISTS (SELECT * FROM [dbo].[ResourceGroups] WHERE [GroupName] = 'MsSQL2012') BEGIN INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (23, N'MsSQL2012', 10, N'WebsitePanel.EnterpriseServer.DatabaseServerController') From 2e5fb2104c0b9847d93a5d0e47d4cc7a04dcbe9d Mon Sep 17 00:00:00 2001 From: omara Date: Wed, 4 Jul 2012 20:43:31 -0400 Subject: [PATCH 37/78] Improve build tools --- .../WebsitePanel.Installer/Updater.exe | Bin 198144 -> 198144 bytes WebsitePanel/build-debug.bat | 2 +- WebsitePanel/build-release.bat | 2 +- WebsitePanel/build.xml | 3 ++- WebsitePanel/deploy-debug.bat | 2 +- WebsitePanel/deploy-release.bat | 2 +- 6 files changed, 6 insertions(+), 5 deletions(-) diff --git a/WebsitePanel.Installer/Sources/WebsitePanel.Installer/Updater.exe b/WebsitePanel.Installer/Sources/WebsitePanel.Installer/Updater.exe index 310afe242adc8e9a49f1a5f37820095dcaa6ca8f..ac0dd6d0027b9f9e495332c22614e7a6b1aa1ae8 100644 GIT binary patch delta 40507 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 delta 40626 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 OsV-C{T;$e`(EJN=YKIB{ diff --git a/WebsitePanel/build-debug.bat b/WebsitePanel/build-debug.bat index 8291a305..cc6e25f7 100644 --- a/WebsitePanel/build-debug.bat +++ b/WebsitePanel/build-debug.bat @@ -1 +1 @@ -%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe build.xml /target:Build /property:BuildConfiguration=Debug /v:n /fileLogger \ No newline at end of file +%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe build.xml /target:Build /property:BuildConfiguration=Debug /v:n /fileLogger /m \ No newline at end of file diff --git a/WebsitePanel/build-release.bat b/WebsitePanel/build-release.bat index e76ab1fd..4c1a2418 100644 --- a/WebsitePanel/build-release.bat +++ b/WebsitePanel/build-release.bat @@ -1 +1 @@ -%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe build.xml /target:Build /property:BuildConfiguration=Release /v:n /fileLogger \ No newline at end of file +%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe build.xml /target:Build /property:BuildConfiguration=Release /v:n /fileLogger /m \ No newline at end of file diff --git a/WebsitePanel/build.xml b/WebsitePanel/build.xml index 00782de3..6260025a 100644 --- a/WebsitePanel/build.xml +++ b/WebsitePanel/build.xml @@ -41,7 +41,8 @@ - + + Date: Wed, 4 Jul 2012 20:44:16 -0400 Subject: [PATCH 38/78] Add additional files to improve testing process --- WebsitePanel/Tools/SetupTestWebsites.ps1 | 12 ++++ WebsitePanel/Tools/StartWebsite.ps1 | 33 ++++++++++ WebsitePanel/Tools/build-test.bat | 2 + WebsitePanel/Tools/start-test.bat | 3 + WebsitePanel/Tools/test-createDB.bat | 1 + WebsitePanel/Tools/test-updateDB.bat | 1 + WebsitePanel/test.xml | 79 ++++++++++++++++++++++++ 7 files changed, 131 insertions(+) create mode 100644 WebsitePanel/Tools/SetupTestWebsites.ps1 create mode 100644 WebsitePanel/Tools/StartWebsite.ps1 create mode 100644 WebsitePanel/Tools/build-test.bat create mode 100644 WebsitePanel/Tools/start-test.bat create mode 100644 WebsitePanel/Tools/test-createDB.bat create mode 100644 WebsitePanel/Tools/test-updateDB.bat create mode 100644 WebsitePanel/test.xml diff --git a/WebsitePanel/Tools/SetupTestWebsites.ps1 b/WebsitePanel/Tools/SetupTestWebsites.ps1 new file mode 100644 index 00000000..436a910e --- /dev/null +++ b/WebsitePanel/Tools/SetupTestWebsites.ps1 @@ -0,0 +1,12 @@ +Import-Module WebAdministration + +cd .. +$path = pwd +cd Tools + +New-Website -Name "WebsitePanel Server" -Port 9003 -PhysicalPath "$path\Sources\WebsitePanel.Server" -ErrorAction SilentlyContinue +New-Website -Name "WebsitePanel Enterprise Server" -Port 9002 -PhysicalPath "$path\Sources\WebsitePanel.EnterpriseServer" -ErrorAction SilentlyContinue +New-Website -Name "WebsitePanel Portal" -Port 9001 -PhysicalPath "$path\Sources\WebsitePanel.WebPortal" -ErrorAction SilentlyContinue + + + \ No newline at end of file diff --git a/WebsitePanel/Tools/StartWebsite.ps1 b/WebsitePanel/Tools/StartWebsite.ps1 new file mode 100644 index 00000000..e2d3fe36 --- /dev/null +++ b/WebsitePanel/Tools/StartWebsite.ps1 @@ -0,0 +1,33 @@ +Write-Host -ForegroundColor Green " +Ensure that you have created the EnterpriseServer Database +by executing test-createDB.bat and compiled WebsitePanel by +executing build-test.bat . + +Configuration: + +WebsitePanel Portal: + +URL: http://localhost:9001 +Login: serveradmin +Password: 1234 + + +WebsitePanel Enterprise Server: +URL: http://localhost:9002 +Database Login: WebsitePanel +Database Password: Password12 + + +WebsitePanel Server: +URL: http://localhost:9003 +Password: Password12 +" + +start http://localhost:9001 + +Read-Host "Press a key" + + + + + \ No newline at end of file diff --git a/WebsitePanel/Tools/build-test.bat b/WebsitePanel/Tools/build-test.bat new file mode 100644 index 00000000..d021ab25 --- /dev/null +++ b/WebsitePanel/Tools/build-test.bat @@ -0,0 +1,2 @@ +%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe ..\test.xml /target:BuildTest /property:BuildConfiguration=Debug /v:n /fileLogger /m +Pause \ No newline at end of file diff --git a/WebsitePanel/Tools/start-test.bat b/WebsitePanel/Tools/start-test.bat new file mode 100644 index 00000000..e4e49f46 --- /dev/null +++ b/WebsitePanel/Tools/start-test.bat @@ -0,0 +1,3 @@ +@echo off +powershell . ".\StartWebsite.ps1" +Pause \ No newline at end of file diff --git a/WebsitePanel/Tools/test-createDB.bat b/WebsitePanel/Tools/test-createDB.bat new file mode 100644 index 00000000..4aabe6ee --- /dev/null +++ b/WebsitePanel/Tools/test-createDB.bat @@ -0,0 +1 @@ +%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe ..\test.xml /target:CreateTestDB /property:BuildConfiguration=Debug /v:n /fileLogger /m \ No newline at end of file diff --git a/WebsitePanel/Tools/test-updateDB.bat b/WebsitePanel/Tools/test-updateDB.bat new file mode 100644 index 00000000..06385220 --- /dev/null +++ b/WebsitePanel/Tools/test-updateDB.bat @@ -0,0 +1 @@ +%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe ..\test.xml /target:UpdateTestDB /property:BuildConfiguration=Debug /v:n /fileLogger /m \ No newline at end of file diff --git a/WebsitePanel/test.xml b/WebsitePanel/test.xml new file mode 100644 index 00000000..842d7e31 --- /dev/null +++ b/WebsitePanel/test.xml @@ -0,0 +1,79 @@ + + + + + + WebsitePanel + $(BuildFolder)\Database + WebsitePanel + Password12 + 1234 + HcWzSyyxfo0751w/TwWUjQ== + Password12 + 1234567890 + http://127.0.0.1:9002 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 2f8a580846b2268501ab1c7522f84fc76b70e49f Mon Sep 17 00:00:00 2001 From: robvde Date: Sun, 8 Jul 2012 09:04:14 +0400 Subject: [PATCH 39/78] Removed Exchange Hosted Edition Important!: Before updating ensure that there are no servers within the with the WebsitePanel with ExchangeHostedEdition enabled/configured. --- WebsitePanel/Database/install_db.sql | 14 - WebsitePanel/Database/update_db.sql | 66 +- .../Packages/PackageSettings.cs | 1 - .../Packages/Quotas.cs | 4 - .../Servers/ResourceGroups.cs | 1 - .../Users/UserSettings.cs | 2 - .../ExchangeHostedEditionProxy.cs | 950 ------------------ ...ebsitePanel.EnterpriseServer.Client.csproj | 1 - .../ExchangeHostedEditionController.cs | 896 ----------------- .../Code/Packages/PackageController.cs | 13 - .../WebsitePanel.EnterpriseServer.csproj | 6 - .../esExchangeHostedEdition.asmx | 1 - .../esExchangeHostedEdition.asmx.cs | 95 -- .../ExchangeOrganization.cs | 43 - .../ExchangeOrganizationDomain.cs | 14 - .../IExchangeHostedEdition.cs | 22 - .../WebsitePanel.Providers.Base.csproj | 3 - .../ExchangeServerHostedEditionProxy.cs | 574 ----------- .../WebsitePanel.Server.Client.csproj | 1 - WebsitePanel/Sources/WebsitePanel.Server.sln | 6 - .../ExchangeServerHostedEdition.asmx | 1 - .../ExchangeServerHostedEdition.asmx.cs | 201 ---- .../WebsitePanel.Server.csproj | 5 - .../App_Data/ModulesData.config | 2 - .../App_Data/WebsitePanel_Modules.config | 13 - .../App_Data/WebsitePanel_Pages.config | 12 - .../WebsitePanel_Modules.ascx.resx | 3 - .../WebsitePanel_Pages.ascx.resx | 6 - .../WebsitePanel_SharedResources.ascx.resx | 126 --- .../SpaceSettings.ascx.resx | 3 - .../UserAccountMailTemplateSettings.ascx.resx | 3 - .../UserAccountPolicySettings.ascx.resx | 3 - .../WebsitePanel/Code/Framework/ES.cs | 5 - .../AddOrganizationDomain.ascx | 30 - .../AddOrganizationDomain.ascx.cs | 54 - .../AddOrganizationDomain.ascx.designer.cs | 96 -- .../AddOrganizationDomain.ascx.resx | 144 --- .../CreateOrganization.ascx.resx | 171 ---- .../DeleteOrganization.ascx.resx | 135 --- .../OrganizationDetails.ascx.resx | 234 ----- .../UpdateOrganizationCatchAll.ascx.resx | 159 --- .../UpdateOrganizationQuotas.ascx.resx | 180 ---- .../UpdateOrganizationServicePlan.ascx.resx | 153 --- .../CreateOrganization.ascx | 73 -- .../CreateOrganization.ascx.cs | 56 -- .../CreateOrganization.ascx.designer.cs | 186 ---- .../DeleteOrganization.ascx | 21 - .../DeleteOrganization.ascx.cs | 54 - .../DeleteOrganization.ascx.designer.cs | 69 -- .../OrganizationDetails.ascx | 166 --- .../OrganizationDetails.ascx.cs | 211 ---- .../OrganizationDetails.ascx.designer.cs | 393 -------- .../UpdateOrganizationCatchAll.ascx | 44 - .../UpdateOrganizationCatchAll.ascx.cs | 108 -- ...pdateOrganizationCatchAll.ascx.designer.cs | 132 --- .../UpdateOrganizationQuotas.ascx | 52 - .../UpdateOrganizationQuotas.ascx.cs | 121 --- .../UpdateOrganizationQuotas.ascx.designer.cs | 195 ---- .../UpdateOrganizationServicePlan.ascx | 58 -- .../UpdateOrganizationServicePlan.ascx.cs | 121 --- ...teOrganizationServicePlan.ascx.designer.cs | 195 ---- ...hangeHostedEditionOrganizationSummary.ascx | 42 - ...geHostedEditionOrganizationSummary.ascx.cs | 67 -- ...ditionOrganizationSummary.ascx.designer.cs | 123 --- .../SettingsExchangeHostedEditionPolicy.ascx | 18 - ...ettingsExchangeHostedEditionPolicy.ascx.cs | 58 -- ...changeHostedEditionPolicy.ascx.designer.cs | 42 - .../WebsitePanel/SpaceSettings.ascx | 3 - .../WebsitePanel/SpaceSettings.ascx.cs | 2 - .../SpaceSettings.ascx.designer.cs | 9 - .../SpaceSettingsExchangeHostedEdition.ascx | 18 - ...SpaceSettingsExchangeHostedEdition.ascx.cs | 63 -- ...ingsExchangeHostedEdition.ascx.designer.cs | 69 -- .../UserAccountMailTemplateSettings.ascx | 4 - ...countMailTemplateSettings.ascx.designer.cs | 9 - .../UserAccountPolicySettings.ascx | 4 - ...UserAccountPolicySettings.ascx.designer.cs | 9 - .../WebsitePanel.Portal.Modules.csproj | 101 -- 78 files changed, 49 insertions(+), 7299 deletions(-) delete mode 100644 WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeHostedEditionProxy.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeHostedEdition/ExchangeHostedEditionController.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeHostedEdition.asmx delete mode 100644 WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeHostedEdition.asmx.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/ExchangeHostedEdition/ExchangeOrganization.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/ExchangeHostedEdition/ExchangeOrganizationDomain.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/ExchangeHostedEdition/IExchangeHostedEdition.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerHostedEditionProxy.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.Server/ExchangeServerHostedEdition.asmx delete mode 100644 WebsitePanel/Sources/WebsitePanel.Server/ExchangeServerHostedEdition.asmx.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/AddOrganizationDomain.ascx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/AddOrganizationDomain.ascx.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/AddOrganizationDomain.ascx.designer.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/AddOrganizationDomain.ascx.resx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/CreateOrganization.ascx.resx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/DeleteOrganization.ascx.resx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/OrganizationDetails.ascx.resx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/UpdateOrganizationCatchAll.ascx.resx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/UpdateOrganizationQuotas.ascx.resx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/UpdateOrganizationServicePlan.ascx.resx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/CreateOrganization.ascx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/CreateOrganization.ascx.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/CreateOrganization.ascx.designer.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/DeleteOrganization.ascx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/DeleteOrganization.ascx.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/DeleteOrganization.ascx.designer.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/OrganizationDetails.ascx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/OrganizationDetails.ascx.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/OrganizationDetails.ascx.designer.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationCatchAll.ascx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationCatchAll.ascx.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationCatchAll.ascx.designer.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationQuotas.ascx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationQuotas.ascx.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationQuotas.ascx.designer.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationServicePlan.ascx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationServicePlan.ascx.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationServicePlan.ascx.designer.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx.designer.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx.designer.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx.designer.cs diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index b9a05217..cebc7caf 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -3708,14 +3708,6 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (332, 2, 21, N'Web.SSL', N'SSL', 1, 0, NULL) GO -INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (340, 33, 1, N'ExchangeHostedEdition.Domains', N'Domains', 3, 0, NULL) -GO -INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (341, 33, 2, N'ExchangeHostedEdition.Mailboxes', N'Mailboxes', 3, 0, NULL) -GO -INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (342, 33, 3, N'ExchangeHostedEdition.Contacts', N'Contacts', 3, 0, NULL) -GO -INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (343, 33, 4, N'ExchangeHostedEdition.DistributionLists', N'Distribution Lists', 3, 0, NULL) -GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (344, 2, 9, N'Web.Htaccess', N'htaccess', 1, 0, NULL) GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (345, 40, 1, N'VPSForPC.ServersNumber', N'Number of VPS', 2, 0, 35) @@ -10517,8 +10509,6 @@ INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupContr GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (32, N'OCS', 22, NULL) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (33, N'ExchangeHostedEdition', 7, N'WebsitePanel.EnterpriseServer.ExchangeHostedEditionController') -GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (40, N'VPSForPC', 20, NULL) GO SET ANSI_NULLS ON @@ -22300,8 +22290,6 @@ INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeNa GO INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (38, 23, N'MsSQL2012User', N'WebsitePanel.Providers.Database.SqlUser, WebsitePanel.Providers.Base', 1, 0, 0, 0, 1, 1, 1, 1) GO -INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (40, 33, N'ExchangeOrganization', N'WebsitePanel.Providers.ExchangeHostedEdition.ExchangeOrganization, WebsitePanel.Providers.Base', 1, 0, 0, 1, 1, 1, 0, 0) -GO INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (200, 20, N'SharePointSiteCollection', N'WebsitePanel.Providers.SharePoint.SharePointSiteCollection, WebsitePanel.Providers.Base', 25, 1, 0, 0, 1, 1, 1, 1) GO SET ANSI_NULLS ON @@ -23259,8 +23247,6 @@ INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName] GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (206, 32, N'OCSEdge', N'OCS Edge server', N'WebsitePanel.Providers.HostedSolution.OCSEdge2007R2, WebsitePanel.Providers.HostedSolution', N'OCS_Edge', 1) GO -INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (207, 33, N'Exchange2010SP1', N'Exchange Server 2010 SP1 Hosting Mode', N'WebsitePanel.Providers.ExchangeHostedEdition.Exchange2010SP1, WebsitePanel.Providers.ExchangeHostedEdition', N'Exchange2010SP1', 1) -GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (208, 20, N'HostedSharePoint2010', N'Hosted SharePoint Foundation 2010', N'WebsitePanel.Providers.HostedSolution.HostedSharePointServer2010, WebsitePanel.Providers.HostedSolution', N'HostedSharePoint30', NULL) GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (209, 23, N'MsSQL', N'Microsoft SQL Server 2012', N'WebsitePanel.Providers.Database.MsSqlServer2012, WebsitePanel.Providers.Database.SqlServer', N'MSSQL', NULL) diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index ebfc3189..cb5595fa 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -36,37 +36,35 @@ UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 5 WHERE [GroupName] = N'Exchang GO UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 6 WHERE [GroupName] = N'Hosted Organizations' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 7 WHERE [GroupName] = N'ExchangeHostedEdition' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 7 WHERE [GroupName] = N'MsSQL2000' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 8 WHERE [GroupName] = N'MsSQL2000' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 8 WHERE [GroupName] = N'MsSQL2005' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 9 WHERE [GroupName] = N'MsSQL2005' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 9 WHERE [GroupName] = N'MsSQL2008' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 10 WHERE [GroupName] = N'MsSQL2008' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 10 WHERE [GroupName] = N'MsSQL2012' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 11 WHERE [GroupName] = N'MsSQL2012' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 11 WHERE [GroupName] = N'MySQL4' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 12 WHERE [GroupName] = N'MySQL4' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 12 WHERE [GroupName] = N'MySQL5' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 13 WHERE [GroupName] = N'MySQL5' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 13 WHERE [GroupName] = N'SharePoint' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 14 WHERE [GroupName] = N'SharePoint' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 14 WHERE [GroupName] = N'Hosted SharePoint' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 15 WHERE [GroupName] = N'Hosted SharePoint' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 15 WHERE [GroupName] = N'Hosted CRM' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 16 WHERE [GroupName] = N'Hosted CRM' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 16 WHERE [GroupName] = N'DNS' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 17 WHERE [GroupName] = N'DNS' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 17 WHERE [GroupName] = N'Statistics' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 18 WHERE [GroupName] = N'Statistics' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 18 WHERE [GroupName] = N'VPS' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 19 WHERE [GroupName] = N'VPS' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 19 WHERE [GroupName] = N'VPSForPC' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 20 WHERE [GroupName] = N'VPSForPC' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 20 WHERE [GroupName] = N'BlackBerry' GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 21 WHERE [GroupName] = N'BlackBerry' -GO -UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 22 WHERE [GroupName] = N'OCS' +UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 21 WHERE [GroupName] = N'OCS' GO IF NOT EXISTS (SELECT * FROM [dbo].[ServiceItemTypes] WHERE [DisplayName] = 'MsSQL2012Database') @@ -1497,4 +1495,38 @@ GO UPDATE dbo.Quotas SET QuotaTypeID = 2 WHERE QuotaName = 'HostedSharePoint.Sites' +GO + + + + +-- Remove ExchangeHostedEdition Quotas +DELETE FROM Quotas WHERE QuotaID = 340 +GO +DELETE FROM Quotas WHERE QuotaID = 341 +GO +DELETE FROM Quotas WHERE QuotaID = 342 +GO +DELETE FROM Quotas WHERE QuotaID = 343 +GO + + +-- Remove ExchangeHostedEdition ServiceItemType +DELETE FROM ServiceItemTypes WHERE ItemTypeID = 40 +GO + + +-- Remove ExchangeHostedEdition ServiceDefaultProperties +DELETE FROM ServiceDefaultProperties WHERE ProviderID = 207 +GO + + + +-- Remove ExchangeHostedEdition Provider +DELETE FROM Providers WHERE ProviderID = 207 +GO + + +-- Remove ExchangeHostedEdition ResourceGroups +DELETE FROM ResourceGroups WHERE GRoupID = 33 GO \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageSettings.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageSettings.cs index 254bd1af..6d2ba63c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageSettings.cs @@ -42,7 +42,6 @@ namespace WebsitePanel.EnterpriseServer public const string NAME_SERVERS = "NameServers"; public const string SHARED_SSL_SITES = "SharedSslSites"; public const string EXCHANGE_SERVER = "ExchangeServer"; - public const string EXCHANGE_HOSTED_EDITION = "ExchangeHostedEdition"; public const string HOSTED_SOLLUTION = "HostedSollution"; public const string VIRTUAL_PRIVATE_SERVERS = "VirtualPrivateServers"; diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs index 0f353415..98a45a86 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs @@ -105,10 +105,6 @@ order by rg.groupOrder public const string EXCHANGE2007_OWAENABLED = "Exchange2007.OWAEnabled"; // OWA Enabled by default public const string EXCHANGE2007_MAPIENABLED = "Exchange2007.MAPIEnabled"; // MAPI Enabled by default public const string EXCHANGE2007_ACTIVESYNCENABLED = "Exchange2007.ActiveSyncEnabled"; // ActiveSync Enabled by default - public const string EXCHANGEHOSTEDEDITION_DOMAINS = "ExchangeHostedEdition.Domains"; - public const string EXCHANGEHOSTEDEDITION_MAILBOXES = "ExchangeHostedEdition.Mailboxes"; - public const string EXCHANGEHOSTEDEDITION_CONTACTS = "ExchangeHostedEdition.Contacts"; - public const string EXCHANGEHOSTEDEDITION_DISTRIBUTIONLISTS = "ExchangeHostedEdition.DistributionLists"; public const string MSSQL2000_DATABASES = "MsSQL2000.Databases"; // Databases public const string MSSQL2000_USERS = "MsSQL2000.Users"; // Users public const string MSSQL2000_MAXDATABASESIZE = "MsSQL2000.MaxDatabaseSize"; // Max Database Size diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs index a4813bba..c9ad1502 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Servers/ResourceGroups.cs @@ -45,7 +45,6 @@ namespace WebsitePanel.EnterpriseServer public const string SharePoint = "SharePoint"; public const string HostedSharePoint = "Hosted SharePoint"; public const string Exchange = "Exchange"; - public const string ExchangeHostedEdition = "ExchangeHostedEdition"; public const string HostedOrganizations = "Hosted Organizations"; public const string HostedCRM = "Hosted CRM"; public const string VPS = "VPS"; diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserSettings.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserSettings.cs index 29f3df22..faacf9de 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserSettings.cs @@ -41,7 +41,6 @@ namespace WebsitePanel.EnterpriseServer public const string PACKAGE_SUMMARY_LETTER = "PackageSummaryLetter"; public const string PASSWORD_REMINDER_LETTER = "PasswordReminderLetter"; public const string EXCHANGE_MAILBOX_SETUP_LETTER = "ExchangeMailboxSetupLetter"; - public const string EXCHANGE_HOSTED_EDITION_ORGANIZATION_SUMMARY = "ExchangeHostedEditionOrganizationSummary"; public const string HOSTED_SOLUTION_REPORT = "HostedSoluitonReportSummaryLetter"; public const string ORGANIZATION_USER_SUMMARY_LETTER = "OrganizationUserSummaryLetter"; public const string VPS_SUMMARY_LETTER = "VpsSummaryLetter"; @@ -53,7 +52,6 @@ namespace WebsitePanel.EnterpriseServer public const string SHAREPOINT_POLICY = "SharePointPolicy"; public const string OS_POLICY = "OsPolicy"; public const string EXCHANGE_POLICY = "ExchangePolicy"; - public const string EXCHANGE_HOSTED_EDITION_POLICY = "ExchangeHostedEditionPolicy"; public const string WEBSITEPANEL_POLICY = "WebsitePanelPolicy"; public const string VPS_POLICY = "VpsPolicy"; public const string DISPLAY_PREFS = "DisplayPreferences"; diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeHostedEditionProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeHostedEditionProxy.cs deleted file mode 100644 index e8b723c4..00000000 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeHostedEditionProxy.cs +++ /dev/null @@ -1,950 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:2.0.50727.4952 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -// -// This source code was auto-generated by wsdl, Version=2.0.50727.42. -// -namespace WebsitePanel.EnterpriseServer { - using System.Xml.Serialization; - using System.Web.Services; - using System.ComponentModel; - using System.Web.Services.Protocols; - using System; - using System.Diagnostics; - - using WebsitePanel.Providers; - using WebsitePanel.Providers.Common; - using WebsitePanel.Providers.ExchangeHostedEdition; - using WebsitePanel.Providers.ResultObjects; - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - [System.Web.Services.WebServiceBindingAttribute(Name="esExchangeHostedEditionSoap", Namespace="http://smbsaas/websitepanel/enterpriseserver")] - [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))] - public partial class esExchangeHostedEdition : Microsoft.Web.Services3.WebServicesClientProtocol { - - private System.Threading.SendOrPostCallback GetOrganizationsOperationCompleted; - - private System.Threading.SendOrPostCallback CreateExchangeOrganizationOperationCompleted; - - private System.Threading.SendOrPostCallback GetExchangeOrganizationDetailsOperationCompleted; - - private System.Threading.SendOrPostCallback GetExchangeOrganizationDomainsOperationCompleted; - - private System.Threading.SendOrPostCallback GetExchangeOrganizationSummaryOperationCompleted; - - private System.Threading.SendOrPostCallback SendExchangeOrganizationSummaryOperationCompleted; - - private System.Threading.SendOrPostCallback AddExchangeOrganizationDomainOperationCompleted; - - private System.Threading.SendOrPostCallback DeleteExchangeOrganizationDomainOperationCompleted; - - private System.Threading.SendOrPostCallback UpdateExchangeOrganizationQuotasOperationCompleted; - - private System.Threading.SendOrPostCallback UpdateExchangeOrganizationCatchAllAddressOperationCompleted; - - private System.Threading.SendOrPostCallback UpdateExchangeOrganizationServicePlanOperationCompleted; - - private System.Threading.SendOrPostCallback DeleteExchangeOrganizationOperationCompleted; - - /// - public esExchangeHostedEdition() { - this.Url = "http://localhost:9002/esExchangeHostedEdition.asmx"; - } - - /// - public event GetOrganizationsCompletedEventHandler GetOrganizationsCompleted; - - /// - public event CreateExchangeOrganizationCompletedEventHandler CreateExchangeOrganizationCompleted; - - /// - public event GetExchangeOrganizationDetailsCompletedEventHandler GetExchangeOrganizationDetailsCompleted; - - /// - public event GetExchangeOrganizationDomainsCompletedEventHandler GetExchangeOrganizationDomainsCompleted; - - /// - public event GetExchangeOrganizationSummaryCompletedEventHandler GetExchangeOrganizationSummaryCompleted; - - /// - public event SendExchangeOrganizationSummaryCompletedEventHandler SendExchangeOrganizationSummaryCompleted; - - /// - public event AddExchangeOrganizationDomainCompletedEventHandler AddExchangeOrganizationDomainCompleted; - - /// - public event DeleteExchangeOrganizationDomainCompletedEventHandler DeleteExchangeOrganizationDomainCompleted; - - /// - public event UpdateExchangeOrganizationQuotasCompletedEventHandler UpdateExchangeOrganizationQuotasCompleted; - - /// - public event UpdateExchangeOrganizationCatchAllAddressCompletedEventHandler UpdateExchangeOrganizationCatchAllAddressCompleted; - - /// - public event UpdateExchangeOrganizationServicePlanCompletedEventHandler UpdateExchangeOrganizationServicePlanCompleted; - - /// - public event DeleteExchangeOrganizationCompletedEventHandler DeleteExchangeOrganizationCompleted; - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetOrganizations", 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 ExchangeOrganization[] GetOrganizations(int packageId) { - object[] results = this.Invoke("GetOrganizations", new object[] { - packageId}); - return ((ExchangeOrganization[])(results[0])); - } - - /// - public System.IAsyncResult BeginGetOrganizations(int packageId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetOrganizations", new object[] { - packageId}, callback, asyncState); - } - - /// - public ExchangeOrganization[] EndGetOrganizations(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ExchangeOrganization[])(results[0])); - } - - /// - public void GetOrganizationsAsync(int packageId) { - this.GetOrganizationsAsync(packageId, null); - } - - /// - public void GetOrganizationsAsync(int packageId, object userState) { - if ((this.GetOrganizationsOperationCompleted == null)) { - this.GetOrganizationsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationsOperationCompleted); - } - this.InvokeAsync("GetOrganizations", new object[] { - packageId}, this.GetOrganizationsOperationCompleted, userState); - } - - private void OnGetOrganizationsOperationCompleted(object arg) { - if ((this.GetOrganizationsCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetOrganizationsCompleted(this, new GetOrganizationsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CreateExchangeOrganization", 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 IntResult CreateExchangeOrganization(int packageId, string organizationId, string domain, string adminName, string adminEmail, string adminPassword) { - object[] results = this.Invoke("CreateExchangeOrganization", new object[] { - packageId, - organizationId, - domain, - adminName, - adminEmail, - adminPassword}); - return ((IntResult)(results[0])); - } - - /// - public System.IAsyncResult BeginCreateExchangeOrganization(int packageId, string organizationId, string domain, string adminName, string adminEmail, string adminPassword, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("CreateExchangeOrganization", new object[] { - packageId, - organizationId, - domain, - adminName, - adminEmail, - adminPassword}, callback, asyncState); - } - - /// - public IntResult EndCreateExchangeOrganization(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((IntResult)(results[0])); - } - - /// - public void CreateExchangeOrganizationAsync(int packageId, string organizationId, string domain, string adminName, string adminEmail, string adminPassword) { - this.CreateExchangeOrganizationAsync(packageId, organizationId, domain, adminName, adminEmail, adminPassword, null); - } - - /// - public void CreateExchangeOrganizationAsync(int packageId, string organizationId, string domain, string adminName, string adminEmail, string adminPassword, object userState) { - if ((this.CreateExchangeOrganizationOperationCompleted == null)) { - this.CreateExchangeOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateExchangeOrganizationOperationCompleted); - } - this.InvokeAsync("CreateExchangeOrganization", new object[] { - packageId, - organizationId, - domain, - adminName, - adminEmail, - adminPassword}, this.CreateExchangeOrganizationOperationCompleted, userState); - } - - private void OnCreateExchangeOrganizationOperationCompleted(object arg) { - if ((this.CreateExchangeOrganizationCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.CreateExchangeOrganizationCompleted(this, new CreateExchangeOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetExchangeOrganizationDetails", 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 ExchangeOrganization GetExchangeOrganizationDetails(int itemId) { - object[] results = this.Invoke("GetExchangeOrganizationDetails", new object[] { - itemId}); - return ((ExchangeOrganization)(results[0])); - } - - /// - public System.IAsyncResult BeginGetExchangeOrganizationDetails(int itemId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetExchangeOrganizationDetails", new object[] { - itemId}, callback, asyncState); - } - - /// - public ExchangeOrganization EndGetExchangeOrganizationDetails(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ExchangeOrganization)(results[0])); - } - - /// - public void GetExchangeOrganizationDetailsAsync(int itemId) { - this.GetExchangeOrganizationDetailsAsync(itemId, null); - } - - /// - public void GetExchangeOrganizationDetailsAsync(int itemId, object userState) { - if ((this.GetExchangeOrganizationDetailsOperationCompleted == null)) { - this.GetExchangeOrganizationDetailsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExchangeOrganizationDetailsOperationCompleted); - } - this.InvokeAsync("GetExchangeOrganizationDetails", new object[] { - itemId}, this.GetExchangeOrganizationDetailsOperationCompleted, userState); - } - - private void OnGetExchangeOrganizationDetailsOperationCompleted(object arg) { - if ((this.GetExchangeOrganizationDetailsCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetExchangeOrganizationDetailsCompleted(this, new GetExchangeOrganizationDetailsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetExchangeOrganizationDomains", 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 ExchangeOrganizationDomain[] GetExchangeOrganizationDomains(int itemId) { - object[] results = this.Invoke("GetExchangeOrganizationDomains", new object[] { - itemId}); - return ((ExchangeOrganizationDomain[])(results[0])); - } - - /// - public System.IAsyncResult BeginGetExchangeOrganizationDomains(int itemId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetExchangeOrganizationDomains", new object[] { - itemId}, callback, asyncState); - } - - /// - public ExchangeOrganizationDomain[] EndGetExchangeOrganizationDomains(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ExchangeOrganizationDomain[])(results[0])); - } - - /// - public void GetExchangeOrganizationDomainsAsync(int itemId) { - this.GetExchangeOrganizationDomainsAsync(itemId, null); - } - - /// - public void GetExchangeOrganizationDomainsAsync(int itemId, object userState) { - if ((this.GetExchangeOrganizationDomainsOperationCompleted == null)) { - this.GetExchangeOrganizationDomainsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExchangeOrganizationDomainsOperationCompleted); - } - this.InvokeAsync("GetExchangeOrganizationDomains", new object[] { - itemId}, this.GetExchangeOrganizationDomainsOperationCompleted, userState); - } - - private void OnGetExchangeOrganizationDomainsOperationCompleted(object arg) { - if ((this.GetExchangeOrganizationDomainsCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetExchangeOrganizationDomainsCompleted(this, new GetExchangeOrganizationDomainsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetExchangeOrganizationSummary", 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 string GetExchangeOrganizationSummary(int itemId) { - object[] results = this.Invoke("GetExchangeOrganizationSummary", new object[] { - itemId}); - return ((string)(results[0])); - } - - /// - public System.IAsyncResult BeginGetExchangeOrganizationSummary(int itemId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetExchangeOrganizationSummary", new object[] { - itemId}, callback, asyncState); - } - - /// - public string EndGetExchangeOrganizationSummary(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((string)(results[0])); - } - - /// - public void GetExchangeOrganizationSummaryAsync(int itemId) { - this.GetExchangeOrganizationSummaryAsync(itemId, null); - } - - /// - public void GetExchangeOrganizationSummaryAsync(int itemId, object userState) { - if ((this.GetExchangeOrganizationSummaryOperationCompleted == null)) { - this.GetExchangeOrganizationSummaryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExchangeOrganizationSummaryOperationCompleted); - } - this.InvokeAsync("GetExchangeOrganizationSummary", new object[] { - itemId}, this.GetExchangeOrganizationSummaryOperationCompleted, userState); - } - - private void OnGetExchangeOrganizationSummaryOperationCompleted(object arg) { - if ((this.GetExchangeOrganizationSummaryCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetExchangeOrganizationSummaryCompleted(this, new GetExchangeOrganizationSummaryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SendExchangeOrganizationSummary", 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 ResultObject SendExchangeOrganizationSummary(int itemId, string toEmail) { - object[] results = this.Invoke("SendExchangeOrganizationSummary", new object[] { - itemId, - toEmail}); - return ((ResultObject)(results[0])); - } - - /// - public System.IAsyncResult BeginSendExchangeOrganizationSummary(int itemId, string toEmail, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("SendExchangeOrganizationSummary", new object[] { - itemId, - toEmail}, callback, asyncState); - } - - /// - public ResultObject EndSendExchangeOrganizationSummary(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ResultObject)(results[0])); - } - - /// - public void SendExchangeOrganizationSummaryAsync(int itemId, string toEmail) { - this.SendExchangeOrganizationSummaryAsync(itemId, toEmail, null); - } - - /// - public void SendExchangeOrganizationSummaryAsync(int itemId, string toEmail, object userState) { - if ((this.SendExchangeOrganizationSummaryOperationCompleted == null)) { - this.SendExchangeOrganizationSummaryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSendExchangeOrganizationSummaryOperationCompleted); - } - this.InvokeAsync("SendExchangeOrganizationSummary", new object[] { - itemId, - toEmail}, this.SendExchangeOrganizationSummaryOperationCompleted, userState); - } - - private void OnSendExchangeOrganizationSummaryOperationCompleted(object arg) { - if ((this.SendExchangeOrganizationSummaryCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.SendExchangeOrganizationSummaryCompleted(this, new SendExchangeOrganizationSummaryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddExchangeOrganizationDomain", 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 ResultObject AddExchangeOrganizationDomain(int itemId, string domain) { - object[] results = this.Invoke("AddExchangeOrganizationDomain", new object[] { - itemId, - domain}); - return ((ResultObject)(results[0])); - } - - /// - public System.IAsyncResult BeginAddExchangeOrganizationDomain(int itemId, string domain, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("AddExchangeOrganizationDomain", new object[] { - itemId, - domain}, callback, asyncState); - } - - /// - public ResultObject EndAddExchangeOrganizationDomain(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ResultObject)(results[0])); - } - - /// - public void AddExchangeOrganizationDomainAsync(int itemId, string domain) { - this.AddExchangeOrganizationDomainAsync(itemId, domain, null); - } - - /// - public void AddExchangeOrganizationDomainAsync(int itemId, string domain, object userState) { - if ((this.AddExchangeOrganizationDomainOperationCompleted == null)) { - this.AddExchangeOrganizationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddExchangeOrganizationDomainOperationCompleted); - } - this.InvokeAsync("AddExchangeOrganizationDomain", new object[] { - itemId, - domain}, this.AddExchangeOrganizationDomainOperationCompleted, userState); - } - - private void OnAddExchangeOrganizationDomainOperationCompleted(object arg) { - if ((this.AddExchangeOrganizationDomainCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.AddExchangeOrganizationDomainCompleted(this, new AddExchangeOrganizationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteExchangeOrganizationDomain", 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 ResultObject DeleteExchangeOrganizationDomain(int itemId, string domain) { - object[] results = this.Invoke("DeleteExchangeOrganizationDomain", new object[] { - itemId, - domain}); - return ((ResultObject)(results[0])); - } - - /// - public System.IAsyncResult BeginDeleteExchangeOrganizationDomain(int itemId, string domain, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("DeleteExchangeOrganizationDomain", new object[] { - itemId, - domain}, callback, asyncState); - } - - /// - public ResultObject EndDeleteExchangeOrganizationDomain(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ResultObject)(results[0])); - } - - /// - public void DeleteExchangeOrganizationDomainAsync(int itemId, string domain) { - this.DeleteExchangeOrganizationDomainAsync(itemId, domain, null); - } - - /// - public void DeleteExchangeOrganizationDomainAsync(int itemId, string domain, object userState) { - if ((this.DeleteExchangeOrganizationDomainOperationCompleted == null)) { - this.DeleteExchangeOrganizationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteExchangeOrganizationDomainOperationCompleted); - } - this.InvokeAsync("DeleteExchangeOrganizationDomain", new object[] { - itemId, - domain}, this.DeleteExchangeOrganizationDomainOperationCompleted, userState); - } - - private void OnDeleteExchangeOrganizationDomainOperationCompleted(object arg) { - if ((this.DeleteExchangeOrganizationDomainCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.DeleteExchangeOrganizationDomainCompleted(this, new DeleteExchangeOrganizationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateExchangeOrganizationQuotas", 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 ResultObject UpdateExchangeOrganizationQuotas(int itemId, int mailboxesNumber, int contactsNumber, int distributionListsNumber) { - object[] results = this.Invoke("UpdateExchangeOrganizationQuotas", new object[] { - itemId, - mailboxesNumber, - contactsNumber, - distributionListsNumber}); - return ((ResultObject)(results[0])); - } - - /// - public System.IAsyncResult BeginUpdateExchangeOrganizationQuotas(int itemId, int mailboxesNumber, int contactsNumber, int distributionListsNumber, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("UpdateExchangeOrganizationQuotas", new object[] { - itemId, - mailboxesNumber, - contactsNumber, - distributionListsNumber}, callback, asyncState); - } - - /// - public ResultObject EndUpdateExchangeOrganizationQuotas(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ResultObject)(results[0])); - } - - /// - public void UpdateExchangeOrganizationQuotasAsync(int itemId, int mailboxesNumber, int contactsNumber, int distributionListsNumber) { - this.UpdateExchangeOrganizationQuotasAsync(itemId, mailboxesNumber, contactsNumber, distributionListsNumber, null); - } - - /// - public void UpdateExchangeOrganizationQuotasAsync(int itemId, int mailboxesNumber, int contactsNumber, int distributionListsNumber, object userState) { - if ((this.UpdateExchangeOrganizationQuotasOperationCompleted == null)) { - this.UpdateExchangeOrganizationQuotasOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateExchangeOrganizationQuotasOperationCompleted); - } - this.InvokeAsync("UpdateExchangeOrganizationQuotas", new object[] { - itemId, - mailboxesNumber, - contactsNumber, - distributionListsNumber}, this.UpdateExchangeOrganizationQuotasOperationCompleted, userState); - } - - private void OnUpdateExchangeOrganizationQuotasOperationCompleted(object arg) { - if ((this.UpdateExchangeOrganizationQuotasCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.UpdateExchangeOrganizationQuotasCompleted(this, new UpdateExchangeOrganizationQuotasCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateExchangeOrganizationCatchAllAd" + - "dress", 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 ResultObject UpdateExchangeOrganizationCatchAllAddress(int itemId, string catchAllEmail) { - object[] results = this.Invoke("UpdateExchangeOrganizationCatchAllAddress", new object[] { - itemId, - catchAllEmail}); - return ((ResultObject)(results[0])); - } - - /// - public System.IAsyncResult BeginUpdateExchangeOrganizationCatchAllAddress(int itemId, string catchAllEmail, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("UpdateExchangeOrganizationCatchAllAddress", new object[] { - itemId, - catchAllEmail}, callback, asyncState); - } - - /// - public ResultObject EndUpdateExchangeOrganizationCatchAllAddress(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ResultObject)(results[0])); - } - - /// - public void UpdateExchangeOrganizationCatchAllAddressAsync(int itemId, string catchAllEmail) { - this.UpdateExchangeOrganizationCatchAllAddressAsync(itemId, catchAllEmail, null); - } - - /// - public void UpdateExchangeOrganizationCatchAllAddressAsync(int itemId, string catchAllEmail, object userState) { - if ((this.UpdateExchangeOrganizationCatchAllAddressOperationCompleted == null)) { - this.UpdateExchangeOrganizationCatchAllAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateExchangeOrganizationCatchAllAddressOperationCompleted); - } - this.InvokeAsync("UpdateExchangeOrganizationCatchAllAddress", new object[] { - itemId, - catchAllEmail}, this.UpdateExchangeOrganizationCatchAllAddressOperationCompleted, userState); - } - - private void OnUpdateExchangeOrganizationCatchAllAddressOperationCompleted(object arg) { - if ((this.UpdateExchangeOrganizationCatchAllAddressCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.UpdateExchangeOrganizationCatchAllAddressCompleted(this, new UpdateExchangeOrganizationCatchAllAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/UpdateExchangeOrganizationServicePla" + - "n", 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 ResultObject UpdateExchangeOrganizationServicePlan(int itemId, int newServiceId) { - object[] results = this.Invoke("UpdateExchangeOrganizationServicePlan", new object[] { - itemId, - newServiceId}); - return ((ResultObject)(results[0])); - } - - /// - public System.IAsyncResult BeginUpdateExchangeOrganizationServicePlan(int itemId, int newServiceId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("UpdateExchangeOrganizationServicePlan", new object[] { - itemId, - newServiceId}, callback, asyncState); - } - - /// - public ResultObject EndUpdateExchangeOrganizationServicePlan(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ResultObject)(results[0])); - } - - /// - public void UpdateExchangeOrganizationServicePlanAsync(int itemId, int newServiceId) { - this.UpdateExchangeOrganizationServicePlanAsync(itemId, newServiceId, null); - } - - /// - public void UpdateExchangeOrganizationServicePlanAsync(int itemId, int newServiceId, object userState) { - if ((this.UpdateExchangeOrganizationServicePlanOperationCompleted == null)) { - this.UpdateExchangeOrganizationServicePlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateExchangeOrganizationServicePlanOperationCompleted); - } - this.InvokeAsync("UpdateExchangeOrganizationServicePlan", new object[] { - itemId, - newServiceId}, this.UpdateExchangeOrganizationServicePlanOperationCompleted, userState); - } - - private void OnUpdateExchangeOrganizationServicePlanOperationCompleted(object arg) { - if ((this.UpdateExchangeOrganizationServicePlanCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.UpdateExchangeOrganizationServicePlanCompleted(this, new UpdateExchangeOrganizationServicePlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteExchangeOrganization", 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 ResultObject DeleteExchangeOrganization(int itemId) { - object[] results = this.Invoke("DeleteExchangeOrganization", new object[] { - itemId}); - return ((ResultObject)(results[0])); - } - - /// - public System.IAsyncResult BeginDeleteExchangeOrganization(int itemId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("DeleteExchangeOrganization", new object[] { - itemId}, callback, asyncState); - } - - /// - public ResultObject EndDeleteExchangeOrganization(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ResultObject)(results[0])); - } - - /// - public void DeleteExchangeOrganizationAsync(int itemId) { - this.DeleteExchangeOrganizationAsync(itemId, null); - } - - /// - public void DeleteExchangeOrganizationAsync(int itemId, object userState) { - if ((this.DeleteExchangeOrganizationOperationCompleted == null)) { - this.DeleteExchangeOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteExchangeOrganizationOperationCompleted); - } - this.InvokeAsync("DeleteExchangeOrganization", new object[] { - itemId}, this.DeleteExchangeOrganizationOperationCompleted, userState); - } - - private void OnDeleteExchangeOrganizationOperationCompleted(object arg) { - if ((this.DeleteExchangeOrganizationCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.DeleteExchangeOrganizationCompleted(this, new DeleteExchangeOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - public new void CancelAsync(object userState) { - base.CancelAsync(userState); - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GetOrganizationsCompletedEventHandler(object sender, GetOrganizationsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetOrganizationsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetOrganizationsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeOrganization[] Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeOrganization[])(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void CreateExchangeOrganizationCompletedEventHandler(object sender, CreateExchangeOrganizationCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class CreateExchangeOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal CreateExchangeOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public IntResult Result { - get { - this.RaiseExceptionIfNecessary(); - return ((IntResult)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GetExchangeOrganizationDetailsCompletedEventHandler(object sender, GetExchangeOrganizationDetailsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetExchangeOrganizationDetailsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetExchangeOrganizationDetailsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeOrganization Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeOrganization)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GetExchangeOrganizationDomainsCompletedEventHandler(object sender, GetExchangeOrganizationDomainsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetExchangeOrganizationDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetExchangeOrganizationDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeOrganizationDomain[] Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeOrganizationDomain[])(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GetExchangeOrganizationSummaryCompletedEventHandler(object sender, GetExchangeOrganizationSummaryCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetExchangeOrganizationSummaryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetExchangeOrganizationSummaryCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public string Result { - get { - this.RaiseExceptionIfNecessary(); - return ((string)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void SendExchangeOrganizationSummaryCompletedEventHandler(object sender, SendExchangeOrganizationSummaryCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SendExchangeOrganizationSummaryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SendExchangeOrganizationSummaryCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ResultObject Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ResultObject)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void AddExchangeOrganizationDomainCompletedEventHandler(object sender, AddExchangeOrganizationDomainCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddExchangeOrganizationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal AddExchangeOrganizationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ResultObject Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ResultObject)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void DeleteExchangeOrganizationDomainCompletedEventHandler(object sender, DeleteExchangeOrganizationDomainCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteExchangeOrganizationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal DeleteExchangeOrganizationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ResultObject Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ResultObject)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void UpdateExchangeOrganizationQuotasCompletedEventHandler(object sender, UpdateExchangeOrganizationQuotasCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class UpdateExchangeOrganizationQuotasCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal UpdateExchangeOrganizationQuotasCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ResultObject Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ResultObject)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void UpdateExchangeOrganizationCatchAllAddressCompletedEventHandler(object sender, UpdateExchangeOrganizationCatchAllAddressCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class UpdateExchangeOrganizationCatchAllAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal UpdateExchangeOrganizationCatchAllAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ResultObject Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ResultObject)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void UpdateExchangeOrganizationServicePlanCompletedEventHandler(object sender, UpdateExchangeOrganizationServicePlanCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class UpdateExchangeOrganizationServicePlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal UpdateExchangeOrganizationServicePlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ResultObject Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ResultObject)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void DeleteExchangeOrganizationCompletedEventHandler(object sender, DeleteExchangeOrganizationCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteExchangeOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal DeleteExchangeOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ResultObject Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ResultObject)(this.results[0])); - } - } - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj index 57eb796c..dfd4d020 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj @@ -93,7 +93,6 @@ - diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeHostedEdition/ExchangeHostedEditionController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeHostedEdition/ExchangeHostedEditionController.cs deleted file mode 100644 index 0fb1f80f..00000000 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeHostedEdition/ExchangeHostedEditionController.cs +++ /dev/null @@ -1,896 +0,0 @@ -// 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. - -using System; -using System.Collections.Generic; -using System.Web; -using WebsitePanel.Providers.ExchangeHostedEdition; -using WebsitePanel.Providers.ResultObjects; -using WebsitePanel.Providers.Common; -using WebsitePanel.Providers; -using System.Collections.Specialized; -using System.Collections; -using System.Net.Mail; - -namespace WebsitePanel.EnterpriseServer -{ - public class ExchangeHostedEditionController - { - // messages - public const string GeneralError = "GeneralError"; - public const string ExchangeServiceNotEnabledError = "ExchangeServiceNotEnabledError"; - public const string ProgramIdIsNotSetError = "ProgramIdIsNotSetError"; - public const string OfferIdIsNotSetError = "OfferIdIsNotSetError"; - public const string CreateOrganizationError = "CreateOrganizationError"; - public const string OrganizationNotFoundError = "OrganizationNotFoundError"; - public const string SendOrganizationSummaryError = "SendOrganizationSummaryError"; - public const string SendOrganizationTemplateNotSetError = "SendOrganizationTemplateNotSetError"; - public const string AddDomainError = "AddDomainError"; - public const string AddDomainQuotaExceededError = "AddDomainQuotaExceededError"; - public const string AddDomainExistsError = "AddDomainExistsError"; - public const string AddDomainAlreadyUsedError = "AddDomainAlreadyUsedError"; - public const string DeleteDomainError = "DeleteDomainError"; - public const string UpdateQuotasError = "UpdateQuotasError"; - public const string UpdateQuotasWrongQuotaError = "UpdateQuotasWrongQuotaError"; - public const string UpdateCatchAllError = "UpdateCatchAllError"; - public const string UpdateServicePlanError = "UpdateServicePlanError"; - public const string DeleteOrganizationError = "DeleteOrganizationError"; - - public const string TempDomainSetting = "temporaryDomain"; - public const string ExchangeControlPanelUrlSetting = "ecpURL"; - - // other constants - public const string TaskManagerSource = "ExchangeHostedEdition"; - - public static IntResult CreateOrganization(int packageId, string organizationId, - string domain, string adminName, string adminEmail, string adminPassword) - { - IntResult result = new IntResult(); - result.IsSuccess = true; - - try - { - // initialize task manager - TaskManager.StartTask(TaskManagerSource, "CREATE_ORGANIZATION"); - TaskManager.WriteParameter("packageId", packageId); - TaskManager.WriteParameter("organizationId", organizationId); - TaskManager.WriteParameter("domain", domain); - TaskManager.WriteParameter("adminName", adminName); - TaskManager.WriteParameter("adminEmail", adminEmail); - TaskManager.WriteParameter("adminPassword", adminPassword); - - // get Exchange service ID - int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.ExchangeHostedEdition); - if(serviceId < 1) - return Error(ExchangeServiceNotEnabledError); - - #region Check Space and Account - // Check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) - return Warning((-accountCheck).ToString()); - - // Check space - int packageCheck = SecurityContext.CheckPackage(packageId, DemandPackage.IsActive); - if (packageCheck < 0) - return Warning((-packageCheck).ToString()); - #endregion - - // get Exchange service - ExchangeServerHostedEdition exchange = GetExchangeService(serviceId); - - // load service settings to know ProgramID, OfferID - StringDictionary serviceSettings = ServerController.GetServiceSettings(serviceId); - string programId = serviceSettings["programID"]; - string offerId = serviceSettings["offerID"]; - - // check settings - if(String.IsNullOrEmpty(programId)) - result.ErrorCodes.Add(ProgramIdIsNotSetError); - if (String.IsNullOrEmpty(offerId)) - result.ErrorCodes.Add(OfferIdIsNotSetError); - - if (result.ErrorCodes.Count > 0) - { - result.IsSuccess = false; - return result; - } - - #region Create organization - int itemId = -1; - ExchangeOrganization org = null; - try - { - // create organization - exchange.CreateOrganization(organizationId, programId, offerId, domain, adminName, adminEmail, adminPassword); - - // save item into meta-base - org = new ExchangeOrganization(); - org.Name = organizationId; - org.PackageId = packageId; - org.ServiceId = serviceId; - itemId = PackageController.AddPackageItem(org); - } - catch (Exception ex) - { - // log error - TaskManager.WriteError(ex); - return Error(CreateOrganizationError); - } - #endregion - - #region Update organization quotas - // update max org quotas - UpdateOrganizationQuotas(org); - - // override quotas - ResultObject quotasResult = ExchangeHostedEditionController.UpdateOrganizationQuotas(itemId, - org.MaxMailboxCountQuota, - org.MaxContactCountQuota, - org.MaxDistributionListCountQuota); - - if (!quotasResult.IsSuccess) - return Error(quotasResult, CreateOrganizationError); - #endregion - - #region Add temporary domain - // load settings - PackageSettings settings = GetExchangePackageSettings(org); - string tempDomainTemplate = settings[TempDomainSetting]; - if (!String.IsNullOrEmpty(tempDomainTemplate)) - { - // add temp domain - string tempDomain = String.Format("{0}.{1}", domain, tempDomainTemplate); - AddOrganizationDomain(itemId, tempDomain); - } - - #endregion - - result.Value = itemId; - return result; - } - catch (Exception ex) - { - // log error - TaskManager.WriteError(ex); - - // exit with error code - return Error(GeneralError, ex.Message); - } - finally - { - TaskManager.CompleteTask(); - } - } - - public static List GetOrganizations(int packageId) - { - List items = PackageController.GetPackageItemsByType( - packageId, typeof(ExchangeOrganization), false); - - return items.ConvertAll(i => { return (ExchangeOrganization)i; }); - } - - public static ExchangeOrganization GetOrganizationDetails(int itemId) - { - // load organization item - ExchangeOrganization item = PackageController.GetPackageItem(itemId) as ExchangeOrganization; - if (item == null) - return null; // organization item not found - - // get Exchange service - ExchangeServerHostedEdition exchange = GetExchangeService(item.ServiceId); - - // get organization details - ExchangeOrganization org = exchange.GetOrganizationDetails(item.Name); - - //ExchangeOrganization org = new ExchangeOrganization - //{ - // Id = item.Id, - // PackageId = item.PackageId, - // ServiceId = item.ServiceId, - // Name = item.Name, - // AdministratorEmail = "admin@email.com", - // AdministratorName = "Administrator Mailbox", - // CatchAllAddress = "", - // ContactCount = 1, - // ContactCountQuota = 2, - // MaxContactCountQuota = 3, - // DistinguishedName = "DN=....", - // DistributionListCount = 2, - // DistributionListCountQuota = 3, - // MaxDistributionListCountQuota = 3, - // MaxDomainsCountQuota = 4, - // ExchangeControlPanelUrl = "http://ecp.domain.com", - // MailboxCount = 3, - // MailboxCountQuota = 4, - // MaxMailboxCountQuota = 4, - // ProgramId = "HostedExchange", - // OfferId = "2", - // ServicePlan = "HostedExchange_Basic", - // Domains = GetOrganizationDomains(item.Id).ToArray() - //}; - - // update item props - org.Id = item.Id; - org.PackageId = item.PackageId; - org.ServiceId = item.ServiceId; - org.Name = item.Name; - org.CatchAllAddress = item.CatchAllAddress; - - // update max quotas - UpdateOrganizationQuotas(org); - - // process summary information - org.SummaryInformation = GetExchangeOrganizationSummary(org); - - // process domains - PackageSettings settings = GetExchangePackageSettings(org); - if(settings != null) - { - // get settings - string tempDomain = settings[TempDomainSetting]; - string ecpUrl = settings[ExchangeControlPanelUrlSetting]; - - // iterate through domains - foreach (ExchangeOrganizationDomain domain in org.Domains) - { - if (tempDomain != null && domain.Name.EndsWith("." + tempDomain, StringComparison.InvariantCultureIgnoreCase)) - domain.IsTemp = true; - if (domain.IsDefault && ecpUrl != null) - org.ExchangeControlPanelUrl = Utils.ReplaceStringVariable(ecpUrl, "domain_name", domain.Name); - } - } - - // return org - return org; - } - - public static void UpdateOrganizationQuotas(ExchangeOrganization org) - { - // load default package quotas - PackageContext cntx = PackageController.GetPackageContext(org.PackageId); - if (!cntx.Groups.ContainsKey(ResourceGroups.ExchangeHostedEdition)) - return; - - org.MaxMailboxCountQuota = cntx.Quotas[Quotas.EXCHANGEHOSTEDEDITION_MAILBOXES].QuotaAllocatedValue; - org.MaxContactCountQuota = cntx.Quotas[Quotas.EXCHANGEHOSTEDEDITION_CONTACTS].QuotaAllocatedValue; - org.MaxDistributionListCountQuota = cntx.Quotas[Quotas.EXCHANGEHOSTEDEDITION_DISTRIBUTIONLISTS].QuotaAllocatedValue; - org.MaxDomainsCountQuota = cntx.Quotas[Quotas.EXCHANGEHOSTEDEDITION_DOMAINS].QuotaAllocatedValue; - } - - public static List GetOrganizationDomains(int itemId) - { - // load organization item - ExchangeOrganization item = PackageController.GetPackageItem(itemId) as ExchangeOrganization; - if (item == null) - return null; // organization item not found - - // get Exchange service - ExchangeServerHostedEdition exchange = GetExchangeService(item.ServiceId); - - // get organization domains - List domains = new List(); - domains.AddRange(exchange.GetOrganizationDomains(item.Name)); - return domains; - - //return new List - //{ - // new ExchangeOrganizationDomain { Identity = "org101\\domain1.com", Name = "domain1.com", IsDefault = true, IsTemp = false }, - // new ExchangeOrganizationDomain { Identity = "org101\\org101.tempdomain.com", Name = "org101.tempdomain.com", IsDefault = false, IsTemp = true }, - // new ExchangeOrganizationDomain { Identity = "org101\\myseconddomain.com", Name = "myseconddomain.com", IsDefault = false, IsTemp = false } - //}; - } - - public static string GetExchangeOrganizationSummary(int itemId) - { - // load organization details - ExchangeOrganization org = GetOrganizationDetails(itemId); - if (org == null) - return null; // organization not found - - return GetExchangeOrganizationSummary(org); - } - - private static string GetExchangeOrganizationSummary(ExchangeOrganization org) - { - // evaluate template - MailTemplate template = EvaluateOrganizationSummaryTemplate(org); - if (template == null || template.Body == null) - return null; - - return template.IsHtml ? template.Body : template.Body.Replace("\n", "
    "); - } - - private static MailTemplate EvaluateOrganizationSummaryTemplate(ExchangeOrganization org) - { - #region create template context - Hashtable items = new Hashtable(); - - // add organization - items["org"] = org; - - // add package information - PackageInfo space = PackageController.GetPackage(org.PackageId); - items["space"] = space; - - // add user information - UserInfo user = UserController.GetUser(space.UserId); - items["user"] = user; - #endregion - - #region load template - // load template settings - UserSettings settings = UserController.GetUserSettings(user.UserId, UserSettings.EXCHANGE_HOSTED_EDITION_ORGANIZATION_SUMMARY); - if(settings == null) - return null; - - // create template - MailTemplate template = new MailTemplate(); - - // from - template.From = settings["From"]; - - // BCC - template.Bcc = settings["CC"]; - - // subject - template.Subject = settings["Subject"]; - - // body - template.IsHtml = user.HtmlMail; - string bodySetting = template.IsHtml ? "HtmlBody" : "TextBody"; - template.Body = settings[bodySetting]; - - // priority - string priority = settings["Priority"]; - template.Priority = String.IsNullOrEmpty(priority) - ? MailPriority.Normal - : (MailPriority)Enum.Parse(typeof(MailPriority), priority, true); - #endregion - - #region evaluate template - if(template.Subject != null) - template.Subject = PackageController.EvaluateTemplate(template.Subject, items); - - if(template.Body != null) - template.Body = PackageController.EvaluateTemplate(template.Body, items); - #endregion - - return template; - } - - private static PackageSettings GetExchangePackageSettings(ExchangeOrganization org) - { - // load package settings - return PackageController.GetPackageSettings(org.PackageId, PackageSettings.EXCHANGE_HOSTED_EDITION); - } - - public static ResultObject SendExchangeOrganizationSummary(int itemId, string toEmail) - { - ResultObject result = new ResultObject(); - result.IsSuccess = true; - - try - { - // initialize task manager - TaskManager.StartTask(TaskManagerSource, "SEND_SUMMARY"); - TaskManager.WriteParameter("Item ID", itemId); - TaskManager.WriteParameter("To e-mail", toEmail); - - // load organization item - ExchangeOrganization item = PackageController.GetPackageItem(itemId) as ExchangeOrganization; - if (item == null) - return Error(OrganizationNotFoundError); - - #region Check Space and Account - // Check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) - return Warning((-accountCheck).ToString()); - - // Check space - int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) - return Warning((-packageCheck).ToString()); - #endregion - - // load organization details - ExchangeOrganization org = GetOrganizationDetails(item.Id); - if(org == null) - return Error(OrganizationNotFoundError); - - // get evaluated summary information - MailTemplate msg = EvaluateOrganizationSummaryTemplate(org); - if (msg == null) - return Error(SendOrganizationTemplateNotSetError); - - // send message - int sendResult = MailHelper.SendMessage(msg.From, toEmail, msg.Bcc, msg.Subject, msg.Body, msg.Priority, msg.IsHtml); - if (sendResult < 0) - return Error((-sendResult).ToString()); - - return result; - } - catch (Exception ex) - { - // log error - TaskManager.WriteError(ex); - - // exit with error code - return Error(SendOrganizationSummaryError, ex.Message); - } - finally - { - TaskManager.CompleteTask(); - } - } - - public static ResultObject AddOrganizationDomain(int itemId, string domainName) - { - ResultObject result = new ResultObject(); - result.IsSuccess = true; - - try - { - // initialize task manager - TaskManager.StartTask(TaskManagerSource, "ADD_DOMAIN"); - TaskManager.WriteParameter("itemId", itemId); - TaskManager.WriteParameter("domain", domainName); - - // load organization item - ExchangeOrganization item = PackageController.GetPackageItem(itemId) as ExchangeOrganization; - if (item == null) - return Error(OrganizationNotFoundError); - - #region Check Space and Account - // Check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) - return Warning((-accountCheck).ToString()); - - // Check space - int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) - return Warning((-packageCheck).ToString()); - #endregion - - // get organization details - ExchangeOrganization org = GetOrganizationDetails(item.Id); - if (org == null) - return Error(OrganizationNotFoundError); - - // check domains quota - if(org.MaxDomainsCountQuota > -1 && org.Domains.Length >= org.MaxDomainsCountQuota) - return Error(AddDomainQuotaExceededError); - - // check if the domain already exists - DomainInfo domain = null; - int checkResult = ServerController.CheckDomain(domainName); - if (checkResult == BusinessErrorCodes.ERROR_DOMAIN_ALREADY_EXISTS) - { - // domain exists - // check if it belongs to the same space - domain = ServerController.GetDomain(domainName); - if (domain == null) - return Error((-checkResult).ToString()); - - if (domain.PackageId != org.PackageId) - return Error((-checkResult).ToString()); - - // check if domain is already used in this organization - foreach (ExchangeOrganizationDomain orgDomain in org.Domains) - { - if(String.Equals(orgDomain.Name, domainName, StringComparison.InvariantCultureIgnoreCase)) - return Error(AddDomainAlreadyUsedError); - } - } - else if (checkResult == BusinessErrorCodes.ERROR_RESTRICTED_DOMAIN) - { - return Error((-checkResult).ToString()); - } - - // create domain if required - if (domain == null) - { - domain = new DomainInfo(); - domain.PackageId = org.PackageId; - domain.DomainName = domainName; - domain.IsInstantAlias = false; - domain.IsSubDomain = false; - - int domainId = ServerController.AddDomain(domain); - if (domainId < 0) - return Error((-domainId).ToString()); - - // add domain - domain.DomainId = domainId; - } - - // get Exchange service - ExchangeServerHostedEdition exchange = GetExchangeService(item.ServiceId); - - // add domain - exchange.AddOrganizationDomain(item.Name, domainName); - - return result; - } - catch (Exception ex) - { - // log error - TaskManager.WriteError(ex); - - // exit with error code - return Error(AddDomainError, ex.Message); - } - finally - { - TaskManager.CompleteTask(); - } - } - - public static ResultObject DeleteOrganizationDomain(int itemId, string domainName) - { - ResultObject result = new ResultObject(); - result.IsSuccess = true; - - try - { - // initialize task manager - TaskManager.StartTask(TaskManagerSource, "DELETE_DOMAIN"); - TaskManager.WriteParameter("itemId", itemId); - TaskManager.WriteParameter("domain", domainName); - - // load organization item - ExchangeOrganization item = PackageController.GetPackageItem(itemId) as ExchangeOrganization; - if (item == null) - return Error(OrganizationNotFoundError); - - #region Check Space and Account - // Check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) - return Warning((-accountCheck).ToString()); - - // Check space - int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) - return Warning((-packageCheck).ToString()); - #endregion - - // get Exchange service - ExchangeServerHostedEdition exchange = GetExchangeService(item.ServiceId); - - // delete domain - exchange.DeleteOrganizationDomain(item.Name, domainName); - - return result; - } - catch (Exception ex) - { - // log error - TaskManager.WriteError(ex); - - // exit with error code - return Error(DeleteDomainError, ex.Message); - } - finally - { - TaskManager.CompleteTask(); - } - } - - public static ResultObject UpdateOrganizationQuotas(int itemId, int mailboxesNumber, int contactsNumber, int distributionListsNumber) - { - ResultObject result = new ResultObject(); - result.IsSuccess = true; - - try - { - // initialize task manager - TaskManager.StartTask(TaskManagerSource, "UPDATE_QUOTAS"); - TaskManager.WriteParameter("itemId", itemId); - TaskManager.WriteParameter("mailboxesNumber", mailboxesNumber); - TaskManager.WriteParameter("contactsNumber", contactsNumber); - TaskManager.WriteParameter("distributionListsNumber", distributionListsNumber); - - // load organization item - ExchangeOrganization item = PackageController.GetPackageItem(itemId) as ExchangeOrganization; - if (item == null) - return Error(OrganizationNotFoundError); - - #region Check Space and Account - // Check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) - return Warning((-accountCheck).ToString()); - - // Check space - int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) - return Warning((-packageCheck).ToString()); - #endregion - - // check quotas - UpdateOrganizationQuotas(item); - - if(item.MaxMailboxCountQuota > -1 && mailboxesNumber > item.MaxMailboxCountQuota) - return Error(UpdateQuotasWrongQuotaError); - if (item.MaxContactCountQuota > -1 && contactsNumber > item.MaxContactCountQuota) - return Error(UpdateQuotasWrongQuotaError); - if (item.MaxDistributionListCountQuota > -1 && distributionListsNumber > item.MaxDistributionListCountQuota) - return Error(UpdateQuotasWrongQuotaError); - - // get Exchange service - ExchangeServerHostedEdition exchange = GetExchangeService(item.ServiceId); - - // update quotas - exchange.UpdateOrganizationQuotas(item.Name, mailboxesNumber, contactsNumber, distributionListsNumber); - - return result; - } - catch (Exception ex) - { - // log error - TaskManager.WriteError(ex); - - // exit with error code - return Error(UpdateQuotasError, ex.Message); - } - finally - { - TaskManager.CompleteTask(); - } - } - - public static ResultObject UpdateOrganizationCatchAllAddress(int itemId, string catchAllEmail) - { - ResultObject result = new ResultObject(); - result.IsSuccess = true; - - try - { - // initialize task manager - TaskManager.StartTask(TaskManagerSource, "UPDATE_CATCHALL"); - TaskManager.WriteParameter("itemId", itemId); - TaskManager.WriteParameter("catchAllEmail", catchAllEmail); - - // load organization item - ExchangeOrganization item = PackageController.GetPackageItem(itemId) as ExchangeOrganization; - if (item == null) - return Error(OrganizationNotFoundError); - - #region Check Space and Account - // Check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) - return Warning((-accountCheck).ToString()); - - // Check space - int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) - return Warning((-packageCheck).ToString()); - #endregion - - // get Exchange service - ExchangeServerHostedEdition exchange = GetExchangeService(item.ServiceId); - - // update catch-all - exchange.UpdateOrganizationCatchAllAddress(item.Name, catchAllEmail); - - // save new catch-all in the item - item.CatchAllAddress = catchAllEmail; - PackageController.UpdatePackageItem(item); - - return result; - } - catch (Exception ex) - { - // log error - TaskManager.WriteError(ex); - - // exit with error code - return Error(UpdateCatchAllError, ex.Message); - } - finally - { - TaskManager.CompleteTask(); - } - } - - public static ResultObject UpdateOrganizationServicePlan(int itemId, int newServiceId) - { - ResultObject result = new ResultObject(); - result.IsSuccess = true; - - try - { - // initialize task manager - TaskManager.StartTask(TaskManagerSource, "UPDATE_SERVICE"); - TaskManager.WriteParameter("itemId", itemId); - TaskManager.WriteParameter("newServiceId", newServiceId); - - // load organization item - ExchangeOrganization item = PackageController.GetPackageItem(itemId) as ExchangeOrganization; - if (item == null) - return Error(OrganizationNotFoundError); - - #region Check Space and Account - // Check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsAdmin | DemandAccount.IsActive); - if (accountCheck < 0) - return Warning((-accountCheck).ToString()); - - // Check space - int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) - return Warning((-packageCheck).ToString()); - #endregion - - // get Exchange service - ExchangeServerHostedEdition exchange = GetExchangeService(item.ServiceId); - - // load service settings to know ProgramID, OfferID - StringDictionary serviceSettings = ServerController.GetServiceSettings(newServiceId); - string programId = serviceSettings["programID"]; - string offerId = serviceSettings["offerID"]; - - // check settings - if(String.IsNullOrEmpty(programId)) - result.ErrorCodes.Add(ProgramIdIsNotSetError); - if (String.IsNullOrEmpty(offerId)) - result.ErrorCodes.Add(OfferIdIsNotSetError); - - // update service plan - exchange.UpdateOrganizationServicePlan(item.Name, programId, offerId); - - // move item between services - int moveResult = PackageController.MovePackageItem(itemId, newServiceId); - if (moveResult < 0) - return Error((-moveResult).ToString()); - - return result; - } - catch (Exception ex) - { - // log error - TaskManager.WriteError(ex); - - // exit with error code - return Error(UpdateServicePlanError, ex.Message); - } - finally - { - TaskManager.CompleteTask(); - } - } - - public static ResultObject DeleteOrganization(int itemId) - { - ResultObject result = new ResultObject(); - result.IsSuccess = true; - - try - { - // initialize task manager - TaskManager.StartTask(TaskManagerSource, "DELETE_ORGANIZATION"); - TaskManager.WriteParameter("itemId", itemId); - - // load organization item - ExchangeOrganization item = PackageController.GetPackageItem(itemId) as ExchangeOrganization; - if (item == null) - return Error(OrganizationNotFoundError); - - #region Check Space and Account - // Check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) - return Warning((-accountCheck).ToString()); - - // Check space - int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) - return Warning((-packageCheck).ToString()); - #endregion - - // get Exchange service - ExchangeServerHostedEdition exchange = GetExchangeService(item.ServiceId); - - // delete organization - exchange.DeleteOrganization(item.Name); - - // delete meta-item - PackageController.DeletePackageItem(itemId); - - return result; - } - catch (Exception ex) - { - // log error - TaskManager.WriteError(ex); - - // exit with error code - return Error(DeleteOrganizationError, ex.Message); - } - finally - { - TaskManager.CompleteTask(); - } - } - - #region Private helpers - public static ExchangeServerHostedEdition GetExchangeService(int serviceId) - { - ExchangeServerHostedEdition ws = new ExchangeServerHostedEdition(); - ServiceProviderProxy.Init(ws, serviceId); - return ws; - } - #endregion - - #region Result object routines - private static T Warning(params string[] messageParts) - { - return Warning(null, messageParts); - } - - private static T Warning(ResultObject innerResult, params string[] messageParts) - { - return Result(innerResult, false, messageParts); - } - - private static T Error(params string[] messageParts) - { - return Error(null, messageParts); - } - - private static T Error(ResultObject innerResult, params string[] messageParts) - { - return Result(innerResult, true, messageParts); - } - - private static T Result(ResultObject innerResult, bool isError, params string[] messageParts) - { - object obj = Activator.CreateInstance(); - ResultObject result = (ResultObject)obj; - - // set error - result.IsSuccess = !isError; - - // add message - if (messageParts != null) - result.ErrorCodes.Add(String.Join(":", messageParts)); - - // copy errors from inner result - if (innerResult != null) - result.ErrorCodes.AddRange(innerResult.ErrorCodes); - - return (T)obj; - } - #endregion - } -} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs index c4d60460..baf64911 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs @@ -1521,19 +1521,6 @@ namespace WebsitePanel.EnterpriseServer } } - // Exchange Hosted Edition - else if (String.Compare(PackageSettings.EXCHANGE_HOSTED_EDITION, settingsName, true) == 0) - { - // load Exchange service settings - int exchServiceId = GetPackageServiceId(packageId, ResourceGroups.ExchangeHostedEdition); - if (exchServiceId > 0) - { - StringDictionary exchSettings = ServerController.GetServiceSettings(exchServiceId); - settings["temporaryDomain"] = exchSettings["temporaryDomain"]; - settings["ecpURL"] = exchSettings["ecpURL"]; - } - } - // VPS else if (String.Compare(PackageSettings.VIRTUAL_PRIVATE_SERVERS, settingsName, true) == 0) { diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj index cae3c3b8..a2556f80 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj @@ -89,7 +89,6 @@ - @@ -164,7 +163,6 @@ - @@ -292,10 +290,6 @@ esDatabaseServers.asmx Component - - esExchangeHostedEdition.asmx - Component - esExchangeServer.asmx Component diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeHostedEdition.asmx b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeHostedEdition.asmx deleted file mode 100644 index e6c85aa8..00000000 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeHostedEdition.asmx +++ /dev/null @@ -1 +0,0 @@ -<%@ WebService Language="C#" CodeBehind="esExchangeHostedEdition.asmx.cs" Class="WebsitePanel.EnterpriseServer.esExchangeHostedEdition" %> diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeHostedEdition.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeHostedEdition.asmx.cs deleted file mode 100644 index 300f93b9..00000000 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeHostedEdition.asmx.cs +++ /dev/null @@ -1,95 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Web; -using System.Web.Services; -using Microsoft.Web.Services3; -using System.ComponentModel; -using WebsitePanel.Providers.ExchangeHostedEdition; -using WebsitePanel.Providers.Common; -using WebsitePanel.Providers.ResultObjects; - -namespace WebsitePanel.EnterpriseServer -{ - /// - /// Summary description for esExchangeHostedEdition - /// - [WebService(Namespace = "http://smbsaas/websitepanel/enterpriseserver")] - [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] - [Policy("ServerPolicy")] - [ToolboxItem(false)] - public class esExchangeHostedEdition : WebService - { - [WebMethod] - public List GetOrganizations(int packageId) - { - return ExchangeHostedEditionController.GetOrganizations(packageId); - } - - [WebMethod] - public IntResult CreateExchangeOrganization(int packageId, string organizationId, - string domain, string adminName, string adminEmail, string adminPassword) - { - return ExchangeHostedEditionController.CreateOrganization(packageId, organizationId, domain, adminName, adminEmail, adminPassword); - } - - [WebMethod] - public ExchangeOrganization GetExchangeOrganizationDetails(int itemId) - { - return ExchangeHostedEditionController.GetOrganizationDetails(itemId); - } - - [WebMethod] - public List GetExchangeOrganizationDomains(int itemId) - { - return ExchangeHostedEditionController.GetOrganizationDomains(itemId); - } - - [WebMethod] - public string GetExchangeOrganizationSummary(int itemId) - { - return ExchangeHostedEditionController.GetExchangeOrganizationSummary(itemId); - } - - [WebMethod] - public ResultObject SendExchangeOrganizationSummary(int itemId, string toEmail) - { - return ExchangeHostedEditionController.SendExchangeOrganizationSummary(itemId, toEmail); - } - - [WebMethod] - public ResultObject AddExchangeOrganizationDomain(int itemId, string domain) - { - return ExchangeHostedEditionController.AddOrganizationDomain(itemId, domain); - } - - [WebMethod] - public ResultObject DeleteExchangeOrganizationDomain(int itemId, string domain) - { - return ExchangeHostedEditionController.DeleteOrganizationDomain(itemId, domain); - } - - [WebMethod] - public ResultObject UpdateExchangeOrganizationQuotas(int itemId, int mailboxesNumber, int contactsNumber, int distributionListsNumber) - { - return ExchangeHostedEditionController.UpdateOrganizationQuotas(itemId, mailboxesNumber, contactsNumber, distributionListsNumber); - } - - [WebMethod] - public ResultObject UpdateExchangeOrganizationCatchAllAddress(int itemId, string catchAllEmail) - { - return ExchangeHostedEditionController.UpdateOrganizationCatchAllAddress(itemId, catchAllEmail); - } - - [WebMethod] - public ResultObject UpdateExchangeOrganizationServicePlan(int itemId, int newServiceId) - { - return ExchangeHostedEditionController.UpdateOrganizationServicePlan(itemId, newServiceId); - } - - [WebMethod] - public ResultObject DeleteExchangeOrganization(int itemId) - { - return ExchangeHostedEditionController.DeleteOrganization(itemId); - } - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ExchangeHostedEdition/ExchangeOrganization.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ExchangeHostedEdition/ExchangeOrganization.cs deleted file mode 100644 index 71a6d441..00000000 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ExchangeHostedEdition/ExchangeOrganization.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WebsitePanel.Providers.ExchangeHostedEdition -{ - public class ExchangeOrganization : ServiceProviderItem - { - // basic props - public string ExchangeControlPanelUrl { get; set; } - public string DistinguishedName { get; set; } - public string ServicePlan { get; set; } - public string ProgramId { get; set; } - public string OfferId { get; set; } - public string AdministratorName { get; set; } - public string AdministratorEmail { get; set; } - - // domains - public ExchangeOrganizationDomain[] Domains { get; set; } - - // this is real usage - public int MailboxCount { get; set; } - public int ContactCount { get; set; } - public int DistributionListCount { get; set; } - - // these quotas are set in Exchange for the organization - public int MailboxCountQuota { get; set; } - public int ContactCountQuota { get; set; } - public int DistributionListCountQuota { get; set; } - - // these quotas are set in the hosting plan + add-ons - public int MaxDomainsCountQuota { get; set; } - public int MaxMailboxCountQuota { get; set; } - public int MaxContactCountQuota { get; set; } - public int MaxDistributionListCountQuota { get; set; } - - // summary information - public string SummaryInformation { get; set; } - - [Persistent] - public string CatchAllAddress { get; set; } - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ExchangeHostedEdition/ExchangeOrganizationDomain.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ExchangeHostedEdition/ExchangeOrganizationDomain.cs deleted file mode 100644 index 26cd4090..00000000 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ExchangeHostedEdition/ExchangeOrganizationDomain.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WebsitePanel.Providers.ExchangeHostedEdition -{ - public class ExchangeOrganizationDomain - { - public string Identity { get; set; } - public string Name { get; set; } - public bool IsDefault { get; set; } - public bool IsTemp { get; set; } - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ExchangeHostedEdition/IExchangeHostedEdition.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ExchangeHostedEdition/IExchangeHostedEdition.cs deleted file mode 100644 index cc119413..00000000 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ExchangeHostedEdition/IExchangeHostedEdition.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WebsitePanel.Providers.ExchangeHostedEdition -{ - public interface IExchangeHostedEdition - { - void CreateOrganization(string organizationId, string programId, string offerId, - string domain, string adminName, string adminEmail, string adminPassword); - ExchangeOrganization GetOrganizationDetails(string organizationId); - - List GetOrganizationDomains(string organizationId); - void AddOrganizationDomain(string organizationId, string domain); - void DeleteOrganizationDomain(string organizationId, string domain); - - void UpdateOrganizationQuotas(string organizationId, int mailboxesNumber, int contactsNumber, int distributionListsNumber); - void UpdateOrganizationCatchAllAddress(string organizationId, string catchAllEmail); - void UpdateOrganizationServicePlan(string organizationId, string programId, string offerId); - void DeleteOrganization(string organizationId); - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj index df882803..1d281456 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj @@ -74,9 +74,6 @@ - - - diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerHostedEditionProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerHostedEditionProxy.cs deleted file mode 100644 index 54257b39..00000000 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerHostedEditionProxy.cs +++ /dev/null @@ -1,574 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:2.0.50727.4952 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -// -// This source code was auto-generated by wsdl, Version=2.0.50727.42. -// -namespace WebsitePanel.Providers.ExchangeHostedEdition { - using System.Xml.Serialization; - using System.Web.Services; - using System.ComponentModel; - using System.Web.Services.Protocols; - using System; - using System.Diagnostics; - - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - [System.Web.Services.WebServiceBindingAttribute(Name="ExchangeServerHostedEditionSoap", Namespace="http://smbsaas/websitepanel/server/")] - [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))] - public partial class ExchangeServerHostedEdition : Microsoft.Web.Services3.WebServicesClientProtocol { - - public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue; - - private System.Threading.SendOrPostCallback CreateOrganizationOperationCompleted; - - private System.Threading.SendOrPostCallback GetOrganizationDomainsOperationCompleted; - - private System.Threading.SendOrPostCallback AddOrganizationDomainOperationCompleted; - - private System.Threading.SendOrPostCallback DeleteOrganizationDomainOperationCompleted; - - private System.Threading.SendOrPostCallback GetOrganizationDetailsOperationCompleted; - - private System.Threading.SendOrPostCallback UpdateOrganizationQuotasOperationCompleted; - - private System.Threading.SendOrPostCallback UpdateOrganizationCatchAllAddressOperationCompleted; - - private System.Threading.SendOrPostCallback UpdateOrganizationServicePlanOperationCompleted; - - private System.Threading.SendOrPostCallback DeleteOrganizationOperationCompleted; - - /// - public ExchangeServerHostedEdition() { - this.Url = "http://localhost:9003/ExchangeServerHostedEdition.asmx"; - } - - /// - public event CreateOrganizationCompletedEventHandler CreateOrganizationCompleted; - - /// - public event GetOrganizationDomainsCompletedEventHandler GetOrganizationDomainsCompleted; - - /// - public event AddOrganizationDomainCompletedEventHandler AddOrganizationDomainCompleted; - - /// - public event DeleteOrganizationDomainCompletedEventHandler DeleteOrganizationDomainCompleted; - - /// - public event GetOrganizationDetailsCompletedEventHandler GetOrganizationDetailsCompleted; - - /// - public event UpdateOrganizationQuotasCompletedEventHandler UpdateOrganizationQuotasCompleted; - - /// - public event UpdateOrganizationCatchAllAddressCompletedEventHandler UpdateOrganizationCatchAllAddressCompleted; - - /// - public event UpdateOrganizationServicePlanCompletedEventHandler UpdateOrganizationServicePlanCompleted; - - /// - public event DeleteOrganizationCompletedEventHandler DeleteOrganizationCompleted; - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateOrganization", 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 void CreateOrganization(string organizationId, string programId, string offerId, string domain, string adminName, string adminEmail, string adminPassword) { - this.Invoke("CreateOrganization", new object[] { - organizationId, - programId, - offerId, - domain, - adminName, - adminEmail, - adminPassword}); - } - - /// - public System.IAsyncResult BeginCreateOrganization(string organizationId, string programId, string offerId, string domain, string adminName, string adminEmail, string adminPassword, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("CreateOrganization", new object[] { - organizationId, - programId, - offerId, - domain, - adminName, - adminEmail, - adminPassword}, callback, asyncState); - } - - /// - public void EndCreateOrganization(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void CreateOrganizationAsync(string organizationId, string programId, string offerId, string domain, string adminName, string adminEmail, string adminPassword) { - this.CreateOrganizationAsync(organizationId, programId, offerId, domain, adminName, adminEmail, adminPassword, null); - } - - /// - public void CreateOrganizationAsync(string organizationId, string programId, string offerId, string domain, string adminName, string adminEmail, string adminPassword, object userState) { - if ((this.CreateOrganizationOperationCompleted == null)) { - this.CreateOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrganizationOperationCompleted); - } - this.InvokeAsync("CreateOrganization", new object[] { - organizationId, - programId, - offerId, - domain, - adminName, - adminEmail, - adminPassword}, this.CreateOrganizationOperationCompleted, userState); - } - - private void OnCreateOrganizationOperationCompleted(object arg) { - if ((this.CreateOrganizationCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.CreateOrganizationCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetOrganizationDomains", 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 ExchangeOrganizationDomain[] GetOrganizationDomains(string organizationId) { - object[] results = this.Invoke("GetOrganizationDomains", new object[] { - organizationId}); - return ((ExchangeOrganizationDomain[])(results[0])); - } - - /// - public System.IAsyncResult BeginGetOrganizationDomains(string organizationId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetOrganizationDomains", new object[] { - organizationId}, callback, asyncState); - } - - /// - public ExchangeOrganizationDomain[] EndGetOrganizationDomains(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ExchangeOrganizationDomain[])(results[0])); - } - - /// - public void GetOrganizationDomainsAsync(string organizationId) { - this.GetOrganizationDomainsAsync(organizationId, null); - } - - /// - public void GetOrganizationDomainsAsync(string organizationId, object userState) { - if ((this.GetOrganizationDomainsOperationCompleted == null)) { - this.GetOrganizationDomainsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationDomainsOperationCompleted); - } - this.InvokeAsync("GetOrganizationDomains", new object[] { - organizationId}, this.GetOrganizationDomainsOperationCompleted, userState); - } - - private void OnGetOrganizationDomainsOperationCompleted(object arg) { - if ((this.GetOrganizationDomainsCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetOrganizationDomainsCompleted(this, new GetOrganizationDomainsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddOrganizationDomain", 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 void AddOrganizationDomain(string organizationId, string domain) { - this.Invoke("AddOrganizationDomain", new object[] { - organizationId, - domain}); - } - - /// - public System.IAsyncResult BeginAddOrganizationDomain(string organizationId, string domain, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("AddOrganizationDomain", new object[] { - organizationId, - domain}, callback, asyncState); - } - - /// - public void EndAddOrganizationDomain(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void AddOrganizationDomainAsync(string organizationId, string domain) { - this.AddOrganizationDomainAsync(organizationId, domain, null); - } - - /// - public void AddOrganizationDomainAsync(string organizationId, string domain, object userState) { - if ((this.AddOrganizationDomainOperationCompleted == null)) { - this.AddOrganizationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddOrganizationDomainOperationCompleted); - } - this.InvokeAsync("AddOrganizationDomain", new object[] { - organizationId, - domain}, this.AddOrganizationDomainOperationCompleted, userState); - } - - private void OnAddOrganizationDomainOperationCompleted(object arg) { - if ((this.AddOrganizationDomainCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.AddOrganizationDomainCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteOrganizationDomain", 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 void DeleteOrganizationDomain(string organizationId, string domain) { - this.Invoke("DeleteOrganizationDomain", new object[] { - organizationId, - domain}); - } - - /// - public System.IAsyncResult BeginDeleteOrganizationDomain(string organizationId, string domain, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("DeleteOrganizationDomain", new object[] { - organizationId, - domain}, callback, asyncState); - } - - /// - public void EndDeleteOrganizationDomain(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void DeleteOrganizationDomainAsync(string organizationId, string domain) { - this.DeleteOrganizationDomainAsync(organizationId, domain, null); - } - - /// - public void DeleteOrganizationDomainAsync(string organizationId, string domain, object userState) { - if ((this.DeleteOrganizationDomainOperationCompleted == null)) { - this.DeleteOrganizationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteOrganizationDomainOperationCompleted); - } - this.InvokeAsync("DeleteOrganizationDomain", new object[] { - organizationId, - domain}, this.DeleteOrganizationDomainOperationCompleted, userState); - } - - private void OnDeleteOrganizationDomainOperationCompleted(object arg) { - if ((this.DeleteOrganizationDomainCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.DeleteOrganizationDomainCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetOrganizationDetails", 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 ExchangeOrganization GetOrganizationDetails(string organizationId) { - object[] results = this.Invoke("GetOrganizationDetails", new object[] { - organizationId}); - return ((ExchangeOrganization)(results[0])); - } - - /// - public System.IAsyncResult BeginGetOrganizationDetails(string organizationId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetOrganizationDetails", new object[] { - organizationId}, callback, asyncState); - } - - /// - public ExchangeOrganization EndGetOrganizationDetails(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ExchangeOrganization)(results[0])); - } - - /// - public void GetOrganizationDetailsAsync(string organizationId) { - this.GetOrganizationDetailsAsync(organizationId, null); - } - - /// - public void GetOrganizationDetailsAsync(string organizationId, object userState) { - if ((this.GetOrganizationDetailsOperationCompleted == null)) { - this.GetOrganizationDetailsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationDetailsOperationCompleted); - } - this.InvokeAsync("GetOrganizationDetails", new object[] { - organizationId}, this.GetOrganizationDetailsOperationCompleted, userState); - } - - private void OnGetOrganizationDetailsOperationCompleted(object arg) { - if ((this.GetOrganizationDetailsCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetOrganizationDetailsCompleted(this, new GetOrganizationDetailsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/UpdateOrganizationQuotas", 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 void UpdateOrganizationQuotas(string organizationId, int mailboxesNumber, int contactsNumber, int distributionListsNumber) { - this.Invoke("UpdateOrganizationQuotas", new object[] { - organizationId, - mailboxesNumber, - contactsNumber, - distributionListsNumber}); - } - - /// - public System.IAsyncResult BeginUpdateOrganizationQuotas(string organizationId, int mailboxesNumber, int contactsNumber, int distributionListsNumber, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("UpdateOrganizationQuotas", new object[] { - organizationId, - mailboxesNumber, - contactsNumber, - distributionListsNumber}, callback, asyncState); - } - - /// - public void EndUpdateOrganizationQuotas(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void UpdateOrganizationQuotasAsync(string organizationId, int mailboxesNumber, int contactsNumber, int distributionListsNumber) { - this.UpdateOrganizationQuotasAsync(organizationId, mailboxesNumber, contactsNumber, distributionListsNumber, null); - } - - /// - public void UpdateOrganizationQuotasAsync(string organizationId, int mailboxesNumber, int contactsNumber, int distributionListsNumber, object userState) { - if ((this.UpdateOrganizationQuotasOperationCompleted == null)) { - this.UpdateOrganizationQuotasOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateOrganizationQuotasOperationCompleted); - } - this.InvokeAsync("UpdateOrganizationQuotas", new object[] { - organizationId, - mailboxesNumber, - contactsNumber, - distributionListsNumber}, this.UpdateOrganizationQuotasOperationCompleted, userState); - } - - private void OnUpdateOrganizationQuotasOperationCompleted(object arg) { - if ((this.UpdateOrganizationQuotasCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.UpdateOrganizationQuotasCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/UpdateOrganizationCatchAllAddress", 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 void UpdateOrganizationCatchAllAddress(string organizationId, string catchAllEmail) { - this.Invoke("UpdateOrganizationCatchAllAddress", new object[] { - organizationId, - catchAllEmail}); - } - - /// - public System.IAsyncResult BeginUpdateOrganizationCatchAllAddress(string organizationId, string catchAllEmail, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("UpdateOrganizationCatchAllAddress", new object[] { - organizationId, - catchAllEmail}, callback, asyncState); - } - - /// - public void EndUpdateOrganizationCatchAllAddress(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void UpdateOrganizationCatchAllAddressAsync(string organizationId, string catchAllEmail) { - this.UpdateOrganizationCatchAllAddressAsync(organizationId, catchAllEmail, null); - } - - /// - public void UpdateOrganizationCatchAllAddressAsync(string organizationId, string catchAllEmail, object userState) { - if ((this.UpdateOrganizationCatchAllAddressOperationCompleted == null)) { - this.UpdateOrganizationCatchAllAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateOrganizationCatchAllAddressOperationCompleted); - } - this.InvokeAsync("UpdateOrganizationCatchAllAddress", new object[] { - organizationId, - catchAllEmail}, this.UpdateOrganizationCatchAllAddressOperationCompleted, userState); - } - - private void OnUpdateOrganizationCatchAllAddressOperationCompleted(object arg) { - if ((this.UpdateOrganizationCatchAllAddressCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.UpdateOrganizationCatchAllAddressCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/UpdateOrganizationServicePlan", 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 void UpdateOrganizationServicePlan(string organizationId, string programId, string offerId) { - this.Invoke("UpdateOrganizationServicePlan", new object[] { - organizationId, - programId, - offerId}); - } - - /// - public System.IAsyncResult BeginUpdateOrganizationServicePlan(string organizationId, string programId, string offerId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("UpdateOrganizationServicePlan", new object[] { - organizationId, - programId, - offerId}, callback, asyncState); - } - - /// - public void EndUpdateOrganizationServicePlan(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void UpdateOrganizationServicePlanAsync(string organizationId, string programId, string offerId) { - this.UpdateOrganizationServicePlanAsync(organizationId, programId, offerId, null); - } - - /// - public void UpdateOrganizationServicePlanAsync(string organizationId, string programId, string offerId, object userState) { - if ((this.UpdateOrganizationServicePlanOperationCompleted == null)) { - this.UpdateOrganizationServicePlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateOrganizationServicePlanOperationCompleted); - } - this.InvokeAsync("UpdateOrganizationServicePlan", new object[] { - organizationId, - programId, - offerId}, this.UpdateOrganizationServicePlanOperationCompleted, userState); - } - - private void OnUpdateOrganizationServicePlanOperationCompleted(object arg) { - if ((this.UpdateOrganizationServicePlanCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.UpdateOrganizationServicePlanCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteOrganization", 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 void DeleteOrganization(string organizationId) { - this.Invoke("DeleteOrganization", new object[] { - organizationId}); - } - - /// - public System.IAsyncResult BeginDeleteOrganization(string organizationId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("DeleteOrganization", new object[] { - organizationId}, callback, asyncState); - } - - /// - public void EndDeleteOrganization(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void DeleteOrganizationAsync(string organizationId) { - this.DeleteOrganizationAsync(organizationId, null); - } - - /// - public void DeleteOrganizationAsync(string organizationId, object userState) { - if ((this.DeleteOrganizationOperationCompleted == null)) { - this.DeleteOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteOrganizationOperationCompleted); - } - this.InvokeAsync("DeleteOrganization", new object[] { - organizationId}, this.DeleteOrganizationOperationCompleted, userState); - } - - private void OnDeleteOrganizationOperationCompleted(object arg) { - if ((this.DeleteOrganizationCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.DeleteOrganizationCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - public new void CancelAsync(object userState) { - base.CancelAsync(userState); - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void CreateOrganizationCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GetOrganizationDomainsCompletedEventHandler(object sender, GetOrganizationDomainsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetOrganizationDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetOrganizationDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeOrganizationDomain[] Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeOrganizationDomain[])(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void AddOrganizationDomainCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void DeleteOrganizationDomainCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GetOrganizationDetailsCompletedEventHandler(object sender, GetOrganizationDetailsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetOrganizationDetailsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetOrganizationDetailsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeOrganization Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeOrganization)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void UpdateOrganizationQuotasCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void UpdateOrganizationCatchAllAddressCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void UpdateOrganizationServicePlanCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void DeleteOrganizationCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); -} diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj b/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj index 37f746e8..0ac386bf 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj @@ -78,7 +78,6 @@ - diff --git a/WebsitePanel/Sources/WebsitePanel.Server.sln b/WebsitePanel/Sources/WebsitePanel.Server.sln index 715e7c13..c4b625b2 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.sln +++ b/WebsitePanel/Sources/WebsitePanel.Server.sln @@ -93,8 +93,6 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "WebsitePanel.Providers.Mail EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "WebsitePanel.Providers.Mail.hMailServer5", "WebsitePanel.Providers.Mail.hMail5\WebsitePanel.Providers.Mail.hMailServer5.vbproj", "{8F644D50-D602-4AD3-8EB0-CA3C3676B18D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.ExchangeHostedEdition", "WebsitePanel.Providers.ExchangeHostedEdition\WebsitePanel.Providers.ExchangeHostedEdition.csproj", "{5D30E0E3-7AAD-4BE1-8043-3F3E9994D321}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.Mail.SmarterMail7", "WebsitePanel.Providers.Mail.SmarterMail7\WebsitePanel.Providers.Mail.SmarterMail7.csproj", "{FB773A2C-1CD3-4D76-9C4F-B6B7EB9E479C}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Providers.VirtualizationForPC.HyperVForPC", "WebsitePanel.Providers.Virtualization.HyperVForPC\WebsitePanel.Providers.VirtualizationForPC.HyperVForPC.csproj", "{64BEEB10-7F9F-4860-B2FF-84CDA02766B3}" @@ -267,10 +265,6 @@ Global {8F644D50-D602-4AD3-8EB0-CA3C3676B18D}.Debug|Any CPU.Build.0 = Debug|Any CPU {8F644D50-D602-4AD3-8EB0-CA3C3676B18D}.Release|Any CPU.ActiveCfg = Release|Any CPU {8F644D50-D602-4AD3-8EB0-CA3C3676B18D}.Release|Any CPU.Build.0 = Release|Any CPU - {5D30E0E3-7AAD-4BE1-8043-3F3E9994D321}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5D30E0E3-7AAD-4BE1-8043-3F3E9994D321}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5D30E0E3-7AAD-4BE1-8043-3F3E9994D321}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5D30E0E3-7AAD-4BE1-8043-3F3E9994D321}.Release|Any CPU.Build.0 = Release|Any CPU {FB773A2C-1CD3-4D76-9C4F-B6B7EB9E479C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FB773A2C-1CD3-4D76-9C4F-B6B7EB9E479C}.Debug|Any CPU.Build.0 = Debug|Any CPU {FB773A2C-1CD3-4D76-9C4F-B6B7EB9E479C}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServerHostedEdition.asmx b/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServerHostedEdition.asmx deleted file mode 100644 index fbecb5cd..00000000 --- a/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServerHostedEdition.asmx +++ /dev/null @@ -1 +0,0 @@ -<%@ WebService Language="C#" CodeBehind="ExchangeServerHostedEdition.asmx.cs" Class="WebsitePanel.Server.ExchangeServerHostedEdition" %> diff --git a/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServerHostedEdition.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServerHostedEdition.asmx.cs deleted file mode 100644 index 8d03a17a..00000000 --- a/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServerHostedEdition.asmx.cs +++ /dev/null @@ -1,201 +0,0 @@ -// 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. - -using System; -using System.Collections.Generic; -using System.Web; -using System.Web.Services; -using WebsitePanel.Providers; -using WebsitePanel.Providers.ExchangeHostedEdition; -using Microsoft.Web.Services3; -using System.Web.Services.Protocols; -using WebsitePanel.Server.Utils; - -namespace WebsitePanel.Server -{ - /// - /// Summary description for ExchangeHostedEdition - /// - [WebService(Namespace = "http://smbsaas/websitepanel/server/")] - [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] - [Policy("ServerPolicy")] - public class ExchangeServerHostedEdition : HostingServiceProviderWebService, IExchangeHostedEdition - { - private IExchangeHostedEdition ExchangeServer - { - get { return (IExchangeHostedEdition)Provider; } - } - - [WebMethod, SoapHeader("settings")] - public void CreateOrganization(string organizationId, string programId, string offerId, string domain, - string adminName, string adminEmail, string adminPassword) - { - try - { - Log.WriteStart("'{0}' CreateOrganization", ProviderSettings.ProviderName); - ExchangeServer.CreateOrganization(organizationId, programId, offerId, domain, adminName, adminEmail, adminPassword); - Log.WriteEnd("'{0}' CreateOrganization", ProviderSettings.ProviderName); - } - catch (Exception ex) - { - Log.WriteError(String.Format("'{0}' CreateOrganization", ProviderSettings.ProviderName), ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public List GetOrganizationDomains(string organizationId) - { - try - { - Log.WriteStart("'{0}' GetOrganizationDomains", ProviderSettings.ProviderName); - List result = ExchangeServer.GetOrganizationDomains(organizationId); - Log.WriteEnd("'{0}' GetOrganizationDomains", ProviderSettings.ProviderName); - return result; - } - catch (Exception ex) - { - Log.WriteError(String.Format("'{0}' GetOrganizationDomains", ProviderSettings.ProviderName), ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void AddOrganizationDomain(string organizationId, string domain) - { - try - { - Log.WriteStart("'{0}' AddOrganizationDomain", ProviderSettings.ProviderName); - ExchangeServer.AddOrganizationDomain(organizationId, domain); - Log.WriteEnd("'{0}' AddOrganizationDomain", ProviderSettings.ProviderName); - } - catch (Exception ex) - { - Log.WriteError(String.Format("'{0}' AddOrganizationDomain", ProviderSettings.ProviderName), ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void DeleteOrganizationDomain(string organizationId, string domain) - { - try - { - Log.WriteStart("'{0}' DeleteOrganizationDomain", ProviderSettings.ProviderName); - ExchangeServer.DeleteOrganizationDomain(organizationId, domain); - Log.WriteEnd("'{0}' DeleteOrganizationDomain", ProviderSettings.ProviderName); - } - catch (Exception ex) - { - Log.WriteError(String.Format("'{0}' DeleteOrganizationDomain", ProviderSettings.ProviderName), ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public ExchangeOrganization GetOrganizationDetails(string organizationId) - { - try - { - Log.WriteStart("'{0}' GetOrganizationDetails", ProviderSettings.ProviderName); - ExchangeOrganization result = ExchangeServer.GetOrganizationDetails(organizationId); - Log.WriteEnd("'{0}' GetOrganizationDetails", ProviderSettings.ProviderName); - return result; - } - catch (Exception ex) - { - Log.WriteError(String.Format("'{0}' GetOrganizationDetails", ProviderSettings.ProviderName), ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void UpdateOrganizationQuotas(string organizationId, int mailboxesNumber, int contactsNumber, int distributionListsNumber) - { - try - { - Log.WriteStart("'{0}' UpdateOrganizationQuotas", ProviderSettings.ProviderName); - ExchangeServer.UpdateOrganizationQuotas(organizationId, mailboxesNumber, contactsNumber, distributionListsNumber); - Log.WriteEnd("'{0}' UpdateOrganizationQuotas", ProviderSettings.ProviderName); - } - catch (Exception ex) - { - Log.WriteError(String.Format("'{0}' UpdateOrganizationQuotas", ProviderSettings.ProviderName), ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void UpdateOrganizationCatchAllAddress(string organizationId, string catchAllEmail) - { - try - { - Log.WriteStart("'{0}' UpdateOrganizationCatchAllAddress", ProviderSettings.ProviderName); - ExchangeServer.UpdateOrganizationCatchAllAddress(organizationId, catchAllEmail); - Log.WriteEnd("'{0}' UpdateOrganizationCatchAllAddress", ProviderSettings.ProviderName); - } - catch (Exception ex) - { - Log.WriteError(String.Format("'{0}' UpdateOrganizationCatchAllAddress", ProviderSettings.ProviderName), ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void UpdateOrganizationServicePlan(string organizationId, string programId, string offerId) - { - try - { - Log.WriteStart("'{0}' UpdateOeganizationServicePlan", ProviderSettings.ProviderName); - ExchangeServer.UpdateOrganizationServicePlan(organizationId, programId, offerId); - Log.WriteEnd("'{0}' UpdateOeganizationServicePlan", ProviderSettings.ProviderName); - } - catch (Exception ex) - { - Log.WriteError(String.Format("'{0}' UpdateOeganizationServicePlan", ProviderSettings.ProviderName), ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void DeleteOrganization(string organizationId) - { - try - { - Log.WriteStart("'{0}' DeleteOrganization", ProviderSettings.ProviderName); - ExchangeServer.DeleteOrganization(organizationId); - Log.WriteEnd("'{0}' DeleteOrganization", ProviderSettings.ProviderName); - } - catch (Exception ex) - { - Log.WriteError(String.Format("'{0}' DeleteOrganization", ProviderSettings.ProviderName), ex); - throw; - } - } - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj b/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj index 71d04878..affbf40f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj @@ -68,7 +68,6 @@ - @@ -109,10 +108,6 @@ - - ExchangeServerHostedEdition.asmx - Component - OCSEdgeServer.asmx Component diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config index ffd5eab9..65182013 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/ModulesData.config @@ -68,7 +68,6 @@ - @@ -121,7 +120,6 @@ - diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config index 616e6848..c979a2a4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config @@ -580,17 +580,4 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config index 70ffb1a7..d9a76036 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config @@ -557,16 +557,4 @@ - - diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Modules.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Modules.ascx.resx index 184b2e80..3541969a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Modules.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Modules.ascx.resx @@ -735,9 +735,6 @@ Allocate Web Site IP Addresses - - Exchange Hosting Mode - Add Organization Domain diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Pages.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Pages.ascx.resx index 887c6a8f..7a3e2bc4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Pages.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_Pages.ascx.resx @@ -453,12 +453,6 @@ {user} - {space} - Web - - Exchange Hosting Mode - - - {user} - {space} - Exchange Hosting Mode - Virtual Private Cloud diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx index a7b4c5e9..2bf42484 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx @@ -4822,138 +4822,12 @@ SSL - - Contacts - - - Distribution Lists - - - Domains - - - Mailboxes - - - Exchange 2010 Hosting Mode - - - Exchange Hosting Mode - - - Error creating Exchange organization - - - Exchange organization cannot be deleted - - - Error sending Exchange organization summary information - - - Please contact your hosting provider. - - - Please contact your hosting provider. - Exchange Organization - - Exchange organization summary information has been sent - - - You have to tick a checkbox to confirm organization deletion - - - Organization domain cannot be added - - - Organization quotas cannot be changed - - - Organization Service Plan cannot be changed - - - Error reading Exchange organization domains - - - Organization details cannot be loaded. - - - Please contact your hosting provider. - - - Please contact your hosting provider. - - - Please contact your hosting provider. - - - Please contact your hosting provider. - - - Organization domain cannot be deleted - - - Specified domain name already added into organization. - - - Error adding organization domain. - - - Specified domain name already exists. - - - Maximum domains quota has been reached. - - - Error creating organization. See system logs for detailed messages. - - - Error deleting organization domain. - - - Error deleting organization. See system logs for detailed messages. - - - Exchange Hosting Mode service is not enabled for the hosting space. - - - General module error. - - - Offer ID is not specified on Exchange service settings. - - - Organization not found. - - - Program ID is not specified on Exchange service settings. - - - Error sending organization summary information. - - - Organization summary information template is not set. - - - Error updating catch-all account. - - - Error updating organization quotas. - - - One of the specified quotas exceed maximum value allowed. - - - Error changing organization service plan. See system logs for detailed messages. - Disable Mailbox Size Edit - - Exchange Hosting Mode - Unlimited diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/SpaceSettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/SpaceSettings.ascx.resx index 1c04fc96..9bb30cb6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/SpaceSettings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/SpaceSettings.ascx.resx @@ -141,9 +141,6 @@ Virtual Private Servers - - Exchange Hosting Mode - Virtual Private Servers for Private Cloud diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/UserAccountMailTemplateSettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/UserAccountMailTemplateSettings.ascx.resx index dab2e293..61f11639 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/UserAccountMailTemplateSettings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/UserAccountMailTemplateSettings.ascx.resx @@ -141,7 +141,4 @@ VPS Summary Letter - - Exchange Hosting Mode Organization Summary - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/UserAccountPolicySettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/UserAccountPolicySettings.ascx.resx index 7db6e48c..88e2ac28 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/UserAccountPolicySettings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/UserAccountPolicySettings.ascx.resx @@ -150,7 +150,4 @@ WEB Policy - - Exchange Hosting Mode Policy - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs index c320efb9..845c52e4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs @@ -206,11 +206,6 @@ namespace WebsitePanel.Portal get { return GetCachedProxy(); } } - public esExchangeHostedEdition ExchangeHostedEdition - { - get { return GetCachedProxy(); } - } - protected ES() { } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/AddOrganizationDomain.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/AddOrganizationDomain.ascx deleted file mode 100644 index 70182d45..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/AddOrganizationDomain.ascx +++ /dev/null @@ -1,30 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AddOrganizationDomain.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeHostedEdition.AddOrganizationDomain" %> -<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> -<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> - - - -
    - - - - - - - - -
    Domain: - - - * -
    -
    -
    - - -
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/AddOrganizationDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/AddOrganizationDomain.ascx.cs deleted file mode 100644 index 05e0f306..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/AddOrganizationDomain.ascx.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; -using WebsitePanel.Providers.Common; - -namespace WebsitePanel.Portal.ExchangeHostedEdition -{ - public partial class AddOrganizationDomain : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - } - - protected void update_Click(object sender, EventArgs e) - { - if (!Page.IsValid) - return; - - try - { - // call service - ResultObject result = ES.Services.ExchangeHostedEdition.AddExchangeOrganizationDomain(PanelRequest.ItemID, domain.Text.Trim()); - - // check results - if (result.IsSuccess) - { - // navigate to details - RedirectBack(); - } - else - { - // display message - messageBox.ShowMessage(result, "EXCHANGE_HOSTED_ADD_DOMAIN", "ExchangeHostedEdition"); - } - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_HOSTED_ADD_DOMAIN", ex); - } - } - - protected void cancel_Click(object sender, EventArgs e) - { - RedirectBack(); - } - - private void RedirectBack() - { - Response.Redirect(NavigateURL("SpaceID", PanelSecurity.PackageId.ToString(), "ItemID=" + PanelRequest.ItemID.ToString())); - } - } -} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/AddOrganizationDomain.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/AddOrganizationDomain.ascx.designer.cs deleted file mode 100644 index 62085298..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/AddOrganizationDomain.ascx.designer.cs +++ /dev/null @@ -1,96 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.Portal.ExchangeHostedEdition { - - - public partial class AddOrganizationDomain { - - /// - /// asyncTasks control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - - /// - /// messageBox control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; - - /// - /// validationErrors control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.ValidationSummary validationErrors; - - /// - /// locDomain control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locDomain; - - /// - /// domain control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox domain; - - /// - /// requireDomain control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator requireDomain; - - /// - /// requireCorrectDomain control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RegularExpressionValidator requireCorrectDomain; - - /// - /// update control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button update; - - /// - /// cancel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button cancel; - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/AddOrganizationDomain.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/AddOrganizationDomain.ascx.resx deleted file mode 100644 index edca5239..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/AddOrganizationDomain.ascx.resx +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Cancel - - - Domain: - - - Enter correct domain name in the form "mydomain.com" or "sub.mydomain.com" - - - ! - - - Select domain - - - * - - - ShowProgressDialog('Adding organization domain...'); - - - Update - - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/CreateOrganization.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/CreateOrganization.ascx.resx deleted file mode 100644 index a9b8538e..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/CreateOrganization.ascx.resx +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ShowProgressDialog('Creating Exchange organization...'); - - - Create Organization - - - Administrator e-mail: - - - Administrator name: - - - Administrator password: - - - Organization name: - - - Manage domains - - - Enter administrator e-mail address - - - * - - - Enter administrator display name - - - * - - - Enter correct domain name in the form "mydomain.com" or "sub.mydomain.com" - - - ! - - - Specify organization domain - - - * - - - Enter organization name - - - * - - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/DeleteOrganization.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/DeleteOrganization.ascx.resx deleted file mode 100644 index 6934db62..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/DeleteOrganization.ascx.resx +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Cancel - - - I confirm deletion of this organization and all its contents - - - ShowProgressDialog('Deleting Exchange organization...'); - - - Delete - - - <p><b>All organization user accounts, contacts, distribution lists and public folders will be deleted.</b></p> - - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/OrganizationDetails.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/OrganizationDetails.ascx.resx deleted file mode 100644 index 8a007bc5..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/OrganizationDetails.ascx.resx +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Add Domain - - - (not set) - - - Change Service Plan - - - if(!confirm('Are you sure you want to remove selected domain?')) return false; else ShowProgressDialog('Deleting domain...'); - - - Delete - - - Delete Organization - - - {0} of {1} - - - There are no domains allowed for this organization. Click "Add Domain" button to add domain. - - - Default - - - Temporary - - - Domain - - - This block is visible to system administrators only. - - - Administrator e-mail: - - - Administrator name: - - - Catch-all - - - Catch-all address: - - - Contacts: - - - Distribution Lists: - - - Domains - - - Total domains used: - - - Exchange Control Panel: - - - Mailboxes: - - - Offer ID: - - - Organization Details - - - Organization name: - - - Program ID: - - - Quotas - - - Send to e-mail: - - - Service: - - - Service Plan - - - Setup Instructions - - - {0} of {1} (max {2}) - - - * - - - Send - - - Set Catch-all - - - (summary information template is not set) - - - Unlimited - - - Update Quotas - - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/UpdateOrganizationCatchAll.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/UpdateOrganizationCatchAll.ascx.resx deleted file mode 100644 index 643fbd36..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/UpdateOrganizationCatchAll.ascx.resx +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Cancel - - - Disable catch-all - - - Enable catch-all - - - Catch-all mailbox: - - - Enter catch-all e-mail address - - - * - - - Enter correct e-mail address - - - ! - - - Select domain - - - * - - - <Select domain> - - - ShowProgressDialog('Updating organization Catch-all address...'); - - - Update - - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/UpdateOrganizationQuotas.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/UpdateOrganizationQuotas.ascx.resx deleted file mode 100644 index 6bd7fc79..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/UpdateOrganizationQuotas.ascx.resx +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Cancel - - - Contacts: - - - Distribution Lists: - - - Mailboxes: - - - (max {0}) - - - Specify correct number - - - ! - - - Specify correct number - - - ! - - - Specify correct number - - - ! - - - Enter contacts quota - - - * - - - Enter distribution lists quota - - - * - - - Enter mailboxes quota - - - * - - - Unlimited - - - ShowProgressDialog('Updating organization quotas...'); - - - Update - - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/UpdateOrganizationServicePlan.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/UpdateOrganizationServicePlan.ascx.resx deleted file mode 100644 index bc03f039..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/App_LocalResources/UpdateOrganizationServicePlan.ascx.resx +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ShowProgressDialog('Updating organization service plan...'); - - - Apply - - - Cancel - - - Current Service Plan - - - New Service Plan - - - Offer ID: - - - Program ID: - - - Service: - - - Select new service - - - * - - - <Select service> - - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/CreateOrganization.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/CreateOrganization.ascx deleted file mode 100644 index 49cd603a..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/CreateOrganization.ascx +++ /dev/null @@ -1,73 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CreateOrganization.ascx.cs" - Inherits="WebsitePanel.Portal.ExchangeHostedEdition.CreateOrganization" %> -<%@ Register Src="../UserControls/PasswordControl.ascx" TagName="PasswordControl" - TagPrefix="wsp" %> -<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" - TagPrefix="wsp" %> -<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" - TagPrefix="wsp" %> - - - -
    - - - - - - - - - - - - - - - - - - - -
    - Organization name: - - - -
    - Administrator name: - - - -
    - Administrator e-mail: - - - - @ - - - * -
    - Administrator password: - - - -
    -
    -
    - -
    -
    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/CreateOrganization.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/CreateOrganization.ascx.cs deleted file mode 100644 index d1d17829..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/CreateOrganization.ascx.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; -using WebsitePanel.Providers.ResultObjects; -using WebsitePanel.EnterpriseServer; - -namespace WebsitePanel.Portal.ExchangeHostedEdition -{ - public partial class CreateOrganization : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - // apply password policy - administratorPassword.SetPackagePolicy(PanelSecurity.PackageId, UserSettings.EXCHANGE_HOSTED_EDITION_POLICY, "MailboxPasswordPolicy"); - } - } - - protected void createOrganization_Click(object sender, EventArgs e) - { - if (!Page.IsValid) - return; - - try - { - string orgDomain = domain.Text.Trim(); - string adminEmail = administratorEmail.Text.Trim() + "@" + orgDomain; - - IntResult result = ES.Services.ExchangeHostedEdition.CreateExchangeOrganization(PanelSecurity.PackageId, - organizationName.Text.Trim(), - orgDomain, - administratorName.Text.Trim(), - adminEmail, - administratorPassword.Password); - - if (result.IsSuccess) - { - // navigate to details - Response.Redirect(NavigateURL("SpaceID", PanelSecurity.PackageId.ToString(), "ItemID=" + result.Value.ToString())); - } - else - { - // display message - messageBox.ShowMessage(result, "EXCHANGE_HOSTED_CREATE_ORGANIZATION", "ExchangeHostedEdition"); - } - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_HOSTED_CREATE_ORGANIZATION", ex); - } - } - } -} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/CreateOrganization.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/CreateOrganization.ascx.designer.cs deleted file mode 100644 index 5ec75218..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/CreateOrganization.ascx.designer.cs +++ /dev/null @@ -1,186 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.Portal.ExchangeHostedEdition { - - - public partial class CreateOrganization { - - /// - /// asyncTasks control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - - /// - /// CreateExchangeOrganizationPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel CreateExchangeOrganizationPanel; - - /// - /// messageBox control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; - - /// - /// validationErrors control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.ValidationSummary validationErrors; - - /// - /// locOrganizationName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locOrganizationName; - - /// - /// organizationName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox organizationName; - - /// - /// requireOrganizationName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator requireOrganizationName; - - /// - /// locAdministratorName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locAdministratorName; - - /// - /// administratorName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox administratorName; - - /// - /// requireAdministratorName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator requireAdministratorName; - - /// - /// locAdministratorEmail control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locAdministratorEmail; - - /// - /// administratorEmail control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox administratorEmail; - - /// - /// requireAdministratorEmail control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator requireAdministratorEmail; - - /// - /// domain control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox domain; - - /// - /// requireDomain control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator requireDomain; - - /// - /// requireCorrectDomain control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RegularExpressionValidator requireCorrectDomain; - - /// - /// locAdministratorPassword control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locAdministratorPassword; - - /// - /// administratorPassword control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.PasswordControl administratorPassword; - - /// - /// createOrganization control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button createOrganization; - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/DeleteOrganization.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/DeleteOrganization.ascx deleted file mode 100644 index 532fed8a..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/DeleteOrganization.ascx +++ /dev/null @@ -1,21 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DeleteOrganization.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeHostedEdition.DeleteOrganization" %> -<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> -<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> - - - -
    - - -
    - -
    - - -
    -
    - - -
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/DeleteOrganization.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/DeleteOrganization.ascx.cs deleted file mode 100644 index 1197cad6..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/DeleteOrganization.ascx.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; -using WebsitePanel.Providers.Common; - -namespace WebsitePanel.Portal.ExchangeHostedEdition -{ - public partial class DeleteOrganization : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - - } - - protected void delete_Click(object sender, EventArgs e) - { - if (!Page.IsValid) - return; - - if (!confirmDelete.Checked) - { - messageBox.ShowWarningMessage("EXCHANGE_HOSTED_CONFIRM_DELETE_ORGANIZATION"); - return; - } - - try - { - ResultObject result = ES.Services.ExchangeHostedEdition.DeleteExchangeOrganization(PanelRequest.ItemID); - - if (result.IsSuccess) - { - // navigate to details - Response.Redirect(NavigateURL("SpaceID", PanelSecurity.PackageId.ToString())); - } - else - { - // display message - messageBox.ShowMessage(result, "EXCHANGE_HOSTED_DELETE_ORGANIZATION", "ExchangeHostedEdition"); - } - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_HOSTED_DELETE_ORGANIZATION", ex); - } - } - - protected void cancel_Click(object sender, EventArgs e) - { - Response.Redirect(NavigateURL("SpaceID", PanelSecurity.PackageId.ToString(), "ItemID=" + PanelRequest.ItemID.ToString())); - } - } -} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/DeleteOrganization.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/DeleteOrganization.ascx.designer.cs deleted file mode 100644 index 880d371f..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/DeleteOrganization.ascx.designer.cs +++ /dev/null @@ -1,69 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.Portal.ExchangeHostedEdition { - - - public partial class DeleteOrganization { - - /// - /// asyncTasks control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - - /// - /// messageBox control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; - - /// - /// locWarningMessage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locWarningMessage; - - /// - /// confirmDelete control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.CheckBox confirmDelete; - - /// - /// delete control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button delete; - - /// - /// cancel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button cancel; - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/OrganizationDetails.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/OrganizationDetails.ascx deleted file mode 100644 index b8dc32c6..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/OrganizationDetails.ascx +++ /dev/null @@ -1,166 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="OrganizationDetails.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeHostedEdition.OrganizationDetails" %> -<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %> -<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> -<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> - - - -
    - -
    - Organization Details - - - - - - - - - - - - - - - - - -
    Organization name:
    Administrator name:
    Administrator e-mail:
    Exchange Control Panel:
    -
    - -
    -
    - -
    - Service Plan - - - - - - - - - - - - - - -
    Service:
    Program ID:
    Offer ID:
    - -
    - -
    -
    - Visible to admins only -
    -
    - -
    - Quotas - - - - - - - - - - - - - -
    Mailboxes:0 of 0 (max 0)
    Contacts:0 of 0 (max 0)
    Distribution Lists:0 of 0 (max 0)
    -
    - -
    -
    - -
    - Domains -
    - -
    - - - - - - - <%# Eval("Name") %> - - - - -
    -   - -
    -
    -
    - - -
    -   - -
    -
    -
    - - -   - - -
    -
    -
    - -     - -
    - - <%-- -
    - Catch-all - - - - - -
    Catch-all address:(not set)
    -
    - -
    -
    - --%> - -
    - Setup Instructions -
    - (not set) -
    -
    - - - - -
    -
    -
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/OrganizationDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/OrganizationDetails.ascx.cs deleted file mode 100644 index 089d2bf0..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/OrganizationDetails.ascx.cs +++ /dev/null @@ -1,211 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; -using WebsitePanel.Providers.Common; -using WebsitePanel.Providers.ExchangeHostedEdition; - -namespace WebsitePanel.Portal.ExchangeHostedEdition -{ - public partial class OrganizationDetails : WebsitePanelModuleBase - { - private int ItemID - { - get { return (ViewState["ItemID"] != null) ? (int)ViewState["ItemID"] : 0; } - set { ViewState["ItemID"] = value; } - } - - protected void Page_Load(object sender, EventArgs e) - { - // get organization details - ExchangeOrganization[] orgs = ES.Services.ExchangeHostedEdition.GetOrganizations(PanelSecurity.PackageId); - - if (orgs.Length == 0) - { - // create a new organization - Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "create_org")); - return; - } - else - { - // bind - if(!IsPostBack) - BindOrganization(orgs[0].Id); - } - } - - private void BindOrganization(int itemId) - { - // load organization details - ExchangeOrganization org = null; - try - { - org = ES.Services.ExchangeHostedEdition.GetExchangeOrganizationDetails(itemId); - if (org == null) - throw new ArgumentNullException("Organization not found"); - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_HOSTED_GET_ORGANIZATION", ex); - return; - } - - // basic details - ItemID = org.Id; - organizationName.Text = org.Name; - administratorName.Text = org.AdministratorName; - administratorEmail.Text = org.AdministratorEmail; - ecpURL.Text = org.ExchangeControlPanelUrl; - ecpURL.NavigateUrl = org.ExchangeControlPanelUrl; - - // service plan - serviceName.Text = org.ServicePlan; - programID.Text = org.ProgramId; - offerID.Text = org.OfferId; - servicePlanBlock.Visible = (PanelSecurity.LoggedUser.Role == EnterpriseServer.UserRole.Administrator); - - // quotas - string quotaFormat = GetLocalizedString("quota.FormatText"); - mailboxes.Text = String.Format(quotaFormat, org.MailboxCount, FormatUnlimited(org.MailboxCountQuota), FormatUnlimited(org.MaxMailboxCountQuota)); - contacts.Text = String.Format(quotaFormat, org.ContactCount, FormatUnlimited(org.ContactCountQuota), FormatUnlimited(org.MaxContactCountQuota)); - distributionLists.Text = String.Format(quotaFormat, org.DistributionListCount, FormatUnlimited(org.DistributionListCountQuota), FormatUnlimited(org.MaxDistributionListCountQuota)); - - - // catch-all - //catchAllAddress.Text = !String.IsNullOrEmpty(org.CatchAllAddress) ? org.CatchAllAddress : GetLocalizedString("catchAllNotSet.Text"); - - // domains - BindOrganizationDomains(org); - - // summary - BindOrganizationSummary(org); - } - - private string FormatUnlimited(int num) - { - return (num != -1) ? num.ToString() : GetLocalizedString("unlimited.Text"); - } - - private void BindOrganizationDomains(ExchangeOrganization org) - { - try - { - // bind grid - gvDomains.DataSource = org.Domains; - gvDomains.DataBind(); - - // set gauge - domainsQuota.QuotaValue = org.MaxDomainsCountQuota; - domainsQuota.QuotaUsedValue = org.Domains.Length; - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_HOSTED_GET_DOMAINS", ex); - return; - } - } - - private void BindOrganizationSummary(ExchangeOrganization org) - { - try - { - string summaryText = ES.Services.ExchangeHostedEdition.GetExchangeOrganizationSummary(org.Id); - setupInstructions.Text = !String.IsNullOrEmpty(summaryText) ? summaryText : GetLocalizedString("summaryTemplateNotSet.Text"); - - // hide block if template is not set - organizationSummary.Visible = !String.IsNullOrEmpty(summaryText) || (PanelSecurity.LoggedUser.Role != EnterpriseServer.UserRole.User); - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_HOSTED_GET_DOMAINS", ex); - return; - } - } - - protected void gvDomains_RowDeleting(object sender, GridViewDeleteEventArgs e) - { - // delete domain - DeleteDomain(gvDomains.DataKeys[e.RowIndex][0].ToString()); - - // cancel event - e.Cancel = true; - } - - private void DeleteDomain(string domainName) - { - try - { - // call service - ResultObject result = ES.Services.ExchangeHostedEdition.DeleteExchangeOrganizationDomain(ItemID, domainName); - - // check results - if (result.IsSuccess) - { - // refresh details - BindOrganization(ItemID); - } - else - { - // display message - messageBox.ShowMessage(result, "EXCHANGE_HOSTED_DELETE_DOMAIN", "ExchangeHostedEdition"); - } - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_HOSTED_DELETE_DOMAIN", ex); - } - } - - protected void deleteOrganization_Click(object sender, EventArgs e) - { - Response.Redirect(EditUrl("ItemID", ItemID.ToString(), "delete_org", "SpaceID=" + PanelSecurity.PackageId.ToString())); - } - - protected void changeServicePlan_Click(object sender, EventArgs e) - { - Response.Redirect(EditUrl("ItemID", ItemID.ToString(), "update_org_plan", "SpaceID=" + PanelSecurity.PackageId.ToString())); - } - - protected void updateQuotas_Click(object sender, EventArgs e) - { - Response.Redirect(EditUrl("ItemID", ItemID.ToString(), "update_org_quotas", "SpaceID=" + PanelSecurity.PackageId.ToString())); - } - - protected void btnAddDomain_Click(object sender, EventArgs e) - { - Response.Redirect(EditUrl("ItemID", ItemID.ToString(), "add_org_domain", "SpaceID=" + PanelSecurity.PackageId.ToString())); - } - - protected void setCatchAll_Click(object sender, EventArgs e) - { - Response.Redirect(EditUrl("ItemID", ItemID.ToString(), "update_org_catchall", "SpaceID=" + PanelSecurity.PackageId.ToString())); - } - - protected void sendSetupInstructions_Click(object sender, EventArgs e) - { - if (!Page.IsValid) - return; - - try - { - ResultObject result = ES.Services.ExchangeHostedEdition.SendExchangeOrganizationSummary(ItemID, sendTo.Text.Trim()); - - if (result.IsSuccess) - { - // display success message - messageBox.ShowSuccessMessage("EXCHANGE_HOSTED_SEND_SUMMARY"); - } - else - { - // display error message - messageBox.ShowMessage(result, "EXCHANGE_HOSTED_SEND_SUMMARY", "ExchangeHostedEdition"); - } - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_HOSTED_SEND_SUMMARY", ex); - } - } - } -} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/OrganizationDetails.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/OrganizationDetails.ascx.designer.cs deleted file mode 100644 index 9c330d65..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/OrganizationDetails.ascx.designer.cs +++ /dev/null @@ -1,393 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.Portal.ExchangeHostedEdition { - - - public partial class OrganizationDetails { - - /// - /// asyncTasks control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - - /// - /// messageBox control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; - - /// - /// locOrganizationDetails control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locOrganizationDetails; - - /// - /// locOrganizationName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locOrganizationName; - - /// - /// organizationName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal organizationName; - - /// - /// locAdministratorName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locAdministratorName; - - /// - /// administratorName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal administratorName; - - /// - /// locAdministratorEmail control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locAdministratorEmail; - - /// - /// administratorEmail control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal administratorEmail; - - /// - /// locEcpURL control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locEcpURL; - - /// - /// ecpURL control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.HyperLink ecpURL; - - /// - /// deleteOrganization control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button deleteOrganization; - - /// - /// servicePlanBlock control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlGenericControl servicePlanBlock; - - /// - /// locServicePlan control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locServicePlan; - - /// - /// locService control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locService; - - /// - /// serviceName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal serviceName; - - /// - /// locProgramID control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locProgramID; - - /// - /// programID control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal programID; - - /// - /// locOfferID control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locOfferID; - - /// - /// offerID control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal offerID; - - /// - /// changeServicePlan control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button changeServicePlan; - - /// - /// lblAdminsWarning control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblAdminsWarning; - - /// - /// locQuotas control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locQuotas; - - /// - /// locMailboxes control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locMailboxes; - - /// - /// mailboxes control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal mailboxes; - - /// - /// locContacts control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locContacts; - - /// - /// contacts control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal contacts; - - /// - /// locDistributionLists control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locDistributionLists; - - /// - /// distributionLists control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal distributionLists; - - /// - /// updateQuotas control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button updateQuotas; - - /// - /// locDomains control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locDomains; - - /// - /// btnAddDomain control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button btnAddDomain; - - /// - /// gvDomains control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.GridView gvDomains; - - /// - /// locDomainsQuota control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locDomainsQuota; - - /// - /// domainsQuota control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.QuotaViewer domainsQuota; - - /// - /// organizationSummary control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlGenericControl organizationSummary; - - /// - /// locSetupInstructions control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locSetupInstructions; - - /// - /// setupInstructions control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal setupInstructions; - - /// - /// locSendTo control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locSendTo; - - /// - /// sendTo control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox sendTo; - - /// - /// sendSetupInstructions control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button sendSetupInstructions; - - /// - /// requireSendTo control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator requireSendTo; - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationCatchAll.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationCatchAll.ascx deleted file mode 100644 index e822eb26..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationCatchAll.ascx +++ /dev/null @@ -1,44 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UpdateOrganizationCatchAll.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeHostedEdition.UpdateOrganizationCatchAll" %> -<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> -<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> - - - -
    - - - - - - - - - - - -
    - - - - -
    -
    Catch-all mailbox: - - - - @ - - -
    -
    -
    - - -
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationCatchAll.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationCatchAll.ascx.cs deleted file mode 100644 index e5dddcb5..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationCatchAll.ascx.cs +++ /dev/null @@ -1,108 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; -using WebsitePanel.Providers.Common; -using WebsitePanel.Providers.ExchangeHostedEdition; - -namespace WebsitePanel.Portal.ExchangeHostedEdition -{ - public partial class UpdateOrganizationCatchAll : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - BindOrganizationDomains(); - BindCatchAllMode(); - } - } - - private void BindOrganizationDomains() - { - try - { - // read domains - ExchangeOrganizationDomain[] orgDomains = ES.Services.ExchangeHostedEdition.GetExchangeOrganizationDomains(PanelRequest.ItemID); - - // bind domains - domains.DataSource = orgDomains; - domains.DataBind(); - - // select default domain - foreach (ExchangeOrganizationDomain domain in orgDomains) - { - if (domain.IsDefault) - { - domains.SelectedValue = domain.Name; - break; - } - } - - // insert empty item in the beginning - domains.Items.Insert(0, new ListItem(GetLocalizedString("SelectDomain.Text"), "")); - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_HOSTED_GET_DOMAINS", ex); - } - } - - private void BindCatchAllMode() - { - rawCatchAllAddress.Visible = (catchAllMode.SelectedIndex > 0); - } - - protected void update_Click(object sender, EventArgs e) - { - if (!Page.IsValid) - return; - - try - { - // collect form data - string catchAllEmail = catchAllAddress.Text.Trim() + "@" + domains.SelectedValue; - if (catchAllMode.SelectedIndex == 0) - { - catchAllEmail = ""; // disabled - } - - // call service - ResultObject result = ES.Services.ExchangeHostedEdition.UpdateExchangeOrganizationCatchAllAddress( - PanelRequest.ItemID, catchAllEmail); - - // check results - if (result.IsSuccess) - { - // navigate to details - RedirectBack(); - } - else - { - // display message - messageBox.ShowMessage(result, "EXCHANGE_HOSTED_CHANGE_QUOTAS", "ExchangeHostedEdition"); - } - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_HOSTED_CHANGE_QUOTAS", ex); - } - } - - protected void cancel_Click(object sender, EventArgs e) - { - RedirectBack(); - } - - private void RedirectBack() - { - Response.Redirect(NavigateURL("SpaceID", PanelSecurity.PackageId.ToString(), "ItemID=" + PanelRequest.ItemID.ToString())); - } - - protected void catchAllMode_SelectedIndexChanged(object sender, EventArgs e) - { - BindCatchAllMode(); - } - } -} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationCatchAll.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationCatchAll.ascx.designer.cs deleted file mode 100644 index 6bb1db1d..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationCatchAll.ascx.designer.cs +++ /dev/null @@ -1,132 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.Portal.ExchangeHostedEdition { - - - public partial class UpdateOrganizationCatchAll { - - /// - /// asyncTasks control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - - /// - /// messageBox control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; - - /// - /// validationErrors control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.ValidationSummary validationErrors; - - /// - /// catchAllMode control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RadioButtonList catchAllMode; - - /// - /// rawCatchAllAddress control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlTableRow rawCatchAllAddress; - - /// - /// locCatchAllAddress control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locCatchAllAddress; - - /// - /// catchAllAddress control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox catchAllAddress; - - /// - /// requireCatchAllAddress control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator requireCatchAllAddress; - - /// - /// requireCorrectEmail control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RegularExpressionValidator requireCorrectEmail; - - /// - /// domains control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList domains; - - /// - /// requireDomain control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator requireDomain; - - /// - /// update control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button update; - - /// - /// cancel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button cancel; - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationQuotas.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationQuotas.ascx deleted file mode 100644 index 9c4fde3d..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationQuotas.ascx +++ /dev/null @@ -1,52 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UpdateOrganizationQuotas.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeHostedEdition.UpdateOrganizationQuotas" %> -<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> -<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> - - - -
    - - - - - - - - - - - - - - - - -
    - - (max 0) - - -
    - - (max 0) - - -
    - - (max 0) - - -
    -
    -
    - - -
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationQuotas.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationQuotas.ascx.cs deleted file mode 100644 index 8c0cddcb..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationQuotas.ascx.cs +++ /dev/null @@ -1,121 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; -using WebsitePanel.Providers.Common; -using WebsitePanel.Providers.ExchangeHostedEdition; - -namespace WebsitePanel.Portal.ExchangeHostedEdition -{ - public partial class UpdateOrganizationQuotas : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - BindOrganizationQuotas(); - } - } - - private void BindOrganizationQuotas() - { - // load organization details - ExchangeOrganization org = null; - try - { - org = ES.Services.ExchangeHostedEdition.GetExchangeOrganizationDetails(PanelRequest.ItemID); - if (org == null) - throw new ArgumentNullException("Organization not found"); - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_HOSTED_GET_ORGANIZATION", ex); - return; - } - - // current quotas - mailboxes.Text = IsUnlimited(org.MailboxCountQuota) ? "" : org.MailboxCountQuota.ToString(); - contacts.Text = IsUnlimited(org.ContactCountQuota) ? "" : org.ContactCountQuota.ToString(); - distributionLists.Text = IsUnlimited(org.DistributionListCountQuota) ? "" : org.DistributionListCountQuota.ToString(); - - // max quotas - string maxQuotaFormat = GetLocalizedString("maxQuota.Text"); - maxMailboxes.Text = String.Format(maxQuotaFormat, FormatUnlimited(org.MaxMailboxCountQuota)); - maxContacts.Text = String.Format(maxQuotaFormat, FormatUnlimited(org.MaxContactCountQuota)); - maxDistributionLists.Text = String.Format(maxQuotaFormat, FormatUnlimited(org.MaxDistributionListCountQuota)); - - if (!IsUnlimited(org.MaxMailboxCountQuota)) - { - requireMailboxes.Enabled = true; - rangeMailboxes.MaximumValue = org.MaxMailboxCountQuota.ToString(); - } - - if (!IsUnlimited(org.MaxContactCountQuota)) - { - requireContacts.Enabled = true; - rangeContacts.MaximumValue = org.MaxContactCountQuota.ToString(); - } - - if (!IsUnlimited(org.MaxDistributionListCountQuota)) - { - requireDistributionLists.Enabled = true; - rangeDistributionLists.MaximumValue = org.MaxDistributionListCountQuota.ToString(); - } - } - - private bool IsUnlimited(int num) - { - return (num == -1); - } - - private string FormatUnlimited(int num) - { - return IsUnlimited(num) ? GetLocalizedString("unlimited.Text") : num.ToString(); - } - - protected void update_Click(object sender, EventArgs e) - { - if (!Page.IsValid) - return; - - try - { - // collect form data - int mailboxesNumber = (mailboxes.Text.Trim() == "") ? -1 : Utils.ParseInt(mailboxes.Text, 0); - int contactsNumber = (contacts.Text.Trim() == "") ? -1 : Utils.ParseInt(contacts.Text, 0); - int distributionListsNumber = (distributionLists.Text.Trim() == "") ? -1 : Utils.ParseInt(distributionLists.Text, 0); - - // call service - ResultObject result = ES.Services.ExchangeHostedEdition.UpdateExchangeOrganizationQuotas( - PanelRequest.ItemID, mailboxesNumber, contactsNumber, distributionListsNumber); - - // check results - if (result.IsSuccess) - { - // navigate to details - RedirectBack(); - } - else - { - // display message - messageBox.ShowMessage(result, "EXCHANGE_HOSTED_CHANGE_QUOTAS", "ExchangeHostedEdition"); - } - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_HOSTED_CHANGE_QUOTAS", ex); - } - } - - protected void cancel_Click(object sender, EventArgs e) - { - RedirectBack(); - } - - private void RedirectBack() - { - Response.Redirect(NavigateURL("SpaceID", PanelSecurity.PackageId.ToString(), "ItemID=" + PanelRequest.ItemID.ToString())); - } - } -} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationQuotas.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationQuotas.ascx.designer.cs deleted file mode 100644 index af229361..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationQuotas.ascx.designer.cs +++ /dev/null @@ -1,195 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.Portal.ExchangeHostedEdition { - - - public partial class UpdateOrganizationQuotas { - - /// - /// asyncTasks control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - - /// - /// messageBox control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; - - /// - /// validationErrors control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.ValidationSummary validationErrors; - - /// - /// locMailboxes control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locMailboxes; - - /// - /// mailboxes control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox mailboxes; - - /// - /// maxMailboxes control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal maxMailboxes; - - /// - /// requireMailboxes control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator requireMailboxes; - - /// - /// rangeMailboxes control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RangeValidator rangeMailboxes; - - /// - /// locContacts control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locContacts; - - /// - /// contacts control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox contacts; - - /// - /// maxContacts control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal maxContacts; - - /// - /// requireContacts control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator requireContacts; - - /// - /// rangeContacts control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RangeValidator rangeContacts; - - /// - /// locDistributionLists control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locDistributionLists; - - /// - /// distributionLists control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox distributionLists; - - /// - /// maxDistributionLists control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal maxDistributionLists; - - /// - /// requireDistributionLists control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator requireDistributionLists; - - /// - /// rangeDistributionLists control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RangeValidator rangeDistributionLists; - - /// - /// update control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button update; - - /// - /// cancel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button cancel; - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationServicePlan.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationServicePlan.ascx deleted file mode 100644 index 56404805..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationServicePlan.ascx +++ /dev/null @@ -1,58 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UpdateOrganizationServicePlan.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeHostedEdition.UpdateOrganizationServicePlan" %> -<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> -<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> - - - -
    - - - -
    - - - - - - - - - - - - - - -
    -
    - -
    - - - - - - - - - - - - - - -
    - - -
    -
    -
    -
    - - -
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationServicePlan.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationServicePlan.ascx.cs deleted file mode 100644 index 2e44f2c3..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationServicePlan.ascx.cs +++ /dev/null @@ -1,121 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; -using WebsitePanel.Providers.Common; -using WebsitePanel.EnterpriseServer; -using WebsitePanel.Providers.ExchangeHostedEdition; - -namespace WebsitePanel.Portal.ExchangeHostedEdition -{ - public partial class UpdateOrganizationServicePlan : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - BindServices(); - BindOrganizationDetails(); - } - } - - private void BindServices() - { - // bind - services.DataSource = ES.Services.Servers.GetRawServicesByGroupName(ResourceGroups.ExchangeHostedEdition).Tables[0].DefaultView; - services.DataBind(); - - // insert empty item - services.Items.Insert(0, new ListItem(GetLocalizedString("SelectService.Text"), "")); - } - - private void BindOrganizationDetails() - { - ExchangeOrganization org = ES.Services.ExchangeHostedEdition.GetExchangeOrganizationDetails(PanelRequest.ItemID); - if (org == null) - return; - - // selected service - ListItem sourceItem = null; - foreach (ListItem item in services.Items) - { - if (item.Value == org.ServiceId.ToString()) - { - sourceItem = item; - currentServiceName.Text = item.Text; - break; - } - } - - if (sourceItem != null) - services.Items.Remove(sourceItem); - - currentProgramID.Text = org.ProgramId; - currentOfferID.Text = org.OfferId; - } - - private void BindSelectedService() - { - int newServiceId = Utils.ParseInt(services.SelectedValue, 0); - - // get service settings - string[] settings = ES.Services.Servers.GetServiceSettings(newServiceId); - - foreach (string setting in settings) - { - string[] pair = setting.Split('='); - if(String.Equals(pair[0], "ProgramID", StringComparison.InvariantCultureIgnoreCase)) - newProgramID.Text = pair[1]; - else if (String.Equals(pair[0], "OfferID", StringComparison.InvariantCultureIgnoreCase)) - newOfferID.Text = pair[1]; - } - } - - protected void services_SelectedIndexChanged(object sender, EventArgs e) - { - BindSelectedService(); - } - - protected void apply_Click(object sender, EventArgs e) - { - if (!Page.IsValid) - return; - - try - { - // collect form data - int serviceId = Utils.ParseInt(services.SelectedValue, 0); - - // call service - ResultObject result = ES.Services.ExchangeHostedEdition.UpdateExchangeOrganizationServicePlan(PanelRequest.ItemID, serviceId); - - // check results - if (result.IsSuccess) - { - // navigate to details - RedirectBack(); - } - else - { - // display message - messageBox.ShowMessage(result, "EXCHANGE_HOSTED_CHANGE_SERVICE_PLAN", "ExchangeHostedEdition"); - } - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_HOSTED_CHANGE_SERVICE_PLAN", ex); - } - } - - protected void cancel_Click(object sender, EventArgs e) - { - RedirectBack(); - } - - private void RedirectBack() - { - Response.Redirect(NavigateURL("SpaceID", PanelSecurity.PackageId.ToString(), "ItemID=" + PanelRequest.ItemID.ToString())); - } - } -} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationServicePlan.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationServicePlan.ascx.designer.cs deleted file mode 100644 index d71d149c..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeHostedEdition/UpdateOrganizationServicePlan.ascx.designer.cs +++ /dev/null @@ -1,195 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.Portal.ExchangeHostedEdition { - - - public partial class UpdateOrganizationServicePlan { - - /// - /// asyncTasks control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - - /// - /// messageBox control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; - - /// - /// validationErrors control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.ValidationSummary validationErrors; - - /// - /// locCurrentServicePlan control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locCurrentServicePlan; - - /// - /// locCurrentService control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locCurrentService; - - /// - /// currentServiceName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal currentServiceName; - - /// - /// locCurrentProgramID control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locCurrentProgramID; - - /// - /// currentProgramID control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal currentProgramID; - - /// - /// locCurrentOfferID control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locCurrentOfferID; - - /// - /// currentOfferID control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal currentOfferID; - - /// - /// locNewServicePlan control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locNewServicePlan; - - /// - /// locNewService control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locNewService; - - /// - /// services control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList services; - - /// - /// requireServices control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator requireServices; - - /// - /// locNewProgramID control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locNewProgramID; - - /// - /// newProgramID control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal newProgramID; - - /// - /// locNewOfferID control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locNewOfferID; - - /// - /// newOfferID control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal newOfferID; - - /// - /// apply control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button apply; - - /// - /// cancel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button cancel; - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx deleted file mode 100644 index cd30d27b..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx +++ /dev/null @@ -1,42 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SettingsExchangeHostedEditionOrganizationSummary.ascx.cs" Inherits="WebsitePanel.Portal.SettingsExchangeHostedEditionOrganizationSummary" %> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    -
    - - High - Normal - Low - -


    -


    -
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx.cs deleted file mode 100644 index f434206d..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx.cs +++ /dev/null @@ -1,67 +0,0 @@ -// 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. - - -using System; -using System.Data; -using System.Configuration; -using System.Collections; -using System.Web; -using System.Web.Security; -using System.Web.UI; -using System.Web.UI.WebControls; -using System.Web.UI.WebControls.WebParts; -using System.Web.UI.HtmlControls; - -using WebsitePanel.EnterpriseServer; - -namespace WebsitePanel.Portal -{ - public partial class SettingsExchangeHostedEditionOrganizationSummary : WebsitePanelControlBase, IUserSettingsEditorControl - { - public void BindSettings(UserSettings settings) - { - txtFrom.Text = settings["From"]; - txtCC.Text = settings["CC"]; - txtSubject.Text = settings["Subject"]; - Utils.SelectListItem(ddlPriority, settings["Priority"]); - txtHtmlBody.Text = settings["HtmlBody"]; - txtTextBody.Text = settings["TextBody"]; - } - - public void SaveSettings(UserSettings settings) - { - settings["From"] = txtFrom.Text; - settings["CC"] = txtCC.Text; - settings["Subject"] = txtSubject.Text; - settings["Priority"] = ddlPriority.SelectedValue; - settings["HtmlBody"] = txtHtmlBody.Text; - settings["TextBody"] = txtTextBody.Text; - } - } -} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx.designer.cs deleted file mode 100644 index 605a8733..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionOrganizationSummary.ascx.designer.cs +++ /dev/null @@ -1,123 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.Portal { - - - public partial class SettingsExchangeHostedEditionOrganizationSummary { - - /// - /// lblFrom control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblFrom; - - /// - /// txtFrom control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtFrom; - - /// - /// lblCC control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblCC; - - /// - /// txtCC control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtCC; - - /// - /// lblSubject control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblSubject; - - /// - /// txtSubject control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtSubject; - - /// - /// lblPriority control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblPriority; - - /// - /// ddlPriority control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList ddlPriority; - - /// - /// lblHtmlBody control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblHtmlBody; - - /// - /// txtHtmlBody control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtHtmlBody; - - /// - /// lblTextBody control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblTextBody; - - /// - /// txtTextBody control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtTextBody; - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx deleted file mode 100644 index a0d6e374..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx +++ /dev/null @@ -1,18 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SettingsExchangeHostedEditionPolicy.ascx.cs" Inherits="WebsitePanel.Portal.SettingsExchangeHostedEditionPolicy" %> -<%@ Register Src="UserControls/PasswordPolicyEditor.ascx" TagName="PasswordPolicyEditor" TagPrefix="wsp" %> -<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="UserControls/CollapsiblePanel.ascx" %> - - - - - - - - -
    - - - -
    -
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx.cs deleted file mode 100644 index f0621cf4..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx.cs +++ /dev/null @@ -1,58 +0,0 @@ -// 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. - -using System; -using System.Data; -using System.Configuration; -using System.Collections; -using System.Web; -using System.Web.Security; -using System.Web.UI; -using System.Web.UI.WebControls; -using System.Web.UI.WebControls.WebParts; -using System.Web.UI.HtmlControls; - -using WebsitePanel.EnterpriseServer; - -namespace WebsitePanel.Portal -{ - public partial class SettingsExchangeHostedEditionPolicy : WebsitePanelControlBase, IUserSettingsEditorControl - { - public void BindSettings(UserSettings settings) - { - // mailbox - mailboxPasswordPolicy.Value = settings["MailboxPasswordPolicy"]; - } - - public void SaveSettings(UserSettings settings) - { - // mailbox - settings["MailboxPasswordPolicy"] = mailboxPasswordPolicy.Value; - } - } -} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx.designer.cs deleted file mode 100644 index 1653b06c..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsExchangeHostedEditionPolicy.ascx.designer.cs +++ /dev/null @@ -1,42 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.Portal { - - - public partial class SettingsExchangeHostedEditionPolicy { - - /// - /// secMailboxPassword control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.CollapsiblePanel secMailboxPassword; - - /// - /// MailboxPasswordPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel MailboxPasswordPanel; - - /// - /// mailboxPasswordPolicy control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.PasswordPolicyEditor mailboxPasswordPolicy; - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx index a0ed1fa1..a93f67c0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx @@ -24,9 +24,6 @@ - diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx.cs index b09f8fb4..8fd926ed 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx.cs @@ -59,8 +59,6 @@ namespace WebsitePanel.Portal "edit_settings", "SettingsName=ChildSpacesFolder", "SpaceID=" + PanelSecurity.PackageId.ToString()); lnkExchangeServer.NavigateUrl = EditUrl("SettingsControl", "SpaceSettingsExchangeServer", "edit_settings", "SettingsName=ExchangeServer", "SpaceID=" + PanelSecurity.PackageId.ToString()); - lnkExchangeHostedEdition.NavigateUrl = EditUrl("SettingsControl", "SpaceSettingsExchangeHostedEdition", - "edit_settings", "SettingsName=ExchangeHostedEdition", "SpaceID=" + PanelSecurity.PackageId.ToString()); lnkVps.NavigateUrl = EditUrl("SettingsControl", "SpaceSettingsVPS", "edit_settings", "SettingsName=VirtualPrivateServers", "SpaceID=" + PanelSecurity.PackageId.ToString()); lnkVpsForPC.NavigateUrl = EditUrl("SettingsControl", "SpaceSettingsVPSForPC", diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx.designer.cs index 6cf872b4..795ee993 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettings.ascx.designer.cs @@ -84,15 +84,6 @@ namespace WebsitePanel.Portal { ///
    protected global::System.Web.UI.WebControls.HyperLink lnkExchangeServer; - /// - /// lnkExchangeHostedEdition control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.HyperLink lnkExchangeHostedEdition; - /// /// lnkVps control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx deleted file mode 100644 index e58866ab..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx +++ /dev/null @@ -1,18 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SpaceSettingsExchangeHostedEdition.ascx.cs" Inherits="WebsitePanel.Portal.SpaceSettingsExchangeHostedEdition" %> - -
    - Domain Templates - - - - - - - - - -
    Temporary domain:organization_domain.
    ECP URL template: -
    - You can use [DOMAIN_NAME] variable for organization default domain. -
    -
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx.cs deleted file mode 100644 index 77cbfbc8..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx.cs +++ /dev/null @@ -1,63 +0,0 @@ -// 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. - -using System; -using System.Data; -using System.Configuration; -using System.Collections; -using System.Web; -using System.Web.Security; -using System.Web.UI; -using System.Web.UI.WebControls; -using System.Web.UI.WebControls.WebParts; -using System.Web.UI.HtmlControls; - -using WebsitePanel.EnterpriseServer; - -namespace WebsitePanel.Portal -{ - public partial class SpaceSettingsExchangeHostedEdition : WebsitePanelControlBase, IPackageSettingsEditorControl - { - protected void Page_Load(object sender, EventArgs e) - { - - } - - public void BindSettings(PackageSettings settings) - { - temporaryDomain.Text = settings["temporaryDomain"]; - ecpURL.Text = settings["ecpURL"]; - } - - public void SaveSettings(PackageSettings settings) - { - settings["temporaryDomain"] = temporaryDomain.Text.Trim(); - settings["ecpURL"] = ecpURL.Text.Trim(); - } - } -} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx.designer.cs deleted file mode 100644 index e6e8dd5e..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceSettingsExchangeHostedEdition.ascx.designer.cs +++ /dev/null @@ -1,69 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.Portal { - - - public partial class SpaceSettingsExchangeHostedEdition { - - /// - /// locDomainTemplates control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locDomainTemplates; - - /// - /// locTemporaryDomain control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locTemporaryDomain; - - /// - /// temporaryDomain control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox temporaryDomain; - - /// - /// locEcpURL control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locEcpURL; - - /// - /// ecpURL control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox ecpURL; - - /// - /// locEcpURLDescr control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locEcpURLDescr; - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMailTemplateSettings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMailTemplateSettings.ascx index 7f83cb56..12da225e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMailTemplateSettings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMailTemplateSettings.ascx @@ -26,10 +26,6 @@ -
  • - -
  • diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMailTemplateSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMailTemplateSettings.ascx.designer.cs index edb0f27d..f30b5556 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMailTemplateSettings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountMailTemplateSettings.ascx.designer.cs @@ -66,15 +66,6 @@ namespace WebsitePanel.Portal { /// protected global::System.Web.UI.WebControls.HyperLink HyperLink2; - /// - /// lnkExchangeHostedEditionOrganizationSummary control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.HyperLink lnkExchangeHostedEditionOrganizationSummary; - /// /// lnkVpsSummaryLetter control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountPolicySettings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountPolicySettings.ascx index 412ecee2..a9fc8fe1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountPolicySettings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountPolicySettings.ascx @@ -37,10 +37,6 @@
  • -
  • - -
  • diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountPolicySettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountPolicySettings.ascx.designer.cs index d818355e..d47171c5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountPolicySettings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserAccountPolicySettings.ascx.designer.cs @@ -93,15 +93,6 @@ namespace WebsitePanel.Portal { /// protected global::System.Web.UI.WebControls.HyperLink lnkExchangePolicy; - /// - /// lnkExchangeHostedEditionPolicy control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.HyperLink lnkExchangeHostedEditionPolicy; - /// /// lnkVpsPolicy control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj index 969f4bfb..2bc48ea9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj @@ -534,13 +534,6 @@ HyperVForPrivateCloud_Settings.ascx - - SettingsExchangeHostedEditionOrganizationSummary.ascx - ASPXCodeBehind - - - SettingsExchangeHostedEditionOrganizationSummary.ascx - SetupControlPanelAccounts.ascx ASPXCodeBehind @@ -548,69 +541,6 @@ SetupControlPanelAccounts.ascx - - SpaceSettingsExchangeHostedEdition.ascx - ASPXCodeBehind - - - SpaceSettingsExchangeHostedEdition.ascx - - - SettingsExchangeHostedEditionPolicy.ascx - ASPXCodeBehind - - - SettingsExchangeHostedEditionPolicy.ascx - - - AddOrganizationDomain.ascx - ASPXCodeBehind - - - AddOrganizationDomain.ascx - - - CreateOrganization.ascx - ASPXCodeBehind - - - CreateOrganization.ascx - - - DeleteOrganization.ascx - ASPXCodeBehind - - - DeleteOrganization.ascx - - - OrganizationDetails.ascx - ASPXCodeBehind - - - OrganizationDetails.ascx - - - UpdateOrganizationCatchAll.ascx - ASPXCodeBehind - - - UpdateOrganizationCatchAll.ascx - - - UpdateOrganizationQuotas.ascx - ASPXCodeBehind - - - UpdateOrganizationQuotas.ascx - - - UpdateOrganizationServicePlan.ascx - ASPXCodeBehind - - - UpdateOrganizationServicePlan.ascx - ExchangeMailboxMobile.ascx ASPXCodeBehind @@ -3804,17 +3734,7 @@ - - - - - - - - - - @@ -4768,27 +4688,6 @@ Designer - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - - - Designer - Designer From 50f2c43315361265545afe2175fda86cb212fd87 Mon Sep 17 00:00:00 2001 From: robvde Date: Mon, 9 Jul 2012 12:03:24 +0400 Subject: [PATCH 40/78] Significant amount of changes to hosted organizations and exchange: Exchange 2010 SP2 provisioning separated through a new provider Exchange 2010 SP2 now compliant with product group guidelines Support for Database Availability Group Fixed Distribution List view scope to only tenant Consumer support (individual mailboxes as hotmail) added Mailbox configuration moved to mailbox plans concept CN creation is now based on UPN sAMAccountName generation revised and decoupled from tenant name 2007 (ACL Based), 2010 (ACL Bases), 2010 SP2 (ABP) supported Automated Hosted Organization provisioning added to create hosting space Enterprise Server webservice extended with ImportMethod Mobile tab fixed Added more information to users listview --- WebsitePanel/Database/install_db.sql | 572 +++- WebsitePanel/Database/update_db.sql | 1286 ++++++++- .../Packages/Quotas.cs | 5 + .../ExchangeServerProxy.cs | 2333 +++++++++-------- .../OrganizationProxy.cs | 1766 ++++++++----- .../Code/Data/DataProvider.cs | 181 +- .../ExchangeServerController.cs | 1700 +++++++----- .../HostedSolution/OrganizationController.cs | 347 ++- .../esExchangeServer.asmx.cs | 656 ++--- .../esOrganizations.asmx.cs | 46 +- .../HostedSolution/ActiveDirectoryUtils.cs | 74 +- .../HostedSolution/ExchangeAccount.cs | 110 +- .../HostedSolution/ExchangeContact.cs | 350 +-- .../ExchangeDistributionList.cs | 125 +- .../HostedSolution/ExchangeMailboxPlan.cs | 160 ++ .../HostedSolution/IExchangeServer.cs | 139 +- .../HostedSolution/IOrganization.cs | 8 +- .../HostedSolution/Organization.cs | 48 +- .../HostedSolution/OrganizationUser.cs | 9 + .../HostedSolution/TransactionAction.cs | 71 + .../WebsitePanel.Providers.Base.csproj | 2 + .../Exchange2007.cs | 1327 +++++----- .../Exchange2010.cs | 2 +- .../Exchange2010SP2.cs | 753 ++++++ .../ExchangeLog.cs | 114 +- .../ExchangeTransaction.cs | 342 ++- .../OrganizationProvider.cs | 90 +- ...bsitePanel.Providers.HostedSolution.csproj | 1 + .../ExchangeServerProxy.cs | 1110 +++----- .../OrganizationProxy.cs | 207 +- .../Sources/WebsitePanel.Server.Utils/Log.cs | 226 +- .../ExchangeServer.asmx.cs | 1464 ++++++----- .../WebsitePanel.Server/Organizations.asmx.cs | 29 +- .../App_Data/SiteSettings.config | 2 +- .../App_Data/WebsitePanel_Modules.config | 5 +- .../WebsitePanel_SharedResources.ascx.resx | 17 +- .../Default/Images/Exchange/blank16.gif | Bin 0 -> 832 bytes .../Default/Images/Exchange/disabled.png | Bin 0 -> 676 bytes .../Default/Images/Exchange/enabled.png | Bin 0 -> 719 bytes .../UserCreateSpace.ascx.resx | 7 +- .../ExchangeActiveSyncSettings.ascx.resx | 6 +- .../ExchangeAddDomainName.ascx.resx | 9 +- ....resx => ExchangeAddMailboxPlan.ascx.resx} | 66 +- .../ExchangeContactGeneralSettings.ascx.resx | 4 +- .../ExchangeContactMailFlowSettings.ascx.resx | 4 +- .../ExchangeContacts.ascx.resx | 4 +- .../ExchangeCreateContact.ascx.resx | 4 +- .../ExchangeCreateDistributionList.ascx.resx | 18 +- .../ExchangeCreateMailbox.ascx.resx | 15 +- ...geDistributionListEmailAddresses.ascx.resx | 6 +- ...eDistributionListGeneralSettings.ascx.resx | 10 +- ...DistributionListMailFlowSettings.ascx.resx | 4 +- .../ExchangeDistributionLists.ascx.resx | 4 +- .../ExchangeDomainNames.ascx.resx | 10 +- .../ExchangeDomainRecords.ascx.resx | 6 +- .../ExchangeMailboxEmailAddresses.ascx.resx | 6 +- .../ExchangeMailboxGeneralSettings.ascx.resx | 85 +- .../ExchangeMailboxMailFlowSettings.ascx.resx | 4 +- .../ExchangeMailboxMobile.ascx.resx | 32 +- .../ExchangeMailboxMobileDetails.ascx.resx | 46 +- .../ExchangeMailboxPermissions.ascx.resx | 16 +- .../ExchangeMailboxPlans.ascx.resx} | 46 +- ...ExchangeMailboxSetupInstructions.ascx.resx | 4 +- .../ExchangeMailboxes.ascx.resx | 16 +- .../ExchangeStorageLimits.ascx.resx | 162 -- .../ExchangeStorageUsage.ascx.resx | 14 +- .../ExchangeStorageUsageBreakdown.ascx.resx | 4 +- .../OrganizationCreateOrganization.ascx.resx | 6 +- .../OrganizationCreateUser.ascx.resx | 15 +- .../OrganizationHome.ascx.resx | 111 +- .../OrganizationUserGeneralSettings.ascx.resx | 24 +- ...rganizationUserSetupInstructions.ascx.resx | 4 +- .../OrganizationUsers.ascx.resx | 19 +- .../Organizations.ascx.resx | 8 +- .../ExchangeActiveSyncSettings.ascx | 12 +- .../ExchangeActiveSyncSettings.ascx.cs | 6 +- ...xchangeActiveSyncSettings.ascx.designer.cs | 9 +- .../ExchangeServer/ExchangeAddDomainName.ascx | 8 +- .../ExchangeAddDomainName.ascx.cs | 48 +- .../ExchangeAddDomainName.ascx.designer.cs | 31 +- ...tings.ascx => ExchangeAddMailboxPlan.ascx} | 146 +- .../ExchangeAddMailboxPlan.ascx.cs | 192 ++ ...> ExchangeAddMailboxPlan.ascx.designer.cs} | 248 +- .../ExchangeContactGeneralSettings.ascx.cs | 27 +- ...ngeContactGeneralSettings.ascx.designer.cs | 9 +- .../ExchangeContactMailFlowSettings.ascx.cs | 17 +- ...geContactMailFlowSettings.ascx.designer.cs | 9 +- .../ExchangeServer/ExchangeContacts.ascx | 9 +- .../ExchangeServer/ExchangeContacts.ascx.cs | 93 +- .../ExchangeContacts.ascx.designer.cs | 9 - .../ExchangeCreateContact.ascx.cs | 16 +- .../ExchangeCreateContact.ascx.designer.cs | 164 +- .../ExchangeCreateDistributionList.ascx.cs | 21 +- ...ngeCreateDistributionList.ascx.designer.cs | 3 +- .../ExchangeServer/ExchangeCreateMailbox.ascx | 29 +- .../ExchangeCreateMailbox.ascx.cs | 74 +- .../ExchangeCreateMailbox.ascx.designer.cs | 44 +- ...xchangeDistributionListEmailAddresses.ascx | 11 +- ...angeDistributionListEmailAddresses.ascx.cs | 49 +- ...ibutionListEmailAddresses.ascx.designer.cs | 194 +- ...ngeDistributionListGeneralSettings.ascx.cs | 25 +- ...butionListGeneralSettings.ascx.designer.cs | 3 +- ...geDistributionListMailFlowSettings.ascx.cs | 17 +- ...utionListMailFlowSettings.ascx.designer.cs | 9 +- ...xchangeDistributionListPermissions.ascx.cs | 15 +- ...stributionListPermissions.ascx.designer.cs | 3 +- .../ExchangeDistributionLists.ascx | 9 +- .../ExchangeDistributionLists.ascx.cs | 77 +- ...ExchangeDistributionLists.ascx.designer.cs | 9 - .../ExchangeDomainNames.ascx.cs | 48 +- .../ExchangeDomainNames.ascx.designer.cs | 3 +- .../ExchangeDomainRecords.ascx.cs | 273 +- .../ExchangeDomainRecords.ascx.designer.cs | 28 - .../ExchangeMailboxAdvancedSettings.ascx.cs | 164 -- .../ExchangeMailboxEmailAddresses.ascx | 13 +- .../ExchangeMailboxEmailAddresses.ascx.cs | 59 +- ...angeMailboxEmailAddresses.ascx.designer.cs | 3 +- .../ExchangeMailboxGeneralSettings.ascx | 225 +- .../ExchangeMailboxGeneralSettings.ascx.cs | 136 +- ...ngeMailboxGeneralSettings.ascx.designer.cs | 412 +-- .../ExchangeMailboxMailFlowSettings.ascx | 27 - .../ExchangeMailboxMailFlowSettings.ascx.cs | 50 +- ...geMailboxMailFlowSettings.ascx.designer.cs | 75 +- .../ExchangeMailboxMobile.ascx.cs | 20 +- .../ExchangeMailboxMobile.ascx.designer.cs | 3 +- .../ExchangeMailboxMobileDetails.ascx.cs | 65 +- ...hangeMailboxMobileDetails.ascx.designer.cs | 3 +- .../ExchangeMailboxPermissions.ascx.cs | 20 +- ...xchangeMailboxPermissions.ascx.designer.cs | 3 +- .../ExchangeServer/ExchangeMailboxPlans.ascx | 73 + .../ExchangeMailboxPlans.ascx.cs | 126 + .../ExchangeMailboxPlans.ascx.designer.cs} | 71 +- .../ExchangeMailboxSetupInstructions.ascx.cs | 7 +- ...eMailboxSetupInstructions.ascx.designer.cs | 9 +- .../ExchangeServer/ExchangeMailboxes.ascx | 28 +- .../ExchangeServer/ExchangeMailboxes.ascx.cs | 91 +- .../ExchangeMailboxes.ascx.designer.cs | 9 - .../ExchangeServer/ExchangeStorageLimits.ascx | 91 - .../ExchangeStorageLimits.ascx.cs | 124 - .../ExchangeStorageLimits.ascx.designer.cs | 223 -- .../ExchangeServer/ExchangeStorageUsage.ascx | 2 +- .../ExchangeStorageUsage.ascx.cs | 48 +- .../ExchangeStorageUsage.ascx.designer.cs | 3 +- .../ExchangeStorageUsageBreakdown.ascx | 35 - .../ExchangeStorageUsageBreakdown.ascx.cs | 72 +- ...angeStorageUsageBreakdown.ascx.designer.cs | 141 +- .../OrganizationCreateOrganization.ascx | 5 +- .../OrganizationCreateOrganization.ascx.cs | 31 +- ...izationCreateOrganization.ascx.designer.cs | 3 +- .../OrganizationCreateUser.ascx | 17 +- .../OrganizationCreateUser.ascx.cs | 60 +- .../OrganizationCreateUser.ascx.designer.cs | 48 +- .../ExchangeServer/OrganizationHome.ascx | 81 +- .../ExchangeServer/OrganizationHome.ascx.cs | 155 +- .../OrganizationHome.ascx.designer.cs | 124 +- .../OrganizationUserGeneralSettings.ascx | 11 +- .../OrganizationUserGeneralSettings.ascx.cs | 88 +- ...zationUserGeneralSettings.ascx.designer.cs | 30 +- .../OrganizationUserSetupInstructions.ascx.cs | 3 +- ...tionUserSetupInstructions.ascx.designer.cs | 3 +- .../ExchangeServer/OrganizationUsers.ascx | 29 +- .../ExchangeServer/OrganizationUsers.ascx.cs | 98 +- .../OrganizationUsers.ascx.designer.cs | 9 - .../ExchangeServer/Organizations.ascx.cs | 87 +- .../Organizations.ascx.designer.cs | 3 +- .../App_LocalResources/MailboxTabs.ascx.resx | 12 +- .../App_LocalResources/Menu.ascx.resx | 42 +- .../UserControls/DomainSelector.ascx.cs | 82 +- .../DomainSelector.ascx.designer.cs | 9 +- .../UserControls/MailboxPlanSelector.ascx | 3 + .../UserControls/MailboxPlanSelector.ascx.cs | 105 + .../UserControls/MailboxSelector.ascx.cs | 222 +- .../MailboxSelector.ascx.designer.cs | 3 +- .../UserControls/MailboxTabs.ascx.cs | 3 +- .../ExchangeServer/UserControls/Menu.ascx.cs | 19 +- .../ExchangeServer/UserControls/SizeBox.ascx | 2 + .../UserControls/SizeBox.ascx.cs | 84 +- .../UserControls/SizeBox.ascx.designer.cs | 45 +- .../UserControls/UserSelector.ascx | 2 +- .../UserControls/UserSelector.ascx.cs | 12 +- .../UserSelector.ascx.designer.cs | 28 - .../Exchange_Settings.ascx.resx | 7 +- .../Exchange2010SP1_Settings.ascx | 63 - .../Exchange2010SP1_Settings.ascx.cs | 41 - .../ProviderControls/Exchange_Settings.ascx | 3 + .../Exchange_Settings.ascx.cs | 42 +- .../Exchange_Settings.ascx.designer.cs | 12 +- .../WebsitePanel/UserCreateSpace.ascx | 8 + .../WebsitePanel/UserCreateSpace.ascx.cs | 25 + .../UserCreateSpace.ascx.designer.cs | 12 +- .../WebsitePanel.Portal.Modules.csproj | 59 +- .../WebsitePanel.WebPortal.csproj | 3 + WebsitePanel/Sources/generate_es_proxies.bat | 6 +- .../Sources/generate_server_proxies.bat | 6 +- 194 files changed, 12994 insertions(+), 9755 deletions(-) create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMailboxPlan.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/TransactionAction.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2010SP2.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/Exchange/blank16.gif create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/Exchange/disabled.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/Exchange/enabled.png rename WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/{ExchangeMailboxAdvancedSettings.ascx.resx => ExchangeAddMailboxPlan.ascx.resx} (78%) rename WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/{ProviderControls/App_LocalResources/Exchange2010SP1_Settings.ascx.resx => ExchangeServer/App_LocalResources/ExchangeMailboxPlans.ascx.resx} (74%) delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeStorageLimits.ascx.resx rename WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/{ExchangeMailboxAdvancedSettings.ascx => ExchangeAddMailboxPlan.ascx} (54%) create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddMailboxPlan.ascx.cs rename WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/{ExchangeMailboxAdvancedSettings.ascx.designer.cs => ExchangeAddMailboxPlan.ascx.designer.cs} (86%) delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx.cs rename WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/{ProviderControls/Exchange2010SP1_Settings.ascx.designer.cs => ExchangeServer/ExchangeMailboxPlans.ascx.designer.cs} (53%) delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxPlanSelector.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxPlanSelector.ascx.cs delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange2010SP1_Settings.ascx delete mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange2010SP1_Settings.ascx.cs diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index cebc7caf..be7e742f 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -29,7 +29,7 @@ CREATE TABLE [dbo].[ExchangeAccounts]( [AccountID] [int] IDENTITY(1,1) NOT NULL, [ItemID] [int] NOT NULL, [AccountType] [int] NOT NULL, - [AccountName] [nvarchar](20) COLLATE Latin1_General_CI_AS NOT NULL, + [AccountName] [nvarchar](300) COLLATE Latin1_General_CI_AS NOT NULL, [DisplayName] [nvarchar](300) COLLATE Latin1_General_CI_AS NOT NULL, [PrimaryEmailAddress] [nvarchar](300) COLLATE Latin1_General_CI_AS NULL, [MailEnabledPublicFolder] [bit] NULL, @@ -37,6 +37,8 @@ CREATE TABLE [dbo].[ExchangeAccounts]( [SamAccountName] [nvarchar](100) COLLATE Latin1_General_CI_AS NULL, [AccountPassword] [nvarchar](200) COLLATE Latin1_General_CI_AS NULL, [CreatedDate] [datetime] NOT NULL, + [MailboxPlanId] [int] NULL, + [SubscriberNumber] [nvarchar] (32) COLLATE Latin1_General_CI_AS NULL, CONSTRAINT [PK_ExchangeAccounts] PRIMARY KEY CLUSTERED ( [AccountID] ASC @@ -54,6 +56,32 @@ SET QUOTED_IDENTIFIER ON GO +CREATE TABLE [dbo].[ExchangeMailboxPlans]( + [MailboxPlanId] [int] IDENTITY(1,1) NOT NULL, + [ItemID] [int] NOT NULL, + [MailboxPlan] [nvarchar](300) COLLATE Latin1_General_CI_AS NOT NULL, + [EnableActiveSync] [bit] NOT NULL, + [EnableIMAP] [bit] NOT NULL, + [EnableMAPI] [bit] NOT NULL, + [EnableOWA] [bit] NOT NULL, + [EnablePOP] [bit] NOT NULL, + [IsDefault] [bit] NOT NULL, + [IssueWarningPct] [int] NOT NULL, + [KeepDeletedItemsDays] [int] NOT NULL, + [MailboxSizeMB] [int] NOT NULL, + [MaxReceiveMessageSizeKB] [int] NOT NULL, + [MaxRecipients] [int] NOT NULL, + [MaxSendMessageSizeKB] [int] NOT NULL, + [ProhibitSendPct] [int] NOT NULL, + [ProhibitSendReceivePct] [int] NOT NULL, + [HideFromAddressBook] [bit] NOT NULL, + CONSTRAINT [PK_ExchangeMailboxPlans] PRIMARY KEY CLUSTERED +( + [MailboxPlanId] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO @@ -80,7 +108,8 @@ SELECT AccountName, DisplayName, PrimaryEmailAddress, - MailEnabledPublicFolder + MailEnabledPublicFolder, + SubscriberNumber FROM ExchangeAccounts WHERE @@ -109,6 +138,7 @@ END + GO @@ -150,21 +180,71 @@ CREATE PROCEDURE [dbo].[GetExchangeAccounts] ) AS SELECT - AccountID, - ItemID, - AccountType, - AccountName, - DisplayName, - PrimaryEmailAddress, - MailEnabledPublicFolder + E.AccountID, + E.ItemID, + E.AccountType, + E.AccountName, + E.DisplayName, + E.PrimaryEmailAddress, + E.MailEnabledPublicFolder, + E.MailboxPlanId, + P.MailboxPlan, + E.SubscriberNumber FROM - ExchangeAccounts + ExchangeAccounts AS E +INNER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId WHERE - ItemID = @ItemID AND - (AccountType = @AccountType OR @AccountType IS NULL) + E.ItemID = @ItemID AND + (E.AccountType = @AccountType OR @AccountType IS NULL) ORDER BY DisplayName RETURN +GO + + + + + + + + + + + + + + + + + + +CREATE PROCEDURE [dbo].[GetExchangeAccountByAccountName] +( + @ItemID int, + @AccountName nvarchar(300) +) +AS +SELECT + E.AccountID, + E.ItemID, + E.AccountType, + E.AccountName, + E.DisplayName, + E.PrimaryEmailAddress, + E.MailEnabledPublicFolder, + E.MailboxManagerActions, + E.SamAccountName, + E.AccountPassword, + E.MailboxPlanId, + P.MailboxPlan, + E.SubscriberNumber +FROM + ExchangeAccounts AS E +LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId +WHERE + E.ItemID = @ItemID AND + E.AccountName = @AccountName +RETURN @@ -231,21 +311,25 @@ CREATE PROCEDURE [dbo].[GetExchangeAccount] ) AS SELECT - AccountID, - ItemID, - AccountType, - AccountName, - DisplayName, - PrimaryEmailAddress, - MailEnabledPublicFolder, - MailboxManagerActions, - SamAccountName, - AccountPassword + E.AccountID, + E.ItemID, + E.AccountType, + E.AccountName, + E.DisplayName, + E.PrimaryEmailAddress, + E.MailEnabledPublicFolder, + E.MailboxManagerActions, + E.SamAccountName, + E.AccountPassword, + E.MailboxPlanId, + P.MailboxPlan, + E.SubscriberNumber FROM - ExchangeAccounts + ExchangeAccounts AS E +LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId WHERE - ItemID = @ItemID AND - AccountID = @AccountID + E.ItemID = @ItemID AND + E.AccountID = @AccountID RETURN @@ -311,14 +395,14 @@ GO -CREATE PROCEDURE ExchangeAccountExists +CREATE PROCEDURE [dbo].[ExchangeAccountExists] ( @AccountName nvarchar(20), @Exists bit OUTPUT ) AS SET @Exists = 0 -IF EXISTS(SELECT * FROM ExchangeAccounts WHERE AccountName = @AccountName) +IF EXISTS(SELECT * FROM ExchangeAccounts WHERE sAMAccountName LIKE '%\'+@AccountName) BEGIN SET @Exists = 1 END @@ -352,6 +436,10 @@ RETURN + + + + @@ -936,7 +1024,7 @@ GO -CREATE PROCEDURE SearchExchangeAccounts +CREATE PROCEDURE [dbo].[SearchExchangeAccounts] ( @ActorID int, @ItemID int, @@ -986,7 +1074,8 @@ SELECT EA.AccountName, EA.DisplayName, EA.PrimaryEmailAddress, - EA.MailEnabledPublicFolder + EA.MailEnabledPublicFolder, + EA.SubscriberNumber FROM ExchangeAccounts AS EA WHERE ' + @condition @@ -1026,6 +1115,7 @@ RETURN + GO @@ -1080,6 +1170,10 @@ END IF @SortColumn IS NULL OR @SortColumn = '' SET @SortColumn = 'EA.DisplayName ASC' +DECLARE @joincondition nvarchar(700) + SET @joincondition = ',P.MailboxPlan FROM ExchangeAccounts AS EA + LEFT OUTER JOIN ExchangeMailboxPlans AS P ON EA.MailboxPlanId = P.MailboxPlanId' + DECLARE @sql nvarchar(3500) set @sql = ' @@ -1094,9 +1188,10 @@ WITH Accounts AS ( EA.AccountName, EA.DisplayName, EA.PrimaryEmailAddress, - EA.MailEnabledPublicFolder - FROM ExchangeAccounts AS EA - WHERE ' + @condition + ' + EA.MailEnabledPublicFolder, + EA.MailboxPlanId, + EA.SubscriberNumber ' + @joincondition + + ' WHERE ' + @condition + ' ) SELECT * FROM Accounts @@ -1118,6 +1213,7 @@ RETURN + GO SET ANSI_NULLS ON GO @@ -1407,13 +1503,15 @@ CREATE PROCEDURE [dbo].[AddExchangeAccount] @AccountID int OUTPUT, @ItemID int, @AccountType int, - @AccountName nvarchar(20), + @AccountName nvarchar(300), @DisplayName nvarchar(300), @PrimaryEmailAddress nvarchar(300), @MailEnabledPublicFolder bit, @MailboxManagerActions varchar(200), @SamAccountName nvarchar(100), - @AccountPassword nvarchar(200) + @AccountPassword nvarchar(200), + @MailboxPlanId int, + @SubscriberNumber nvarchar(32) ) AS @@ -1427,7 +1525,9 @@ INSERT INTO ExchangeAccounts MailEnabledPublicFolder, MailboxManagerActions, SamAccountName, - AccountPassword + AccountPassword, + MailboxPlanId, + SubscriberNumber ) VALUES ( @@ -1439,7 +1539,9 @@ VALUES @MailEnabledPublicFolder, @MailboxManagerActions, @SamAccountName, - @AccountPassword + @AccountPassword, + @MailboxPlanId, + @SubscriberNumber ) SET @AccountID = SCOPE_IDENTITY() @@ -1475,6 +1577,7 @@ RETURN + GO @@ -3538,9 +3641,9 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (75, 1, 8, N'OS.ExtraApplications', N'Extra Application Packs', 1, 0, NULL) GO -INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (77, 12, 2, N'Exchange2007.DiskSpace', N'Organization Disk Space, MB', 3, 0, NULL) +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (77, 12, 2, N'Exchange2007.DiskSpace', N'Organization Disk Space, MB', 21, 0, NULL) GO -INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (78, 12, 3, N'Exchange2007.Mailboxes', N'Mailboxes per Organization', 3, 0, NULL) +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (78, 12, 3, N'Exchange2007.Mailboxes', N'Mailboxes per Organization', 2, 0, NULL) GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (79, 12, 4, N'Exchange2007.Contacts', N'Contacts per Organization', 3, 0, NULL) GO @@ -3560,16 +3663,6 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (88, 12, 8, N'Exchange2007.MailEnabledPublicFolders', N'Mail Enabled Public Folders Allowed', 1, 0, NULL) GO -INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (89, 12, 10, N'Exchange2007.POP3Enabled', N'POP3 Enabled by default', 1, 0, NULL) -GO -INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (90, 12, 12, N'Exchange2007.IMAPEnabled', N'IMAP Enabled by default', 1, 0, NULL) -GO -INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (91, 12, 14, N'Exchange2007.OWAEnabled', N'OWA Enabled by default', 1, 0, NULL) -GO -INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (92, 12, 16, N'Exchange2007.MAPIEnabled', N'MAPI Enabled by default', 1, 0, NULL) -GO -INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (93, 12, 18, N'Exchange2007.ActiveSyncEnabled', N'ActiveSync Enabled by default', 1, 0, NULL) -GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (94, 2, 17, N'Web.ColdFusion', N'ColdFusion', 1, 0, NULL) GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (95, 2, 1, N'Web.WebAppGallery', N'Web Application Gallery', 1, 0, NULL) @@ -3602,7 +3695,7 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (205, 13, 1, N'HostedSolution.Organizations', N'Organizations', 2, 0, 29) GO -INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (206, 13, 2, N'HostedSolution.Users', N'Users', 3, 0, 30) +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (206, 13, 2, N'HostedSolution.Users', N'Users', 2, 0, 30) GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (207, 13, 3, N'HostedSolution.Domains', N'Domains per Organizations', 3, 0, NULL) GO @@ -3748,6 +3841,16 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (363, 40, 12, N'VPSForPC.Bandwidth', N'Monthly bandwidth, GB', 2, 0, NULL) GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (364, 12, 19, N'Exchange2007.KeepDeletedItemsDays', N'Keep Deleted Items (days)', 3, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (365, 12, 20, N'Exchange2007.MaxRecipients', N'Maximum Recipients', 3, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (366, 12, 21, N'Exchange2007.MaxSendMessageSizeKB', N'Maximum Send Message Size (Kb)', 3, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (367, 12, 22, N'Exchange2007.MaxReceiveMessageSizeKB', N'Maximum Receive Message Size (Kb)', 3, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (368, 12, 1, N'Exchange2007.IsConsumer',N'Is Consumer Organization',1, 0 , NULL) +GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (400, 20, 3, N'HostedSharePoint.UseSharedSSL', N'Use shared SSL Root', 1, 0, NULL) GO @@ -5866,7 +5969,7 @@ SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[ExchangeOrganizations]( [ItemID] [int] NOT NULL, - [OrganizationID] [nvarchar](10) COLLATE Latin1_General_CI_AS NOT NULL, + [OrganizationID] [nvarchar](128) COLLATE Latin1_General_CI_AS NOT NULL, CONSTRAINT [PK_ExchangeOrganizations] PRIMARY KEY CLUSTERED ( [ItemID] ASC @@ -5980,8 +6083,10 @@ CREATE PROCEDURE DeleteExchangeOrganization @ItemID int ) AS -DELETE FROM ExchangeOrganizations -WHERE ItemID = @ItemID +BEGIN TRAN + DELETE FROM ExchangeMailboxPlans WHERE ItemID = @ItemID + DELETE FROM ExchangeOrganizations WHERE ItemID = @ItemID +COMMIT TRAN RETURN @@ -6053,7 +6158,7 @@ GO CREATE PROCEDURE AddExchangeOrganization ( @ItemID int, - @OrganizationID nvarchar(10) + @OrganizationID nvarchar(128) ) AS @@ -6241,7 +6346,8 @@ SELECT (SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 2 AND ItemID = @ItemID) AS CreatedContacts, (SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 3 AND ItemID = @ItemID) AS CreatedDistributionLists, (SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 4 AND ItemID = @ItemID) AS CreatedPublicFolders, - (SELECT COUNT(*) FROM ExchangeOrganizationDomains WHERE ItemID = @ItemID) AS CreatedDomains + (SELECT COUNT(*) FROM ExchangeOrganizationDomains WHERE ItemID = @ItemID) AS CreatedDomains, + (SELECT SUM(B.MailboxSizeMB) FROM ExchangeAccounts AS A INNER JOIN ExchangeMailboxPlans AS B ON A.MailboxPlanId = B.MailboxPlanId WHERE A.ItemID=@ItemID) AS UsedDiskSpace RETURN @@ -6272,7 +6378,6 @@ RETURN - GO @@ -6611,18 +6716,26 @@ GO CREATE PROCEDURE [dbo].[UpdateExchangeAccount] ( @AccountID int, - @AccountName nvarchar(20), + @AccountName nvarchar(300), @DisplayName nvarchar(300), @PrimaryEmailAddress nvarchar(300), @AccountType int, @SamAccountName nvarchar(100), @MailEnabledPublicFolder bit, @MailboxManagerActions varchar(200), - @Password varchar(200) + @Password varchar(200), + @MailboxPlanId int, + @SubscriberNumber varchar(32) ) AS BEGIN TRAN + +IF (@MailboxPlanId = -1) +BEGIN + SET @MailboxPlanId = NULL +END + UPDATE ExchangeAccounts SET AccountName = @AccountName, DisplayName = @DisplayName, @@ -6630,7 +6743,9 @@ UPDATE ExchangeAccounts SET MailEnabledPublicFolder = @MailEnabledPublicFolder, MailboxManagerActions = @MailboxManagerActions, AccountType =@AccountType, - SamAccountName = @SamAccountName + SamAccountName = @SamAccountName, + MailboxPlanId = @MailboxPlanId, + SubscriberNumber = @SubscriberNumber WHERE AccountID = @AccountID @@ -6667,6 +6782,10 @@ RETURN + + + + GO @@ -8899,7 +9018,8 @@ SELECT EA.AccountType, EA.AccountName, EA.DisplayName, - EA.PrimaryEmailAddress + EA.PrimaryEmailAddress, + EA.SubscriberNumber FROM ExchangeAccounts AS EA WHERE ' + @condition @@ -8936,6 +9056,8 @@ RETURN + + @@ -20551,7 +20673,7 @@ GO -CREATE PROCEDURE GetPackages +CREATE PROCEDURE [dbo].[GetPackages] ( @ActorID int, @UserID int @@ -20590,8 +20712,7 @@ INNER JOIN Users AS U ON P.UserID = U.UserID INNER JOIN Servers AS S ON P.ServerID = S.ServerID INNER JOIN HostingPlans AS HP ON P.PlanID = HP.PlanID WHERE - P.UserID <> @UserID - AND dbo.CheckUserParent(@UserID, P.UserID) = 1 + P.UserID = @UserID RETURN @@ -23257,6 +23378,8 @@ INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName] GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (400, 40, N'HyperVForPC', N'Microsoft Hyper-V For Private Cloud', N'WebsitePanel.Providers.VirtualizationForPC.HyperVForPC, WebsitePanel.Providers.VirtualizationForPC.HyperVForPC', N'HyperVForPrivateCloud', 1) GO +INSERT [dbo].[Providers] ([ProviderId], [GroupId], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES(90, 12, N'Exchange2010SP2', N'Hosted Microsoft Exchange Server 2010 SP2', N'WebsitePanel.Providers.HostedSolution.Exchange2010SP2, WebsitePanel.Providers.HostedSolution', N'Exchange', 1) +GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON @@ -25738,21 +25861,27 @@ AS INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 3) ELSE IF @QuotaID = 319 -- BB Users - SET @Result = (SELECT COUNT(ea.AccountID) - FROM - ExchangeAccounts ea - INNER JOIN - BlackBerryUsers bu - ON - ea.AccountID = bu.AccountID - INNER JOIN - ServiceItems si - ON - ea.ItemID = si.ItemID - INNER JOIN - PackagesTreeCache pt ON si.PackageID = pt.PackageID - WHERE - pt.ParentPackageID = @PackageID) + SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts ea + INNER JOIN BlackBerryUsers bu ON ea.AccountID = bu.AccountID + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 206 -- HostedSolution.Users + SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID AND ea.AccountType IN (1,5,6,7)) + ELSE IF @QuotaID = 78 -- Exchange2007.Mailboxes + SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID AND ea.MailboxPlanId IS NOT NULL) + ELSE IF @QuotaID = 77 -- Exchange2007.DiskSpace + SET @Result = (SELECT SUM(B.MailboxSizeMB) FROM ExchangeAccounts AS ea + INNER JOIN ExchangeMailboxPlans AS B ON ea.MailboxPlanId = B.MailboxPlanId + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID) ELSE SET @Result = (SELECT COUNT(SI.ItemID) FROM Quotas AS Q INNER JOIN ServiceItems AS SI ON SI.ItemTypeID = Q.ItemTypeID @@ -25761,14 +25890,10 @@ AS RETURN @Result END +GO -GO -SET ANSI_NULLS ON -GO -SET QUOTED_IDENTIFIER ON -GO @@ -44451,6 +44576,7 @@ EXEC sp_xml_removedocument @idoc COMMIT TRAN RETURN +GO @@ -44473,27 +44599,280 @@ RETURN +CREATE PROCEDURE [dbo].[AddExchangeMailboxPlan] +( + @MailboxPlanId int OUTPUT, + @ItemID int, + @MailboxPlan nvarchar(300), + @EnableActiveSync bit, + @EnableIMAP bit, + @EnableMAPI bit, + @EnableOWA bit, + @EnablePOP bit, + @IsDefault bit, + @IssueWarningPct int, + @KeepDeletedItemsDays int, + @MailboxSizeMB int, + @MaxReceiveMessageSizeKB int, + @MaxRecipients int, + @MaxSendMessageSizeKB int, + @ProhibitSendPct int, + @ProhibitSendReceivePct int , + @HideFromAddressBook bit +) +AS +INSERT INTO ExchangeMailboxPlans +( + ItemID, + MailboxPlan, + EnableActiveSync, + EnableIMAP, + EnableMAPI, + EnableOWA, + EnablePOP, + IsDefault, + IssueWarningPct, + KeepDeletedItemsDays, + MailboxSizeMB, + MaxReceiveMessageSizeKB, + MaxRecipients, + MaxSendMessageSizeKB, + ProhibitSendPct, + ProhibitSendReceivePct, + HideFromAddressBook +) +VALUES +( + @ItemID, + @MailboxPlan, + @EnableActiveSync, + @EnableIMAP, + @EnableMAPI, + @EnableOWA, + @EnablePOP, + @IsDefault, + @IssueWarningPct, + @KeepDeletedItemsDays, + @MailboxSizeMB, + @MaxReceiveMessageSizeKB, + @MaxRecipients, + @MaxSendMessageSizeKB, + @ProhibitSendPct, + @ProhibitSendReceivePct, + @HideFromAddressBook +) +SET @MailboxPlanId = SCOPE_IDENTITY() - - - - - - - - - - +RETURN GO + + + + + + + + + + + + + + +CREATE PROCEDURE [dbo].[SetExchangeAccountMailboxplan] +( + @AccountID int, + @MailboxPlanId int +) +AS + +UPDATE ExchangeAccounts SET + MailboxPlanId = @MailboxPlanId +WHERE + AccountID = @AccountID + +RETURN +GO + + + + + + + + + + + +CREATE PROCEDURE [dbo].[SetOrganizationDefaultExchangeMailboxPlan] +( + @ItemId int, + @MailboxPlanId int +) +AS + +UPDATE ExchangeMailboxPlans SET IsDefault=0 WHERE ItemId=@ItemId +UPDATE ExchangeMailboxPlans SET IsDefault=1 WHERE MailboxPlanId=@MailboxPlanId + +RETURN +GO + + + + + + + + + + + + + + + +CREATE PROCEDURE [dbo].[GetExchangeMailboxPlan] +( + @MailboxPlanId int +) +AS +SELECT + MailboxPlanId, + ItemID, + MailboxPlan, + EnableActiveSync, + EnableIMAP, + EnableMAPI, + EnableOWA, + EnablePOP, + IsDefault, + IssueWarningPct, + KeepDeletedItemsDays, + MailboxSizeMB, + MaxReceiveMessageSizeKB, + MaxRecipients, + MaxSendMessageSizeKB, + ProhibitSendPct, + ProhibitSendReceivePct, + HideFromAddressBook +FROM + ExchangeMailboxPlans +WHERE + MailboxPlanId = @MailboxPlanId +RETURN +GO + + + + + + + + + + + +CREATE PROCEDURE [dbo].[GetExchangeMailboxPlans] +( + @ItemID int +) +AS +SELECT + MailboxPlanId, + ItemID, + MailboxPlan, + EnableActiveSync, + EnableIMAP, + EnableMAPI, + EnableOWA, + EnablePOP, + IsDefault, + IssueWarningPct, + KeepDeletedItemsDays, + MailboxSizeMB, + MaxReceiveMessageSizeKB, + MaxRecipients, + MaxSendMessageSizeKB, + ProhibitSendPct, + ProhibitSendReceivePct, + HideFromAddressBook +FROM + ExchangeMailboxPlans +WHERE + ItemID = @ItemID +ORDER BY MailboxPlan +RETURN +GO + + + + + + + + + + + + + +CREATE PROCEDURE [dbo].[DeleteExchangeMailboxPlan] +( + @MailboxPlanId int +) +AS + +-- delete mailboxplan +DELETE FROM ExchangeMailboxPlans +WHERE MailboxPlanId = @MailboxPlanId + +RETURN +GO + + + + + + + + + + + + + ALTER TABLE [dbo].[ScheduleParameters] WITH CHECK ADD CONSTRAINT [FK_ScheduleParameters_Schedule] FOREIGN KEY([ScheduleID]) REFERENCES [dbo].[Schedule] ([ScheduleID]) ON DELETE CASCADE GO ALTER TABLE [dbo].[ScheduleParameters] CHECK CONSTRAINT [FK_ScheduleParameters_Schedule] GO +ALTER TABLE dbo.ExchangeMailboxPlans ADD CONSTRAINT + IX_ExchangeMailboxPlans UNIQUE NONCLUSTERED + ( + MailboxPlanId + ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + +GO +ALTER TABLE dbo.ExchangeMailboxPlans ADD CONSTRAINT + FK_ExchangeMailboxPlans_ExchangeOrganizations FOREIGN KEY + ( + ItemID + ) REFERENCES dbo.ExchangeOrganizations + ( + ItemID + ) ON UPDATE NO ACTION + ON DELETE CASCADE +GO + +ALTER TABLE [dbo].[ExchangeAccounts] WITH CHECK ADD CONSTRAINT [FK_ExchangeAccounts_ExchangeMailboxPlans] FOREIGN KEY([MailboxPlanId]) +REFERENCES [dbo].[ExchangeMailboxPlans] ([MailboxPlanId]) +GO +ALTER TABLE [dbo].[ExchangeAccounts] CHECK CONSTRAINT [FK_ExchangeAccounts_ExchangeMailboxPlans] +GO ALTER TABLE [dbo].[ExchangeAccounts] WITH CHECK ADD CONSTRAINT [FK_ExchangeAccounts_ServiceItems] FOREIGN KEY([ItemID]) REFERENCES [dbo].[ServiceItems] ([ItemID]) ON DELETE CASCADE @@ -44713,6 +45092,12 @@ ON DELETE CASCADE GO ALTER TABLE [dbo].[ExchangeOrganizations] CHECK CONSTRAINT [FK_ExchangeOrganizations_ServiceItems] GO +ALTER TABLE [dbo].[ExchangeOrganizations] WITH CHECK ADD CONSTRAINT [FK_ExchangeOrganizations_ExchangeMailboxPlans] FOREIGN KEY([ItemID]) +REFERENCES [dbo].[ExchangeMailboxPlans] ([ItemID]) +ON DELETE CASCADE +GO +ALTER TABLE [dbo].[ExchangeOrganizations] CHECK CONSTRAINT [FK_ExchangeOrganizations_ExchangeMailboxPlans] +GO ALTER TABLE [dbo].[ExchangeOrganizationDomains] WITH CHECK ADD CONSTRAINT [FK_ExchangeOrganizationDomains_ServiceItems] FOREIGN KEY([ItemID]) REFERENCES [dbo].[ServiceItems] ([ItemID]) ON DELETE CASCADE @@ -45117,4 +45502,5 @@ ON DELETE CASCADE GO ALTER TABLE [dbo].[ServiceProperties] CHECK CONSTRAINT [FK_ServiceProperties_Services] GO - \ No newline at end of file + + diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index cb5595fa..eb5435ba 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -12,8 +12,7 @@ BEGIN END GO - -IF NOT EXISTS (SELECT * FROM [dbo].[UserSetting] WHERE ([GroupName] = 1) AND ([SettingsName] = 'WebPolicy') AND ([PropertyName] = 'EnableParkingPageTokens')) +IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE ([UserID] = 1) AND ([SettingsName] = 'WebPolicy') AND ([PropertyName] = 'EnableParkingPageTokens')) BEGIN INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'WebPolicy', N'EnableParkingPageTokens', N'False') END @@ -135,6 +134,56 @@ END GO +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Exchange2007.KeepDeletedItemsDays') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (364, 12, 19, N'Exchange2007.KeepDeletedItemsDays', N'Keep Deleted Items (days)', 3, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Exchange2007.MaxRecipients') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (365, 12, 20, N'Exchange2007.MaxRecipients', N'Maximum Recipients', 3, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Exchange2007.MaxSendMessageSizeKB') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (366, 12, 21, N'Exchange2007.MaxSendMessageSizeKB', N'Maximum Send Message Size (Kb)', 3, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Exchange2007.MaxReceiveMessageSizeKB') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (367, 12, 22, N'Exchange2007.MaxReceiveMessageSizeKB', N'Maximum Receive Message Size (Kb)', 3, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Exchange2007.IsConsumer') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (368, 12, 1, N'Exchange2007.IsConsumer',N'Is Consumer Organization', 1, 0, NULL) +END +GO + + + +IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Hosted Microsoft Exchange Server 2010 SP2') +BEGIN +INSERT [dbo].[Providers] ([ProviderId], [GroupId], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES(90, 12, N'Exchange2010SP2', N'Hosted Microsoft Exchange Server 2010 SP2', N'WebsitePanel.Providers.HostedSolution.Exchange2010SP2, WebsitePanel.Providers.HostedSolution', N'Exchange', 1) +END +GO + +DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.POP3Enabled') +DELETE FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.POP3Enabled' +DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.IMAPEnabled') +DELETE FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.IMAPEnabled' +DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.OWAEnabled') +DELETE FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.OWAEnabled' +DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.MAPIEnabled') +DELETE FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.MAPIEnabled' +DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.ActiveSyncEnabled') +DELETE FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.ActiveSyncEnabled' + + UPDATE [dbo].[ScheduleTaskParameters] SET DefaultValue = N'MsSQL2000=SQL Server 2000;MsSQL2005=SQL Server 2005;MsSQL2008=SQL Server 2008;MsSQL2012=SQL Server 2012;MySQL4=MySQL 4.0;MySQL5=MySQL 5.0' WHERE [ParameterID] = N'DATABASE_GROUP' GO @@ -1496,6 +1545,14 @@ GO UPDATE dbo.Quotas SET QuotaTypeID = 2 WHERE QuotaName = 'HostedSharePoint.Sites' GO +UPDATE dbo.Quotas SET QuotaTypeID = 2 WHERE QuotaName = 'HostedSolution.Users' +GO +UPDATE dbo.Quotas SET QuotaTypeID = 2 WHERE QuotaName = 'Exchange2007.Mailboxes' +GO +UPDATE dbo.Quotas SET QuotaTypeID = 2 WHERE QuotaName = 'Exchange2007.DiskSpace' +GO + + @@ -1527,6 +1584,1229 @@ DELETE FROM Providers WHERE ProviderID = 207 GO + +-- Remove ExchangeHostedEdition VirtualGroups +DELETE FROM VirtualGroups WHERE GroupID = 33 +GO + + + -- Remove ExchangeHostedEdition ResourceGroups DELETE FROM ResourceGroups WHERE GRoupID = 33 -GO \ No newline at end of file +GO + + +-- Create Exchange Mailbox Plans +IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ExchangeMailboxPlans]') AND type in (N'U')) +BEGIN +CREATE TABLE [dbo].[ExchangeMailboxPlans]( + [MailboxPlanId] [int] IDENTITY(1,1) NOT NULL, + [ItemID] [int] NOT NULL, + [MailboxPlan] [nvarchar](300) COLLATE Latin1_General_CI_AS NOT NULL, + [EnableActiveSync] [bit] NOT NULL, + [EnableIMAP] [bit] NOT NULL, + [EnableMAPI] [bit] NOT NULL, + [EnableOWA] [bit] NOT NULL, + [EnablePOP] [bit] NOT NULL, + [IsDefault] [bit] NOT NULL, + [IssueWarningPct] [int] NOT NULL, + [KeepDeletedItemsDays] [int] NOT NULL, + [MailboxSizeMB] [int] NOT NULL, + [MaxReceiveMessageSizeKB] [int] NOT NULL, + [MaxRecipients] [int] NOT NULL, + [MaxSendMessageSizeKB] [int] NOT NULL, + [ProhibitSendPct] [int] NOT NULL, + [ProhibitSendReceivePct] [int] NOT NULL, + [HideFromAddressBook] [bit] NOT NULL, + CONSTRAINT [PK_ExchangeMailboxPlans] PRIMARY KEY CLUSTERED +( + [MailboxPlanId] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +/****** Object: Table [dbo].[ExchangeAccounts] ******/ +ALTER TABLE [dbo].[ExchangeAccounts] WITH CHECK ADD CONSTRAINT [FK_ExchangeAccounts_ExchangeMailboxPlans] FOREIGN KEY([MailboxPlanId]) +REFERENCES [dbo].[ExchangeMailboxPlans] ([MailboxPlanId]) + +/****** Object: Table [dbo].[ExchangeAccounts] ******/ +ALTER TABLE [dbo].[ExchangeOrganizations] CHECK CONSTRAINT [FK_ExchangeOrganizations_ExchangeMailboxPlans] + +/****** Object: Table [dbo].[ExchangeAccounts] ******/ +ALTER TABLE [dbo].[ExchangeOrganizations] WITH CHECK ADD CONSTRAINT [FK_ExchangeOrganizations_ExchangeMailboxPlans] FOREIGN KEY([ItemID]) +REFERENCES [dbo].[ExchangeMailboxPlans] ([ItemID]) +ON DELETE CASCADE + +/****** Object: Table [dbo].[ExchangeAccounts] ******/ +ALTER TABLE [dbo].[ExchangeAccounts] WITH CHECK ADD CONSTRAINT [FK_ExchangeAccounts_ExchangeMailboxPlans] FOREIGN KEY([MailboxPlanId]) +REFERENCES [dbo].[ExchangeMailboxPlans] ([MailboxPlanId]) + +/****** Object: Table [dbo].[ExchangeAccounts] ******/ +ALTER TABLE dbo.ExchangeMailboxPlans ADD CONSTRAINT + IX_ExchangeMailboxPlans UNIQUE NONCLUSTERED + ( + MailboxPlanId + ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + +/****** Object: Table [dbo].[ExchangeAccounts] ******/ +ALTER TABLE dbo.ExchangeMailboxPlans ADD CONSTRAINT + FK_ExchangeMailboxPlans_ExchangeOrganizations FOREIGN KEY + ( + ItemID + ) REFERENCES dbo.ExchangeOrganizations + ( + ItemID + ) ON UPDATE NO ACTION + ON DELETE CASCADE +END +GO + +/****** Object: Table [dbo].[ExchangeAccounts] ******/ +ALTER TABLE [dbo].[ExchangeAccounts] ALTER COLUMN [AccountName] [nvarchar](300) COLLATE Latin1_General_CI_AS NOT NULL +GO + +/****** Object: Table [dbo].[ExchangeAccounts] Extend Exchange Accounts with MailboxplanID ******/ +IF NOT EXISTS(select 1 from sys.columns COLS INNER JOIN sys.objects OBJS ON OBJS.object_id=COLS.object_id and OBJS.type='U' AND OBJS.name='ExchangeAccounts' AND COLS.name='MailboxPlanId') +BEGIN +ALTER TABLE [dbo].[ExchangeAccounts] ADD [MailboxPlanId] [int] NULL +END +GO + +/****** Object: Table [dbo].[ExchangeAccounts] Extend Exchange Accounts with SubscriberNumber ******/ +IF NOT EXISTS(select 1 from sys.columns COLS INNER JOIN sys.objects OBJS ON OBJS.object_id=COLS.object_id and OBJS.type='U' AND OBJS.name='ExchangeAccounts' AND COLS.name='SubscriberNumber') +BEGIN +ALTER TABLE [dbo].[ExchangeAccounts] ADD [SubscriberNumber] [nvarchar] (32) COLLATE Latin1_General_CI_AS NULL +END +GO + +/****** Object: Table [dbo].[ExchangeOrganizations] ******/ +ALTER TABLE [dbo].[ExchangeOrganizations] ALTER COLUMN [OrganizationID] [nvarchar](128) COLLATE Latin1_General_CI_AS NOT NULL +GO + + +/****** Object: Table [dbo].[AddExchangeAccount] ******/ +ALTER PROCEDURE [dbo].[AddExchangeAccount] +( + @AccountID int OUTPUT, + @ItemID int, + @AccountType int, + @AccountName nvarchar(300), + @DisplayName nvarchar(300), + @PrimaryEmailAddress nvarchar(300), + @MailEnabledPublicFolder bit, + @MailboxManagerActions varchar(200), + @SamAccountName nvarchar(100), + @AccountPassword nvarchar(200), + @MailboxPlanId int, + @SubscriberNumber nvarchar(32) +) +AS + +INSERT INTO ExchangeAccounts +( + ItemID, + AccountType, + AccountName, + DisplayName, + PrimaryEmailAddress, + MailEnabledPublicFolder, + MailboxManagerActions, + SamAccountName, + AccountPassword, + MailboxPlanId, + SubscriberNumber +) +VALUES +( + @ItemID, + @AccountType, + @AccountName, + @DisplayName, + @PrimaryEmailAddress, + @MailEnabledPublicFolder, + @MailboxManagerActions, + @SamAccountName, + @AccountPassword, + @MailboxPlanId, + @SubscriberNumber +) + +SET @AccountID = SCOPE_IDENTITY() + +RETURN +GO + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'AddExchangeMailboxPlan') +BEGIN +EXEC sp_executesql N' +CREATE PROCEDURE [dbo].[AddExchangeMailboxPlan] +( + @MailboxPlanId int OUTPUT, + @ItemID int, + @MailboxPlan nvarchar(300), + @EnableActiveSync bit, + @EnableIMAP bit, + @EnableMAPI bit, + @EnableOWA bit, + @EnablePOP bit, + @IsDefault bit, + @IssueWarningPct int, + @KeepDeletedItemsDays int, + @MailboxSizeMB int, + @MaxReceiveMessageSizeKB int, + @MaxRecipients int, + @MaxSendMessageSizeKB int, + @ProhibitSendPct int, + @ProhibitSendReceivePct int , + @HideFromAddressBook bit +) +AS + +INSERT INTO ExchangeMailboxPlans +( + ItemID, + MailboxPlan, + EnableActiveSync, + EnableIMAP, + EnableMAPI, + EnableOWA, + EnablePOP, + IsDefault, + IssueWarningPct, + KeepDeletedItemsDays, + MailboxSizeMB, + MaxReceiveMessageSizeKB, + MaxRecipients, + MaxSendMessageSizeKB, + ProhibitSendPct, + ProhibitSendReceivePct, + HideFromAddressBook +) +VALUES +( + @ItemID, + @MailboxPlan, + @EnableActiveSync, + @EnableIMAP, + @EnableMAPI, + @EnableOWA, + @EnablePOP, + @IsDefault, + @IssueWarningPct, + @KeepDeletedItemsDays, + @MailboxSizeMB, + @MaxReceiveMessageSizeKB, + @MaxRecipients, + @MaxSendMessageSizeKB, + @ProhibitSendPct, + @ProhibitSendReceivePct, + @HideFromAddressBook +) + +SET @MailboxPlanId = SCOPE_IDENTITY() + +RETURN' +END +GO + + + + + + + + + + + + + + + + + + +ALTER PROCEDURE [dbo].[AddExchangeOrganization] +( + @ItemID int, + @OrganizationID nvarchar(128) +) +AS + +IF NOT EXISTS(SELECT * FROM ExchangeOrganizations WHERE OrganizationID = @OrganizationID) +BEGIN + INSERT INTO ExchangeOrganizations + (ItemID, OrganizationID) + VALUES + (@ItemID, @OrganizationID) +END + +RETURN +GO + + + + + + + + + + + + +ALTER FUNCTION [dbo].[CalculateQuotaUsage] +( + @PackageID int, + @QuotaID int +) +RETURNS int +AS + BEGIN + + DECLARE @QuotaTypeID int + SELECT @QuotaTypeID = QuotaTypeID FROM Quotas + WHERE QuotaID = @QuotaID + + IF @QuotaTypeID <> 2 + RETURN 0 + + DECLARE @Result int + + IF @QuotaID = 52 -- diskspace + SET @Result = dbo.CalculatePackageDiskspace(@PackageID) + ELSE IF @QuotaID = 51 -- bandwidth + SET @Result = dbo.CalculatePackageBandwidth(@PackageID) + ELSE IF @QuotaID = 53 -- domains + SET @Result = (SELECT COUNT(D.DomainID) FROM PackagesTreeCache AS PT + INNER JOIN Domains AS D ON D.PackageID = PT.PackageID + WHERE IsSubDomain = 0 AND IsInstantAlias = 0 AND IsDomainPointer = 0 AND PT.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 54 -- sub-domains + SET @Result = (SELECT COUNT(D.DomainID) FROM PackagesTreeCache AS PT + INNER JOIN Domains AS D ON D.PackageID = PT.PackageID + WHERE IsSubDomain = 1 AND IsInstantAlias = 0 AND PT.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 220 -- domain pointers + SET @Result = (SELECT COUNT(D.DomainID) FROM PackagesTreeCache AS PT + INNER JOIN Domains AS D ON D.PackageID = PT.PackageID + WHERE IsDomainPointer = 1 AND PT.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 71 -- scheduled tasks + SET @Result = (SELECT COUNT(S.ScheduleID) FROM PackagesTreeCache AS PT + INNER JOIN Schedule AS S ON S.PackageID = PT.PackageID + WHERE PT.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 305 -- RAM of VPS + SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP + INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID + INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID + WHERE SIP.PropertyName = 'RamSize' AND PT.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 306 -- HDD of VPS + SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP + INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID + INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID + WHERE SIP.PropertyName = 'HddSize' AND PT.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 309 -- External IP addresses of VPS + SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP + INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID + INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID + WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 3) + ELSE IF @QuotaID = 100 -- Dedicated Web IP addresses + SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP + INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID + INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID + WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 2) + ELSE IF @QuotaID = 350 -- RAM of VPSforPc + SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP + INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID + INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID + WHERE SIP.PropertyName = 'Memory' AND PT.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 351 -- HDD of VPSforPc + SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP + INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID + INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID + WHERE SIP.PropertyName = 'HddSize' AND PT.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 354 -- External IP addresses of VPSforPc + SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP + INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID + INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID + WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 3) + ELSE IF @QuotaID = 319 -- BB Users + SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts ea + INNER JOIN BlackBerryUsers bu ON ea.AccountID = bu.AccountID + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 206 -- HostedSolution.Users + SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID AND ea.AccountType IN (1,5,6,7)) + ELSE IF @QuotaID = 78 -- Exchange2007.Mailboxes + SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID AND ea.MailboxPlanId IS NOT NULL) + ELSE IF @QuotaID = 77 -- Exchange2007.DiskSpace + SET @Result = (SELECT SUM(B.MailboxSizeMB) FROM ExchangeAccounts AS ea + INNER JOIN ExchangeMailboxPlans AS B ON ea.MailboxPlanId = B.MailboxPlanId + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID) + ELSE + SET @Result = (SELECT COUNT(SI.ItemID) FROM Quotas AS Q + INNER JOIN ServiceItems AS SI ON SI.ItemTypeID = Q.ItemTypeID + INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID AND PT.ParentPackageID = @PackageID + WHERE Q.QuotaID = @QuotaID) + + RETURN @Result + END + +GO + + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'DeleteExchangeMailboxPlan') +BEGIN +EXEC sp_executesql N' +CREATE PROCEDURE [dbo].[DeleteExchangeMailboxPlan] +( + @MailboxPlanId int +) +AS + +-- delete mailboxplan +DELETE FROM ExchangeMailboxPlans +WHERE MailboxPlanId = @MailboxPlanId + +RETURN' +END +GO + + + + + + + + + + + + + + +ALTER PROCEDURE [dbo].[DeleteExchangeOrganization] +( + @ItemID int +) +AS +BEGIN TRAN + DELETE FROM ExchangeMailboxPlans WHERE ItemID = @ItemID + DELETE FROM ExchangeOrganizations WHERE ItemID = @ItemID +COMMIT TRAN +RETURN +GO + + + + + + + + + + + +ALTER PROCEDURE [dbo].[ExchangeAccountExists] +( + @AccountName nvarchar(20), + @Exists bit OUTPUT +) +AS +SET @Exists = 0 +IF EXISTS(SELECT * FROM ExchangeAccounts WHERE sAMAccountName LIKE '%\'+@AccountName) +BEGIN + SET @Exists = 1 +END + +RETURN + +GO + + + + + + + + + + + + +ALTER PROCEDURE [dbo].[GetExchangeAccounts] +( + @ItemID int, + @AccountType int +) +AS +SELECT + E.AccountID, + E.ItemID, + E.AccountType, + E.AccountName, + E.DisplayName, + E.PrimaryEmailAddress, + E.MailEnabledPublicFolder, + E.MailboxPlanId, + P.MailboxPlan, + E.SubscriberNumber +FROM + ExchangeAccounts AS E +INNER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId +WHERE + E.ItemID = @ItemID AND + (E.AccountType = @AccountType OR @AccountType IS NULL) +ORDER BY DisplayName +RETURN + +GO + + + + + + + + + + +ALTER PROCEDURE [dbo].[GetExchangeAccountsPaged] +( + @ActorID int, + @ItemID int, + @AccountTypes nvarchar(30), + @FilterColumn nvarchar(50) = '', + @FilterValue nvarchar(50) = '', + @SortColumn nvarchar(50), + @StartRow int, + @MaximumRows int +) +AS + +DECLARE @PackageID int +SELECT @PackageID = PackageID FROM ServiceItems +WHERE ItemID = @ItemID + +-- check rights +IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0 +RAISERROR('You are not allowed to access this package', 16, 1) + +-- start +DECLARE @condition nvarchar(700) +SET @condition = ' +EA.AccountType IN (' + @AccountTypes + ') +AND EA.ItemID = @ItemID +' + +IF @FilterColumn <> '' AND @FilterColumn IS NOT NULL +AND @FilterValue <> '' AND @FilterValue IS NOT NULL +BEGIN + IF @FilterColumn = 'PrimaryEmailAddress' AND @AccountTypes <> '2' + BEGIN + SET @condition = @condition + ' AND EA.AccountID IN (SELECT EAEA.AccountID FROM ExchangeAccountEmailAddresses EAEA WHERE EAEA.EmailAddress LIKE ''' + @FilterValue + ''')' + END + ELSE + BEGIN + SET @condition = @condition + ' AND ' + @FilterColumn + ' LIKE ''' + @FilterValue + '''' + END +END + +IF @SortColumn IS NULL OR @SortColumn = '' +SET @SortColumn = 'EA.DisplayName ASC' + +DECLARE @joincondition nvarchar(700) + SET @joincondition = ',P.MailboxPlan FROM ExchangeAccounts AS EA + LEFT OUTER JOIN ExchangeMailboxPlans AS P ON EA.MailboxPlanId = P.MailboxPlanId' + +DECLARE @sql nvarchar(3500) + +set @sql = ' +SELECT COUNT(EA.AccountID) FROM ExchangeAccounts AS EA +WHERE ' + @condition + '; + +WITH Accounts AS ( + SELECT ROW_NUMBER() OVER (ORDER BY ' + @SortColumn + ') as Row, + EA.AccountID, + EA.ItemID, + EA.AccountType, + EA.AccountName, + EA.DisplayName, + EA.PrimaryEmailAddress, + EA.MailEnabledPublicFolder, + EA.MailboxPlanId, + EA.SubscriberNumber ' + @joincondition + + ' WHERE ' + @condition + ' +) + +SELECT * FROM Accounts +WHERE Row BETWEEN @StartRow + 1 and @StartRow + @MaximumRows +' + +print @sql + +exec sp_executesql @sql, N'@ItemID int, @StartRow int, @MaximumRows int', +@ItemID, @StartRow, @MaximumRows + +RETURN + + + + +GO + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetExchangeAccountByAccountName') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetExchangeAccountByAccountName] +( + @ItemID int, + @AccountName nvarchar(300) +) +AS +SELECT + E.AccountID, + E.ItemID, + E.AccountType, + E.AccountName, + E.DisplayName, + E.PrimaryEmailAddress, + E.MailEnabledPublicFolder, + E.MailboxManagerActions, + E.SamAccountName, + E.AccountPassword, + E.MailboxPlanId, + P.MailboxPlan, + E.SubscriberNumber +FROM + ExchangeAccounts AS E +LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId +WHERE + E.ItemID = @ItemID AND + E.AccountName = @AccountName +RETURN' +END +GO + + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetExchangeMailboxPlan') +BEGIN +EXEC sp_executesql N' CREATE PROCEDURE [dbo].[GetExchangeMailboxPlan] +( + @MailboxPlanId int +) +AS +SELECT + MailboxPlanId, + ItemID, + MailboxPlan, + EnableActiveSync, + EnableIMAP, + EnableMAPI, + EnableOWA, + EnablePOP, + IsDefault, + IssueWarningPct, + KeepDeletedItemsDays, + MailboxSizeMB, + MaxReceiveMessageSizeKB, + MaxRecipients, + MaxSendMessageSizeKB, + ProhibitSendPct, + ProhibitSendReceivePct, + HideFromAddressBook +FROM + ExchangeMailboxPlans +WHERE + MailboxPlanId = @MailboxPlanId +RETURN' +END +GO + + + + + + + + + + + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetExchangeMailboxPlans') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetExchangeMailboxPlans] +( + @ItemID int +) +AS +SELECT + MailboxPlanId, + ItemID, + MailboxPlan, + EnableActiveSync, + EnableIMAP, + EnableMAPI, + EnableOWA, + EnablePOP, + IsDefault, + IssueWarningPct, + KeepDeletedItemsDays, + MailboxSizeMB, + MaxReceiveMessageSizeKB, + MaxRecipients, + MaxSendMessageSizeKB, + ProhibitSendPct, + ProhibitSendReceivePct, + HideFromAddressBook +FROM + ExchangeMailboxPlans +WHERE + ItemID = @ItemID +ORDER BY MailboxPlan +RETURN' +END +GO + + + + + + + + + + + + + + + + + + + +ALTER PROCEDURE [dbo].[GetExchangeOrganizationStatistics] +( + @ItemID int +) +AS +SELECT + (SELECT COUNT(*) FROM ExchangeAccounts WHERE (AccountType = 1 OR AccountType = 5 OR AccountType = 6) AND ItemID = @ItemID) AS CreatedMailboxes, + (SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 2 AND ItemID = @ItemID) AS CreatedContacts, + (SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 3 AND ItemID = @ItemID) AS CreatedDistributionLists, + (SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 4 AND ItemID = @ItemID) AS CreatedPublicFolders, + (SELECT COUNT(*) FROM ExchangeOrganizationDomains WHERE ItemID = @ItemID) AS CreatedDomains, + (SELECT SUM(B.MailboxSizeMB) FROM ExchangeAccounts AS A INNER JOIN ExchangeMailboxPlans AS B ON A.MailboxPlanId = B.MailboxPlanId WHERE A.ItemID=@ItemID) AS UsedDiskSpace + +RETURN +GO + + + + + + + + + + + + + + + + + + + + +ALTER PROCEDURE [dbo].[GetPackages] +( + @ActorID int, + @UserID int +) +AS + +IF dbo.CheckActorUserRights(@ActorID, @UserID) = 0 +RAISERROR('You are not allowed to access this account', 16, 1) + +SELECT + P.PackageID, + P.ParentPackageID, + P.PackageName, + P.StatusID, + P.PurchaseDate, + + -- server + ISNULL(P.ServerID, 0) AS ServerID, + ISNULL(S.ServerName, 'None') AS ServerName, + ISNULL(S.Comments, '') AS ServerComments, + ISNULL(S.VirtualServer, 1) AS VirtualServer, + + -- hosting plan + P.PlanID, + HP.PlanName, + + -- user + P.UserID, + U.Username, + U.FirstName, + U.LastName, + U.RoleID, + U.Email +FROM Packages AS P +INNER JOIN Users AS U ON P.UserID = U.UserID +INNER JOIN Servers AS S ON P.ServerID = S.ServerID +INNER JOIN HostingPlans AS HP ON P.PlanID = HP.PlanID +WHERE + P.UserID = @UserID +RETURN + +GO + + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'SetExchangeAccountMailboxplan') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[SetExchangeAccountMailboxplan] +( + @AccountID int, + @MailboxPlanId int +) +AS + +UPDATE ExchangeAccounts SET + MailboxPlanId = @MailboxPlanId +WHERE + AccountID = @AccountID + +RETURN' +END +GO + + + + + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'SetOrganizationDefaultExchangeMailboxPlan') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[SetOrganizationDefaultExchangeMailboxPlan] +( + @ItemId int, + @MailboxPlanId int +) +AS + +UPDATE ExchangeMailboxPlans SET IsDefault=0 WHERE ItemId=@ItemId +UPDATE ExchangeMailboxPlans SET IsDefault=1 WHERE MailboxPlanId=@MailboxPlanId + +RETURN' +END +GO + + + + + + + + + + + + + + + + + + +ALTER PROCEDURE [dbo].[UpdateExchangeAccount] +( + @AccountID int, + @AccountName nvarchar(300), + @DisplayName nvarchar(300), + @PrimaryEmailAddress nvarchar(300), + @AccountType int, + @SamAccountName nvarchar(100), + @MailEnabledPublicFolder bit, + @MailboxManagerActions varchar(200), + @Password varchar(200), + @MailboxPlanId int, + @SubscriberNumber varchar(32) +) +AS + +BEGIN TRAN + +IF (@MailboxPlanId = -1) +BEGIN + SET @MailboxPlanId = NULL +END + +UPDATE ExchangeAccounts SET + AccountName = @AccountName, + DisplayName = @DisplayName, + PrimaryEmailAddress = @PrimaryEmailAddress, + MailEnabledPublicFolder = @MailEnabledPublicFolder, + MailboxManagerActions = @MailboxManagerActions, + AccountType =@AccountType, + SamAccountName = @SamAccountName, + MailboxPlanId = @MailboxPlanId, + SubscriberNumber = @SubscriberNumber + +WHERE + AccountID = @AccountID + +IF (@@ERROR <> 0 ) + BEGIN + ROLLBACK TRANSACTION + RETURN -1 + END + +UPDATE ExchangeAccounts SET + AccountPassword = @Password WHERE AccountID = @AccountID AND @Password IS NOT NULL + +IF (@@ERROR <> 0 ) + BEGIN + ROLLBACK TRANSACTION + RETURN -1 + END +COMMIT TRAN +RETURN +GO + + + + + + + + + + +ALTER PROCEDURE [dbo].[GetExchangeAccount] +( + @ItemID int, + @AccountID int +) +AS +SELECT + E.AccountID, + E.ItemID, + E.AccountType, + E.AccountName, + E.DisplayName, + E.PrimaryEmailAddress, + E.MailEnabledPublicFolder, + E.MailboxManagerActions, + E.SamAccountName, + E.AccountPassword, + E.MailboxPlanId, + P.MailboxPlan, + E.SubscriberNumber +FROM + ExchangeAccounts AS E +LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId +WHERE + E.ItemID = @ItemID AND + E.AccountID = @AccountID +RETURN +GO + + + + + + + + + +ALTER PROCEDURE [dbo].[GetExchangeMailboxes] + @ItemID int +AS +BEGIN +SELECT + AccountID, + ItemID, + AccountType, + AccountName, + DisplayName, + PrimaryEmailAddress, + MailEnabledPublicFolder, + SubscriberNumber +FROM + ExchangeAccounts +WHERE + ItemID = @ItemID AND + (AccountType =1 OR AccountType=5 OR AccountType=6) +ORDER BY 1 + +END + +GO + + + + + + + + + + + + +ALTER PROCEDURE [dbo].[SearchExchangeAccount] +( + @ActorID int, + @AccountType int, + @PrimaryEmailAddress nvarchar(300) +) +AS + +DECLARE @PackageID int +DECLARE @ItemID int +DECLARE @AccountID int + +SELECT + @AccountID = AccountID, + @ItemID = ItemID +FROM ExchangeAccounts +WHERE PrimaryEmailAddress = @PrimaryEmailAddress +AND AccountType = @AccountType + + +-- check space rights +SELECT @PackageID = PackageID FROM ServiceItems +WHERE ItemID = @ItemID + +IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0 +RAISERROR('You are not allowed to access this package', 16, 1) + +SELECT + AccountID, + ItemID, + @PackageID AS PackageID, + AccountType, + AccountName, + DisplayName, + PrimaryEmailAddress, + MailEnabledPublicFolder, + MailboxManagerActions, + SamAccountName, + AccountPassword, + SubscriberNumber +FROM ExchangeAccounts +WHERE AccountID = @AccountID + +RETURN + +GO + + + + + + + + + + + +ALTER PROCEDURE [dbo].[SearchExchangeAccounts] +( + @ActorID int, + @ItemID int, + @IncludeMailboxes bit, + @IncludeContacts bit, + @IncludeDistributionLists bit, + @IncludeRooms bit, + @IncludeEquipment bit, + @FilterColumn nvarchar(50) = '', + @FilterValue nvarchar(50) = '', + @SortColumn nvarchar(50) +) +AS +DECLARE @PackageID int +SELECT @PackageID = PackageID FROM ServiceItems +WHERE ItemID = @ItemID + +-- check rights +IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0 +RAISERROR('You are not allowed to access this package', 16, 1) + +-- start +DECLARE @condition nvarchar(700) +SET @condition = ' +((@IncludeMailboxes = 1 AND EA.AccountType = 1) +OR (@IncludeContacts = 1 AND EA.AccountType = 2) +OR (@IncludeDistributionLists = 1 AND EA.AccountType = 3) +OR (@IncludeRooms = 1 AND EA.AccountType = 5) +OR (@IncludeEquipment = 1 AND EA.AccountType = 6)) +AND EA.ItemID = @ItemID +' + +IF @FilterColumn <> '' AND @FilterColumn IS NOT NULL +AND @FilterValue <> '' AND @FilterValue IS NOT NULL +SET @condition = @condition + ' AND ' + @FilterColumn + ' LIKE ''' + @FilterValue + '''' + +IF @SortColumn IS NULL OR @SortColumn = '' +SET @SortColumn = 'EA.DisplayName ASC' + +DECLARE @sql nvarchar(3500) + +set @sql = ' +SELECT + EA.AccountID, + EA.ItemID, + EA.AccountType, + EA.AccountName, + EA.DisplayName, + EA.PrimaryEmailAddress, + EA.MailEnabledPublicFolder, + EA.SubscriberNumber +FROM ExchangeAccounts AS EA +WHERE ' + @condition + +print @sql + +exec sp_executesql @sql, N'@ItemID int, @IncludeMailboxes int, @IncludeContacts int, + @IncludeDistributionLists int, @IncludeRooms bit, @IncludeEquipment bit', +@ItemID, @IncludeMailboxes, @IncludeContacts, @IncludeDistributionLists, @IncludeRooms, @IncludeEquipment + +RETURN + +GO + + + + + + + + + + + + + + + + + + +ALTER PROCEDURE [dbo].[SearchOrganizationAccounts] +( + @ActorID int, + @ItemID int, + @FilterColumn nvarchar(50) = '', + @FilterValue nvarchar(50) = '', + @SortColumn nvarchar(50), + @IncludeMailboxes bit +) +AS +DECLARE @PackageID int +SELECT @PackageID = PackageID FROM ServiceItems +WHERE ItemID = @ItemID + +-- check rights +IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0 +RAISERROR('You are not allowed to access this package', 16, 1) + +-- start +DECLARE @condition nvarchar(700) +SET @condition = ' +(EA.AccountType = 7 OR (EA.AccountType = 1 AND @IncludeMailboxes = 1) ) +AND EA.ItemID = @ItemID +' + +IF @FilterColumn <> '' AND @FilterColumn IS NOT NULL +AND @FilterValue <> '' AND @FilterValue IS NOT NULL +SET @condition = @condition + ' AND ' + @FilterColumn + ' LIKE ''' + @FilterValue + '''' + +IF @SortColumn IS NULL OR @SortColumn = '' +SET @SortColumn = 'EA.DisplayName ASC' + +DECLARE @sql nvarchar(3500) + +set @sql = ' +SELECT + EA.AccountID, + EA.ItemID, + EA.AccountType, + EA.AccountName, + EA.DisplayName, + EA.PrimaryEmailAddress, + EA.SubscriberNumber +FROM ExchangeAccounts AS EA +WHERE ' + @condition + +print @sql + +exec sp_executesql @sql, N'@ItemID int, @IncludeMailboxes bit', +@ItemID, @IncludeMailboxes + +RETURN + + + diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs index 98a45a86..8a242db2 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/Quotas.cs @@ -105,6 +105,11 @@ order by rg.groupOrder public const string EXCHANGE2007_OWAENABLED = "Exchange2007.OWAEnabled"; // OWA Enabled by default public const string EXCHANGE2007_MAPIENABLED = "Exchange2007.MAPIEnabled"; // MAPI Enabled by default public const string EXCHANGE2007_ACTIVESYNCENABLED = "Exchange2007.ActiveSyncEnabled"; // ActiveSync Enabled by default + public const string EXCHANGE2007_KEEPDELETEDITEMSDAYS = "Exchange2007.KeepDeletedItemsDays"; // Keep deleted items + public const string EXCHANGE2007_MAXRECIPIENTS = "Exchange2007.MaxRecipients"; // Max Recipients + public const string EXCHANGE2007_MAXSENDMESSAGESIZEKB = "Exchange2007.MaxSendMessageSizeKB"; // Max Send Message Size + public const string EXCHANGE2007_MAXRECEIVEMESSAGESIZEKB = "Exchange2007.MaxReceiveMessageSizeKB"; // Max Receive Message Size + public const string EXCHANGE2007_ISCONSUMER = "Exchange2007.IsConsumer"; // Is Consumer Organization public const string MSSQL2000_DATABASES = "MsSQL2000.Databases"; // Databases public const string MSSQL2000_USERS = "MsSQL2000.Users"; // Users public const string MSSQL2000_MAXDATABASESIZE = "MsSQL2000.MaxDatabaseSize"; // Max Database Size diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs index 05e81557..99410a39 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs @@ -1,31 +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. - //------------------------------------------------------------------------------ // // This code was generated by a tool. @@ -39,8 +11,7 @@ // // This source code was auto-generated by wsdl, Version=2.0.50727.42. // -namespace WebsitePanel.EnterpriseServer -{ +namespace WebsitePanel.EnterpriseServer { using System.Xml.Serialization; using System.Web.Services; using System.ComponentModel; @@ -49,10 +20,12 @@ namespace WebsitePanel.EnterpriseServer using System.Diagnostics; using System.Data; + using WebsitePanel.Providers; using WebsitePanel.Providers.Common; using WebsitePanel.Providers.HostedSolution; using WebsitePanel.Providers.ResultObjects; + /// @@ -60,31 +33,10 @@ namespace WebsitePanel.EnterpriseServer [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Web.Services.WebServiceBindingAttribute(Name="esExchangeServerSoap", Namespace="http://smbsaas/websitepanel/enterpriseserver")] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseStatistics))] [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))] public partial class esExchangeServer : Microsoft.Web.Services3.WebServicesClientProtocol { - private System.Threading.SendOrPostCallback GetPublicFolderMailFlowSettingsOperationCompleted; - - private System.Threading.SendOrPostCallback SetPublicFolderMailFlowSettingsOperationCompleted; - - private System.Threading.SendOrPostCallback GetPublicFolderEmailAddressesOperationCompleted; - - private System.Threading.SendOrPostCallback AddPublicFolderEmailAddressOperationCompleted; - - private System.Threading.SendOrPostCallback SetPublicFolderPrimaryEmailAddressOperationCompleted; - - private System.Threading.SendOrPostCallback DeletePublicFolderEmailAddressesOperationCompleted; - - private System.Threading.SendOrPostCallback GetMobileDevicesOperationCompleted; - - private System.Threading.SendOrPostCallback GetMobileDeviceOperationCompleted; - - private System.Threading.SendOrPostCallback WipeDataFromDeviceOperationCompleted; - - private System.Threading.SendOrPostCallback CancelRemoteWipeRequestOperationCompleted; - - private System.Threading.SendOrPostCallback RemoveDeviceOperationCompleted; - private System.Threading.SendOrPostCallback GetRawExchangeOrganizationsPagedOperationCompleted; private System.Threading.SendOrPostCallback GetExchangeOrganizationsPagedOperationCompleted; @@ -103,7 +55,7 @@ namespace WebsitePanel.EnterpriseServer private System.Threading.SendOrPostCallback GetMailboxesStatisticsOperationCompleted; - private System.Threading.SendOrPostCallback GetPublicFoldersStatisticsOperationCompleted; + private System.Threading.SendOrPostCallback GetMailboxStatisticsOperationCompleted; private System.Threading.SendOrPostCallback CalculateOrganizationDiskspaceOperationCompleted; @@ -149,9 +101,7 @@ namespace WebsitePanel.EnterpriseServer private System.Threading.SendOrPostCallback SetMailboxMailFlowSettingsOperationCompleted; - private System.Threading.SendOrPostCallback GetMailboxAdvancedSettingsOperationCompleted; - - private System.Threading.SendOrPostCallback SetMailboxAdvancedSettingsOperationCompleted; + private System.Threading.SendOrPostCallback SetExchangeMailboxPlanOperationCompleted; private System.Threading.SendOrPostCallback GetMailboxSetupInstructionsOperationCompleted; @@ -199,6 +149,26 @@ namespace WebsitePanel.EnterpriseServer private System.Threading.SendOrPostCallback GetDistributionListPermissionsOperationCompleted; + private System.Threading.SendOrPostCallback GetMobileDevicesOperationCompleted; + + private System.Threading.SendOrPostCallback GetMobileDeviceOperationCompleted; + + private System.Threading.SendOrPostCallback WipeDataFromDeviceOperationCompleted; + + private System.Threading.SendOrPostCallback CancelRemoteWipeRequestOperationCompleted; + + private System.Threading.SendOrPostCallback RemoveDeviceOperationCompleted; + + private System.Threading.SendOrPostCallback GetExchangeMailboxPlansOperationCompleted; + + private System.Threading.SendOrPostCallback GetExchangeMailboxPlanOperationCompleted; + + private System.Threading.SendOrPostCallback AddExchangeMailboxPlanOperationCompleted; + + private System.Threading.SendOrPostCallback DeleteExchangeMailboxPlanOperationCompleted; + + private System.Threading.SendOrPostCallback SetOrganizationDefaultExchangeMailboxPlanOperationCompleted; + private System.Threading.SendOrPostCallback CreatePublicFolderOperationCompleted; private System.Threading.SendOrPostCallback DeletePublicFoldersOperationCompleted; @@ -213,44 +183,23 @@ namespace WebsitePanel.EnterpriseServer private System.Threading.SendOrPostCallback SetPublicFolderGeneralSettingsOperationCompleted; + private System.Threading.SendOrPostCallback GetPublicFolderMailFlowSettingsOperationCompleted; + + private System.Threading.SendOrPostCallback SetPublicFolderMailFlowSettingsOperationCompleted; + + private System.Threading.SendOrPostCallback GetPublicFolderEmailAddressesOperationCompleted; + + private System.Threading.SendOrPostCallback AddPublicFolderEmailAddressOperationCompleted; + + private System.Threading.SendOrPostCallback SetPublicFolderPrimaryEmailAddressOperationCompleted; + + private System.Threading.SendOrPostCallback DeletePublicFolderEmailAddressesOperationCompleted; + /// public esExchangeServer() { this.Url = "http://localhost:9005/esExchangeServer.asmx"; } - /// - public event GetPublicFolderMailFlowSettingsCompletedEventHandler GetPublicFolderMailFlowSettingsCompleted; - - /// - public event SetPublicFolderMailFlowSettingsCompletedEventHandler SetPublicFolderMailFlowSettingsCompleted; - - /// - public event GetPublicFolderEmailAddressesCompletedEventHandler GetPublicFolderEmailAddressesCompleted; - - /// - public event AddPublicFolderEmailAddressCompletedEventHandler AddPublicFolderEmailAddressCompleted; - - /// - public event SetPublicFolderPrimaryEmailAddressCompletedEventHandler SetPublicFolderPrimaryEmailAddressCompleted; - - /// - public event DeletePublicFolderEmailAddressesCompletedEventHandler DeletePublicFolderEmailAddressesCompleted; - - /// - public event GetMobileDevicesCompletedEventHandler GetMobileDevicesCompleted; - - /// - public event GetMobileDeviceCompletedEventHandler GetMobileDeviceCompleted; - - /// - public event WipeDataFromDeviceCompletedEventHandler WipeDataFromDeviceCompleted; - - /// - public event CancelRemoteWipeRequestCompletedEventHandler CancelRemoteWipeRequestCompleted; - - /// - public event RemoveDeviceCompletedEventHandler RemoveDeviceCompleted; - /// public event GetRawExchangeOrganizationsPagedCompletedEventHandler GetRawExchangeOrganizationsPagedCompleted; @@ -279,7 +228,7 @@ namespace WebsitePanel.EnterpriseServer public event GetMailboxesStatisticsCompletedEventHandler GetMailboxesStatisticsCompleted; /// - public event GetPublicFoldersStatisticsCompletedEventHandler GetPublicFoldersStatisticsCompleted; + public event GetMailboxStatisticsCompletedEventHandler GetMailboxStatisticsCompleted; /// public event CalculateOrganizationDiskspaceCompletedEventHandler CalculateOrganizationDiskspaceCompleted; @@ -348,10 +297,7 @@ namespace WebsitePanel.EnterpriseServer public event SetMailboxMailFlowSettingsCompletedEventHandler SetMailboxMailFlowSettingsCompleted; /// - public event GetMailboxAdvancedSettingsCompletedEventHandler GetMailboxAdvancedSettingsCompleted; - - /// - public event SetMailboxAdvancedSettingsCompletedEventHandler SetMailboxAdvancedSettingsCompleted; + public event SetExchangeMailboxPlanCompletedEventHandler SetExchangeMailboxPlanCompleted; /// public event GetMailboxSetupInstructionsCompletedEventHandler GetMailboxSetupInstructionsCompleted; @@ -422,6 +368,36 @@ namespace WebsitePanel.EnterpriseServer /// public event GetDistributionListPermissionsCompletedEventHandler GetDistributionListPermissionsCompleted; + /// + public event GetMobileDevicesCompletedEventHandler GetMobileDevicesCompleted; + + /// + public event GetMobileDeviceCompletedEventHandler GetMobileDeviceCompleted; + + /// + public event WipeDataFromDeviceCompletedEventHandler WipeDataFromDeviceCompleted; + + /// + public event CancelRemoteWipeRequestCompletedEventHandler CancelRemoteWipeRequestCompleted; + + /// + public event RemoveDeviceCompletedEventHandler RemoveDeviceCompleted; + + /// + public event GetExchangeMailboxPlansCompletedEventHandler GetExchangeMailboxPlansCompleted; + + /// + public event GetExchangeMailboxPlanCompletedEventHandler GetExchangeMailboxPlanCompleted; + + /// + public event AddExchangeMailboxPlanCompletedEventHandler AddExchangeMailboxPlanCompleted; + + /// + public event DeleteExchangeMailboxPlanCompletedEventHandler DeleteExchangeMailboxPlanCompleted; + + /// + public event SetOrganizationDefaultExchangeMailboxPlanCompletedEventHandler SetOrganizationDefaultExchangeMailboxPlanCompleted; + /// public event CreatePublicFolderCompletedEventHandler CreatePublicFolderCompleted; @@ -444,500 +420,22 @@ namespace WebsitePanel.EnterpriseServer public event SetPublicFolderGeneralSettingsCompletedEventHandler SetPublicFolderGeneralSettingsCompleted; /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPublicFolderMailFlowSettings", 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 ExchangePublicFolder GetPublicFolderMailFlowSettings(int itemId, int accountId) { - object[] results = this.Invoke("GetPublicFolderMailFlowSettings", new object[] { - itemId, - accountId}); - return ((ExchangePublicFolder)(results[0])); - } + public event GetPublicFolderMailFlowSettingsCompletedEventHandler GetPublicFolderMailFlowSettingsCompleted; /// - public System.IAsyncResult BeginGetPublicFolderMailFlowSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetPublicFolderMailFlowSettings", new object[] { - itemId, - accountId}, callback, asyncState); - } + public event SetPublicFolderMailFlowSettingsCompletedEventHandler SetPublicFolderMailFlowSettingsCompleted; /// - public ExchangePublicFolder EndGetPublicFolderMailFlowSettings(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ExchangePublicFolder)(results[0])); - } + public event GetPublicFolderEmailAddressesCompletedEventHandler GetPublicFolderEmailAddressesCompleted; /// - public void GetPublicFolderMailFlowSettingsAsync(int itemId, int accountId) { - this.GetPublicFolderMailFlowSettingsAsync(itemId, accountId, null); - } + public event AddPublicFolderEmailAddressCompletedEventHandler AddPublicFolderEmailAddressCompleted; /// - public void GetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, object userState) { - if ((this.GetPublicFolderMailFlowSettingsOperationCompleted == null)) { - this.GetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderMailFlowSettingsOperationCompleted); - } - this.InvokeAsync("GetPublicFolderMailFlowSettings", new object[] { - itemId, - accountId}, this.GetPublicFolderMailFlowSettingsOperationCompleted, userState); - } - - private void OnGetPublicFolderMailFlowSettingsOperationCompleted(object arg) { - if ((this.GetPublicFolderMailFlowSettingsCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetPublicFolderMailFlowSettingsCompleted(this, new GetPublicFolderMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } + public event SetPublicFolderPrimaryEmailAddressCompletedEventHandler SetPublicFolderPrimaryEmailAddressCompleted; /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetPublicFolderMailFlowSettings", 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 int SetPublicFolderMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { - object[] results = this.Invoke("SetPublicFolderMailFlowSettings", new object[] { - itemId, - accountId, - acceptAccounts, - rejectAccounts, - requireSenderAuthentication}); - return ((int)(results[0])); - } - - /// - public System.IAsyncResult BeginSetPublicFolderMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("SetPublicFolderMailFlowSettings", new object[] { - itemId, - accountId, - acceptAccounts, - rejectAccounts, - requireSenderAuthentication}, callback, asyncState); - } - - /// - public int EndSetPublicFolderMailFlowSettings(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((int)(results[0])); - } - - /// - public void SetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { - this.SetPublicFolderMailFlowSettingsAsync(itemId, accountId, acceptAccounts, rejectAccounts, requireSenderAuthentication, null); - } - - /// - public void SetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) { - if ((this.SetPublicFolderMailFlowSettingsOperationCompleted == null)) { - this.SetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderMailFlowSettingsOperationCompleted); - } - this.InvokeAsync("SetPublicFolderMailFlowSettings", new object[] { - itemId, - accountId, - acceptAccounts, - rejectAccounts, - requireSenderAuthentication}, this.SetPublicFolderMailFlowSettingsOperationCompleted, userState); - } - - private void OnSetPublicFolderMailFlowSettingsOperationCompleted(object arg) { - if ((this.SetPublicFolderMailFlowSettingsCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.SetPublicFolderMailFlowSettingsCompleted(this, new SetPublicFolderMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPublicFolderEmailAddresses", 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 ExchangeEmailAddress[] GetPublicFolderEmailAddresses(int itemId, int accountId) { - object[] results = this.Invoke("GetPublicFolderEmailAddresses", new object[] { - itemId, - accountId}); - return ((ExchangeEmailAddress[])(results[0])); - } - - /// - public System.IAsyncResult BeginGetPublicFolderEmailAddresses(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetPublicFolderEmailAddresses", new object[] { - itemId, - accountId}, callback, asyncState); - } - - /// - public ExchangeEmailAddress[] EndGetPublicFolderEmailAddresses(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ExchangeEmailAddress[])(results[0])); - } - - /// - public void GetPublicFolderEmailAddressesAsync(int itemId, int accountId) { - this.GetPublicFolderEmailAddressesAsync(itemId, accountId, null); - } - - /// - public void GetPublicFolderEmailAddressesAsync(int itemId, int accountId, object userState) { - if ((this.GetPublicFolderEmailAddressesOperationCompleted == null)) { - this.GetPublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderEmailAddressesOperationCompleted); - } - this.InvokeAsync("GetPublicFolderEmailAddresses", new object[] { - itemId, - accountId}, this.GetPublicFolderEmailAddressesOperationCompleted, userState); - } - - private void OnGetPublicFolderEmailAddressesOperationCompleted(object arg) { - if ((this.GetPublicFolderEmailAddressesCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetPublicFolderEmailAddressesCompleted(this, new GetPublicFolderEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddPublicFolderEmailAddress", 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 int AddPublicFolderEmailAddress(int itemId, int accountId, string emailAddress) { - object[] results = this.Invoke("AddPublicFolderEmailAddress", new object[] { - itemId, - accountId, - emailAddress}); - return ((int)(results[0])); - } - - /// - public System.IAsyncResult BeginAddPublicFolderEmailAddress(int itemId, int accountId, string emailAddress, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("AddPublicFolderEmailAddress", new object[] { - itemId, - accountId, - emailAddress}, callback, asyncState); - } - - /// - public int EndAddPublicFolderEmailAddress(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((int)(results[0])); - } - - /// - public void AddPublicFolderEmailAddressAsync(int itemId, int accountId, string emailAddress) { - this.AddPublicFolderEmailAddressAsync(itemId, accountId, emailAddress, null); - } - - /// - public void AddPublicFolderEmailAddressAsync(int itemId, int accountId, string emailAddress, object userState) { - if ((this.AddPublicFolderEmailAddressOperationCompleted == null)) { - this.AddPublicFolderEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddPublicFolderEmailAddressOperationCompleted); - } - this.InvokeAsync("AddPublicFolderEmailAddress", new object[] { - itemId, - accountId, - emailAddress}, this.AddPublicFolderEmailAddressOperationCompleted, userState); - } - - private void OnAddPublicFolderEmailAddressOperationCompleted(object arg) { - if ((this.AddPublicFolderEmailAddressCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.AddPublicFolderEmailAddressCompleted(this, new AddPublicFolderEmailAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetPublicFolderPrimaryEmailAddress", 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 int SetPublicFolderPrimaryEmailAddress(int itemId, int accountId, string emailAddress) { - object[] results = this.Invoke("SetPublicFolderPrimaryEmailAddress", new object[] { - itemId, - accountId, - emailAddress}); - return ((int)(results[0])); - } - - /// - public System.IAsyncResult BeginSetPublicFolderPrimaryEmailAddress(int itemId, int accountId, string emailAddress, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("SetPublicFolderPrimaryEmailAddress", new object[] { - itemId, - accountId, - emailAddress}, callback, asyncState); - } - - /// - public int EndSetPublicFolderPrimaryEmailAddress(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((int)(results[0])); - } - - /// - public void SetPublicFolderPrimaryEmailAddressAsync(int itemId, int accountId, string emailAddress) { - this.SetPublicFolderPrimaryEmailAddressAsync(itemId, accountId, emailAddress, null); - } - - /// - public void SetPublicFolderPrimaryEmailAddressAsync(int itemId, int accountId, string emailAddress, object userState) { - if ((this.SetPublicFolderPrimaryEmailAddressOperationCompleted == null)) { - this.SetPublicFolderPrimaryEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderPrimaryEmailAddressOperationCompleted); - } - this.InvokeAsync("SetPublicFolderPrimaryEmailAddress", new object[] { - itemId, - accountId, - emailAddress}, this.SetPublicFolderPrimaryEmailAddressOperationCompleted, userState); - } - - private void OnSetPublicFolderPrimaryEmailAddressOperationCompleted(object arg) { - if ((this.SetPublicFolderPrimaryEmailAddressCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.SetPublicFolderPrimaryEmailAddressCompleted(this, new SetPublicFolderPrimaryEmailAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeletePublicFolderEmailAddresses", 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 int DeletePublicFolderEmailAddresses(int itemId, int accountId, string[] emailAddresses) { - object[] results = this.Invoke("DeletePublicFolderEmailAddresses", new object[] { - itemId, - accountId, - emailAddresses}); - return ((int)(results[0])); - } - - /// - public System.IAsyncResult BeginDeletePublicFolderEmailAddresses(int itemId, int accountId, string[] emailAddresses, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("DeletePublicFolderEmailAddresses", new object[] { - itemId, - accountId, - emailAddresses}, callback, asyncState); - } - - /// - public int EndDeletePublicFolderEmailAddresses(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((int)(results[0])); - } - - /// - public void DeletePublicFolderEmailAddressesAsync(int itemId, int accountId, string[] emailAddresses) { - this.DeletePublicFolderEmailAddressesAsync(itemId, accountId, emailAddresses, null); - } - - /// - public void DeletePublicFolderEmailAddressesAsync(int itemId, int accountId, string[] emailAddresses, object userState) { - if ((this.DeletePublicFolderEmailAddressesOperationCompleted == null)) { - this.DeletePublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeletePublicFolderEmailAddressesOperationCompleted); - } - this.InvokeAsync("DeletePublicFolderEmailAddresses", new object[] { - itemId, - accountId, - emailAddresses}, this.DeletePublicFolderEmailAddressesOperationCompleted, userState); - } - - private void OnDeletePublicFolderEmailAddressesOperationCompleted(object arg) { - if ((this.DeletePublicFolderEmailAddressesCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.DeletePublicFolderEmailAddressesCompleted(this, new DeletePublicFolderEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMobileDevices", 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 ExchangeMobileDevice[] GetMobileDevices(int itemId, int accountId) { - object[] results = this.Invoke("GetMobileDevices", new object[] { - itemId, - accountId}); - return ((ExchangeMobileDevice[])(results[0])); - } - - /// - public System.IAsyncResult BeginGetMobileDevices(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetMobileDevices", new object[] { - itemId, - accountId}, callback, asyncState); - } - - /// - public ExchangeMobileDevice[] EndGetMobileDevices(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ExchangeMobileDevice[])(results[0])); - } - - /// - public void GetMobileDevicesAsync(int itemId, int accountId) { - this.GetMobileDevicesAsync(itemId, accountId, null); - } - - /// - public void GetMobileDevicesAsync(int itemId, int accountId, object userState) { - if ((this.GetMobileDevicesOperationCompleted == null)) { - this.GetMobileDevicesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMobileDevicesOperationCompleted); - } - this.InvokeAsync("GetMobileDevices", new object[] { - itemId, - accountId}, this.GetMobileDevicesOperationCompleted, userState); - } - - private void OnGetMobileDevicesOperationCompleted(object arg) { - if ((this.GetMobileDevicesCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetMobileDevicesCompleted(this, new GetMobileDevicesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMobileDevice", 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 ExchangeMobileDevice GetMobileDevice(int itemId, string deviceId) { - object[] results = this.Invoke("GetMobileDevice", new object[] { - itemId, - deviceId}); - return ((ExchangeMobileDevice)(results[0])); - } - - /// - public System.IAsyncResult BeginGetMobileDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetMobileDevice", new object[] { - itemId, - deviceId}, callback, asyncState); - } - - /// - public ExchangeMobileDevice EndGetMobileDevice(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ExchangeMobileDevice)(results[0])); - } - - /// - public void GetMobileDeviceAsync(int itemId, string deviceId) { - this.GetMobileDeviceAsync(itemId, deviceId, null); - } - - /// - public void GetMobileDeviceAsync(int itemId, string deviceId, object userState) { - if ((this.GetMobileDeviceOperationCompleted == null)) { - this.GetMobileDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMobileDeviceOperationCompleted); - } - this.InvokeAsync("GetMobileDevice", new object[] { - itemId, - deviceId}, this.GetMobileDeviceOperationCompleted, userState); - } - - private void OnGetMobileDeviceOperationCompleted(object arg) { - if ((this.GetMobileDeviceCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetMobileDeviceCompleted(this, new GetMobileDeviceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/WipeDataFromDevice", 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 void WipeDataFromDevice(int itemId, string deviceId) { - this.Invoke("WipeDataFromDevice", new object[] { - itemId, - deviceId}); - } - - /// - public System.IAsyncResult BeginWipeDataFromDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("WipeDataFromDevice", new object[] { - itemId, - deviceId}, callback, asyncState); - } - - /// - public void EndWipeDataFromDevice(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void WipeDataFromDeviceAsync(int itemId, string deviceId) { - this.WipeDataFromDeviceAsync(itemId, deviceId, null); - } - - /// - public void WipeDataFromDeviceAsync(int itemId, string deviceId, object userState) { - if ((this.WipeDataFromDeviceOperationCompleted == null)) { - this.WipeDataFromDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnWipeDataFromDeviceOperationCompleted); - } - this.InvokeAsync("WipeDataFromDevice", new object[] { - itemId, - deviceId}, this.WipeDataFromDeviceOperationCompleted, userState); - } - - private void OnWipeDataFromDeviceOperationCompleted(object arg) { - if ((this.WipeDataFromDeviceCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.WipeDataFromDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CancelRemoteWipeRequest", 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 void CancelRemoteWipeRequest(int itemId, string deviceId) { - this.Invoke("CancelRemoteWipeRequest", new object[] { - itemId, - deviceId}); - } - - /// - public System.IAsyncResult BeginCancelRemoteWipeRequest(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("CancelRemoteWipeRequest", new object[] { - itemId, - deviceId}, callback, asyncState); - } - - /// - public void EndCancelRemoteWipeRequest(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void CancelRemoteWipeRequestAsync(int itemId, string deviceId) { - this.CancelRemoteWipeRequestAsync(itemId, deviceId, null); - } - - /// - public void CancelRemoteWipeRequestAsync(int itemId, string deviceId, object userState) { - if ((this.CancelRemoteWipeRequestOperationCompleted == null)) { - this.CancelRemoteWipeRequestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCancelRemoteWipeRequestOperationCompleted); - } - this.InvokeAsync("CancelRemoteWipeRequest", new object[] { - itemId, - deviceId}, this.CancelRemoteWipeRequestOperationCompleted, userState); - } - - private void OnCancelRemoteWipeRequestOperationCompleted(object arg) { - if ((this.CancelRemoteWipeRequestCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.CancelRemoteWipeRequestCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/RemoveDevice", 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 void RemoveDevice(int itemId, string deviceId) { - this.Invoke("RemoveDevice", new object[] { - itemId, - deviceId}); - } - - /// - public System.IAsyncResult BeginRemoveDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("RemoveDevice", new object[] { - itemId, - deviceId}, callback, asyncState); - } - - /// - public void EndRemoveDevice(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void RemoveDeviceAsync(int itemId, string deviceId) { - this.RemoveDeviceAsync(itemId, deviceId, null); - } - - /// - public void RemoveDeviceAsync(int itemId, string deviceId, object userState) { - if ((this.RemoveDeviceOperationCompleted == null)) { - this.RemoveDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveDeviceOperationCompleted); - } - this.InvokeAsync("RemoveDevice", new object[] { - itemId, - deviceId}, this.RemoveDeviceOperationCompleted, userState); - } - - private void OnRemoveDeviceOperationCompleted(object arg) { - if ((this.RemoveDeviceCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.RemoveDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } + public event DeletePublicFolderEmailAddressesCompletedEventHandler DeletePublicFolderEmailAddressesCompleted; /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRawExchangeOrganizationsPaged", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] @@ -1363,43 +861,46 @@ namespace WebsitePanel.EnterpriseServer } /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPublicFoldersStatistics", 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 ExchangeItemStatistics[] GetPublicFoldersStatistics(int itemId) { - object[] results = this.Invoke("GetPublicFoldersStatistics", new object[] { - itemId}); - return ((ExchangeItemStatistics[])(results[0])); + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMailboxStatistics", 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 ExchangeMailboxStatistics GetMailboxStatistics(int itemId, int accountId) { + object[] results = this.Invoke("GetMailboxStatistics", new object[] { + itemId, + accountId}); + return ((ExchangeMailboxStatistics)(results[0])); } /// - public System.IAsyncResult BeginGetPublicFoldersStatistics(int itemId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetPublicFoldersStatistics", new object[] { - itemId}, callback, asyncState); + public System.IAsyncResult BeginGetMailboxStatistics(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetMailboxStatistics", new object[] { + itemId, + accountId}, callback, asyncState); } /// - public ExchangeItemStatistics[] EndGetPublicFoldersStatistics(System.IAsyncResult asyncResult) { + public ExchangeMailboxStatistics EndGetMailboxStatistics(System.IAsyncResult asyncResult) { object[] results = this.EndInvoke(asyncResult); - return ((ExchangeItemStatistics[])(results[0])); + return ((ExchangeMailboxStatistics)(results[0])); } /// - public void GetPublicFoldersStatisticsAsync(int itemId) { - this.GetPublicFoldersStatisticsAsync(itemId, null); + public void GetMailboxStatisticsAsync(int itemId, int accountId) { + this.GetMailboxStatisticsAsync(itemId, accountId, null); } /// - public void GetPublicFoldersStatisticsAsync(int itemId, object userState) { - if ((this.GetPublicFoldersStatisticsOperationCompleted == null)) { - this.GetPublicFoldersStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFoldersStatisticsOperationCompleted); + public void GetMailboxStatisticsAsync(int itemId, int accountId, object userState) { + if ((this.GetMailboxStatisticsOperationCompleted == null)) { + this.GetMailboxStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxStatisticsOperationCompleted); } - this.InvokeAsync("GetPublicFoldersStatistics", new object[] { - itemId}, this.GetPublicFoldersStatisticsOperationCompleted, userState); + this.InvokeAsync("GetMailboxStatistics", new object[] { + itemId, + accountId}, this.GetMailboxStatisticsOperationCompleted, userState); } - private void OnGetPublicFoldersStatisticsOperationCompleted(object arg) { - if ((this.GetPublicFoldersStatisticsCompleted != null)) { + private void OnGetMailboxStatisticsOperationCompleted(object arg) { + if ((this.GetMailboxStatisticsCompleted != null)) { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GetPublicFoldersStatisticsCompleted(this, new GetPublicFoldersStatisticsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + this.GetMailboxStatisticsCompleted(this, new GetMailboxStatisticsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } @@ -2038,7 +1539,7 @@ namespace WebsitePanel.EnterpriseServer /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CreateMailbox", 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 int CreateMailbox(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName, string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress) { + public int CreateMailbox(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName, string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress, int mailboxPlanId, string subscriberNumber) { object[] results = this.Invoke("CreateMailbox", new object[] { itemId, accountId, @@ -2049,12 +1550,14 @@ namespace WebsitePanel.EnterpriseServer domain, password, sendSetupInstructions, - setupInstructionMailAddress}); + setupInstructionMailAddress, + mailboxPlanId, + subscriberNumber}); return ((int)(results[0])); } /// - public System.IAsyncResult BeginCreateMailbox(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName, string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginCreateMailbox(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName, string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress, int mailboxPlanId, string subscriberNumber, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("CreateMailbox", new object[] { itemId, accountId, @@ -2065,7 +1568,9 @@ namespace WebsitePanel.EnterpriseServer domain, password, sendSetupInstructions, - setupInstructionMailAddress}, callback, asyncState); + setupInstructionMailAddress, + mailboxPlanId, + subscriberNumber}, callback, asyncState); } /// @@ -2075,12 +1580,12 @@ namespace WebsitePanel.EnterpriseServer } /// - public void CreateMailboxAsync(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName, string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress) { - this.CreateMailboxAsync(itemId, accountId, accountType, accountName, displayName, name, domain, password, sendSetupInstructions, setupInstructionMailAddress, null); + public void CreateMailboxAsync(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName, string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress, int mailboxPlanId, string subscriberNumber) { + this.CreateMailboxAsync(itemId, accountId, accountType, accountName, displayName, name, domain, password, sendSetupInstructions, setupInstructionMailAddress, mailboxPlanId, subscriberNumber, null); } /// - public void CreateMailboxAsync(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName, string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress, object userState) { + public void CreateMailboxAsync(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName, string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress, int mailboxPlanId, string subscriberNumber, object userState) { if ((this.CreateMailboxOperationCompleted == null)) { this.CreateMailboxOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateMailboxOperationCompleted); } @@ -2094,7 +1599,9 @@ namespace WebsitePanel.EnterpriseServer domain, password, sendSetupInstructions, - setupInstructionMailAddress}, this.CreateMailboxOperationCompleted, userState); + setupInstructionMailAddress, + mailboxPlanId, + subscriberNumber}, this.CreateMailboxOperationCompleted, userState); } private void OnCreateMailboxOperationCompleted(object arg) { @@ -2238,120 +1745,22 @@ namespace WebsitePanel.EnterpriseServer /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetMailboxGeneralSettings", 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 int SetMailboxGeneralSettings( - int itemId, - int accountId, - string displayName, - string password, - bool hideAddressBook, - bool disabled, - string firstName, - string initials, - string lastName, - string address, - string city, - string state, - string zip, - string country, - string jobTitle, - string company, - string department, - string office, - string managerAccountName, - string businessPhone, - string fax, - string homePhone, - string mobilePhone, - string pager, - string webPage, - string notes) { + public int SetMailboxGeneralSettings(int itemId, int accountId, bool hideAddressBook, bool disabled) { object[] results = this.Invoke("SetMailboxGeneralSettings", new object[] { itemId, accountId, - displayName, - password, hideAddressBook, - disabled, - firstName, - initials, - lastName, - address, - city, - state, - zip, - country, - jobTitle, - company, - department, - office, - managerAccountName, - businessPhone, - fax, - homePhone, - mobilePhone, - pager, - webPage, - notes}); + disabled}); return ((int)(results[0])); } /// - public System.IAsyncResult BeginSetMailboxGeneralSettings( - int itemId, - int accountId, - string displayName, - string password, - bool hideAddressBook, - bool disabled, - string firstName, - string initials, - string lastName, - string address, - string city, - string state, - string zip, - string country, - string jobTitle, - string company, - string department, - string office, - string managerAccountName, - string businessPhone, - string fax, - string homePhone, - string mobilePhone, - string pager, - string webPage, - string notes, - System.AsyncCallback callback, - object asyncState) { + public System.IAsyncResult BeginSetMailboxGeneralSettings(int itemId, int accountId, bool hideAddressBook, bool disabled, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("SetMailboxGeneralSettings", new object[] { itemId, accountId, - displayName, - password, hideAddressBook, - disabled, - firstName, - initials, - lastName, - address, - city, - state, - zip, - country, - jobTitle, - company, - department, - office, - managerAccountName, - businessPhone, - fax, - homePhone, - mobilePhone, - pager, - webPage, - notes}, callback, asyncState); + disabled}, callback, asyncState); } /// @@ -2361,95 +1770,20 @@ namespace WebsitePanel.EnterpriseServer } /// - public void SetMailboxGeneralSettingsAsync( - int itemId, - int accountId, - string displayName, - string password, - bool hideAddressBook, - bool disabled, - string firstName, - string initials, - string lastName, - string address, - string city, - string state, - string zip, - string country, - string jobTitle, - string company, - string department, - string office, - string managerAccountName, - string businessPhone, - string fax, - string homePhone, - string mobilePhone, - string pager, - string webPage, - string notes) { - this.SetMailboxGeneralSettingsAsync(itemId, accountId, displayName, password, hideAddressBook, disabled, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes, null); + public void SetMailboxGeneralSettingsAsync(int itemId, int accountId, bool hideAddressBook, bool disabled) { + this.SetMailboxGeneralSettingsAsync(itemId, accountId, hideAddressBook, disabled, null); } /// - public void SetMailboxGeneralSettingsAsync( - int itemId, - int accountId, - string displayName, - string password, - bool hideAddressBook, - bool disabled, - string firstName, - string initials, - string lastName, - string address, - string city, - string state, - string zip, - string country, - string jobTitle, - string company, - string department, - string office, - string managerAccountName, - string businessPhone, - string fax, - string homePhone, - string mobilePhone, - string pager, - string webPage, - string notes, - object userState) { + public void SetMailboxGeneralSettingsAsync(int itemId, int accountId, bool hideAddressBook, bool disabled, object userState) { if ((this.SetMailboxGeneralSettingsOperationCompleted == null)) { this.SetMailboxGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxGeneralSettingsOperationCompleted); } this.InvokeAsync("SetMailboxGeneralSettings", new object[] { itemId, accountId, - displayName, - password, hideAddressBook, - disabled, - firstName, - initials, - lastName, - address, - city, - state, - zip, - country, - jobTitle, - company, - department, - office, - managerAccountName, - businessPhone, - fax, - homePhone, - mobilePhone, - pager, - webPage, - notes}, this.SetMailboxGeneralSettingsOperationCompleted, userState); + disabled}, this.SetMailboxGeneralSettingsOperationCompleted, userState); } private void OnSetMailboxGeneralSettingsOperationCompleted(object arg) { @@ -2690,7 +2024,7 @@ namespace WebsitePanel.EnterpriseServer /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetMailboxMailFlowSettings", 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 int SetMailboxMailFlowSettings(int itemId, int accountId, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication) { + public int SetMailboxMailFlowSettings(int itemId, int accountId, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { object[] results = this.Invoke("SetMailboxMailFlowSettings", new object[] { itemId, accountId, @@ -2700,15 +2034,12 @@ namespace WebsitePanel.EnterpriseServer sendOnBehalfAccounts, acceptAccounts, rejectAccounts, - maxRecipients, - maxSendMessageSizeKB, - maxReceiveMessageSizeKB, requireSenderAuthentication}); return ((int)(results[0])); } /// - public System.IAsyncResult BeginSetMailboxMailFlowSettings(int itemId, int accountId, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginSetMailboxMailFlowSettings(int itemId, int accountId, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("SetMailboxMailFlowSettings", new object[] { itemId, accountId, @@ -2718,9 +2049,6 @@ namespace WebsitePanel.EnterpriseServer sendOnBehalfAccounts, acceptAccounts, rejectAccounts, - maxRecipients, - maxSendMessageSizeKB, - maxReceiveMessageSizeKB, requireSenderAuthentication}, callback, asyncState); } @@ -2731,12 +2059,12 @@ namespace WebsitePanel.EnterpriseServer } /// - public void SetMailboxMailFlowSettingsAsync(int itemId, int accountId, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication) { - this.SetMailboxMailFlowSettingsAsync(itemId, accountId, enableForwarding, forwardingAccountName, forwardToBoth, sendOnBehalfAccounts, acceptAccounts, rejectAccounts, maxRecipients, maxSendMessageSizeKB, maxReceiveMessageSizeKB, requireSenderAuthentication, null); + public void SetMailboxMailFlowSettingsAsync(int itemId, int accountId, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { + this.SetMailboxMailFlowSettingsAsync(itemId, accountId, enableForwarding, forwardingAccountName, forwardToBoth, sendOnBehalfAccounts, acceptAccounts, rejectAccounts, requireSenderAuthentication, null); } /// - public void SetMailboxMailFlowSettingsAsync(int itemId, int accountId, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication, object userState) { + public void SetMailboxMailFlowSettingsAsync(int itemId, int accountId, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) { if ((this.SetMailboxMailFlowSettingsOperationCompleted == null)) { this.SetMailboxMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxMailFlowSettingsOperationCompleted); } @@ -2749,9 +2077,6 @@ namespace WebsitePanel.EnterpriseServer sendOnBehalfAccounts, acceptAccounts, rejectAccounts, - maxRecipients, - maxSendMessageSizeKB, - maxReceiveMessageSizeKB, requireSenderAuthentication}, this.SetMailboxMailFlowSettingsOperationCompleted, userState); } @@ -2763,117 +2088,49 @@ namespace WebsitePanel.EnterpriseServer } /// - [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])); - } - - /// - public System.IAsyncResult BeginGetMailboxAdvancedSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GetMailboxAdvancedSettings", new object[] { - itemId, - accountId}, callback, asyncState); - } - - /// - public ExchangeMailbox EndGetMailboxAdvancedSettings(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((ExchangeMailbox)(results[0])); - } - - /// - public void GetMailboxAdvancedSettingsAsync(int itemId, int accountId) { - this.GetMailboxAdvancedSettingsAsync(itemId, accountId, null); - } - - /// - 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)); - } - } - - /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetMailboxAdvancedSettings", 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 int SetMailboxAdvancedSettings(int itemId, int accountId, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) { - object[] results = this.Invoke("SetMailboxAdvancedSettings", new object[] { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetExchangeMailboxPlan", 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 int SetExchangeMailboxPlan(int itemId, int accountId, int mailboxPlanId) { + object[] results = this.Invoke("SetExchangeMailboxPlan", new object[] { itemId, accountId, - enablePOP, - enableIMAP, - enableOWA, - enableMAPI, - enableActiveSync, - issueWarningKB, - prohibitSendKB, - prohibitSendReceiveKB, - keepDeletedItemsDays}); + mailboxPlanId}); return ((int)(results[0])); } /// - public System.IAsyncResult BeginSetMailboxAdvancedSettings(int itemId, int accountId, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("SetMailboxAdvancedSettings", new object[] { + public System.IAsyncResult BeginSetExchangeMailboxPlan(int itemId, int accountId, int mailboxPlanId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetExchangeMailboxPlan", new object[] { itemId, accountId, - enablePOP, - enableIMAP, - enableOWA, - enableMAPI, - enableActiveSync, - issueWarningKB, - prohibitSendKB, - prohibitSendReceiveKB, - keepDeletedItemsDays}, callback, asyncState); + mailboxPlanId}, callback, asyncState); } /// - public int EndSetMailboxAdvancedSettings(System.IAsyncResult asyncResult) { + public int EndSetExchangeMailboxPlan(System.IAsyncResult asyncResult) { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } /// - public void SetMailboxAdvancedSettingsAsync(int itemId, int accountId, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) { - this.SetMailboxAdvancedSettingsAsync(itemId, accountId, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, null); + public void SetExchangeMailboxPlanAsync(int itemId, int accountId, int mailboxPlanId) { + this.SetExchangeMailboxPlanAsync(itemId, accountId, mailboxPlanId, null); } /// - public void SetMailboxAdvancedSettingsAsync(int itemId, int accountId, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, object userState) { - if ((this.SetMailboxAdvancedSettingsOperationCompleted == null)) { - this.SetMailboxAdvancedSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxAdvancedSettingsOperationCompleted); + public void SetExchangeMailboxPlanAsync(int itemId, int accountId, int mailboxPlanId, object userState) { + if ((this.SetExchangeMailboxPlanOperationCompleted == null)) { + this.SetExchangeMailboxPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetExchangeMailboxPlanOperationCompleted); } - this.InvokeAsync("SetMailboxAdvancedSettings", new object[] { + this.InvokeAsync("SetExchangeMailboxPlan", new object[] { itemId, accountId, - enablePOP, - enableIMAP, - enableOWA, - enableMAPI, - enableActiveSync, - issueWarningKB, - prohibitSendKB, - prohibitSendReceiveKB, - keepDeletedItemsDays}, this.SetMailboxAdvancedSettingsOperationCompleted, userState); + mailboxPlanId}, this.SetExchangeMailboxPlanOperationCompleted, userState); } - private void OnSetMailboxAdvancedSettingsOperationCompleted(object arg) { - if ((this.SetMailboxAdvancedSettingsCompleted != null)) { + private void OnSetExchangeMailboxPlanOperationCompleted(object arg) { + if ((this.SetExchangeMailboxPlanCompleted != null)) { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.SetMailboxAdvancedSettingsCompleted(this, new SetMailboxAdvancedSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + this.SetExchangeMailboxPlanCompleted(this, new SetExchangeMailboxPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } @@ -4160,6 +3417,436 @@ namespace WebsitePanel.EnterpriseServer } } + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMobileDevices", 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 ExchangeMobileDevice[] GetMobileDevices(int itemId, int accountId) { + object[] results = this.Invoke("GetMobileDevices", new object[] { + itemId, + accountId}); + return ((ExchangeMobileDevice[])(results[0])); + } + + /// + public System.IAsyncResult BeginGetMobileDevices(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetMobileDevices", new object[] { + itemId, + accountId}, callback, asyncState); + } + + /// + public ExchangeMobileDevice[] EndGetMobileDevices(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((ExchangeMobileDevice[])(results[0])); + } + + /// + public void GetMobileDevicesAsync(int itemId, int accountId) { + this.GetMobileDevicesAsync(itemId, accountId, null); + } + + /// + public void GetMobileDevicesAsync(int itemId, int accountId, object userState) { + if ((this.GetMobileDevicesOperationCompleted == null)) { + this.GetMobileDevicesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMobileDevicesOperationCompleted); + } + this.InvokeAsync("GetMobileDevices", new object[] { + itemId, + accountId}, this.GetMobileDevicesOperationCompleted, userState); + } + + private void OnGetMobileDevicesOperationCompleted(object arg) { + if ((this.GetMobileDevicesCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetMobileDevicesCompleted(this, new GetMobileDevicesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMobileDevice", 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 ExchangeMobileDevice GetMobileDevice(int itemId, string deviceId) { + object[] results = this.Invoke("GetMobileDevice", new object[] { + itemId, + deviceId}); + return ((ExchangeMobileDevice)(results[0])); + } + + /// + public System.IAsyncResult BeginGetMobileDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetMobileDevice", new object[] { + itemId, + deviceId}, callback, asyncState); + } + + /// + public ExchangeMobileDevice EndGetMobileDevice(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((ExchangeMobileDevice)(results[0])); + } + + /// + public void GetMobileDeviceAsync(int itemId, string deviceId) { + this.GetMobileDeviceAsync(itemId, deviceId, null); + } + + /// + public void GetMobileDeviceAsync(int itemId, string deviceId, object userState) { + if ((this.GetMobileDeviceOperationCompleted == null)) { + this.GetMobileDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMobileDeviceOperationCompleted); + } + this.InvokeAsync("GetMobileDevice", new object[] { + itemId, + deviceId}, this.GetMobileDeviceOperationCompleted, userState); + } + + private void OnGetMobileDeviceOperationCompleted(object arg) { + if ((this.GetMobileDeviceCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetMobileDeviceCompleted(this, new GetMobileDeviceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/WipeDataFromDevice", 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 void WipeDataFromDevice(int itemId, string deviceId) { + this.Invoke("WipeDataFromDevice", new object[] { + itemId, + deviceId}); + } + + /// + public System.IAsyncResult BeginWipeDataFromDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("WipeDataFromDevice", new object[] { + itemId, + deviceId}, callback, asyncState); + } + + /// + public void EndWipeDataFromDevice(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void WipeDataFromDeviceAsync(int itemId, string deviceId) { + this.WipeDataFromDeviceAsync(itemId, deviceId, null); + } + + /// + public void WipeDataFromDeviceAsync(int itemId, string deviceId, object userState) { + if ((this.WipeDataFromDeviceOperationCompleted == null)) { + this.WipeDataFromDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnWipeDataFromDeviceOperationCompleted); + } + this.InvokeAsync("WipeDataFromDevice", new object[] { + itemId, + deviceId}, this.WipeDataFromDeviceOperationCompleted, userState); + } + + private void OnWipeDataFromDeviceOperationCompleted(object arg) { + if ((this.WipeDataFromDeviceCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.WipeDataFromDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CancelRemoteWipeRequest", 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 void CancelRemoteWipeRequest(int itemId, string deviceId) { + this.Invoke("CancelRemoteWipeRequest", new object[] { + itemId, + deviceId}); + } + + /// + public System.IAsyncResult BeginCancelRemoteWipeRequest(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("CancelRemoteWipeRequest", new object[] { + itemId, + deviceId}, callback, asyncState); + } + + /// + public void EndCancelRemoteWipeRequest(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void CancelRemoteWipeRequestAsync(int itemId, string deviceId) { + this.CancelRemoteWipeRequestAsync(itemId, deviceId, null); + } + + /// + public void CancelRemoteWipeRequestAsync(int itemId, string deviceId, object userState) { + if ((this.CancelRemoteWipeRequestOperationCompleted == null)) { + this.CancelRemoteWipeRequestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCancelRemoteWipeRequestOperationCompleted); + } + this.InvokeAsync("CancelRemoteWipeRequest", new object[] { + itemId, + deviceId}, this.CancelRemoteWipeRequestOperationCompleted, userState); + } + + private void OnCancelRemoteWipeRequestOperationCompleted(object arg) { + if ((this.CancelRemoteWipeRequestCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.CancelRemoteWipeRequestCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/RemoveDevice", 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 void RemoveDevice(int itemId, string deviceId) { + this.Invoke("RemoveDevice", new object[] { + itemId, + deviceId}); + } + + /// + public System.IAsyncResult BeginRemoveDevice(int itemId, string deviceId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("RemoveDevice", new object[] { + itemId, + deviceId}, callback, asyncState); + } + + /// + public void EndRemoveDevice(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void RemoveDeviceAsync(int itemId, string deviceId) { + this.RemoveDeviceAsync(itemId, deviceId, null); + } + + /// + public void RemoveDeviceAsync(int itemId, string deviceId, object userState) { + if ((this.RemoveDeviceOperationCompleted == null)) { + this.RemoveDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveDeviceOperationCompleted); + } + this.InvokeAsync("RemoveDevice", new object[] { + itemId, + deviceId}, this.RemoveDeviceOperationCompleted, userState); + } + + private void OnRemoveDeviceOperationCompleted(object arg) { + if ((this.RemoveDeviceCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.RemoveDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetExchangeMailboxPlans", 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 ExchangeMailboxPlan[] GetExchangeMailboxPlans(int itemId) { + object[] results = this.Invoke("GetExchangeMailboxPlans", new object[] { + itemId}); + return ((ExchangeMailboxPlan[])(results[0])); + } + + /// + public System.IAsyncResult BeginGetExchangeMailboxPlans(int itemId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetExchangeMailboxPlans", new object[] { + itemId}, callback, asyncState); + } + + /// + public ExchangeMailboxPlan[] EndGetExchangeMailboxPlans(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((ExchangeMailboxPlan[])(results[0])); + } + + /// + public void GetExchangeMailboxPlansAsync(int itemId) { + this.GetExchangeMailboxPlansAsync(itemId, null); + } + + /// + public void GetExchangeMailboxPlansAsync(int itemId, object userState) { + if ((this.GetExchangeMailboxPlansOperationCompleted == null)) { + this.GetExchangeMailboxPlansOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExchangeMailboxPlansOperationCompleted); + } + this.InvokeAsync("GetExchangeMailboxPlans", new object[] { + itemId}, this.GetExchangeMailboxPlansOperationCompleted, userState); + } + + private void OnGetExchangeMailboxPlansOperationCompleted(object arg) { + if ((this.GetExchangeMailboxPlansCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetExchangeMailboxPlansCompleted(this, new GetExchangeMailboxPlansCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetExchangeMailboxPlan", 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 ExchangeMailboxPlan GetExchangeMailboxPlan(int itemId, int mailboxPlanId) { + object[] results = this.Invoke("GetExchangeMailboxPlan", new object[] { + itemId, + mailboxPlanId}); + return ((ExchangeMailboxPlan)(results[0])); + } + + /// + public System.IAsyncResult BeginGetExchangeMailboxPlan(int itemId, int mailboxPlanId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetExchangeMailboxPlan", new object[] { + itemId, + mailboxPlanId}, callback, asyncState); + } + + /// + public ExchangeMailboxPlan EndGetExchangeMailboxPlan(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((ExchangeMailboxPlan)(results[0])); + } + + /// + public void GetExchangeMailboxPlanAsync(int itemId, int mailboxPlanId) { + this.GetExchangeMailboxPlanAsync(itemId, mailboxPlanId, null); + } + + /// + public void GetExchangeMailboxPlanAsync(int itemId, int mailboxPlanId, object userState) { + if ((this.GetExchangeMailboxPlanOperationCompleted == null)) { + this.GetExchangeMailboxPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExchangeMailboxPlanOperationCompleted); + } + this.InvokeAsync("GetExchangeMailboxPlan", new object[] { + itemId, + mailboxPlanId}, this.GetExchangeMailboxPlanOperationCompleted, userState); + } + + private void OnGetExchangeMailboxPlanOperationCompleted(object arg) { + if ((this.GetExchangeMailboxPlanCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetExchangeMailboxPlanCompleted(this, new GetExchangeMailboxPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddExchangeMailboxPlan", 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 int AddExchangeMailboxPlan(int itemId, ExchangeMailboxPlan mailboxPlan) { + object[] results = this.Invoke("AddExchangeMailboxPlan", new object[] { + itemId, + mailboxPlan}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginAddExchangeMailboxPlan(int itemId, ExchangeMailboxPlan mailboxPlan, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("AddExchangeMailboxPlan", new object[] { + itemId, + mailboxPlan}, callback, asyncState); + } + + /// + public int EndAddExchangeMailboxPlan(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void AddExchangeMailboxPlanAsync(int itemId, ExchangeMailboxPlan mailboxPlan) { + this.AddExchangeMailboxPlanAsync(itemId, mailboxPlan, null); + } + + /// + public void AddExchangeMailboxPlanAsync(int itemId, ExchangeMailboxPlan mailboxPlan, object userState) { + if ((this.AddExchangeMailboxPlanOperationCompleted == null)) { + this.AddExchangeMailboxPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddExchangeMailboxPlanOperationCompleted); + } + this.InvokeAsync("AddExchangeMailboxPlan", new object[] { + itemId, + mailboxPlan}, this.AddExchangeMailboxPlanOperationCompleted, userState); + } + + private void OnAddExchangeMailboxPlanOperationCompleted(object arg) { + if ((this.AddExchangeMailboxPlanCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.AddExchangeMailboxPlanCompleted(this, new AddExchangeMailboxPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteExchangeMailboxPlan", 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 int DeleteExchangeMailboxPlan(int itemId, int mailboxPlanId) { + object[] results = this.Invoke("DeleteExchangeMailboxPlan", new object[] { + itemId, + mailboxPlanId}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginDeleteExchangeMailboxPlan(int itemId, int mailboxPlanId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("DeleteExchangeMailboxPlan", new object[] { + itemId, + mailboxPlanId}, callback, asyncState); + } + + /// + public int EndDeleteExchangeMailboxPlan(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void DeleteExchangeMailboxPlanAsync(int itemId, int mailboxPlanId) { + this.DeleteExchangeMailboxPlanAsync(itemId, mailboxPlanId, null); + } + + /// + public void DeleteExchangeMailboxPlanAsync(int itemId, int mailboxPlanId, object userState) { + if ((this.DeleteExchangeMailboxPlanOperationCompleted == null)) { + this.DeleteExchangeMailboxPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteExchangeMailboxPlanOperationCompleted); + } + this.InvokeAsync("DeleteExchangeMailboxPlan", new object[] { + itemId, + mailboxPlanId}, this.DeleteExchangeMailboxPlanOperationCompleted, userState); + } + + private void OnDeleteExchangeMailboxPlanOperationCompleted(object arg) { + if ((this.DeleteExchangeMailboxPlanCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.DeleteExchangeMailboxPlanCompleted(this, new DeleteExchangeMailboxPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetOrganizationDefaultExchangeMailbo" + + "xPlan", 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 void SetOrganizationDefaultExchangeMailboxPlan(int itemId, int mailboxPlanId) { + this.Invoke("SetOrganizationDefaultExchangeMailboxPlan", new object[] { + itemId, + mailboxPlanId}); + } + + /// + public System.IAsyncResult BeginSetOrganizationDefaultExchangeMailboxPlan(int itemId, int mailboxPlanId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetOrganizationDefaultExchangeMailboxPlan", new object[] { + itemId, + mailboxPlanId}, callback, asyncState); + } + + /// + public void EndSetOrganizationDefaultExchangeMailboxPlan(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void SetOrganizationDefaultExchangeMailboxPlanAsync(int itemId, int mailboxPlanId) { + this.SetOrganizationDefaultExchangeMailboxPlanAsync(itemId, mailboxPlanId, null); + } + + /// + public void SetOrganizationDefaultExchangeMailboxPlanAsync(int itemId, int mailboxPlanId, object userState) { + if ((this.SetOrganizationDefaultExchangeMailboxPlanOperationCompleted == null)) { + this.SetOrganizationDefaultExchangeMailboxPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetOrganizationDefaultExchangeMailboxPlanOperationCompleted); + } + this.InvokeAsync("SetOrganizationDefaultExchangeMailboxPlan", new object[] { + itemId, + mailboxPlanId}, this.SetOrganizationDefaultExchangeMailboxPlanOperationCompleted, userState); + } + + private void OnSetOrganizationDefaultExchangeMailboxPlanOperationCompleted(object arg) { + if ((this.SetOrganizationDefaultExchangeMailboxPlanCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetOrganizationDefaultExchangeMailboxPlanCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/CreatePublicFolder", 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 int CreatePublicFolder(int itemId, string parentFolder, string folderName, bool mailEnabled, string accountName, string domain) { @@ -4495,232 +4182,294 @@ namespace WebsitePanel.EnterpriseServer } } + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPublicFolderMailFlowSettings", 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 ExchangePublicFolder GetPublicFolderMailFlowSettings(int itemId, int accountId) { + object[] results = this.Invoke("GetPublicFolderMailFlowSettings", new object[] { + itemId, + accountId}); + return ((ExchangePublicFolder)(results[0])); + } + + /// + public System.IAsyncResult BeginGetPublicFolderMailFlowSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetPublicFolderMailFlowSettings", new object[] { + itemId, + accountId}, callback, asyncState); + } + + /// + public ExchangePublicFolder EndGetPublicFolderMailFlowSettings(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((ExchangePublicFolder)(results[0])); + } + + /// + public void GetPublicFolderMailFlowSettingsAsync(int itemId, int accountId) { + this.GetPublicFolderMailFlowSettingsAsync(itemId, accountId, null); + } + + /// + public void GetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, object userState) { + if ((this.GetPublicFolderMailFlowSettingsOperationCompleted == null)) { + this.GetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderMailFlowSettingsOperationCompleted); + } + this.InvokeAsync("GetPublicFolderMailFlowSettings", new object[] { + itemId, + accountId}, this.GetPublicFolderMailFlowSettingsOperationCompleted, userState); + } + + private void OnGetPublicFolderMailFlowSettingsOperationCompleted(object arg) { + if ((this.GetPublicFolderMailFlowSettingsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetPublicFolderMailFlowSettingsCompleted(this, new GetPublicFolderMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetPublicFolderMailFlowSettings", 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 int SetPublicFolderMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { + object[] results = this.Invoke("SetPublicFolderMailFlowSettings", new object[] { + itemId, + accountId, + acceptAccounts, + rejectAccounts, + requireSenderAuthentication}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginSetPublicFolderMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetPublicFolderMailFlowSettings", new object[] { + itemId, + accountId, + acceptAccounts, + rejectAccounts, + requireSenderAuthentication}, callback, asyncState); + } + + /// + public int EndSetPublicFolderMailFlowSettings(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void SetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { + this.SetPublicFolderMailFlowSettingsAsync(itemId, accountId, acceptAccounts, rejectAccounts, requireSenderAuthentication, null); + } + + /// + public void SetPublicFolderMailFlowSettingsAsync(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) { + if ((this.SetPublicFolderMailFlowSettingsOperationCompleted == null)) { + this.SetPublicFolderMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderMailFlowSettingsOperationCompleted); + } + this.InvokeAsync("SetPublicFolderMailFlowSettings", new object[] { + itemId, + accountId, + acceptAccounts, + rejectAccounts, + requireSenderAuthentication}, this.SetPublicFolderMailFlowSettingsOperationCompleted, userState); + } + + private void OnSetPublicFolderMailFlowSettingsOperationCompleted(object arg) { + if ((this.SetPublicFolderMailFlowSettingsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetPublicFolderMailFlowSettingsCompleted(this, new SetPublicFolderMailFlowSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetPublicFolderEmailAddresses", 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 ExchangeEmailAddress[] GetPublicFolderEmailAddresses(int itemId, int accountId) { + object[] results = this.Invoke("GetPublicFolderEmailAddresses", new object[] { + itemId, + accountId}); + return ((ExchangeEmailAddress[])(results[0])); + } + + /// + public System.IAsyncResult BeginGetPublicFolderEmailAddresses(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetPublicFolderEmailAddresses", new object[] { + itemId, + accountId}, callback, asyncState); + } + + /// + public ExchangeEmailAddress[] EndGetPublicFolderEmailAddresses(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((ExchangeEmailAddress[])(results[0])); + } + + /// + public void GetPublicFolderEmailAddressesAsync(int itemId, int accountId) { + this.GetPublicFolderEmailAddressesAsync(itemId, accountId, null); + } + + /// + public void GetPublicFolderEmailAddressesAsync(int itemId, int accountId, object userState) { + if ((this.GetPublicFolderEmailAddressesOperationCompleted == null)) { + this.GetPublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPublicFolderEmailAddressesOperationCompleted); + } + this.InvokeAsync("GetPublicFolderEmailAddresses", new object[] { + itemId, + accountId}, this.GetPublicFolderEmailAddressesOperationCompleted, userState); + } + + private void OnGetPublicFolderEmailAddressesOperationCompleted(object arg) { + if ((this.GetPublicFolderEmailAddressesCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetPublicFolderEmailAddressesCompleted(this, new GetPublicFolderEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/AddPublicFolderEmailAddress", 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 int AddPublicFolderEmailAddress(int itemId, int accountId, string emailAddress) { + object[] results = this.Invoke("AddPublicFolderEmailAddress", new object[] { + itemId, + accountId, + emailAddress}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginAddPublicFolderEmailAddress(int itemId, int accountId, string emailAddress, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("AddPublicFolderEmailAddress", new object[] { + itemId, + accountId, + emailAddress}, callback, asyncState); + } + + /// + public int EndAddPublicFolderEmailAddress(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void AddPublicFolderEmailAddressAsync(int itemId, int accountId, string emailAddress) { + this.AddPublicFolderEmailAddressAsync(itemId, accountId, emailAddress, null); + } + + /// + public void AddPublicFolderEmailAddressAsync(int itemId, int accountId, string emailAddress, object userState) { + if ((this.AddPublicFolderEmailAddressOperationCompleted == null)) { + this.AddPublicFolderEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddPublicFolderEmailAddressOperationCompleted); + } + this.InvokeAsync("AddPublicFolderEmailAddress", new object[] { + itemId, + accountId, + emailAddress}, this.AddPublicFolderEmailAddressOperationCompleted, userState); + } + + private void OnAddPublicFolderEmailAddressOperationCompleted(object arg) { + if ((this.AddPublicFolderEmailAddressCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.AddPublicFolderEmailAddressCompleted(this, new AddPublicFolderEmailAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetPublicFolderPrimaryEmailAddress", 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 int SetPublicFolderPrimaryEmailAddress(int itemId, int accountId, string emailAddress) { + object[] results = this.Invoke("SetPublicFolderPrimaryEmailAddress", new object[] { + itemId, + accountId, + emailAddress}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginSetPublicFolderPrimaryEmailAddress(int itemId, int accountId, string emailAddress, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetPublicFolderPrimaryEmailAddress", new object[] { + itemId, + accountId, + emailAddress}, callback, asyncState); + } + + /// + public int EndSetPublicFolderPrimaryEmailAddress(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void SetPublicFolderPrimaryEmailAddressAsync(int itemId, int accountId, string emailAddress) { + this.SetPublicFolderPrimaryEmailAddressAsync(itemId, accountId, emailAddress, null); + } + + /// + public void SetPublicFolderPrimaryEmailAddressAsync(int itemId, int accountId, string emailAddress, object userState) { + if ((this.SetPublicFolderPrimaryEmailAddressOperationCompleted == null)) { + this.SetPublicFolderPrimaryEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPublicFolderPrimaryEmailAddressOperationCompleted); + } + this.InvokeAsync("SetPublicFolderPrimaryEmailAddress", new object[] { + itemId, + accountId, + emailAddress}, this.SetPublicFolderPrimaryEmailAddressOperationCompleted, userState); + } + + private void OnSetPublicFolderPrimaryEmailAddressOperationCompleted(object arg) { + if ((this.SetPublicFolderPrimaryEmailAddressCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetPublicFolderPrimaryEmailAddressCompleted(this, new SetPublicFolderPrimaryEmailAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeletePublicFolderEmailAddresses", 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 int DeletePublicFolderEmailAddresses(int itemId, int accountId, string[] emailAddresses) { + object[] results = this.Invoke("DeletePublicFolderEmailAddresses", new object[] { + itemId, + accountId, + emailAddresses}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginDeletePublicFolderEmailAddresses(int itemId, int accountId, string[] emailAddresses, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("DeletePublicFolderEmailAddresses", new object[] { + itemId, + accountId, + emailAddresses}, callback, asyncState); + } + + /// + public int EndDeletePublicFolderEmailAddresses(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void DeletePublicFolderEmailAddressesAsync(int itemId, int accountId, string[] emailAddresses) { + this.DeletePublicFolderEmailAddressesAsync(itemId, accountId, emailAddresses, null); + } + + /// + public void DeletePublicFolderEmailAddressesAsync(int itemId, int accountId, string[] emailAddresses, object userState) { + if ((this.DeletePublicFolderEmailAddressesOperationCompleted == null)) { + this.DeletePublicFolderEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeletePublicFolderEmailAddressesOperationCompleted); + } + this.InvokeAsync("DeletePublicFolderEmailAddresses", new object[] { + itemId, + accountId, + emailAddresses}, this.DeletePublicFolderEmailAddressesOperationCompleted, userState); + } + + private void OnDeletePublicFolderEmailAddressesOperationCompleted(object arg) { + if ((this.DeletePublicFolderEmailAddressesCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.DeletePublicFolderEmailAddressesCompleted(this, new DeletePublicFolderEmailAddressesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// public new void CancelAsync(object userState) { base.CancelAsync(userState); } } - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GetPublicFolderMailFlowSettingsCompletedEventHandler(object sender, GetPublicFolderMailFlowSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetPublicFolderMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetPublicFolderMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangePublicFolder Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangePublicFolder)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void SetPublicFolderMailFlowSettingsCompletedEventHandler(object sender, SetPublicFolderMailFlowSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetPublicFolderMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetPublicFolderMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GetPublicFolderEmailAddressesCompletedEventHandler(object sender, GetPublicFolderEmailAddressesCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetPublicFolderEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetPublicFolderEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeEmailAddress[] Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeEmailAddress[])(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void AddPublicFolderEmailAddressCompletedEventHandler(object sender, AddPublicFolderEmailAddressCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddPublicFolderEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal AddPublicFolderEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void SetPublicFolderPrimaryEmailAddressCompletedEventHandler(object sender, SetPublicFolderPrimaryEmailAddressCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetPublicFolderPrimaryEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetPublicFolderPrimaryEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void DeletePublicFolderEmailAddressesCompletedEventHandler(object sender, DeletePublicFolderEmailAddressesCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeletePublicFolderEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal DeletePublicFolderEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public int Result { - get { - this.RaiseExceptionIfNecessary(); - return ((int)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GetMobileDevicesCompletedEventHandler(object sender, GetMobileDevicesCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetMobileDevicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetMobileDevicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeMobileDevice[] Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeMobileDevice[])(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GetMobileDeviceCompletedEventHandler(object sender, GetMobileDeviceCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetMobileDeviceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal GetMobileDeviceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeMobileDevice Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeMobileDevice)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void WipeDataFromDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void CancelRemoteWipeRequestCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void RemoveDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawExchangeOrganizationsPagedCompletedEventHandler(object sender, GetRawExchangeOrganizationsPagedCompletedEventArgs e); @@ -4957,26 +4706,26 @@ namespace WebsitePanel.EnterpriseServer /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GetPublicFoldersStatisticsCompletedEventHandler(object sender, GetPublicFoldersStatisticsCompletedEventArgs e); + public delegate void GetMailboxStatisticsCompletedEventHandler(object sender, GetMailboxStatisticsCompletedEventArgs e); /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetPublicFoldersStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + public partial class GetMailboxStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { private object[] results; - internal GetPublicFoldersStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + internal GetMailboxStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState) { this.results = results; } /// - public ExchangeItemStatistics[] Result { + public ExchangeMailboxStatistics Result { get { this.RaiseExceptionIfNecessary(); - return ((ExchangeItemStatistics[])(this.results[0])); + return ((ExchangeMailboxStatistics)(this.results[0])); } } } @@ -5555,43 +5304,17 @@ namespace WebsitePanel.EnterpriseServer /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GetMailboxAdvancedSettingsCompletedEventHandler(object sender, GetMailboxAdvancedSettingsCompletedEventArgs e); + public delegate void SetExchangeMailboxPlanCompletedEventHandler(object sender, SetExchangeMailboxPlanCompletedEventArgs e); /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetMailboxAdvancedSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + public partial class SetExchangeMailboxPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { private object[] results; - internal GetMailboxAdvancedSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public ExchangeMailbox Result { - get { - this.RaiseExceptionIfNecessary(); - return ((ExchangeMailbox)(this.results[0])); - } - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void SetMailboxAdvancedSettingsCompletedEventHandler(object sender, SetMailboxAdvancedSettingsCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetMailboxAdvancedSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal SetMailboxAdvancedSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + internal SetExchangeMailboxPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState) { this.results = results; } @@ -6203,6 +5926,178 @@ namespace WebsitePanel.EnterpriseServer } } + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetMobileDevicesCompletedEventHandler(object sender, GetMobileDevicesCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetMobileDevicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetMobileDevicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeMobileDevice[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeMobileDevice[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetMobileDeviceCompletedEventHandler(object sender, GetMobileDeviceCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetMobileDeviceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetMobileDeviceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeMobileDevice Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeMobileDevice)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void WipeDataFromDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CancelRemoteWipeRequestCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void RemoveDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetExchangeMailboxPlansCompletedEventHandler(object sender, GetExchangeMailboxPlansCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetExchangeMailboxPlansCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetExchangeMailboxPlansCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeMailboxPlan[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeMailboxPlan[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetExchangeMailboxPlanCompletedEventHandler(object sender, GetExchangeMailboxPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetExchangeMailboxPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetExchangeMailboxPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeMailboxPlan Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeMailboxPlan)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void AddExchangeMailboxPlanCompletedEventHandler(object sender, AddExchangeMailboxPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class AddExchangeMailboxPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal AddExchangeMailboxPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteExchangeMailboxPlanCompletedEventHandler(object sender, DeleteExchangeMailboxPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteExchangeMailboxPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeleteExchangeMailboxPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetOrganizationDefaultExchangeMailboxPlanCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreatePublicFolderCompletedEventHandler(object sender, CreatePublicFolderCompletedEventArgs e); @@ -6384,4 +6279,160 @@ namespace WebsitePanel.EnterpriseServer } } } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetPublicFolderMailFlowSettingsCompletedEventHandler(object sender, GetPublicFolderMailFlowSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetPublicFolderMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetPublicFolderMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangePublicFolder Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangePublicFolder)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetPublicFolderMailFlowSettingsCompletedEventHandler(object sender, SetPublicFolderMailFlowSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetPublicFolderMailFlowSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetPublicFolderMailFlowSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetPublicFolderEmailAddressesCompletedEventHandler(object sender, GetPublicFolderEmailAddressesCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetPublicFolderEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetPublicFolderEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ExchangeEmailAddress[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ExchangeEmailAddress[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void AddPublicFolderEmailAddressCompletedEventHandler(object sender, AddPublicFolderEmailAddressCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class AddPublicFolderEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal AddPublicFolderEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetPublicFolderPrimaryEmailAddressCompletedEventHandler(object sender, SetPublicFolderPrimaryEmailAddressCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetPublicFolderPrimaryEmailAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetPublicFolderPrimaryEmailAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeletePublicFolderEmailAddressesCompletedEventHandler(object sender, DeletePublicFolderEmailAddressesCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeletePublicFolderEmailAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeletePublicFolderEmailAddressesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs index a178d57c..f7164f03 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs @@ -1,35 +1,7 @@ -// 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. - //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.3053 +// Runtime Version:2.0.50727.5456 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -39,162 +11,180 @@ // // This source code was auto-generated by wsdl, Version=2.0.50727.42. // -using WebsitePanel.Providers; -using WebsitePanel.Providers.Common; -using WebsitePanel.Providers.HostedSolution; -using WebsitePanel.Providers.ResultObjects; - -namespace WebsitePanel.EnterpriseServer.HostedSolution { - using System.Diagnostics; +namespace WebsitePanel.EnterpriseServer.HostedSolution +{ + using System.Xml.Serialization; using System.Web.Services; using System.ComponentModel; using System.Web.Services.Protocols; using System; - using System.Xml.Serialization; + using System.Diagnostics; using System.Data; - - + + using WebsitePanel.Providers; + using WebsitePanel.Providers.Common; + using WebsitePanel.Providers.HostedSolution; + using WebsitePanel.Providers.ResultObjects; + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - [System.Web.Services.WebServiceBindingAttribute(Name="esOrganizationsSoap", Namespace="http://tempuri.org/")] + [System.Web.Services.WebServiceBindingAttribute(Name = "esOrganizationsSoap", Namespace = "http://tempuri.org/")] [System.Xml.Serialization.XmlIncludeAttribute(typeof(ResultObject))] [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))] - public partial class esOrganizations : Microsoft.Web.Services3.WebServicesClientProtocol { - + public partial class esOrganizations : Microsoft.Web.Services3.WebServicesClientProtocol + { + private System.Threading.SendOrPostCallback CreateOrganizationOperationCompleted; - + private System.Threading.SendOrPostCallback GetRawOrganizationsPagedOperationCompleted; - + private System.Threading.SendOrPostCallback GetOrganizationsOperationCompleted; - + private System.Threading.SendOrPostCallback GetOrganizationUserSummuryLetterOperationCompleted; - + private System.Threading.SendOrPostCallback SendOrganizationUserSummuryLetterOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteOrganizationOperationCompleted; - + private System.Threading.SendOrPostCallback GetOrganizationStatisticsOperationCompleted; - + private System.Threading.SendOrPostCallback GetOrganizationOperationCompleted; - + + private System.Threading.SendOrPostCallback GetAccountIdByUserPrincipalNameOperationCompleted; + private System.Threading.SendOrPostCallback AddOrganizationDomainOperationCompleted; - + private System.Threading.SendOrPostCallback GetOrganizationDomainsOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteOrganizationDomainOperationCompleted; - + private System.Threading.SendOrPostCallback SetOrganizationDefaultDomainOperationCompleted; - + private System.Threading.SendOrPostCallback CreateUserOperationCompleted; - + + private System.Threading.SendOrPostCallback ImportUserOperationCompleted; + private System.Threading.SendOrPostCallback GetOrganizationUsersPagedOperationCompleted; - + private System.Threading.SendOrPostCallback GetUserGeneralSettingsOperationCompleted; - + private System.Threading.SendOrPostCallback SetUserGeneralSettingsOperationCompleted; - + private System.Threading.SendOrPostCallback SearchAccountsOperationCompleted; - + private System.Threading.SendOrPostCallback DeleteUserOperationCompleted; - + private System.Threading.SendOrPostCallback GetPasswordPolicyOperationCompleted; - + /// - public esOrganizations() { - this.Url = "http://localhost/WebsitePanelEnterpriseServer/esOrganizations.asmx"; + public esOrganizations() + { + this.Url = "http://localhost:9002/esOrganizations.asmx"; } - + /// public event CreateOrganizationCompletedEventHandler CreateOrganizationCompleted; - + /// public event GetRawOrganizationsPagedCompletedEventHandler GetRawOrganizationsPagedCompleted; - + /// public event GetOrganizationsCompletedEventHandler GetOrganizationsCompleted; - + /// public event GetOrganizationUserSummuryLetterCompletedEventHandler GetOrganizationUserSummuryLetterCompleted; - + /// public event SendOrganizationUserSummuryLetterCompletedEventHandler SendOrganizationUserSummuryLetterCompleted; - + /// public event DeleteOrganizationCompletedEventHandler DeleteOrganizationCompleted; - + /// public event GetOrganizationStatisticsCompletedEventHandler GetOrganizationStatisticsCompleted; - + /// public event GetOrganizationCompletedEventHandler GetOrganizationCompleted; - + + /// + public event GetAccountIdByUserPrincipalNameCompletedEventHandler GetAccountIdByUserPrincipalNameCompleted; + /// public event AddOrganizationDomainCompletedEventHandler AddOrganizationDomainCompleted; - + /// public event GetOrganizationDomainsCompletedEventHandler GetOrganizationDomainsCompleted; - + /// public event DeleteOrganizationDomainCompletedEventHandler DeleteOrganizationDomainCompleted; - + /// public event SetOrganizationDefaultDomainCompletedEventHandler SetOrganizationDefaultDomainCompleted; - + /// public event CreateUserCompletedEventHandler CreateUserCompleted; - + + /// + public event ImportUserCompletedEventHandler ImportUserCompleted; + /// public event GetOrganizationUsersPagedCompletedEventHandler GetOrganizationUsersPagedCompleted; - + /// public event GetUserGeneralSettingsCompletedEventHandler GetUserGeneralSettingsCompleted; - + /// public event SetUserGeneralSettingsCompletedEventHandler SetUserGeneralSettingsCompleted; - + /// public event SearchAccountsCompletedEventHandler SearchAccountsCompleted; - + /// public event DeleteUserCompletedEventHandler DeleteUserCompleted; - + /// public event GetPasswordPolicyCompletedEventHandler GetPasswordPolicyCompleted; - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/CreateOrganization", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public int CreateOrganization(int packageId, string organizationID, string organizationName) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/CreateOrganization", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int CreateOrganization(int packageId, string organizationID, string organizationName) + { object[] results = this.Invoke("CreateOrganization", new object[] { packageId, organizationID, organizationName}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginCreateOrganization(int packageId, string organizationID, string organizationName, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginCreateOrganization(int packageId, string organizationID, string organizationName, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("CreateOrganization", new object[] { packageId, organizationID, organizationName}, callback, asyncState); } - + /// - public int EndCreateOrganization(System.IAsyncResult asyncResult) { + public int EndCreateOrganization(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void CreateOrganizationAsync(int packageId, string organizationID, string organizationName) { + public void CreateOrganizationAsync(int packageId, string organizationID, string organizationName) + { this.CreateOrganizationAsync(packageId, organizationID, organizationName, null); } - + /// - public void CreateOrganizationAsync(int packageId, string organizationID, string organizationName, object userState) { - if ((this.CreateOrganizationOperationCompleted == null)) { + public void CreateOrganizationAsync(int packageId, string organizationID, string organizationName, object userState) + { + if ((this.CreateOrganizationOperationCompleted == null)) + { this.CreateOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrganizationOperationCompleted); } this.InvokeAsync("CreateOrganization", new object[] { @@ -202,17 +192,20 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { organizationID, organizationName}, this.CreateOrganizationOperationCompleted, userState); } - - private void OnCreateOrganizationOperationCompleted(object arg) { - if ((this.CreateOrganizationCompleted != null)) { + + private void OnCreateOrganizationOperationCompleted(object arg) + { + if ((this.CreateOrganizationCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.CreateOrganizationCompleted(this, new CreateOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetRawOrganizationsPaged", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public System.Data.DataSet GetRawOrganizationsPaged(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetRawOrganizationsPaged", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public System.Data.DataSet GetRawOrganizationsPaged(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) + { object[] results = this.Invoke("GetRawOrganizationsPaged", new object[] { packageId, recursive, @@ -223,9 +216,10 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { maximumRows}); return ((System.Data.DataSet)(results[0])); } - + /// - public System.IAsyncResult BeginGetRawOrganizationsPaged(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetRawOrganizationsPaged(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetRawOrganizationsPaged", new object[] { packageId, recursive, @@ -235,21 +229,25 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { startRow, maximumRows}, callback, asyncState); } - + /// - public System.Data.DataSet EndGetRawOrganizationsPaged(System.IAsyncResult asyncResult) { + public System.Data.DataSet EndGetRawOrganizationsPaged(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((System.Data.DataSet)(results[0])); } - + /// - public void GetRawOrganizationsPagedAsync(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) { + public void GetRawOrganizationsPagedAsync(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) + { this.GetRawOrganizationsPagedAsync(packageId, recursive, filterColumn, filterValue, sortColumn, startRow, maximumRows, null); } - + /// - public void GetRawOrganizationsPagedAsync(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState) { - if ((this.GetRawOrganizationsPagedOperationCompleted == null)) { + public void GetRawOrganizationsPagedAsync(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState) + { + if ((this.GetRawOrganizationsPagedOperationCompleted == null)) + { this.GetRawOrganizationsPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawOrganizationsPagedOperationCompleted); } this.InvokeAsync("GetRawOrganizationsPaged", new object[] { @@ -261,61 +259,72 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { startRow, maximumRows}, this.GetRawOrganizationsPagedOperationCompleted, userState); } - - private void OnGetRawOrganizationsPagedOperationCompleted(object arg) { - if ((this.GetRawOrganizationsPagedCompleted != null)) { + + private void OnGetRawOrganizationsPagedOperationCompleted(object arg) + { + if ((this.GetRawOrganizationsPagedCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetRawOrganizationsPagedCompleted(this, new GetRawOrganizationsPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizations", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public Organization[] GetOrganizations(int packageId, bool recursive) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizations", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public Organization[] GetOrganizations(int packageId, bool recursive) + { object[] results = this.Invoke("GetOrganizations", new object[] { packageId, recursive}); return ((Organization[])(results[0])); } - + /// - public System.IAsyncResult BeginGetOrganizations(int packageId, bool recursive, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetOrganizations(int packageId, bool recursive, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetOrganizations", new object[] { packageId, recursive}, callback, asyncState); } - + /// - public Organization[] EndGetOrganizations(System.IAsyncResult asyncResult) { + public Organization[] EndGetOrganizations(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((Organization[])(results[0])); } - + /// - public void GetOrganizationsAsync(int packageId, bool recursive) { + public void GetOrganizationsAsync(int packageId, bool recursive) + { this.GetOrganizationsAsync(packageId, recursive, null); } - + /// - public void GetOrganizationsAsync(int packageId, bool recursive, object userState) { - if ((this.GetOrganizationsOperationCompleted == null)) { + public void GetOrganizationsAsync(int packageId, bool recursive, object userState) + { + if ((this.GetOrganizationsOperationCompleted == null)) + { this.GetOrganizationsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationsOperationCompleted); } this.InvokeAsync("GetOrganizations", new object[] { packageId, recursive}, this.GetOrganizationsOperationCompleted, userState); } - - private void OnGetOrganizationsOperationCompleted(object arg) { - if ((this.GetOrganizationsCompleted != null)) { + + private void OnGetOrganizationsOperationCompleted(object arg) + { + if ((this.GetOrganizationsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetOrganizationsCompleted(this, new GetOrganizationsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationUserSummuryLetter", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public string GetOrganizationUserSummuryLetter(int itemId, int accountId, bool pmm, bool emailMode, bool signup) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationUserSummuryLetter", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public string GetOrganizationUserSummuryLetter(int itemId, int accountId, bool pmm, bool emailMode, bool signup) + { object[] results = this.Invoke("GetOrganizationUserSummuryLetter", new object[] { itemId, accountId, @@ -324,9 +333,10 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { signup}); return ((string)(results[0])); } - + /// - public System.IAsyncResult BeginGetOrganizationUserSummuryLetter(int itemId, int accountId, bool pmm, bool emailMode, bool signup, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetOrganizationUserSummuryLetter(int itemId, int accountId, bool pmm, bool emailMode, bool signup, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetOrganizationUserSummuryLetter", new object[] { itemId, accountId, @@ -334,21 +344,25 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { emailMode, signup}, callback, asyncState); } - + /// - public string EndGetOrganizationUserSummuryLetter(System.IAsyncResult asyncResult) { + public string EndGetOrganizationUserSummuryLetter(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((string)(results[0])); } - + /// - public void GetOrganizationUserSummuryLetterAsync(int itemId, int accountId, bool pmm, bool emailMode, bool signup) { + public void GetOrganizationUserSummuryLetterAsync(int itemId, int accountId, bool pmm, bool emailMode, bool signup) + { this.GetOrganizationUserSummuryLetterAsync(itemId, accountId, pmm, emailMode, signup, null); } - + /// - public void GetOrganizationUserSummuryLetterAsync(int itemId, int accountId, bool pmm, bool emailMode, bool signup, object userState) { - if ((this.GetOrganizationUserSummuryLetterOperationCompleted == null)) { + public void GetOrganizationUserSummuryLetterAsync(int itemId, int accountId, bool pmm, bool emailMode, bool signup, object userState) + { + if ((this.GetOrganizationUserSummuryLetterOperationCompleted == null)) + { this.GetOrganizationUserSummuryLetterOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationUserSummuryLetterOperationCompleted); } this.InvokeAsync("GetOrganizationUserSummuryLetter", new object[] { @@ -358,17 +372,20 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { emailMode, signup}, this.GetOrganizationUserSummuryLetterOperationCompleted, userState); } - - private void OnGetOrganizationUserSummuryLetterOperationCompleted(object arg) { - if ((this.GetOrganizationUserSummuryLetterCompleted != null)) { + + private void OnGetOrganizationUserSummuryLetterOperationCompleted(object arg) + { + if ((this.GetOrganizationUserSummuryLetterCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetOrganizationUserSummuryLetterCompleted(this, new GetOrganizationUserSummuryLetterCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SendOrganizationUserSummuryLetter", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public int SendOrganizationUserSummuryLetter(int itemId, int accountId, bool signup, string to, string cc) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SendOrganizationUserSummuryLetter", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int SendOrganizationUserSummuryLetter(int itemId, int accountId, bool signup, string to, string cc) + { object[] results = this.Invoke("SendOrganizationUserSummuryLetter", new object[] { itemId, accountId, @@ -377,9 +394,10 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { cc}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginSendOrganizationUserSummuryLetter(int itemId, int accountId, bool signup, string to, string cc, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginSendOrganizationUserSummuryLetter(int itemId, int accountId, bool signup, string to, string cc, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("SendOrganizationUserSummuryLetter", new object[] { itemId, accountId, @@ -387,21 +405,25 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { to, cc}, callback, asyncState); } - + /// - public int EndSendOrganizationUserSummuryLetter(System.IAsyncResult asyncResult) { + public int EndSendOrganizationUserSummuryLetter(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void SendOrganizationUserSummuryLetterAsync(int itemId, int accountId, bool signup, string to, string cc) { + public void SendOrganizationUserSummuryLetterAsync(int itemId, int accountId, bool signup, string to, string cc) + { this.SendOrganizationUserSummuryLetterAsync(itemId, accountId, signup, to, cc, null); } - + /// - public void SendOrganizationUserSummuryLetterAsync(int itemId, int accountId, bool signup, string to, string cc, object userState) { - if ((this.SendOrganizationUserSummuryLetterOperationCompleted == null)) { + public void SendOrganizationUserSummuryLetterAsync(int itemId, int accountId, bool signup, string to, string cc, object userState) + { + if ((this.SendOrganizationUserSummuryLetterOperationCompleted == null)) + { this.SendOrganizationUserSummuryLetterOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSendOrganizationUserSummuryLetterOperationCompleted); } this.InvokeAsync("SendOrganizationUserSummuryLetter", new object[] { @@ -411,350 +433,468 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { to, cc}, this.SendOrganizationUserSummuryLetterOperationCompleted, userState); } - - private void OnSendOrganizationUserSummuryLetterOperationCompleted(object arg) { - if ((this.SendOrganizationUserSummuryLetterCompleted != null)) { + + private void OnSendOrganizationUserSummuryLetterOperationCompleted(object arg) + { + if ((this.SendOrganizationUserSummuryLetterCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.SendOrganizationUserSummuryLetterCompleted(this, new SendOrganizationUserSummuryLetterCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteOrganization", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public int DeleteOrganization(int itemId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteOrganization", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int DeleteOrganization(int itemId) + { object[] results = this.Invoke("DeleteOrganization", new object[] { itemId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginDeleteOrganization(int itemId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteOrganization(int itemId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteOrganization", new object[] { itemId}, callback, asyncState); } - + /// - public int EndDeleteOrganization(System.IAsyncResult asyncResult) { + public int EndDeleteOrganization(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void DeleteOrganizationAsync(int itemId) { + public void DeleteOrganizationAsync(int itemId) + { this.DeleteOrganizationAsync(itemId, null); } - + /// - public void DeleteOrganizationAsync(int itemId, object userState) { - if ((this.DeleteOrganizationOperationCompleted == null)) { + public void DeleteOrganizationAsync(int itemId, object userState) + { + if ((this.DeleteOrganizationOperationCompleted == null)) + { this.DeleteOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteOrganizationOperationCompleted); } this.InvokeAsync("DeleteOrganization", new object[] { itemId}, this.DeleteOrganizationOperationCompleted, userState); } - - private void OnDeleteOrganizationOperationCompleted(object arg) { - if ((this.DeleteOrganizationCompleted != null)) { + + private void OnDeleteOrganizationOperationCompleted(object arg) + { + if ((this.DeleteOrganizationCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteOrganizationCompleted(this, new DeleteOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationStatistics", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public OrganizationStatistics GetOrganizationStatistics(int itemId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationStatistics", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public OrganizationStatistics GetOrganizationStatistics(int itemId) + { object[] results = this.Invoke("GetOrganizationStatistics", new object[] { itemId}); return ((OrganizationStatistics)(results[0])); } - + /// - public System.IAsyncResult BeginGetOrganizationStatistics(int itemId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetOrganizationStatistics(int itemId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetOrganizationStatistics", new object[] { itemId}, callback, asyncState); } - + /// - public OrganizationStatistics EndGetOrganizationStatistics(System.IAsyncResult asyncResult) { + public OrganizationStatistics EndGetOrganizationStatistics(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((OrganizationStatistics)(results[0])); } - + /// - public void GetOrganizationStatisticsAsync(int itemId) { + public void GetOrganizationStatisticsAsync(int itemId) + { this.GetOrganizationStatisticsAsync(itemId, null); } - + /// - public void GetOrganizationStatisticsAsync(int itemId, object userState) { - if ((this.GetOrganizationStatisticsOperationCompleted == null)) { + public void GetOrganizationStatisticsAsync(int itemId, object userState) + { + if ((this.GetOrganizationStatisticsOperationCompleted == null)) + { this.GetOrganizationStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationStatisticsOperationCompleted); } this.InvokeAsync("GetOrganizationStatistics", new object[] { itemId}, this.GetOrganizationStatisticsOperationCompleted, userState); } - - private void OnGetOrganizationStatisticsOperationCompleted(object arg) { - if ((this.GetOrganizationStatisticsCompleted != null)) { + + private void OnGetOrganizationStatisticsOperationCompleted(object arg) + { + if ((this.GetOrganizationStatisticsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetOrganizationStatisticsCompleted(this, new GetOrganizationStatisticsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganization", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public Organization GetOrganization(int itemId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganization", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public Organization GetOrganization(int itemId) + { object[] results = this.Invoke("GetOrganization", new object[] { itemId}); return ((Organization)(results[0])); } - + /// - public System.IAsyncResult BeginGetOrganization(int itemId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetOrganization(int itemId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetOrganization", new object[] { itemId}, callback, asyncState); } - + /// - public Organization EndGetOrganization(System.IAsyncResult asyncResult) { + public Organization EndGetOrganization(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((Organization)(results[0])); } - + /// - public void GetOrganizationAsync(int itemId) { + public void GetOrganizationAsync(int itemId) + { this.GetOrganizationAsync(itemId, null); } - + /// - public void GetOrganizationAsync(int itemId, object userState) { - if ((this.GetOrganizationOperationCompleted == null)) { + public void GetOrganizationAsync(int itemId, object userState) + { + if ((this.GetOrganizationOperationCompleted == null)) + { this.GetOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationOperationCompleted); } this.InvokeAsync("GetOrganization", new object[] { itemId}, this.GetOrganizationOperationCompleted, userState); } - - private void OnGetOrganizationOperationCompleted(object arg) { - if ((this.GetOrganizationCompleted != null)) { + + private void OnGetOrganizationOperationCompleted(object arg) + { + if ((this.GetOrganizationCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetOrganizationCompleted(this, new GetOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddOrganizationDomain", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public int AddOrganizationDomain(int itemId, string domainName) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetAccountIdByUserPrincipalName", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int GetAccountIdByUserPrincipalName(int itemId, string userPrincipalName) + { + object[] results = this.Invoke("GetAccountIdByUserPrincipalName", new object[] { + itemId, + userPrincipalName}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginGetAccountIdByUserPrincipalName(int itemId, string userPrincipalName, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("GetAccountIdByUserPrincipalName", new object[] { + itemId, + userPrincipalName}, callback, asyncState); + } + + /// + public int EndGetAccountIdByUserPrincipalName(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void GetAccountIdByUserPrincipalNameAsync(int itemId, string userPrincipalName) + { + this.GetAccountIdByUserPrincipalNameAsync(itemId, userPrincipalName, null); + } + + /// + public void GetAccountIdByUserPrincipalNameAsync(int itemId, string userPrincipalName, object userState) + { + if ((this.GetAccountIdByUserPrincipalNameOperationCompleted == null)) + { + this.GetAccountIdByUserPrincipalNameOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAccountIdByUserPrincipalNameOperationCompleted); + } + this.InvokeAsync("GetAccountIdByUserPrincipalName", new object[] { + itemId, + userPrincipalName}, this.GetAccountIdByUserPrincipalNameOperationCompleted, userState); + } + + private void OnGetAccountIdByUserPrincipalNameOperationCompleted(object arg) + { + if ((this.GetAccountIdByUserPrincipalNameCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetAccountIdByUserPrincipalNameCompleted(this, new GetAccountIdByUserPrincipalNameCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddOrganizationDomain", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int AddOrganizationDomain(int itemId, string domainName) + { object[] results = this.Invoke("AddOrganizationDomain", new object[] { itemId, domainName}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginAddOrganizationDomain(int itemId, string domainName, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginAddOrganizationDomain(int itemId, string domainName, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("AddOrganizationDomain", new object[] { itemId, domainName}, callback, asyncState); } - + /// - public int EndAddOrganizationDomain(System.IAsyncResult asyncResult) { + public int EndAddOrganizationDomain(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void AddOrganizationDomainAsync(int itemId, string domainName) { + public void AddOrganizationDomainAsync(int itemId, string domainName) + { this.AddOrganizationDomainAsync(itemId, domainName, null); } - + /// - public void AddOrganizationDomainAsync(int itemId, string domainName, object userState) { - if ((this.AddOrganizationDomainOperationCompleted == null)) { + public void AddOrganizationDomainAsync(int itemId, string domainName, object userState) + { + if ((this.AddOrganizationDomainOperationCompleted == null)) + { this.AddOrganizationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddOrganizationDomainOperationCompleted); } this.InvokeAsync("AddOrganizationDomain", new object[] { itemId, domainName}, this.AddOrganizationDomainOperationCompleted, userState); } - - private void OnAddOrganizationDomainOperationCompleted(object arg) { - if ((this.AddOrganizationDomainCompleted != null)) { + + private void OnAddOrganizationDomainOperationCompleted(object arg) + { + if ((this.AddOrganizationDomainCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.AddOrganizationDomainCompleted(this, new AddOrganizationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationDomains", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public OrganizationDomainName[] GetOrganizationDomains(int itemId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationDomains", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public OrganizationDomainName[] GetOrganizationDomains(int itemId) + { object[] results = this.Invoke("GetOrganizationDomains", new object[] { itemId}); return ((OrganizationDomainName[])(results[0])); } - + /// - public System.IAsyncResult BeginGetOrganizationDomains(int itemId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetOrganizationDomains(int itemId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetOrganizationDomains", new object[] { itemId}, callback, asyncState); } - + /// - public OrganizationDomainName[] EndGetOrganizationDomains(System.IAsyncResult asyncResult) { + public OrganizationDomainName[] EndGetOrganizationDomains(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((OrganizationDomainName[])(results[0])); } - + /// - public void GetOrganizationDomainsAsync(int itemId) { + public void GetOrganizationDomainsAsync(int itemId) + { this.GetOrganizationDomainsAsync(itemId, null); } - + /// - public void GetOrganizationDomainsAsync(int itemId, object userState) { - if ((this.GetOrganizationDomainsOperationCompleted == null)) { + public void GetOrganizationDomainsAsync(int itemId, object userState) + { + if ((this.GetOrganizationDomainsOperationCompleted == null)) + { this.GetOrganizationDomainsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationDomainsOperationCompleted); } this.InvokeAsync("GetOrganizationDomains", new object[] { itemId}, this.GetOrganizationDomainsOperationCompleted, userState); } - - private void OnGetOrganizationDomainsOperationCompleted(object arg) { - if ((this.GetOrganizationDomainsCompleted != null)) { + + private void OnGetOrganizationDomainsOperationCompleted(object arg) + { + if ((this.GetOrganizationDomainsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetOrganizationDomainsCompleted(this, new GetOrganizationDomainsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteOrganizationDomain", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public int DeleteOrganizationDomain(int itemId, int domainId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteOrganizationDomain", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int DeleteOrganizationDomain(int itemId, int domainId) + { object[] results = this.Invoke("DeleteOrganizationDomain", new object[] { itemId, domainId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginDeleteOrganizationDomain(int itemId, int domainId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteOrganizationDomain(int itemId, int domainId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteOrganizationDomain", new object[] { itemId, domainId}, callback, asyncState); } - + /// - public int EndDeleteOrganizationDomain(System.IAsyncResult asyncResult) { + public int EndDeleteOrganizationDomain(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void DeleteOrganizationDomainAsync(int itemId, int domainId) { + public void DeleteOrganizationDomainAsync(int itemId, int domainId) + { this.DeleteOrganizationDomainAsync(itemId, domainId, null); } - + /// - public void DeleteOrganizationDomainAsync(int itemId, int domainId, object userState) { - if ((this.DeleteOrganizationDomainOperationCompleted == null)) { + public void DeleteOrganizationDomainAsync(int itemId, int domainId, object userState) + { + if ((this.DeleteOrganizationDomainOperationCompleted == null)) + { this.DeleteOrganizationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteOrganizationDomainOperationCompleted); } this.InvokeAsync("DeleteOrganizationDomain", new object[] { itemId, domainId}, this.DeleteOrganizationDomainOperationCompleted, userState); } - - private void OnDeleteOrganizationDomainOperationCompleted(object arg) { - if ((this.DeleteOrganizationDomainCompleted != null)) { + + private void OnDeleteOrganizationDomainOperationCompleted(object arg) + { + if ((this.DeleteOrganizationDomainCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteOrganizationDomainCompleted(this, new DeleteOrganizationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetOrganizationDefaultDomain", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public int SetOrganizationDefaultDomain(int itemId, int domainId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetOrganizationDefaultDomain", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int SetOrganizationDefaultDomain(int itemId, int domainId) + { object[] results = this.Invoke("SetOrganizationDefaultDomain", new object[] { itemId, domainId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginSetOrganizationDefaultDomain(int itemId, int domainId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginSetOrganizationDefaultDomain(int itemId, int domainId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("SetOrganizationDefaultDomain", new object[] { itemId, domainId}, callback, asyncState); } - + /// - public int EndSetOrganizationDefaultDomain(System.IAsyncResult asyncResult) { + public int EndSetOrganizationDefaultDomain(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void SetOrganizationDefaultDomainAsync(int itemId, int domainId) { + public void SetOrganizationDefaultDomainAsync(int itemId, int domainId) + { this.SetOrganizationDefaultDomainAsync(itemId, domainId, null); } - + /// - public void SetOrganizationDefaultDomainAsync(int itemId, int domainId, object userState) { - if ((this.SetOrganizationDefaultDomainOperationCompleted == null)) { + public void SetOrganizationDefaultDomainAsync(int itemId, int domainId, object userState) + { + if ((this.SetOrganizationDefaultDomainOperationCompleted == null)) + { this.SetOrganizationDefaultDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetOrganizationDefaultDomainOperationCompleted); } this.InvokeAsync("SetOrganizationDefaultDomain", new object[] { itemId, domainId}, this.SetOrganizationDefaultDomainOperationCompleted, userState); } - - private void OnSetOrganizationDefaultDomainOperationCompleted(object arg) { - if ((this.SetOrganizationDefaultDomainCompleted != null)) { + + private void OnSetOrganizationDefaultDomainOperationCompleted(object arg) + { + if ((this.SetOrganizationDefaultDomainCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.SetOrganizationDefaultDomainCompleted(this, new SetOrganizationDefaultDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/CreateUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public int CreateUser(int itemId, string displayName, string name, string domain, string password, bool sendNotification, string to) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/CreateUser", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int CreateUser(int itemId, string displayName, string name, string domain, string password, string subscriberNumber, bool sendNotification, string to) + { object[] results = this.Invoke("CreateUser", new object[] { itemId, displayName, name, domain, password, + subscriberNumber, sendNotification, to}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginCreateUser(int itemId, string displayName, string name, string domain, string password, bool sendNotification, string to, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginCreateUser(int itemId, string displayName, string name, string domain, string password, string subscriberNumber, bool sendNotification, string to, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("CreateUser", new object[] { itemId, displayName, name, domain, password, + subscriberNumber, sendNotification, to}, callback, asyncState); } - + /// - public int EndCreateUser(System.IAsyncResult asyncResult) { + public int EndCreateUser(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void CreateUserAsync(int itemId, string displayName, string name, string domain, string password, bool sendNotification, string to) { - this.CreateUserAsync(itemId, displayName, name, domain, password, sendNotification, to, null); + public void CreateUserAsync(int itemId, string displayName, string name, string domain, string password, string subscriberNumber, bool sendNotification, string to) + { + this.CreateUserAsync(itemId, displayName, name, domain, password, subscriberNumber, sendNotification, to, null); } - + /// - public void CreateUserAsync(int itemId, string displayName, string name, string domain, string password, bool sendNotification, string to, object userState) { - if ((this.CreateUserOperationCompleted == null)) { + public void CreateUserAsync(int itemId, string displayName, string name, string domain, string password, string subscriberNumber, bool sendNotification, string to, object userState) + { + if ((this.CreateUserOperationCompleted == null)) + { this.CreateUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateUserOperationCompleted); } this.InvokeAsync("CreateUser", new object[] { @@ -763,20 +903,88 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { name, domain, password, + subscriberNumber, sendNotification, to}, this.CreateUserOperationCompleted, userState); } - - private void OnCreateUserOperationCompleted(object arg) { - if ((this.CreateUserCompleted != null)) { + + private void OnCreateUserOperationCompleted(object arg) + { + if ((this.CreateUserCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.CreateUserCompleted(this, new CreateUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationUsersPaged", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public OrganizationUsersPaged GetOrganizationUsersPaged(int itemId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/ImportUser", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int ImportUser(int itemId, string accountName, string displayName, string name, string domain, string password) + { + object[] results = this.Invoke("ImportUser", new object[] { + itemId, + accountName, + displayName, + name, + domain, + password}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginImportUser(int itemId, string accountName, string displayName, string name, string domain, string password, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("ImportUser", new object[] { + itemId, + accountName, + displayName, + name, + domain, + password}, callback, asyncState); + } + + /// + public int EndImportUser(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void ImportUserAsync(int itemId, string accountName, string displayName, string name, string domain, string password) + { + this.ImportUserAsync(itemId, accountName, displayName, name, domain, password, null); + } + + /// + public void ImportUserAsync(int itemId, string accountName, string displayName, string name, string domain, string password, object userState) + { + if ((this.ImportUserOperationCompleted == null)) + { + this.ImportUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnImportUserOperationCompleted); + } + this.InvokeAsync("ImportUser", new object[] { + itemId, + accountName, + displayName, + name, + domain, + password}, this.ImportUserOperationCompleted, userState); + } + + private void OnImportUserOperationCompleted(object arg) + { + if ((this.ImportUserCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.ImportUserCompleted(this, new ImportUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationUsersPaged", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public OrganizationUsersPaged GetOrganizationUsersPaged(int itemId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) + { object[] results = this.Invoke("GetOrganizationUsersPaged", new object[] { itemId, filterColumn, @@ -786,9 +994,10 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { maximumRows}); return ((OrganizationUsersPaged)(results[0])); } - + /// - public System.IAsyncResult BeginGetOrganizationUsersPaged(int itemId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetOrganizationUsersPaged(int itemId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetOrganizationUsersPaged", new object[] { itemId, filterColumn, @@ -797,21 +1006,25 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { startRow, maximumRows}, callback, asyncState); } - + /// - public OrganizationUsersPaged EndGetOrganizationUsersPaged(System.IAsyncResult asyncResult) { + public OrganizationUsersPaged EndGetOrganizationUsersPaged(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((OrganizationUsersPaged)(results[0])); } - + /// - public void GetOrganizationUsersPagedAsync(int itemId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) { + public void GetOrganizationUsersPagedAsync(int itemId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) + { this.GetOrganizationUsersPagedAsync(itemId, filterColumn, filterValue, sortColumn, startRow, maximumRows, null); } - + /// - public void GetOrganizationUsersPagedAsync(int itemId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState) { - if ((this.GetOrganizationUsersPagedOperationCompleted == null)) { + public void GetOrganizationUsersPagedAsync(int itemId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState) + { + if ((this.GetOrganizationUsersPagedOperationCompleted == null)) + { this.GetOrganizationUsersPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationUsersPagedOperationCompleted); } this.InvokeAsync("GetOrganizationUsersPaged", new object[] { @@ -822,89 +1035,101 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { startRow, maximumRows}, this.GetOrganizationUsersPagedOperationCompleted, userState); } - - private void OnGetOrganizationUsersPagedOperationCompleted(object arg) { - if ((this.GetOrganizationUsersPagedCompleted != null)) { + + private void OnGetOrganizationUsersPagedOperationCompleted(object arg) + { + if ((this.GetOrganizationUsersPagedCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetOrganizationUsersPagedCompleted(this, new GetOrganizationUsersPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserGeneralSettings", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public OrganizationUser GetUserGeneralSettings(int itemId, int accountId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserGeneralSettings", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public OrganizationUser GetUserGeneralSettings(int itemId, int accountId) + { object[] results = this.Invoke("GetUserGeneralSettings", new object[] { itemId, accountId}); return ((OrganizationUser)(results[0])); } - + /// - public System.IAsyncResult BeginGetUserGeneralSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetUserGeneralSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetUserGeneralSettings", new object[] { itemId, accountId}, callback, asyncState); } - + /// - public OrganizationUser EndGetUserGeneralSettings(System.IAsyncResult asyncResult) { + public OrganizationUser EndGetUserGeneralSettings(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((OrganizationUser)(results[0])); } - + /// - public void GetUserGeneralSettingsAsync(int itemId, int accountId) { + public void GetUserGeneralSettingsAsync(int itemId, int accountId) + { this.GetUserGeneralSettingsAsync(itemId, accountId, null); } - + /// - public void GetUserGeneralSettingsAsync(int itemId, int accountId, object userState) { - if ((this.GetUserGeneralSettingsOperationCompleted == null)) { + public void GetUserGeneralSettingsAsync(int itemId, int accountId, object userState) + { + if ((this.GetUserGeneralSettingsOperationCompleted == null)) + { this.GetUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserGeneralSettingsOperationCompleted); } this.InvokeAsync("GetUserGeneralSettings", new object[] { itemId, accountId}, this.GetUserGeneralSettingsOperationCompleted, userState); } - - private void OnGetUserGeneralSettingsOperationCompleted(object arg) { - if ((this.GetUserGeneralSettingsCompleted != null)) { + + private void OnGetUserGeneralSettingsOperationCompleted(object arg) + { + if ((this.GetUserGeneralSettingsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetUserGeneralSettingsCompleted(this, new GetUserGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetUserGeneralSettings", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetUserGeneralSettings", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] public int SetUserGeneralSettings( - int itemId, - int accountId, - string displayName, - string password, - bool hideAddressBook, - bool disabled, - bool locked, - string firstName, - string initials, - string lastName, - string address, - string city, - string state, - string zip, - string country, - string jobTitle, - string company, - string department, - string office, - string managerAccountName, - string businessPhone, - string fax, - string homePhone, - string mobilePhone, - string pager, - string webPage, - string notes, - string externalEmail) { + int itemId, + int accountId, + string displayName, + string password, + bool hideAddressBook, + bool disabled, + bool locked, + string firstName, + string initials, + string lastName, + string address, + string city, + string state, + string zip, + string country, + string jobTitle, + string company, + string department, + string office, + string managerAccountName, + string businessPhone, + string fax, + string homePhone, + string mobilePhone, + string pager, + string webPage, + string notes, + string externalEmail, + string subscriberNumber) + { object[] results = this.Invoke("SetUserGeneralSettings", new object[] { itemId, accountId, @@ -933,42 +1158,45 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { pager, webPage, notes, - externalEmail}); + externalEmail, + subscriberNumber}); return ((int)(results[0])); } - + /// public System.IAsyncResult BeginSetUserGeneralSettings( - int itemId, - int accountId, - string displayName, - string password, - bool hideAddressBook, - bool disabled, - bool locked, - string firstName, - string initials, - string lastName, - string address, - string city, - string state, - string zip, - string country, - string jobTitle, - string company, - string department, - string office, - string managerAccountName, - string businessPhone, - string fax, - string homePhone, - string mobilePhone, - string pager, - string webPage, - string notes, - string externalEmail, - System.AsyncCallback callback, - object asyncState) { + int itemId, + int accountId, + string displayName, + string password, + bool hideAddressBook, + bool disabled, + bool locked, + string firstName, + string initials, + string lastName, + string address, + string city, + string state, + string zip, + string country, + string jobTitle, + string company, + string department, + string office, + string managerAccountName, + string businessPhone, + string fax, + string homePhone, + string mobilePhone, + string pager, + string webPage, + string notes, + string externalEmail, + string subscriberNumber, + System.AsyncCallback callback, + object asyncState) + { return this.BeginInvoke("SetUserGeneralSettings", new object[] { itemId, accountId, @@ -997,80 +1225,87 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { pager, webPage, notes, - externalEmail}, callback, asyncState); + externalEmail, + subscriberNumber}, callback, asyncState); } - + /// - public int EndSetUserGeneralSettings(System.IAsyncResult asyncResult) { + public int EndSetUserGeneralSettings(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// public void SetUserGeneralSettingsAsync( - int itemId, - int accountId, - string displayName, - string password, - bool hideAddressBook, - bool disabled, - bool locked, - string firstName, - string initials, - string lastName, - string address, - string city, - string state, - string zip, - string country, - string jobTitle, - string company, - string department, - string office, - string managerAccountName, - string businessPhone, - string fax, - string homePhone, - string mobilePhone, - string pager, - string webPage, - string notes, - string externalEmail) { - this.SetUserGeneralSettingsAsync(itemId, accountId, displayName, password, hideAddressBook, disabled, locked, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes, externalEmail, null); + int itemId, + int accountId, + string displayName, + string password, + bool hideAddressBook, + bool disabled, + bool locked, + string firstName, + string initials, + string lastName, + string address, + string city, + string state, + string zip, + string country, + string jobTitle, + string company, + string department, + string office, + string managerAccountName, + string businessPhone, + string fax, + string homePhone, + string mobilePhone, + string pager, + string webPage, + string notes, + string externalEmail, + string subscriberNumber) + { + this.SetUserGeneralSettingsAsync(itemId, accountId, displayName, password, hideAddressBook, disabled, locked, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes, externalEmail, subscriberNumber, null); } - + /// public void SetUserGeneralSettingsAsync( - int itemId, - int accountId, - string displayName, - string password, - bool hideAddressBook, - bool disabled, - bool locked, - string firstName, - string initials, - string lastName, - string address, - string city, - string state, - string zip, - string country, - string jobTitle, - string company, - string department, - string office, - string managerAccountName, - string businessPhone, - string fax, - string homePhone, - string mobilePhone, - string pager, - string webPage, - string notes, - string externalEmail, - object userState) { - if ((this.SetUserGeneralSettingsOperationCompleted == null)) { + int itemId, + int accountId, + string displayName, + string password, + bool hideAddressBook, + bool disabled, + bool locked, + string firstName, + string initials, + string lastName, + string address, + string city, + string state, + string zip, + string country, + string jobTitle, + string company, + string department, + string office, + string managerAccountName, + string businessPhone, + string fax, + string homePhone, + string mobilePhone, + string pager, + string webPage, + string notes, + string externalEmail, + string subscriberNumber, + object userState) + { + if ((this.SetUserGeneralSettingsOperationCompleted == null)) + { this.SetUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetUserGeneralSettingsOperationCompleted); } this.InvokeAsync("SetUserGeneralSettings", new object[] { @@ -1101,19 +1336,23 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { pager, webPage, notes, - externalEmail}, this.SetUserGeneralSettingsOperationCompleted, userState); + externalEmail, + subscriberNumber}, this.SetUserGeneralSettingsOperationCompleted, userState); } - - private void OnSetUserGeneralSettingsOperationCompleted(object arg) { - if ((this.SetUserGeneralSettingsCompleted != null)) { + + private void OnSetUserGeneralSettingsOperationCompleted(object arg) + { + if ((this.SetUserGeneralSettingsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.SetUserGeneralSettingsCompleted(this, new SetUserGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SearchAccounts", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public OrganizationUser[] SearchAccounts(int itemId, string filterColumn, string filterValue, string sortColumn, bool includeMailboxes) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SearchAccounts", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public OrganizationUser[] SearchAccounts(int itemId, string filterColumn, string filterValue, string sortColumn, bool includeMailboxes) + { object[] results = this.Invoke("SearchAccounts", new object[] { itemId, filterColumn, @@ -1122,9 +1361,10 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { includeMailboxes}); return ((OrganizationUser[])(results[0])); } - + /// - public System.IAsyncResult BeginSearchAccounts(int itemId, string filterColumn, string filterValue, string sortColumn, bool includeMailboxes, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginSearchAccounts(int itemId, string filterColumn, string filterValue, string sortColumn, bool includeMailboxes, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("SearchAccounts", new object[] { itemId, filterColumn, @@ -1132,21 +1372,25 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { sortColumn, includeMailboxes}, callback, asyncState); } - + /// - public OrganizationUser[] EndSearchAccounts(System.IAsyncResult asyncResult) { + public OrganizationUser[] EndSearchAccounts(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((OrganizationUser[])(results[0])); } - + /// - public void SearchAccountsAsync(int itemId, string filterColumn, string filterValue, string sortColumn, bool includeMailboxes) { + public void SearchAccountsAsync(int itemId, string filterColumn, string filterValue, string sortColumn, bool includeMailboxes) + { this.SearchAccountsAsync(itemId, filterColumn, filterValue, sortColumn, includeMailboxes, null); } - + /// - public void SearchAccountsAsync(int itemId, string filterColumn, string filterValue, string sortColumn, bool includeMailboxes, object userState) { - if ((this.SearchAccountsOperationCompleted == null)) { + public void SearchAccountsAsync(int itemId, string filterColumn, string filterValue, string sortColumn, bool includeMailboxes, object userState) + { + if ((this.SearchAccountsOperationCompleted == null)) + { this.SearchAccountsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSearchAccountsOperationCompleted); } this.InvokeAsync("SearchAccounts", new object[] { @@ -1156,604 +1400,748 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { sortColumn, includeMailboxes}, this.SearchAccountsOperationCompleted, userState); } - - private void OnSearchAccountsOperationCompleted(object arg) { - if ((this.SearchAccountsCompleted != null)) { + + private void OnSearchAccountsOperationCompleted(object arg) + { + if ((this.SearchAccountsCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.SearchAccountsCompleted(this, new SearchAccountsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public int DeleteUser(int itemId, int accountId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteUser", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int DeleteUser(int itemId, int accountId) + { object[] results = this.Invoke("DeleteUser", new object[] { itemId, accountId}); return ((int)(results[0])); } - + /// - public System.IAsyncResult BeginDeleteUser(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteUser(int itemId, int accountId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("DeleteUser", new object[] { itemId, accountId}, callback, asyncState); } - + /// - public int EndDeleteUser(System.IAsyncResult asyncResult) { + public int EndDeleteUser(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((int)(results[0])); } - + /// - public void DeleteUserAsync(int itemId, int accountId) { + public void DeleteUserAsync(int itemId, int accountId) + { this.DeleteUserAsync(itemId, accountId, null); } - + /// - public void DeleteUserAsync(int itemId, int accountId, object userState) { - if ((this.DeleteUserOperationCompleted == null)) { + public void DeleteUserAsync(int itemId, int accountId, object userState) + { + if ((this.DeleteUserOperationCompleted == null)) + { this.DeleteUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteUserOperationCompleted); } this.InvokeAsync("DeleteUser", new object[] { itemId, accountId}, this.DeleteUserOperationCompleted, userState); } - - private void OnDeleteUserOperationCompleted(object arg) { - if ((this.DeleteUserCompleted != null)) { + + private void OnDeleteUserOperationCompleted(object arg) + { + if ((this.DeleteUserCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.DeleteUserCompleted(this, new DeleteUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetPasswordPolicy", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public PasswordPolicyResult GetPasswordPolicy(int itemId) { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetPasswordPolicy", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public PasswordPolicyResult GetPasswordPolicy(int itemId) + { object[] results = this.Invoke("GetPasswordPolicy", new object[] { itemId}); return ((PasswordPolicyResult)(results[0])); } - + /// - public System.IAsyncResult BeginGetPasswordPolicy(int itemId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetPasswordPolicy(int itemId, System.AsyncCallback callback, object asyncState) + { return this.BeginInvoke("GetPasswordPolicy", new object[] { itemId}, callback, asyncState); } - + /// - public PasswordPolicyResult EndGetPasswordPolicy(System.IAsyncResult asyncResult) { + public PasswordPolicyResult EndGetPasswordPolicy(System.IAsyncResult asyncResult) + { object[] results = this.EndInvoke(asyncResult); return ((PasswordPolicyResult)(results[0])); } - + /// - public void GetPasswordPolicyAsync(int itemId) { + public void GetPasswordPolicyAsync(int itemId) + { this.GetPasswordPolicyAsync(itemId, null); } - + /// - public void GetPasswordPolicyAsync(int itemId, object userState) { - if ((this.GetPasswordPolicyOperationCompleted == null)) { + public void GetPasswordPolicyAsync(int itemId, object userState) + { + if ((this.GetPasswordPolicyOperationCompleted == null)) + { this.GetPasswordPolicyOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPasswordPolicyOperationCompleted); } this.InvokeAsync("GetPasswordPolicy", new object[] { itemId}, this.GetPasswordPolicyOperationCompleted, userState); } - - private void OnGetPasswordPolicyOperationCompleted(object arg) { - if ((this.GetPasswordPolicyCompleted != null)) { + + private void OnGetPasswordPolicyOperationCompleted(object arg) + { + if ((this.GetPasswordPolicyCompleted != null)) + { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); this.GetPasswordPolicyCompleted(this, new GetPasswordPolicyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - public new void CancelAsync(object userState) { + public new void CancelAsync(object userState) + { base.CancelAsync(userState); } } - - - - - - - - - - - - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreateOrganizationCompletedEventHandler(object sender, CreateOrganizationCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class CreateOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class CreateOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal CreateOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal CreateOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawOrganizationsPagedCompletedEventHandler(object sender, GetRawOrganizationsPagedCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetRawOrganizationsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetRawOrganizationsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetRawOrganizationsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetRawOrganizationsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public System.Data.DataSet Result { - get { + public System.Data.DataSet Result + { + get + { this.RaiseExceptionIfNecessary(); return ((System.Data.DataSet)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetOrganizationsCompletedEventHandler(object sender, GetOrganizationsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetOrganizationsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetOrganizationsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetOrganizationsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetOrganizationsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public Organization[] Result { - get { + public Organization[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((Organization[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetOrganizationUserSummuryLetterCompletedEventHandler(object sender, GetOrganizationUserSummuryLetterCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetOrganizationUserSummuryLetterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetOrganizationUserSummuryLetterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetOrganizationUserSummuryLetterCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetOrganizationUserSummuryLetterCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public string Result { - get { + public string Result + { + get + { this.RaiseExceptionIfNecessary(); return ((string)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SendOrganizationUserSummuryLetterCompletedEventHandler(object sender, SendOrganizationUserSummuryLetterCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SendOrganizationUserSummuryLetterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class SendOrganizationUserSummuryLetterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal SendOrganizationUserSummuryLetterCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal SendOrganizationUserSummuryLetterCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteOrganizationCompletedEventHandler(object sender, DeleteOrganizationCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DeleteOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DeleteOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DeleteOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetOrganizationStatisticsCompletedEventHandler(object sender, GetOrganizationStatisticsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetOrganizationStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetOrganizationStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetOrganizationStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetOrganizationStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public OrganizationStatistics Result { - get { + public OrganizationStatistics Result + { + get + { this.RaiseExceptionIfNecessary(); return ((OrganizationStatistics)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetOrganizationCompletedEventHandler(object sender, GetOrganizationCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public Organization Result { - get { + public Organization Result + { + get + { this.RaiseExceptionIfNecessary(); return ((Organization)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void AddOrganizationDomainCompletedEventHandler(object sender, AddOrganizationDomainCompletedEventArgs e); - + public delegate void GetAccountIdByUserPrincipalNameCompletedEventHandler(object sender, GetAccountIdByUserPrincipalNameCompletedEventArgs e); + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class AddOrganizationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetAccountIdByUserPrincipalNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal AddOrganizationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetAccountIdByUserPrincipalNameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GetOrganizationDomainsCompletedEventHandler(object sender, GetOrganizationDomainsCompletedEventArgs e); - + public delegate void AddOrganizationDomainCompletedEventHandler(object sender, AddOrganizationDomainCompletedEventArgs e); + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetOrganizationDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class AddOrganizationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetOrganizationDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal AddOrganizationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public OrganizationDomainName[] Result { - get { + public int Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetOrganizationDomainsCompletedEventHandler(object sender, GetOrganizationDomainsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetOrganizationDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal GetOrganizationDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public OrganizationDomainName[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((OrganizationDomainName[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteOrganizationDomainCompletedEventHandler(object sender, DeleteOrganizationDomainCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteOrganizationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DeleteOrganizationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DeleteOrganizationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DeleteOrganizationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetOrganizationDefaultDomainCompletedEventHandler(object sender, SetOrganizationDefaultDomainCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetOrganizationDefaultDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class SetOrganizationDefaultDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal SetOrganizationDefaultDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal SetOrganizationDefaultDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreateUserCompletedEventHandler(object sender, CreateUserCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class CreateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class CreateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal CreateUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal CreateUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GetOrganizationUsersPagedCompletedEventHandler(object sender, GetOrganizationUsersPagedCompletedEventArgs e); - + public delegate void ImportUserCompletedEventHandler(object sender, ImportUserCompletedEventArgs e); + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetOrganizationUsersPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class ImportUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetOrganizationUsersPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal ImportUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public OrganizationUsersPaged Result { - get { + public int Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetOrganizationUsersPagedCompletedEventHandler(object sender, GetOrganizationUsersPagedCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetOrganizationUsersPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal GetOrganizationUsersPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public OrganizationUsersPaged Result + { + get + { this.RaiseExceptionIfNecessary(); return ((OrganizationUsersPaged)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetUserGeneralSettingsCompletedEventHandler(object sender, GetUserGeneralSettingsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public OrganizationUser Result { - get { + public OrganizationUser Result + { + get + { this.RaiseExceptionIfNecessary(); return ((OrganizationUser)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetUserGeneralSettingsCompletedEventHandler(object sender, SetUserGeneralSettingsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SetUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class SetUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal SetUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal SetUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SearchAccountsCompletedEventHandler(object sender, SearchAccountsCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class SearchAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class SearchAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal SearchAccountsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal SearchAccountsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public OrganizationUser[] Result { - get { + public OrganizationUser[] Result + { + get + { this.RaiseExceptionIfNecessary(); return ((OrganizationUser[])(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteUserCompletedEventHandler(object sender, DeleteUserCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class DeleteUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class DeleteUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal DeleteUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal DeleteUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public int Result { - get { + public int Result + { + get + { this.RaiseExceptionIfNecessary(); return ((int)(this.results[0])); } } } - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPasswordPolicyCompletedEventHandler(object sender, GetPasswordPolicyCompletedEventArgs e); - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GetPasswordPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - + public partial class GetPasswordPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + private object[] results; - - internal GetPasswordPolicyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { + + internal GetPasswordPolicyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { this.results = results; } - + /// - public PasswordPolicyResult Result { - get { + public PasswordPolicyResult Result + { + get + { this.RaiseExceptionIfNecessary(); return ((PasswordPolicyResult)(this.results[0])); } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs index 1d4f770d..714b0165 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs @@ -2065,33 +2065,36 @@ namespace WebsitePanel.EnterpriseServer #endregion #region Exchange Server - - public static int AddExchangeAccount(int itemId, int accountType, string accountName, + + public static int AddExchangeAccount(int itemId, int accountType, string accountName, string displayName, string primaryEmailAddress, bool mailEnabledPublicFolder, - string mailboxManagerActions, string samAccountName, string accountPassword) - { - SqlParameter outParam = new SqlParameter("@AccountID", SqlDbType.Int); - outParam.Direction = ParameterDirection.Output; + string mailboxManagerActions, string samAccountName, string accountPassword, int mailboxPlanId, string subscriberNumber) + { + SqlParameter outParam = new SqlParameter("@AccountID", SqlDbType.Int); + outParam.Direction = ParameterDirection.Output; - SqlHelper.ExecuteNonQuery( - ConnectionString, - CommandType.StoredProcedure, - "AddExchangeAccount", - outParam, - new SqlParameter("@ItemID", itemId), - new SqlParameter("@AccountType", accountType), - new SqlParameter("@AccountName", accountName), - new SqlParameter("@DisplayName", displayName), - new SqlParameter("@PrimaryEmailAddress", primaryEmailAddress), - new SqlParameter("@MailEnabledPublicFolder", mailEnabledPublicFolder), + SqlHelper.ExecuteNonQuery( + ConnectionString, + CommandType.StoredProcedure, + "AddExchangeAccount", + outParam, + new SqlParameter("@ItemID", itemId), + new SqlParameter("@AccountType", accountType), + new SqlParameter("@AccountName", accountName), + new SqlParameter("@DisplayName", displayName), + new SqlParameter("@PrimaryEmailAddress", primaryEmailAddress), + new SqlParameter("@MailEnabledPublicFolder", mailEnabledPublicFolder), new SqlParameter("@MailboxManagerActions", mailboxManagerActions), new SqlParameter("@SamAccountName", samAccountName), - new SqlParameter("@AccountPassword", accountPassword) - ); + new SqlParameter("@AccountPassword", accountPassword), + new SqlParameter("@MailboxPlanId", (mailboxPlanId == 0) ? (object)DBNull.Value : (object)mailboxPlanId), + new SqlParameter("@SubscriberNumber", (string.IsNullOrEmpty(subscriberNumber) ? (object)DBNull.Value : (object)subscriberNumber)) + ); + + return Convert.ToInt32(outParam.Value); + } - return Convert.ToInt32(outParam.Value); - } public static void AddExchangeAccountEmailAddress(int accountId, string emailAddress) { @@ -2159,6 +2162,7 @@ namespace WebsitePanel.EnterpriseServer ); } + public static void DeleteExchangeAccountEmailAddress(int accountId, string emailAddress) { SqlHelper.ExecuteNonQuery( @@ -2255,26 +2259,27 @@ namespace WebsitePanel.EnterpriseServer return Convert.ToBoolean(outParam.Value); } - public static void UpdateExchangeAccount(int accountId, string accountName, ExchangeAccountType accountType, + public static void UpdateExchangeAccount(int accountId, string accountName, ExchangeAccountType accountType, string displayName, string primaryEmailAddress, bool mailEnabledPublicFolder, - string mailboxManagerActions, string samAccountName, string accountPassword) - { - SqlHelper.ExecuteNonQuery( - ConnectionString, - CommandType.StoredProcedure, - "UpdateExchangeAccount", - new SqlParameter("@AccountID", accountId), - new SqlParameter("@AccountName", accountName), - new SqlParameter("@DisplayName", displayName), + string mailboxManagerActions, string samAccountName, string accountPassword, int mailboxPlanId, string subscriberNumber) + { + SqlHelper.ExecuteNonQuery( + ConnectionString, + CommandType.StoredProcedure, + "UpdateExchangeAccount", + new SqlParameter("@AccountID", accountId), + new SqlParameter("@AccountName", accountName), + new SqlParameter("@DisplayName", displayName), new SqlParameter("@AccountType", (int)accountType), - new SqlParameter("@PrimaryEmailAddress", primaryEmailAddress), - new SqlParameter("@MailEnabledPublicFolder", mailEnabledPublicFolder), + new SqlParameter("@PrimaryEmailAddress", primaryEmailAddress), + new SqlParameter("@MailEnabledPublicFolder", mailEnabledPublicFolder), new SqlParameter("@MailboxManagerActions", mailboxManagerActions), new SqlParameter("@Password", string.IsNullOrEmpty(accountPassword) ? (object)DBNull.Value : (object)accountPassword), - new SqlParameter("@SamAccountName", samAccountName) - - ); - } + new SqlParameter("@SamAccountName", samAccountName), + new SqlParameter("@MailboxPlanId", (mailboxPlanId == 0) ? (object)DBNull.Value : (object)mailboxPlanId), + new SqlParameter("@SubscriberNumber", (string.IsNullOrEmpty(subscriberNumber) ? (object)DBNull.Value : (object)subscriberNumber)) + ); + } public static IDataReader GetExchangeAccount(int itemId, int accountId) { @@ -2287,6 +2292,17 @@ namespace WebsitePanel.EnterpriseServer ); } + public static IDataReader GetExchangeAccountByAccountName(int itemId, string accountName) + { + return SqlHelper.ExecuteReader( + ConnectionString, + CommandType.StoredProcedure, + "GetExchangeAccountByAccountName", + new SqlParameter("@ItemID", itemId), + new SqlParameter("@AccountName", accountName) + ); + } + public static IDataReader GetExchangeAccountEmailAddresses(int accountId) { return SqlHelper.ExecuteReader( @@ -2398,6 +2414,97 @@ namespace WebsitePanel.EnterpriseServer #endregion + #region Exchange Mailbox Plans + public static int AddExchangeMailboxPlan(int itemID, string mailboxPlan, bool enableActiveSync, bool enableIMAP, bool enableMAPI, bool enableOWA, bool enablePOP, + bool isDefault, int issueWarningPct, int keepDeletedItemsDays, int mailboxSizeMB, int maxReceiveMessageSizeKB, int maxRecipients, + int maxSendMessageSizeKB, int prohibitSendPct, int prohibitSendReceivePct, bool hideFromAddressBook) + { + SqlParameter outParam = new SqlParameter("@MailboxPlanId", SqlDbType.Int); + outParam.Direction = ParameterDirection.Output; + + SqlHelper.ExecuteNonQuery( + ConnectionString, + CommandType.StoredProcedure, + "AddExchangeMailboxPlan", + outParam, + new SqlParameter("@ItemID", itemID), + new SqlParameter("@MailboxPlan", mailboxPlan), + new SqlParameter("@EnableActiveSync", enableActiveSync), + new SqlParameter("@EnableIMAP", enableIMAP), + new SqlParameter("@EnableMAPI", enableMAPI), + new SqlParameter("@EnableOWA", enableOWA), + new SqlParameter("@EnablePOP", enablePOP), + new SqlParameter("@IsDefault", isDefault), + new SqlParameter("@IssueWarningPct", issueWarningPct), + new SqlParameter("@KeepDeletedItemsDays", keepDeletedItemsDays), + new SqlParameter("@MailboxSizeMB", mailboxSizeMB), + new SqlParameter("@MaxReceiveMessageSizeKB", maxReceiveMessageSizeKB), + new SqlParameter("@MaxRecipients", maxRecipients), + new SqlParameter("@MaxSendMessageSizeKB", maxSendMessageSizeKB), + new SqlParameter("@ProhibitSendPct", prohibitSendPct), + new SqlParameter("@ProhibitSendReceivePct", prohibitSendReceivePct), + new SqlParameter("@HideFromAddressBook", hideFromAddressBook) + ); + + return Convert.ToInt32(outParam.Value); + } + + + public static void DeleteExchangeMailboxPlan(int mailboxPlanId) + { + SqlHelper.ExecuteNonQuery( + ConnectionString, + CommandType.StoredProcedure, + "DeleteExchangeMailboxPlan", + new SqlParameter("@MailboxPlanId", mailboxPlanId) + ); + } + + + public static IDataReader GetExchangeMailboxPlan(int mailboxPlanId) + { + return SqlHelper.ExecuteReader( + ConnectionString, + CommandType.StoredProcedure, + "GetExchangeMailboxPlan", + new SqlParameter("@MailboxPlanId", mailboxPlanId) + ); + } + + public static IDataReader GetExchangeMailboxPlans(int itemId) + { + return SqlHelper.ExecuteReader( + ConnectionString, + CommandType.StoredProcedure, + "GetExchangeMailboxPlans", + new SqlParameter("@ItemID", itemId) + ); + } + + public static void SetOrganizationDefaultExchangeMailboxPlan(int itemId, int mailboxPlanId) + { + SqlHelper.ExecuteNonQuery( + ConnectionString, + CommandType.StoredProcedure, + "SetOrganizationDefaultExchangeMailboxPlan", + new SqlParameter("@ItemID", itemId), + new SqlParameter("@MailboxPlanId", mailboxPlanId) + ); + } + + public static void SetExchangeAccountMailboxPlan(int accountId, int mailboxPlanId) + { + SqlHelper.ExecuteNonQuery( + ConnectionString, + CommandType.StoredProcedure, + "SetExchangeAccountMailboxplan", + new SqlParameter("@AccountID", accountId), + new SqlParameter("@MailboxPlanId", (mailboxPlanId == 0) ? (object)DBNull.Value : (object)mailboxPlanId) + ); + } + + #endregion + #region Organizations public static void DeleteOrganizationUser(int itemId) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs index 77eb5848..42a4e2bd 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs @@ -120,9 +120,6 @@ namespace WebsitePanel.EnterpriseServer org.Id = 1; org.OrganizationId = "fabrikam"; org.Name = "Fabrikam Inc"; - org.IssueWarningKB = 150000; - org.ProhibitSendKB = 170000; - org.ProhibitSendReceiveKB = 190000; org.KeepDeletedItemsDays = 14; return org; } @@ -167,7 +164,7 @@ namespace WebsitePanel.EnterpriseServer DataProvider.GetExchangeOrganizationStatistics(itemId)); // disk space - stats.UsedDiskSpace = org.DiskSpace; + //stats.UsedDiskSpace = org.DiskSpace; // allocated quotas PackageContext cntx = PackageController.GetPackageContext(org.PackageId); @@ -295,10 +292,6 @@ namespace WebsitePanel.EnterpriseServer ExchangeServer mailboxRole = GetExchangeServer(serviceId, org.ServiceId); - - - - bool authDomainCreated = false; @@ -307,10 +300,15 @@ namespace WebsitePanel.EnterpriseServer List domains = null; try - { + { + PackageContext cntx = PackageController.GetPackageContext(org.PackageId); + // 1) Create Organization (Mailbox) // ================================ - Organization exchangeOrganization = mailboxRole.ExtendToExchangeOrganization(org.OrganizationId, org.SecurityGroup); + Organization exchangeOrganization = mailboxRole.ExtendToExchangeOrganization(org.OrganizationId, + org.SecurityGroup, + Convert.ToBoolean(cntx.Quotas[Quotas.EXCHANGE2007_ISCONSUMER].QuotaAllocatedValue)); + organizationExtended = true; exchangeOrganization.OrganizationId = org.OrganizationId; @@ -386,17 +384,17 @@ namespace WebsitePanel.EnterpriseServer break; } - PackageContext cntx = PackageController.GetPackageContext(org.PackageId); - // organization limits - org.IssueWarningKB = cntx.Quotas[Quotas.EXCHANGE2007_DISKSPACE].QuotaAllocatedValue; - if (org.IssueWarningKB > 0) - org.IssueWarningKB *= Convert.ToInt32(1024*0.9); //90% - org.ProhibitSendKB = cntx.Quotas[Quotas.EXCHANGE2007_DISKSPACE].QuotaAllocatedValue; - if (org.ProhibitSendKB > 0) - org.ProhibitSendKB *= 1024; //100% - org.ProhibitSendReceiveKB = cntx.Quotas[Quotas.EXCHANGE2007_DISKSPACE].QuotaAllocatedValue; - if (org.ProhibitSendReceiveKB > 0) - org.ProhibitSendReceiveKB *= 1024; //100% + + // 4) Add the address book policy (Exchange 2010 SP2 + // + // ========================================== + Organization OrgTmp = mailboxRole.CreateOrganizationAddressBookPolicy(org.OrganizationId, + org.GlobalAddressList, + org.AddressList, + org.RoomsAddressList, + org.OfflineAddressBook); + + org.AddressBookPolicy = OrgTmp.AddressBookPolicy; StringDictionary settings = ServerController.GetServiceSettings(serviceId); org.KeepDeletedItemsDays = Utils.ParseInt(settings["KeepDeletedItemsDays"], 14); @@ -406,9 +404,9 @@ namespace WebsitePanel.EnterpriseServer { // rollback organization creation - if (organizationExtended) + if (organizationExtended) mailboxRole.DeleteOrganization(org.OrganizationId, org.DistinguishedName, - org.GlobalAddressList, org.AddressList, org.RoomsAddressList, org.OfflineAddressBook, org.SecurityGroup); + org.GlobalAddressList, org.AddressList, org.RoomsAddressList, org.OfflineAddressBook, org.SecurityGroup, org.AddressBookPolicy); // rollback domain if (authDomainCreated) @@ -498,16 +496,16 @@ namespace WebsitePanel.EnterpriseServer int exchangeServiceId = GetExchangeServiceID(org.PackageId); ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); - - bool successful = exchange.DeleteOrganization( - org.OrganizationId, - org.DistinguishedName, - org.GlobalAddressList, - org.AddressList, - org.RoomsAddressList, - org.OfflineAddressBook, - org.SecurityGroup); + bool successful = exchange.DeleteOrganization( + org.OrganizationId, + org.DistinguishedName, + org.GlobalAddressList, + org.AddressList, + org.RoomsAddressList, + org.OfflineAddressBook, + org.SecurityGroup, + org.AddressBookPolicy); return successful ? 0 : BusinessErrorCodes.ERROR_EXCHANGE_DELETE_SOME_PROBLEMS; @@ -571,9 +569,6 @@ namespace WebsitePanel.EnterpriseServer return BusinessErrorCodes.ERROR_EXCHANGE_STORAGE_QUOTAS_EXCEED_HOST_VALUES; // set limits - org.IssueWarningKB = issueWarningKB; - org.ProhibitSendKB = prohibitSendKB; - org.ProhibitSendReceiveKB = prohibitSendReceiveKB; org.KeepDeletedItemsDays = keepDeletedItemsDays; // save organization @@ -665,6 +660,39 @@ namespace WebsitePanel.EnterpriseServer } } + public static ExchangeMailboxStatistics GetMailboxStatistics(int itemId, int accountId) + { + // place log record + TaskManager.StartTask("EXCHANGE", "GET_MAILBOX_STATS"); + TaskManager.ItemId = itemId; + + try + { + Organization org = (Organization)PackageController.GetPackageItem(itemId); + if (org == null) + return null; + + + // get stats + int exchangeServiceId = GetExchangeServiceID(org.PackageId); + ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); + + // load account + ExchangeAccount account = GetAccount(itemId, accountId); + + return exchange.GetMailboxStatistics(account.AccountName); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static ExchangeItemStatistics[] GetPublicFoldersStatistics(int itemId) { #region Demo Mode @@ -1087,21 +1115,22 @@ namespace WebsitePanel.EnterpriseServer return account; } - private static int AddAccount(int itemId, ExchangeAccountType accountType, - string accountName, string displayName, string primaryEmailAddress, bool mailEnabledPublicFolder, - MailboxManagerActions mailboxManagerActions, string samAccountName, string accountPassword) - { - return DataProvider.AddExchangeAccount(itemId, (int)accountType, - accountName, displayName, primaryEmailAddress, mailEnabledPublicFolder, - mailboxManagerActions.ToString(), samAccountName, CryptoUtils.Encrypt(accountPassword)); - } + private static int AddAccount(int itemId, ExchangeAccountType accountType, + string accountName, string displayName, string primaryEmailAddress, bool mailEnabledPublicFolder, + MailboxManagerActions mailboxManagerActions, string samAccountName, string accountPassword, int mailboxPlanId, string subscriberNumber) + { + return DataProvider.AddExchangeAccount(itemId, (int)accountType, + accountName, displayName, primaryEmailAddress, mailEnabledPublicFolder, + mailboxManagerActions.ToString(), samAccountName, CryptoUtils.Encrypt(accountPassword), mailboxPlanId, subscriberNumber.Trim()); + } - private static void UpdateAccount(ExchangeAccount account) - { - DataProvider.UpdateExchangeAccount(account.AccountId, account.AccountName, account.AccountType, account.DisplayName, - account.PrimaryEmailAddress,account.MailEnabledPublicFolder, - account.MailboxManagerActions.ToString(), account.SamAccountName, account.AccountPassword); - } + private static void UpdateAccount(ExchangeAccount account) + { + DataProvider.UpdateExchangeAccount(account.AccountId, account.AccountName, account.AccountType, account.DisplayName, + account.PrimaryEmailAddress, account.MailEnabledPublicFolder, + account.MailboxManagerActions.ToString(), account.SamAccountName, account.AccountPassword, account.MailboxPlanId, + (string.IsNullOrEmpty(account.SubscriberNumber) ? null : account.SubscriberNumber.Trim())); + } private static void DeleteAccount(int itemId, int accountId) { @@ -1112,29 +1141,41 @@ namespace WebsitePanel.EnterpriseServer DataProvider.DeleteExchangeAccount(itemId, accountId); } - private static string BuildAccountName(string orgId, string name) - { - int maxLen = 19 - orgId.Length; + private static string BuildAccountName(string orgId, string name) + { + string accountName = name = name.Replace(" ", ""); + string CounterStr = "00000"; + int counter = 0; + bool bFound = false; + do + { + accountName = genSamLogin(name, CounterStr); - // try to choose name - int i = 0; - while (true) - { - string num = i > 0 ? i.ToString() : ""; - int len = maxLen - num.Length; + if (!AccountExists(accountName)) bFound = true; - if (name.Length > len) - name = name.Substring(0, len); + CounterStr = counter.ToString("d5"); + counter++; + } + while (!bFound); - string accountName = name + num + "_" + orgId; + return accountName; + } - // check if already exists - if (!AccountExists(accountName)) - return accountName; + private static string genSamLogin(string login, string strCounter) + { + int maxLogin = 20; + int fullLen = login.Length + strCounter.Length; + if (fullLen <= maxLogin) + return login + strCounter; + else + { + if (login.Length - (fullLen - maxLogin) > 0) + return login.Substring(0, login.Length - (fullLen - maxLogin)) + strCounter; + else return strCounter; // ???? + } + + } - i++; - } - } #endregion @@ -1375,160 +1416,198 @@ namespace WebsitePanel.EnterpriseServer #endregion #region Mailboxes - - private static void UpdateExchangeAccount(int accountId, string accountName, ExchangeAccountType accountType, + + private static void UpdateExchangeAccount(int accountId, string accountName, ExchangeAccountType accountType, string displayName, string primaryEmailAddress, bool mailEnabledPublicFolder, - string mailboxManagerActions, string samAccountName, string accountPassword) - { - DataProvider.UpdateExchangeAccount(accountId, - accountName, - accountType, - displayName, - primaryEmailAddress, - mailEnabledPublicFolder, + string mailboxManagerActions, string samAccountName, string accountPassword, int mailboxPlanId, string subscriberNumber) + { + DataProvider.UpdateExchangeAccount(accountId, + accountName, + accountType, + displayName, + primaryEmailAddress, + mailEnabledPublicFolder, mailboxManagerActions, samAccountName, - CryptoUtils.Encrypt(accountPassword)); + CryptoUtils.Encrypt(accountPassword), + mailboxPlanId, + (string.IsNullOrEmpty(subscriberNumber) ? null : subscriberNumber.Trim())); } - public static int CreateMailbox(int itemId, int accountId, ExchangeAccountType accountType, string accountName, - string displayName, string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress) - { - // check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) return accountCheck; + public static int CreateMailbox(int itemId, int accountId, ExchangeAccountType accountType, string accountName, + string displayName, string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress, int mailboxPlanId, string subscriberNumber) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; - // check mailbox quota - OrganizationStatistics orgStats = GetOrganizationStatistics(itemId); - if ((orgStats.AllocatedMailboxes > -1 ) && ( orgStats.CreatedMailboxes >= orgStats.AllocatedMailboxes)) - return BusinessErrorCodes.ERROR_EXCHANGE_MAILBOXES_QUOTA_LIMIT; - - // place log record - TaskManager.StartTask("EXCHANGE", "CREATE_MAILBOX"); - TaskManager.ItemId = itemId; - bool userCreated = false; - Organization org = null; - try - { - // load organization - org = GetOrganization(itemId); - if (org == null) - return -1; - - // e-mail - string email = name + "@" + domain; - bool enabled = (accountType == ExchangeAccountType.Mailbox); - - - // string accountName = string.Empty; - //Create AD user if needed - if (accountId == 0) - { - accountId = OrganizationController.CreateUser(org.Id, displayName, name, domain, password, enabled, false, string.Empty, out accountName); - if (accountId > 0) - userCreated = true; - } - if (accountId < 0) - return accountId; - - int exchangeServiceId = PackageController.GetPackageServiceId(org.PackageId, ResourceGroups.Exchange); - - ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); + // check mailbox quota + OrganizationStatistics orgStats = GetOrganizationStatistics(itemId); + if ((orgStats.AllocatedMailboxes > -1) && (orgStats.CreatedMailboxes >= orgStats.AllocatedMailboxes)) + return BusinessErrorCodes.ERROR_EXCHANGE_MAILBOXES_QUOTA_LIMIT; - //Create Exchange Organization - if (string.IsNullOrEmpty(org.GlobalAddressList)) - { - ExtendToExchangeOrganization(ref org); - - PackageController.UpdatePackageItem(org); - } - - // check package - int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) return packageCheck; + // place log record + TaskManager.StartTask("EXCHANGE", "CREATE_MAILBOX"); + TaskManager.ItemId = itemId; + bool userCreated = false; + Organization org = null; + try + { + accountName = accountName.Trim(); + displayName = displayName.Trim(); + name = name.Trim(); + domain = domain.Trim(); - // load package context - PackageContext cntx = PackageController.GetPackageContext(org.PackageId); + // load organization + org = GetOrganization(itemId); + if (org == null) + return -1; + + // e-mail + string email = name + "@" + domain; + bool enabled = (accountType == ExchangeAccountType.Mailbox); - string samAccount = exchange.CreateMailEnableUser(email, org.OrganizationId, org.DistinguishedName, accountType, org.Database, - org.OfflineAddressBook, - accountName, - QuotaEnabled(cntx, Quotas.EXCHANGE2007_POP3ENABLED), - QuotaEnabled(cntx, Quotas.EXCHANGE2007_IMAPENABLED), - QuotaEnabled(cntx, Quotas.EXCHANGE2007_OWAENABLED), - QuotaEnabled(cntx, Quotas.EXCHANGE2007_MAPIENABLED), - QuotaEnabled(cntx, Quotas.EXCHANGE2007_ACTIVESYNCENABLED), - org.IssueWarningKB, - org.ProhibitSendKB, - org.ProhibitSendReceiveKB, - org.KeepDeletedItemsDays); + // string accountName = string.Empty; + //Create AD user if needed + if (accountId == 0) + { + accountId = OrganizationController.CreateUser(org.Id, displayName, name, domain, password, subscriberNumber, enabled, false, string.Empty, out accountName); + if (accountId > 0) + userCreated = true; + } + if (accountId < 0) + return accountId; - MailboxManagerActions pmmActions = MailboxManagerActions.GeneralSettings - | MailboxManagerActions.MailFlowSettings - | MailboxManagerActions.AdvancedSettings - | MailboxManagerActions.EmailAddresses; + // get mailbox settings + Organizations orgProxy = OrganizationController.GetOrganizationProxy(org.ServiceId); + OrganizationUser retUser = orgProxy.GetUserGeneralSettings(accountName, org.OrganizationId); - UpdateExchangeAccount(accountId, accountName, accountType, displayName, email, false, pmmActions.ToString(), samAccount, password); + int exchangeServiceId = PackageController.GetPackageServiceId(org.PackageId, ResourceGroups.Exchange); + + ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); + + + //Create Exchange Organization + if (string.IsNullOrEmpty(org.GlobalAddressList)) + { + ExtendToExchangeOrganization(ref org); + + PackageController.UpdatePackageItem(org); + } + + // check package + int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; + + //verify if the mailbox fits in the storage quota + // load package context + PackageContext cntx = PackageController.GetPackageContext(org.PackageId); + + int maxDiskSpace = -1; + int quotaUsed = 0; + if (cntx.Quotas.ContainsKey(Quotas.EXCHANGE2007_DISKSPACE) + && cntx.Quotas[Quotas.EXCHANGE2007_DISKSPACE].QuotaAllocatedValue > 0) + { + maxDiskSpace = cntx.Quotas[Quotas.EXCHANGE2007_DISKSPACE].QuotaAllocatedValue; + quotaUsed = cntx.Quotas[Quotas.EXCHANGE2007_DISKSPACE].QuotaUsedValue; + } + + ExchangeMailboxPlan plan = GetExchangeMailboxPlan(itemId, mailboxPlanId); + if (maxDiskSpace != -1) + { + if ((quotaUsed + plan.MailboxSizeMB) > (maxDiskSpace)) + return BusinessErrorCodes.ERROR_EXCHANGE_STORAGE_QUOTAS_EXCEED_HOST_VALUES; + } + + //GetServiceSettings + StringDictionary primSettings = ServerController.GetServiceSettings(exchangeServiceId); + + string samAccount = exchange.CreateMailEnableUser(email, org.OrganizationId, org.DistinguishedName, accountType, primSettings["mailboxdatabase"], + org.OfflineAddressBook, + org.AddressBookPolicy, + retUser.SamAccountName, + plan.EnablePOP, + plan.EnableIMAP, + plan.EnableOWA, + plan.EnableMAPI, + plan.EnableActiveSync, + (int)Math.Round((double)((plan.IssueWarningPct * plan.MailboxSizeMB * 1024) / 100)), + (int)Math.Round((double)((plan.ProhibitSendPct * plan.MailboxSizeMB * 1024) / 100)), + (int)Math.Round((double)((plan.ProhibitSendReceivePct * plan.MailboxSizeMB * 1024) / 100)), + plan.KeepDeletedItemsDays, + plan.MaxRecipients, + plan.MaxSendMessageSizeKB, + plan.MaxReceiveMessageSizeKB, + plan.HideFromAddressBook, + Convert.ToBoolean(cntx.Quotas[Quotas.EXCHANGE2007_ISCONSUMER].QuotaAllocatedValue)); + + MailboxManagerActions pmmActions = MailboxManagerActions.GeneralSettings + | MailboxManagerActions.MailFlowSettings + | MailboxManagerActions.AdvancedSettings + | MailboxManagerActions.EmailAddresses; + + + UpdateExchangeAccount(accountId, accountName, accountType, displayName, email, false, pmmActions.ToString(), samAccount, password, mailboxPlanId, subscriberNumber); - // send setup instructions - if (sendSetupInstructions) - { - try - { - // send setup instructions - int sendResult = SendMailboxSetupInstructions(itemId, accountId, true, setupInstructionMailAddress, null); - if (sendResult < 0) - TaskManager.WriteWarning("Setup instructions were not sent. Error code: " + sendResult); - } - catch (Exception ex) - { - TaskManager.WriteError(ex); - } - } + // send setup instructions + if (sendSetupInstructions) + { + try + { + // send setup instructions + int sendResult = SendMailboxSetupInstructions(itemId, accountId, true, setupInstructionMailAddress, null); + if (sendResult < 0) + TaskManager.WriteWarning("Setup instructions were not sent. Error code: " + sendResult); + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + } + } - try - { - // update OAB - // check if this is the first mailbox within the organization - if (GetAccounts(itemId, ExchangeAccountType.Mailbox).Count == 1) - exchange.UpdateOrganizationOfflineAddressBook(org.OfflineAddressBook); - } - catch (Exception ex) - { - TaskManager.WriteError(ex); - } + try + { + // update OAB + // check if this is the first mailbox within the organization + if (GetAccounts(itemId, ExchangeAccountType.Mailbox).Count == 1) + exchange.UpdateOrganizationOfflineAddressBook(org.OfflineAddressBook); + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + } - return accountId; - } - catch (Exception ex) - { - //rollback AD user - if (userCreated) - { - try - { - OrganizationController.DeleteUser(org.Id, accountId); - } - catch (Exception rollbackException) - { - TaskManager.WriteError(rollbackException); - } - } - throw TaskManager.WriteError(ex); + return accountId; + } + catch (Exception ex) + { + //rollback AD user + if (userCreated) + { + try + { + OrganizationController.DeleteUser(org.Id, accountId); + } + catch (Exception rollbackException) + { + TaskManager.WriteError(rollbackException); + } + } + throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + } + finally + { + TaskManager.CompleteTask(); + } + } public static int DisableMailbox(int itemId, int accountId) { @@ -1694,85 +1773,56 @@ namespace WebsitePanel.EnterpriseServer } } - public static int SetMailboxGeneralSettings(int itemId, int accountId, string displayName, - string password, bool hideAddressBook, bool disabled, string firstName, string initials, - string lastName, string address, string city, string state, string zip, string country, - string jobTitle, string company, string department, string office, string managerAccountName, - string businessPhone, string fax, string homePhone, string mobilePhone, string pager, - string webPage, string notes) - { - // check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) return accountCheck; + public static int SetMailboxGeneralSettings(int itemId, int accountId, bool hideAddressBook, bool disabled) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; - // place log record - TaskManager.StartTask("EXCHANGE", "UPDATE_MAILBOX_GENERAL"); - TaskManager.ItemId = itemId; + // place log record + TaskManager.StartTask("EXCHANGE", "UPDATE_MAILBOX_GENERAL"); + TaskManager.ItemId = itemId; - try - { - // load organization - Organization org = GetOrganization(itemId); - if (org == null) - return -1; + try + { + // load organization + Organization org = GetOrganization(itemId); + if (org == null) + return -1; - // check package - int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) return packageCheck; + // check package + int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; - // load account - ExchangeAccount account = GetAccount(itemId, accountId); + // load account + ExchangeAccount account = GetAccount(itemId, accountId); - // get mailbox settings + // get mailbox settings int exchangeServiceId = GetExchangeServiceID(org.PackageId); ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); - - exchange.SetMailboxGeneralSettings( - account.AccountName, - displayName, - password, - hideAddressBook, - disabled, - firstName, - initials, - lastName, - address, - city, - state, - zip, - country, - jobTitle, - company, - department, - office, - managerAccountName, - businessPhone, - fax, - homePhone, - mobilePhone, - pager, - webPage, - notes); - // update account - account.DisplayName = displayName; - if (!String.IsNullOrEmpty(password)) - account.AccountPassword = CryptoUtils.Encrypt(password); + PackageContext cntx = PackageController.GetPackageContext(org.PackageId); - UpdateAccount(account); + if (Convert.ToBoolean(cntx.Quotas[Quotas.EXCHANGE2007_ISCONSUMER].QuotaAllocatedValue)) + hideAddressBook = true; - return 0; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + exchange.SetMailboxGeneralSettings( + account.AccountName, + hideAddressBook, + disabled); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } public static ExchangeEmailAddress[] GetMailboxEmailAddresses(int itemId, int accountId) { @@ -2002,61 +2052,58 @@ namespace WebsitePanel.EnterpriseServer } } - public static int SetMailboxMailFlowSettings(int itemId, int accountId, - bool enableForwarding, string forwardingAccountName, bool forwardToBoth, - string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, - int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, + public static int SetMailboxMailFlowSettings(int itemId, int accountId, + bool enableForwarding, string forwardingAccountName, bool forwardToBoth, + string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) - { - // check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) return accountCheck; + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; - // place log record - TaskManager.StartTask("EXCHANGE", "UPDATE_MAILBOX_MAILFLOW"); - TaskManager.ItemId = itemId; + // place log record + TaskManager.StartTask("EXCHANGE", "UPDATE_MAILBOX_MAILFLOW"); + TaskManager.ItemId = itemId; - try - { - // load organization - Organization org = GetOrganization(itemId); - if (org == null) - return -1; + try + { + // load organization + Organization org = GetOrganization(itemId); + if (org == null) + return -1; - // check package - int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) return packageCheck; + // check package + int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; - // load account - ExchangeAccount account = GetAccount(itemId, accountId); + // load account + ExchangeAccount account = GetAccount(itemId, accountId); - // get mailbox settings + // get mailbox settings int exchangeServiceId = GetExchangeServiceID(org.PackageId); ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); - - exchange.SetMailboxMailFlowSettings(account.AccountName, - enableForwarding, - forwardingAccountName, - forwardToBoth, - sendOnBehalfAccounts, - acceptAccounts, - rejectAccounts, - maxRecipients, - maxSendMessageSizeKB, - maxReceiveMessageSizeKB, - requireSenderAuthentication); - return 0; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + exchange.SetMailboxMailFlowSettings(account.AccountName, + enableForwarding, + forwardingAccountName, + forwardToBoth, + sendOnBehalfAccounts, + acceptAccounts, + rejectAccounts, + requireSenderAuthentication); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + public static ExchangeMailbox GetMailboxAdvancedSettings(int itemId, int accountId) { @@ -2098,75 +2145,6 @@ namespace WebsitePanel.EnterpriseServer } } - public static int SetMailboxAdvancedSettings(int itemId, int accountId, bool enablePOP, - bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, - int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) - { - // check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) return accountCheck; - - // place log record - TaskManager.StartTask("EXCHANGE", "UPDATE_MAILBOX_ADVANCED"); - TaskManager.ItemId = itemId; - - try - { - // load organization - Organization org = GetOrganization(itemId); - if (org == null) - return -1; - - // check package - int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) return packageCheck; - - // load account - ExchangeAccount account = GetAccount(itemId, accountId); - - // load package context - PackageContext cntx = PackageController.GetPackageContext(org.PackageId); - - int maxDiskSpace = 0; - if (cntx.Quotas.ContainsKey(Quotas.EXCHANGE2007_DISKSPACE) - && cntx.Quotas[Quotas.EXCHANGE2007_DISKSPACE].QuotaAllocatedValue > 0) - maxDiskSpace = cntx.Quotas[Quotas.EXCHANGE2007_DISKSPACE].QuotaAllocatedValue * 1024; - - if ((maxDiskSpace > 0 && - (issueWarningKB > maxDiskSpace - || prohibitSendKB > maxDiskSpace - || prohibitSendReceiveKB > maxDiskSpace || issueWarningKB == -1 || prohibitSendKB == -1 || prohibitSendReceiveKB == -1))) - return BusinessErrorCodes.ERROR_EXCHANGE_STORAGE_QUOTAS_EXCEED_HOST_VALUES; - - // get mailbox settings - int exchangeServiceId = GetExchangeServiceID(org.PackageId); - ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); - - exchange.SetMailboxAdvancedSettings( - org.OrganizationId, - account.AccountName, - QuotaEnabled(cntx, Quotas.EXCHANGE2007_POP3ALLOWED) && enablePOP, - QuotaEnabled(cntx, Quotas.EXCHANGE2007_IMAPALLOWED) && enableIMAP, - QuotaEnabled(cntx, Quotas.EXCHANGE2007_OWAALLOWED) && enableOWA, - QuotaEnabled(cntx, Quotas.EXCHANGE2007_MAPIALLOWED) && enableMAPI, - QuotaEnabled(cntx, Quotas.EXCHANGE2007_ACTIVESYNCALLOWED) && enableActiveSync, - issueWarningKB, - prohibitSendKB, - prohibitSendReceiveKB, - keepDeletedItemsDays); - - return 0; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } - public static int SetMailboxManagerSettings(int itemId, int accountId, bool pmmAllowed, MailboxManagerActions action) { // check account @@ -2421,44 +2399,266 @@ namespace WebsitePanel.EnterpriseServer #endregion - #region Contacts - public static int CreateContact(int itemId, string displayName, string email) + + #region Mailbox plan + public static int SetExchangeMailboxPlan(int itemId, int accountId, int mailboxPlanId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // place log record + TaskManager.StartTask("EXCHANGE", "SET_MAILBOXPLAN"); + TaskManager.ItemId = itemId; + + try + { + // load organization + Organization org = GetOrganization(itemId); + if (org == null) + return -1; + + // check package + int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; + + // load account + ExchangeAccount account = GetAccount(itemId, accountId); + + // load package context + PackageContext cntx = PackageController.GetPackageContext(org.PackageId); + + int maxDiskSpace = -1; + int quotaUsed = 0; + if (cntx.Quotas.ContainsKey(Quotas.EXCHANGE2007_DISKSPACE) + && cntx.Quotas[Quotas.EXCHANGE2007_DISKSPACE].QuotaAllocatedValue > 0) + { + maxDiskSpace = cntx.Quotas[Quotas.EXCHANGE2007_DISKSPACE].QuotaAllocatedValue; + quotaUsed = cntx.Quotas[Quotas.EXCHANGE2007_DISKSPACE].QuotaUsedValue; + } + + ExchangeMailboxPlan plan = GetExchangeMailboxPlan(itemId, mailboxPlanId); + if (maxDiskSpace != -1) + { + if ((quotaUsed + plan.MailboxSizeMB) > (maxDiskSpace)) + return BusinessErrorCodes.ERROR_EXCHANGE_STORAGE_QUOTAS_EXCEED_HOST_VALUES; + } + + // get mailbox settings + int exchangeServiceId = GetExchangeServiceID(org.PackageId); + ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); + + exchange.SetMailboxAdvancedSettings( + org.OrganizationId, + account.AccountName, + plan.EnablePOP, + plan.EnableIMAP, + plan.EnableOWA, + plan.EnableMAPI, + plan.EnableActiveSync, + (int)Math.Round((double)((plan.IssueWarningPct * plan.MailboxSizeMB * 1024) / 100)), + (int)Math.Round((double)((plan.ProhibitSendPct * plan.MailboxSizeMB * 1024) / 100)), + (int)Math.Round((double)((plan.ProhibitSendReceivePct * plan.MailboxSizeMB * 1024) / 100)), + plan.KeepDeletedItemsDays, + plan.MaxRecipients, + plan.MaxSendMessageSizeKB, + plan.MaxReceiveMessageSizeKB); + + DataProvider.SetExchangeAccountMailboxPlan(accountId, mailboxPlanId); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static List GetExchangeMailboxPlans(int itemId) + { + // place log record + TaskManager.StartTask("EXCHANGE", "GET_EXCHANGE_MAILBOXPLANS"); + TaskManager.ItemId = itemId; + + try + { + return ObjectUtils.CreateListFromDataReader( + DataProvider.GetExchangeMailboxPlans(itemId)); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static ExchangeMailboxPlan GetExchangeMailboxPlan(int itemID, int mailboxPlanId) + { + + // place log record + TaskManager.StartTask("EXCHANGE", "GET_EXCHANGE_MAILBOXPLAN"); + TaskManager.ItemId = mailboxPlanId; + + try + { + return ObjectUtils.FillObjectFromDataReader( + DataProvider.GetExchangeMailboxPlan(mailboxPlanId)); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int AddExchangeMailboxPlan(int itemID, ExchangeMailboxPlan mailboxPlan) + { + // place log record + TaskManager.StartTask("EXCHANGE", "ADD_EXCHANGE_MAILBOXPLAN"); + TaskManager.ItemId = itemID; + + try + { + Organization org = GetOrganization(itemID); + if (org == null) + return -1; + + // load package context + PackageContext cntx = PackageController.GetPackageContext(org.PackageId); + + mailboxPlan.EnableActiveSync = mailboxPlan.EnableActiveSync & Convert.ToBoolean(cntx.Quotas[Quotas.EXCHANGE2007_ACTIVESYNCALLOWED].QuotaAllocatedValue); + mailboxPlan.EnableIMAP = mailboxPlan.EnableIMAP & Convert.ToBoolean(cntx.Quotas[Quotas.EXCHANGE2007_IMAPALLOWED].QuotaAllocatedValue); + mailboxPlan.EnableMAPI = mailboxPlan.EnableMAPI & Convert.ToBoolean(cntx.Quotas[Quotas.EXCHANGE2007_MAPIALLOWED].QuotaAllocatedValue); + mailboxPlan.EnableOWA = mailboxPlan.EnableOWA & Convert.ToBoolean(cntx.Quotas[Quotas.EXCHANGE2007_OWAALLOWED].QuotaAllocatedValue); + mailboxPlan.EnablePOP = mailboxPlan.EnablePOP & Convert.ToBoolean(cntx.Quotas[Quotas.EXCHANGE2007_POP3ALLOWED].QuotaAllocatedValue); + if (mailboxPlan.KeepDeletedItemsDays > cntx.Quotas[Quotas.EXCHANGE2007_KEEPDELETEDITEMSDAYS].QuotaAllocatedValue) + mailboxPlan.KeepDeletedItemsDays = cntx.Quotas[Quotas.EXCHANGE2007_KEEPDELETEDITEMSDAYS].QuotaAllocatedValue; + if (cntx.Quotas[Quotas.EXCHANGE2007_DISKSPACE].QuotaAllocatedValue != -1) + if (mailboxPlan.MailboxSizeMB > cntx.Quotas[Quotas.EXCHANGE2007_DISKSPACE].QuotaAllocatedValue) + mailboxPlan.MailboxSizeMB = cntx.Quotas[Quotas.EXCHANGE2007_DISKSPACE].QuotaAllocatedValue; + if (mailboxPlan.MaxReceiveMessageSizeKB > cntx.Quotas[Quotas.EXCHANGE2007_MAXRECEIVEMESSAGESIZEKB].QuotaAllocatedValue) + mailboxPlan.MaxReceiveMessageSizeKB = cntx.Quotas[Quotas.EXCHANGE2007_MAXRECEIVEMESSAGESIZEKB].QuotaAllocatedValue; + if (mailboxPlan.MaxSendMessageSizeKB > cntx.Quotas[Quotas.EXCHANGE2007_MAXSENDMESSAGESIZEKB].QuotaAllocatedValue) + mailboxPlan.MaxSendMessageSizeKB = cntx.Quotas[Quotas.EXCHANGE2007_MAXSENDMESSAGESIZEKB].QuotaAllocatedValue; + if (cntx.Quotas[Quotas.EXCHANGE2007_MAXRECIPIENTS].QuotaAllocatedValue != -1) + if (mailboxPlan.MaxRecipients > cntx.Quotas[Quotas.EXCHANGE2007_MAXRECIPIENTS].QuotaAllocatedValue) + mailboxPlan.MaxRecipients = cntx.Quotas[Quotas.EXCHANGE2007_MAXRECIPIENTS].QuotaAllocatedValue; + if (Convert.ToBoolean(cntx.Quotas[Quotas.EXCHANGE2007_ISCONSUMER].QuotaAllocatedValue)) mailboxPlan.HideFromAddressBook = true; + + return DataProvider.AddExchangeMailboxPlan(itemID, mailboxPlan.MailboxPlan, mailboxPlan.EnableActiveSync, mailboxPlan.EnableIMAP, mailboxPlan.EnableMAPI, mailboxPlan.EnableOWA, mailboxPlan.EnablePOP, + mailboxPlan.IsDefault, mailboxPlan.IssueWarningPct, mailboxPlan.KeepDeletedItemsDays, mailboxPlan.MailboxSizeMB, mailboxPlan.MaxReceiveMessageSizeKB, mailboxPlan.MaxRecipients, + mailboxPlan.MaxSendMessageSizeKB, mailboxPlan.ProhibitSendPct, mailboxPlan.ProhibitSendReceivePct, mailboxPlan.HideFromAddressBook); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + } + + public static int DeleteExchangeMailboxPlan(int itemID, int mailboxPlanId) + { + TaskManager.StartTask("EXCHANGE", "DELETE_EXCHANGE_MAILBOXPLAN"); + TaskManager.ItemId = itemID; + + try + { + DataProvider.DeleteExchangeMailboxPlan(mailboxPlanId); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + } + + public static void SetOrganizationDefaultExchangeMailboxPlan(int itemId, int mailboxPlanId) + { + TaskManager.StartTask("EXCHANGE", "SET_EXCHANGE_MAILBOXPLAN"); + TaskManager.ItemId = itemId; + + try + { + DataProvider.SetOrganizationDefaultExchangeMailboxPlan(itemId, mailboxPlanId); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + } + + + + #endregion + + + #region Contacts + public static int CreateContact(int itemId, string displayName, string email) { //if (EmailAddressExists(email)) - // return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS; - + // return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS; + // check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) return accountCheck; + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; // check mailbox quota - OrganizationStatistics orgStats = GetOrganizationStatistics(itemId); - if (orgStats.AllocatedContacts > -1 - && orgStats.CreatedContacts >= orgStats.AllocatedContacts) - return BusinessErrorCodes.ERROR_EXCHANGE_CONTACTS_QUOTA_LIMIT; + OrganizationStatistics orgStats = GetOrganizationStatistics(itemId); + if (orgStats.AllocatedContacts > -1 + && orgStats.CreatedContacts >= orgStats.AllocatedContacts) + return BusinessErrorCodes.ERROR_EXCHANGE_CONTACTS_QUOTA_LIMIT; - // place log record - TaskManager.StartTask("EXCHANGE", "CREATE_CONTACT"); - TaskManager.ItemId = itemId; + // place log record + TaskManager.StartTask("EXCHANGE", "CREATE_CONTACT"); + TaskManager.ItemId = itemId; - try - { - // load organization - Organization org = GetOrganization(itemId); + try + { - // check package - int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) return packageCheck; + displayName = displayName.Trim(); + email = email.Trim(); - string name = email; - int idx = email.IndexOf("@"); - if (idx > -1) - name = email.Substring(0, idx); + // load organization + Organization org = GetOrganization(itemId); - string accountName = BuildAccountName(org.OrganizationId, name); + // check package + int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; - // add contact + string name = email; + int idx = email.IndexOf("@"); + if (idx > -1) + name = email.Substring(0, idx); + + string accountName = BuildAccountName(org.OrganizationId, name); + + // add contact int exchangeServiceId = GetExchangeServiceID(org.PackageId); ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); @@ -2469,30 +2669,32 @@ namespace WebsitePanel.EnterpriseServer PackageController.UpdatePackageItem(org); } - + exchange.CreateContact( - org.OrganizationId, - org.DistinguishedName, - displayName, - accountName, + org.OrganizationId, + org.DistinguishedName, + displayName, + accountName, email, org.DefaultDomain); - // add meta-item - int accountId = AddAccount(itemId, ExchangeAccountType.Contact, accountName, - displayName, email, false, - 0, "", null); + ExchangeContact contact = exchange.GetContactGeneralSettings(accountName); - return accountId; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + // add meta-item + int accountId = AddAccount(itemId, ExchangeAccountType.Contact, accountName, + displayName, email, false, + 0, contact.SAMAccountName, null, 0, null); + + return accountId; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } public static int DeleteContact(int itemId, int accountId) { @@ -2593,75 +2795,80 @@ namespace WebsitePanel.EnterpriseServer string businessPhone, string fax, string homePhone, string mobilePhone, string pager, string webPage, string notes, int useMapiRichTextFormat) { - // check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) return accountCheck; + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; - // place log record - TaskManager.StartTask("EXCHANGE", "UPDATE_CONTACT_GENERAL"); - TaskManager.ItemId = itemId; + // place log record + TaskManager.StartTask("EXCHANGE", "UPDATE_CONTACT_GENERAL"); + TaskManager.ItemId = itemId; - try - { - // load organization - Organization org = GetOrganization(itemId); - if (org == null) - return -1; + try + { + displayName = displayName.Trim(); + emailAddress = emailAddress.Trim(); + firstName = firstName.Trim(); + lastName = lastName.Trim(); - // check package - int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) return packageCheck; + // load organization + Organization org = GetOrganization(itemId); + if (org == null) + return -1; - // load account - ExchangeAccount account = GetAccount(itemId, accountId); + // check package + int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; - // get mailbox settings + // load account + ExchangeAccount account = GetAccount(itemId, accountId); + + // get mailbox settings int exchangeServiceId = GetExchangeServiceID(org.PackageId); ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); - - exchange.SetContactGeneralSettings( - account.AccountName, - displayName, - emailAddress, - hideAddressBook, - firstName, - initials, - lastName, - address, - city, - state, - zip, - country, - jobTitle, - company, - department, - office, - managerAccountName, - businessPhone, - fax, - homePhone, - mobilePhone, - pager, - webPage, - notes, + + exchange.SetContactGeneralSettings( + account.AccountName, + displayName, + emailAddress, + hideAddressBook, + firstName, + initials, + lastName, + address, + city, + state, + zip, + country, + jobTitle, + company, + department, + office, + managerAccountName, + businessPhone, + fax, + homePhone, + mobilePhone, + pager, + webPage, + notes, useMapiRichTextFormat, org.DefaultDomain); - // update account - account.DisplayName = displayName; - account.PrimaryEmailAddress = emailAddress; - UpdateAccount(account); + // update account + account.DisplayName = displayName; + account.PrimaryEmailAddress = emailAddress; + UpdateAccount(account); - return 0; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } public static ExchangeContact GetContactMailFlowSettings(int itemId, int accountId) { @@ -2754,40 +2961,44 @@ namespace WebsitePanel.EnterpriseServer #region Distribution Lists public static int CreateDistributionList(int itemId, string displayName, string name, string domain, int managerId) { - // check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) return accountCheck; + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; - // check mailbox quota - OrganizationStatistics orgStats = GetOrganizationStatistics(itemId); - if (orgStats.AllocatedDistributionLists > -1 - && orgStats.CreatedDistributionLists >= orgStats.AllocatedDistributionLists) - return BusinessErrorCodes.ERROR_EXCHANGE_DLISTS_QUOTA_LIMIT; + // check mailbox quota + OrganizationStatistics orgStats = GetOrganizationStatistics(itemId); + if (orgStats.AllocatedDistributionLists > -1 + && orgStats.CreatedDistributionLists >= orgStats.AllocatedDistributionLists) + return BusinessErrorCodes.ERROR_EXCHANGE_DLISTS_QUOTA_LIMIT; - // place log record - TaskManager.StartTask("EXCHANGE", "CREATE_DISTR_LIST"); - TaskManager.ItemId = itemId; + // place log record + TaskManager.StartTask("EXCHANGE", "CREATE_DISTR_LIST"); + TaskManager.ItemId = itemId; - try - { - // e-mail - string email = name + "@" + domain; + try + { + displayName = displayName.Trim(); + name = name.Trim(); + domain = domain.Trim(); - // check e-mail - if (EmailAddressExists(email)) - return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS; + // e-mail + string email = name + "@" + domain; - // load organization - Organization org = GetOrganization(itemId); + // check e-mail + if (EmailAddressExists(email)) + return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS; - // check package - int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) return packageCheck; + // load organization + Organization org = GetOrganization(itemId); - string accountName = BuildAccountName(org.OrganizationId, name); + // check package + int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; - // add account - // add contact + string accountName = BuildAccountName(org.OrganizationId, name); + + // add account + // add contact int exchangeServiceId = GetExchangeServiceID(org.PackageId); ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); @@ -2799,34 +3010,41 @@ namespace WebsitePanel.EnterpriseServer PackageController.UpdatePackageItem(org); } - OrganizationUser manager = OrganizationController.GetAccount(itemId, managerId); - exchange.CreateDistributionList( - org.OrganizationId, - org.DistinguishedName, - displayName, - accountName, - name, - domain, manager.AccountName); + OrganizationUser manager = OrganizationController.GetAccount(itemId, managerId); - // add meta-item - int accountId = AddAccount(itemId, ExchangeAccountType.DistributionList, accountName, - displayName, email, false, - 0, "", null); + List addressLists = new List(); + addressLists.Add(org.GlobalAddressList); + addressLists.Add(org.AddressList); - // register email address - AddAccountEmailAddress(accountId, email); + exchange.CreateDistributionList( + org.OrganizationId, + org.DistinguishedName, + displayName, + accountName, + name, + domain, manager.AccountName, addressLists.ToArray()); - return accountId; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + ExchangeDistributionList dl = exchange.GetDistributionListGeneralSettings(accountName); + + // add meta-item + int accountId = AddAccount(itemId, ExchangeAccountType.DistributionList, email, + displayName, email, false, + 0, dl.SAMAccountName, null, 0, null); + + // register email address + AddAccountEmailAddress(accountId, email); + + return accountId; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } public static int DeleteDistributionList(int itemId, int accountId) { @@ -2923,55 +3141,62 @@ namespace WebsitePanel.EnterpriseServer bool hideAddressBook, string managerAccount, string[] memberAccounts, string notes) { - // check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) return accountCheck; + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; - // place log record - TaskManager.StartTask("EXCHANGE", "UPDATE_DISTR_LIST_GENERAL"); - TaskManager.ItemId = itemId; + // place log record + TaskManager.StartTask("EXCHANGE", "UPDATE_DISTR_LIST_GENERAL"); + TaskManager.ItemId = itemId; - try - { - // load organization - Organization org = GetOrganization(itemId); - if (org == null) - return -1; + try + { + displayName = displayName.Trim(); - // check package - int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) return packageCheck; + // load organization + Organization org = GetOrganization(itemId); + if (org == null) + return -1; - // load account - ExchangeAccount account = GetAccount(itemId, accountId); + // check package + int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; - // get mailbox settings + // load account + ExchangeAccount account = GetAccount(itemId, accountId); + + // get mailbox settings int exchangeServiceId = GetExchangeServiceID(org.PackageId); ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); - - exchange.SetDistributionListGeneralSettings( - account.AccountName, - displayName, - hideAddressBook, - managerAccount, - memberAccounts, - notes); - // update account - account.DisplayName = displayName; - UpdateAccount(account); + List addressLists = new List(); + addressLists.Add(org.GlobalAddressList); + addressLists.Add(org.AddressList); - return 0; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + exchange.SetDistributionListGeneralSettings( + account.AccountName, + displayName, + hideAddressBook, + managerAccount, + memberAccounts, + notes, + addressLists.ToArray()); + + // update account + account.DisplayName = displayName; + UpdateAccount(account); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } public static ExchangeDistributionList GetDistributionListMailFlowSettings(int itemId, int accountId) { @@ -3017,48 +3242,54 @@ namespace WebsitePanel.EnterpriseServer public static int SetDistributionListMailFlowSettings(int itemId, int accountId, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { - // check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) return accountCheck; + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; - // place log record - TaskManager.StartTask("EXCHANGE", "UPDATE_DISTR_LIST_MAILFLOW"); - TaskManager.ItemId = itemId; + // place log record + TaskManager.StartTask("EXCHANGE", "UPDATE_DISTR_LIST_MAILFLOW"); + TaskManager.ItemId = itemId; - try - { - // load organization - Organization org = GetOrganization(itemId); - if (org == null) - return -1; + try + { + // load organization + Organization org = GetOrganization(itemId); + if (org == null) + return -1; - // check package - int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) return packageCheck; + // check package + int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; - // load account - ExchangeAccount account = GetAccount(itemId, accountId); + // load account + ExchangeAccount account = GetAccount(itemId, accountId); - // get mailbox settings + // get mailbox settings int exchangeServiceId = GetExchangeServiceID(org.PackageId); ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); - - exchange.SetDistributionListMailFlowSettings(account.AccountName, - acceptAccounts, - rejectAccounts, - requireSenderAuthentication); - return 0; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + List addressLists = new List(); + addressLists.Add(org.GlobalAddressList); + addressLists.Add(org.AddressList); + + + exchange.SetDistributionListMailFlowSettings(account.AccountName, + acceptAccounts, + rejectAccounts, + requireSenderAuthentication, + addressLists.ToArray()); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } public static ExchangeEmailAddress[] GetDistributionListEmailAddresses(int itemId, int accountId) { @@ -3082,152 +3313,165 @@ namespace WebsitePanel.EnterpriseServer public static int AddDistributionListEmailAddress(int itemId, int accountId, string emailAddress) { - // check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) return accountCheck; + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; - // place log record - TaskManager.StartTask("EXCHANGE", "ADD_DISTR_LIST_ADDRESS"); - TaskManager.ItemId = itemId; + // place log record + TaskManager.StartTask("EXCHANGE", "ADD_DISTR_LIST_ADDRESS"); + TaskManager.ItemId = itemId; - try - { - // check - if (EmailAddressExists(emailAddress)) - return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS; + try + { + // check + if (EmailAddressExists(emailAddress)) + return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS; - // load organization - Organization org = GetOrganization(itemId); - if (org == null) - return -1; + // load organization + Organization org = GetOrganization(itemId); + if (org == null) + return -1; - // check package - int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) return packageCheck; + // check package + int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; - // load account - ExchangeAccount account = GetAccount(itemId, accountId); + // load account + ExchangeAccount account = GetAccount(itemId, accountId); - // add e-mail - AddAccountEmailAddress(accountId, emailAddress); + // add e-mail + AddAccountEmailAddress(accountId, emailAddress); - // update e-mail addresses + // update e-mail addresses int exchangeServiceId = GetExchangeServiceID(org.PackageId); ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); - - exchange.SetDistributionListEmailAddresses( - account.AccountName, - GetAccountSimpleEmailAddresses(itemId, accountId)); - return 0; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + List addressLists = new List(); + addressLists.Add(org.GlobalAddressList); + addressLists.Add(org.AddressList); + + exchange.SetDistributionListEmailAddresses( + account.AccountName, + GetAccountSimpleEmailAddresses(itemId, accountId), addressLists.ToArray()); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } public static int SetDistributionListPrimaryEmailAddress(int itemId, int accountId, string emailAddress) { - // check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) return accountCheck; + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; - // place log record - TaskManager.StartTask("EXCHANGE", "SET_PRIMARY_DISTR_LIST_ADDRESS"); - TaskManager.ItemId = itemId; + // place log record + TaskManager.StartTask("EXCHANGE", "SET_PRIMARY_DISTR_LIST_ADDRESS"); + TaskManager.ItemId = itemId; - try - { - // get account - ExchangeAccount account = GetAccount(itemId, accountId); - account.PrimaryEmailAddress = emailAddress; + try + { + // get account + ExchangeAccount account = GetAccount(itemId, accountId); + account.PrimaryEmailAddress = emailAddress; - // update exchange - Organization org = GetOrganization(itemId); - if (org == null) - return -1; + // update exchange + Organization org = GetOrganization(itemId); + if (org == null) + return -1; - // check package - int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) return packageCheck; + // check package + int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; int exchangeServiceId = GetExchangeServiceID(org.PackageId); ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); - - exchange.SetDistributionListPrimaryEmailAddress( - account.AccountName, - emailAddress); - // save account - UpdateAccount(account); + List addressLists = new List(); + addressLists.Add(org.GlobalAddressList); + addressLists.Add(org.AddressList); - return 0; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + exchange.SetDistributionListPrimaryEmailAddress( + account.AccountName, + emailAddress, + addressLists.ToArray()); + + // save account + UpdateAccount(account); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } public static int DeleteDistributionListEmailAddresses(int itemId, int accountId, string[] emailAddresses) { - // check account - int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); - if (accountCheck < 0) return accountCheck; + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; - // place log record - TaskManager.StartTask("EXCHANGE", "DELETE_DISTR_LIST_ADDRESSES"); - TaskManager.ItemId = itemId; + // place log record + TaskManager.StartTask("EXCHANGE", "DELETE_DISTR_LIST_ADDRESSES"); + TaskManager.ItemId = itemId; - try - { - // get account - ExchangeAccount account = GetAccount(itemId, accountId); + try + { + // get account + ExchangeAccount account = GetAccount(itemId, accountId); - // delete e-mail addresses - List toDelete = new List(); - foreach (string emailAddress in emailAddresses) - { - if (String.Compare(account.PrimaryEmailAddress, emailAddress, true) != 0) - toDelete.Add(emailAddress); - } + // delete e-mail addresses + List toDelete = new List(); + foreach (string emailAddress in emailAddresses) + { + if (String.Compare(account.PrimaryEmailAddress, emailAddress, true) != 0) + toDelete.Add(emailAddress); + } - // delete from meta-base - DeleteAccountEmailAddresses(accountId, toDelete.ToArray()); + // delete from meta-base + DeleteAccountEmailAddresses(accountId, toDelete.ToArray()); - // delete from Exchange - Organization org = GetOrganization(itemId); - if (org == null) - return -1; + // delete from Exchange + Organization org = GetOrganization(itemId); + if (org == null) + return -1; - // update e-mail addresses + // update e-mail addresses int exchangeServiceId = GetExchangeServiceID(org.PackageId); ExchangeServer exchange = GetExchangeServer(exchangeServiceId, org.ServiceId); - - exchange.SetDistributionListEmailAddresses( - account.AccountName, - GetAccountSimpleEmailAddresses(itemId, accountId)); - return 0; - } - catch (Exception ex) - { - throw TaskManager.WriteError(ex); - } - finally - { - TaskManager.CompleteTask(); - } - } + List addressLists = new List(); + addressLists.Add(org.GlobalAddressList); + addressLists.Add(org.AddressList); + + exchange.SetDistributionListEmailAddresses( + account.AccountName, + GetAccountSimpleEmailAddresses(itemId, accountId), addressLists.ToArray()); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } public static ResultObject SetDistributionListPermissions(int itemId, int accountId, string[] sendAsAccounts, string[] sendOnBehalfAccounts) @@ -3273,8 +3517,12 @@ namespace WebsitePanel.EnterpriseServer try { + List addressLists = new List(); + addressLists.Add(org.GlobalAddressList); + addressLists.Add(org.AddressList); + exchange.SetDistributionListPermissions(org.OrganizationId, account.AccountName, sendAsAccounts, - sendOnBehalfAccounts); + sendOnBehalfAccounts, addressLists.ToArray()); } catch(Exception ex) { @@ -3422,7 +3670,7 @@ namespace WebsitePanel.EnterpriseServer // add meta-item int accountId = AddAccount(itemId, ExchangeAccountType.PublicFolder, accountName, folderPath, email, mailEnabled, - 0, "", null); + 0, "", null, 0 , null); // register email address if(mailEnabled) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs index d081ec48..07672218 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs @@ -633,7 +633,7 @@ namespace WebsitePanel.EnterpriseServer } - private static Organizations GetOrganizationProxy(int serviceId) + public static Organizations GetOrganizationProxy(int serviceId) { Organizations ws = new Organizations(); ServiceProviderProxy.Init(ws, serviceId); @@ -710,9 +710,6 @@ namespace WebsitePanel.EnterpriseServer org.Id = 1; org.OrganizationId = "fabrikam"; org.Name = "Fabrikam Inc"; - org.IssueWarningKB = 150000; - org.ProhibitSendKB = 170000; - org.ProhibitSendReceiveKB = 190000; org.KeepDeletedItemsDays = 14; org.GlobalAddressList = "FabrikamGAL"; return org; @@ -980,8 +977,17 @@ namespace WebsitePanel.EnterpriseServer OrganizationUsersPaged result = new OrganizationUsersPaged(); result.RecordsCount = (int)ds.Tables[0].Rows[0][0]; + List Tmpaccounts = new List(); + ObjectUtils.FillCollectionFromDataView(Tmpaccounts, ds.Tables[1].DefaultView); + result.PageUsers = Tmpaccounts.ToArray(); + List accounts = new List(); - ObjectUtils.FillCollectionFromDataView(accounts, ds.Tables[1].DefaultView); + + foreach (OrganizationUser user in Tmpaccounts.ToArray()) + { + accounts.Add(GetUserGeneralSettings(itemId, user.AccountId)); + } + result.PageUsers = accounts.ToArray(); return result; } @@ -993,22 +999,23 @@ namespace WebsitePanel.EnterpriseServer return DataProvider.ExchangeAccountEmailAddressExists(emailAddress); } - - private static int AddOrganizationUser(int itemId, string accountName, string displayName, string email, string accountPassword) - { + + private static int AddOrganizationUser(int itemId, string accountName, string displayName, string email, string sAMAccountName, string accountPassword, string subscriberNumber) + { return DataProvider.AddExchangeAccount(itemId, (int)ExchangeAccountType.User, accountName, displayName, email, false, string.Empty, - string.Empty, CryptoUtils.Encrypt(accountPassword)); - - } + sAMAccountName, CryptoUtils.Encrypt(accountPassword), 0, subscriberNumber.Trim()); + + } public static string GetAccountName(string loginName) { - string []parts = loginName.Split('@'); - return parts != null && parts.Length > 1 ? parts[0] : loginName; + //string []parts = loginName.Split('@'); + //return parts != null && parts.Length > 1 ? parts[0] : loginName; + return loginName; } - public static int CreateUser(int itemId, string displayName, string name, string domain, string password, bool enabled, bool sendNotification, string to, out string accountName) + public static int CreateUser(int itemId, string displayName, string name, string domain, string password, string subscriberNumber, bool enabled, bool sendNotification, string to, out string accountName) { if (string.IsNullOrEmpty(displayName)) throw new ArgumentNullException("displayName"); @@ -1023,55 +1030,171 @@ namespace WebsitePanel.EnterpriseServer throw new ArgumentNullException("password"); accountName = string.Empty; - + // check account int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); if (accountCheck < 0) return accountCheck; - + // place log record TaskManager.StartTask("ORGANIZATION", "CREATE_USER"); TaskManager.ItemId = itemId; + TaskManager.Write("Organization ID :" + itemId); + TaskManager.Write("name :" + name); + TaskManager.Write("domain :" + domain); + TaskManager.Write("subscriberNumber :" + subscriberNumber); - // e-mail - string email = name + "@" + domain; + int userId = -1; - if (EmailAddressExists(email)) - return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS; - - // load organization - Organization org = GetOrganization(itemId); - if (org == null) - return -1; - - // check package - int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); - if (packageCheck < 0) return packageCheck; - - int errorCode; - if (!CheckUserQuota(org.Id, out errorCode)) - return errorCode; - - - Organizations orgProxy = GetOrganizationProxy(org.ServiceId); - - string upn = string.Format("{0}@{1}", name, domain); - accountName = BuildAccountName(org.OrganizationId, name); - orgProxy.CreateUser(org.OrganizationId, accountName, displayName, upn, password, enabled); - - int userId = AddOrganizationUser(itemId, accountName, displayName, email, password); - - // register email address - AddAccountEmailAddress(userId, email); - - if (sendNotification) + try { - SendSummaryLetter(org.Id, userId, true, to, ""); + displayName = displayName.Trim(); + name = name.Trim(); + domain = domain.Trim(); + + // e-mail + string email = name + "@" + domain; + + if (EmailAddressExists(email)) + return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS; + + // load organization + Organization org = GetOrganization(itemId); + if (org == null) + return -1; + + // check package + int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; + + int errorCode; + if (!CheckUserQuota(org.Id, out errorCode)) + return errorCode; + + + Organizations orgProxy = GetOrganizationProxy(org.ServiceId); + + string upn = string.Format("{0}@{1}", name, domain); + string sAMAccountName = BuildAccountName(org.OrganizationId, name); + + TaskManager.Write("accountName :" + sAMAccountName); + TaskManager.Write("upn :" + upn); + + if (orgProxy.CreateUser(org.OrganizationId, sAMAccountName, displayName, upn, password, enabled) == 0) + { + OrganizationUser retUser = orgProxy.GetUserGeneralSettings(upn, org.OrganizationId); + TaskManager.Write("sAMAccountName :" + retUser.DomainUserName); + + userId = AddOrganizationUser(itemId, upn, displayName, email, retUser.DomainUserName, password, subscriberNumber); + accountName = upn; + + // register email address + AddAccountEmailAddress(userId, email); + + if (sendNotification) + { + SendSummaryLetter(org.Id, userId, true, to, ""); + } + } + else + { + TaskManager.WriteError("Failed to create user"); + } } + catch (Exception ex) + { + TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + return userId; + } + + + + public static int ImportUser(int itemId, string accountName, string displayName, string name, string domain, string password, string subscriberNumber) + { + if (string.IsNullOrEmpty(accountName)) + throw new ArgumentNullException("accountName"); + + if (string.IsNullOrEmpty(displayName)) + throw new ArgumentNullException("displayName"); + + if (string.IsNullOrEmpty(name)) + throw new ArgumentNullException("name"); + + if (string.IsNullOrEmpty(domain)) + throw new ArgumentNullException("domain"); + + if (string.IsNullOrEmpty(password)) + throw new ArgumentNullException("password"); + + + // place log record + TaskManager.StartTask("ORGANIZATION", "IMPORT_USER"); + TaskManager.ItemId = itemId; + TaskManager.Write("Organization ID :" + itemId); + TaskManager.Write("account :" + accountName); + TaskManager.Write("name :" + name); + TaskManager.Write("domain :" + domain); + + int userId = -1; + + try + { + accountName = accountName.Trim(); + displayName = displayName.Trim(); + name = name.Trim(); + domain = domain.Trim(); + + // e-mail + string email = name + "@" + domain; + + if (EmailAddressExists(email)) + return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS; + + // load organization + Organization org = GetOrganization(itemId); + if (org == null) + return -1; + + // check package + int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; + + int errorCode; + if (!CheckUserQuota(org.Id, out errorCode)) + return errorCode; + + Organizations orgProxy = GetOrganizationProxy(org.ServiceId); + + string upn = string.Format("{0}@{1}", name, domain); + TaskManager.Write("upn :" + upn); + + OrganizationUser retUser = orgProxy.GetUserGeneralSettings(accountName, org.OrganizationId); + + TaskManager.Write("sAMAccountName :" + retUser.DomainUserName); + + userId = AddOrganizationUser(itemId, accountName, displayName, email, retUser.DomainUserName, password, subscriberNumber); + + AddAccountEmailAddress(userId, email); + + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + return userId; } - private static void AddAccountEmailAddress(int accountId, string emailAddress) { @@ -1080,28 +1203,40 @@ namespace WebsitePanel.EnterpriseServer private static string BuildAccountName(string orgId, string name) { - int maxLen = 19 - orgId.Length; - - // try to choose name - int i = 0; - while (true) + string accountName = name = name.Replace(" ", ""); + string CounterStr = "00000"; + int counter = 0; + bool bFound = false; + do { - string num = i > 0 ? i.ToString() : ""; - int len = maxLen - num.Length; + accountName = genSamLogin(name, CounterStr); - if (name.Length > len) - name = name.Substring(0, len); + if (!AccountExists(accountName)) bFound = true; - string accountName = name + num + "_" + orgId; - - // check if already exists - if (!AccountExists(accountName)) - return accountName; - - i++; + CounterStr = counter.ToString("d5"); + counter++; } + while (!bFound); + + return accountName; } + private static string genSamLogin(string login, string strCounter) + { + int maxLogin = 20; + int fullLen = login.Length + strCounter.Length; + if (fullLen <= maxLogin) + return login + strCounter; + else + { + if (login.Length - (fullLen - maxLogin) > 0) + return login.Substring(0, login.Length - (fullLen - maxLogin)) + strCounter; + else return strCounter; // ???? + } + + } + + private static bool AccountExists(string accountName) { return DataProvider.ExchangeAccountExists(accountName); @@ -1180,6 +1315,18 @@ namespace WebsitePanel.EnterpriseServer return account; } + public static OrganizationUser GetAccountByAccountName(int itemId, string AccountName) + { + OrganizationUser account = ObjectUtils.FillObjectFromDataReader( + DataProvider.GetExchangeAccountByAccountName(itemId, AccountName)); + + if (account == null) + return null; + + return account; + } + + private static void DeleteUserFromMetabase(int itemId, int accountId) { // try to get organization @@ -1217,11 +1364,16 @@ namespace WebsitePanel.EnterpriseServer string accountName = GetAccountName(account.AccountName); - OrganizationUser retUser = orgProxy.GeUserGeneralSettings(accountName, org.OrganizationId); + OrganizationUser retUser = orgProxy.GetUserGeneralSettings(accountName, org.OrganizationId); retUser.AccountId = accountId; retUser.AccountName = account.AccountName; retUser.PrimaryEmailAddress = account.PrimaryEmailAddress; retUser.AccountType = account.AccountType; + retUser.CrmUserId = CRMController.GetCrmUserId(accountId); + retUser.IsOCSUser = DataProvider.CheckOCSUserExists(accountId); + //retUser.IsLyncUser = DataProvider.CheckLyncUserExists(accountId); + retUser.IsBlackBerryUser = BlackBerryController.CheckBlackBerryUserExists(accountId); + retUser.SubscriberNumber = account.SubscriberNumber; return retUser; } @@ -1240,7 +1392,7 @@ namespace WebsitePanel.EnterpriseServer string lastName, string address, string city, string state, string zip, string country, string jobTitle, string company, string department, string office, string managerAccountName, string businessPhone, string fax, string homePhone, string mobilePhone, string pager, - string webPage, string notes, string externalEmail) + string webPage, string notes, string externalEmail, string subscriberNumber) { // check account @@ -1253,6 +1405,10 @@ namespace WebsitePanel.EnterpriseServer try { + displayName = displayName.Trim(); + firstName = firstName.Trim(); + lastName = lastName.Trim(); + // load organization Organization org = GetOrganization(itemId); if (org == null) @@ -1303,6 +1459,7 @@ namespace WebsitePanel.EnterpriseServer // update account account.DisplayName = displayName; + account.SubscriberNumber = subscriberNumber; //account. if (!String.IsNullOrEmpty(password)) @@ -1329,7 +1486,8 @@ namespace WebsitePanel.EnterpriseServer { DataProvider.UpdateExchangeAccount(account.AccountId, account.AccountName, account.AccountType, account.DisplayName, account.PrimaryEmailAddress, account.MailEnabledPublicFolder, - account.MailboxManagerActions.ToString(), account.SamAccountName, account.AccountPassword); + account.MailboxManagerActions.ToString(), account.SamAccountName, account.AccountPassword, account.MailboxPlanId, + (string.IsNullOrEmpty(account.SubscriberNumber) ? null : account.SubscriberNumber.Trim())); } @@ -1377,11 +1535,58 @@ namespace WebsitePanel.EnterpriseServer } #endregion - return ObjectUtils.CreateListFromDataReader( - DataProvider.SearchOrganizationAccounts(SecurityContext.User.UserId, itemId, - filterColumn, filterValue, sortColumn, includeMailboxes)); + List Tmpaccounts = ObjectUtils.CreateListFromDataReader( + DataProvider.SearchOrganizationAccounts(SecurityContext.User.UserId, itemId, + filterColumn, filterValue, sortColumn, includeMailboxes)); + + List Accounts = new List(); + + foreach (OrganizationUser user in Tmpaccounts.ToArray()) + { + Accounts.Add(GetUserGeneralSettings(itemId, user.AccountId)); + } + + return Accounts; } + public static int GetAccountIdByUserPrincipalName(int itemId, string userPrincipalName) + { + // place log record + TaskManager.StartTask("ORGANIZATION", "GET_ACCOUNT_BYUPN"); + TaskManager.ItemId = itemId; + + int accounId = -1; + + try + { + // load organization + Organization org = GetOrganization(itemId); + if (org == null) + return 0; + + // get samaccountName + //Organizations orgProxy = GetOrganizationProxy(org.ServiceId); + //string accountName = orgProxy.GetSamAccountNameByUserPrincipalName(org.OrganizationId, userPrincipalName); + + // load account + OrganizationUser account = GetAccountByAccountName(itemId, userPrincipalName); + + if (account != null) + accounId = account.AccountId; + + return accounId; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + #endregion public static List GetOrganizationDomains(int itemId) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeServer.asmx.cs index 984bbd28..41fbd9d8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esExchangeServer.asmx.cs @@ -46,80 +46,81 @@ namespace WebsitePanel.EnterpriseServer [ToolboxItem(false)] public class esExchangeServer : WebService { - #region Organizations - [WebMethod] - public DataSet GetRawExchangeOrganizationsPaged(int packageId, bool recursive, - string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) - { - return ExchangeServerController.GetRawExchangeOrganizationsPaged(packageId, recursive, - filterColumn, filterValue, sortColumn, startRow, maximumRows); - } + #region Organizations + [WebMethod] + public DataSet GetRawExchangeOrganizationsPaged(int packageId, bool recursive, + string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) + { + return ExchangeServerController.GetRawExchangeOrganizationsPaged(packageId, recursive, + filterColumn, filterValue, sortColumn, startRow, maximumRows); + } - [WebMethod] - public OrganizationsPaged GetExchangeOrganizationsPaged(int packageId, bool recursive, - string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) - { - return ExchangeServerController.GetExchangeOrganizationsPaged(packageId, recursive, - filterColumn, filterValue, sortColumn, startRow, maximumRows); - } + [WebMethod] + public OrganizationsPaged GetExchangeOrganizationsPaged(int packageId, bool recursive, + string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) + { + return ExchangeServerController.GetExchangeOrganizationsPaged(packageId, recursive, + filterColumn, filterValue, sortColumn, startRow, maximumRows); + } - [WebMethod] - public List GetExchangeOrganizations(int packageId, bool recursive) - { - return ExchangeServerController.GetExchangeOrganizations(packageId, recursive); - } + [WebMethod] + public List GetExchangeOrganizations(int packageId, bool recursive) + { + return ExchangeServerController.GetExchangeOrganizations(packageId, recursive); + } - [WebMethod] - public Organization GetOrganization(int itemId) - { - return ExchangeServerController.GetOrganization(itemId); - } + [WebMethod] + public Organization GetOrganization(int itemId) + { + return ExchangeServerController.GetOrganization(itemId); + } - [WebMethod] - public OrganizationStatistics GetOrganizationStatistics(int itemId) - { - return ExchangeServerController.GetOrganizationStatistics(itemId); - } + [WebMethod] + public OrganizationStatistics GetOrganizationStatistics(int itemId) + { + return ExchangeServerController.GetOrganizationStatistics(itemId); + } - - [WebMethod] - public int DeleteOrganization(int itemId) - { - return ExchangeServerController.DeleteOrganization(itemId); - } - [WebMethod] - public Organization GetOrganizationStorageLimits(int itemId) - { - return ExchangeServerController.GetOrganizationStorageLimits(itemId); - } + [WebMethod] + public int DeleteOrganization(int itemId) + { + return ExchangeServerController.DeleteOrganization(itemId); + } - [WebMethod] - public int SetOrganizationStorageLimits(int itemId, int issueWarningKB, int prohibitSendKB, - int prohibitSendReceiveKB, int keepDeletedItemsDays, bool applyToMailboxes) - { - return ExchangeServerController.SetOrganizationStorageLimits(itemId, issueWarningKB, prohibitSendKB, - prohibitSendReceiveKB, keepDeletedItemsDays, applyToMailboxes); - } + [WebMethod] + public Organization GetOrganizationStorageLimits(int itemId) + { + return ExchangeServerController.GetOrganizationStorageLimits(itemId); + } - [WebMethod] - public ExchangeItemStatistics[] GetMailboxesStatistics(int itemId) - { - return ExchangeServerController.GetMailboxesStatistics(itemId); - } + [WebMethod] + public int SetOrganizationStorageLimits(int itemId, int issueWarningKB, int prohibitSendKB, + int prohibitSendReceiveKB, int keepDeletedItemsDays, bool applyToMailboxes) + { + return ExchangeServerController.SetOrganizationStorageLimits(itemId, issueWarningKB, prohibitSendKB, + prohibitSendReceiveKB, keepDeletedItemsDays, applyToMailboxes); + } - [WebMethod] - public ExchangeItemStatistics[] GetPublicFoldersStatistics(int itemId) - { - return ExchangeServerController.GetPublicFoldersStatistics(itemId); - } + [WebMethod] + public ExchangeItemStatistics[] GetMailboxesStatistics(int itemId) + { + return ExchangeServerController.GetMailboxesStatistics(itemId); + } - [WebMethod] - public int CalculateOrganizationDiskspace(int itemId) - { - return ExchangeServerController.CalculateOrganizationDiskspace(itemId); - } + [WebMethod] + public ExchangeMailboxStatistics GetMailboxStatistics(int itemId, int accountId) + { + return ExchangeServerController.GetMailboxStatistics(itemId, accountId); + } + + + [WebMethod] + public int CalculateOrganizationDiskspace(int itemId) + { + return ExchangeServerController.CalculateOrganizationDiskspace(itemId); + } [WebMethod] public ExchangeActiveSyncPolicy GetActiveSyncPolicy(int itemId) @@ -139,14 +140,14 @@ namespace WebsitePanel.EnterpriseServer passwordRecoveryEnabled, deviceEncryptionEnabled, allowSimplePassword, maxPasswordFailedAttempts, minPasswordLength, inactivityLockMin, passwordExpirationDays, passwordHistory, refreshInteval); } - #endregion + #endregion - #region Domains - [WebMethod] + #region Domains + [WebMethod] public int AddAuthoritativeDomain(int itemId, int domainId) - { + { return ExchangeServerController.AddAuthoritativeDomain(itemId, domainId); - } + } [WebMethod] public int DeleteAuthoritativeDomain(int itemId, int domainId) @@ -155,42 +156,42 @@ namespace WebsitePanel.EnterpriseServer } - #endregion + #endregion - #region Accounts - [WebMethod] - public ExchangeAccountsPaged GetAccountsPaged(int itemId, string accountTypes, - string filterColumn, string filterValue, string sortColumn, - int startRow, int maximumRows) - { + #region Accounts + [WebMethod] + public ExchangeAccountsPaged GetAccountsPaged(int itemId, string accountTypes, + string filterColumn, string filterValue, string sortColumn, + int startRow, int maximumRows) + { return ExchangeServerController.GetAccountsPaged(itemId, accountTypes, - filterColumn, filterValue, sortColumn, - startRow, maximumRows); - } + filterColumn, filterValue, sortColumn, + startRow, maximumRows); + } - [WebMethod] - public List GetAccounts(int itemId, ExchangeAccountType accountType) - { - return ExchangeServerController.GetAccounts(itemId, accountType); - } + [WebMethod] + public List GetAccounts(int itemId, ExchangeAccountType accountType) + { + return ExchangeServerController.GetAccounts(itemId, accountType); + } - [WebMethod] - public List SearchAccounts(int itemId, - bool includeMailboxes, bool includeContacts, bool includeDistributionLists, + [WebMethod] + public List SearchAccounts(int itemId, + bool includeMailboxes, bool includeContacts, bool includeDistributionLists, bool includeRooms, bool includeEquipment, - string filterColumn, string filterValue, string sortColumn) - { - return ExchangeServerController.SearchAccounts(itemId, - includeMailboxes, includeContacts, includeDistributionLists, + string filterColumn, string filterValue, string sortColumn) + { + return ExchangeServerController.SearchAccounts(itemId, + includeMailboxes, includeContacts, includeDistributionLists, includeRooms, includeEquipment, - filterColumn, filterValue, sortColumn); - } + filterColumn, filterValue, sortColumn); + } - [WebMethod] - public ExchangeAccount GetAccount(int itemId, int accountId) - { - return ExchangeServerController.GetAccount(itemId, accountId); - } + [WebMethod] + public ExchangeAccount GetAccount(int itemId, int accountId) + { + return ExchangeServerController.GetAccount(itemId, accountId); + } [WebMethod] public ExchangeAccount SearchAccount(ExchangeAccountType accountType, string primaryEmailAddress) @@ -204,21 +205,21 @@ namespace WebsitePanel.EnterpriseServer return ExchangeServerController.CheckAccountCredentials(itemId, email, password); } - #endregion + #endregion - #region Mailboxes - [WebMethod] - public int CreateMailbox(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName, - string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress) - { - return ExchangeServerController.CreateMailbox(itemId, accountId, accountType, accountName, displayName, name, domain, password, sendSetupInstructions, setupInstructionMailAddress); - } + #region Mailboxes + [WebMethod] + public int CreateMailbox(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName, + string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress, int mailboxPlanId, string subscriberNumber) + { + return ExchangeServerController.CreateMailbox(itemId, accountId, accountType, accountName, displayName, name, domain, password, sendSetupInstructions, setupInstructionMailAddress, mailboxPlanId, subscriberNumber); + } - [WebMethod] - public int DeleteMailbox(int itemId, int accountId) - { - return ExchangeServerController.DeleteMailbox(itemId, accountId); - } + [WebMethod] + public int DeleteMailbox(int itemId, int accountId) + { + return ExchangeServerController.DeleteMailbox(itemId, accountId); + } [WebMethod] public int DisableMailbox(int itemId, int accountId) @@ -227,87 +228,66 @@ namespace WebsitePanel.EnterpriseServer } - [WebMethod] - public ExchangeMailbox GetMailboxGeneralSettings(int itemId, int accountId) - { - return ExchangeServerController.GetMailboxGeneralSettings(itemId, accountId); - } + [WebMethod] + public ExchangeMailbox GetMailboxGeneralSettings(int itemId, int accountId) + { + return ExchangeServerController.GetMailboxGeneralSettings(itemId, accountId); + } - [WebMethod] - public int SetMailboxGeneralSettings(int itemId, int accountId, string displayName, - string password, bool hideAddressBook, bool disabled, string firstName, string initials, - string lastName, string address, string city, string state, string zip, string country, - string jobTitle, string company, string department, string office, string managerAccountName, - string businessPhone, string fax, string homePhone, string mobilePhone, string pager, - string webPage, string notes) - { - return ExchangeServerController.SetMailboxGeneralSettings(itemId, accountId, displayName, - password, hideAddressBook, disabled, firstName, initials, - lastName, address, city, state, zip, country, - jobTitle, company, department, office, managerAccountName, - businessPhone, fax, homePhone, mobilePhone, pager, - webPage, notes); - } + [WebMethod] + public int SetMailboxGeneralSettings(int itemId, int accountId, bool hideAddressBook, bool disabled) + { + return ExchangeServerController.SetMailboxGeneralSettings(itemId, accountId, hideAddressBook, disabled); + } - [WebMethod] - public ExchangeEmailAddress[] GetMailboxEmailAddresses(int itemId, int accountId) - { - return ExchangeServerController.GetMailboxEmailAddresses(itemId, accountId); - } + [WebMethod] + public ExchangeEmailAddress[] GetMailboxEmailAddresses(int itemId, int accountId) + { + return ExchangeServerController.GetMailboxEmailAddresses(itemId, accountId); + } - [WebMethod] - public int AddMailboxEmailAddress(int itemId, int accountId, string emailAddress) - { - return ExchangeServerController.AddMailboxEmailAddress(itemId, accountId, emailAddress); - } + [WebMethod] + public int AddMailboxEmailAddress(int itemId, int accountId, string emailAddress) + { + return ExchangeServerController.AddMailboxEmailAddress(itemId, accountId, emailAddress); + } - [WebMethod] - public int SetMailboxPrimaryEmailAddress(int itemId, int accountId, string emailAddress) - { - return ExchangeServerController.SetMailboxPrimaryEmailAddress(itemId, accountId, emailAddress); - } + [WebMethod] + public int SetMailboxPrimaryEmailAddress(int itemId, int accountId, string emailAddress) + { + return ExchangeServerController.SetMailboxPrimaryEmailAddress(itemId, accountId, emailAddress); + } - [WebMethod] - public int DeleteMailboxEmailAddresses(int itemId, int accountId, string[] emailAddresses) - { - return ExchangeServerController.DeleteMailboxEmailAddresses(itemId, accountId, emailAddresses); - } + [WebMethod] + public int DeleteMailboxEmailAddresses(int itemId, int accountId, string[] emailAddresses) + { + return ExchangeServerController.DeleteMailboxEmailAddresses(itemId, accountId, emailAddresses); + } - [WebMethod] - public ExchangeMailbox GetMailboxMailFlowSettings(int itemId, int accountId) - { - return ExchangeServerController.GetMailboxMailFlowSettings(itemId, accountId); - } + [WebMethod] + public ExchangeMailbox GetMailboxMailFlowSettings(int itemId, int accountId) + { + return ExchangeServerController.GetMailboxMailFlowSettings(itemId, accountId); + } - [WebMethod] - public int SetMailboxMailFlowSettings(int itemId, int accountId, - bool enableForwarding, string forwardingAccountName, bool forwardToBoth, - string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, - int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, + [WebMethod] + public int SetMailboxMailFlowSettings(int itemId, int accountId, + bool enableForwarding, string forwardingAccountName, bool forwardToBoth, + string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) - { - return ExchangeServerController.SetMailboxMailFlowSettings(itemId, accountId, - enableForwarding, forwardingAccountName, forwardToBoth, - sendOnBehalfAccounts, acceptAccounts, rejectAccounts, - maxRecipients, maxSendMessageSizeKB, maxReceiveMessageSizeKB, - requireSenderAuthentication); - } + { + return ExchangeServerController.SetMailboxMailFlowSettings(itemId, accountId, + enableForwarding, forwardingAccountName, forwardToBoth, + sendOnBehalfAccounts, acceptAccounts, rejectAccounts, + requireSenderAuthentication); + } - [WebMethod] - public ExchangeMailbox GetMailboxAdvancedSettings(int itemId, int accountId) - { - return ExchangeServerController.GetMailboxAdvancedSettings(itemId, accountId); - } - [WebMethod] - public int SetMailboxAdvancedSettings(int itemId, int accountId, bool enablePOP, - bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, - int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) - { - return ExchangeServerController.SetMailboxAdvancedSettings(itemId, accountId, enablePOP, - enableIMAP, enableOWA, enableMAPI, enableActiveSync, - issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays); - } + [WebMethod] + public int SetExchangeMailboxPlan(int itemId, int accountId, int mailboxPlanId) + { + return ExchangeServerController.SetExchangeMailboxPlan(itemId, accountId, mailboxPlanId); + } [WebMethod] public string GetMailboxSetupInstructions(int itemId, int accountId, bool pmm, bool emailMode, bool signup) @@ -327,137 +307,137 @@ namespace WebsitePanel.EnterpriseServer return ExchangeServerController.SetMailboxManagerSettings(itemId, accountId, pmmAllowed, action); } - [WebMethod] + [WebMethod] public ExchangeMailbox GetMailboxPermissions(int itemId, int accountId) { - return ExchangeServerController.GetMailboxPermissions(itemId, accountId); + return ExchangeServerController.GetMailboxPermissions(itemId, accountId); } [WebMethod] public int SetMailboxPermissions(int itemId, int accountId, string[] sendAsaccounts, string[] fullAccessAcounts) { - return ExchangeServerController.SetMailboxPermissions(itemId, accountId, sendAsaccounts, fullAccessAcounts); + return ExchangeServerController.SetMailboxPermissions(itemId, accountId, sendAsaccounts, fullAccessAcounts); } - - - #endregion - #region Contacts - [WebMethod] - public int CreateContact(int itemId, string displayName, string email) - { - return ExchangeServerController.CreateContact(itemId, displayName, email); - } - [WebMethod] - public int DeleteContact(int itemId, int accountId) - { - return ExchangeServerController.DeleteContact(itemId, accountId); - } + #endregion - [WebMethod] - public ExchangeContact GetContactGeneralSettings(int itemId, int accountId) - { - return ExchangeServerController.GetContactGeneralSettings(itemId, accountId); - } + #region Contacts + [WebMethod] + public int CreateContact(int itemId, string displayName, string email) + { + return ExchangeServerController.CreateContact(itemId, displayName, email); + } - [WebMethod] - public int SetContactGeneralSettings(int itemId, int accountId, string displayName, string emailAddress, - bool hideAddressBook, string firstName, string initials, - string lastName, string address, string city, string state, string zip, string country, - string jobTitle, string company, string department, string office, string managerAccountName, - string businessPhone, string fax, string homePhone, string mobilePhone, string pager, + [WebMethod] + public int DeleteContact(int itemId, int accountId) + { + return ExchangeServerController.DeleteContact(itemId, accountId); + } + + [WebMethod] + public ExchangeContact GetContactGeneralSettings(int itemId, int accountId) + { + return ExchangeServerController.GetContactGeneralSettings(itemId, accountId); + } + + [WebMethod] + public int SetContactGeneralSettings(int itemId, int accountId, string displayName, string emailAddress, + bool hideAddressBook, string firstName, string initials, + string lastName, string address, string city, string state, string zip, string country, + string jobTitle, string company, string department, string office, string managerAccountName, + string businessPhone, string fax, string homePhone, string mobilePhone, string pager, string webPage, string notes, int useMapiRichTextFormat) - { - return ExchangeServerController.SetContactGeneralSettings(itemId, accountId, displayName, emailAddress, - hideAddressBook, firstName, initials, - lastName, address, city, state, zip, country, - jobTitle, company, department, office, managerAccountName, - businessPhone, fax, homePhone, mobilePhone, pager, - webPage, notes, useMapiRichTextFormat); - } + { + return ExchangeServerController.SetContactGeneralSettings(itemId, accountId, displayName, emailAddress, + hideAddressBook, firstName, initials, + lastName, address, city, state, zip, country, + jobTitle, company, department, office, managerAccountName, + businessPhone, fax, homePhone, mobilePhone, pager, + webPage, notes, useMapiRichTextFormat); + } - [WebMethod] - public ExchangeContact GetContactMailFlowSettings(int itemId, int accountId) - { - return ExchangeServerController.GetContactMailFlowSettings(itemId, accountId); - } + [WebMethod] + public ExchangeContact GetContactMailFlowSettings(int itemId, int accountId) + { + return ExchangeServerController.GetContactMailFlowSettings(itemId, accountId); + } - [WebMethod] - public int SetContactMailFlowSettings(int itemId, int accountId, - string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) - { - return ExchangeServerController.SetContactMailFlowSettings(itemId, accountId, - acceptAccounts, rejectAccounts, requireSenderAuthentication); - } - #endregion + [WebMethod] + public int SetContactMailFlowSettings(int itemId, int accountId, + string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) + { + return ExchangeServerController.SetContactMailFlowSettings(itemId, accountId, + acceptAccounts, rejectAccounts, requireSenderAuthentication); + } + #endregion - #region Distribution Lists - [WebMethod] - public int CreateDistributionList(int itemId, string displayName, string name, string domain, int managerId) - { - return ExchangeServerController.CreateDistributionList(itemId, displayName, name, domain, managerId); - } + #region Distribution Lists + [WebMethod] + public int CreateDistributionList(int itemId, string displayName, string name, string domain, int managerId) + { + return ExchangeServerController.CreateDistributionList(itemId, displayName, name, domain, managerId); + } - [WebMethod] - public int DeleteDistributionList(int itemId, int accountId) - { - return ExchangeServerController.DeleteDistributionList(itemId, accountId); - } + [WebMethod] + public int DeleteDistributionList(int itemId, int accountId) + { + return ExchangeServerController.DeleteDistributionList(itemId, accountId); + } - [WebMethod] - public ExchangeDistributionList GetDistributionListGeneralSettings(int itemId, int accountId) - { - return ExchangeServerController.GetDistributionListGeneralSettings(itemId, accountId); - } + [WebMethod] + public ExchangeDistributionList GetDistributionListGeneralSettings(int itemId, int accountId) + { + return ExchangeServerController.GetDistributionListGeneralSettings(itemId, accountId); + } - [WebMethod] - public int SetDistributionListGeneralSettings(int itemId, int accountId, string displayName, - bool hideAddressBook, string managerAccount, string[] memberAccounts, - string notes) - { - return ExchangeServerController.SetDistributionListGeneralSettings(itemId, accountId, displayName, - hideAddressBook, managerAccount, memberAccounts, - notes); - } + [WebMethod] + public int SetDistributionListGeneralSettings(int itemId, int accountId, string displayName, + bool hideAddressBook, string managerAccount, string[] memberAccounts, + string notes) + { + return ExchangeServerController.SetDistributionListGeneralSettings(itemId, accountId, displayName, + hideAddressBook, managerAccount, memberAccounts, + notes); + } - [WebMethod] - public ExchangeDistributionList GetDistributionListMailFlowSettings(int itemId, int accountId) - { - return ExchangeServerController.GetDistributionListMailFlowSettings(itemId, accountId); - } + [WebMethod] + public ExchangeDistributionList GetDistributionListMailFlowSettings(int itemId, int accountId) + { + return ExchangeServerController.GetDistributionListMailFlowSettings(itemId, accountId); + } - [WebMethod] - public int SetDistributionListMailFlowSettings(int itemId, int accountId, - string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) - { - return ExchangeServerController.SetDistributionListMailFlowSettings(itemId, accountId, - acceptAccounts, rejectAccounts, requireSenderAuthentication); - } + [WebMethod] + public int SetDistributionListMailFlowSettings(int itemId, int accountId, + string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) + { + return ExchangeServerController.SetDistributionListMailFlowSettings(itemId, accountId, + acceptAccounts, rejectAccounts, requireSenderAuthentication); + } - [WebMethod] - public ExchangeEmailAddress[] GetDistributionListEmailAddresses(int itemId, int accountId) - { - return ExchangeServerController.GetDistributionListEmailAddresses(itemId, accountId); - } + [WebMethod] + public ExchangeEmailAddress[] GetDistributionListEmailAddresses(int itemId, int accountId) + { + return ExchangeServerController.GetDistributionListEmailAddresses(itemId, accountId); + } - [WebMethod] - public int AddDistributionListEmailAddress(int itemId, int accountId, string emailAddress) - { - return ExchangeServerController.AddDistributionListEmailAddress(itemId, accountId, emailAddress); - } + [WebMethod] + public int AddDistributionListEmailAddress(int itemId, int accountId, string emailAddress) + { + return ExchangeServerController.AddDistributionListEmailAddress(itemId, accountId, emailAddress); + } - [WebMethod] - public int SetDistributionListPrimaryEmailAddress(int itemId, int accountId, string emailAddress) - { - return ExchangeServerController.SetDistributionListPrimaryEmailAddress(itemId, accountId, emailAddress); - } + [WebMethod] + public int SetDistributionListPrimaryEmailAddress(int itemId, int accountId, string emailAddress) + { + return ExchangeServerController.SetDistributionListPrimaryEmailAddress(itemId, accountId, emailAddress); + } - [WebMethod] - public int DeleteDistributionListEmailAddresses(int itemId, int accountId, string[] emailAddresses) - { - return ExchangeServerController.DeleteDistributionListEmailAddresses(itemId, accountId, emailAddresses); - } + [WebMethod] + public int DeleteDistributionListEmailAddresses(int itemId, int accountId, string[] emailAddresses) + { + return ExchangeServerController.DeleteDistributionListEmailAddresses(itemId, accountId, emailAddresses); + } [WebMethod] public ResultObject SetDistributionListPermissions(int itemId, int accountId, string[] sendAsAccounts, string[] sendOnBehalfAccounts) @@ -470,9 +450,77 @@ namespace WebsitePanel.EnterpriseServer { return ExchangeServerController.GetDistributionListPermissions(itemId, accountId); } - + #endregion + #region MobileDevice + + [WebMethod] + public ExchangeMobileDevice[] GetMobileDevices(int itemId, int accountId) + { + return ExchangeServerController.GetMobileDevices(itemId, accountId); + } + + [WebMethod] + public ExchangeMobileDevice GetMobileDevice(int itemId, string deviceId) + { + return ExchangeServerController.GetMobileDevice(itemId, deviceId); + } + + [WebMethod] + public void WipeDataFromDevice(int itemId, string deviceId) + { + ExchangeServerController.WipeDataFromDevice(itemId, deviceId); + } + + [WebMethod] + public void CancelRemoteWipeRequest(int itemId, string deviceId) + { + ExchangeServerController.CancelRemoteWipeRequest(itemId, deviceId); + } + + [WebMethod] + public void RemoveDevice(int itemId, string deviceId) + { + ExchangeServerController.RemoveDevice(itemId, deviceId); + } + + #endregion + + #region MailboxPlans + [WebMethod] + public List GetExchangeMailboxPlans(int itemId) + { + return ExchangeServerController.GetExchangeMailboxPlans(itemId); + } + + [WebMethod] + public ExchangeMailboxPlan GetExchangeMailboxPlan(int itemId, int mailboxPlanId) + { + return ExchangeServerController.GetExchangeMailboxPlan(itemId, mailboxPlanId); + } + + [WebMethod] + public int AddExchangeMailboxPlan(int itemId, ExchangeMailboxPlan mailboxPlan) + { + return ExchangeServerController.AddExchangeMailboxPlan(itemId, mailboxPlan); + } + + [WebMethod] + public int DeleteExchangeMailboxPlan(int itemId, int mailboxPlanId) + { + return ExchangeServerController.DeleteExchangeMailboxPlan(itemId, mailboxPlanId); + } + + [WebMethod] + public void SetOrganizationDefaultExchangeMailboxPlan(int itemId, int mailboxPlanId) + { + ExchangeServerController.SetOrganizationDefaultExchangeMailboxPlan(itemId, mailboxPlanId); + } + + #endregion + + #region Public Folders [WebMethod] public int CreatePublicFolder(int itemId, string parentFolder, string folderName, @@ -560,39 +608,7 @@ namespace WebsitePanel.EnterpriseServer } #endregion - #region MobileDevice - [WebMethod] - public ExchangeMobileDevice[] GetMobileDevices(int itemId, int accountId) - { - return ExchangeServerController.GetMobileDevices(itemId, accountId); - } - - [WebMethod] - public ExchangeMobileDevice GetMobileDevice(int itemId, string deviceId) - { - return ExchangeServerController.GetMobileDevice(itemId, deviceId); - } - - [WebMethod] - public void WipeDataFromDevice(int itemId, string deviceId) - { - ExchangeServerController.WipeDataFromDevice(itemId, deviceId); - } - - [WebMethod] - public void CancelRemoteWipeRequest(int itemId, string deviceId) - { - ExchangeServerController.CancelRemoteWipeRequest(itemId, deviceId); - } - - [WebMethod] - public void RemoveDevice(int itemId, string deviceId) - { - ExchangeServerController.RemoveDevice(itemId, deviceId); - } - - #endregion } } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOrganizations.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOrganizations.asmx.cs index 3f9dccbd..9bccc46a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOrganizations.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOrganizations.asmx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -46,10 +46,10 @@ namespace WebsitePanel.EnterpriseServer #region Organizations [WebMethod] - public int CreateOrganization(int packageId, string organizationID, string organizationName) + public int CreateOrganization(int packageId, string organizationID, string organizationName) { return OrganizationController.CreateOrganization(packageId, organizationID, organizationName); - + } [WebMethod] @@ -60,7 +60,7 @@ namespace WebsitePanel.EnterpriseServer filterColumn, filterValue, sortColumn, startRow, maximumRows); } - + [WebMethod] public List GetOrganizations(int packageId, bool recursive) { @@ -72,13 +72,13 @@ namespace WebsitePanel.EnterpriseServer { return OrganizationController.GetOrganizationUserSummuryLetter(itemId, accountId, pmm, emailMode, signup); } - + [WebMethod] public int SendOrganizationUserSummuryLetter(int itemId, int accountId, bool signup, string to, string cc) { return OrganizationController.SendSummaryLetter(itemId, accountId, signup, to, cc); } - + [WebMethod] public int DeleteOrganization(int itemId) { @@ -97,6 +97,13 @@ namespace WebsitePanel.EnterpriseServer return OrganizationController.GetOrganization(itemId); } + [WebMethod] + public int GetAccountIdByUserPrincipalName(int itemId, string userPrincipalName) + { + return OrganizationController.GetAccountIdByUserPrincipalName(itemId, userPrincipalName); + } + + #endregion @@ -107,13 +114,13 @@ namespace WebsitePanel.EnterpriseServer { return OrganizationController.AddOrganizationDomain(itemId, domainName); } - + [WebMethod] public List GetOrganizationDomains(int itemId) { return OrganizationController.GetOrganizationDomains(itemId); } - + [WebMethod] public int DeleteOrganizationDomain(int itemId, int domainId) { @@ -132,15 +139,22 @@ namespace WebsitePanel.EnterpriseServer #region Users [WebMethod] - public int CreateUser(int itemId, string displayName, string name, string domain, string password, bool sendNotification, string to) + public int CreateUser(int itemId, string displayName, string name, string domain, string password, string subscriberNumber, bool sendNotification, string to) { string accountName; - return OrganizationController.CreateUser(itemId, displayName, name, domain, password, true, sendNotification, to, out accountName); + return OrganizationController.CreateUser(itemId, displayName, name, domain, password, subscriberNumber, true, sendNotification, to, out accountName); } + [WebMethod] + public int ImportUser(int itemId, string accountName, string displayName, string name, string domain, string password, string subscriberNumber) + { + return OrganizationController.ImportUser(itemId, accountName, displayName, name, domain, password, subscriberNumber); + } + + [WebMethod] public OrganizationUsersPaged GetOrganizationUsersPaged(int itemId, string filterColumn, string filterValue, string sortColumn, - int startRow, int maximumRows) + int startRow, int maximumRows) { return OrganizationController.GetOrganizationUsersPaged(itemId, filterColumn, filterValue, sortColumn, startRow, maximumRows); } @@ -157,30 +171,30 @@ namespace WebsitePanel.EnterpriseServer string lastName, string address, string city, string state, string zip, string country, string jobTitle, string company, string department, string office, string managerAccountName, string businessPhone, string fax, string homePhone, string mobilePhone, string pager, - string webPage, string notes, string externalEmail) + string webPage, string notes, string externalEmail, string subscriberNumber) { return OrganizationController.SetUserGeneralSettings(itemId, accountId, displayName, password, hideAddressBook, disabled, locked, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, - webPage, notes, externalEmail); + webPage, notes, externalEmail, subscriberNumber); } [WebMethod] - public List SearchAccounts(int itemId, + public List SearchAccounts(int itemId, string filterColumn, string filterValue, string sortColumn, bool includeMailboxes) { return OrganizationController.SearchAccounts(itemId, filterColumn, filterValue, sortColumn, includeMailboxes); } - + [WebMethod] public int DeleteUser(int itemId, int accountId) { - return OrganizationController.DeleteUser(itemId, accountId); + return OrganizationController.DeleteUser(itemId, accountId); } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ActiveDirectoryUtils.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ActiveDirectoryUtils.cs index fb1092c6..cb38f66d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ActiveDirectoryUtils.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ActiveDirectoryUtils.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -39,7 +39,7 @@ namespace WebsitePanel.Providers.HostedSolution { public static DirectoryEntry GetADObject(string path) { - DirectoryEntry de = new DirectoryEntry(path); + DirectoryEntry de = new DirectoryEntry(path); de.RefreshCache(); return de; } @@ -48,16 +48,16 @@ namespace WebsitePanel.Providers.HostedSolution { bool res = false; DirectorySearcher deSearch = new DirectorySearcher - { - Filter = - ("(&(objectClass=user)(samaccountname=" + samAccountName + "))") - }; + { + Filter = + ("(&(objectClass=user)(samaccountname=" + samAccountName + "))") + }; //get the group result SearchResult results = deSearch.FindOne(); DirectoryEntry de = results.GetDirectoryEntry(); PropertyValueCollection props = de.Properties["memberOf"]; - + foreach (string str in props) { if (str.IndexOf(group) != -1) @@ -81,8 +81,8 @@ namespace WebsitePanel.Providers.HostedSolution ou = parent.Children.Add( string.Format("OU={0}", name), - parent.SchemaClassName); - + parent.SchemaClassName); + ret = ou.Path; ou.CommitChanges(); } @@ -100,13 +100,13 @@ namespace WebsitePanel.Providers.HostedSolution public static void DeleteADObject(string path, bool removeChild) { DirectoryEntry entry = GetADObject(path); - + if (removeChild && entry.Children != null) foreach (DirectoryEntry child in entry.Children) { entry.Children.Remove(child); } - + DirectoryEntry parent = entry.Parent; if (parent != null) { @@ -115,7 +115,7 @@ namespace WebsitePanel.Providers.HostedSolution } } - + public static void DeleteADObject(string path) { DirectoryEntry entry = GetADObject(path); @@ -141,21 +141,34 @@ namespace WebsitePanel.Providers.HostedSolution } } else - { + { if (oDE.Properties.Contains(name)) { oDE.Properties[name].Remove(oDE.Properties[name][0]); } - + } } - public static void SetADObjectPropertyValue(DirectoryEntry oDE, string name, object value) + public static void SetADObjectPropertyValue(DirectoryEntry oDE, string name, string value) { PropertyValueCollection collection = oDE.Properties[name]; collection.Value = value; } - + + public static void SetADObjectPropertyValue(DirectoryEntry oDE, string name, Guid value) + { + PropertyValueCollection collection = oDE.Properties[name]; + collection.Value = value.ToByteArray(); + } + + public static void ClearADObjectPropertyValue(DirectoryEntry oDE, string name) + { + PropertyValueCollection collection = oDE.Properties[name]; + collection.Clear(); + } + + public static object GetADObjectProperty(DirectoryEntry entry, string name) { return entry.Properties.Contains(name) ? entry.Properties[name][0] : null; @@ -164,7 +177,7 @@ namespace WebsitePanel.Providers.HostedSolution public static string GetADObjectStringProperty(DirectoryEntry entry, string name) { object ret = GetADObjectProperty(entry, name); - return ret != null ? ret.ToString() : string.Empty; + return ret != null ? ret.ToString() : string.Empty; } public static string ConvertADPathToCanonicalName(string name) @@ -254,29 +267,38 @@ namespace WebsitePanel.Providers.HostedSolution return ret; } + public static string CreateUser(string path, string user, string displayName, string password, bool enabled) { - DirectoryEntry currentADObject = new DirectoryEntry(path); + return CreateUser(path, "", user, displayName, password, enabled); + } - DirectoryEntry newUserObject = currentADObject.Children.Add("CN=" + user, "User"); - - newUserObject.Properties[ADAttributes.SAMAccountName].Add(user); + public static string CreateUser(string path, string upn, string user, string displayName, string password, bool enabled) + { + DirectoryEntry currentADObject = new DirectoryEntry(path); + + string cn = string.Empty; + if (string.IsNullOrEmpty(upn)) cn = user; else cn = upn; + + DirectoryEntry newUserObject = currentADObject.Children.Add("CN=" + cn, "User"); + + newUserObject.Properties[ADAttributes.SAMAccountName].Add(user); SetADObjectProperty(newUserObject, ADAttributes.DisplayName, displayName); newUserObject.CommitChanges(); newUserObject.Invoke(ADAttributes.SetPassword, password); newUserObject.InvokeSet(ADAttributes.AccountDisabled, !enabled); newUserObject.CommitChanges(); - + return newUserObject.Path; } public static void CreateGroup(string path, string group) { - DirectoryEntry currentADObject = new DirectoryEntry(path); + DirectoryEntry currentADObject = new DirectoryEntry(path); DirectoryEntry newGroupObject = currentADObject.Children.Add("CN=" + group, "Group"); - + newGroupObject.Properties[ADAttributes.SAMAccountName].Add(group); newGroupObject.Properties[ADAttributes.GroupType].Add(-2147483640); @@ -320,7 +342,7 @@ namespace WebsitePanel.Providers.HostedSolution if (string.IsNullOrEmpty(primaryDomainController)) { dn = string.Format("LDAP://{0}", dn); - + } else dn = string.Format("LDAP://{0}/{1}", primaryDomainController, dn); @@ -358,7 +380,7 @@ namespace WebsitePanel.Providers.HostedSolution DirectoryEntry ou = GetADObject(ouPath); PropertyValueCollection prop = null; - prop = ou.Properties["uPNSuffixes"]; + prop = ou.Properties["uPNSuffixes"]; if (prop != null) { diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccount.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccount.cs index 53110402..36fbfdde 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccount.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeAccount.cs @@ -32,32 +32,35 @@ using System.Text; namespace WebsitePanel.Providers.HostedSolution { - public class ExchangeAccount - { - int accountId; - int itemId; + public class ExchangeAccount + { + int accountId; + int itemId; int packageId; - ExchangeAccountType accountType; - string accountName; - string displayName; - string primaryEmailAddress; - bool mailEnabledPublicFolder; + string subscriberNumber; + ExchangeAccountType accountType; + string accountName; + string displayName; + string primaryEmailAddress; + bool mailEnabledPublicFolder; MailboxManagerActions mailboxManagerActions; string accountPassword; string samAccountName; + int mailboxPlanId; + string mailboxPlan; string publicFolderPermission; - public int AccountId - { - get { return this.accountId; } - set { this.accountId = value; } - } + public int AccountId + { + get { return this.accountId; } + set { this.accountId = value; } + } - public int ItemId - { + public int ItemId + { get { return this.itemId; } set { this.itemId = value; } - } + } public int PackageId { @@ -65,17 +68,17 @@ namespace WebsitePanel.Providers.HostedSolution set { this.packageId = value; } } - public ExchangeAccountType AccountType - { - get { return this.accountType; } - set { this.accountType = value; } - } + public ExchangeAccountType AccountType + { + get { return this.accountType; } + set { this.accountType = value; } + } - public string AccountName - { - get { return this.accountName; } - set { this.accountName = value; } - } + public string AccountName + { + get { return this.accountName; } + set { this.accountName = value; } + } public string SamAccountName { @@ -83,23 +86,23 @@ namespace WebsitePanel.Providers.HostedSolution set { this.samAccountName = value; } } - public string DisplayName - { - get { return this.displayName; } - set { this.displayName = value; } - } + public string DisplayName + { + get { return this.displayName; } + set { this.displayName = value; } + } - public string PrimaryEmailAddress - { - get { return this.primaryEmailAddress; } - set { this.primaryEmailAddress = value; } - } + public string PrimaryEmailAddress + { + get { return this.primaryEmailAddress; } + set { this.primaryEmailAddress = value; } + } - public bool MailEnabledPublicFolder - { - get { return this.mailEnabledPublicFolder; } - set { this.mailEnabledPublicFolder = value; } - } + public bool MailEnabledPublicFolder + { + get { return this.mailEnabledPublicFolder; } + set { this.mailEnabledPublicFolder = value; } + } public string AccountPassword { @@ -113,10 +116,31 @@ namespace WebsitePanel.Providers.HostedSolution set { this.mailboxManagerActions = value; } } + public int MailboxPlanId + { + get { return this.mailboxPlanId; } + set { this.mailboxPlanId = value; } + } + + public string MailboxPlan + { + get { return this.mailboxPlan; } + set { this.mailboxPlan = value; } + } + + + public string SubscriberNumber + { + get { return this.subscriberNumber; } + set { this.subscriberNumber = value; } + } + public string PublicFolderPermission { get { return this.publicFolderPermission; } set { this.publicFolderPermission = value; } } - } + + + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeContact.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeContact.cs index fe8984cc..689d1558 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeContact.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeContact.cs @@ -32,209 +32,219 @@ using System.Text; namespace WebsitePanel.Providers.HostedSolution { - public class ExchangeContact - { - string displayName; - string accountName; - string emailAddress; - bool hideFromAddressBook; + public class ExchangeContact + { + string displayName; + string accountName; + string emailAddress; + bool hideFromAddressBook; - string firstName; - string initials; - string lastName; + string firstName; + string initials; + string lastName; - string jobTitle; - string company; - string department; - string office; - ExchangeAccount managerAccount; + string jobTitle; + string company; + string department; + string office; + ExchangeAccount managerAccount; - string businessPhone; - string fax; - string homePhone; - string mobilePhone; - string pager; - string webPage; + string businessPhone; + string fax; + string homePhone; + string mobilePhone; + string pager; + string webPage; - string address; - string city; - string state; - string zip; - string country; + string address; + string city; + string state; + string zip; + string country; - string notes; - private int useMapiRichTextFormat; - - ExchangeAccount[] acceptAccounts; - ExchangeAccount[] rejectAccounts; - bool requireSenderAuthentication; + string notes; + string sAMAccountName; + private int useMapiRichTextFormat; - public string DisplayName - { - get { return this.displayName; } - set { this.displayName = value; } - } + ExchangeAccount[] acceptAccounts; + ExchangeAccount[] rejectAccounts; + bool requireSenderAuthentication; - public string AccountName - { - get { return this.accountName; } - set { this.accountName = value; } - } + public string DisplayName + { + get { return this.displayName; } + set { this.displayName = value; } + } - public string EmailAddress - { - get { return this.emailAddress; } - set { this.emailAddress = value; } - } + public string AccountName + { + get { return this.accountName; } + set { this.accountName = value; } + } - public bool HideFromAddressBook - { - get { return this.hideFromAddressBook; } - set { this.hideFromAddressBook = value; } - } + public string EmailAddress + { + get { return this.emailAddress; } + set { this.emailAddress = value; } + } - public string FirstName - { - get { return this.firstName; } - set { this.firstName = value; } - } + public bool HideFromAddressBook + { + get { return this.hideFromAddressBook; } + set { this.hideFromAddressBook = value; } + } - public string Initials - { - get { return this.initials; } - set { this.initials = value; } - } + public string FirstName + { + get { return this.firstName; } + set { this.firstName = value; } + } - public string LastName - { - get { return this.lastName; } - set { this.lastName = value; } - } + public string Initials + { + get { return this.initials; } + set { this.initials = value; } + } - public string JobTitle - { - get { return this.jobTitle; } - set { this.jobTitle = value; } - } + public string LastName + { + get { return this.lastName; } + set { this.lastName = value; } + } - public string Company - { - get { return this.company; } - set { this.company = value; } - } + public string JobTitle + { + get { return this.jobTitle; } + set { this.jobTitle = value; } + } - public string Department - { - get { return this.department; } - set { this.department = value; } - } + public string Company + { + get { return this.company; } + set { this.company = value; } + } - public string Office - { - get { return this.office; } - set { this.office = value; } - } + public string Department + { + get { return this.department; } + set { this.department = value; } + } - public ExchangeAccount ManagerAccount - { - get { return this.managerAccount; } - set { this.managerAccount = value; } - } + public string Office + { + get { return this.office; } + set { this.office = value; } + } - public string BusinessPhone - { - get { return this.businessPhone; } - set { this.businessPhone = value; } - } + public ExchangeAccount ManagerAccount + { + get { return this.managerAccount; } + set { this.managerAccount = value; } + } - public string Fax - { - get { return this.fax; } - set { this.fax = value; } - } + public string BusinessPhone + { + get { return this.businessPhone; } + set { this.businessPhone = value; } + } - public string HomePhone - { - get { return this.homePhone; } - set { this.homePhone = value; } - } + public string Fax + { + get { return this.fax; } + set { this.fax = value; } + } - public string MobilePhone - { - get { return this.mobilePhone; } - set { this.mobilePhone = value; } - } + public string HomePhone + { + get { return this.homePhone; } + set { this.homePhone = value; } + } - public string Pager - { - get { return this.pager; } - set { this.pager = value; } - } + public string MobilePhone + { + get { return this.mobilePhone; } + set { this.mobilePhone = value; } + } - public string WebPage - { - get { return this.webPage; } - set { this.webPage = value; } - } + public string Pager + { + get { return this.pager; } + set { this.pager = value; } + } - public string Address - { - get { return this.address; } - set { this.address = value; } - } + public string WebPage + { + get { return this.webPage; } + set { this.webPage = value; } + } - public string City - { - get { return this.city; } - set { this.city = value; } - } + public string Address + { + get { return this.address; } + set { this.address = value; } + } - public string State - { - get { return this.state; } - set { this.state = value; } - } + public string City + { + get { return this.city; } + set { this.city = value; } + } - public string Zip - { - get { return this.zip; } - set { this.zip = value; } - } + public string State + { + get { return this.state; } + set { this.state = value; } + } - public string Country - { - get { return this.country; } - set { this.country = value; } - } + public string Zip + { + get { return this.zip; } + set { this.zip = value; } + } - public string Notes - { - get { return this.notes; } - set { this.notes = value; } - } + public string Country + { + get { return this.country; } + set { this.country = value; } + } - public ExchangeAccount[] AcceptAccounts - { - get { return this.acceptAccounts; } - set { this.acceptAccounts = value; } - } + public string Notes + { + get { return this.notes; } + set { this.notes = value; } + } - public ExchangeAccount[] RejectAccounts - { - get { return this.rejectAccounts; } - set { this.rejectAccounts = value; } - } + public ExchangeAccount[] AcceptAccounts + { + get { return this.acceptAccounts; } + set { this.acceptAccounts = value; } + } - public bool RequireSenderAuthentication - { - get { return requireSenderAuthentication; } - set { requireSenderAuthentication = value; } - } + public ExchangeAccount[] RejectAccounts + { + get { return this.rejectAccounts; } + set { this.rejectAccounts = value; } + } - public int UseMapiRichTextFormat - { + public bool RequireSenderAuthentication + { + get { return requireSenderAuthentication; } + set { requireSenderAuthentication = value; } + } + + public int UseMapiRichTextFormat + { get { return useMapiRichTextFormat; } set { useMapiRichTextFormat = value; } - } - } + } + + public string SAMAccountName + { + get { return sAMAccountName; } + set { sAMAccountName = value; } + } + + + + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDistributionList.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDistributionList.cs index 17840d1f..6d3c5322 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDistributionList.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeDistributionList.cs @@ -32,72 +32,79 @@ using System.Text; namespace WebsitePanel.Providers.HostedSolution { - public class ExchangeDistributionList - { - public string DisplayName - { - get; - set; - } + public class ExchangeDistributionList + { + public string DisplayName + { + get; + set; + } - public string AccountName - { - get; - set; - } + public string AccountName + { + get; + set; + } - public bool HideFromAddressBook - { - get; - set; - } + public bool HideFromAddressBook + { + get; + set; + } - public ExchangeAccount[] MembersAccounts - { - get; - set; - } + public ExchangeAccount[] MembersAccounts + { + get; + set; + } - public ExchangeAccount ManagerAccount - { - get; - set; - } + public ExchangeAccount ManagerAccount + { + get; + set; + } - public string Notes - { - get; - set; - } + public string Notes + { + get; + set; + } - public ExchangeAccount[] AcceptAccounts - { - get; - set; - } + public ExchangeAccount[] AcceptAccounts + { + get; + set; + } - public ExchangeAccount[] RejectAccounts - { - get; - set; - } + public ExchangeAccount[] RejectAccounts + { + get; + set; + } - public bool RequireSenderAuthentication - { - get; - set; - } - - public ExchangeAccount[] SendAsAccounts - { - get; - set; - } + public bool RequireSenderAuthentication + { + get; + set; + } - public ExchangeAccount[] SendOnBehalfAccounts - { - get; - set; - } - } + public ExchangeAccount[] SendAsAccounts + { + get; + set; + } + + public ExchangeAccount[] SendOnBehalfAccounts + { + get; + set; + } + + public string SAMAccountName + { + get; + set; + } + + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMailboxPlan.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMailboxPlan.cs new file mode 100644 index 00000000..167c5f04 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ExchangeMailboxPlan.cs @@ -0,0 +1,160 @@ +// 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. + +using System; +using System.Collections.Generic; +using System.Text; + +namespace WebsitePanel.Providers.HostedSolution +{ + public class ExchangeMailboxPlan + { + int mailboxPlanId; + string mailboxPlan; + int mailboxSizeMB; + int maxRecipients; + int maxSendMessageSizeKB; + int maxReceiveMessageSizeKB; + + bool enablePOP; + bool enableIMAP; + bool enableOWA; + bool enableMAPI; + bool enableActiveSync; + + int issueWarningPct; + int prohibitSendPct; + int prohibitSendReceivePct; + int keepDeletedItemsDays; + bool isDefault; + bool hideFromAddressBook; + + public int MailboxPlanId + { + get { return this.mailboxPlanId; } + set { this.mailboxPlanId = value; } + } + + public string MailboxPlan + { + get { return this.mailboxPlan; } + set { this.mailboxPlan = value; } + } + + public int MailboxSizeMB + { + get { return this.mailboxSizeMB; } + set { this.mailboxSizeMB = value; } + } + + public bool IsDefault + { + get { return this.isDefault; } + set { this.isDefault = value; } + } + + public int MaxRecipients + { + get { return this.maxRecipients; } + set { this.maxRecipients = value; } + } + + public int MaxSendMessageSizeKB + { + get { return this.maxSendMessageSizeKB; } + set { this.maxSendMessageSizeKB = value; } + } + + public int MaxReceiveMessageSizeKB + { + get { return this.maxReceiveMessageSizeKB; } + set { this.maxReceiveMessageSizeKB = value; } + } + + public bool EnablePOP + { + get { return this.enablePOP; } + set { this.enablePOP = value; } + } + + public bool EnableIMAP + { + get { return this.enableIMAP; } + set { this.enableIMAP = value; } + } + + public bool EnableOWA + { + get { return this.enableOWA; } + set { this.enableOWA = value; } + } + + public bool EnableMAPI + { + get { return this.enableMAPI; } + set { this.enableMAPI = value; } + } + + public bool EnableActiveSync + { + get { return this.enableActiveSync; } + set { this.enableActiveSync = value; } + } + + public int IssueWarningPct + { + get { return this.issueWarningPct; } + set { this.issueWarningPct = value; } + } + + public int ProhibitSendPct + { + get { return this.prohibitSendPct; } + set { this.prohibitSendPct = value; } + } + + public int ProhibitSendReceivePct + { + get { return this.prohibitSendReceivePct; } + set { this.prohibitSendReceivePct = value; } + } + + public int KeepDeletedItemsDays + { + get { return this.keepDeletedItemsDays; } + set { this.keepDeletedItemsDays = value; } + } + + public bool HideFromAddressBook + { + get { return this.hideFromAddressBook; } + set { this.hideFromAddressBook = value; } + } + + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IExchangeServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IExchangeServer.cs index 34651e08..559b9385 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IExchangeServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IExchangeServer.cs @@ -30,70 +30,71 @@ namespace WebsitePanel.Providers.HostedSolution { public interface IExchangeServer { - + bool CheckAccountCredentials(string username, string password); - // Organizations + // Organizations - string CreateMailEnableUser(string upn, string organizationId, string organizationDistinguishedName, ExchangeAccountType accountType, - string mailboxDatabase, string offlineAddressBook, - string accountName, bool enablePOP, bool enableIMAP, - bool enableOWA, bool enableMAPI, bool enableActiveSync, - int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, - int keepDeletedItemsDays); - - Organization ExtendToExchangeOrganization(string organizationId, string securityGroup); - string GetOABVirtualDirectory(); - Organization CreateOrganizationOfflineAddressBook(string organizationId, string securityGroup, string oabVirtualDir); - void UpdateOrganizationOfflineAddressBook(string id); - bool DeleteOrganization(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomsAddressList, string offlineAddressBook, string securityGroup); - void SetOrganizationStorageLimits(string organizationDistinguishedName, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays); - ExchangeItemStatistics[] GetMailboxesStatistics(string organizationDistinguishedName); + string CreateMailEnableUser(string upn, string organizationId, string organizationDistinguishedName, ExchangeAccountType accountType, + string mailboxDatabase, string offlineAddressBook, string addressBookPolicy, + string accountName, bool enablePOP, bool enableIMAP, + bool enableOWA, bool enableMAPI, bool enableActiveSync, + int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, + int keepDeletedItemsDays, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool hideFromAddressBook, bool isConsumer); - // Domains + Organization ExtendToExchangeOrganization(string organizationId, string securityGroup, bool IsConsumer); + string GetOABVirtualDirectory(); + Organization CreateOrganizationOfflineAddressBook(string organizationId, string securityGroup, string oabVirtualDir); + Organization CreateOrganizationAddressBookPolicy(string organizationId, string gal, string addressBook, string roomList, string oab); + void UpdateOrganizationOfflineAddressBook(string id); + bool DeleteOrganization(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomList, string offlineAddressBook, string securityGroup, string addressBookPolicy); + void SetOrganizationStorageLimits(string organizationDistinguishedName, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays); + ExchangeItemStatistics[] GetMailboxesStatistics(string organizationDistinguishedName); + + // Domains void AddAuthoritativeDomain(string domain); void DeleteAuthoritativeDomain(string domain); - string[] GetAuthoritativeDomains(); + string[] GetAuthoritativeDomains(); - // Mailboxes - string CreateMailbox(string organizationId, string organizationDistinguishedName, string mailboxDatabase, string securityGroup, string offlineAddressBook, ExchangeAccountType accountType, string displayName, string accountName, string name, string domain, string password, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, - int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays); - void DeleteMailbox(string accountName); + // Mailboxes + //string CreateMailbox(string organizationId, string organizationDistinguishedName, string mailboxDatabase, string securityGroup, string offlineAddressBook, string addressBookPolicy, ExchangeAccountType accountType, string displayName, string accountName, string name, string domain, string password, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, + // int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB,bool hideFromAddressBook); + void DeleteMailbox(string accountName); void DisableMailbox(string id); - ExchangeMailbox GetMailboxGeneralSettings(string accountName); - void SetMailboxGeneralSettings(string accountName, string displayName, string password, bool hideFromAddressBook, bool disabled, string firstName, string initials, string lastName, string address, string city, string state, string zip, string country, string jobTitle, string company, string department, string office, string managerAccountName, string businessPhone, string fax, string homePhone, string mobilePhone, string pager, string webPage, string notes); - ExchangeMailbox GetMailboxMailFlowSettings(string accountName); - void SetMailboxMailFlowSettings(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication); - ExchangeMailbox GetMailboxAdvancedSettings(string accountName); - void SetMailboxAdvancedSettings(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays); - ExchangeEmailAddress[] GetMailboxEmailAddresses(string accountName); - void SetMailboxEmailAddresses(string accountName, string[] emailAddresses); - void SetMailboxPrimaryEmailAddress(string accountName, string emailAddress); - void SetMailboxPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] fullAccessAccounts); - ExchangeMailbox GetMailboxPermissions(string organizationId, string accountName); - ExchangeMailboxStatistics GetMailboxStatistics(string accountName); + ExchangeMailbox GetMailboxGeneralSettings(string accountName); + void SetMailboxGeneralSettings(string accountName, bool hideFromAddressBook, bool disabled); + ExchangeMailbox GetMailboxMailFlowSettings(string accountName); + void SetMailboxMailFlowSettings(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication); + ExchangeMailbox GetMailboxAdvancedSettings(string accountName); + void SetMailboxAdvancedSettings(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB); + ExchangeEmailAddress[] GetMailboxEmailAddresses(string accountName); + void SetMailboxEmailAddresses(string accountName, string[] emailAddresses); + void SetMailboxPrimaryEmailAddress(string accountName, string emailAddress); + void SetMailboxPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] fullAccessAccounts); + ExchangeMailbox GetMailboxPermissions(string organizationId, string accountName); + ExchangeMailboxStatistics GetMailboxStatistics(string accountName); - // Contacts - void CreateContact(string organizationId, string organizationDistinguishedName, string contactDisplayName, string contactAccountName, string contactEmail, string defaultOrganizationDomain); - void DeleteContact(string accountName); - ExchangeContact GetContactGeneralSettings(string accountName); + // Contacts + void CreateContact(string organizationId, string organizationDistinguishedName, string contactDisplayName, string contactAccountName, string contactEmail, string defaultOrganizationDomain); + void DeleteContact(string accountName); + ExchangeContact GetContactGeneralSettings(string accountName); void SetContactGeneralSettings(string accountName, string displayName, string email, bool hideFromAddressBook, string firstName, string initials, string lastName, string address, string city, string state, string zip, string country, string jobTitle, string company, string department, string office, string managerAccountName, string businessPhone, string fax, string homePhone, string mobilePhone, string pager, string webPage, string notes, int useMapiRichTextFormat, string defaultDomain); - ExchangeContact GetContactMailFlowSettings(string accountName); - void SetContactMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication); + ExchangeContact GetContactMailFlowSettings(string accountName); + void SetContactMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication); - // Distribution Lists - void CreateDistributionList(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy); - void DeleteDistributionList(string accountName); - ExchangeDistributionList GetDistributionListGeneralSettings(string accountName); - void SetDistributionListGeneralSettings(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] memebers, string notes); - void AddDistributionListMembers(string accountName, string[] memberAccounts); - void RemoveDistributionListMembers(string accountName, string[] memberAccounts); - ExchangeDistributionList GetDistributionListMailFlowSettings(string accountName); - void SetDistributionListMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication); - ExchangeEmailAddress[] GetDistributionListEmailAddresses(string accountName); - void SetDistributionListEmailAddresses(string accountName, string[] emailAddresses); - void SetDistributionListPrimaryEmailAddress(string accountName, string emailAddress); - ExchangeDistributionList GetDistributionListPermissions(string organizationId, string accountName); - void SetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts); + // Distribution Lists + void CreateDistributionList(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy, string[] addressLists); + void DeleteDistributionList(string accountName); + ExchangeDistributionList GetDistributionListGeneralSettings(string accountName); + void SetDistributionListGeneralSettings(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] memebers, string notes, string[] addressLists); + void AddDistributionListMembers(string accountName, string[] memberAccounts, string[] addressLists); + void RemoveDistributionListMembers(string accountName, string[] memberAccounts, string[] addressLists); + ExchangeDistributionList GetDistributionListMailFlowSettings(string accountName); + void SetDistributionListMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, string[] addressLists); + ExchangeEmailAddress[] GetDistributionListEmailAddresses(string accountName); + void SetDistributionListEmailAddresses(string accountName, string[] emailAddresses, string[] addressLists); + void SetDistributionListPrimaryEmailAddress(string accountName, string emailAddress, string[] addressLists); + ExchangeDistributionList GetDistributionListPermissions(string organizationId, string accountName); + void SetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, string[] addressLists); // Public Folders void CreatePublicFolder(string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain); @@ -111,20 +112,20 @@ namespace WebsitePanel.Providers.HostedSolution string[] GetPublicFoldersRecursive(string parent); long GetPublicFolderSize(string folder); - //ActiveSync - void CreateOrganizationActiveSyncPolicy(string organizationId); - ExchangeActiveSyncPolicy GetActiveSyncPolicy(string organizationId); - void SetActiveSyncPolicy(string organizationId, bool allowNonProvisionableDevices, bool attachmentsEnabled, - int maxAttachmentSizeKB, bool uncAccessEnabled, bool wssAccessEnabled, bool devicePasswordEnabled, - bool alphanumericPasswordRequired, bool passwordRecoveryEnabled, bool deviceEncryptionEnabled, - bool allowSimplePassword, int maxPasswordFailedAttempts, int minPasswordLength, int inactivityLockMin, - int passwordExpirationDays, int passwordHistory, int refreshInterval); + //ActiveSync + void CreateOrganizationActiveSyncPolicy(string organizationId); + ExchangeActiveSyncPolicy GetActiveSyncPolicy(string organizationId); + void SetActiveSyncPolicy(string organizationId, bool allowNonProvisionableDevices, bool attachmentsEnabled, + int maxAttachmentSizeKB, bool uncAccessEnabled, bool wssAccessEnabled, bool devicePasswordEnabled, + bool alphanumericPasswordRequired, bool passwordRecoveryEnabled, bool deviceEncryptionEnabled, + bool allowSimplePassword, int maxPasswordFailedAttempts, int minPasswordLength, int inactivityLockMin, + int passwordExpirationDays, int passwordHistory, int refreshInterval); - //Mobile Devices - ExchangeMobileDevice[] GetMobileDevices(string accountName); - ExchangeMobileDevice GetMobileDevice(string id); - void WipeDataFromDevice(string id); - void CancelRemoteWipeRequest(string id); - void RemoveDevice(string id); - } + //Mobile Devices + ExchangeMobileDevice[] GetMobileDevices(string accountName); + ExchangeMobileDevice GetMobileDevice(string id); + void WipeDataFromDevice(string id); + void CancelRemoteWipeRequest(string id); + void RemoveDevice(string id); + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOrganization.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOrganization.cs index 11cef205..15846f9c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOrganization.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/IOrganization.cs @@ -33,10 +33,10 @@ namespace WebsitePanel.Providers.HostedSolution public interface IOrganization { Organization CreateOrganization(string organizationId); - + void DeleteOrganization(string organizationId); - void CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled); + int CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled); void DeleteUser(string loginName, string organizationId); @@ -49,7 +49,7 @@ namespace WebsitePanel.Providers.HostedSolution string jobTitle, string company, string department, string office, string managerAccountName, string businessPhone, string fax, string homePhone, string mobilePhone, string pager, - string webPage, string notes, string externalEmail); + string webPage, string notes, string externalEmail); bool OrganizationExists(string organizationId); @@ -58,5 +58,7 @@ namespace WebsitePanel.Providers.HostedSolution void CreateOrganizationDomain(string organizationDistinguishedName, string domain); PasswordPolicyResult GetPasswordPolicy(); + + string GetSamAccountNameByUserPrincipalName(string organizationId, string userPrincipalName); } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Organization.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Organization.cs index 677a52a7..3abfbd7f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Organization.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/Organization.cs @@ -41,12 +41,12 @@ namespace WebsitePanel.Providers.HostedSolution private string addressList; private string roomsAddressList; private string globalAddressList; + private string addressBookPolicy; + private string database; private string securityGroup; + private string lyncTenantId; private int diskSpace; - private int issueWarningKB; - private int prohibitSendKB; - private int prohibitSendReceiveKB; private int keepDeletedItemsDays; @@ -125,7 +125,7 @@ namespace WebsitePanel.Providers.HostedSolution get { return crmCurrency; } set { crmCurrency = value; } } - + [Persistent] public string DistinguishedName { @@ -151,7 +151,7 @@ namespace WebsitePanel.Providers.HostedSolution { return defaultDomain; } - } + } [Persistent] @@ -182,6 +182,13 @@ namespace WebsitePanel.Providers.HostedSolution set { globalAddressList = value; } } + [Persistent] + public string AddressBookPolicy + { + get { return addressBookPolicy; } + set { addressBookPolicy = value; } + } + [Persistent] public string Database { @@ -203,27 +210,6 @@ namespace WebsitePanel.Providers.HostedSolution set { diskSpace = value; } } - [Persistent] - public int IssueWarningKB - { - get { return issueWarningKB; } - set { issueWarningKB = value; } - } - - [Persistent] - public int ProhibitSendKB - { - get { return prohibitSendKB; } - set { prohibitSendKB = value; } - } - - [Persistent] - public int ProhibitSendReceiveKB - { - get { return prohibitSendReceiveKB; } - set { prohibitSendReceiveKB = value; } - } - [Persistent] public int KeepDeletedItemsDays { @@ -233,5 +219,15 @@ namespace WebsitePanel.Providers.HostedSolution [Persistent] public bool IsOCSOrganization { get; set; } + + + [Persistent] + public string LyncTenantId + { + get { return lyncTenantId; } + set { lyncTenantId = value; } + } + + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs index 53d73e5f..d3e2b62c 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationUser.cs @@ -37,6 +37,7 @@ namespace WebsitePanel.Providers.HostedSolution private int accountId; private int itemId; private int packageId; + private string subscriberNumber; private string primaryEmailAddress; private string accountPassword; @@ -298,5 +299,13 @@ namespace WebsitePanel.Providers.HostedSolution set { isBlackBerryUser = value; } } + public string SubscriberNumber + { + get { return subscriberNumber; } + set { subscriberNumber = value; } + } + + + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/TransactionAction.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/TransactionAction.cs new file mode 100644 index 00000000..9b16e530 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/TransactionAction.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace WebsitePanel.Providers.HostedSolution +{ + public class TransactionAction + { + private TransactionActionTypes actionType; + + public TransactionActionTypes ActionType + { + get { return actionType; } + set { actionType = value; } + } + + private string id; + + public string Id + { + get { return id; } + set { id = value; } + } + + private string suffix; + + public string Suffix + { + get { return suffix; } + set { suffix = value; } + } + + private string account; + + public string Account + { + get { return account; } + set { account = value; } + + } + + public enum TransactionActionTypes + { + CreateOrganizationUnit, + CreateGlobalAddressList, + CreateAddressList, + CreateAddressBookPolicy, + CreateOfflineAddressBook, + CreateDistributionGroup, + EnableDistributionGroup, + CreateAcceptedDomain, + AddUPNSuffix, + CreateMailbox, + CreateContact, + CreatePublicFolder, + CreateActiveSyncPolicy, + AddMailboxFullAccessPermission, + AddSendAsPermission, + RemoveMailboxFullAccessPermission, + RemoveSendAsPermission, + EnableMailbox, + LyncNewSipDomain, + LyncNewSimpleUrl, + LyncNewUser, + LyncNewConferencingPolicy, + LyncNewExternalAccessPolicy, + LyncNewMobilityPolicy + }; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj index 1d281456..a74bff15 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj @@ -79,6 +79,8 @@ + + diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs index 793ee9d6..d8f22589 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs @@ -28,6 +28,7 @@ using System; using System.IO; +using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Text; @@ -67,7 +68,6 @@ namespace WebsitePanel.Providers.HostedSolution #region Constants private const string CONFIG_CLEAR_QUERYBASEDN = "WebsitePanel.Exchange.ClearQueryBaseDN"; - private const string CONFIG_ENABLESP2ABP = "WebsitePanel.Exchange.enableSP2abp"; #endregion #region Properties @@ -87,7 +87,12 @@ namespace WebsitePanel.Providers.HostedSolution get { return ProviderSettings["MailboxDatabase"]; } } - internal int KeepDeletedItemsDays + internal bool PublicFolderDistributionEnabled + { + get { return ProviderSettings.GetBool("PublicFolderDistributionEnabled"); } + } + + internal int KeepDeletedItemsDays { get { return Int32.Parse(ProviderSettings["KeepDeletedItemsDays"]); } } @@ -152,10 +157,10 @@ namespace WebsitePanel.Providers.HostedSolution /// /// /// - public Organization ExtendToExchangeOrganization(string organizationId, string securityGroup) - { - return ExtendToExchangeOrganizationInternal(organizationId, securityGroup); - } + public Organization ExtendToExchangeOrganization(string organizationId, string securityGroup, bool IsConsumer) + { + return ExtendToExchangeOrganizationInternal(organizationId, securityGroup, IsConsumer); + } /// /// Creates organization OAB on the Client Access Server @@ -183,13 +188,18 @@ namespace WebsitePanel.Providers.HostedSolution return GetOABVirtualDirectoryInternal(); } - public bool DeleteOrganization(string organizationId, string distinguishedName, - string globalAddressList, string addressList, string roomsAddressList, string offlineAddressBook, - string securityGroup) - { - return DeleteOrganizationInternal(organizationId, distinguishedName, globalAddressList, - addressList, roomsAddressList, offlineAddressBook, securityGroup); - } + public Organization CreateOrganizationAddressBookPolicy(string organizationId, string gal, string addressBook, string roomList, string oab) + { + return CreateOrganizationAddressBookPolicyInternal(organizationId, gal, addressBook, roomList, oab); + } + + public bool DeleteOrganization(string organizationId, string distinguishedName, + string globalAddressList, string addressList, string roomList, string offlineAddressBook, + string securityGroup, string addressBookPolicy) + { + return DeleteOrganizationInternal(organizationId, distinguishedName, globalAddressList, + addressList, roomList, offlineAddressBook, securityGroup, addressBookPolicy); + } public void SetOrganizationStorageLimits(string organizationDistinguishedName, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) @@ -234,7 +244,7 @@ namespace WebsitePanel.Providers.HostedSolution SetMailboxPermissionsInternal(organizationId, accountName, sendAsAccounts, fullAccessAccounts); } - +/* public string CreateMailbox(string organizationId, string organizationDistinguishedName, string mailboxDatabase, string securityGroup, string offlineAddressBook, ExchangeAccountType accountType, string displayName, @@ -247,7 +257,7 @@ namespace WebsitePanel.Providers.HostedSolution enableOWA, enableMAPI, enableActiveSync, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays); } - +*/ public void DeleteMailbox(string accountName) { DeleteMailboxInternal(accountName); @@ -258,17 +268,9 @@ namespace WebsitePanel.Providers.HostedSolution return GetMailboxGeneralSettingsInternal(accountName); } - public void SetMailboxGeneralSettings(string accountName, string displayName, string password, - bool hideFromAddressBook, bool disabled, string firstName, string initials, string lastName, - string address, string city, string state, string zip, string country, string jobTitle, - string company, string department, string office, string managerAccountName, - string businessPhone, string fax, string homePhone, string mobilePhone, string pager, - string webPage, string notes) + public void SetMailboxGeneralSettings(string accountName, bool hideFromAddressBook, bool disabled) { - SetMailboxGeneralSettingsInternal(accountName, displayName, password, hideFromAddressBook, - disabled, firstName, initials, lastName, address, city, state, zip, country, jobTitle, - company, department, office, managerAccountName, businessPhone, fax, homePhone, - mobilePhone, pager, webPage, notes); + SetMailboxGeneralSettingsInternal(accountName, hideFromAddressBook, disabled); } public ExchangeMailbox GetMailboxMailFlowSettings(string accountName) @@ -276,29 +278,28 @@ namespace WebsitePanel.Providers.HostedSolution return GetMailboxMailFlowSettingsInternal(accountName); } - public void SetMailboxMailFlowSettings(string accountName, bool enableForwarding, - string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, - string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, - int maxReceiveMessageSizeKB, bool requireSenderAuthentication) - { - SetMailboxMailFlowSettingsInternal(accountName, enableForwarding, forwardingAccountName, - forwardToBoth, sendOnBehalfAccounts, acceptAccounts, rejectAccounts, maxRecipients, - maxSendMessageSizeKB, maxReceiveMessageSizeKB, requireSenderAuthentication); - } + public void SetMailboxMailFlowSettings(string accountName, bool enableForwarding, + string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, + string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) + { + SetMailboxMailFlowSettingsInternal(accountName, enableForwarding, forwardingAccountName, + forwardToBoth, sendOnBehalfAccounts, acceptAccounts, rejectAccounts, requireSenderAuthentication); + } public ExchangeMailbox GetMailboxAdvancedSettings(string accountName) { return GetMailboxAdvancedSettingsInternal(accountName); } - public void SetMailboxAdvancedSettings(string organizationId, string accountName, bool enablePOP, - bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, - int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) - { - SetMailboxAdvancedSettingsInternal(organizationId, accountName, enablePOP, enableIMAP, enableOWA, - enableMAPI, enableActiveSync, issueWarningKB, - prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays); - } + public void SetMailboxAdvancedSettings(string organizationId, string accountName, bool enablePOP, + bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, + int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, int maxRecipients, int maxSendMessageSizeKB, + int maxReceiveMessageSizeKB) + { + SetMailboxAdvancedSettingsInternal(organizationId, accountName, enablePOP, enableIMAP, enableOWA, + enableMAPI, enableActiveSync, issueWarningKB, + prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, maxRecipients, maxSendMessageSizeKB, maxReceiveMessageSizeKB); + } public ExchangeEmailAddress[] GetMailboxEmailAddresses(string accountName) { @@ -363,12 +364,12 @@ namespace WebsitePanel.Providers.HostedSolution #endregion #region Distribution lists - public void CreateDistributionList(string organizationId, string organizationDistinguishedName, - string displayName, string accountName, string name, string domain, string managedBy) - { - CreateDistributionListInternal(organizationId, organizationDistinguishedName, displayName, - accountName, name, domain, managedBy); - } + public void CreateDistributionList(string organizationId, string organizationDistinguishedName, + string displayName, string accountName, string name, string domain, string managedBy, string[] addressLists) + { + CreateDistributionListInternal(organizationId, organizationDistinguishedName, displayName, + accountName, name, domain, managedBy, addressLists); + } public void DeleteDistributionList(string accountName) { @@ -380,58 +381,59 @@ namespace WebsitePanel.Providers.HostedSolution return GetDistributionListGeneralSettingsInternal(accountName); } - public void SetDistributionListGeneralSettings(string accountName, string displayName, - bool hideFromAddressBook, string managedBy, string[] members, string notes) - { - SetDistributionListGeneralSettingsInternal(accountName, displayName, hideFromAddressBook, - managedBy, members, notes); - } + public void SetDistributionListGeneralSettings(string accountName, string displayName, + bool hideFromAddressBook, string managedBy, string[] members, string notes, string[] addressLists) + { + SetDistributionListGeneralSettingsInternal(accountName, displayName, hideFromAddressBook, + managedBy, members, notes, addressLists); + } - public void AddDistributionListMembers(string accountName, string[] memberAccounts) - { - AddDistributionListMembersInternal(accountName, memberAccounts); - } + public void AddDistributionListMembers(string accountName, string[] memberAccounts, string[] addressLists) + { + AddDistributionListMembersInternal(accountName, memberAccounts, addressLists); + } - public void RemoveDistributionListMembers(string accountName, string[] memberAccounts) - { - RemoveDistributionListMembersInternal(accountName, memberAccounts); - } + + public void RemoveDistributionListMembers(string accountName, string[] memberAccounts, string[] addressLists) + { + RemoveDistributionListMembersInternal(accountName, memberAccounts, addressLists); + } public ExchangeDistributionList GetDistributionListMailFlowSettings(string accountName) { return GetDistributionListMailFlowSettingsInternal(accountName); } - public void SetDistributionListMailFlowSettings(string accountName, string[] acceptAccounts, - string[] rejectAccounts, bool requireSenderAuthentication) - { - SetDistributionListMailFlowSettingsInternal(accountName, acceptAccounts, rejectAccounts, requireSenderAuthentication); - } + public void SetDistributionListMailFlowSettings(string accountName, string[] acceptAccounts, + string[] rejectAccounts, bool requireSenderAuthentication, string[] addressLists) + { + SetDistributionListMailFlowSettingsInternal(accountName, acceptAccounts, rejectAccounts, requireSenderAuthentication, addressLists); + } public ExchangeEmailAddress[] GetDistributionListEmailAddresses(string accountName) { return GetDistributionListEmailAddressesInternal(accountName); } - public void SetDistributionListEmailAddresses(string accountName, string[] emailAddresses) - { - SetDistributionListEmailAddressesInternal(accountName, emailAddresses); - } + public void SetDistributionListEmailAddresses(string accountName, string[] emailAddresses, string[] addressLists) + { + SetDistributionListEmailAddressesInternal(accountName, emailAddresses, addressLists); + } - public void SetDistributionListPrimaryEmailAddress(string accountName, string emailAddress) - { - SetDistributionListPrimaryEmailAddressInternal(accountName, emailAddress); - } + public void SetDistributionListPrimaryEmailAddress(string accountName, string emailAddress, string[] addressLists) + { + SetDistributionListPrimaryEmailAddressInternal(accountName, emailAddress, addressLists); + } public ExchangeDistributionList GetDistributionListPermissions(string organizationId, string accountName) { return GetDistributionListPermissionsInternal(organizationId, accountName, null); } - public void SetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts) - { - SetDistributionListPermissionsInternal(organizationId, accountName, sendAsAccounts, sendOnBehalfAccounts); - } + public void SetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, string[] addressLists) + { + SetDistributionListPermissionsInternal(organizationId, accountName, sendAsAccounts, sendOnBehalfAccounts, addressLists); + } #endregion #region Public folders @@ -455,10 +457,10 @@ namespace WebsitePanel.Providers.HostedSolution public void DisableMailbox(string id) { - DisableMailboxIntenal(id); + DisableMailboxInternal(id); } - private void DisableMailboxIntenal(string id) + internal virtual void DisableMailboxInternal(string id) { ExchangeLog.LogStart("DisableMailboxIntenal"); Runspace runSpace = null; @@ -617,9 +619,9 @@ namespace WebsitePanel.Providers.HostedSolution if (item is Organization) { Organization org = item as Organization; - DeleteOrganization(org.OrganizationId, org.DistinguishedName, org.GlobalAddressList, - org.AddressList, org.RoomsAddressList, org.OfflineAddressBook, org.SecurityGroup); - } + DeleteOrganization(org.OrganizationId, org.DistinguishedName, org.GlobalAddressList, + org.AddressList, org.RoomsAddressList, org.OfflineAddressBook, org.SecurityGroup, org.AddressBookPolicy); + } else if (item is ExchangeDomain) { DeleteAcceptedDomain(item.Name); @@ -706,9 +708,9 @@ namespace WebsitePanel.Providers.HostedSolution /// /// /// - private Organization ExtendToExchangeOrganizationInternal(string organizationId, string securityGroup) - { - ExchangeLog.LogStart("CreateOrganizationInternal"); + internal virtual Organization ExtendToExchangeOrganizationInternal(string organizationId, string securityGroup, bool IsConsumer) + { + ExchangeLog.LogStart("CreateOrganizationInternal"); ExchangeLog.DebugInfo(" Organization Id: {0}", organizationId); ExchangeTransaction transaction = StartTransaction(); @@ -724,7 +726,7 @@ namespace WebsitePanel.Providers.HostedSolution //Create mail enabled organization security group EnableMailSecurityDistributionGroup(runSpace, securityGroup, organizationId); transaction.RegisterMailEnabledDistributionGroup(securityGroup); - UpdateSecurityDistributionGroup(runSpace, securityGroup, organizationId); + UpdateSecurityDistributionGroup(runSpace, securityGroup, organizationId, IsConsumer); //create GAL string galId = CreateGlobalAddressList(runSpace, organizationId); @@ -742,7 +744,7 @@ namespace WebsitePanel.Providers.HostedSolution string ralId = CreateRoomsAddressList(runSpace, organizationId); transaction.RegisterNewRoomsAddressList(ralId); ExchangeLog.LogInfo(" Rooms Address List: {0}", ralId); - UpdateRoomsAddressList(runSpace, ralId, securityGroupPath); + UpdateAddressList(runSpace, ralId, securityGroupPath); //create ActiveSync policy string asId = CreateActiveSyncPolicy(runSpace, organizationId); @@ -847,20 +849,6 @@ namespace WebsitePanel.Providers.HostedSolution transaction.RegisterNewOfflineAddressBook(oabId); UpdateOfflineAddressBook(runSpace, oabId, securityGroupId); info.OfflineAddressBook = oabId; - - //create ABP - - bool enableSP2abp = false; - if (ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP] != null) - enableSP2abp = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP]); - Version exchangeVersion = GetExchangeVersion(); - - if (enableSP2abp && (exchangeVersion >= new Version(14, 2))) - { - string abpId = CreateAddressPolicy(runSpace, organizationId); - transaction.RegisterNewAddressPolicy(abpId); - ExchangeLog.LogInfo(" Address Policy: {0}", abpId); - } } catch (Exception ex) { @@ -908,11 +896,17 @@ namespace WebsitePanel.Providers.HostedSolution } ExchangeLog.LogEnd("UpdateOrganizationOfflineAddressBookInternal"); } + + internal virtual Organization CreateOrganizationAddressBookPolicyInternal(string organizationId, string gal, string addressBook, string roomList, string oab) + { + Organization info = new Organization(); + return info; + } - private bool DeleteOrganizationInternal(string organizationId, string distinguishedName, - string globalAddressList, string addressList, string roomsAddressList, string offlineAddressBook, string securityGroup) - { + internal virtual bool DeleteOrganizationInternal(string organizationId, string distinguishedName, + string globalAddressList, string addressList, string roomsAddressList, string offlineAddressBook, string securityGroup, string addressBookPolicy) + { ExchangeLog.LogStart("DeleteOrganizationInternal"); bool ret = true; @@ -944,30 +938,6 @@ namespace WebsitePanel.Providers.HostedSolution if (!DeleteOrganizationPublicFolders(runSpace, organizationId)) ret = false; - //delete ABP - - bool enableSP2abp = false; - if (ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP] != null) - enableSP2abp = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP]); - Version exchangeVersion = GetExchangeVersion(); - - if (enableSP2abp && (exchangeVersion >= new Version(14, 2))) - { - - - string adpstring = GetAddressPolicyName(organizationId); - - try - { - if (!string.IsNullOrEmpty(adpstring)) - DeleteAddressPolicy(runSpace, adpstring); - } - catch (Exception ex) - { - ret = false; - ExchangeLog.LogError("Could not delete Address Policy " + globalAddressList, ex); - } - } //delete OAB try @@ -997,7 +967,7 @@ namespace WebsitePanel.Providers.HostedSolution try { if (!string.IsNullOrEmpty(roomsAddressList)) - DeleteRoomsAddressList(runSpace, roomsAddressList); + DeleteAddressList(runSpace, roomsAddressList); } catch (Exception ex) { @@ -1101,7 +1071,7 @@ namespace WebsitePanel.Providers.HostedSolution return ret; } - private bool DeleteOrganizationMailboxes(Runspace runSpace, string ou) + internal bool DeleteOrganizationMailboxes(Runspace runSpace, string ou) { ExchangeLog.LogStart("DeleteOrganizationMailboxes"); bool ret = true; @@ -1131,7 +1101,7 @@ namespace WebsitePanel.Providers.HostedSolution return ret; } - private bool DeleteOrganizationContacts(Runspace runSpace, string ou) + internal bool DeleteOrganizationContacts(Runspace runSpace, string ou) { ExchangeLog.LogStart("DeleteOrganizationContacts"); bool ret = true; @@ -1161,7 +1131,7 @@ namespace WebsitePanel.Providers.HostedSolution return ret; } - private bool DeleteOrganizationDistributionLists(Runspace runSpace, string ou) + internal bool DeleteOrganizationDistributionLists(Runspace runSpace, string ou) { ExchangeLog.LogStart("DeleteOrganizationDistributionLists"); bool ret = true; @@ -1392,7 +1362,7 @@ namespace WebsitePanel.Providers.HostedSolution return size; } - private long CalculatePublicFolderDiskSpace(Runspace runSpace, string folder) + internal virtual long CalculatePublicFolderDiskSpace(Runspace runSpace, string folder) { ExchangeLog.LogStart("CalculatePublicFolderDiskSpace"); ExchangeLog.DebugInfo("Folder: {0}", folder); @@ -1649,7 +1619,7 @@ namespace WebsitePanel.Providers.HostedSolution } - private void RemoveMailboxAccessPermission(Runspace runSpace, string accountName, string account, string accessRights) + internal void RemoveMailboxAccessPermission(Runspace runSpace, string accountName, string account, string accessRights) { ExchangeLog.LogStart("RemoveMailboxFullAccessPermission"); @@ -1779,167 +1749,165 @@ namespace WebsitePanel.Providers.HostedSolution public string CreateMailEnableUser(string upn, string organizationId, string organizationDistinguishedName, ExchangeAccountType accountType, - string mailboxDatabase, string offlineAddressBook, + string mailboxDatabase, string offlineAddressBook,string addressBookPolicy, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, - int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) + int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, + int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool hideFromAddressBook, bool IsConsumer) { return CreateMailEnableUserInternal(upn, organizationId, organizationDistinguishedName, accountType, - mailboxDatabase, offlineAddressBook, + mailboxDatabase, offlineAddressBook,addressBookPolicy, accountName, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, - keepDeletedItemsDays); + keepDeletedItemsDays, maxRecipients, maxSendMessageSizeKB, maxReceiveMessageSizeKB, hideFromAddressBook, IsConsumer); } - private string CreateMailEnableUserInternal(string upn, string organizationId, string organizationDistinguishedName, ExchangeAccountType accountType, - string mailboxDatabase, string offlineAddressBook, - string accountName, bool enablePOP, bool enableIMAP, - bool enableOWA, bool enableMAPI, bool enableActiveSync, - int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) - { + internal virtual string CreateMailEnableUserInternal(string upn, string organizationId, string organizationDistinguishedName, ExchangeAccountType accountType, + string mailboxDatabase, string offlineAddressBook, string addressBookPolicy, + string accountName, bool enablePOP, bool enableIMAP, + bool enableOWA, bool enableMAPI, bool enableActiveSync, + int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, + int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool hideFromAddressBook, bool IsConsumer) + { - ExchangeLog.LogStart("CreateMailEnableUserInternal"); - ExchangeLog.DebugInfo("Organization Id: {0}", organizationId); + ExchangeLog.LogStart("CreateMailEnableUserInternal"); + ExchangeLog.DebugInfo("Organization Id: {0}", organizationId); - string ret = null; - ExchangeTransaction transaction = StartTransaction(); - Runspace runSpace = null; + string ret = null; + ExchangeTransaction transaction = StartTransaction(); + Runspace runSpace = null; - int attempts = 0; - string id = null; + int attempts = 0; + string id = null; Version exchangeVersion = GetExchangeVersion(); + + try + { + runSpace = OpenRunspace(); + Command cmd = null; + Collection result = null; + //try to enable mail user for 10 times + while (true) + { + try + { - try - { - runSpace = OpenRunspace(); - Command cmd = null; - Collection result = null; - - //try to enable mail user for 10 times - while (true) - { - try - { - //create mailbox - cmd = new Command("Enable-Mailbox"); - cmd.Parameters.Add("Identity", upn); - cmd.Parameters.Add("Alias", accountName); + //create mailbox + cmd = new Command("Enable-Mailbox"); + cmd.Parameters.Add("Identity", upn); + cmd.Parameters.Add("Alias", accountName); if (!(mailboxDatabase == "*" && exchangeVersion >= new Version(14, 0))) cmd.Parameters.Add("Database", mailboxDatabase); - if (accountType == ExchangeAccountType.Equipment) - cmd.Parameters.Add("Equipment"); - else if (accountType == ExchangeAccountType.Room) - cmd.Parameters.Add("Room"); + if (accountType == ExchangeAccountType.Equipment) + cmd.Parameters.Add("Equipment"); + else if (accountType == ExchangeAccountType.Room) + cmd.Parameters.Add("Room"); - result = ExecuteShellCommand(runSpace, cmd); + result = ExecuteShellCommand(runSpace, cmd); - id = CheckResultObjectDN(result); - } - catch (Exception ex) - { - ExchangeLog.LogError(ex); - } - if (id != null) - break; + id = CheckResultObjectDN(result); + } + catch (Exception ex) + { + ExchangeLog.LogError(ex); + } + if (id != null) + break; - if (attempts > 9) - throw new Exception( - string.Format("Could not enable mail user '{0}' ", accountName)); + if (attempts > 9) + throw new Exception( + string.Format("Could not enable mail user '{0}' ", accountName)); - attempts++; - ExchangeLog.LogWarning("Attempt #{0} to enable mail user failed!", attempts); - // wait 5 sec - System.Threading.Thread.Sleep(5000); - } + attempts++; + ExchangeLog.LogWarning("Attempt #{0} to enable mail user failed!", attempts); + // wait 5 sec + System.Threading.Thread.Sleep(5000); + } - //transaction.RegisterNewMailbox(id); + //transaction.RegisterNewMailbox(id); - string windowsEmailAddress = ObjToString(GetPSObjectProperty(result[0], "WindowsEmailAddress")); - string adpstring = GetAddressPolicyName(organizationId); + string windowsEmailAddress = ObjToString(GetPSObjectProperty(result[0], "WindowsEmailAddress")); - //update mailbox - cmd = new Command("Set-Mailbox"); - cmd.Parameters.Add("Identity", id); - cmd.Parameters.Add("OfflineAddressBook", offlineAddressBook); - cmd.Parameters.Add("EmailAddressPolicyEnabled", false); - cmd.Parameters.Add("CustomAttribute1", organizationId); - cmd.Parameters.Add("CustomAttribute3", windowsEmailAddress); - cmd.Parameters.Add("PrimarySmtpAddress", upn); - cmd.Parameters.Add("WindowsEmailAddress", upn); - - bool enableSP2abp = false; - if (ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP] != null) - enableSP2abp = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP]); - if (enableSP2abp && (exchangeVersion >= new Version(14, 2))) - cmd.Parameters.Add("AddressBookPolicy", adpstring); + //update mailbox + cmd = new Command("Set-Mailbox"); + cmd.Parameters.Add("Identity", id); + cmd.Parameters.Add("OfflineAddressBook", offlineAddressBook); + cmd.Parameters.Add("EmailAddressPolicyEnabled", false); + cmd.Parameters.Add("CustomAttribute1", organizationId); + cmd.Parameters.Add("CustomAttribute3", windowsEmailAddress); + cmd.Parameters.Add("PrimarySmtpAddress", upn); + cmd.Parameters.Add("WindowsEmailAddress", upn); - cmd.Parameters.Add("UseDatabaseQuotaDefaults", new bool?(false)); - cmd.Parameters.Add("UseDatabaseRetentionDefaults", false); - cmd.Parameters.Add("IssueWarningQuota", ConvertKBToUnlimited(issueWarningKB)); - cmd.Parameters.Add("ProhibitSendQuota", ConvertKBToUnlimited(prohibitSendKB)); - cmd.Parameters.Add("ProhibitSendReceiveQuota", ConvertKBToUnlimited(prohibitSendReceiveKB)); - cmd.Parameters.Add("RetainDeletedItemsFor", ConvertDaysToEnhancedTimeSpan(keepDeletedItemsDays)); - ExecuteShellCommand(runSpace, cmd); + cmd.Parameters.Add("UseDatabaseQuotaDefaults", new bool?(false)); + cmd.Parameters.Add("UseDatabaseRetentionDefaults", false); + cmd.Parameters.Add("IssueWarningQuota", ConvertKBToUnlimited(issueWarningKB)); + cmd.Parameters.Add("ProhibitSendQuota", ConvertKBToUnlimited(prohibitSendKB)); + cmd.Parameters.Add("ProhibitSendReceiveQuota", ConvertKBToUnlimited(prohibitSendReceiveKB)); + cmd.Parameters.Add("RetainDeletedItemsFor", ConvertDaysToEnhancedTimeSpan(keepDeletedItemsDays)); + cmd.Parameters.Add("RecipientLimits", ConvertInt32ToUnlimited(maxRecipients)); + cmd.Parameters.Add("MaxSendSize", ConvertKBToUnlimited(maxSendMessageSizeKB)); + cmd.Parameters.Add("MaxReceiveSize", ConvertKBToUnlimited(maxReceiveMessageSizeKB)); + cmd.Parameters.Add("HiddenFromAddressListsEnabled", hideFromAddressBook); + ExecuteShellCommand(runSpace, cmd); + //update AD object + string globalAddressListName = this.GetGlobalAddressListName(organizationId); + string globalAddressListDN = this.GetGlobalAddressListDN(runSpace, globalAddressListName); + string path = AddADPrefix(id); + DirectoryEntry mailbox = GetADObject(path); + // check if msExchQueryBaseDN must be cleared for Exchange 2010 SP1 + bool clearQueryBaseDN = false; + if (ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN] != null) + clearQueryBaseDN = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN]); - //update AD object - string globalAddressListName = this.GetGlobalAddressListName(organizationId); - string globalAddressListDN = this.GetGlobalAddressListDN(runSpace, globalAddressListName); - string path = AddADPrefix(id); - DirectoryEntry mailbox = GetADObject(path); + if (!(clearQueryBaseDN && (exchangeVersion >= new Version(14, 1)))) + SetADObjectPropertyValue(mailbox, "msExchQueryBaseDN", globalAddressListDN); - // check if msExchQueryBaseDN must be cleared for Exchange 2010 SP1 - bool clearQueryBaseDN = false; - if (ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN] != null) - clearQueryBaseDN = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN]); + //SetADObjectPropertyValue(mailbox, "msExchUseOAB", offlineAddressBook); + mailbox.CommitChanges(); + mailbox.Close(); - if (!(clearQueryBaseDN && (exchangeVersion >= new Version(14, 1)))) - SetADObjectPropertyValue(mailbox, "msExchQueryBaseDN", globalAddressListDN); + //Client Access + cmd = new Command("Set-CASMailbox"); + cmd.Parameters.Add("Identity", id); + cmd.Parameters.Add("ActiveSyncEnabled", enableActiveSync); + if (enableActiveSync) + { + cmd.Parameters.Add("ActiveSyncMailboxPolicy", organizationId); + } + cmd.Parameters.Add("OWAEnabled", enableOWA); + cmd.Parameters.Add("MAPIEnabled", enableMAPI); + cmd.Parameters.Add("PopEnabled", enablePOP); + cmd.Parameters.Add("ImapEnabled", enableIMAP); + ExecuteShellCommand(runSpace, cmd); - //SetADObjectPropertyValue(mailbox, "msExchUseOAB", offlineAddressBook); - mailbox.CommitChanges(); - mailbox.Close(); + //calendar settings + if (accountType == ExchangeAccountType.Equipment || accountType == ExchangeAccountType.Room) + { + //SetCalendarSettings(runSpace, id); + } - //Client Access - cmd = new Command("Set-CASMailbox"); - cmd.Parameters.Add("Identity", id); - cmd.Parameters.Add("ActiveSyncEnabled", enableActiveSync); - if (enableActiveSync) - { - cmd.Parameters.Add("ActiveSyncMailboxPolicy", organizationId); - } - cmd.Parameters.Add("OWAEnabled", enableOWA); - cmd.Parameters.Add("MAPIEnabled", enableMAPI); - cmd.Parameters.Add("PopEnabled", enablePOP); - cmd.Parameters.Add("ImapEnabled", enableIMAP); - ExecuteShellCommand(runSpace, cmd); - - //calendar settings - if (accountType == ExchangeAccountType.Equipment || accountType == ExchangeAccountType.Room) - { - SetCalendarSettings(runSpace, id); - } - - ret = string.Format("{0}\\{1}", GetNETBIOSDomainName(), accountName); - ExchangeLog.LogEnd("CreateMailEnableUserInternal"); - return ret; - } - catch (Exception ex) - { - ExchangeLog.LogError("CreateMailEnableUserInternal", ex); - RollbackTransaction(transaction); - throw; - } - finally - { - CloseRunspace(runSpace); - } - } + ret = string.Format("{0}\\{1}", GetNETBIOSDomainName(), accountName); + ExchangeLog.LogEnd("CreateMailEnableUserInternal"); + return ret; + } + catch (Exception ex) + { + ExchangeLog.LogError("CreateMailEnableUserInternal", ex); + RollbackTransaction(transaction); + throw; + } + finally + { + CloseRunspace(runSpace); + } + } + /* private string CreateMailboxInternal(string organizationId, string organizationDistinguishedName, string mailboxDatabase, string securityGroup, string offlineAddressBook, ExchangeAccountType accountType, string displayName, @@ -2074,7 +2042,7 @@ namespace WebsitePanel.Providers.HostedSolution CloseRunspace(runSpace); } } - +*/ internal virtual void SetCalendarSettings(Runspace runspace, string id) { ExchangeLog.LogStart("SetCalendarSettings"); @@ -2085,7 +2053,7 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogEnd("SetCalendarSettings"); } - private void DeleteMailboxInternal(string accountName) + internal virtual void DeleteMailboxInternal(string accountName) { ExchangeLog.LogStart("DeleteMailboxInternal"); ExchangeLog.DebugInfo("Account Name: {0}", accountName); @@ -2105,7 +2073,7 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogEnd("DeleteMailboxInternal"); } - private void RemoveMailbox(Runspace runSpace, string id) + internal void RemoveMailbox(Runspace runSpace, string id) { ExchangeLog.LogStart("RemoveMailbox"); Command cmd = new Command("Remove-Mailbox"); @@ -2116,6 +2084,16 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogEnd("RemoveMailbox"); } + private void DisableMailbox(Runspace runSpace, string id) + { + ExchangeLog.LogStart("DisableMailbox"); + Command cmd = new Command("Disable-Mailbox"); + cmd.Parameters.Add("Identity", id); + cmd.Parameters.Add("Confirm", false); + ExecuteShellCommand(runSpace, cmd); + ExchangeLog.LogEnd("DisableMailbox"); + } + private string GetMailboxCommonName(Runspace runSpace, string accountName) { ExchangeLog.LogStart("GetMailboxCommonName"); @@ -2212,71 +2190,39 @@ namespace WebsitePanel.Providers.HostedSolution } - private void SetMailboxGeneralSettingsInternal(string accountName, string displayName, string password, - bool hideFromAddressBook, bool disabled, string firstName, string initials, string lastName, - string address, string city, string state, string zip, string country, string jobTitle, - string company, string department, string office, string managerAccountName, string businessPhone, - string fax, string homePhone, string mobilePhone, string pager, string webPage, string notes) - { - ExchangeLog.LogStart("SetMailboxGeneralSettingsInternal"); - ExchangeLog.DebugInfo("Account: {0}", accountName); + private void SetMailboxGeneralSettingsInternal(string accountName, bool hideFromAddressBook, bool disabled) + { + ExchangeLog.LogStart("SetMailboxGeneralSettingsInternal"); + ExchangeLog.DebugInfo("Account: {0}", accountName); - Runspace runSpace = null; - try - { - runSpace = OpenRunspace(); + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); - Collection result = GetMailboxObject(runSpace, accountName); - PSObject mailbox = result[0]; + Collection result = GetMailboxObject(runSpace, accountName); + PSObject mailbox = result[0]; - string id = GetResultObjectDN(result); - string path = AddADPrefix(id); - DirectoryEntry entry = GetADObject(path); - entry.InvokeSet("AccountDisabled", disabled); - if (!string.IsNullOrEmpty(password)) - entry.Invoke("SetPassword", password); - entry.CommitChanges(); + string id = GetResultObjectDN(result); + string path = AddADPrefix(id); + DirectoryEntry entry = GetADObject(path); + entry.InvokeSet("AccountDisabled", disabled); + entry.CommitChanges(); - Command cmd = new Command("Set-Mailbox"); - cmd.Parameters.Add("Identity", accountName); - cmd.Parameters.Add("DisplayName", displayName); - cmd.Parameters.Add("HiddenFromAddressListsEnabled", hideFromAddressBook); - cmd.Parameters.Add("CustomAttribute2", (disabled ? "disabled" : null)); - ExecuteShellCommand(runSpace, cmd); + Command cmd = new Command("Set-Mailbox"); + cmd.Parameters.Add("Identity", accountName); + cmd.Parameters.Add("HiddenFromAddressListsEnabled", hideFromAddressBook); + cmd.Parameters.Add("CustomAttribute2", (disabled ? "disabled" : null)); + ExecuteShellCommand(runSpace, cmd); - cmd = new Command("Set-User"); - cmd.Parameters.Add("Identity", accountName); - cmd.Parameters.Add("FirstName", firstName); - cmd.Parameters.Add("Initials", initials); - cmd.Parameters.Add("LastName", lastName); - cmd.Parameters.Add("StreetAddress", address); - cmd.Parameters.Add("City", city); - cmd.Parameters.Add("StateOrProvince", state); - cmd.Parameters.Add("PostalCode", zip); - cmd.Parameters.Add("CountryOrRegion", ParseCountryInfo(country)); - cmd.Parameters.Add("Title", jobTitle); - cmd.Parameters.Add("Company", company); - cmd.Parameters.Add("Department", department); - cmd.Parameters.Add("Office", office); - cmd.Parameters.Add("Manager", managerAccountName); - cmd.Parameters.Add("Phone", businessPhone); - cmd.Parameters.Add("Fax", fax); - cmd.Parameters.Add("HomePhone", homePhone); - cmd.Parameters.Add("MobilePhone", mobilePhone); - cmd.Parameters.Add("Pager", pager); - cmd.Parameters.Add("WebPage", webPage); - cmd.Parameters.Add("Notes", notes); + } + finally + { - ExecuteShellCommand(runSpace, cmd); - - } - finally - { - - CloseRunspace(runSpace); - } - ExchangeLog.LogEnd("SetMailboxGeneralSettingsInternal"); - } + CloseRunspace(runSpace); + } + ExchangeLog.LogEnd("SetMailboxGeneralSettingsInternal"); + } private void ChangeMailboxState(string id, bool enabled) { @@ -2334,62 +2280,58 @@ namespace WebsitePanel.Providers.HostedSolution return info; } - private void SetMailboxMailFlowSettingsInternal(string accountName, bool enableForwarding, - string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, - string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, - int maxReceiveMessageSizeKB, bool requireSenderAuthentication) - { - ExchangeLog.LogStart("SetMailboxMailFlowSettingsInternal"); - ExchangeLog.DebugInfo("Account: {0}", accountName); + private void SetMailboxMailFlowSettingsInternal(string accountName, bool enableForwarding, + string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, + string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) + { + ExchangeLog.LogStart("SetMailboxMailFlowSettingsInternal"); + ExchangeLog.DebugInfo("Account: {0}", accountName); - Runspace runSpace = null; - try - { - runSpace = OpenRunspace(); + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); - Command cmd = new Command("Set-Mailbox"); - cmd.Parameters.Add("Identity", accountName); + Command cmd = new Command("Set-Mailbox"); + cmd.Parameters.Add("Identity", accountName); - if (enableForwarding) - { - cmd.Parameters.Add("ForwardingAddress", forwardingAccountName); - cmd.Parameters.Add("DeliverToMailboxAndForward", forwardToBoth); - } - else - { - cmd.Parameters.Add("ForwardingAddress", null); - cmd.Parameters.Add("DeliverToMailboxAndForward", false); - } + if (enableForwarding) + { + cmd.Parameters.Add("ForwardingAddress", forwardingAccountName); + cmd.Parameters.Add("DeliverToMailboxAndForward", forwardToBoth); + } + else + { + cmd.Parameters.Add("ForwardingAddress", null); + cmd.Parameters.Add("DeliverToMailboxAndForward", false); + } - cmd.Parameters.Add("GrantSendOnBehalfTo", SetSendOnBehalfAccounts(runSpace, sendOnBehalfAccounts)); + cmd.Parameters.Add("GrantSendOnBehalfTo", SetSendOnBehalfAccounts(runSpace, sendOnBehalfAccounts)); - MultiValuedProperty ids = null; - MultiValuedProperty dlIds = null; + MultiValuedProperty ids = null; + MultiValuedProperty dlIds = null; - SetAccountIds(runSpace, acceptAccounts, out ids, out dlIds); - cmd.Parameters.Add("AcceptMessagesOnlyFrom", ids); - cmd.Parameters.Add("AcceptMessagesOnlyFromDLMembers", dlIds); + SetAccountIds(runSpace, acceptAccounts, out ids, out dlIds); + cmd.Parameters.Add("AcceptMessagesOnlyFrom", ids); + cmd.Parameters.Add("AcceptMessagesOnlyFromDLMembers", dlIds); - SetAccountIds(runSpace, rejectAccounts, out ids, out dlIds); - cmd.Parameters.Add("RejectMessagesFrom", ids); - cmd.Parameters.Add("RejectMessagesFromDLMembers", dlIds); + SetAccountIds(runSpace, rejectAccounts, out ids, out dlIds); + cmd.Parameters.Add("RejectMessagesFrom", ids); + cmd.Parameters.Add("RejectMessagesFromDLMembers", dlIds); - cmd.Parameters.Add("RecipientLimits", ConvertInt32ToUnlimited(maxRecipients)); - cmd.Parameters.Add("MaxSendSize", ConvertKBToUnlimited(maxSendMessageSizeKB)); - cmd.Parameters.Add("MaxReceiveSize", ConvertKBToUnlimited(maxReceiveMessageSizeKB)); - cmd.Parameters.Add("RequireSenderAuthenticationEnabled", requireSenderAuthentication); + cmd.Parameters.Add("RequireSenderAuthenticationEnabled", requireSenderAuthentication); - ExecuteShellCommand(runSpace, cmd); + ExecuteShellCommand(runSpace, cmd); - } - finally - { + } + finally + { - CloseRunspace(runSpace); - } - ExchangeLog.LogEnd("SetMailboxMailFlowSettingsInternal"); - } + CloseRunspace(runSpace); + } + ExchangeLog.LogEnd("SetMailboxMailFlowSettingsInternal"); + } private ExchangeMailbox GetMailboxAdvancedSettingsInternal(string accountName) { @@ -2464,48 +2406,52 @@ namespace WebsitePanel.Providers.HostedSolution return info; } - private void SetMailboxAdvancedSettingsInternal(string organizationId, string accountName, bool enablePOP, bool enableIMAP, - bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, - int prohibitSendReceiveKB, int keepDeletedItemsDays) - { - ExchangeLog.LogStart("SetMailboxAdvancedSettingsInternal"); - ExchangeLog.DebugInfo("Account: {0}", accountName); + private void SetMailboxAdvancedSettingsInternal(string organizationId, string accountName, bool enablePOP, bool enableIMAP, + bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, + int prohibitSendReceiveKB, int keepDeletedItemsDays, int maxRecipients, int maxSendMessageSizeKB, + int maxReceiveMessageSizeKB) + { + ExchangeLog.LogStart("SetMailboxAdvancedSettingsInternal"); + ExchangeLog.DebugInfo("Account: {0}", accountName); - Runspace runSpace = null; - try - { - runSpace = OpenRunspace(); + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); - Command cmd = new Command("Set-Mailbox"); - cmd.Parameters.Add("Identity", accountName); - cmd.Parameters.Add("IssueWarningQuota", ConvertKBToUnlimited(issueWarningKB)); - cmd.Parameters.Add("ProhibitSendQuota", ConvertKBToUnlimited(prohibitSendKB)); - cmd.Parameters.Add("ProhibitSendReceiveQuota", ConvertKBToUnlimited(prohibitSendReceiveKB)); - cmd.Parameters.Add("RetainDeletedItemsFor", ConvertDaysToEnhancedTimeSpan(keepDeletedItemsDays)); - ExecuteShellCommand(runSpace, cmd); + Command cmd = new Command("Set-Mailbox"); + cmd.Parameters.Add("Identity", accountName); + cmd.Parameters.Add("IssueWarningQuota", ConvertKBToUnlimited(issueWarningKB)); + cmd.Parameters.Add("ProhibitSendQuota", ConvertKBToUnlimited(prohibitSendKB)); + cmd.Parameters.Add("ProhibitSendReceiveQuota", ConvertKBToUnlimited(prohibitSendReceiveKB)); + cmd.Parameters.Add("RetainDeletedItemsFor", ConvertDaysToEnhancedTimeSpan(keepDeletedItemsDays)); + cmd.Parameters.Add("RecipientLimits", ConvertInt32ToUnlimited(maxRecipients)); + cmd.Parameters.Add("MaxSendSize", ConvertKBToUnlimited(maxSendMessageSizeKB)); + cmd.Parameters.Add("MaxReceiveSize", ConvertKBToUnlimited(maxReceiveMessageSizeKB)); + ExecuteShellCommand(runSpace, cmd); - //Client Access - cmd = new Command("Set-CASMailbox"); - cmd.Parameters.Add("Identity", accountName); - cmd.Parameters.Add("ActiveSyncEnabled", enableActiveSync); - if (enableActiveSync) - { - cmd.Parameters.Add("ActiveSyncMailboxPolicy", organizationId); - } - cmd.Parameters.Add("OWAEnabled", enableOWA); - cmd.Parameters.Add("MAPIEnabled", enableMAPI); - cmd.Parameters.Add("PopEnabled", enablePOP); - cmd.Parameters.Add("ImapEnabled", enableIMAP); - ExecuteShellCommand(runSpace, cmd); - } - finally - { + //Client Access + cmd = new Command("Set-CASMailbox"); + cmd.Parameters.Add("Identity", accountName); + cmd.Parameters.Add("ActiveSyncEnabled", enableActiveSync); + if (enableActiveSync) + { + cmd.Parameters.Add("ActiveSyncMailboxPolicy", organizationId); + } + cmd.Parameters.Add("OWAEnabled", enableOWA); + cmd.Parameters.Add("MAPIEnabled", enableMAPI); + cmd.Parameters.Add("PopEnabled", enablePOP); + cmd.Parameters.Add("ImapEnabled", enableIMAP); + ExecuteShellCommand(runSpace, cmd); + } + finally + { - CloseRunspace(runSpace); - } - ExchangeLog.LogEnd("SetMailboxAdvancedSettingsInternal"); - } + CloseRunspace(runSpace); + } + ExchangeLog.LogEnd("SetMailboxAdvancedSettingsInternal"); + } private ExchangeEmailAddress[] GetMailboxEmailAddressesInternal(string accountName) { @@ -3267,7 +3213,7 @@ namespace WebsitePanel.Providers.HostedSolution return id; } - private string EnableMailSecurityDistributionGroup(Runspace runSpace, string distName, string groupName) + internal string EnableMailSecurityDistributionGroup(Runspace runSpace, string distName, string groupName) { ExchangeLog.LogStart("EnableMailSecurityDistributionGroup"); ExchangeLog.DebugInfo("Group Distinguished Name: {0}", distName); @@ -3312,7 +3258,7 @@ namespace WebsitePanel.Providers.HostedSolution return securityGroupId; } - private void DisableMailSecurityDistributionGroup(Runspace runSpace, string id) + internal void DisableMailSecurityDistributionGroup(Runspace runSpace, string id) { ExchangeLog.LogStart("DisableMailSecurityDistributionGroup"); ExchangeLog.DebugInfo("Group Id: {0}", id); @@ -3324,7 +3270,7 @@ namespace WebsitePanel.Providers.HostedSolution } - private void UpdateSecurityDistributionGroup(Runspace runSpace, string id, string groupName) + internal void UpdateSecurityDistributionGroup(Runspace runSpace, string id, string groupName, bool isConsumer) { ExchangeLog.LogStart("UpdateSecurityDistributionGroup"); @@ -3332,21 +3278,22 @@ namespace WebsitePanel.Providers.HostedSolution cmd.Parameters.Add("Identity", id); cmd.Parameters.Add("EmailAddressPolicyEnabled", false); cmd.Parameters.Add("CustomAttribute1", groupName); - cmd.Parameters.Add("HiddenFromAddressListsEnabled", true); + cmd.Parameters.Add("HiddenFromAddressListsEnabled", !isConsumer); ExecuteShellCommand(runSpace, cmd); ExchangeLog.LogEnd("UpdateSecurityDistributionGroup"); } - private void CreateDistributionListInternal( - string organizationId, - string organizationDistinguishedName, - string displayName, - string accountName, - string name, - string domain, - string managedBy) - { + private void CreateDistributionListInternal( + string organizationId, + string organizationDistinguishedName, + string displayName, + string accountName, + string name, + string domain, + string managedBy, + string[] addressLists) + { ExchangeLog.LogStart("CreateDistributionListInternal"); ExchangeLog.DebugInfo("Organization Id: {0}", organizationId); ExchangeLog.DebugInfo("Name: {0}", name); @@ -3395,6 +3342,11 @@ namespace WebsitePanel.Providers.HostedSolution cmd.Parameters.Add("WindowsEmailAddress", email); cmd.Parameters.Add("RequireSenderAuthenticationEnabled", false); ExecuteShellCommand(runSpace, cmd); + + //fix showInAddressBook Attribute + if (addressLists.Length > 0) + FixShowInAddressBook(runSpace, email, addressLists); + } catch (Exception ex) { @@ -3410,6 +3362,23 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogEnd("CreateDistributionListInternal"); } + private void FixShowInAddressBook(Runspace runSpace, string accountName, string[] addressLists) + { + Command cmd = new Command("Get-DistributionGroup"); + cmd.Parameters.Add("Identity", accountName); + + Collection result = ExecuteShellCommand(runSpace, cmd); + string id = GetResultObjectDN(result); + + DirectoryEntry dlDEEntry = GetADObject(AddADPrefix(id)); + dlDEEntry.Properties["showInAddressBook"].Clear(); + foreach (string addressList in addressLists) + { + dlDEEntry.Properties["showInAddressBook"].Add(addressList); + } + dlDEEntry.CommitChanges(); + } + private void DeleteDistributionListInternal(string accountName) { ExchangeLog.LogStart("DeleteDistributionListInternal"); @@ -3490,9 +3459,9 @@ namespace WebsitePanel.Providers.HostedSolution return ObjToString(GetPSObjectProperty(group, "ManagedBy")); } - private void SetDistributionListGeneralSettingsInternal(string accountName, string displayName, - bool hideFromAddressBook, string managedBy, string[] memberAccounts, string notes) - { + private void SetDistributionListGeneralSettingsInternal(string accountName, string displayName, + bool hideFromAddressBook, string managedBy, string[] memberAccounts, string notes, string[] addressLists) + { ExchangeLog.LogStart("SetDistributionListGeneralSettingsInternal"); ExchangeLog.DebugInfo("Account: {0}", accountName); @@ -3561,6 +3530,10 @@ namespace WebsitePanel.Providers.HostedSolution { AddADPermission(runSpace, accountName, managedBy, "WriteProperty", null, "Member"); } + + if (addressLists.Length > 0) + FixShowInAddressBook(runSpace, accountName, addressLists); + } finally { @@ -3605,7 +3578,7 @@ namespace WebsitePanel.Providers.HostedSolution } - private void AddDistributionListMembersInternal(string accountName, string[] memberAccounts) + private void AddDistributionListMembersInternal(string accountName, string[] memberAccounts, string[] addressLists) { ExchangeLog.LogStart("AddDistributionListMembersInternal"); ExchangeLog.DebugInfo("Account: {0}", accountName); @@ -3624,8 +3597,13 @@ namespace WebsitePanel.Providers.HostedSolution cmd = new Command("Add-DistributionGroupMember"); cmd.Parameters.Add("Identity", accountName); cmd.Parameters.Add("Member", member); + cmd.Parameters.Add("BypassSecurityGroupManagerCheck", true); ExecuteShellCommand(runSpace, cmd); } + + if (addressLists.Length > 0) + FixShowInAddressBook(runSpace, accountName, addressLists); + } finally { @@ -3636,7 +3614,7 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogEnd("AddDistributionListMembersInternal"); } - private void RemoveDistributionListMembersInternal(string accountName, string[] memberAccounts) + private void RemoveDistributionListMembersInternal(string accountName, string[] memberAccounts, string[] addressLists) { ExchangeLog.LogStart("RemoveDistributionListMembersInternal"); ExchangeLog.DebugInfo("Account: {0}", accountName); @@ -3658,6 +3636,10 @@ namespace WebsitePanel.Providers.HostedSolution cmd.Parameters.Add("Confirm", false); ExecuteShellCommand(runSpace, cmd); } + + if (addressLists.Length > 0) + FixShowInAddressBook(runSpace, accountName, addressLists); + } finally { @@ -3698,9 +3680,9 @@ namespace WebsitePanel.Providers.HostedSolution return info; } - private void SetDistributionListMailFlowSettingsInternal(string accountName, - string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) - { + private void SetDistributionListMailFlowSettingsInternal(string accountName, + string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, string[] addressLists) + { ExchangeLog.LogStart("SetDistributionListMailFlowSettingsInternal"); ExchangeLog.DebugInfo("Account: {0}", accountName); @@ -3727,6 +3709,9 @@ namespace WebsitePanel.Providers.HostedSolution ExecuteShellCommand(runSpace, cmd); + if (addressLists.Length > 0) + FixShowInAddressBook(runSpace, accountName, addressLists); + } finally { @@ -3809,7 +3794,7 @@ namespace WebsitePanel.Providers.HostedSolution return list.ToArray(); } - private void SetDistributionListEmailAddressesInternal(string accountName, string[] emailAddresses) + private void SetDistributionListEmailAddressesInternal(string accountName, string[] emailAddresses, string[] addressLists) { ExchangeLog.LogStart("SetDistributionListEmailAddressesInternal"); ExchangeLog.DebugInfo("Account: {0}", accountName); @@ -3859,6 +3844,9 @@ namespace WebsitePanel.Providers.HostedSolution cmd.Parameters.Add("WindowsEmailAddress", primaryEmail); } ExecuteShellCommand(runSpace, cmd); + + if (addressLists.Length > 0) + FixShowInAddressBook(runSpace, accountName, addressLists); } finally { @@ -3868,7 +3856,7 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogEnd("SetDistributionListEmailAddressesInternal"); } - private void SetDistributionListPrimaryEmailAddressInternal(string accountName, string emailAddress) + private void SetDistributionListPrimaryEmailAddressInternal(string accountName, string emailAddress, string[] addressLists) { ExchangeLog.LogStart("SetDistributionListPrimaryEmailAddressInternal"); ExchangeLog.DebugInfo("Account: {0}", accountName); @@ -3886,6 +3874,8 @@ namespace WebsitePanel.Providers.HostedSolution cmd.Parameters.Add("WindowsEmailAddress", primaryEmail); ExecuteShellCommand(runSpace, cmd); + + } finally { @@ -3941,7 +3931,7 @@ namespace WebsitePanel.Providers.HostedSolution return exchangeDistributionList; } - private void SetDistributionListPermissionsInternal(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts) + private void SetDistributionListPermissionsInternal(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, string[] addressLists) { ExchangeLog.LogStart("SetDistributionListPermissionsInternal"); @@ -3964,6 +3954,9 @@ namespace WebsitePanel.Providers.HostedSolution SetSendAsPermissions(runspace, distributionList.SendAsAccounts, cn, sendAsAccounts); SetDistributionListSendOnBehalfAccounts(runspace, accountName, sendOnBehalfAccounts); + if (addressLists.Length > 0) + FixShowInAddressBook(runspace, accountName, addressLists); + } catch (Exception ex) { @@ -4760,7 +4753,7 @@ namespace WebsitePanel.Providers.HostedSolution return resultObjectDN; } - private string CreateAddressList(Runspace runSpace, string organizationId) + internal string CreateAddressList(Runspace runSpace, string organizationId) { ExchangeLog.LogStart("CreateAddressList"); string addressListName = this.GetAddressListName(organizationId); @@ -4812,7 +4805,60 @@ namespace WebsitePanel.Providers.HostedSolution return addressListDN; } - private void UpdateAddressList(Runspace runSpace, string id, string securityGroup) + internal string CreateRoomsAddressList(Runspace runSpace, string organizationId) + { + ExchangeLog.LogStart("CreateRoomList"); + string addressListName = this.GetRoomsAddressListName(organizationId); + string addressListDN = this.GetAddressListDN(runSpace, addressListName); + if (!string.IsNullOrEmpty(addressListDN)) + { + //address list already exists - we will use it + ExchangeLog.LogWarning("Room List '{0}' already exists", new object[] { addressListName }); + } + else + { + //try to create a new address list (10 attempts) + int attempts = 0; + Command cmd = null; + Collection result = null; + + while (true) + { + try + { + //try to create address list + cmd = new Command("New-AddressList"); + cmd.Parameters.Add("Name", addressListName); + cmd.Parameters.Add("IncludedRecipients", "Resources"); + cmd.Parameters.Add("ConditionalCustomAttribute1", organizationId); + + result = ExecuteShellCommand(runSpace, cmd); + addressListDN = CheckResultObjectDN(result); + } + catch (Exception ex) + { + ExchangeLog.LogError(ex); + } + if (addressListDN != null) + break; + + if (attempts > 9) + throw new Exception( + string.Format("Could not create Room List '{0}' ", addressListName)); + + attempts++; + ExchangeLog.LogWarning("Attempt #{0} to create room list failed!", attempts); + // wait 1 sec + System.Threading.Thread.Sleep(1000); + } + } + + ExchangeLog.LogEnd("CreateRoomList"); + return addressListDN; + } + + + internal void UpdateAddressList(Runspace runSpace, string id, string securityGroup) { ExchangeLog.LogStart("UpdateAddressList"); @@ -4826,7 +4872,7 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogEnd("UpdateAddressList"); } - private void DeleteAddressList(Runspace runSpace, string id) + internal void DeleteAddressList(Runspace runSpace, string id) { ExchangeLog.LogStart("DeleteAddressList"); Command cmd = new Command("Remove-AddressList"); @@ -4836,116 +4882,33 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogEnd("DeleteAddressList"); } - private string GetRoomsAddressListDN(Runspace runSpace, string id) + + internal virtual void DeleteAddressBookPolicy(Runspace runSpace, string id) { - ExchangeLog.LogStart("GetRoomsAddressListDN"); + ExchangeLog.LogStart("DeleteAddressBookPolicy"); + ExchangeLog.LogEnd("DeleteAddressBookPolicy"); + } + + + + internal string GetGlobalAddressListDN(Runspace runSpace, string id) + { + ExchangeLog.LogStart("GetGlobalAddressListDN"); string resultObjectDN = null; - Command cmd = new Command("Get-AddressList"); + Command cmd = new Command("Get-GlobalAddressList"); cmd.Parameters.Add("Identity", id); Collection result = this.ExecuteShellCommand(runSpace, cmd); if ((result != null) && (result.Count > 0)) { resultObjectDN = this.GetResultObjectDN(result); - ExchangeLog.DebugInfo("RAL DN: {0}", new object[] { resultObjectDN }); + ExchangeLog.DebugInfo("GAL DN: {0}", new object[] { resultObjectDN }); } - ExchangeLog.DebugInfo("GetRommsAddressListDN, cmd = {0}", cmd.CommandText); - ExchangeLog.LogEnd("GetRoomsAddressListDN"); + ExchangeLog.LogEnd("GetGlobalAddressListDN"); return resultObjectDN; } - private string CreateRoomsAddressList(Runspace runSpace, string organizationId) - { - ExchangeLog.LogStart("CreateRoomsAddressList"); - string roomsAddressListName = this.GetRoomsAddressListName(organizationId); - string roomsAddressListDN = this.GetRoomsAddressListDN(runSpace, roomsAddressListName); - if (!string.IsNullOrEmpty(roomsAddressListDN)) - { - //rooms address list already exists - we will use it - ExchangeLog.LogWarning("Rooms Address List '{0}' already exists", new object[] { roomsAddressListName }); - } - else - { - //try to create a new rooms address list (10 attempts) - int attempts = 0; - Command cmd = null; - Collection result = null; - while (true) - { - try - { - //try to create address list - cmd = new Command("New-AddressList"); - cmd.Parameters.Add("Name", roomsAddressListName); - cmd.Parameters.Add("IncludedRecipients", "Resources"); - cmd.Parameters.Add("ConditionalCustomAttribute1", organizationId); - - result = ExecuteShellCommand(runSpace, cmd); - roomsAddressListDN = CheckResultObjectDN(result); - } - catch (Exception ex) - { - ExchangeLog.LogError(ex); - } - if (roomsAddressListDN != null) - break; - - if (attempts > 9) - throw new Exception( - string.Format("Could not create Rooms Address List '{0}' cmd = '{1}'", roomsAddressListName, cmd)); - - attempts++; - ExchangeLog.LogWarning("Attempt #{0} to create rooms address list failed!", attempts); - // wait 1 sec - System.Threading.Thread.Sleep(1000); - } - } - - ExchangeLog.LogEnd("CreateRoomsAddressList"); - return roomsAddressListDN; - } - - private void UpdateRoomsAddressList(Runspace runSpace, string id, string securityGroup) - { - ExchangeLog.LogStart("UpdateRoomsAddressList"); - - string path = AddADPrefix(id); - Command cmd = new Command("Update-AddressList"); - cmd.Parameters.Add("Identity", id); - ExecuteShellCommand(runSpace, cmd); - - AdjustADSecurity(path, securityGroup, false); - - ExchangeLog.LogEnd("UpdateRoomsAddressList"); - } - - private void DeleteRoomsAddressList(Runspace runSpace, string id) - { - ExchangeLog.LogStart("DeleteRoomsAddressList"); - Command cmd = new Command("Remove-AddressList"); - cmd.Parameters.Add("Identity", id); - cmd.Parameters.Add("Confirm", false); - ExecuteShellCommand(runSpace, cmd); - ExchangeLog.LogEnd("DeleteRoomsAddressList"); - } - - private string GetGlobalAddressListDN(Runspace runSpace, string id) - { - ExchangeLog.LogStart("GetGlobalAddressListDN"); - string resultObjectDN = null; - Command cmd = new Command("Get-GlobalAddressList"); - cmd.Parameters.Add("Identity", id); - Collection result = this.ExecuteShellCommand(runSpace, cmd); - if ((result != null) && (result.Count > 0)) - { - resultObjectDN = this.GetResultObjectDN(result); - ExchangeLog.DebugInfo("GAL DN: {0}", new object[] { resultObjectDN }); - } - ExchangeLog.LogEnd("GetGlobalAddressListDN"); - return resultObjectDN; - } - - private string CreateGlobalAddressList(Runspace runSpace, string organizationId) + internal string CreateGlobalAddressList(Runspace runSpace, string organizationId) { ExchangeLog.LogStart("CreateGlobalAddressList"); @@ -4962,7 +4925,7 @@ namespace WebsitePanel.Providers.HostedSolution return id; } - private void UpdateGlobalAddressList(Runspace runSpace, string id, string securityGroup) + internal void UpdateGlobalAddressList(Runspace runSpace, string id, string securityGroup) { ExchangeLog.LogStart("UpdateGlobalAddressList"); @@ -4977,7 +4940,7 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogEnd("UpdateGlobalAddressList"); } - private void DeleteGlobalAddressList(Runspace runSpace, string id) + internal void DeleteGlobalAddressList(Runspace runSpace, string id) { ExchangeLog.LogStart("DeleteGlobalAddressList"); Command cmd = new Command("Remove-GlobalAddressList"); @@ -4989,44 +4952,39 @@ namespace WebsitePanel.Providers.HostedSolution private string CreateOfflineAddressBook(Runspace runSpace, string organizationId, string server, string oabVirtualDirs) { - ExchangeLog.LogStart("CreateOfflineAddressBook"); + ExchangeLog.LogStart("CreateOfflineAddressBook"); - string oabName = GetOfflineAddressBookName(organizationId); + string oabName = GetOfflineAddressBookName(organizationId); + string addressListName = GetAddressListName(organizationId); - bool enableSP2abp = false; - if (ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP] != null) - enableSP2abp = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP]); - Version exchangeVersion = GetExchangeVersion(); - string addressListName; - if (enableSP2abp && (exchangeVersion >= new Version(14, 2))) - { - // Ex2010SP2 with ABP support, want to use GAL for OAB - addressListName = GetGlobalAddressListName(organizationId); - } - else - { - // Ex2007 or Ex2010 without ABP support, have to use AL for OAB - addressListName = GetAddressListName(organizationId); - } + Command cmd = new Command("New-OfflineAddressBook"); + cmd.Parameters.Add("Name", oabName); + cmd.Parameters.Add("Server", server); + cmd.Parameters.Add("AddressLists", addressListName); + cmd.Parameters.Add("PublicFolderDistributionEnabled", PublicFolderDistributionEnabled); + cmd.Parameters.Add("IsDefault", false); - Command cmd = new Command("New-OfflineAddressBook"); - cmd.Parameters.Add("Name", oabName); - cmd.Parameters.Add("Server", server); - cmd.Parameters.Add("AddressLists", addressListName); - cmd.Parameters.Add("PublicFolderDistributionEnabled", true); - cmd.Parameters.Add("IsDefault", false); - if (!string.IsNullOrEmpty(oabVirtualDirs)) - { - cmd.Parameters.Add("VirtualDirectories", oabVirtualDirs); - } - Collection result = ExecuteShellCommand(runSpace, cmd); - string id = GetResultObjectDN(result); + //TODO: fix web distribution + if (!string.IsNullOrEmpty(oabVirtualDirs)) + { + ArrayList virtualDirs = new ArrayList(); + string[] strTmp = oabVirtualDirs.Split(','); + foreach (string s in strTmp) + { + virtualDirs.Add(s); + } - ExchangeLog.LogEnd("CreateOfflineAddressBook"); + cmd.Parameters.Add("VirtualDirectories", (String[])virtualDirs.ToArray(typeof(string))); + } - return id; - } + Collection result = ExecuteShellCommand(runSpace, cmd); + string id = GetResultObjectDN(result); + + ExchangeLog.LogEnd("CreateOfflineAddressBook"); + + return id; + } private void UpdateOfflineAddressBook(Runspace runSpace, string id, string securityGroup) { @@ -5044,7 +5002,7 @@ namespace WebsitePanel.Providers.HostedSolution } - private void DeleteOfflineAddressBook(Runspace runSpace, string id) + internal void DeleteOfflineAddressBook(Runspace runSpace, string id) { ExchangeLog.LogStart("DeleteOfflineAddressBook"); Command cmd = new Command("Remove-OfflineAddressBook"); @@ -5054,31 +5012,6 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogEnd("DeleteOfflineAddressBook"); } - private string CreateAddressPolicy(Runspace runSpace, string organizationId) - { - ExchangeLog.LogStart("CreateAddressPolicy"); - - string ABP = GetAddressPolicyName(organizationId); - string AL = GetAddressListName(organizationId); - string GAL = GetGlobalAddressListName(organizationId); - string OAB = GetOfflineAddressBookName(organizationId); - string RL = GetRoomsAddressListName(organizationId); - - Command cmd = new Command("New-AddressBookPolicy"); - cmd.Parameters.Add("Name", ABP); - cmd.Parameters.Add("GlobalAddressList", GAL); - cmd.Parameters.Add("OfflineAddressBook", OAB); - cmd.Parameters.Add("AddressLists", AL); - cmd.Parameters.Add("RoomList", RL); - - - Collection result = ExecuteShellCommand(runSpace, cmd); - string id = GetResultObjectDN(result); - - ExchangeLog.LogEnd("CreateAddressPolicy"); - return id; - } - private void DeleteAddressPolicy(Runspace runSpace, string id) { ExchangeLog.LogStart("DeleteAddressPolicy"); @@ -5094,7 +5027,7 @@ namespace WebsitePanel.Providers.HostedSolution return orgName + " Address List"; } - private string GetGlobalAddressListName(string orgName) + internal string GetGlobalAddressListName(string orgName) { return orgName + " Global Address List"; } @@ -5103,7 +5036,8 @@ namespace WebsitePanel.Providers.HostedSolution { return orgName + " Offline Address Book"; } - private string GetAddressPolicyName(string orgName) + + internal string GetAddressBookPolicyName(string orgName) { return orgName + " Address Policy"; } @@ -5162,7 +5096,7 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogEnd("DeleteADObject"); } - private DirectoryEntry GetRootOU() + private DirectoryEntry GetRootOU() { ExchangeLog.LogStart("GetRootOU"); StringBuilder sb = new StringBuilder(); @@ -5177,7 +5111,7 @@ namespace WebsitePanel.Providers.HostedSolution return de; } - private void SetADObjectProperty(DirectoryEntry oDE, string name, string value) + private void SetADObjectProperty(DirectoryEntry oDE, string name, string value) { if (!string.IsNullOrEmpty(value)) { @@ -5192,14 +5126,14 @@ namespace WebsitePanel.Providers.HostedSolution } } - private void SetADObjectPropertyValue(DirectoryEntry oDE, string name, string value) + internal void SetADObjectPropertyValue(DirectoryEntry oDE, string name, string value) { PropertyValueCollection collection = oDE.Properties[name]; collection.Value = value; } - private void AddADObjectProperty(DirectoryEntry oDE, string name, string value) + internal void AddADObjectProperty(DirectoryEntry oDE, string name, string value) { if (!string.IsNullOrEmpty(value)) { @@ -5208,7 +5142,7 @@ namespace WebsitePanel.Providers.HostedSolution } } - private DirectoryEntry GetADObject(string path) + internal DirectoryEntry GetADObject(string path) { DirectoryEntry de = null; if (path.StartsWith("LDAP://" + PrimaryDomainController + "/", true, CultureInfo.InvariantCulture)) @@ -5226,7 +5160,7 @@ namespace WebsitePanel.Providers.HostedSolution return de; } - private object GetADObjectProperty(DirectoryEntry entry, string name) + internal object GetADObjectProperty(DirectoryEntry entry, string name) { if (entry.Properties.Contains(name)) return entry.Properties[name][0]; @@ -5234,6 +5168,18 @@ namespace WebsitePanel.Providers.HostedSolution return String.Empty; } + + private string GetOrganizationPath(string organizationId) + { + StringBuilder sb = new StringBuilder(); + // append provider + AppendOUPath(sb, organizationId); + AppendOUPath(sb, RootOU); + AppendDomainPath(sb, RootDomain); + + return sb.ToString(); + } + private void AppendProtocol(StringBuilder sb) { sb.Append("LDAP://"); @@ -5270,7 +5216,7 @@ namespace WebsitePanel.Providers.HostedSolution } } - private string AddADPrefix(string path) + internal string AddADPrefix(string path) { string dn = path; if (!dn.ToUpper().StartsWith("LDAP://")) @@ -5296,7 +5242,7 @@ namespace WebsitePanel.Providers.HostedSolution return dn; } - private string ConvertADPathToCanonicalName(string name) + internal string ConvertADPathToCanonicalName(string name) { if (string.IsNullOrEmpty(name)) @@ -5355,7 +5301,7 @@ namespace WebsitePanel.Providers.HostedSolution } - private void AdjustADSecurity(string objPath, string securityGroupPath, bool isAddressBook) + internal virtual void AdjustADSecurity(string objPath, string securityGroupPath, bool isAddressBook) { ExchangeLog.LogStart("AdjustADSecurity"); ExchangeLog.DebugInfo(" Active Direcory object: {0}", objPath); @@ -5487,7 +5433,7 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogEnd("AddGlobalUPNSuffix"); }*/ - private string GetNETBIOSDomainName() + internal string GetNETBIOSDomainName() { ExchangeLog.LogStart("GetNETBIOSDomainName"); string ret = string.Empty; @@ -6026,7 +5972,7 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogEnd("CreateOrganizationActiveSyncPolicyInternal"); } - private string CreateActiveSyncPolicy(Runspace runSpace, string organizationId) + internal string CreateActiveSyncPolicy(Runspace runSpace, string organizationId) { ExchangeLog.LogStart("CreateActiveSyncPolicy"); Command cmd = new Command("New-ActiveSyncMailboxPolicy"); @@ -6039,7 +5985,7 @@ namespace WebsitePanel.Providers.HostedSolution return id; } - private void DeleteActiveSyncPolicy(Runspace runSpace, string id) + internal void DeleteActiveSyncPolicy(Runspace runSpace, string id) { ExchangeLog.LogStart("DeleteActiveSyncPolicy"); Command cmd = new Command("Remove-ActiveSyncMailboxPolicy"); @@ -6175,35 +6121,43 @@ namespace WebsitePanel.Providers.HostedSolution private ExchangeMobileDevice[] GetMobileDevicesInternal(string accountName) { - ExchangeLog.LogStart("GetMobileDevicesInternal"); - ExchangeLog.DebugInfo("Account name: {0}", accountName); + ExchangeLog.LogStart("GetMobileDevicesInternal"); + ExchangeLog.DebugInfo("Account name: {0}", accountName); - List devices = new List(); - ExchangeMobileDevice device = null; + List devices = new List(); + ExchangeMobileDevice device = null; - Runspace runSpace = null; - try - { - runSpace = OpenRunspace(); - Command cmd = new Command("Get-ActiveSyncDeviceStatistics"); - cmd.Parameters.Add("Mailbox", accountName); - Collection result = ExecuteShellCommand(runSpace, cmd); + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + Command cmd = new Command("Get-ActiveSyncDeviceStatistics"); + cmd.Parameters.Add("Mailbox", accountName); - if (result != null) - { - foreach (PSObject obj in result) - { - device = GetMobileDeviceObject(obj); - devices.Add(device); - } - } - } - finally - { - CloseRunspace(runSpace); - } - ExchangeLog.LogEnd("GetMobileDevicesInternal"); - return devices.ToArray(); + Collection result = null; + try + { + result = ExecuteShellCommand(runSpace, cmd); + } + catch (Exception) + { + } + + if (result != null) + { + foreach (PSObject obj in result) + { + device = GetMobileDeviceObject(obj); + devices.Add(device); + } + } + } + finally + { + CloseRunspace(runSpace); + } + ExchangeLog.LogEnd("GetMobileDevicesInternal"); + return devices.ToArray(); } private ExchangeMobileDevice GetMobileDeviceObject(PSObject obj) @@ -6616,7 +6570,7 @@ namespace WebsitePanel.Providers.HostedSolution return ret; } - private string GetServerName() + internal string GetServerName() { string ret = null; if (!string.IsNullOrEmpty(MailboxCluster)) @@ -6659,12 +6613,12 @@ namespace WebsitePanel.Providers.HostedSolution #region Transactions - private ExchangeTransaction StartTransaction() + internal ExchangeTransaction StartTransaction() { return new ExchangeTransaction(); } - private void RollbackTransaction(ExchangeTransaction transaction) + internal void RollbackTransaction(ExchangeTransaction transaction) { ExchangeLog.LogStart("RollbackTransaction"); Runspace runSpace = null; @@ -6703,58 +6657,61 @@ namespace WebsitePanel.Providers.HostedSolution ExchangeLog.LogInfo("Rollback action: {0}", action.ActionType); switch (action.ActionType) { - case TransactionAction.TransactionActionTypes.CreateOrganizationUnit: - DeleteADObject(action.Id); - break; - case TransactionAction.TransactionActionTypes.CreateDistributionGroup: - RemoveDistributionGroup(runspace, action.Id); - break; - case TransactionAction.TransactionActionTypes.EnableDistributionGroup: - DisableMailSecurityDistributionGroup(runspace, action.Id); - break; - case TransactionAction.TransactionActionTypes.CreateGlobalAddressList: - DeleteGlobalAddressList(runspace, action.Id); - break; - case TransactionAction.TransactionActionTypes.CreateAddressList: - DeleteAddressList(runspace, action.Id); - break; - case TransactionAction.TransactionActionTypes.CreateRoomsAddressList: - DeleteRoomsAddressList(runspace, action.Id); + case TransactionAction.TransactionActionTypes.CreateOrganizationUnit: + DeleteADObject(action.Id); break; - case TransactionAction.TransactionActionTypes.CreateOfflineAddressBook: - DeleteOfflineAddressBook(runspace, action.Id); - break; - case TransactionAction.TransactionActionTypes.CreateActiveSyncPolicy: - DeleteActiveSyncPolicy(runspace, action.Id); - break; - case TransactionAction.TransactionActionTypes.CreateAcceptedDomain: - RemoveAcceptedDomain(runspace, action.Id); - break; - case TransactionAction.TransactionActionTypes.AddUPNSuffix: - RemoveUPNSuffix(action.Id, action.Suffix); - break; - case TransactionAction.TransactionActionTypes.CreateMailbox: - RemoveMailbox(runspace, action.Id); - break; - case TransactionAction.TransactionActionTypes.CreateContact: - RemoveContact(runspace, action.Id); - break; - case TransactionAction.TransactionActionTypes.CreatePublicFolder: - RemovePublicFolder(runspace, action.Id); - break; - case TransactionAction.TransactionActionTypes.AddMailboxFullAccessPermission: - RemoveMailboxAccessPermission(runspace, action.Account, action.Id, "FullAccess"); - break; - case TransactionAction.TransactionActionTypes.AddSendAsPermission: - RemoveADPermission(runspace, action.Account, action.Id, null, "Send-as", null); - break; - case TransactionAction.TransactionActionTypes.RemoveMailboxFullAccessPermission: - SetMailboxPermission(runspace, action.Account, action.Id, "FullAccess"); - break; - case TransactionAction.TransactionActionTypes.RemoveSendAsPermission: - SetExtendedRights(runspace, action.Account, action.Id, "Send-as"); - break; - } + case TransactionAction.TransactionActionTypes.CreateDistributionGroup: + RemoveDistributionGroup(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.EnableDistributionGroup: + DisableMailSecurityDistributionGroup(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.CreateGlobalAddressList: + DeleteGlobalAddressList(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.CreateAddressList: + DeleteAddressList(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.CreateAddressBookPolicy: + DeleteAddressBookPolicy(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.CreateOfflineAddressBook: + DeleteOfflineAddressBook(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.CreateActiveSyncPolicy: + DeleteActiveSyncPolicy(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.CreateAcceptedDomain: + RemoveAcceptedDomain(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.AddUPNSuffix: + RemoveUPNSuffix(action.Id, action.Suffix); + break; + case TransactionAction.TransactionActionTypes.CreateMailbox: + RemoveMailbox(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.EnableMailbox: + DisableMailbox(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.CreateContact: + RemoveContact(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.CreatePublicFolder: + RemovePublicFolder(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.AddMailboxFullAccessPermission: + RemoveMailboxAccessPermission(runspace, action.Account, action.Id, "FullAccess"); + break; + case TransactionAction.TransactionActionTypes.AddSendAsPermission: + RemoveADPermission(runspace, action.Account, action.Id, null, "Send-as", null); + break; + case TransactionAction.TransactionActionTypes.RemoveMailboxFullAccessPermission: + SetMailboxPermission(runspace, action.Account, action.Id, "FullAccess"); + break; + case TransactionAction.TransactionActionTypes.RemoveSendAsPermission: + SetExtendedRights(runspace, action.Account, action.Id, "Send-as"); + break; + } } #endregion } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2010.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2010.cs index 63c46ed2..fdb674cf 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2010.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2010.cs @@ -167,7 +167,7 @@ namespace WebsitePanel.Providers.HostedSolution return runspace; } - private static Assembly ResolveExchangeAssembly(object p, ResolveEventArgs args) + internal static Assembly ResolveExchangeAssembly(object p, ResolveEventArgs args) { //Add path for the Exchange 2007 DLLs if (args.Name.Contains("Microsoft.Exchange")) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2010SP2.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2010SP2.cs new file mode 100644 index 00000000..e2b16d4f --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2010SP2.cs @@ -0,0 +1,753 @@ +// 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. + +using System; +using System.IO; +using System.Configuration; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Text; +using System.Reflection; +using System.Globalization; +using System.Collections; + +using System.DirectoryServices; +using System.Security; +using System.Security.Principal; +using System.Security.AccessControl; + +using System.Management.Automation; +using System.Management.Automation.Runspaces; + +using WebsitePanel.Providers; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Providers.Utils; +using WebsitePanel.Server.Utils; +using Microsoft.Exchange.Data.Directory.Recipient; +using Microsoft.Win32; + +using Microsoft.Exchange.Data; +using Microsoft.Exchange.Data.Directory; +using Microsoft.Exchange.Data.Storage; + +namespace WebsitePanel.Providers.HostedSolution +{ + public class Exchange2010SP2 : Exchange2010 + { + #region Static constructor + + static private Hashtable htBbalancer = new Hashtable(); + + static Exchange2010SP2() + { + AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(ResolveExchangeAssembly); + ExchangeRegistryPath = "SOFTWARE\\Microsoft\\ExchangeServer\\v14\\Setup"; + } + #endregion + + + #region Organization + /// + /// Creates organization on Mail Server + /// + /// + /// + internal override Organization ExtendToExchangeOrganizationInternal(string organizationId, string securityGroup, bool IsConsumer) + { + ExchangeLog.LogStart("CreateOrganizationInternal"); + ExchangeLog.DebugInfo(" Organization Id: {0}", organizationId); + + ExchangeTransaction transaction = StartTransaction(); + Organization info = new Organization(); + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + string server = GetServerName(); + string securityGroupPath = AddADPrefix(securityGroup); + + //Create mail enabled organization security group + EnableMailSecurityDistributionGroup(runSpace, securityGroup, organizationId); + transaction.RegisterMailEnabledDistributionGroup(securityGroup); + UpdateSecurityDistributionGroup(runSpace, securityGroup, organizationId, IsConsumer); + + //create GAL + string galId = CreateGlobalAddressList(runSpace, organizationId); + transaction.RegisterNewGlobalAddressList(galId); + ExchangeLog.LogInfo(" Global Address List: {0}", galId); + UpdateGlobalAddressList(runSpace, galId, securityGroupPath); + + //create AL + string alId = CreateAddressList(runSpace, organizationId); + transaction.RegisterNewAddressList(alId); + ExchangeLog.LogInfo(" Address List: {0}", alId); + UpdateAddressList(runSpace, alId, securityGroupPath); + + //create RAL + string ralId = CreateRoomsAddressList(runSpace, organizationId); + transaction.RegisterNewRoomsAddressList(ralId); + ExchangeLog.LogInfo(" Rooms Address List: {0}", ralId); + UpdateAddressList(runSpace, ralId, securityGroupPath); + + //create ActiveSync policy + string asId = CreateActiveSyncPolicy(runSpace, organizationId); + transaction.RegisterNewActiveSyncPolicy(asId); + ExchangeLog.LogInfo(" ActiveSync Policy: {0}", asId); + + info.AddressList = alId; + info.GlobalAddressList = galId; + info.RoomsAddressList = ralId; + info.OrganizationId = organizationId; + } + catch (Exception ex) + { + ExchangeLog.LogError("CreateOrganizationInternal", ex); + RollbackTransaction(transaction); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + ExchangeLog.LogEnd("CreateOrganizationInternal"); + return info; + } + + + internal override Organization CreateOrganizationAddressBookPolicyInternal(string organizationId, string gal, string addressBook, string roomList, string oab) + { + ExchangeLog.LogStart("CreateOrganizationAddressBookPolicyInternal"); + ExchangeLog.LogInfo(" Organization Id: {0}", organizationId); + ExchangeLog.LogInfo(" GAL: {0}", gal); + ExchangeLog.LogInfo(" AddressBook: {0}", addressBook); + ExchangeLog.LogInfo(" RoomList: {0}", roomList); + ExchangeLog.LogInfo(" OAB: {0}", oab); + + ExchangeTransaction transaction = StartTransaction(); + + Organization info = new Organization(); + string policyName = GetAddressBookPolicyName(organizationId); + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + Command cmd = new Command("New-AddressBookPolicy"); + cmd.Parameters.Add("Name", policyName); + cmd.Parameters.Add("AddressLists", addressBook); + cmd.Parameters.Add("RoomList", roomList); + cmd.Parameters.Add("GlobalAddressList", gal); + cmd.Parameters.Add("OfflineAddressBook", oab); + + Collection result = ExecuteShellCommand(runSpace, cmd); + info.AddressBookPolicy = GetResultObjectDN(result); + + } + catch (Exception ex) + { + ExchangeLog.LogError("CreateOrganizationAddressBookPolicyInternal", ex); + RollbackTransaction(transaction); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + ExchangeLog.LogEnd("CreateOrganizationAddressBookPolicyInternal"); + return info; + } + + internal override bool DeleteOrganizationInternal(string organizationId, string distinguishedName, + string globalAddressList, string addressList, string roomList, string offlineAddressBook, string securityGroup, string addressBookPolicy) + { + ExchangeLog.LogStart("DeleteOrganizationInternal"); + bool ret = true; + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + + string ou = ConvertADPathToCanonicalName(distinguishedName); + + if (!DeleteOrganizationMailboxes(runSpace, ou)) + ret = false; + + if (!DeleteOrganizationContacts(runSpace, ou)) + ret = false; + + if (!DeleteOrganizationDistributionLists(runSpace, ou)) + ret = false; + + //delete AddressBookPolicy + try + { + if (!string.IsNullOrEmpty(addressBookPolicy)) + DeleteAddressBookPolicy(runSpace, addressBookPolicy); + } + catch (Exception ex) + { + ret = false; + ExchangeLog.LogError("Could not delete AddressBook Policy " + addressBookPolicy, ex); + } + + //delete OAB + try + { + if (!string.IsNullOrEmpty(offlineAddressBook)) + DeleteOfflineAddressBook(runSpace, offlineAddressBook); + } + catch (Exception ex) + { + ret = false; + ExchangeLog.LogError("Could not delete Offline Address Book " + offlineAddressBook, ex); + } + + //delete AL + try + { + if (!string.IsNullOrEmpty(addressList)) + DeleteAddressList(runSpace, addressList); + } + catch (Exception ex) + { + ret = false; + ExchangeLog.LogError("Could not delete Address List " + addressList, ex); + } + + //delete RL + try + { + if (!string.IsNullOrEmpty(roomList)) + DeleteAddressList(runSpace, roomList); + } + catch (Exception ex) + { + ret = false; + ExchangeLog.LogError("Could not delete Address List " + roomList, ex); + } + + + //delete GAL + try + { + if (!string.IsNullOrEmpty(globalAddressList)) + DeleteGlobalAddressList(runSpace, globalAddressList); + } + catch (Exception ex) + { + ret = false; + ExchangeLog.LogError("Could not delete Global Address List " + globalAddressList, ex); + } + + //delete ActiveSync policy + try + { + DeleteActiveSyncPolicy(runSpace, organizationId); + } + catch (Exception ex) + { + ret = false; + ExchangeLog.LogError("Could not delete ActiveSyncPolicy " + organizationId, ex); + } + + //disable mail security distribution group + try + { + DisableMailSecurityDistributionGroup(runSpace, securityGroup); + } + catch (Exception ex) + { + ret = false; + ExchangeLog.LogError("Could not disable mail security distribution group " + securityGroup, ex); + } + } + catch (Exception ex) + { + ret = false; + ExchangeLog.LogError("DeleteOrganizationInternal", ex); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + ExchangeLog.LogEnd("DeleteOrganizationInternal"); + return ret; + } + + internal override void DeleteAddressBookPolicy(Runspace runSpace, string id) + { + ExchangeLog.LogStart("DeleteAddressBookPolicy"); + //if (id != "IsConsumer") + //{ + Command cmd = new Command("Remove-AddressBookPolicy"); + cmd.Parameters.Add("Identity", id); + cmd.Parameters.Add("Confirm", false); + ExecuteShellCommand(runSpace, cmd); + //} + ExchangeLog.LogEnd("DeleteAddressBookPolicy"); + } + + #endregion + + #region Mailbox + internal override string CreateMailEnableUserInternal(string upn, string organizationId, string organizationDistinguishedName, ExchangeAccountType accountType, + string mailboxDatabase, string offlineAddressBook, string addressBookPolicy, + string accountName, bool enablePOP, bool enableIMAP, + bool enableOWA, bool enableMAPI, bool enableActiveSync, + int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, + int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool hideFromAddressBook, bool IsConsumer) + { + + ExchangeLog.LogStart("CreateMailEnableUserInternal"); + ExchangeLog.DebugInfo("Organization Id: {0}", organizationId); + + string ret = null; + ExchangeTransaction transaction = StartTransaction(); + Runspace runSpace = null; + + int attempts = 0; + string id = null; + + try + { + runSpace = OpenRunspace(); + Command cmd = null; + Collection result = null; + + //try to enable mail user for 10 times + while (true) + { + try + { + //create mailbox + cmd = new Command("Enable-Mailbox"); + cmd.Parameters.Add("Identity", upn); + cmd.Parameters.Add("Alias", accountName); + string database = GetDatabase(runSpace, PrimaryDomainController, mailboxDatabase); + ExchangeLog.DebugInfo("database: " + database); + if (database != string.Empty) + { + cmd.Parameters.Add("Database", database); + } + if (accountType == ExchangeAccountType.Equipment) + cmd.Parameters.Add("Equipment"); + else if (accountType == ExchangeAccountType.Room) + cmd.Parameters.Add("Room"); + + result = ExecuteShellCommand(runSpace, cmd); + + id = CheckResultObjectDN(result); + } + catch (Exception ex) + { + ExchangeLog.LogError(ex); + } + if (id != null) + break; + + if (attempts > 9) + throw new Exception( + string.Format("Could not enable mail user '{0}' ", upn)); + + attempts++; + ExchangeLog.LogWarning("Attempt #{0} to enable mail user failed!", attempts); + // wait 5 sec + System.Threading.Thread.Sleep(1000); + } + + transaction.RegisterEnableMailbox(id); + + string windowsEmailAddress = ObjToString(GetPSObjectProperty(result[0], "WindowsEmailAddress")); + + //update mailbox + cmd = new Command("Set-Mailbox"); + cmd.Parameters.Add("Identity", id); + cmd.Parameters.Add("OfflineAddressBook", offlineAddressBook); + cmd.Parameters.Add("EmailAddressPolicyEnabled", false); + cmd.Parameters.Add("CustomAttribute1", organizationId); + cmd.Parameters.Add("CustomAttribute3", windowsEmailAddress); + cmd.Parameters.Add("PrimarySmtpAddress", upn); + cmd.Parameters.Add("WindowsEmailAddress", upn); + + cmd.Parameters.Add("UseDatabaseQuotaDefaults", new bool?(false)); + cmd.Parameters.Add("UseDatabaseRetentionDefaults", false); + cmd.Parameters.Add("IssueWarningQuota", ConvertKBToUnlimited(issueWarningKB)); + cmd.Parameters.Add("ProhibitSendQuota", ConvertKBToUnlimited(prohibitSendKB)); + cmd.Parameters.Add("ProhibitSendReceiveQuota", ConvertKBToUnlimited(prohibitSendReceiveKB)); + cmd.Parameters.Add("RetainDeletedItemsFor", ConvertDaysToEnhancedTimeSpan(keepDeletedItemsDays)); + cmd.Parameters.Add("RecipientLimits", ConvertInt32ToUnlimited(maxRecipients)); + cmd.Parameters.Add("MaxSendSize", ConvertKBToUnlimited(maxSendMessageSizeKB)); + cmd.Parameters.Add("MaxReceiveSize", ConvertKBToUnlimited(maxReceiveMessageSizeKB)); + if (IsConsumer) cmd.Parameters.Add("HiddenFromAddressListsEnabled", true); + else + cmd.Parameters.Add("HiddenFromAddressListsEnabled", hideFromAddressBook); + cmd.Parameters.Add("AddressBookPolicy", addressBookPolicy); + ExecuteShellCommand(runSpace, cmd); + + //Client Access + cmd = new Command("Set-CASMailbox"); + cmd.Parameters.Add("Identity", id); + cmd.Parameters.Add("ActiveSyncEnabled", enableActiveSync); + if (enableActiveSync) + { + cmd.Parameters.Add("ActiveSyncMailboxPolicy", organizationId); + } + cmd.Parameters.Add("OWAEnabled", enableOWA); + cmd.Parameters.Add("MAPIEnabled", enableMAPI); + cmd.Parameters.Add("PopEnabled", enablePOP); + cmd.Parameters.Add("ImapEnabled", enableIMAP); + ExecuteShellCommand(runSpace, cmd); + + //add to the security group + cmd = new Command("Add-DistributionGroupMember"); + cmd.Parameters.Add("Identity", organizationId); + cmd.Parameters.Add("Member", id); + cmd.Parameters.Add("BypassSecurityGroupManagerCheck", true); + ExecuteShellCommand(runSpace, cmd); + + if (!IsConsumer) + { + //Set-MailboxFolderPermission for calendar + cmd = new Command("Add-MailboxFolderPermission"); + cmd.Parameters.Add("Identity", id + ":\\calendar"); + cmd.Parameters.Add("AccessRights", "Reviewer"); + cmd.Parameters.Add("User", organizationId); + ExecuteShellCommand(runSpace, cmd); + } + cmd = new Command("Set-MailboxFolderPermission"); + cmd.Parameters.Add("Identity", id + ":\\calendar"); + cmd.Parameters.Add("AccessRights", "None"); + cmd.Parameters.Add("User", "Default"); + ExecuteShellCommand(runSpace, cmd); + + ret = string.Format("{0}\\{1}", GetNETBIOSDomainName(), accountName); + ExchangeLog.LogEnd("CreateMailEnableUserInternal"); + return ret; + } + catch (Exception ex) + { + ExchangeLog.LogError("CreateMailEnableUserInternal", ex); + RollbackTransaction(transaction); + throw; + } + finally + { + CloseRunspace(runSpace); + } + } + + + internal override void DisableMailboxInternal(string id) + { + ExchangeLog.LogStart("DisableMailboxInternal"); + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Command cmd = new Command("Get-Mailbox"); + cmd.Parameters.Add("Identity", id); + Collection result = ExecuteShellCommand(runSpace, cmd); + + if (result != null && result.Count > 0) + { + string upn = ObjToString(GetPSObjectProperty(result[0], "UserPrincipalName")); + + string addressbookPolicy = ObjToString(GetPSObjectProperty(result[0], "AddressBookPolicy")); + + cmd = new Command("Disable-Mailbox"); + cmd.Parameters.Add("Identity", id); + cmd.Parameters.Add("Confirm", false); + ExecuteShellCommand(runSpace, cmd); + + if (addressbookPolicy == (upn + " AP")) + { + try + { + DeleteAddressBookPolicy(runSpace, upn + " AP"); + } + catch (Exception) + { + } + + try + { + DeleteGlobalAddressList(runSpace, upn + " GAL"); + } + catch (Exception) + { + } + + try + { + DeleteAddressList(runSpace, upn + " AL"); + } + catch (Exception) + { + } + } + + + } + + } + + finally + { + + CloseRunspace(runSpace); + } + ExchangeLog.LogEnd("DisableMailboxInternal"); + } + + + internal override void DeleteMailboxInternal(string accountName) + { + ExchangeLog.LogStart("DeleteMailboxInternal"); + ExchangeLog.DebugInfo("Account Name: {0}", accountName); + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Command cmd = new Command("Get-Mailbox"); + cmd.Parameters.Add("Identity", accountName); + Collection result = ExecuteShellCommand(runSpace, cmd); + + if (result != null && result.Count > 0) + { + string upn = ObjToString(GetPSObjectProperty(result[0], "UserPrincipalName")); + string addressbookPolicy = ObjToString(GetPSObjectProperty(result[0], "AddressBookPolicy")); + + RemoveMailbox(runSpace, accountName); + + if (addressbookPolicy == (upn + " AP")) + { + try + { + DeleteAddressBookPolicy(runSpace, upn + " AP"); + } + catch (Exception) + { + } + + try + { + DeleteGlobalAddressList(runSpace, upn + " GAL"); + } + catch (Exception) + { + } + + try + { + DeleteAddressList(runSpace, upn + " AL"); + } + catch (Exception) + { + } + } + } + + + } + finally + { + + CloseRunspace(runSpace); + } + ExchangeLog.LogEnd("DeleteMailboxInternal"); + } + + + internal string GetDatabase(Runspace runSpace, string primaryDomainController, string dagName) + { + string database = string.Empty; + + if (string.IsNullOrEmpty(dagName)) return string.Empty; + + ExchangeLog.LogStart("GetDatabase"); + ExchangeLog.LogInfo("DAG: " + dagName); + + //Get Dag Servers + Collection dags = null; + Command cmd = new Command("Get-DatabaseAvailabilityGroup"); + cmd.Parameters.Add("Identity", dagName); + dags = ExecuteShellCommand(runSpace, cmd); + + if (htBbalancer == null) + htBbalancer = new Hashtable(); + + if (htBbalancer[dagName] == null) + htBbalancer.Add(dagName, 0); + + if (dags != null && dags.Count > 0) + { + + ADMultiValuedProperty servers = (ADMultiValuedProperty)GetPSObjectProperty(dags[0], "Servers"); + + if (servers != null) + { + System.Collections.Generic.List lstDatabase = new System.Collections.Generic.List(); + + foreach (object objServer in servers) + { + Collection databases = null; + cmd = new Command("Get-MailboxDatabase"); + cmd.Parameters.Add("Server", ObjToString(objServer)); + databases = ExecuteShellCommand(runSpace, cmd); + + foreach (PSObject objDatabase in databases) + { + if (((bool)GetPSObjectProperty(objDatabase, "IsExcludedFromProvisioning") == false) && + ((bool)GetPSObjectProperty(objDatabase, "IsSuspendedFromProvisioning") == false)) + { + string db = ObjToString(GetPSObjectProperty(objDatabase, "Identity")); + + bool bAdd = true; + foreach (string s in lstDatabase) + { + if (s.ToLower() == db.ToLower()) + { + bAdd = false; + break; + } + } + + if (bAdd) + { + lstDatabase.Add(db); + ExchangeLog.LogInfo("AddDatabase: " + db); + } + } + } + } + + int balancer = (int)htBbalancer[dagName]; + balancer++; + if (balancer >= lstDatabase.Count) balancer = 0; + htBbalancer[dagName] = balancer; + if (lstDatabase.Count != 0) database = lstDatabase[balancer]; + + } + } + + ExchangeLog.LogEnd("GetDatabase"); + return database; + } + + + #endregion + + #region AddressBook + internal override void AdjustADSecurity(string objPath, string securityGroupPath, bool isAddressBook) + { + ExchangeLog.LogStart("AdjustADSecurity"); + ExchangeLog.DebugInfo(" Active Direcory object: {0}", objPath); + ExchangeLog.DebugInfo(" Security Group: {0}", securityGroupPath); + + if (isAddressBook) + { + ExchangeLog.DebugInfo(" Updating Security"); + //"Download Address Book" security permission for offline address book + Guid openAddressBookGuid = new Guid("{bd919c7c-2d79-4950-bc9c-e16fd99285e8}"); + + DirectoryEntry groupEntry = GetADObject(securityGroupPath); + byte[] byteSid = (byte[])GetADObjectProperty(groupEntry, "objectSid"); + + DirectoryEntry objEntry = GetADObject(objPath); + ActiveDirectorySecurity security = objEntry.ObjectSecurity; + + // Create a SecurityIdentifier object for security group. + SecurityIdentifier groupSid = new SecurityIdentifier(byteSid, 0); + + // Create an access rule to allow users in Security Group to open address book. + ActiveDirectoryAccessRule allowOpenAddressBook = + new ActiveDirectoryAccessRule( + groupSid, + ActiveDirectoryRights.ExtendedRight, + AccessControlType.Allow, + openAddressBookGuid); + + // Create an access rule to allow users in Security Group to read object. + ActiveDirectoryAccessRule allowRead = + new ActiveDirectoryAccessRule( + groupSid, + ActiveDirectoryRights.GenericRead, + AccessControlType.Allow); + + // Remove existing rules if exist + security.RemoveAccessRuleSpecific(allowOpenAddressBook); + security.RemoveAccessRuleSpecific(allowRead); + + // Add a new access rule to allow users in Security Group to open address book. + security.AddAccessRule(allowOpenAddressBook); + // Add a new access rule to allow users in Security Group to read object. + security.AddAccessRule(allowRead); + + // Commit the changes. + objEntry.CommitChanges(); + } + + ExchangeLog.LogEnd("AdjustADSecurity"); + } + + + #endregion + + + + public override bool IsInstalled() + { + int value = 0; + bool bResult = false; + RegistryKey root = Registry.LocalMachine; + RegistryKey rk = root.OpenSubKey(ExchangeRegistryPath); + if (rk != null) + { + value = (int)rk.GetValue("MsiProductMajor", null); + if (value == 14) + { + value = (int)rk.GetValue("MsiProductMinor", null); + if (value == 2) bResult = true; + } + rk.Close(); + } + return bResult; + } + } +} + diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeLog.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeLog.cs index 5472863c..aa965e8f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeLog.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeLog.cs @@ -33,71 +33,67 @@ using WebsitePanel.Server.Utils; namespace WebsitePanel.Providers.HostedSolution { - /// - /// Exchange Log Helper Methods - /// - internal class ExchangeLog - { - internal static string LogPrefix = "Exchange"; + /// + /// Exchange Log Helper Methods + /// + internal class ExchangeLog + { + internal static string LogPrefix = "Exchange"; - internal static void LogStart(string message, params object[] args) - { - string text = String.Format(message, args); - Log.WriteStart("{0} {1}", LogPrefix, text); - } + internal static void LogStart(string message, params object[] args) + { + string text = String.Format(message, args); + Log.WriteStart("{0} {1}", LogPrefix, text); + } - internal static void LogEnd(string message, params object[] args) - { - string text = String.Format(message, args); - Log.WriteEnd("{0} {1}", LogPrefix, text); - } + internal static void LogEnd(string message, params object[] args) + { + string text = String.Format(message, args); + Log.WriteEnd("{0} {1}", LogPrefix, text); + } - internal static void LogInfo(string message, params object[] args) - { - string text = String.Format(message, args); - Log.WriteInfo("{0} {1}", LogPrefix, text); - } + internal static void LogInfo(string message, params object[] args) + { + string text = String.Format(message, args); + Log.WriteInfo("{0} {1}", LogPrefix, text); + } - internal static void LogWarning(string message, params object[] args) - { - string text = String.Format(message, args); - Log.WriteWarning("{0} {1}", LogPrefix, text); - } + internal static void LogWarning(string message, params object[] args) + { + string text = String.Format(message, args); + Log.WriteWarning("{0} {1}", LogPrefix, text); + } - internal static void LogError(Exception ex) - { - Log.WriteError(LogPrefix, ex); - } + internal static void LogError(Exception ex) + { + Log.WriteError(LogPrefix, ex); + } - internal static void LogError(string message, Exception ex) - { - string text = String.Format("{0} {1}", LogPrefix, message); - Log.WriteError(text, ex); - } + internal static void LogError(string message, Exception ex) + { + string text = String.Format("{0} {1}", LogPrefix, message); + Log.WriteError(text, ex); + } - internal static void DebugInfo(string message, params object[] args) - { -#if DEBUG - string text = String.Format(message, args); - Log.WriteInfo("{0} {1}", LogPrefix, text); -#endif - } + internal static void DebugInfo(string message, params object[] args) + { + string text = String.Format(message, args); + Log.WriteInfo("{0} {1}", LogPrefix, text); + } - internal static void DebugCommand(Command cmd) - { -#if DEBUG - StringBuilder sb = new StringBuilder(cmd.CommandText); - foreach (CommandParameter parameter in cmd.Parameters) - { - string formatString = " -{0} {1}"; - if (parameter.Value is string) - formatString = " -{0} '{1}'"; - else if (parameter.Value is bool) - formatString = " -{0} ${1}"; - sb.AppendFormat(formatString, parameter.Name, parameter.Value); - } - Log.WriteInfo("{0} {1}", LogPrefix, sb.ToString()); -#endif - } - } + internal static void DebugCommand(Command cmd) + { + StringBuilder sb = new StringBuilder(cmd.CommandText); + foreach (CommandParameter parameter in cmd.Parameters) + { + string formatString = " -{0} {1}"; + if (parameter.Value is string) + formatString = " -{0} '{1}'"; + else if (parameter.Value is bool) + formatString = " -{0} ${1}"; + sb.AppendFormat(formatString, parameter.Name, parameter.Value); + } + Log.WriteInfo("{0} {1}", LogPrefix, sb.ToString()); + } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeTransaction.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeTransaction.cs index 0af4bb65..1d6e0eba 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeTransaction.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/ExchangeTransaction.cs @@ -30,228 +30,180 @@ using System.Collections.Generic; namespace WebsitePanel.Providers.HostedSolution { - internal class ExchangeTransaction - { - List actions = null; + internal class ExchangeTransaction + { + List actions = null; - public ExchangeTransaction() - { - actions = new List(); - } + public ExchangeTransaction() + { + actions = new List(); + } - internal List Actions - { - get { return actions; } - } + internal List Actions + { + get { return actions; } + } - internal void RegisterNewOrganizationUnit(string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.CreateOrganizationUnit; - action.Id = id; - Actions.Add(action); - } + internal void RegisterNewOrganizationUnit(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.CreateOrganizationUnit; + action.Id = id; + Actions.Add(action); + } - public void RegisterNewDistributionGroup(string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.CreateDistributionGroup; - action.Id = id; - Actions.Add(action); - } + public void RegisterNewDistributionGroup(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.CreateDistributionGroup; + action.Id = id; + Actions.Add(action); + } - public void RegisterMailEnabledDistributionGroup(string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.EnableDistributionGroup; - action.Id = id; - Actions.Add(action); - } + public void RegisterMailEnabledDistributionGroup(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.EnableDistributionGroup; + action.Id = id; + Actions.Add(action); + } + + internal void RegisterNewGlobalAddressList(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.CreateGlobalAddressList; + action.Id = id; + Actions.Add(action); + } + + internal void RegisterNewAddressList(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressList; + action.Id = id; + Actions.Add(action); + } + + internal void RegisterNewAddressBookPolicy(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressBookPolicy; + action.Id = id; + Actions.Add(action); + } - internal void RegisterNewGlobalAddressList(string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.CreateGlobalAddressList; - action.Id = id; - Actions.Add(action); - } - internal void RegisterNewAddressList(string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressList; - action.Id = id; - Actions.Add(action); - } internal void RegisterNewRoomsAddressList(string id) { TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.CreateRoomsAddressList; + action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressList; action.Id = id; Actions.Add(action); } - internal void RegisterNewAddressPolicy(string id) + + + internal void RegisterNewOfflineAddressBook(string id) { TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressPolicy; + action.ActionType = TransactionAction.TransactionActionTypes.CreateOfflineAddressBook; + action.Id = id; + Actions.Add(action); + } + + internal void RegisterNewActiveSyncPolicy(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.CreateActiveSyncPolicy; action.Id = id; Actions.Add(action); } - internal void RegisterNewOfflineAddressBook(string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.CreateOfflineAddressBook; - action.Id = id; - Actions.Add(action); - } + internal void RegisterNewAcceptedDomain(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.CreateAcceptedDomain; + action.Id = id; + Actions.Add(action); + } - internal void RegisterNewActiveSyncPolicy(string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.CreateActiveSyncPolicy; - action.Id = id; - Actions.Add(action); - } + internal void RegisterNewUPNSuffix(string id, string suffix) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.AddUPNSuffix; + action.Id = id; + action.Suffix = suffix; + Actions.Add(action); + } + + internal void RegisterNewMailbox(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.CreateMailbox; + action.Id = id; + Actions.Add(action); + } + + internal void RegisterEnableMailbox(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.EnableMailbox; + action.Id = id; + Actions.Add(action); + } - internal void RegisterNewAcceptedDomain(string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.CreateAcceptedDomain; - action.Id = id; - Actions.Add(action); - } + internal void RegisterNewContact(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.CreateContact; + action.Id = id; + Actions.Add(action); + } - internal void RegisterNewUPNSuffix(string id, string suffix) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.AddUPNSuffix; - action.Id = id; - action.Suffix = suffix; - Actions.Add(action); - } + internal void RegisterNewPublicFolder(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.CreatePublicFolder; + action.Id = id; + Actions.Add(action); + } - internal void RegisterNewMailbox(string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.CreateMailbox; - action.Id = id; - Actions.Add(action); - } + internal void AddMailBoxFullAccessPermission(string accountName, string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.AddMailboxFullAccessPermission; + action.Id = id; + action.Account = accountName; + Actions.Add(action); + } - internal void RegisterNewContact(string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.CreateContact; - action.Id = id; - Actions.Add(action); - } - - internal void RegisterNewPublicFolder(string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.CreatePublicFolder; - action.Id = id; - Actions.Add(action); - } - - internal void AddMailBoxFullAccessPermission(string accountName, string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.AddMailboxFullAccessPermission; - action.Id = id; - action.Account = accountName; - Actions.Add(action); - } - - internal void AddSendAsPermission(string accountName, string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.AddSendAsPermission; - action.Id = id; - action.Account = accountName; - Actions.Add(action); - } - - internal void RemoveMailboxFullAccessPermission(string accountName, string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.RemoveMailboxFullAccessPermission; - action.Id = id; - action.Account = accountName; - Actions.Add(action); - } - - internal void RemoveSendAsPermission(string accountName, string id) - { - TransactionAction action = new TransactionAction(); - action.ActionType = TransactionAction.TransactionActionTypes.RemoveSendAsPermission; - action.Id = id; - action.Account = accountName; - Actions.Add(action); - } - } - - internal class TransactionAction - { - private TransactionActionTypes actionType; - - public TransactionActionTypes ActionType - { - get { return actionType; } - set { actionType = value; } - } - - private string id; - - public string Id - { - get { return id; } - set { id = value; } - } - - private string suffix; - - public string Suffix - { - get { return suffix; } - set { suffix = value; } - } - - private string account; - - public string Account - { - get { return account; } - set { account = value; } - - } - - internal enum TransactionActionTypes - { - CreateOrganizationUnit, - CreateGlobalAddressList, - CreateAddressList, - CreateAddressPolicy, - CreateOfflineAddressBook, - CreateDistributionGroup, - EnableDistributionGroup, - CreateAcceptedDomain, - AddUPNSuffix, - CreateMailbox, - CreateContact, - CreatePublicFolder, - CreateActiveSyncPolicy, - AddMailboxFullAccessPermission, - AddSendAsPermission, - RemoveMailboxFullAccessPermission, - RemoveSendAsPermission, - CreateRoomsAddressList - }; - } + internal void AddSendAsPermission(string accountName, string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.AddSendAsPermission; + action.Id = id; + action.Account = accountName; + Actions.Add(action); + } + internal void RemoveMailboxFullAccessPermission(string accountName, string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.RemoveMailboxFullAccessPermission; + action.Id = id; + action.Account = accountName; + Actions.Add(action); + } + internal void RemoveSendAsPermission(string accountName, string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.RemoveSendAsPermission; + action.Id = id; + action.Account = accountName; + Actions.Add(action); + } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OrganizationProvider.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OrganizationProvider.cs index 6e3a9e9c..9b78cd77 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OrganizationProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/OrganizationProvider.cs @@ -342,9 +342,9 @@ namespace WebsitePanel.Providers.HostedSolution #region Users - public void CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled) + public int CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled) { - CreateUserInternal(organizationId, loginName, displayName, upn, password, enabled); + return CreateUserInternal(organizationId, loginName, displayName, upn, password, enabled); } internal int CreateUserInternal(string organizationId, string loginName, string displayName, string upn, string password, bool enabled) @@ -356,36 +356,43 @@ namespace WebsitePanel.Providers.HostedSolution if (string.IsNullOrEmpty(organizationId)) throw new ArgumentNullException("organizationId"); - + if (string.IsNullOrEmpty(loginName)) throw new ArgumentNullException("loginName"); if (string.IsNullOrEmpty(password)) throw new ArgumentNullException("password"); - bool userCreated = false; + bool userCreated = false; string userPath = null; try { string path = GetOrganizationPath(organizationId); - userPath= GetUserPath(organizationId, loginName); + userPath = GetUserPath(organizationId, loginName); if (!ActiveDirectoryUtils.AdObjectExists(userPath)) { - userPath = ActiveDirectoryUtils.CreateUser(path, loginName, displayName, password, enabled); + userPath = ActiveDirectoryUtils.CreateUser(path, upn, loginName, displayName, password, enabled); DirectoryEntry entry = new DirectoryEntry(userPath); ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.UserPrincipalName, upn); entry.CommitChanges(); userCreated = true; + HostedSolutionLog.DebugInfo("User created: {0}", displayName); } else + { + HostedSolutionLog.DebugInfo("AD_OBJECT_ALREADY_EXISTS: {0}", userPath); + HostedSolutionLog.LogEnd("CreateUserInternal"); return Errors.AD_OBJECT_ALREADY_EXISTS; - - string groupPath = GetGroupPath(organizationId); + } + + string groupPath = GetGroupPath(organizationId); + HostedSolutionLog.DebugInfo("Group retrieved: {0}", groupPath); + - ActiveDirectoryUtils.AddUserToGroup(userPath, groupPath); + HostedSolutionLog.DebugInfo("Added to group: {0}", groupPath); } - catch(Exception e) + catch (Exception e) { HostedSolutionLog.LogError(e); try @@ -393,10 +400,12 @@ namespace WebsitePanel.Providers.HostedSolution if (userCreated) ActiveDirectoryUtils.DeleteADObject(userPath); } - catch(Exception ex) + catch (Exception ex) { HostedSolutionLog.LogError(ex); - } + } + + return Errors.AD_OBJECT_ALREADY_EXISTS; } HostedSolutionLog.LogEnd("CreateUserInternal"); @@ -492,10 +501,10 @@ namespace WebsitePanel.Providers.HostedSolution DirectoryEntry entry = ActiveDirectoryUtils.GetADObject(path); OrganizationUser retUser = new OrganizationUser(); - + retUser.FirstName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.FirstName); retUser.LastName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.LastName); - retUser.DisplayName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.DisplayName); + retUser.DisplayName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.DisplayName); retUser.Initials = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.Initials); retUser.JobTitle = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.JobTitle); retUser.Company = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.Company); @@ -513,10 +522,11 @@ namespace WebsitePanel.Providers.HostedSolution retUser.Zip = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.Zip); retUser.Country = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.Country); retUser.Notes = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.Notes); - retUser.ExternalEmail = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.ExternalEmail); - retUser.Disabled = (bool)entry.InvokeGet(ADAttributes.AccountDisabled); + retUser.ExternalEmail = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.ExternalEmail); + retUser.Disabled = (bool)entry.InvokeGet(ADAttributes.AccountDisabled); retUser.Manager = GetManager(entry); - retUser.DomainUserName = GetDomainName(loginName); + retUser.SamAccountName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.SAMAccountName); + retUser.DomainUserName = GetDomainName(ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.SAMAccountName)); retUser.DistinguishedName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.DistinguishedName); retUser.Locked = (bool)entry.InvokeGet(ADAttributes.AccountLocked); @@ -578,7 +588,7 @@ namespace WebsitePanel.Providers.HostedSolution ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.FirstName, firstName); ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.LastName, lastName); ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.DisplayName, displayName); - + ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.Initials, initials); ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.JobTitle, jobTitle); ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.Company, company); @@ -596,7 +606,7 @@ namespace WebsitePanel.Providers.HostedSolution ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.Zip, zip); ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.Country, country); ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.Notes, notes); - ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.ExternalEmail, externalEmail); + ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.ExternalEmail, externalEmail); ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.CustomAttribute2, (disabled ? "disabled" : null)); @@ -626,6 +636,48 @@ namespace WebsitePanel.Providers.HostedSolution } + public string GetSamAccountNameByUserPrincipalName(string organizationId, string userPrincipalName) + { + return GetSamAccountNameByUserPrincipalNameInternal(organizationId, userPrincipalName); + } + + private string GetSamAccountNameByUserPrincipalNameInternal(string organizationId, string userPrincipalName) + { + HostedSolutionLog.LogStart("GetSamAccountNameByUserPrincipalNameInternal"); + HostedSolutionLog.DebugInfo("userPrincipalName : {0}", userPrincipalName); + HostedSolutionLog.DebugInfo("organizationId : {0}", organizationId); + + string accountName = string.Empty; + + try + { + + string path = GetOrganizationPath(organizationId); + DirectoryEntry entry = ActiveDirectoryUtils.GetADObject(path); + + DirectorySearcher searcher = new DirectorySearcher(entry); + searcher.PropertiesToLoad.Add("userPrincipalName"); + searcher.PropertiesToLoad.Add("sAMAccountName"); + searcher.Filter = "(userPrincipalName=" + userPrincipalName + ")"; + searcher.SearchScope = SearchScope.Subtree; + + SearchResult resCollection = searcher.FindOne(); + if (resCollection != null) + { + accountName = resCollection.Properties["samaccountname"][0].ToString(); + } + + HostedSolutionLog.LogEnd("GetSamAccountNameByUserPrincipalNameInternal"); + } + catch (Exception e) + { + HostedSolutionLog.DebugInfo("Failed : {0}", e.Message); + } + + return accountName; + } + + #endregion #region Domains diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj index 7d5b2014..a1441425 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj @@ -131,6 +131,7 @@ + diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs index 7514cfdf..e9fa92c9 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/ExchangeServerProxy.cs @@ -1,31 +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. - //------------------------------------------------------------------------------ // // This code was generated by a tool. @@ -39,9 +11,10 @@ // // This source code was auto-generated by wsdl, Version=2.0.50727.42. // + using WebsitePanel.Providers.HostedSolution; -namespace WebsitePanel.Providers.Exchange -{ + +namespace WebsitePanel.Providers.Exchange { using System.Xml.Serialization; using System.Web.Services; using System.ComponentModel; @@ -61,12 +34,6 @@ namespace WebsitePanel.Providers.Exchange public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue; - private System.Threading.SendOrPostCallback WipeDataFromDeviceOperationCompleted; - - private System.Threading.SendOrPostCallback CancelRemoteWipeRequestOperationCompleted; - - private System.Threading.SendOrPostCallback RemoveDeviceOperationCompleted; - private System.Threading.SendOrPostCallback CheckAccountCredentialsOperationCompleted; private System.Threading.SendOrPostCallback ExtendToExchangeOrganizationOperationCompleted; @@ -79,6 +46,8 @@ namespace WebsitePanel.Providers.Exchange private System.Threading.SendOrPostCallback GetOABVirtualDirectoryOperationCompleted; + private System.Threading.SendOrPostCallback CreateOrganizationAddressBookPolicyOperationCompleted; + private System.Threading.SendOrPostCallback DeleteOrganizationOperationCompleted; private System.Threading.SendOrPostCallback SetOrganizationStorageLimitsOperationCompleted; @@ -91,8 +60,6 @@ namespace WebsitePanel.Providers.Exchange private System.Threading.SendOrPostCallback DeleteAuthoritativeDomainOperationCompleted; - private System.Threading.SendOrPostCallback CreateMailboxOperationCompleted; - private System.Threading.SendOrPostCallback DeleteMailboxOperationCompleted; private System.Threading.SendOrPostCallback DisableMailboxOperationCompleted; @@ -193,20 +160,17 @@ namespace WebsitePanel.Providers.Exchange private System.Threading.SendOrPostCallback GetMobileDeviceOperationCompleted; + private System.Threading.SendOrPostCallback WipeDataFromDeviceOperationCompleted; + + private System.Threading.SendOrPostCallback CancelRemoteWipeRequestOperationCompleted; + + private System.Threading.SendOrPostCallback RemoveDeviceOperationCompleted; + /// public ExchangeServer() { - this.Url = "http://localhost:9004/ExchangeServer.asmx"; + this.Url = "http://localhost:9006/ExchangeServer.asmx"; } - /// - public event WipeDataFromDeviceCompletedEventHandler WipeDataFromDeviceCompleted; - - /// - public event CancelRemoteWipeRequestCompletedEventHandler CancelRemoteWipeRequestCompleted; - - /// - public event RemoveDeviceCompletedEventHandler RemoveDeviceCompleted; - /// public event CheckAccountCredentialsCompletedEventHandler CheckAccountCredentialsCompleted; @@ -225,6 +189,9 @@ namespace WebsitePanel.Providers.Exchange /// public event GetOABVirtualDirectoryCompletedEventHandler GetOABVirtualDirectoryCompleted; + /// + public event CreateOrganizationAddressBookPolicyCompletedEventHandler CreateOrganizationAddressBookPolicyCompleted; + /// public event DeleteOrganizationCompletedEventHandler DeleteOrganizationCompleted; @@ -243,9 +210,6 @@ namespace WebsitePanel.Providers.Exchange /// public event DeleteAuthoritativeDomainCompletedEventHandler DeleteAuthoritativeDomainCompleted; - /// - public event CreateMailboxCompletedEventHandler CreateMailboxCompleted; - /// public event DeleteMailboxCompletedEventHandler DeleteMailboxCompleted; @@ -397,124 +361,13 @@ namespace WebsitePanel.Providers.Exchange public event GetMobileDeviceCompletedEventHandler GetMobileDeviceCompleted; /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/WipeDataFromDevice", 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 void WipeDataFromDevice(string id) { - this.Invoke("WipeDataFromDevice", new object[] { - id}); - } + public event WipeDataFromDeviceCompletedEventHandler WipeDataFromDeviceCompleted; /// - public System.IAsyncResult BeginWipeDataFromDevice(string id, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("WipeDataFromDevice", new object[] { - id}, callback, asyncState); - } + public event CancelRemoteWipeRequestCompletedEventHandler CancelRemoteWipeRequestCompleted; /// - public void EndWipeDataFromDevice(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void WipeDataFromDeviceAsync(string id) { - this.WipeDataFromDeviceAsync(id, null); - } - - /// - public void WipeDataFromDeviceAsync(string id, object userState) { - if ((this.WipeDataFromDeviceOperationCompleted == null)) { - this.WipeDataFromDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnWipeDataFromDeviceOperationCompleted); - } - this.InvokeAsync("WipeDataFromDevice", new object[] { - id}, this.WipeDataFromDeviceOperationCompleted, userState); - } - - private void OnWipeDataFromDeviceOperationCompleted(object arg) { - if ((this.WipeDataFromDeviceCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.WipeDataFromDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CancelRemoteWipeRequest", 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 void CancelRemoteWipeRequest(string id) { - this.Invoke("CancelRemoteWipeRequest", new object[] { - id}); - } - - /// - public System.IAsyncResult BeginCancelRemoteWipeRequest(string id, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("CancelRemoteWipeRequest", new object[] { - id}, callback, asyncState); - } - - /// - public void EndCancelRemoteWipeRequest(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void CancelRemoteWipeRequestAsync(string id) { - this.CancelRemoteWipeRequestAsync(id, null); - } - - /// - public void CancelRemoteWipeRequestAsync(string id, object userState) { - if ((this.CancelRemoteWipeRequestOperationCompleted == null)) { - this.CancelRemoteWipeRequestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCancelRemoteWipeRequestOperationCompleted); - } - this.InvokeAsync("CancelRemoteWipeRequest", new object[] { - id}, this.CancelRemoteWipeRequestOperationCompleted, userState); - } - - private void OnCancelRemoteWipeRequestOperationCompleted(object arg) { - if ((this.CancelRemoteWipeRequestCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.CancelRemoteWipeRequestCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/RemoveDevice", 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 void RemoveDevice(string id) { - this.Invoke("RemoveDevice", new object[] { - id}); - } - - /// - public System.IAsyncResult BeginRemoveDevice(string id, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("RemoveDevice", new object[] { - id}, callback, asyncState); - } - - /// - public void EndRemoveDevice(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); - } - - /// - public void RemoveDeviceAsync(string id) { - this.RemoveDeviceAsync(id, null); - } - - /// - public void RemoveDeviceAsync(string id, object userState) { - if ((this.RemoveDeviceOperationCompleted == null)) { - this.RemoveDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveDeviceOperationCompleted); - } - this.InvokeAsync("RemoveDevice", new object[] { - id}, this.RemoveDeviceOperationCompleted, userState); - } - - private void OnRemoveDeviceOperationCompleted(object arg) { - if ((this.RemoveDeviceCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.RemoveDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } + public event RemoveDeviceCompletedEventHandler RemoveDeviceCompleted; /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] @@ -564,18 +417,20 @@ namespace WebsitePanel.Providers.Exchange /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/ExtendToExchangeOrganization", 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 Organization ExtendToExchangeOrganization(string organizationId, string securityGroup) { + public Organization ExtendToExchangeOrganization(string organizationId, string securityGroup, bool IsConsumer) { object[] results = this.Invoke("ExtendToExchangeOrganization", new object[] { organizationId, - securityGroup}); + securityGroup, + IsConsumer}); return ((Organization)(results[0])); } /// - public System.IAsyncResult BeginExtendToExchangeOrganization(string organizationId, string securityGroup, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginExtendToExchangeOrganization(string organizationId, string securityGroup, bool IsConsumer, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("ExtendToExchangeOrganization", new object[] { organizationId, - securityGroup}, callback, asyncState); + securityGroup, + IsConsumer}, callback, asyncState); } /// @@ -585,18 +440,19 @@ namespace WebsitePanel.Providers.Exchange } /// - public void ExtendToExchangeOrganizationAsync(string organizationId, string securityGroup) { - this.ExtendToExchangeOrganizationAsync(organizationId, securityGroup, null); + public void ExtendToExchangeOrganizationAsync(string organizationId, string securityGroup, bool IsConsumer) { + this.ExtendToExchangeOrganizationAsync(organizationId, securityGroup, IsConsumer, null); } /// - public void ExtendToExchangeOrganizationAsync(string organizationId, string securityGroup, object userState) { + public void ExtendToExchangeOrganizationAsync(string organizationId, string securityGroup, bool IsConsumer, object userState) { if ((this.ExtendToExchangeOrganizationOperationCompleted == null)) { this.ExtendToExchangeOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnExtendToExchangeOrganizationOperationCompleted); } this.InvokeAsync("ExtendToExchangeOrganization", new object[] { organizationId, - securityGroup}, this.ExtendToExchangeOrganizationOperationCompleted, userState); + securityGroup, + IsConsumer}, this.ExtendToExchangeOrganizationOperationCompleted, userState); } private void OnExtendToExchangeOrganizationOperationCompleted(object arg) { @@ -616,6 +472,7 @@ namespace WebsitePanel.Providers.Exchange ExchangeAccountType accountType, string mailboxDatabase, string offlineAddressBook, + string addressBookPolicy, string accountName, bool enablePOP, bool enableIMAP, @@ -625,7 +482,12 @@ namespace WebsitePanel.Providers.Exchange int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, - int keepDeletedItemsDays) { + int keepDeletedItemsDays, + int maxRecipients, + int maxSendMessageSizeKB, + int maxReceiveMessageSizeKB, + bool hideFromAddressBook, + bool isConsumer) { object[] results = this.Invoke("CreateMailEnableUser", new object[] { upn, organizationId, @@ -633,6 +495,7 @@ namespace WebsitePanel.Providers.Exchange accountType, mailboxDatabase, offlineAddressBook, + addressBookPolicy, accountName, enablePOP, enableIMAP, @@ -642,7 +505,12 @@ namespace WebsitePanel.Providers.Exchange issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, - keepDeletedItemsDays}); + keepDeletedItemsDays, + maxRecipients, + maxSendMessageSizeKB, + maxReceiveMessageSizeKB, + hideFromAddressBook, + isConsumer}); return ((string)(results[0])); } @@ -654,6 +522,7 @@ namespace WebsitePanel.Providers.Exchange ExchangeAccountType accountType, string mailboxDatabase, string offlineAddressBook, + string addressBookPolicy, string accountName, bool enablePOP, bool enableIMAP, @@ -664,6 +533,11 @@ namespace WebsitePanel.Providers.Exchange int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, + int maxRecipients, + int maxSendMessageSizeKB, + int maxReceiveMessageSizeKB, + bool hideFromAddressBook, + bool isConsumer, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("CreateMailEnableUser", new object[] { @@ -673,6 +547,7 @@ namespace WebsitePanel.Providers.Exchange accountType, mailboxDatabase, offlineAddressBook, + addressBookPolicy, accountName, enablePOP, enableIMAP, @@ -682,7 +557,12 @@ namespace WebsitePanel.Providers.Exchange issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, - keepDeletedItemsDays}, callback, asyncState); + keepDeletedItemsDays, + maxRecipients, + maxSendMessageSizeKB, + maxReceiveMessageSizeKB, + hideFromAddressBook, + isConsumer}, callback, asyncState); } /// @@ -699,27 +579,7 @@ namespace WebsitePanel.Providers.Exchange ExchangeAccountType accountType, string mailboxDatabase, string offlineAddressBook, - string accountName, - bool enablePOP, - bool enableIMAP, - bool enableOWA, - bool enableMAPI, - bool enableActiveSync, - int issueWarningKB, - int prohibitSendKB, - int prohibitSendReceiveKB, - int keepDeletedItemsDays) { - this.CreateMailEnableUserAsync(upn, organizationId, organizationDistinguishedName, accountType, mailboxDatabase, offlineAddressBook, accountName, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, null); - } - - /// - public void CreateMailEnableUserAsync( - string upn, - string organizationId, - string organizationDistinguishedName, - ExchangeAccountType accountType, - string mailboxDatabase, - string offlineAddressBook, + string addressBookPolicy, string accountName, bool enablePOP, bool enableIMAP, @@ -730,6 +590,38 @@ namespace WebsitePanel.Providers.Exchange int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, + int maxRecipients, + int maxSendMessageSizeKB, + int maxReceiveMessageSizeKB, + bool hideFromAddressBook, + bool isConsumer) { + this.CreateMailEnableUserAsync(upn, organizationId, organizationDistinguishedName, accountType, mailboxDatabase, offlineAddressBook, addressBookPolicy, accountName, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, maxRecipients, maxSendMessageSizeKB, maxReceiveMessageSizeKB, hideFromAddressBook, isConsumer, null); + } + + /// + public void CreateMailEnableUserAsync( + string upn, + string organizationId, + string organizationDistinguishedName, + ExchangeAccountType accountType, + string mailboxDatabase, + string offlineAddressBook, + string addressBookPolicy, + string accountName, + bool enablePOP, + bool enableIMAP, + bool enableOWA, + bool enableMAPI, + bool enableActiveSync, + int issueWarningKB, + int prohibitSendKB, + int prohibitSendReceiveKB, + int keepDeletedItemsDays, + int maxRecipients, + int maxSendMessageSizeKB, + int maxReceiveMessageSizeKB, + bool hideFromAddressBook, + bool isConsumer, object userState) { if ((this.CreateMailEnableUserOperationCompleted == null)) { this.CreateMailEnableUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateMailEnableUserOperationCompleted); @@ -741,6 +633,7 @@ namespace WebsitePanel.Providers.Exchange accountType, mailboxDatabase, offlineAddressBook, + addressBookPolicy, accountName, enablePOP, enableIMAP, @@ -750,7 +643,12 @@ namespace WebsitePanel.Providers.Exchange issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, - keepDeletedItemsDays}, this.CreateMailEnableUserOperationCompleted, userState); + keepDeletedItemsDays, + maxRecipients, + maxSendMessageSizeKB, + maxReceiveMessageSizeKB, + hideFromAddressBook, + isConsumer}, this.CreateMailEnableUserOperationCompleted, userState); } private void OnCreateMailEnableUserOperationCompleted(object arg) { @@ -887,31 +785,87 @@ namespace WebsitePanel.Providers.Exchange } } + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateOrganizationAddressBookPolicy", 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 Organization CreateOrganizationAddressBookPolicy(string organizationId, string gal, string addressBook, string roomList, string oab) { + object[] results = this.Invoke("CreateOrganizationAddressBookPolicy", new object[] { + organizationId, + gal, + addressBook, + roomList, + oab}); + return ((Organization)(results[0])); + } + + /// + public System.IAsyncResult BeginCreateOrganizationAddressBookPolicy(string organizationId, string gal, string addressBook, string roomList, string oab, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("CreateOrganizationAddressBookPolicy", new object[] { + organizationId, + gal, + addressBook, + roomList, + oab}, callback, asyncState); + } + + /// + public Organization EndCreateOrganizationAddressBookPolicy(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((Organization)(results[0])); + } + + /// + public void CreateOrganizationAddressBookPolicyAsync(string organizationId, string gal, string addressBook, string roomList, string oab) { + this.CreateOrganizationAddressBookPolicyAsync(organizationId, gal, addressBook, roomList, oab, null); + } + + /// + public void CreateOrganizationAddressBookPolicyAsync(string organizationId, string gal, string addressBook, string roomList, string oab, object userState) { + if ((this.CreateOrganizationAddressBookPolicyOperationCompleted == null)) { + this.CreateOrganizationAddressBookPolicyOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrganizationAddressBookPolicyOperationCompleted); + } + this.InvokeAsync("CreateOrganizationAddressBookPolicy", new object[] { + organizationId, + gal, + addressBook, + roomList, + oab}, this.CreateOrganizationAddressBookPolicyOperationCompleted, userState); + } + + private void OnCreateOrganizationAddressBookPolicyOperationCompleted(object arg) { + if ((this.CreateOrganizationAddressBookPolicyCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.CreateOrganizationAddressBookPolicyCompleted(this, new CreateOrganizationAddressBookPolicyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteOrganization", 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 bool DeleteOrganization(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomsAddressList, string offlineAddressBook, string securityGroup) { + public bool DeleteOrganization(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomList, string offlineAddressBook, string securityGroup, string addressBookPolicy) { object[] results = this.Invoke("DeleteOrganization", new object[] { organizationId, distinguishedName, globalAddressList, addressList, - roomsAddressList, + roomList, offlineAddressBook, - securityGroup}); + securityGroup, + addressBookPolicy}); return ((bool)(results[0])); } /// - public System.IAsyncResult BeginDeleteOrganization(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomsAddressList, string offlineAddressBook, string securityGroup, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteOrganization(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomList, string offlineAddressBook, string securityGroup, string addressBookPolicy, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("DeleteOrganization", new object[] { organizationId, distinguishedName, globalAddressList, addressList, - roomsAddressList, + roomList, offlineAddressBook, - securityGroup}, callback, asyncState); + securityGroup, + addressBookPolicy}, callback, asyncState); } /// @@ -921,12 +875,12 @@ namespace WebsitePanel.Providers.Exchange } /// - public void DeleteOrganizationAsync(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomsAddressList, string offlineAddressBook, string securityGroup) { - this.DeleteOrganizationAsync(organizationId, distinguishedName, globalAddressList, addressList, roomsAddressList, offlineAddressBook, securityGroup, null); + public void DeleteOrganizationAsync(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomList, string offlineAddressBook, string securityGroup, string addressBookPolicy) { + this.DeleteOrganizationAsync(organizationId, distinguishedName, globalAddressList, addressList, roomList, offlineAddressBook, securityGroup, addressBookPolicy, null); } /// - public void DeleteOrganizationAsync(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomsAddressList, string offlineAddressBook, string securityGroup, object userState) { + public void DeleteOrganizationAsync(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomList, string offlineAddressBook, string securityGroup, string addressBookPolicy, object userState) { if ((this.DeleteOrganizationOperationCompleted == null)) { this.DeleteOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteOrganizationOperationCompleted); } @@ -935,9 +889,10 @@ namespace WebsitePanel.Providers.Exchange distinguishedName, globalAddressList, addressList, - roomsAddressList, + roomList, offlineAddressBook, - securityGroup}, this.DeleteOrganizationOperationCompleted, userState); + securityGroup, + addressBookPolicy}, this.DeleteOrganizationOperationCompleted, userState); } private void OnDeleteOrganizationOperationCompleted(object arg) { @@ -1160,188 +1115,6 @@ namespace WebsitePanel.Providers.Exchange } } - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateMailbox", 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 string CreateMailbox( - string organizationId, - string organizationDistinguishedName, - string mailboxDatabase, - string securityGroup, - string offlineAddressBook, - ExchangeAccountType accountType, - string displayName, - string accountName, - string name, - string domain, - string password, - bool enablePOP, - bool enableIMAP, - bool enableOWA, - bool enableMAPI, - bool enableActiveSync, - int issueWarningKB, - int prohibitSendKB, - int prohibitSendReceiveKB, - int keepDeletedItemsDays) { - object[] results = this.Invoke("CreateMailbox", new object[] { - organizationId, - organizationDistinguishedName, - mailboxDatabase, - securityGroup, - offlineAddressBook, - accountType, - displayName, - accountName, - name, - domain, - password, - enablePOP, - enableIMAP, - enableOWA, - enableMAPI, - enableActiveSync, - issueWarningKB, - prohibitSendKB, - prohibitSendReceiveKB, - keepDeletedItemsDays}); - return ((string)(results[0])); - } - - /// - public System.IAsyncResult BeginCreateMailbox( - string organizationId, - string organizationDistinguishedName, - string mailboxDatabase, - string securityGroup, - string offlineAddressBook, - ExchangeAccountType accountType, - string displayName, - string accountName, - string name, - string domain, - string password, - bool enablePOP, - bool enableIMAP, - bool enableOWA, - bool enableMAPI, - bool enableActiveSync, - int issueWarningKB, - int prohibitSendKB, - int prohibitSendReceiveKB, - int keepDeletedItemsDays, - System.AsyncCallback callback, - object asyncState) { - return this.BeginInvoke("CreateMailbox", new object[] { - organizationId, - organizationDistinguishedName, - mailboxDatabase, - securityGroup, - offlineAddressBook, - accountType, - displayName, - accountName, - name, - domain, - password, - enablePOP, - enableIMAP, - enableOWA, - enableMAPI, - enableActiveSync, - issueWarningKB, - prohibitSendKB, - prohibitSendReceiveKB, - keepDeletedItemsDays}, callback, asyncState); - } - - /// - public string EndCreateMailbox(System.IAsyncResult asyncResult) { - object[] results = this.EndInvoke(asyncResult); - return ((string)(results[0])); - } - - /// - public void CreateMailboxAsync( - string organizationId, - string organizationDistinguishedName, - string mailboxDatabase, - string securityGroup, - string offlineAddressBook, - ExchangeAccountType accountType, - string displayName, - string accountName, - string name, - string domain, - string password, - bool enablePOP, - bool enableIMAP, - bool enableOWA, - bool enableMAPI, - bool enableActiveSync, - int issueWarningKB, - int prohibitSendKB, - int prohibitSendReceiveKB, - int keepDeletedItemsDays) { - this.CreateMailboxAsync(organizationId, organizationDistinguishedName, mailboxDatabase, securityGroup, offlineAddressBook, accountType, displayName, accountName, name, domain, password, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, null); - } - - /// - public void CreateMailboxAsync( - string organizationId, - string organizationDistinguishedName, - string mailboxDatabase, - string securityGroup, - string offlineAddressBook, - ExchangeAccountType accountType, - string displayName, - string accountName, - string name, - string domain, - string password, - bool enablePOP, - bool enableIMAP, - bool enableOWA, - bool enableMAPI, - bool enableActiveSync, - int issueWarningKB, - int prohibitSendKB, - int prohibitSendReceiveKB, - int keepDeletedItemsDays, - object userState) { - if ((this.CreateMailboxOperationCompleted == null)) { - this.CreateMailboxOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateMailboxOperationCompleted); - } - this.InvokeAsync("CreateMailbox", new object[] { - organizationId, - organizationDistinguishedName, - mailboxDatabase, - securityGroup, - offlineAddressBook, - accountType, - displayName, - accountName, - name, - domain, - password, - enablePOP, - enableIMAP, - enableOWA, - enableMAPI, - enableActiveSync, - issueWarningKB, - prohibitSendKB, - prohibitSendReceiveKB, - keepDeletedItemsDays}, this.CreateMailboxOperationCompleted, userState); - } - - private void OnCreateMailboxOperationCompleted(object arg) { - if ((this.CreateMailboxCompleted != null)) { - System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.CreateMailboxCompleted(this, new CreateMailboxCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); - } - } - /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteMailbox", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] @@ -1467,115 +1240,19 @@ namespace WebsitePanel.Providers.Exchange /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetMailboxGeneralSettings", 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 void SetMailboxGeneralSettings( - string accountName, - string displayName, - string password, - bool hideFromAddressBook, - bool disabled, - string firstName, - string initials, - string lastName, - string address, - string city, - string state, - string zip, - string country, - string jobTitle, - string company, - string department, - string office, - string managerAccountName, - string businessPhone, - string fax, - string homePhone, - string mobilePhone, - string pager, - string webPage, - string notes) { + public void SetMailboxGeneralSettings(string accountName, bool hideFromAddressBook, bool disabled) { this.Invoke("SetMailboxGeneralSettings", new object[] { accountName, - displayName, - password, hideFromAddressBook, - disabled, - firstName, - initials, - lastName, - address, - city, - state, - zip, - country, - jobTitle, - company, - department, - office, - managerAccountName, - businessPhone, - fax, - homePhone, - mobilePhone, - pager, - webPage, - notes}); + disabled}); } /// - public System.IAsyncResult BeginSetMailboxGeneralSettings( - string accountName, - string displayName, - string password, - bool hideFromAddressBook, - bool disabled, - string firstName, - string initials, - string lastName, - string address, - string city, - string state, - string zip, - string country, - string jobTitle, - string company, - string department, - string office, - string managerAccountName, - string businessPhone, - string fax, - string homePhone, - string mobilePhone, - string pager, - string webPage, - string notes, - System.AsyncCallback callback, - object asyncState) { + public System.IAsyncResult BeginSetMailboxGeneralSettings(string accountName, bool hideFromAddressBook, bool disabled, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("SetMailboxGeneralSettings", new object[] { accountName, - displayName, - password, hideFromAddressBook, - disabled, - firstName, - initials, - lastName, - address, - city, - state, - zip, - country, - jobTitle, - company, - department, - office, - managerAccountName, - businessPhone, - fax, - homePhone, - mobilePhone, - pager, - webPage, - notes}, callback, asyncState); + disabled}, callback, asyncState); } /// @@ -1584,92 +1261,19 @@ namespace WebsitePanel.Providers.Exchange } /// - public void SetMailboxGeneralSettingsAsync( - string accountName, - string displayName, - string password, - bool hideFromAddressBook, - bool disabled, - string firstName, - string initials, - string lastName, - string address, - string city, - string state, - string zip, - string country, - string jobTitle, - string company, - string department, - string office, - string managerAccountName, - string businessPhone, - string fax, - string homePhone, - string mobilePhone, - string pager, - string webPage, - string notes) { - this.SetMailboxGeneralSettingsAsync(accountName, displayName, password, hideFromAddressBook, disabled, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes, null); + public void SetMailboxGeneralSettingsAsync(string accountName, bool hideFromAddressBook, bool disabled) { + this.SetMailboxGeneralSettingsAsync(accountName, hideFromAddressBook, disabled, null); } /// - public void SetMailboxGeneralSettingsAsync( - string accountName, - string displayName, - string password, - bool hideFromAddressBook, - bool disabled, - string firstName, - string initials, - string lastName, - string address, - string city, - string state, - string zip, - string country, - string jobTitle, - string company, - string department, - string office, - string managerAccountName, - string businessPhone, - string fax, - string homePhone, - string mobilePhone, - string pager, - string webPage, - string notes, - object userState) { + public void SetMailboxGeneralSettingsAsync(string accountName, bool hideFromAddressBook, bool disabled, object userState) { if ((this.SetMailboxGeneralSettingsOperationCompleted == null)) { this.SetMailboxGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxGeneralSettingsOperationCompleted); } this.InvokeAsync("SetMailboxGeneralSettings", new object[] { accountName, - displayName, - password, hideFromAddressBook, - disabled, - firstName, - initials, - lastName, - address, - city, - state, - zip, - country, - jobTitle, - company, - department, - office, - managerAccountName, - businessPhone, - fax, - homePhone, - mobilePhone, - pager, - webPage, - notes}, this.SetMailboxGeneralSettingsOperationCompleted, userState); + disabled}, this.SetMailboxGeneralSettingsOperationCompleted, userState); } private void OnSetMailboxGeneralSettingsOperationCompleted(object arg) { @@ -1724,7 +1328,7 @@ namespace WebsitePanel.Providers.Exchange /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetMailboxMailFlowSettings", 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 void SetMailboxMailFlowSettings(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication) { + public void SetMailboxMailFlowSettings(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { this.Invoke("SetMailboxMailFlowSettings", new object[] { accountName, enableForwarding, @@ -1733,14 +1337,11 @@ namespace WebsitePanel.Providers.Exchange sendOnBehalfAccounts, acceptAccounts, rejectAccounts, - maxRecipients, - maxSendMessageSizeKB, - maxReceiveMessageSizeKB, requireSenderAuthentication}); } /// - public System.IAsyncResult BeginSetMailboxMailFlowSettings(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginSetMailboxMailFlowSettings(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("SetMailboxMailFlowSettings", new object[] { accountName, enableForwarding, @@ -1749,9 +1350,6 @@ namespace WebsitePanel.Providers.Exchange sendOnBehalfAccounts, acceptAccounts, rejectAccounts, - maxRecipients, - maxSendMessageSizeKB, - maxReceiveMessageSizeKB, requireSenderAuthentication}, callback, asyncState); } @@ -1761,12 +1359,12 @@ namespace WebsitePanel.Providers.Exchange } /// - public void SetMailboxMailFlowSettingsAsync(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication) { - this.SetMailboxMailFlowSettingsAsync(accountName, enableForwarding, forwardingAccountName, forwardToBoth, sendOnBehalfAccounts, acceptAccounts, rejectAccounts, maxRecipients, maxSendMessageSizeKB, maxReceiveMessageSizeKB, requireSenderAuthentication, null); + public void SetMailboxMailFlowSettingsAsync(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { + this.SetMailboxMailFlowSettingsAsync(accountName, enableForwarding, forwardingAccountName, forwardToBoth, sendOnBehalfAccounts, acceptAccounts, rejectAccounts, requireSenderAuthentication, null); } /// - public void SetMailboxMailFlowSettingsAsync(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication, object userState) { + public void SetMailboxMailFlowSettingsAsync(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) { if ((this.SetMailboxMailFlowSettingsOperationCompleted == null)) { this.SetMailboxMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxMailFlowSettingsOperationCompleted); } @@ -1778,9 +1376,6 @@ namespace WebsitePanel.Providers.Exchange sendOnBehalfAccounts, acceptAccounts, rejectAccounts, - maxRecipients, - maxSendMessageSizeKB, - maxReceiveMessageSizeKB, requireSenderAuthentication}, this.SetMailboxMailFlowSettingsOperationCompleted, userState); } @@ -1836,7 +1431,7 @@ namespace WebsitePanel.Providers.Exchange /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetMailboxAdvancedSettings", 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 void SetMailboxAdvancedSettings(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) { + public void SetMailboxAdvancedSettings(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB) { this.Invoke("SetMailboxAdvancedSettings", new object[] { organizationId, accountName, @@ -1848,11 +1443,30 @@ namespace WebsitePanel.Providers.Exchange issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, - keepDeletedItemsDays}); + keepDeletedItemsDays, + maxRecipients, + maxSendMessageSizeKB, + maxReceiveMessageSizeKB}); } /// - public System.IAsyncResult BeginSetMailboxAdvancedSettings(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginSetMailboxAdvancedSettings( + string organizationId, + string accountName, + bool enablePOP, + bool enableIMAP, + bool enableOWA, + bool enableMAPI, + bool enableActiveSync, + int issueWarningKB, + int prohibitSendKB, + int prohibitSendReceiveKB, + int keepDeletedItemsDays, + int maxRecipients, + int maxSendMessageSizeKB, + int maxReceiveMessageSizeKB, + System.AsyncCallback callback, + object asyncState) { return this.BeginInvoke("SetMailboxAdvancedSettings", new object[] { organizationId, accountName, @@ -1864,7 +1478,10 @@ namespace WebsitePanel.Providers.Exchange issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, - keepDeletedItemsDays}, callback, asyncState); + keepDeletedItemsDays, + maxRecipients, + maxSendMessageSizeKB, + maxReceiveMessageSizeKB}, callback, asyncState); } /// @@ -1873,12 +1490,12 @@ namespace WebsitePanel.Providers.Exchange } /// - public void SetMailboxAdvancedSettingsAsync(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) { - this.SetMailboxAdvancedSettingsAsync(organizationId, accountName, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, null); + public void SetMailboxAdvancedSettingsAsync(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB) { + this.SetMailboxAdvancedSettingsAsync(organizationId, accountName, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, maxRecipients, maxSendMessageSizeKB, maxReceiveMessageSizeKB, null); } /// - public void SetMailboxAdvancedSettingsAsync(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, object userState) { + public void SetMailboxAdvancedSettingsAsync(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, object userState) { if ((this.SetMailboxAdvancedSettingsOperationCompleted == null)) { this.SetMailboxAdvancedSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMailboxAdvancedSettingsOperationCompleted); } @@ -1893,7 +1510,10 @@ namespace WebsitePanel.Providers.Exchange issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, - keepDeletedItemsDays}, this.SetMailboxAdvancedSettingsOperationCompleted, userState); + keepDeletedItemsDays, + maxRecipients, + maxSendMessageSizeKB, + maxReceiveMessageSizeKB}, this.SetMailboxAdvancedSettingsOperationCompleted, userState); } private void OnSetMailboxAdvancedSettingsOperationCompleted(object arg) { @@ -2620,7 +2240,7 @@ namespace WebsitePanel.Providers.Exchange /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateDistributionList", 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 void CreateDistributionList(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy) { + public void CreateDistributionList(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy, string[] addressLists) { this.Invoke("CreateDistributionList", new object[] { organizationId, organizationDistinguishedName, @@ -2628,11 +2248,12 @@ namespace WebsitePanel.Providers.Exchange accountName, name, domain, - managedBy}); + managedBy, + addressLists}); } /// - public System.IAsyncResult BeginCreateDistributionList(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginCreateDistributionList(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy, string[] addressLists, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("CreateDistributionList", new object[] { organizationId, organizationDistinguishedName, @@ -2640,7 +2261,8 @@ namespace WebsitePanel.Providers.Exchange accountName, name, domain, - managedBy}, callback, asyncState); + managedBy, + addressLists}, callback, asyncState); } /// @@ -2649,12 +2271,12 @@ namespace WebsitePanel.Providers.Exchange } /// - public void CreateDistributionListAsync(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy) { - this.CreateDistributionListAsync(organizationId, organizationDistinguishedName, displayName, accountName, name, domain, managedBy, null); + public void CreateDistributionListAsync(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy, string[] addressLists) { + this.CreateDistributionListAsync(organizationId, organizationDistinguishedName, displayName, accountName, name, domain, managedBy, addressLists, null); } /// - public void CreateDistributionListAsync(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy, object userState) { + public void CreateDistributionListAsync(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy, string[] addressLists, object userState) { if ((this.CreateDistributionListOperationCompleted == null)) { this.CreateDistributionListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateDistributionListOperationCompleted); } @@ -2665,7 +2287,8 @@ namespace WebsitePanel.Providers.Exchange accountName, name, domain, - managedBy}, this.CreateDistributionListOperationCompleted, userState); + managedBy, + addressLists}, this.CreateDistributionListOperationCompleted, userState); } private void OnCreateDistributionListOperationCompleted(object arg) { @@ -2760,25 +2383,27 @@ namespace WebsitePanel.Providers.Exchange /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetDistributionListGeneralSettings", 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 void SetDistributionListGeneralSettings(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] members, string notes) { + public void SetDistributionListGeneralSettings(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] members, string notes, string[] addressLists) { this.Invoke("SetDistributionListGeneralSettings", new object[] { accountName, displayName, hideFromAddressBook, managedBy, members, - notes}); + notes, + addressLists}); } /// - public System.IAsyncResult BeginSetDistributionListGeneralSettings(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] members, string notes, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginSetDistributionListGeneralSettings(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] members, string notes, string[] addressLists, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("SetDistributionListGeneralSettings", new object[] { accountName, displayName, hideFromAddressBook, managedBy, members, - notes}, callback, asyncState); + notes, + addressLists}, callback, asyncState); } /// @@ -2787,12 +2412,12 @@ namespace WebsitePanel.Providers.Exchange } /// - public void SetDistributionListGeneralSettingsAsync(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] members, string notes) { - this.SetDistributionListGeneralSettingsAsync(accountName, displayName, hideFromAddressBook, managedBy, members, notes, null); + public void SetDistributionListGeneralSettingsAsync(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] members, string notes, string[] addressLists) { + this.SetDistributionListGeneralSettingsAsync(accountName, displayName, hideFromAddressBook, managedBy, members, notes, addressLists, null); } /// - public void SetDistributionListGeneralSettingsAsync(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] members, string notes, object userState) { + public void SetDistributionListGeneralSettingsAsync(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] members, string notes, string[] addressLists, object userState) { if ((this.SetDistributionListGeneralSettingsOperationCompleted == null)) { this.SetDistributionListGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDistributionListGeneralSettingsOperationCompleted); } @@ -2802,7 +2427,8 @@ namespace WebsitePanel.Providers.Exchange hideFromAddressBook, managedBy, members, - notes}, this.SetDistributionListGeneralSettingsOperationCompleted, userState); + notes, + addressLists}, this.SetDistributionListGeneralSettingsOperationCompleted, userState); } private void OnSetDistributionListGeneralSettingsOperationCompleted(object arg) { @@ -2857,21 +2483,23 @@ namespace WebsitePanel.Providers.Exchange /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetDistributionListMailFlowSettings", 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 void SetDistributionListMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { + public void SetDistributionListMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, string[] addressLists) { this.Invoke("SetDistributionListMailFlowSettings", new object[] { accountName, acceptAccounts, rejectAccounts, - requireSenderAuthentication}); + requireSenderAuthentication, + addressLists}); } /// - public System.IAsyncResult BeginSetDistributionListMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginSetDistributionListMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, string[] addressLists, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("SetDistributionListMailFlowSettings", new object[] { accountName, acceptAccounts, rejectAccounts, - requireSenderAuthentication}, callback, asyncState); + requireSenderAuthentication, + addressLists}, callback, asyncState); } /// @@ -2880,12 +2508,12 @@ namespace WebsitePanel.Providers.Exchange } /// - public void SetDistributionListMailFlowSettingsAsync(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) { - this.SetDistributionListMailFlowSettingsAsync(accountName, acceptAccounts, rejectAccounts, requireSenderAuthentication, null); + public void SetDistributionListMailFlowSettingsAsync(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, string[] addressLists) { + this.SetDistributionListMailFlowSettingsAsync(accountName, acceptAccounts, rejectAccounts, requireSenderAuthentication, addressLists, null); } /// - public void SetDistributionListMailFlowSettingsAsync(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, object userState) { + public void SetDistributionListMailFlowSettingsAsync(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, string[] addressLists, object userState) { if ((this.SetDistributionListMailFlowSettingsOperationCompleted == null)) { this.SetDistributionListMailFlowSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDistributionListMailFlowSettingsOperationCompleted); } @@ -2893,7 +2521,8 @@ namespace WebsitePanel.Providers.Exchange accountName, acceptAccounts, rejectAccounts, - requireSenderAuthentication}, this.SetDistributionListMailFlowSettingsOperationCompleted, userState); + requireSenderAuthentication, + addressLists}, this.SetDistributionListMailFlowSettingsOperationCompleted, userState); } private void OnSetDistributionListMailFlowSettingsOperationCompleted(object arg) { @@ -2948,17 +2577,19 @@ namespace WebsitePanel.Providers.Exchange /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetDistributionListEmailAddresses", 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 void SetDistributionListEmailAddresses(string accountName, string[] emailAddresses) { + public void SetDistributionListEmailAddresses(string accountName, string[] emailAddresses, string[] addressLists) { this.Invoke("SetDistributionListEmailAddresses", new object[] { accountName, - emailAddresses}); + emailAddresses, + addressLists}); } /// - public System.IAsyncResult BeginSetDistributionListEmailAddresses(string accountName, string[] emailAddresses, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginSetDistributionListEmailAddresses(string accountName, string[] emailAddresses, string[] addressLists, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("SetDistributionListEmailAddresses", new object[] { accountName, - emailAddresses}, callback, asyncState); + emailAddresses, + addressLists}, callback, asyncState); } /// @@ -2967,18 +2598,19 @@ namespace WebsitePanel.Providers.Exchange } /// - public void SetDistributionListEmailAddressesAsync(string accountName, string[] emailAddresses) { - this.SetDistributionListEmailAddressesAsync(accountName, emailAddresses, null); + public void SetDistributionListEmailAddressesAsync(string accountName, string[] emailAddresses, string[] addressLists) { + this.SetDistributionListEmailAddressesAsync(accountName, emailAddresses, addressLists, null); } /// - public void SetDistributionListEmailAddressesAsync(string accountName, string[] emailAddresses, object userState) { + public void SetDistributionListEmailAddressesAsync(string accountName, string[] emailAddresses, string[] addressLists, object userState) { if ((this.SetDistributionListEmailAddressesOperationCompleted == null)) { this.SetDistributionListEmailAddressesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDistributionListEmailAddressesOperationCompleted); } this.InvokeAsync("SetDistributionListEmailAddresses", new object[] { accountName, - emailAddresses}, this.SetDistributionListEmailAddressesOperationCompleted, userState); + emailAddresses, + addressLists}, this.SetDistributionListEmailAddressesOperationCompleted, userState); } private void OnSetDistributionListEmailAddressesOperationCompleted(object arg) { @@ -2991,17 +2623,19 @@ namespace WebsitePanel.Providers.Exchange /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetDistributionListPrimaryEmailAddress", 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 void SetDistributionListPrimaryEmailAddress(string accountName, string emailAddress) { + public void SetDistributionListPrimaryEmailAddress(string accountName, string emailAddress, string[] addressLists) { this.Invoke("SetDistributionListPrimaryEmailAddress", new object[] { accountName, - emailAddress}); + emailAddress, + addressLists}); } /// - public System.IAsyncResult BeginSetDistributionListPrimaryEmailAddress(string accountName, string emailAddress, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginSetDistributionListPrimaryEmailAddress(string accountName, string emailAddress, string[] addressLists, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("SetDistributionListPrimaryEmailAddress", new object[] { accountName, - emailAddress}, callback, asyncState); + emailAddress, + addressLists}, callback, asyncState); } /// @@ -3010,18 +2644,19 @@ namespace WebsitePanel.Providers.Exchange } /// - public void SetDistributionListPrimaryEmailAddressAsync(string accountName, string emailAddress) { - this.SetDistributionListPrimaryEmailAddressAsync(accountName, emailAddress, null); + public void SetDistributionListPrimaryEmailAddressAsync(string accountName, string emailAddress, string[] addressLists) { + this.SetDistributionListPrimaryEmailAddressAsync(accountName, emailAddress, addressLists, null); } /// - public void SetDistributionListPrimaryEmailAddressAsync(string accountName, string emailAddress, object userState) { + public void SetDistributionListPrimaryEmailAddressAsync(string accountName, string emailAddress, string[] addressLists, object userState) { if ((this.SetDistributionListPrimaryEmailAddressOperationCompleted == null)) { this.SetDistributionListPrimaryEmailAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDistributionListPrimaryEmailAddressOperationCompleted); } this.InvokeAsync("SetDistributionListPrimaryEmailAddress", new object[] { accountName, - emailAddress}, this.SetDistributionListPrimaryEmailAddressOperationCompleted, userState); + emailAddress, + addressLists}, this.SetDistributionListPrimaryEmailAddressOperationCompleted, userState); } private void OnSetDistributionListPrimaryEmailAddressOperationCompleted(object arg) { @@ -3034,21 +2669,23 @@ namespace WebsitePanel.Providers.Exchange /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetDistributionListPermissions", 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 void SetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts) { + public void SetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, string[] addressLists) { this.Invoke("SetDistributionListPermissions", new object[] { organizationId, accountName, sendAsAccounts, - sendOnBehalfAccounts}); + sendOnBehalfAccounts, + addressLists}); } /// - public System.IAsyncResult BeginSetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginSetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, string[] addressLists, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("SetDistributionListPermissions", new object[] { organizationId, accountName, sendAsAccounts, - sendOnBehalfAccounts}, callback, asyncState); + sendOnBehalfAccounts, + addressLists}, callback, asyncState); } /// @@ -3057,12 +2694,12 @@ namespace WebsitePanel.Providers.Exchange } /// - public void SetDistributionListPermissionsAsync(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts) { - this.SetDistributionListPermissionsAsync(organizationId, accountName, sendAsAccounts, sendOnBehalfAccounts, null); + public void SetDistributionListPermissionsAsync(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, string[] addressLists) { + this.SetDistributionListPermissionsAsync(organizationId, accountName, sendAsAccounts, sendOnBehalfAccounts, addressLists, null); } /// - public void SetDistributionListPermissionsAsync(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, object userState) { + public void SetDistributionListPermissionsAsync(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, string[] addressLists, object userState) { if ((this.SetDistributionListPermissionsOperationCompleted == null)) { this.SetDistributionListPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDistributionListPermissionsOperationCompleted); } @@ -3070,7 +2707,8 @@ namespace WebsitePanel.Providers.Exchange organizationId, accountName, sendAsAccounts, - sendOnBehalfAccounts}, this.SetDistributionListPermissionsOperationCompleted, userState); + sendOnBehalfAccounts, + addressLists}, this.SetDistributionListPermissionsOperationCompleted, userState); } private void OnSetDistributionListPermissionsOperationCompleted(object arg) { @@ -4079,24 +3717,132 @@ namespace WebsitePanel.Providers.Exchange } } + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/WipeDataFromDevice", 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 void WipeDataFromDevice(string id) { + this.Invoke("WipeDataFromDevice", new object[] { + id}); + } + + /// + public System.IAsyncResult BeginWipeDataFromDevice(string id, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("WipeDataFromDevice", new object[] { + id}, callback, asyncState); + } + + /// + public void EndWipeDataFromDevice(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void WipeDataFromDeviceAsync(string id) { + this.WipeDataFromDeviceAsync(id, null); + } + + /// + public void WipeDataFromDeviceAsync(string id, object userState) { + if ((this.WipeDataFromDeviceOperationCompleted == null)) { + this.WipeDataFromDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnWipeDataFromDeviceOperationCompleted); + } + this.InvokeAsync("WipeDataFromDevice", new object[] { + id}, this.WipeDataFromDeviceOperationCompleted, userState); + } + + private void OnWipeDataFromDeviceOperationCompleted(object arg) { + if ((this.WipeDataFromDeviceCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.WipeDataFromDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CancelRemoteWipeRequest", 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 void CancelRemoteWipeRequest(string id) { + this.Invoke("CancelRemoteWipeRequest", new object[] { + id}); + } + + /// + public System.IAsyncResult BeginCancelRemoteWipeRequest(string id, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("CancelRemoteWipeRequest", new object[] { + id}, callback, asyncState); + } + + /// + public void EndCancelRemoteWipeRequest(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void CancelRemoteWipeRequestAsync(string id) { + this.CancelRemoteWipeRequestAsync(id, null); + } + + /// + public void CancelRemoteWipeRequestAsync(string id, object userState) { + if ((this.CancelRemoteWipeRequestOperationCompleted == null)) { + this.CancelRemoteWipeRequestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCancelRemoteWipeRequestOperationCompleted); + } + this.InvokeAsync("CancelRemoteWipeRequest", new object[] { + id}, this.CancelRemoteWipeRequestOperationCompleted, userState); + } + + private void OnCancelRemoteWipeRequestOperationCompleted(object arg) { + if ((this.CancelRemoteWipeRequestCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.CancelRemoteWipeRequestCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/RemoveDevice", 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 void RemoveDevice(string id) { + this.Invoke("RemoveDevice", new object[] { + id}); + } + + /// + public System.IAsyncResult BeginRemoveDevice(string id, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("RemoveDevice", new object[] { + id}, callback, asyncState); + } + + /// + public void EndRemoveDevice(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void RemoveDeviceAsync(string id) { + this.RemoveDeviceAsync(id, null); + } + + /// + public void RemoveDeviceAsync(string id, object userState) { + if ((this.RemoveDeviceOperationCompleted == null)) { + this.RemoveDeviceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveDeviceOperationCompleted); + } + this.InvokeAsync("RemoveDevice", new object[] { + id}, this.RemoveDeviceOperationCompleted, userState); + } + + private void OnRemoveDeviceOperationCompleted(object arg) { + if ((this.RemoveDeviceCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.RemoveDeviceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// public new void CancelAsync(object userState) { base.CancelAsync(userState); } } - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void WipeDataFromDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void CancelRemoteWipeRequestCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void RemoveDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CheckAccountCredentialsCompletedEventHandler(object sender, CheckAccountCredentialsCompletedEventArgs e); @@ -4231,6 +3977,32 @@ namespace WebsitePanel.Providers.Exchange } } + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CreateOrganizationAddressBookPolicyCompletedEventHandler(object sender, CreateOrganizationAddressBookPolicyCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CreateOrganizationAddressBookPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal CreateOrganizationAddressBookPolicyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public Organization Result { + get { + this.RaiseExceptionIfNecessary(); + return ((Organization)(this.results[0])); + } + } + } + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteOrganizationCompletedEventHandler(object sender, DeleteOrganizationCompletedEventArgs e); @@ -4321,32 +4093,6 @@ namespace WebsitePanel.Providers.Exchange [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteAuthoritativeDomainCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void CreateMailboxCompletedEventHandler(object sender, CreateMailboxCompletedEventArgs e); - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class CreateMailboxCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { - - private object[] results; - - internal CreateMailboxCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : - base(exception, cancelled, userState) { - this.results = results; - } - - /// - public string Result { - get { - this.RaiseExceptionIfNecessary(); - return ((string)(this.results[0])); - } - } - } - /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteMailboxCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); @@ -5008,4 +4754,16 @@ namespace WebsitePanel.Providers.Exchange } } } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void WipeDataFromDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CancelRemoteWipeRequestCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void RemoveDeviceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); } diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/OrganizationProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/OrganizationProxy.cs index ed96ad4f..8121e66d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/OrganizationProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/OrganizationProxy.cs @@ -1,35 +1,7 @@ -// 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. - //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.3053 +// Runtime Version:2.0.50727.5456 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -39,17 +11,17 @@ // // This source code was auto-generated by wsdl, Version=2.0.50727.42. // -using WebsitePanel.Providers.Common; -using WebsitePanel.Providers.ResultObjects; - namespace WebsitePanel.Providers.HostedSolution { - using System.Diagnostics; + using System.Xml.Serialization; using System.Web.Services; using System.ComponentModel; using System.Web.Services.Protocols; using System; - using System.Xml.Serialization; - + using System.Diagnostics; + + using WebsitePanel.Providers.Common; + using WebsitePanel.Providers.ResultObjects; + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] @@ -72,7 +44,7 @@ namespace WebsitePanel.Providers.HostedSolution { private System.Threading.SendOrPostCallback DeleteUserOperationCompleted; - private System.Threading.SendOrPostCallback GeUserGeneralSettingsOperationCompleted; + private System.Threading.SendOrPostCallback GetUserGeneralSettingsOperationCompleted; private System.Threading.SendOrPostCallback SetUserGeneralSettingsOperationCompleted; @@ -82,9 +54,11 @@ namespace WebsitePanel.Providers.HostedSolution { private System.Threading.SendOrPostCallback GetPasswordPolicyOperationCompleted; + private System.Threading.SendOrPostCallback GetSamAccountNameByUserPrincipalNameOperationCompleted; + /// public Organizations() { - this.Url = "http://exchange-dev:9003/Organizations.asmx"; + this.Url = "http://localhost:9006/Organizations.asmx"; } /// @@ -103,7 +77,7 @@ namespace WebsitePanel.Providers.HostedSolution { public event DeleteUserCompletedEventHandler DeleteUserCompleted; /// - public event GeUserGeneralSettingsCompletedEventHandler GeUserGeneralSettingsCompleted; + public event GetUserGeneralSettingsCompletedEventHandler GetUserGeneralSettingsCompleted; /// public event SetUserGeneralSettingsCompletedEventHandler SetUserGeneralSettingsCompleted; @@ -117,6 +91,9 @@ namespace WebsitePanel.Providers.HostedSolution { /// public event GetPasswordPolicyCompletedEventHandler GetPasswordPolicyCompleted; + /// + public event GetSamAccountNameByUserPrincipalNameCompletedEventHandler GetSamAccountNameByUserPrincipalNameCompleted; + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/OrganizationExists", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] @@ -244,14 +221,15 @@ namespace WebsitePanel.Providers.HostedSolution { /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/CreateUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public void CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled) { - this.Invoke("CreateUser", new object[] { + public int CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled) { + object[] results = this.Invoke("CreateUser", new object[] { organizationId, loginName, displayName, upn, password, enabled}); + return ((int)(results[0])); } /// @@ -266,8 +244,9 @@ namespace WebsitePanel.Providers.HostedSolution { } /// - public void EndCreateUser(System.IAsyncResult asyncResult) { - this.EndInvoke(asyncResult); + public int EndCreateUser(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); } /// @@ -292,7 +271,7 @@ namespace WebsitePanel.Providers.HostedSolution { private void OnCreateUserOperationCompleted(object arg) { if ((this.CreateUserCompleted != null)) { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.CreateUserCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + this.CreateUserCompleted(this, new CreateUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } @@ -341,46 +320,46 @@ namespace WebsitePanel.Providers.HostedSolution { /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GeUserGeneralSettings", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public OrganizationUser GeUserGeneralSettings(string loginName, string organizationId) { - object[] results = this.Invoke("GeUserGeneralSettings", new object[] { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserGeneralSettings", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public OrganizationUser GetUserGeneralSettings(string loginName, string organizationId) { + object[] results = this.Invoke("GetUserGeneralSettings", new object[] { loginName, organizationId}); return ((OrganizationUser)(results[0])); } /// - public System.IAsyncResult BeginGeUserGeneralSettings(string loginName, string organizationId, System.AsyncCallback callback, object asyncState) { - return this.BeginInvoke("GeUserGeneralSettings", new object[] { + public System.IAsyncResult BeginGetUserGeneralSettings(string loginName, string organizationId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetUserGeneralSettings", new object[] { loginName, organizationId}, callback, asyncState); } /// - public OrganizationUser EndGeUserGeneralSettings(System.IAsyncResult asyncResult) { + public OrganizationUser EndGetUserGeneralSettings(System.IAsyncResult asyncResult) { object[] results = this.EndInvoke(asyncResult); return ((OrganizationUser)(results[0])); } /// - public void GeUserGeneralSettingsAsync(string loginName, string organizationId) { - this.GeUserGeneralSettingsAsync(loginName, organizationId, null); + public void GetUserGeneralSettingsAsync(string loginName, string organizationId) { + this.GetUserGeneralSettingsAsync(loginName, organizationId, null); } /// - public void GeUserGeneralSettingsAsync(string loginName, string organizationId, object userState) { - if ((this.GeUserGeneralSettingsOperationCompleted == null)) { - this.GeUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGeUserGeneralSettingsOperationCompleted); + public void GetUserGeneralSettingsAsync(string loginName, string organizationId, object userState) { + if ((this.GetUserGeneralSettingsOperationCompleted == null)) { + this.GetUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserGeneralSettingsOperationCompleted); } - this.InvokeAsync("GeUserGeneralSettings", new object[] { + this.InvokeAsync("GetUserGeneralSettings", new object[] { loginName, - organizationId}, this.GeUserGeneralSettingsOperationCompleted, userState); + organizationId}, this.GetUserGeneralSettingsOperationCompleted, userState); } - private void OnGeUserGeneralSettingsOperationCompleted(object arg) { - if ((this.GeUserGeneralSettingsCompleted != null)) { + private void OnGetUserGeneralSettingsOperationCompleted(object arg) { + if ((this.GetUserGeneralSettingsCompleted != null)) { System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); - this.GeUserGeneralSettingsCompleted(this, new GeUserGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + this.GetUserGeneralSettingsCompleted(this, new GetUserGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } @@ -745,21 +724,57 @@ namespace WebsitePanel.Providers.HostedSolution { } } + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetSamAccountNameByUserPrincipalName", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public string GetSamAccountNameByUserPrincipalName(string organizationId, string userPrincipalName) { + object[] results = this.Invoke("GetSamAccountNameByUserPrincipalName", new object[] { + organizationId, + userPrincipalName}); + return ((string)(results[0])); + } + + /// + public System.IAsyncResult BeginGetSamAccountNameByUserPrincipalName(string organizationId, string userPrincipalName, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetSamAccountNameByUserPrincipalName", new object[] { + organizationId, + userPrincipalName}, callback, asyncState); + } + + /// + public string EndGetSamAccountNameByUserPrincipalName(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((string)(results[0])); + } + + /// + public void GetSamAccountNameByUserPrincipalNameAsync(string organizationId, string userPrincipalName) { + this.GetSamAccountNameByUserPrincipalNameAsync(organizationId, userPrincipalName, null); + } + + /// + public void GetSamAccountNameByUserPrincipalNameAsync(string organizationId, string userPrincipalName, object userState) { + if ((this.GetSamAccountNameByUserPrincipalNameOperationCompleted == null)) { + this.GetSamAccountNameByUserPrincipalNameOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSamAccountNameByUserPrincipalNameOperationCompleted); + } + this.InvokeAsync("GetSamAccountNameByUserPrincipalName", new object[] { + organizationId, + userPrincipalName}, this.GetSamAccountNameByUserPrincipalNameOperationCompleted, userState); + } + + private void OnGetSamAccountNameByUserPrincipalNameOperationCompleted(object arg) { + if ((this.GetSamAccountNameByUserPrincipalNameCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetSamAccountNameByUserPrincipalNameCompleted(this, new GetSamAccountNameByUserPrincipalNameCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// public new void CancelAsync(object userState) { base.CancelAsync(userState); } } - - - - - - - - - /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void OrganizationExistsCompletedEventHandler(object sender, OrganizationExistsCompletedEventArgs e); @@ -818,7 +833,29 @@ namespace WebsitePanel.Providers.HostedSolution { /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void CreateUserCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + public delegate void CreateUserCompletedEventHandler(object sender, CreateUserCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CreateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal CreateUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] @@ -826,17 +863,17 @@ namespace WebsitePanel.Providers.HostedSolution { /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] - public delegate void GeUserGeneralSettingsCompletedEventHandler(object sender, GeUserGeneralSettingsCompletedEventArgs e); + public delegate void GetUserGeneralSettingsCompletedEventHandler(object sender, GetUserGeneralSettingsCompletedEventArgs e); /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] - public partial class GeUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + public partial class GetUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { private object[] results; - internal GeUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + internal GetUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : base(exception, cancelled, userState) { this.results = results; } @@ -887,4 +924,30 @@ namespace WebsitePanel.Providers.HostedSolution { } } } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetSamAccountNameByUserPrincipalNameCompletedEventHandler(object sender, GetSamAccountNameByUserPrincipalNameCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetSamAccountNameByUserPrincipalNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetSamAccountNameByUserPrincipalNameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public string Result { + get { + this.RaiseExceptionIfNecessary(); + return ((string)(this.results[0])); + } + } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Utils/Log.cs b/WebsitePanel/Sources/WebsitePanel.Server.Utils/Log.cs index be3ea63f..e645d9f5 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Utils/Log.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Utils/Log.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -31,125 +31,125 @@ using System.Diagnostics; namespace WebsitePanel.Server.Utils { - /// - /// Application log. - /// - public sealed class Log - { + /// + /// Application log. + /// + public sealed class Log + { private static TraceSwitch logSeverity = new TraceSwitch("Log", "General trace switch"); - - private Log() - { - } - /// - /// Write error to the log. - /// - /// Error message. - /// Exception. - public static void WriteError(string message, Exception ex) - { - try - { - if (logSeverity.TraceError) - { - string line = string.Format("[{0:G}] ERROR: {1}\n{2}\n", DateTime.Now, message, ex); - Trace.TraceError(line); - } - } - catch { } - } + private Log() + { + } - /// - /// Write error to the log. - /// - /// Exception. - public static void WriteError(Exception ex) - { + /// + /// Write error to the log. + /// + /// Error message. + /// Exception. + public static void WriteError(string message, Exception ex) + { + try + { + if (logSeverity.TraceError) + { + string line = string.Format("[{0:G}] ERROR: {1}\n{2}\n", DateTime.Now, message, ex); + Trace.TraceError(line); + } + } + catch { } + } - try - { - if (ex != null) - { - WriteError(ex.Message, ex); - } - } - catch { } - } + /// + /// Write error to the log. + /// + /// Exception. + public static void WriteError(Exception ex) + { - /// - /// Write info message to log - /// - /// - public static void WriteInfo(string message, params object[] args) - { - try - { - if (logSeverity.TraceInfo) - { - Trace.TraceInformation(FormatIncomingMessage(message, args)); - } - } - catch { } - } + try + { + if (ex != null) + { + WriteError(ex.Message, ex); + } + } + catch { } + } - /// - /// Write info message to log - /// - /// - public static void WriteWarning(string message, params object[] args) - { - try - { - if (logSeverity.TraceWarning) - { - Trace.TraceWarning(FormatIncomingMessage(message, args)); - } - } - catch { } - } + /// + /// Write info message to log + /// + /// + public static void WriteInfo(string message, params object[] args) + { + try + { + if (logSeverity.TraceInfo) + { + Trace.TraceInformation(FormatIncomingMessage(message, "INFO", args)); + } + } + catch { } + } - /// - /// Write start message to log - /// - /// + /// + /// Write info message to log + /// + /// + public static void WriteWarning(string message, params object[] args) + { + try + { + if (logSeverity.TraceWarning) + { + Trace.TraceWarning(FormatIncomingMessage(message, "WARNING", args)); + } + } + catch { } + } + + /// + /// Write start message to log + /// + /// public static void WriteStart(string message, params object[] args) - { - try - { - if (logSeverity.TraceInfo) - { - Trace.TraceInformation(FormatIncomingMessage(message, args)); - } - } - catch { } - } - - /// - /// Write end message to log - /// - /// - public static void WriteEnd(string message, params object[] args) - { - try - { - if (logSeverity.TraceInfo) - { - Trace.TraceInformation(FormatIncomingMessage(message, args)); - } - } - catch { } - } + { + try + { + if (logSeverity.TraceInfo) + { + Trace.TraceInformation(FormatIncomingMessage(message, "START", args)); + } + } + catch { } + } - private static string FormatIncomingMessage(string message, params object[] args) - { - // - if (args.Length > 0) - { - message = String.Format(message, args); - } - // - return String.Concat(String.Format("[{0:G}] END: ", DateTime.Now), message); - } - } + /// + /// Write end message to log + /// + /// + public static void WriteEnd(string message, params object[] args) + { + try + { + if (logSeverity.TraceInfo) + { + Trace.TraceInformation(FormatIncomingMessage(message, "END", args)); + } + } + catch { } + } + + private static string FormatIncomingMessage(string message, string tag, params object[] args) + { + // + if (args.Length > 0) + { + message = String.Format(message, args); + } + // + return String.Concat(String.Format("[{0:G}] {1}: ", DateTime.Now, tag), message); + } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServer.asmx.cs index 04617336..c7f05931 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/ExchangeServer.asmx.cs @@ -68,41 +68,43 @@ namespace WebsitePanel.Server } } - #region Organizations - - [WebMethod, SoapHeader("settings")] - public Organization ExtendToExchangeOrganization(string organizationId, string securityGroup) - { - try - { - LogStart("ExtendToExchangeOrganization"); - Organization ret = ES.ExtendToExchangeOrganization(organizationId, securityGroup); - LogEnd("ExtendToExchangeOrganization"); - return ret; - } - catch (Exception ex) - { - LogError("ExtendToExchangeOrganization", ex); - throw; - } - } + #region Organizations [WebMethod, SoapHeader("settings")] - public string CreateMailEnableUser(string upn, string organizationId, string organizationDistinguishedName, ExchangeAccountType accountType, - string mailboxDatabase, string offlineAddressBook, + public Organization ExtendToExchangeOrganization(string organizationId, string securityGroup, bool IsConsumer) + { + try + { + LogStart("ExtendToExchangeOrganization"); + Organization ret = ES.ExtendToExchangeOrganization(organizationId, securityGroup, IsConsumer); + LogEnd("ExtendToExchangeOrganization"); + return ret; + } + catch (Exception ex) + { + LogError("ExtendToExchangeOrganization", ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public string CreateMailEnableUser(string upn, string organizationId, string organizationDistinguishedName, ExchangeAccountType accountType, + string mailboxDatabase, string offlineAddressBook, string addressBookPolicy, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, - int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) + int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, + int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool hideFromAddressBook, bool isConsumer) { try { LogStart("CreateMailEnableUser"); - string ret = ES.CreateMailEnableUser(upn, organizationId, organizationDistinguishedName,accountType, - mailboxDatabase, offlineAddressBook, + string ret = ES.CreateMailEnableUser(upn, organizationId, organizationDistinguishedName, accountType, + mailboxDatabase, offlineAddressBook, addressBookPolicy, accountName, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, - keepDeletedItemsDays); + keepDeletedItemsDays, + maxRecipients, maxSendMessageSizeKB, maxReceiveMessageSizeKB, hideFromAddressBook, isConsumer); LogEnd("CreateMailEnableUser"); return ret; } @@ -113,137 +115,155 @@ namespace WebsitePanel.Server } } - /// - /// Creates organization OAB - /// - /// - /// - /// - /// - [WebMethod, SoapHeader("settings")] - public Organization CreateOrganizationOfflineAddressBook(string organizationId, string securityGroup, string oabVirtualDir) - { - try - { - LogStart("CreateOrganizationOfflineAddressBook"); - Organization ret = ES.CreateOrganizationOfflineAddressBook(organizationId, securityGroup, oabVirtualDir); - LogEnd("CreateOrganizationOfflineAddressBook"); - return ret; - } - catch (Exception ex) - { - LogError("CreateOrganizationOfflineAddressBook", ex); - throw; - } - } + /// + /// Creates organization OAB + /// + /// + /// + /// + /// + [WebMethod, SoapHeader("settings")] + public Organization CreateOrganizationOfflineAddressBook(string organizationId, string securityGroup, string oabVirtualDir) + { + try + { + LogStart("CreateOrganizationOfflineAddressBook"); + Organization ret = ES.CreateOrganizationOfflineAddressBook(organizationId, securityGroup, oabVirtualDir); + LogEnd("CreateOrganizationOfflineAddressBook"); + return ret; + } + catch (Exception ex) + { + LogError("CreateOrganizationOfflineAddressBook", ex); + throw; + } + } - /// - /// Updates organization OAB - /// - /// - [WebMethod, SoapHeader("settings")] - public void UpdateOrganizationOfflineAddressBook(string id) - { - try - { - LogStart("UpdateOrganizationOfflineAddressBook"); - ES.UpdateOrganizationOfflineAddressBook(id); - LogEnd("UpdateOrganizationOfflineAddressBook"); - } - catch (Exception ex) - { - LogError("UpdateOrganizationOfflineAddressBook", ex); - throw; - } - } + /// + /// Updates organization OAB + /// + /// + [WebMethod, SoapHeader("settings")] + public void UpdateOrganizationOfflineAddressBook(string id) + { + try + { + LogStart("UpdateOrganizationOfflineAddressBook"); + ES.UpdateOrganizationOfflineAddressBook(id); + LogEnd("UpdateOrganizationOfflineAddressBook"); + } + catch (Exception ex) + { + LogError("UpdateOrganizationOfflineAddressBook", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public string GetOABVirtualDirectory() - { - try - { - LogStart("GetOABVirtualDirectory"); - string ret = ES.GetOABVirtualDirectory(); - LogEnd("GetOABVirtualDirectory"); - return ret; - } - catch (Exception ex) - { - LogError("GetOABVirtualDirectory", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public string GetOABVirtualDirectory() + { + try + { + LogStart("GetOABVirtualDirectory"); + string ret = ES.GetOABVirtualDirectory(); + LogEnd("GetOABVirtualDirectory"); + return ret; + } + catch (Exception ex) + { + LogError("GetOABVirtualDirectory", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public bool DeleteOrganization(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomsAddressList, string offlineAddressBook, string securityGroup) - { - try - { - LogStart("DeleteOrganization"); - bool ret = ES.DeleteOrganization(organizationId, distinguishedName, globalAddressList, addressList, roomsAddressList, offlineAddressBook, securityGroup); - LogEnd("DeleteOrganization"); - return ret; - } - catch (Exception ex) - { - LogError("DeleteOrganization", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public Organization CreateOrganizationAddressBookPolicy(string organizationId, string gal, string addressBook, string roomList, string oab) + { + try + { + LogStart("CCreateOrganizationAddressBookPolicy"); + Organization ret = ES.CreateOrganizationAddressBookPolicy(organizationId, gal, addressBook, roomList, oab); + LogEnd("CreateOrganizationAddressBookPolicy"); + return ret; + } + catch (Exception ex) + { + LogError("CreateOrganizationAddressBookPolicy", ex); + throw; + } + } + + + [WebMethod, SoapHeader("settings")] + public bool DeleteOrganization(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomList, string offlineAddressBook, string securityGroup, string addressBookPolicy) + { + try + { + LogStart("DeleteOrganization"); + bool ret = ES.DeleteOrganization(organizationId, distinguishedName, globalAddressList, addressList, roomList, offlineAddressBook, securityGroup, addressBookPolicy); + LogEnd("DeleteOrganization"); + return ret; + } + catch (Exception ex) + { + LogError("DeleteOrganization", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public void SetOrganizationStorageLimits(string organizationDistinguishedName, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) - { - try - { - LogStart("SetOrganizationStorageLimits"); - ES.SetOrganizationStorageLimits(organizationDistinguishedName, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays); - LogEnd("SetOrganizationStorageLimits"); - } - catch (Exception ex) - { - LogError("SetOrganizationStorageLimits", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public void SetOrganizationStorageLimits(string organizationDistinguishedName, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) + { + try + { + LogStart("SetOrganizationStorageLimits"); + ES.SetOrganizationStorageLimits(organizationDistinguishedName, issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays); + LogEnd("SetOrganizationStorageLimits"); + } + catch (Exception ex) + { + LogError("SetOrganizationStorageLimits", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public ExchangeItemStatistics[] GetMailboxesStatistics(string organizationDistinguishedName) - { - try - { - LogStart("GetMailboxesStatistics"); - ExchangeItemStatistics[] ret = ES.GetMailboxesStatistics(organizationDistinguishedName); - LogEnd("GetMailboxesStatistics"); - return ret; - } - catch (Exception ex) - { - LogError("GetMailboxesStatistics", ex); - throw; - } - } - #endregion + [WebMethod, SoapHeader("settings")] + public ExchangeItemStatistics[] GetMailboxesStatistics(string organizationDistinguishedName) + { + try + { + LogStart("GetMailboxesStatistics"); + ExchangeItemStatistics[] ret = ES.GetMailboxesStatistics(organizationDistinguishedName); + LogEnd("GetMailboxesStatistics"); + return ret; + } + catch (Exception ex) + { + LogError("GetMailboxesStatistics", ex); + throw; + } + } + #endregion - #region Domains - [WebMethod, SoapHeader("settings")] + #region Domains + [WebMethod, SoapHeader("settings")] public void AddAuthoritativeDomain(string domain) - { - try - { + { + try + { LogStart("AddAuthoritativeDomain"); ES.AddAuthoritativeDomain(domain); LogEnd("AddAuthoritativeDomain"); - } - catch (Exception ex) - { + } + catch (Exception ex) + { LogError("AddAuthoritativeDomain", ex); - throw; - } - } + throw; + } + } [WebMethod, SoapHeader("settings")] @@ -252,7 +272,7 @@ namespace WebsitePanel.Server try { LogStart("GetAuthoritativeDomains"); - string []ret = ES.GetAuthoritativeDomains(); + string[] ret = ES.GetAuthoritativeDomains(); LogEnd("GetAuthoritativeDomains"); return ret; } @@ -263,39 +283,41 @@ namespace WebsitePanel.Server } } - [WebMethod, SoapHeader("settings")] + [WebMethod, SoapHeader("settings")] public void DeleteAuthoritativeDomain(string domain) - { - try - { + { + try + { LogStart("DeleteAuthoritativeDomain"); ES.DeleteAuthoritativeDomain(domain); LogEnd("DeleteAuthoritativeDomain"); - } - catch (Exception ex) - { + } + catch (Exception ex) + { LogError("DeleteAuthoritativeDomain", ex); - throw; - } - } - #endregion + throw; + } + } + #endregion - #region Mailboxes + #region Mailboxes + /* [WebMethod, SoapHeader("settings")] public string CreateMailbox(string organizationId, string organizationDistinguishedName, string mailboxDatabase, - string securityGroup, string offlineAddressBook, ExchangeAccountType accountType, + string securityGroup, string offlineAddressBook, string addressBookPolicy, ExchangeAccountType accountType, string displayName, string accountName, string name, string domain, string password, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, - int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) + int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool hideFromAddressBook) { try { LogStart("CreateMailbox"); string ret = ES.CreateMailbox(organizationId, organizationDistinguishedName, mailboxDatabase, securityGroup, - offlineAddressBook, accountType, + offlineAddressBook, addressBookPolicy, accountType, displayName, accountName, name, domain, password, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, - issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays); + issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, + maxRecipients, maxSendMessageSizeKB, maxReceiveMessageSizeKB, hideFromAddressBook); LogEnd("CreateMailbox"); return ret; } @@ -305,22 +327,22 @@ namespace WebsitePanel.Server throw; } } - - [WebMethod, SoapHeader("settings")] - public void DeleteMailbox(string accountName) - { - try - { - LogStart("DeleteMailbox"); - ES.DeleteMailbox(accountName); - LogEnd("DeleteMailbox"); - } - catch (Exception ex) - { - LogError("DeleteMailbox", ex); - throw; - } - } +*/ + [WebMethod, SoapHeader("settings")] + public void DeleteMailbox(string accountName) + { + try + { + LogStart("DeleteMailbox"); + ES.DeleteMailbox(accountName); + LogEnd("DeleteMailbox"); + } + catch (Exception ex) + { + LogError("DeleteMailbox", ex); + throw; + } + } [WebMethod, SoapHeader("settings")] @@ -339,164 +361,164 @@ namespace WebsitePanel.Server } } - [WebMethod, SoapHeader("settings")] - public ExchangeMailbox GetMailboxGeneralSettings(string accountName) - { - try - { - LogStart("GetMailboxGeneralSettings"); - ExchangeMailbox ret = ES.GetMailboxGeneralSettings(accountName); - LogEnd("GetMailboxGeneralSettings"); - return ret; - } - catch (Exception ex) - { - LogError("GetMailboxGeneralSettings", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public ExchangeMailbox GetMailboxGeneralSettings(string accountName) + { + try + { + LogStart("GetMailboxGeneralSettings"); + ExchangeMailbox ret = ES.GetMailboxGeneralSettings(accountName); + LogEnd("GetMailboxGeneralSettings"); + return ret; + } + catch (Exception ex) + { + LogError("GetMailboxGeneralSettings", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public void SetMailboxGeneralSettings(string accountName, string displayName, string password, bool hideFromAddressBook, bool disabled, string firstName, string initials, string lastName, string address, string city, string state, string zip, string country, string jobTitle, string company, string department, string office, string managerAccountName, string businessPhone, string fax, string homePhone, string mobilePhone, string pager, string webPage, string notes) - { - try - { - LogStart("SetMailboxGeneralSettings"); - ES.SetMailboxGeneralSettings(accountName, displayName, password, hideFromAddressBook, disabled, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes); - LogEnd("SetMailboxGeneralSettings"); - } - catch (Exception ex) - { - LogError("SetMailboxGeneralSettings", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public void SetMailboxGeneralSettings(string accountName, bool hideFromAddressBook, bool disabled) + { + try + { + LogStart("SetMailboxGeneralSettings"); + ES.SetMailboxGeneralSettings(accountName, hideFromAddressBook, disabled); + LogEnd("SetMailboxGeneralSettings"); + } + catch (Exception ex) + { + LogError("SetMailboxGeneralSettings", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public ExchangeMailbox GetMailboxMailFlowSettings(string accountName) - { - try - { - LogStart("GetMailboxMailFlowSettings"); - ExchangeMailbox ret = ES.GetMailboxMailFlowSettings(accountName); - LogEnd("GetMailboxMailFlowSettings"); - return ret; - } - catch (Exception ex) - { - LogError("GetMailboxMailFlowSettings", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public ExchangeMailbox GetMailboxMailFlowSettings(string accountName) + { + try + { + LogStart("GetMailboxMailFlowSettings"); + ExchangeMailbox ret = ES.GetMailboxMailFlowSettings(accountName); + LogEnd("GetMailboxMailFlowSettings"); + return ret; + } + catch (Exception ex) + { + LogError("GetMailboxMailFlowSettings", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public void SetMailboxMailFlowSettings(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication) - { - try - { - LogStart("SetMailboxMailFlowSettings"); - ES.SetMailboxMailFlowSettings(accountName, enableForwarding, forwardingAccountName, forwardToBoth, sendOnBehalfAccounts, acceptAccounts, rejectAccounts, maxRecipients, maxSendMessageSizeKB, maxReceiveMessageSizeKB, requireSenderAuthentication); - LogEnd("SetMailboxMailFlowSettings"); - } - catch (Exception ex) - { - LogError("SetMailboxMailFlowSettings", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public void SetMailboxMailFlowSettings(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) + { + try + { + LogStart("SetMailboxMailFlowSettings"); + ES.SetMailboxMailFlowSettings(accountName, enableForwarding, forwardingAccountName, forwardToBoth, sendOnBehalfAccounts, acceptAccounts, rejectAccounts, requireSenderAuthentication); + LogEnd("SetMailboxMailFlowSettings"); + } + catch (Exception ex) + { + LogError("SetMailboxMailFlowSettings", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public ExchangeMailbox GetMailboxAdvancedSettings(string accountName) - { - try - { - LogStart("GetMailboxAdvancedSettings"); - ExchangeMailbox ret = ES.GetMailboxAdvancedSettings(accountName); - LogEnd("GetMailboxAdvancedSettings"); - return ret; - } - catch (Exception ex) - { - LogError("GetMailboxAdvancedSettings", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public ExchangeMailbox GetMailboxAdvancedSettings(string accountName) + { + try + { + LogStart("GetMailboxAdvancedSettings"); + ExchangeMailbox ret = ES.GetMailboxAdvancedSettings(accountName); + LogEnd("GetMailboxAdvancedSettings"); + return ret; + } + catch (Exception ex) + { + LogError("GetMailboxAdvancedSettings", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public void SetMailboxAdvancedSettings(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, - int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays) - { - try - { - LogStart("SetMailboxAdvancedSettings"); - ES.SetMailboxAdvancedSettings(organizationId, accountName, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, - issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays); - LogEnd("SetMailboxAdvancedSettings"); - } - catch (Exception ex) - { - LogError("SetMailboxAdvancedSettings", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public void SetMailboxAdvancedSettings(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, + int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB) + { + try + { + LogStart("SetMailboxAdvancedSettings"); + ES.SetMailboxAdvancedSettings(organizationId, accountName, enablePOP, enableIMAP, enableOWA, enableMAPI, enableActiveSync, + issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays, maxRecipients, maxSendMessageSizeKB, maxReceiveMessageSizeKB); + LogEnd("SetMailboxAdvancedSettings"); + } + catch (Exception ex) + { + LogError("SetMailboxAdvancedSettings", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public ExchangeEmailAddress[] GetMailboxEmailAddresses(string accountName) - { - try - { - LogStart("GetMailboxEmailAddresses"); - ExchangeEmailAddress[] ret = ES.GetMailboxEmailAddresses(accountName); - LogEnd("GetMailboxEmailAddresses"); - return ret; - } - catch (Exception ex) - { - LogError("GetMailboxEmailAddresses", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public ExchangeEmailAddress[] GetMailboxEmailAddresses(string accountName) + { + try + { + LogStart("GetMailboxEmailAddresses"); + ExchangeEmailAddress[] ret = ES.GetMailboxEmailAddresses(accountName); + LogEnd("GetMailboxEmailAddresses"); + return ret; + } + catch (Exception ex) + { + LogError("GetMailboxEmailAddresses", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public void SetMailboxEmailAddresses(string accountName, string[] emailAddresses) - { - try - { - LogStart("SetMailboxEmailAddresses"); - ES.SetMailboxEmailAddresses(accountName, emailAddresses); - LogEnd("SetMailboxEmailAddresses"); - } - catch (Exception ex) - { - LogError("SetMailboxEmailAddresses", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public void SetMailboxEmailAddresses(string accountName, string[] emailAddresses) + { + try + { + LogStart("SetMailboxEmailAddresses"); + ES.SetMailboxEmailAddresses(accountName, emailAddresses); + LogEnd("SetMailboxEmailAddresses"); + } + catch (Exception ex) + { + LogError("SetMailboxEmailAddresses", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public void SetMailboxPrimaryEmailAddress(string accountName, string emailAddress) - { - try - { - LogStart("SetMailboxPrimaryEmailAddress"); - ES.SetMailboxPrimaryEmailAddress(accountName, emailAddress); - LogEnd("SetMailboxPrimaryEmailAddress"); - } - catch (Exception ex) - { - LogError("SetMailboxPrimaryEmailAddress", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public void SetMailboxPrimaryEmailAddress(string accountName, string emailAddress) + { + try + { + LogStart("SetMailboxPrimaryEmailAddress"); + ES.SetMailboxPrimaryEmailAddress(accountName, emailAddress); + LogEnd("SetMailboxPrimaryEmailAddress"); + } + catch (Exception ex) + { + LogError("SetMailboxPrimaryEmailAddress", ex); + throw; + } + } [WebMethod, SoapHeader("settings")] - public void SetMailboxPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] fullAccessAccounts) + public void SetMailboxPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] fullAccessAccounts) { try { LogStart("SetMailboxPermissions"); - ES.SetMailboxPermissions(organizationId, accountName, sendAsAccounts, fullAccessAccounts); + ES.SetMailboxPermissions(organizationId, accountName, sendAsAccounts, fullAccessAccounts); LogEnd("SetMailboxPermissions"); } catch (Exception ex) @@ -505,16 +527,16 @@ namespace WebsitePanel.Server throw; } } - - + + [WebMethod, SoapHeader("settings")] - public ExchangeMailbox GetMailboxPermissions(string organizationId, string accountName) + public ExchangeMailbox GetMailboxPermissions(string organizationId, string accountName) { try { LogStart("GetMailboxPermissions"); - ExchangeMailbox ret = ES.GetMailboxPermissions(organizationId, accountName); + ExchangeMailbox ret = ES.GetMailboxPermissions(organizationId, accountName); LogEnd("GetMailboxPermissions"); return ret; } @@ -525,285 +547,285 @@ namespace WebsitePanel.Server } } - [WebMethod, SoapHeader("settings")] - public ExchangeMailboxStatistics GetMailboxStatistics(string accountName) - { - try - { - LogStart("GetMailboxStatistics"); - ExchangeMailboxStatistics ret = ES.GetMailboxStatistics(accountName); - LogEnd("GetMailboxStatistics"); - return ret; - } - catch (Exception ex) - { - Log.WriteError("GetMailboxStatistics", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public ExchangeMailboxStatistics GetMailboxStatistics(string accountName) + { + try + { + LogStart("GetMailboxStatistics"); + ExchangeMailboxStatistics ret = ES.GetMailboxStatistics(accountName); + LogEnd("GetMailboxStatistics"); + return ret; + } + catch (Exception ex) + { + Log.WriteError("GetMailboxStatistics", ex); + throw; + } + } #endregion - #region Contacts - [WebMethod, SoapHeader("settings")] + #region Contacts + [WebMethod, SoapHeader("settings")] public void CreateContact(string organizationId, string organizationDistinguishedName, string contactDisplayName, string contactAccountName, string contactEmail, string defaultOrganizationDomain) - { - try - { - LogStart("CreateContact"); + { + try + { + LogStart("CreateContact"); ES.CreateContact(organizationId, organizationDistinguishedName, contactDisplayName, contactAccountName, contactEmail, defaultOrganizationDomain); - LogEnd("CreateContact"); - } - catch (Exception ex) - { - LogError("CreateContact", ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void DeleteContact(string accountName) - { - try - { - LogStart("DeleteContact"); - ES.DeleteContact(accountName); - LogEnd("DeleteContact"); - } - catch (Exception ex) - { - LogError("DeleteContact", ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public ExchangeContact GetContactGeneralSettings(string accountName) - { - try - { - LogStart("GetContactGeneralSettings"); - ExchangeContact ret = ES.GetContactGeneralSettings(accountName); - LogEnd("GetContactGeneralSettings"); - return ret; - } - catch (Exception ex) - { - LogError("GetContactGeneralSettings", ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void SetContactGeneralSettings(string accountName, string displayName, string email, bool hideFromAddressBook, string firstName, string initials, string lastName, string address, string city, string state, string zip, string country, string jobTitle, string company, string department, string office, string managerAccountName, string businessPhone, string fax, string homePhone, string mobilePhone, string pager, string webPage, string notes, int useMapiRichTextFormat, string defaultDomain) - { - try - { - LogStart("SetContactGeneralSettings"); - ES.SetContactGeneralSettings(accountName, displayName, email, hideFromAddressBook, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes, useMapiRichTextFormat, defaultDomain); - LogEnd("SetContactGeneralSettings"); - } - catch (Exception ex) - { - LogError("SetContactGeneralSettings", ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public ExchangeContact GetContactMailFlowSettings(string accountName) - { - try - { - LogStart("GetContactMailFlowSettings"); - ExchangeContact ret = ES.GetContactMailFlowSettings(accountName); - LogEnd("GetContactMailFlowSettings"); - return ret; - } - catch (Exception ex) - { - LogError("GetContactMailFlowSettings", ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void SetContactMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) - { - try - { - LogStart("SetContactMailFlowSettings"); - ES.SetContactMailFlowSettings(accountName, acceptAccounts, rejectAccounts, requireSenderAuthentication); - LogEnd("SetContactMailFlowSettings"); - } - catch (Exception ex) - { - LogError("SetContactMailFlowSettings", ex); - throw; - } - } - #endregion - - #region Distribution Lists - [WebMethod, SoapHeader("settings")] - public void CreateDistributionList(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy) - { - try - { - LogStart("CreateDistributionList"); - ES.CreateDistributionList(organizationId, organizationDistinguishedName, displayName, accountName, name, domain, managedBy); - LogEnd("CreateDistributionList"); - } - catch (Exception ex) - { - LogError("CreateDistributionList", ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void DeleteDistributionList(string accountName) - { - try - { - LogStart("DeleteDistributionList"); - ES.DeleteDistributionList(accountName); - LogEnd("DeleteDistributionList"); - } - catch (Exception ex) - { - LogError("DeleteDistributionList", ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public ExchangeDistributionList GetDistributionListGeneralSettings(string accountName) - { - try - { - LogStart("GetDistributionListGeneralSettings"); - ExchangeDistributionList ret = ES.GetDistributionListGeneralSettings(accountName); - LogEnd("GetDistributionListGeneralSettings"); - return ret; - } - catch (Exception ex) - { - LogError("GetDistributionListGeneralSettings", ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void SetDistributionListGeneralSettings(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] members, string notes) - { - try - { - LogStart("SetDistributionListGeneralSettings"); - ES.SetDistributionListGeneralSettings(accountName, displayName, hideFromAddressBook, managedBy, members, notes); - LogEnd("SetDistributionListGeneralSettings"); - } - catch (Exception ex) - { - LogError("SetDistributionListGeneralSettings", ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public ExchangeDistributionList GetDistributionListMailFlowSettings(string accountName) - { - try - { - LogStart("GetDistributionListMailFlowSettings"); - ExchangeDistributionList ret = ES.GetDistributionListMailFlowSettings(accountName); - LogEnd("GetDistributionListMailFlowSettings"); - return ret; - } - catch (Exception ex) - { - LogError("GetDistributionListMailFlowSettings", ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void SetDistributionListMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) - { - try - { - LogStart("SetDistributionListMailFlowSettings"); - ES.SetDistributionListMailFlowSettings(accountName, acceptAccounts, rejectAccounts, requireSenderAuthentication); - LogEnd("SetDistributionListMailFlowSettings"); - } - catch (Exception ex) - { - LogError("SetDistributionListMailFlowSettings", ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public ExchangeEmailAddress[] GetDistributionListEmailAddresses(string accountName) - { - try - { - LogStart("GetDistributionListEmailAddresses"); - ExchangeEmailAddress[] ret = ES.GetDistributionListEmailAddresses(accountName); - LogEnd("GetDistributionListEmailAddresses"); - return ret; - } - catch (Exception ex) - { - LogError("GetDistributionListEmailAddresses", ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void SetDistributionListEmailAddresses(string accountName, string[] emailAddresses) - { - try - { - LogStart("SetDistributionListEmailAddresses"); - ES.SetDistributionListEmailAddresses(accountName, emailAddresses); - LogEnd("SetDistributionListEmailAddresses"); - } - catch (Exception ex) - { - LogError("SetDistributionListEmailAddresses", ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void SetDistributionListPrimaryEmailAddress(string accountName, string emailAddress) - { - try - { - LogStart("SetDistributionListPrimaryEmailAddress"); - ES.SetDistributionListPrimaryEmailAddress(accountName, emailAddress); - LogEnd("SetDistributionListPrimaryEmailAddress"); - } - catch (Exception ex) - { - LogError("SetDistributionListPrimaryEmailAddress", ex); - throw; - } - } + LogEnd("CreateContact"); + } + catch (Exception ex) + { + LogError("CreateContact", ex); + throw; + } + } [WebMethod, SoapHeader("settings")] - public void SetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts) + public void DeleteContact(string accountName) { - ES.SetDistributionListPermissions(organizationId, accountName, sendAsAccounts, sendOnBehalfAccounts); + try + { + LogStart("DeleteContact"); + ES.DeleteContact(accountName); + LogEnd("DeleteContact"); + } + catch (Exception ex) + { + LogError("DeleteContact", ex); + throw; + } } - + + [WebMethod, SoapHeader("settings")] + public ExchangeContact GetContactGeneralSettings(string accountName) + { + try + { + LogStart("GetContactGeneralSettings"); + ExchangeContact ret = ES.GetContactGeneralSettings(accountName); + LogEnd("GetContactGeneralSettings"); + return ret; + } + catch (Exception ex) + { + LogError("GetContactGeneralSettings", ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public void SetContactGeneralSettings(string accountName, string displayName, string email, bool hideFromAddressBook, string firstName, string initials, string lastName, string address, string city, string state, string zip, string country, string jobTitle, string company, string department, string office, string managerAccountName, string businessPhone, string fax, string homePhone, string mobilePhone, string pager, string webPage, string notes, int useMapiRichTextFormat, string defaultDomain) + { + try + { + LogStart("SetContactGeneralSettings"); + ES.SetContactGeneralSettings(accountName, displayName, email, hideFromAddressBook, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes, useMapiRichTextFormat, defaultDomain); + LogEnd("SetContactGeneralSettings"); + } + catch (Exception ex) + { + LogError("SetContactGeneralSettings", ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public ExchangeContact GetContactMailFlowSettings(string accountName) + { + try + { + LogStart("GetContactMailFlowSettings"); + ExchangeContact ret = ES.GetContactMailFlowSettings(accountName); + LogEnd("GetContactMailFlowSettings"); + return ret; + } + catch (Exception ex) + { + LogError("GetContactMailFlowSettings", ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public void SetContactMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication) + { + try + { + LogStart("SetContactMailFlowSettings"); + ES.SetContactMailFlowSettings(accountName, acceptAccounts, rejectAccounts, requireSenderAuthentication); + LogEnd("SetContactMailFlowSettings"); + } + catch (Exception ex) + { + LogError("SetContactMailFlowSettings", ex); + throw; + } + } + #endregion + + #region Distribution Lists + [WebMethod, SoapHeader("settings")] + public void CreateDistributionList(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy, string[] addressLists) + { + try + { + LogStart("CreateDistributionList"); + ES.CreateDistributionList(organizationId, organizationDistinguishedName, displayName, accountName, name, domain, managedBy, addressLists); + LogEnd("CreateDistributionList"); + } + catch (Exception ex) + { + LogError("CreateDistributionList", ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public void DeleteDistributionList(string accountName) + { + try + { + LogStart("DeleteDistributionList"); + ES.DeleteDistributionList(accountName); + LogEnd("DeleteDistributionList"); + } + catch (Exception ex) + { + LogError("DeleteDistributionList", ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public ExchangeDistributionList GetDistributionListGeneralSettings(string accountName) + { + try + { + LogStart("GetDistributionListGeneralSettings"); + ExchangeDistributionList ret = ES.GetDistributionListGeneralSettings(accountName); + LogEnd("GetDistributionListGeneralSettings"); + return ret; + } + catch (Exception ex) + { + LogError("GetDistributionListGeneralSettings", ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public void SetDistributionListGeneralSettings(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] members, string notes, string[] addressLists) + { + try + { + LogStart("SetDistributionListGeneralSettings"); + ES.SetDistributionListGeneralSettings(accountName, displayName, hideFromAddressBook, managedBy, members, notes, addressLists); + LogEnd("SetDistributionListGeneralSettings"); + } + catch (Exception ex) + { + LogError("SetDistributionListGeneralSettings", ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public ExchangeDistributionList GetDistributionListMailFlowSettings(string accountName) + { + try + { + LogStart("GetDistributionListMailFlowSettings"); + ExchangeDistributionList ret = ES.GetDistributionListMailFlowSettings(accountName); + LogEnd("GetDistributionListMailFlowSettings"); + return ret; + } + catch (Exception ex) + { + LogError("GetDistributionListMailFlowSettings", ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public void SetDistributionListMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, string[] addressLists) + { + try + { + LogStart("SetDistributionListMailFlowSettings"); + ES.SetDistributionListMailFlowSettings(accountName, acceptAccounts, rejectAccounts, requireSenderAuthentication, addressLists); + LogEnd("SetDistributionListMailFlowSettings"); + } + catch (Exception ex) + { + LogError("SetDistributionListMailFlowSettings", ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public ExchangeEmailAddress[] GetDistributionListEmailAddresses(string accountName) + { + try + { + LogStart("GetDistributionListEmailAddresses"); + ExchangeEmailAddress[] ret = ES.GetDistributionListEmailAddresses(accountName); + LogEnd("GetDistributionListEmailAddresses"); + return ret; + } + catch (Exception ex) + { + LogError("GetDistributionListEmailAddresses", ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public void SetDistributionListEmailAddresses(string accountName, string[] emailAddresses, string[] addressLists) + { + try + { + LogStart("SetDistributionListEmailAddresses"); + ES.SetDistributionListEmailAddresses(accountName, emailAddresses, addressLists); + LogEnd("SetDistributionListEmailAddresses"); + } + catch (Exception ex) + { + LogError("SetDistributionListEmailAddresses", ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public void SetDistributionListPrimaryEmailAddress(string accountName, string emailAddress, string[] addressLists) + { + try + { + LogStart("SetDistributionListPrimaryEmailAddress"); + ES.SetDistributionListPrimaryEmailAddress(accountName, emailAddress, addressLists); + LogEnd("SetDistributionListPrimaryEmailAddress"); + } + catch (Exception ex) + { + LogError("SetDistributionListPrimaryEmailAddress", ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public void SetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, string[] addressLists) + { + ES.SetDistributionListPermissions(organizationId, accountName, sendAsAccounts, sendOnBehalfAccounts, addressLists); + } + [WebMethod, SoapHeader("settings")] public ExchangeDistributionList GetDistributionListPermissions(string organizationId, string accountName) { return ES.GetDistributionListPermissions(organizationId, accountName); } - + #endregion @@ -1048,148 +1070,148 @@ namespace WebsitePanel.Server #endregion - #region ActiveSync - [WebMethod, SoapHeader("settings")] - public void CreateOrganizationActiveSyncPolicy(string organizationId) - { - try - { - LogStart("CreateOrganizationActiveSyncPolicy"); - ES.CreateOrganizationActiveSyncPolicy(organizationId); - LogEnd("CreateOrganizationActiveSyncPolicy"); - } - catch (Exception ex) - { - LogError("CreateOrganizationActiveSyncPolicy", ex); - throw; - } - } + #region ActiveSync + [WebMethod, SoapHeader("settings")] + public void CreateOrganizationActiveSyncPolicy(string organizationId) + { + try + { + LogStart("CreateOrganizationActiveSyncPolicy"); + ES.CreateOrganizationActiveSyncPolicy(organizationId); + LogEnd("CreateOrganizationActiveSyncPolicy"); + } + catch (Exception ex) + { + LogError("CreateOrganizationActiveSyncPolicy", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public ExchangeActiveSyncPolicy GetActiveSyncPolicy(string organizationId) - { - try - { - LogStart("GetActiveSyncPolicy"); - ExchangeActiveSyncPolicy ret = ES.GetActiveSyncPolicy(organizationId); - LogEnd("GetActiveSyncPolicy"); - return ret; - } - catch (Exception ex) - { - LogError("GetActiveSyncPolicy", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public ExchangeActiveSyncPolicy GetActiveSyncPolicy(string organizationId) + { + try + { + LogStart("GetActiveSyncPolicy"); + ExchangeActiveSyncPolicy ret = ES.GetActiveSyncPolicy(organizationId); + LogEnd("GetActiveSyncPolicy"); + return ret; + } + catch (Exception ex) + { + LogError("GetActiveSyncPolicy", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public void SetActiveSyncPolicy(string id, bool allowNonProvisionableDevices, bool attachmentsEnabled, - int maxAttachmentSizeKB, bool uncAccessEnabled, bool wssAccessEnabled, bool devicePasswordEnabled, - bool alphanumericPasswordRequired, bool passwordRecoveryEnabled, bool deviceEncryptionEnabled, - bool allowSimplePassword, int maxPasswordFailedAttempts, int minPasswordLength, int inactivityLockMin, - int passwordExpirationDays, int passwordHistory, int refreshInterval) - { - try - { - LogStart("SetActiveSyncPolicy"); - ES.SetActiveSyncPolicy(id, allowNonProvisionableDevices, attachmentsEnabled, - maxAttachmentSizeKB, uncAccessEnabled, wssAccessEnabled, devicePasswordEnabled, alphanumericPasswordRequired, passwordRecoveryEnabled, - deviceEncryptionEnabled, allowSimplePassword, maxPasswordFailedAttempts, - minPasswordLength, inactivityLockMin, passwordExpirationDays, passwordHistory, refreshInterval); - LogEnd("SetActiveSyncPolicy"); - } - catch (Exception ex) - { - LogError("SetActiveSyncPolicy", ex); - throw; - } - } - #endregion + [WebMethod, SoapHeader("settings")] + public void SetActiveSyncPolicy(string id, bool allowNonProvisionableDevices, bool attachmentsEnabled, + int maxAttachmentSizeKB, bool uncAccessEnabled, bool wssAccessEnabled, bool devicePasswordEnabled, + bool alphanumericPasswordRequired, bool passwordRecoveryEnabled, bool deviceEncryptionEnabled, + bool allowSimplePassword, int maxPasswordFailedAttempts, int minPasswordLength, int inactivityLockMin, + int passwordExpirationDays, int passwordHistory, int refreshInterval) + { + try + { + LogStart("SetActiveSyncPolicy"); + ES.SetActiveSyncPolicy(id, allowNonProvisionableDevices, attachmentsEnabled, + maxAttachmentSizeKB, uncAccessEnabled, wssAccessEnabled, devicePasswordEnabled, alphanumericPasswordRequired, passwordRecoveryEnabled, + deviceEncryptionEnabled, allowSimplePassword, maxPasswordFailedAttempts, + minPasswordLength, inactivityLockMin, passwordExpirationDays, passwordHistory, refreshInterval); + LogEnd("SetActiveSyncPolicy"); + } + catch (Exception ex) + { + LogError("SetActiveSyncPolicy", ex); + throw; + } + } + #endregion - #region Mobile devices - [WebMethod, SoapHeader("settings")] - public ExchangeMobileDevice[] GetMobileDevices(string accountName) - { - try - { - LogStart("GetMobileDevices"); - ExchangeMobileDevice[] ret = ES.GetMobileDevices(accountName); - LogEnd("GetMobileDevices"); - return ret; - } - catch (Exception ex) - { - LogError("GetMobileDevices", ex); - throw; - } - } + #region Mobile devices + [WebMethod, SoapHeader("settings")] + public ExchangeMobileDevice[] GetMobileDevices(string accountName) + { + try + { + LogStart("GetMobileDevices"); + ExchangeMobileDevice[] ret = ES.GetMobileDevices(accountName); + LogEnd("GetMobileDevices"); + return ret; + } + catch (Exception ex) + { + LogError("GetMobileDevices", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public ExchangeMobileDevice GetMobileDevice(string id) - { - try - { - LogStart("GetMobileDevice"); - ExchangeMobileDevice ret = ES.GetMobileDevice(id); - LogEnd("GetMobileDevice"); - return ret; - } - catch (Exception ex) - { - LogError("GetMobileDevice", ex); - throw; - } - } - - [WebMethod, SoapHeader("settings")] - public void WipeDataFromDevice(string id) - { - try - { - LogStart("WipeDataFromDevice"); - ES.WipeDataFromDevice(id); - LogEnd("WipeDataFromDevice"); - } - catch (Exception ex) - { - LogError("WipeDataFromDevice", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public ExchangeMobileDevice GetMobileDevice(string id) + { + try + { + LogStart("GetMobileDevice"); + ExchangeMobileDevice ret = ES.GetMobileDevice(id); + LogEnd("GetMobileDevice"); + return ret; + } + catch (Exception ex) + { + LogError("GetMobileDevice", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public void CancelRemoteWipeRequest(string id) - { - try - { - LogStart("CancelRemoteWipeRequest"); - ES.CancelRemoteWipeRequest(id); - LogEnd("CancelRemoteWipeRequest"); - } - catch (Exception ex) - { - LogError("CancelRemoteWipeRequest", ex); - throw; - } - } + [WebMethod, SoapHeader("settings")] + public void WipeDataFromDevice(string id) + { + try + { + LogStart("WipeDataFromDevice"); + ES.WipeDataFromDevice(id); + LogEnd("WipeDataFromDevice"); + } + catch (Exception ex) + { + LogError("WipeDataFromDevice", ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public void CancelRemoteWipeRequest(string id) + { + try + { + LogStart("CancelRemoteWipeRequest"); + ES.CancelRemoteWipeRequest(id); + LogEnd("CancelRemoteWipeRequest"); + } + catch (Exception ex) + { + LogError("CancelRemoteWipeRequest", ex); + throw; + } + } - [WebMethod, SoapHeader("settings")] - public void RemoveDevice(string id) - { - try - { - LogStart("RemoveDevice"); - ES.RemoveDevice(id); - LogEnd("RemoveDevice"); - } - catch (Exception ex) - { - LogError("RemoveDevice", ex); - throw; - } - } - #endregion + [WebMethod, SoapHeader("settings")] + public void RemoveDevice(string id) + { + try + { + LogStart("RemoveDevice"); + ES.RemoveDevice(id); + LogEnd("RemoveDevice"); + } + catch (Exception ex) + { + LogError("RemoveDevice", ex); + throw; + } + } + #endregion protected void LogStart(string func) { diff --git a/WebsitePanel/Sources/WebsitePanel.Server/Organizations.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/Organizations.asmx.cs index f057ec76..775058d8 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/Organizations.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/Organizations.asmx.cs @@ -67,14 +67,14 @@ namespace WebsitePanel.Server throw; } } - - + + [WebMethod, SoapHeader("settings")] public Organization CreateOrganization(string organizationId) { try { - Log.WriteStart("'{0}' CreateOrganization", ProviderSettings.ProviderName); + Log.WriteStart("'{0}' CreateOrganization", ProviderSettings.ProviderName); Organization ret = Organization.CreateOrganization(organizationId); Log.WriteEnd("'{0}' CreateOrganization", ProviderSettings.ProviderName); return ret; @@ -85,21 +85,17 @@ namespace WebsitePanel.Server throw; } } - + [WebMethod, SoapHeader("settings")] public void DeleteOrganization(string organizationId) { - Organization.DeleteOrganization(organizationId); + Organization.DeleteOrganization(organizationId); } [WebMethod, SoapHeader("settings")] - public void CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled) + public int CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled) { - Log.WriteStart("'{0} CreateUser", ProviderSettings.ProviderName); - - Organization.CreateUser(organizationId, loginName, displayName, upn, password, enabled); - - Log.WriteEnd("'{0}' CreateUser", ProviderSettings.ProviderName); + return Organization.CreateUser(organizationId, loginName, displayName, upn, password, enabled); } [WebMethod, SoapHeader("settings")] @@ -109,7 +105,7 @@ namespace WebsitePanel.Server } [WebMethod, SoapHeader("settings")] - public OrganizationUser GeUserGeneralSettings(string loginName, string organizationId) + public OrganizationUser GetUserGeneralSettings(string loginName, string organizationId) { return Organization.GetUserGeneralSettings(loginName, organizationId); } @@ -132,9 +128,9 @@ namespace WebsitePanel.Server [WebMethod, SoapHeader("settings")] public void DeleteOrganizationDomain(string organizationDistinguishedName, string domain) { - Organization.DeleteOrganizationDomain(organizationDistinguishedName, domain); + Organization.DeleteOrganizationDomain(organizationDistinguishedName, domain); } - + [WebMethod, SoapHeader("settings")] public void CreateOrganizationDomain(string organizationDistinguishedName, string domain) { @@ -147,5 +143,10 @@ namespace WebsitePanel.Server return Organization.GetPasswordPolicy(); } + [WebMethod, SoapHeader("settings")] + public string GetSamAccountNameByUserPrincipalName(string organizationId, string userPrincipalName) + { + return Organization.GetSamAccountNameByUserPrincipalName(organizationId, userPrincipalName); + } } } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/SiteSettings.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/SiteSettings.config index 0a99be01..e40147a6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/SiteSettings.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/SiteSettings.config @@ -3,7 +3,7 @@ WebsitePanel - http://localhost:9002 + http://localhost:9005 UserCulture UserTheme diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config index c979a2a4..76798152 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config @@ -486,7 +486,10 @@ - + + + + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx index 2bf42484..c04ed97a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx @@ -2806,7 +2806,7 @@ Contacts per Organization - Max mailbox size, MB + Mailbox storage, MB Distribution Lists per Organization @@ -2850,6 +2850,18 @@ Public Folders per Organization + + Keep Deleted Items (Days) + + + Maximum Recipients + + + Maximum Send Message Size (Kb) + + + Maximum Receive Message Size (Kb) + Hosted Exchange @@ -4990,4 +5002,7 @@ Use shared SSL Root + + Consumer Organization Support + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/Exchange/blank16.gif b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/Exchange/blank16.gif new file mode 100644 index 0000000000000000000000000000000000000000..ca92d53faf0df9e9270c469e3395e67af015b888 GIT binary patch literal 832 zcmW-fA+8`a7=-5q#Nu9p1wn8WHz8rO9u^d)4uhFBO z4SlboY5OOg|Nmyb{qCEuU;gxnNBjVM_TPsO|9tQjzQkQmZ*QIsARxd%fMNiH7{V|{ zFp3FGVhYok!7LWAh$Spz1*_P=CbqDR9qi%&hd9D9PH=kvMu`eF8uVVSHVF|Xa%&vm zAcr{25sq?#lbqr-XE@6RE^>*>T;VD=xXCSUbBDV;;31EA%oConV9AO#8}{~b$EF~` zLT+0c(4dAitPzcBLX(=(v}QD`1ubex%UaQ@HngcNZEHunI?$nxbgUDds!*v)wHoyz zxWsA5u#ro|10M8{hdts^Pk7Q(p7xAqz2HSJdD$yo^@caS zxpw1T`qyj*3LNB`k%0_mD8m`aXeKh5sZ3`kvsuVuma?3ctY#yd*~)fyvYUe(<|xNG z$!Us|sZys&`xJ!h#zk`by2TrXfev=4!yV~pCpy`wPIsoWUFc$$y4;nncB7l!>UMX! z+k+nVsK-6&c@n!pyKZ0PckXBL=hQ!MFFwV;AAR!r-EV*V^5Ww!e*F90?|;5|{QUc0 OU%!9**Ut|Rc=bOgEs9P6 literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/Exchange/disabled.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/Exchange/disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..2fa793d1cad3454141bd5b98fc261f66999c22c0 GIT binary patch literal 676 zcmV;V0$crwP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0y#-UK~y+TWm8RS z6hRPu-81fPCL6;_*cc*64&p^ra8I7RRCE z<^$Z?-Ud6_e{UKeUSR3^O@yN!^mGIxvt)<1V3K5elL&@Z5)N_N8)EaxbMWT)C(Onc z{Iw0R)is#LI(QIVuKHE_-vBCA@Z}YFw5ru51hop1_8~Zwf|(959`zAW7f&WoXMZ5u z-yu(q!D=4F@fUc_Ys4gi3MT;fXru2~aidb0kZAY11&gwFaqy0+R$$R?*2x4$!~n}Y z;xGz2iZDAmK>zJ4#QVEo(Wsz{U_GlxXtnd&3Iws%#{6SIXw9;f)r1nN0cx#B(BpyY zXf@l&wda_#bPNzp5yeDLM9_qjk9&m*+3$ku2o{+b79Ly{Py&j&t=_l|=2vhfsKcZJ zX7r12R?siYa2`-Fdbrg3Kl-)SL(=G@dcQ?-=soN^T%_+z^r_n-{j&3mQ*a}U&kKoM zlcUS_kdV7R9U_}hc7AaRmi}xSfu$0L9!^&QDw)p7C_BG6g}ilsH@MKiED7giq;w}N z6YIP@?|{h=>i1XZK?m}p1IyY+om-<Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0%S=ZrK=^m|$h>pTO9yNSzoM5b8h~8CWP%mol|e zm#R&rqC(RoN8&qQY@ZK5Cyi3Xvrg|l`}y>N`CDJ6t zKn#$|6j$*Ty1a{S+O+@#G#wKw&kSE_g@{FPGRJP-kvot=qEIc2d~xI(odzz31A+#ER)nSlLakdCy|nHUvJds-u40%{lA z_D0BDLL920rBA00;~_TgZD1u@!Kz-xLT3R>ddaR4AOR7R2?Gka;rR4FJjaRi?l-w*YkFa(fwJAq49%ob*qyVg^$TVL!xS z=Md|Kb?jC5kVRt#+R;ej#5R#h2G8}tGd{`xH%HAR*;WF*FgksZ4iJe5EM@4Vok>nb zffv}hv%62.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Cancel @@ -219,4 +219,7 @@ Please select hosting plan + + Automated Hosted Organization Provisioning + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeActiveSyncSettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeActiveSyncSettings.ascx.resx index 28496e91..7a93b328 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeActiveSyncSettings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeActiveSyncSettings.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ShowProgressDialog('Updating ActiveSync settings...'); @@ -151,7 +151,7 @@ Windows SharePoint Services - <p>Exchange Server 2007 enables users who have mobile devices to synchronize mailbox data by using Exchange ActiveSync. Users can synchronize e-mail, contacts, calendars, and task folders. </p><p> + <p>Exchange Server enables users who have mobile devices to synchronize mailbox data by using Exchange ActiveSync. Users can synchronize e-mail, contacts, calendars, and task folders. </p><p> ActiveSync mailbox policy allows you to apply a common set of security settings to all users in organization. </p> diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeAddDomainName.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeAddDomainName.ascx.resx index fcbdac5d..1b687b23 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeAddDomainName.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeAddDomainName.ascx.resx @@ -112,13 +112,16 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Cancel + - Enter domain name, e.g. "mydomain.com" or "sub.mydomain.com" + Select a domain name, e.g. "mydomain.com" or "sub.mydomain.com" Add Domain Name diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxAdvancedSettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeAddMailboxPlan.ascx.resx similarity index 78% rename from WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxAdvancedSettings.ascx.resx rename to WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeAddMailboxPlan.ascx.resx index ebca9e9b..4549ab13 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxAdvancedSettings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeAddMailboxPlan.ascx.resx @@ -112,20 +112,17 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ShowProgressDialog('Updating mailbox settings...'); - - - Save Changes - ActiveSync + + Hide from Addressbook + IMAP @@ -135,20 +132,11 @@ OWA/HTTP - - Allow these settings to be managed from <b>Personal Mailbox Manager</b> - POP3 - - Use organization defaults - - - Use organization defaults - - <p>In "Mailbox Features" section you may enable/disable specific access protocols for the mailbox.</p><p>You may override mailbox quotas and retention period defined on the organization level. Please note, that you cannot specify storage settings higher than defined in the space hosting plan.</p><p><b>Domain User Name</b> is used when setting up mailbox in Outlook 2003/2007.</p> + <p> A Mailbox plan is a template that defines the characteristics of a mailbox </p> <p>The mailbox plan name needs to be unique. A mailbox plan cannot be modified. In case a mailbox needs a mailbox plan with another characteristics, a new mailbox plan needs to be created and assigned to the mailbox. A mailbox plan can only be deleted when the plan is not assigned to any mailboxes. </p> days @@ -162,11 +150,17 @@ Keep deleted items for: - - Last Logoff: + + Mailbox size: - - Last Logon: + + Maximum Receive Message Size: + + + Maximum Recipients: + + + Maximum Send Message Size: Prohibit send at: @@ -175,13 +169,7 @@ Prohibit send and receive at: - Edit Mailbox - - - Total Items: - - - Total Size (MB): + Add Mailbox plan When the mailbox size exceeds the indicated amount: @@ -189,19 +177,25 @@ Delete Item Retention - - Domain User Name - Mailbox Features - - Mailbox Statistics + + General + + + Mailbox plan - Mailbox Quotas + Quotas - Mailboxes + Mailbox plan + + + Please enter correct mailboxplan + + + * \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeContactGeneralSettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeContactGeneralSettings.ascx.resx index a775ec0b..68b60ab8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeContactGeneralSettings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeContactGeneralSettings.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ShowProgressDialog('Updating contact settings...'); diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeContactMailFlowSettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeContactMailFlowSettings.ascx.resx index 8bd04c62..9ea225b7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeContactMailFlowSettings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeContactMailFlowSettings.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ShowProgressDialog('Updating contact settings...'); diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeContacts.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeContacts.ascx.resx index 2b5d6c02..20eeb913 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeContacts.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeContacts.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Create New Contact diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeCreateContact.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeCreateContact.ascx.resx index 51270a74..2048b51e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeCreateContact.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeCreateContact.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ShowProgressDialog('Creating contact...'); diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeCreateDistributionList.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeCreateDistributionList.ascx.resx index e1165b0f..c089926b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeCreateDistributionList.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeCreateDistributionList.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ShowProgressDialog('Creating distribution list...'); @@ -124,7 +124,7 @@ Create Distribution List - <p><b>Display Name</b> will be shown in the GAL in Outlook and OWA.</p><p>You can add new Domain Names on "Domain Names" page. We always provide you with a free domain that would allow your organization migrating to Exchange as soon as possible.</p><p><b>Primary E-Mail Address</b> is shown in the GAL and in "From" field of all messages sent from this DL.</p> + <p><b>Display Name</b> will be shown in the GAL in Outlook and OWA.</p><p>You can add new Domain Names on "Domain Names" page. </p><p><b>Primary E-Mail Address</b> is shown in the GAL and in "From" field of all messages sent from this DL.</p> E-mail Address: * @@ -132,22 +132,22 @@ Display Name: * + + Managed by: * + Create New Distribution List Distribution Lists + + Please specify a manager + Enter Display Name * - - Managed by: * - - - Please specify a manager - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeCreateMailbox.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeCreateMailbox.ascx.resx index f921332b..edd62354 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeCreateMailbox.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeCreateMailbox.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ShowProgressDialog('Creating mailbox...'); @@ -134,7 +134,7 @@ <p><b>E-Mail Address</b> is a User Principal Name (UPN). It is used as a logon name in Outlook, Outlook Web Access (OWA) or SharePoint.</p> -<p>New organization domains can be added on "Domain Names" page. Temporary domain name is provided by default to allow creating new accounts as soon as possible.</p> +<p>New organization domains can be added on "Domain Names" page.</p> <p>Make sure your password is strong enough, i.e. contains lower and capital letters, numbers and symbols. @@ -156,6 +156,9 @@ Password: * + + Subscriber Number: * + Create New Mailbox @@ -183,4 +186,10 @@ * + + Enter Subscriber Number + + + * + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionListEmailAddresses.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionListEmailAddresses.ascx.resx index f01bbe92..56dab2cf 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionListEmailAddresses.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionListEmailAddresses.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Add E-mail Address @@ -127,7 +127,7 @@ Set As Primary - <b>Primary E-Mail Address</b> is a User Principal Name (UPN). It will be used as a login in Outlook 2003/2007 and Outlook Web Access (OWA). Also, Primary E-Mail Address will be shown in "From" field of messages sent from this mailbox.</p><p>You can add new Domain Names on "Domain Names" page. We always provide you with a free domain that would allow your organization migrating to Exchange as soon as possible.</p><p>E-mail addresses of all Exchange accounts should be unique across the organization. You cannot add the same e-mail address to several accounts.</p> + <b>Primary E-Mail Address</b> is a User Principal Name (UPN). It will be used as a login in Outlook and Outlook Web Access (OWA). Also, Primary E-Mail Address will be shown in "From" field of messages sent from this mailbox.</p><p>You can add new Domain Names on "Domain Names" page.</p><p>E-mail addresses of all Exchange accounts should be unique across the organization. You cannot add the same e-mail address to several accounts.</p> E-mail Address diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionListGeneralSettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionListGeneralSettings.ascx.resx index b8b475b0..56de9930 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionListGeneralSettings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionListGeneralSettings.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ShowProgressDialog('Updating distribution list settings...'); @@ -144,13 +144,13 @@ Distribution Lists + + Please specify a manager + Enter Display Name * - - Please specify a manager - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionListMailFlowSettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionListMailFlowSettings.ascx.resx index c2911ebf..3df43c86 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionListMailFlowSettings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionListMailFlowSettings.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ShowProgressDialog('Updating distribution list settings...'); diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionLists.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionLists.ascx.resx index 85d2a8eb..b5f5a8ad 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionLists.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDistributionLists.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Create New Distribution List diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDomainNames.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDomainNames.ascx.resx index a8fea59b..d8f453a2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDomainNames.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDomainNames.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Add New Domain @@ -142,11 +142,9 @@ Domain Name - <p>Each organization can have several domain names. These domain names are used as part of the primary e-mail address (UPN) of the new accounts. Exchange-enabled organizations use domain name when creating e-mail addresses for mailboxes, distribution lists and mail-enabled public folders. Domain name is also used when creating new site collection in SharePoint.</p> - + <p>Each organization can have several domain names. These domain names are used as part of the primary e-mail address (UPN) of the new accounts. Exchange-enabled organizations use domain name when creating e-mail addresses for mailboxes, and distribution lists. Domain name is also used when creating new site collection in SharePoint.</p> <p>Default domain name is selected by default when creating a new e-mail address. You can always change default domain name and it will not affect existing accounts.</p> - -<p>For each domain name WebsitePanel creates a corresponding DNS Zone. You can edit DNS zone records by clicking domain name link. If you are unsure about the structure of DNS zone, please do not modify zone records.</p> +<p>For each domain name a corresponding DNS Zone is created. You can edit DNS zone records by clicking domain name link. If you are unsure about the structure of DNS zone, please do not modify zone records.</p> Total Domain Names Used: diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDomainRecords.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDomainRecords.ascx.resx index 556b31c4..3096f457 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDomainRecords.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeDomainRecords.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Add record @@ -130,7 +130,7 @@ Save - <p>For each domain name WebsitePanel creates a corresponding DNS Zone. If you are unsure about the structure of DNS zone, please do not modify zone records.</p> + <p>For each domain name a corresponding DNS Zone is created. If you are unsure about the structure of DNS zone, please do not modify zone records.</p> No DNS records defined. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxEmailAddresses.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxEmailAddresses.ascx.resx index 137621eb..31627731 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxEmailAddresses.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxEmailAddresses.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Add E-mail Address @@ -130,7 +130,7 @@ Allow these settings to be managed from <b>Personal Mailbox Manager</b> - <b>Primary E-Mail Address</b> is a User Principal Name (UPN). It will be used as a login in Outlook 2003/2007 and Outlook Web Access (OWA). Also, Primary E-Mail Address will be shown in "From" field of messages sent from this mailbox.</p><p>You can add new Domain Names on "Domain Names" page. We always provide you with a free domain that would allow your organization migrating to Exchange as soon as possible.</p><p>E-mail addresses of all Exchange accounts should be unique across the organization. You cannot add the same e-mail address to several accounts.</p> + <b>Primary E-Mail Address</b> is a User Principal Name (UPN). It will be used as a login in Outlook and Outlook Web Access (OWA). Also, Primary E-Mail Address will be shown in "From" field of messages sent from this mailbox.</p><p>You can add new Domain Names on "Domain Names" page. </p><p>E-mail addresses of all Exchange accounts should be unique across the organization. You cannot add the same e-mail address to several accounts.</p> E-mail Address diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxGeneralSettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxGeneralSettings.ascx.resx index 93dbf852..952e1037 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxGeneralSettings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxGeneralSettings.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ShowProgressDialog('Updating mailbox settings...'); @@ -133,85 +133,22 @@ Allow these settings to be managed from <b>Personal Mailbox Manager</b> - <p>The General tab displays general information about the mailbox user. Use this tab to view or modify the display name, password, company information, contact information and address. You can also specify whether to disable the mailbox user or hide the mailbox user from Exchange address lists.</p> + <p>The General tab displays general information about the mailbox Use this tab to view or modify the mailbox characteristics such as size and show in your address book in the Exchange address lists. You can also specify whether to disable the mailbox user.</p> - - Address: + + Mailbox plan: - - Business Phone: - - - City: - - - Company: - - - Country/Region: - - - Department: - - - Display Name: * - - - Fax: - - - First Name: - - - Home Phone: - - - Initials: - - - Job Title: - - - Last Name: - - - Manager: - - - Mobile Phone: - - - Notes: - - - Office: - - - Pager: - - - Password: - - - State/Province: + + Mailbox size: Edit Mailbox - - Web Page: + + Calendar Settings - - Zip/Postal Code: - - - Address - - - Company Information - - - Contact Information + + General Mailboxes diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxMailFlowSettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxMailFlowSettings.ascx.resx index 962a69de..3dfe91c1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxMailFlowSettings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxMailFlowSettings.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ShowProgressDialog('Updating mailbox settings...'); diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxMobile.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxMobile.ascx.resx index 31f224e8..7b809afa 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxMobile.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxMobile.ascx.resx @@ -112,13 +112,13 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - User Agent + + return confirm('Are you sure you want to remove the device partnership?'); Status @@ -126,34 +126,34 @@ Type + + User Agent + There are no mobile devices. + + <p>Manage mobile devices here.</p><p>To add a new device, begin a partnership with Microsoft Exchange from the device and it will appear in the device list.</p><p>You can remove devices that you are no longer using. If you forget your device password, you can access it here. If you lose your phone or mobile device, you can initiate a remote device wipe to protect your information.</p> + Last Sync Time + + Edit Mailbox + OK Pending Wipe + + Edit Mailbox + Unknown Wipe Successful - - return confirm('Are you sure you want to remove the device partnership?'); - - - Edit Mailbox - - - Edit Mailbox - - - <p>Manage mobile devices here.</p><p>To add a new device, begin a partnership with Microsoft Exchange from the device and it will appear in the device list.</p><p>You can remove devices that you are no longer using. If you forget your device password, you can access it here. If you lose your phone or mobile device, you can initiate a remote device wipe to protect your information.</p> - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxMobileDetails.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxMobileDetails.ascx.resx index d2aa6bc9..56efeeba 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxMobileDetails.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxMobileDetails.ascx.resx @@ -112,11 +112,26 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Back + + + Cancel Pending Wipe Request + + + return confirm('Are you sure you want to wipe all data from your device?'); + + + Wipe All Data from Device + + + <p>Manage the mobile device here.</p><p>If you forget your device password, you can access it here. If you lose your phone or mobile device, you can initiate a remote device wipe to protect your information . You can also cancel a wipe request if it was initiated by accident or the device was found subsequently.</p> + Device wipe acnowledge time: @@ -165,37 +180,22 @@ Status: + + Edit Mailbox + OK Pending wipe + + Edit Mailbox + Unknown Wipe successful - - Back - - - Cancel Pending Wipe Request - - - Wipe All Data from Device - - - Edit Mailbox - - - Edit Mailbox - - - <p>Manage the mobile device here.</p><p>If you forget your device password, you can access it here. If you lose your phone or mobile device, you can initiate a remote device wipe to protect your information . You can also cancel a wipe request if it was initiated by accident or the device was found subsequently.</p> - - - return confirm('Are you sure you want to wipe all data from your device?'); - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxPermissions.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxPermissions.ascx.resx index ea2b0e5d..5e891cc2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxPermissions.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxPermissions.ascx.resx @@ -112,17 +112,23 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ShowProgressDialog('Updating mailbox permissions...'); + + Save Changes + <p>When you grant <b>Full Access</b> permission to a user, that user can open this mailbox and access all of its content.</p> <br><p>When you grant <b>Send As</b> permission to a user, that user can send messages as this mailbox. </p> <br><p>We do not recommend to use this setting together “Send on behalf” (“Send as”) – it may work unpredictable</p> + + Grant this permission to: + Full Access @@ -132,10 +138,4 @@ Permissions - - Grant this permission to: - - - Save Changes - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Exchange2010SP1_Settings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxPlans.ascx.resx similarity index 74% rename from WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Exchange2010SP1_Settings.ascx.resx rename to WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxPlans.ascx.resx index 1dadcd94..68c5b189 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Exchange2010SP1_Settings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxPlans.ascx.resx @@ -112,36 +112,42 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Domain Templates + + Add New Mailbox plan - - Exchange Control Panel URL: + + Set Default Mailbox plan - - You can use [DOMAIN_NAME] variable for organization default domain. + + if(!confirm('Are you sure you want to delete selected mailbox plan?')) return false; else ShowProgressDialog('Deleting Mailbox plan...'); - - Offer ID: + + Delete - - Organization Template + + Delete Mailbox plan - - Program ID: + + Mailbox plan - - Temporary domain: + + Default Mailbox plan - - * + + No mailbox plans have been added yet. To add a new mailbox plan click "Add New Mailbox plan" button. - - * + + <p> A Mailbox plan is a template that defines the characteristics of a mailbox </p> <p>The mailbox plan name needs to be unique. A mailbox plan cannot be modified. In case a mailbox needs a mailbox plan with another characteristics, a new mailbox plan needs to be created and assigned to the mailbox. A mailbox plan can only be deleted when the plan is not assigned to any mailboxes. </p> + + + Mailbox plans + + + Mailbox plans \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxSetupInstructions.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxSetupInstructions.ascx.resx index ea0b1623..de0dd29b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxSetupInstructions.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxSetupInstructions.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Send diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxes.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxes.ascx.resx index 9bcdbf5d..1aaeac3a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxes.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeMailboxes.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Create New Mailbox @@ -132,6 +132,9 @@ Search + + Domain Account + Display Name @@ -147,6 +150,12 @@ Primary E-mail Address + + Mailbox plan + + + Subscriber + <p><b>Mailboxes</b> are used to receive and send electronic messages. Each mailbox is a separate Exchange account which may be a person, room or inventory unit.</p> @@ -165,7 +174,4 @@ Mailboxes - - Domain Account - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeStorageLimits.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeStorageLimits.ascx.resx deleted file mode 100644 index e127ca84..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeStorageLimits.ascx.resx +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ShowProgressDialog('Updating storage settings...'); - - - Save Changes - - - if(!confirm('Please be aware that applying new storage settings to all mailboxes can take significant time to complete. Do you want to proceed?')) return false; else ShowProgressDialog('Applying storage settings to mailboxes...'); - - - Save and Apply to All Mailboxes - - - <p>You can change storage limits and deleted items retention policy.</p><p>The settings will be applied for for new mailboxes only. By clicking "Save and Apply to All Mailboxes" button you can override these settings for all existing mailboxes.</p><p>Please note, that you cannot specify storage settings higher than defined in the space hosting plan.</p> - - - Issue warning at: - - - Keep deleted items for: - - - Prohibit send at: - - - Prohibit send and receive at: - - - Storage Settings - - - When the mailbox size exceeds the indicated amount: - - - Deletion Settings - - - Storage Settings - - - Storage Settings - - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeStorageUsage.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeStorageUsage.ascx.resx index a5ce0185..4046f8fd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeStorageUsage.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeStorageUsage.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 return confirm('Recalculating organization disk space may require certain time to complete and this task will be performed asynchronously. New disk space value will be available in a few minutes. Proceed with disk space calculation?'); @@ -123,8 +123,11 @@ Recalculate Disk Space + + ShowProgressDialog('Please wait...'); + - <p>Organization disk space usage is calculated on timely basis (usually once a day). You can recalculate it right now by clicking "Recalculate Disk Space" button.</p><p>Click on the link with used disk space to see usage breakdown by all organization mailboxes and public folders.</p> + <p>Organization disk space actual usage is calculated on timely basis (usually once a day). You can recalculate it right now by clicking "Recalculate Disk Space" button.</p><p>Click on the link with used disk space to see actual usage breakdown by all organization mailboxes.</p> Allocated Disk Space (MB): @@ -136,7 +139,7 @@ Storage Usage - Used Disk Space (MB): + Allocated Disk Space (MB): Storage Usage @@ -144,7 +147,4 @@ Unlimited - - ShowProgressDialog('Please wait...'); - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeStorageUsageBreakdown.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeStorageUsageBreakdown.ascx.resx index bf09c997..4a2785d0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeStorageUsageBreakdown.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/ExchangeStorageUsageBreakdown.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 OK diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationCreateOrganization.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationCreateOrganization.ascx.resx index 1357e558..4b45044c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationCreateOrganization.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationCreateOrganization.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ShowProgressDialog('Creating Organization...'); @@ -124,7 +124,7 @@ Create Organization - <p><b>Organization name</b> is used just as display name for references purposes. It will not be used somewhere on Exchange Server.</p> <p><b>Organization ID</b> is an unique organization identifier. It can contain only numbers and letters and cannot be longer than 9 symbols. Organization ID will be used as GAL name and as a root public folder.</p> + <p><b>Organization name</b> is used just as display name for references purposes. It will not be used somewhere on Exchange Server.</p> <p><b>Organization ID</b> is an unique organization identifier. Organization ID will be used as GAL name.</p> Organization ID: * diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationCreateUser.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationCreateUser.ascx.resx index 71721667..0d09f564 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationCreateUser.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationCreateUser.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ShowProgressDialog('Creating user...'); @@ -131,7 +131,7 @@ <p><b>E-Mail Address</b> is a User Principal Name (UPN). It is used as a logon name in Outlook, Outlook Web Access (OWA) or SharePoint.</p> -<p>New organization domains can be added on "Domain Names" page. Temporary domain name is provided by default to allow creating new users as soon as possible.</p> +<p>New organization domains can be added on "Domain Names" page.</p> <p>Make sure your password is strong enough, i.e. contains lower and capital letters, numbers and symbols.</p> @@ -144,6 +144,9 @@ Password: * + + Subscriber Number: * + Create New User @@ -156,4 +159,10 @@ * + + Enter Subscriber Number + + + * + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationHome.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationHome.ascx.resx index 23cd8d32..9c8ad7bf 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationHome.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationHome.ascx.resx @@ -112,57 +112,16 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 <p>Welcome to the organization home page!</p> - <p>Using the left menu you can manage organization domain names and users.</p> - <p>Organization statistics displays current status of the organization.</p> - - Allocated Diskspace (MB) - - - Contacts: - - - Domain Names: - - - Public Folders: - - - Distribution Lists: - - - Mailboxes: - - - Site Collections: - - - Used Diskspace (MB) - - - Users: - - - Organization Statistics - - - Home - - - Home - - - Unlimited - Created: @@ -172,22 +131,82 @@ Organization Name: - - CRM Users: - Total Used Disk Space, MB: Used Disk Space, MB: + + Allocated Diskspace (MB) + + + BlackBerry Users: + + + Contacts: + + + CRM Users: + + + Domain Names: + + + Storage (Mb): + + + Public Folders: + + + Distribution Lists: + + + Users: + + + Mailboxes: + + + OCS Users: + + + Site Collections: + + + Used Diskspace (MB) + + + Users: + + + BlackBerry + CRM Exchange + + Organization + + + Lync + + + OCS + SharePoint + + Home + + + Home + + + Unlimited + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationUserGeneralSettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationUserGeneralSettings.ascx.resx index 9f22134d..a1a54a1d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationUserGeneralSettings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationUserGeneralSettings.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ShowProgressDialog('Updating user settings...'); @@ -126,11 +126,15 @@ Disable User + + Account is locked out + + + Set Password + <p><b>Display Name</b> is a “friendly” name used by other programs, such as Microsoft Exchange or SharePoint.</p> - <p>Make sure your password is strong enough, i.e. contains lower and capital letters, numbers and symbols.</p> - <p>You can specify manager account to build organizational structure of your company.</p> @@ -154,6 +158,9 @@ Display Name: * + + External e-mail: + Fax: @@ -193,6 +200,9 @@ State/Province: + + Subscriber Number: + Edit User @@ -226,10 +236,4 @@ * - - External e-mail: - - - Account is locked out - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationUserSetupInstructions.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationUserSetupInstructions.ascx.resx index 720d3d30..d59541dc 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationUserSetupInstructions.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationUserSetupInstructions.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Send diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationUsers.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationUsers.ascx.resx index 9a097cd4..65ed352a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationUsers.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationUsers.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Create New User @@ -132,12 +132,21 @@ Search + + Domain Account + Display Name E-mail Address + + Subscriber Number + + + Subscriber + No users have been created. To create a new user click "Create New Users" button. @@ -149,14 +158,11 @@ <p>Active Directory user accounts are used to:</p> - <p>• Authenticate the identity of a user.<br> • Authorize or deny access to domain resources.<br> • Administer other security principals.<br> • Audit actions performed using the user account.</p> - <p>Primary E-Mail Address is a User Principal Name (UPN). It is used as a logon name in Outlook, Outlook Web Access (OWA) or SharePoint.</p> - <p>User account can also represent Exchange mailbox, which may be a person, room or inventory unit.</p> @@ -168,7 +174,4 @@ Users - - Domain Account - \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/Organizations.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/Organizations.ascx.resx index db039cae..f87c9b7d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/Organizations.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/Organizations.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Create New Organization @@ -158,10 +158,8 @@ <p><b>Organization</b> is a group of Active Directory users, contacts and groups.<br><br> - All accounts within one organization are located in the same Organizational Unit and are not visible to members of other organizations.<br><br> - -Exchange-enabled organization has its own Global Address List (GAL) and Offline Address Book (OAB). Mailboxes, contacts, distribution lists and public folders of Exchange-enabled organization share the same GAL and OAB</p> +Exchange-enabled organization has its own Global Address List (GAL) and Offline Address Book (OAB). Mailboxes, contacts, and distribution lists of Exchange-enabled organization share the same GAL and OAB</p> Total Organizations Created: diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx index b8146635..2a208153 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx @@ -59,7 +59,7 @@ - + @@ -137,7 +137,7 @@ - + @@ -146,7 +146,7 @@ meta:resourcekey="locMinimumPasswordLength" Text="Minimum password length:"> + DisplayUnits="false" EmptyValue="0" DisplayUnitsKB="false" DisplayUnitsMB="false" DisplayUnitsPct="false"/> @@ -154,7 +154,7 @@ - + @@ -164,7 +164,7 @@ - + @@ -174,7 +174,7 @@ - + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx.cs index cd2eb6c5..97c58b86 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx.cs @@ -28,6 +28,7 @@ using System; using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { @@ -39,6 +40,9 @@ namespace WebsitePanel.Portal.ExchangeServer { BindPolicy(); } + + + } protected void btnSave_Click(object sender, EventArgs e) @@ -55,7 +59,7 @@ namespace WebsitePanel.Portal.ExchangeServer // bind data chkAllowNonProvisionable.Checked = policy.AllowNonProvisionableDevices; - + chkAllowAttachments.Checked = policy.AttachmentsEnabled; sizeMaxAttachmentSize.ValueKB = policy.MaxAttachmentSizeKB; diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx.designer.cs index 6e6cf679..3f3f65cd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx.designer.cs @@ -1,22 +1,15 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.832 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ namespace WebsitePanel.Portal.ExchangeServer { - /// - /// ExchangeActiveSyncSettings class. - /// - /// - /// Auto-generated class. - /// public partial class ExchangeActiveSyncSettings { /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx index 364ba693..39484d06 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx @@ -26,12 +26,7 @@ - - - * + @@ -39,6 +34,7 @@
    +
    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx.cs index 29c5a9a5..a6d9c55c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx.cs @@ -27,21 +27,55 @@ // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. using System; +using WebsitePanel.EnterpriseServer; +using WebsitePanel.Providers.HostedSolution; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeAddDomainName : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { + public partial class ExchangeAddDomainName : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + DomainInfo[] domains = ES.Services.Servers.GetMyDomains(PanelSecurity.PackageId); - } + OrganizationDomainName[] list = ES.Services.Organizations.GetOrganizationDomains(PanelRequest.ItemID); + + foreach (DomainInfo d in domains) + { + if (!d.IsDomainPointer & !d.IsInstantAlias) + { + bool bAdd = true; + foreach (OrganizationDomainName acceptedDomain in list) + { + if (d.DomainName.ToLower() == acceptedDomain.DomainName.ToLower()) + { + bAdd = false; + break; + } + + } + if (bAdd) ddlDomains.Items.Add(d.DomainName.ToLower()); + } + } + + if (ddlDomains.Items.Count == 0) btnAdd.Enabled = false; + + + + } protected void btnAdd_Click(object sender, EventArgs e) { AddDomain(); } + protected void btnCancel_Click(object sender, EventArgs e) + { + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "domains", "SpaceID=" + PanelSecurity.PackageId)); + + } + + private void AddDomain() { if (!Page.IsValid) @@ -51,7 +85,7 @@ namespace WebsitePanel.Portal.ExchangeServer { int result = ES.Services.Organizations.AddOrganizationDomain(PanelRequest.ItemID, - txtDomainName.Text.Trim()); + ddlDomains.SelectedValue.Trim()); if (result < 0) { @@ -67,5 +101,5 @@ namespace WebsitePanel.Portal.ExchangeServer messageBox.ShowErrorMessage("EXCHANGE_ADD_DOMAIN", ex); } } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx.designer.cs index b0444dc0..911a13b7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddDomainName.ascx.designer.cs @@ -76,31 +76,13 @@ namespace WebsitePanel.Portal.ExchangeServer { protected global::System.Web.UI.WebControls.Localize locDomainName; /// - /// txtDomainName control. + /// ddlDomains control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.TextBox txtDomainName; - - /// - /// valRequireDomainName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireDomainName; - - /// - /// valRequireCorrectDomain control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectDomain; + protected global::System.Web.UI.WebControls.DropDownList ddlDomains; /// /// btnAdd control. @@ -120,6 +102,15 @@ namespace WebsitePanel.Portal.ExchangeServer { /// protected global::System.Web.UI.WebControls.ValidationSummary ValidationSummary1; + /// + /// btnCancel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnCancel; + /// /// FormComments control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddMailboxPlan.ascx similarity index 54% rename from WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx rename to WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddMailboxPlan.ascx index a2fb4232..7ca424b7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddMailboxPlan.ascx @@ -1,11 +1,10 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ExchangeMailboxAdvancedSettings.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeServer.ExchangeMailboxAdvancedSettings" %> +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ExchangeAddMailboxPlan.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeServer.ExchangeAddMailboxPlan" %> <%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> -<%@ Register Src="UserControls/MailboxTabs.ascx" TagName="MailboxTabs" TagPrefix="wsp" %> <%@ Register Src="UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> <%@ Register Src="UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %> <%@ Register Src="UserControls/DaysBox.ascx" TagName="DaysBox" TagPrefix="wsp" %> -<%@ Register Src="UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> -<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %> +<%@ Register Src="../UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %> <%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> @@ -16,19 +15,35 @@
    - +
    - - - - - -
    + + +
    - - + + + + + + + + + + +
    + + + + +
    +
    +
    @@ -63,66 +78,70 @@
    - - - + + - - - - + +
    + - - - - - - - - - - - - - +
    - 177 +
    - 16 -
    - -
    - -

    - - + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    + +
    - +
    - +
    - +
    @@ -138,44 +157,17 @@ - +
    - - - - - - - - - - -
    - - - -
    -
    -
    - - - - - -
    - -
    - + +
    - - + +
    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddMailboxPlan.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddMailboxPlan.ascx.cs new file mode 100644 index 00000000..2237914d --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddMailboxPlan.ascx.cs @@ -0,0 +1,192 @@ +// Copyright (c) 2011, 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. + +using System; +using WebsitePanel.EnterpriseServer; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Providers.ResultObjects; + +namespace WebsitePanel.Portal.ExchangeServer +{ + public partial class ExchangeAddMailboxPlan : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + + if (!IsPostBack) + { + if (PanelRequest.GetInt("MailboxPlanId") != 0) + { + Providers.HostedSolution.ExchangeMailboxPlan plan = ES.Services.ExchangeServer.GetExchangeMailboxPlan(PanelRequest.ItemID, PanelRequest.GetInt("MailboxPlanId")); + txtMailboxPlan.Text = plan.MailboxPlan; + mailboxSize.ValueKB = plan.MailboxSizeMB; + maxRecipients.ValueKB = plan.MaxRecipients; + maxSendMessageSizeKB.ValueKB = plan.MaxSendMessageSizeKB; + maxReceiveMessageSizeKB.ValueKB = plan.MaxReceiveMessageSizeKB; + chkPOP3.Checked = plan.EnablePOP; + chkIMAP.Checked = plan.EnableIMAP; + chkOWA.Checked = plan.EnableOWA; + chkMAPI.Checked = plan.EnableMAPI; + chkActiveSync.Checked = plan.EnableActiveSync; + sizeIssueWarning.ValueKB = plan.IssueWarningPct; + sizeProhibitSend.ValueKB = plan.ProhibitSendPct; + sizeProhibitSendReceive.ValueKB = plan.ProhibitSendReceivePct; + daysKeepDeletedItems.ValueDays = plan.KeepDeletedItemsDays; + chkHideFromAddressBook.Checked = plan.HideFromAddressBook; + + /* + txtMailboxPlan.Enabled = false; + mailboxSize.Enabled = false; + maxRecipients.Enabled = false; + maxSendMessageSizeKB.Enabled = false; + maxReceiveMessageSizeKB.Enabled = false; + chkPOP3.Enabled = false; + chkIMAP.Enabled = false; + chkOWA.Enabled = false; + chkMAPI.Enabled = false; + chkActiveSync.Enabled = false; + sizeIssueWarning.Enabled = false; + sizeProhibitSend.Enabled = false; + sizeProhibitSendReceive.Enabled = false; + daysKeepDeletedItems.Enabled = false; + chkHideFromAddressBook.Enabled = false; + + btnAdd.Enabled = false; + */ + + locTitle.Text = plan.MailboxPlan; + this.DisableControls = true; + + } + else + { + PackageContext cntx = ES.Services.Packages.GetPackageContext(PanelSecurity.PackageId); + if (cntx != null) + { + foreach (QuotaValueInfo quota in cntx.QuotasArray) + { + switch (quota.QuotaId) + { + case 365: + maxRecipients.ValueKB = quota.QuotaAllocatedValue; + break; + case 366: + maxSendMessageSizeKB.ValueKB = quota.QuotaAllocatedValue; + break; + case 367: + maxReceiveMessageSizeKB.ValueKB = quota.QuotaAllocatedValue; + break; + case 83: + chkPOP3.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue); + chkPOP3.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue); + break; + case 84: + chkIMAP.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue); + chkIMAP.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue); + break; + case 85: + chkOWA.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue); + chkOWA.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue); + break; + case 86: + chkMAPI.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue); + chkMAPI.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue); + break; + case 87: + chkActiveSync.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue); + chkActiveSync.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue); + break; + case 364: + daysKeepDeletedItems.ValueDays = quota.QuotaAllocatedValue; + break; + } + + sizeIssueWarning.ValueKB = 100; + sizeProhibitSend.ValueKB = 100; + sizeProhibitSendReceive.ValueKB = 100; + } + } + else + this.DisableControls = true; + } + } + + } + + protected void btnAdd_Click(object sender, EventArgs e) + { + AddMailboxPlan(); + } + + private void AddMailboxPlan() + { + try + { + Providers.HostedSolution.ExchangeMailboxPlan plan = new Providers.HostedSolution.ExchangeMailboxPlan(); + plan.MailboxPlan = txtMailboxPlan.Text; + plan.MailboxSizeMB = mailboxSize.ValueKB; + if ((plan.MailboxSizeMB == 0)) plan.MailboxSizeMB = 1; + + plan.IsDefault = false; + plan.MaxRecipients = maxRecipients.ValueKB; + plan.MaxSendMessageSizeKB = maxSendMessageSizeKB.ValueKB; + plan.MaxReceiveMessageSizeKB = maxReceiveMessageSizeKB.ValueKB; + plan.EnablePOP = chkPOP3.Checked; + plan.EnableIMAP = chkIMAP.Checked; + plan.EnableOWA = chkOWA.Checked; + plan.EnableMAPI = chkMAPI.Checked; + plan.EnableActiveSync = chkActiveSync.Checked; + plan.IssueWarningPct = sizeIssueWarning.ValueKB; + if ((plan.IssueWarningPct == 0)) plan.IssueWarningPct = 100; + plan.ProhibitSendPct = sizeProhibitSend.ValueKB; + if ((plan.ProhibitSendPct == 0)) plan.ProhibitSendPct = 100; + plan.ProhibitSendReceivePct = sizeProhibitSendReceive.ValueKB; + if ((plan.ProhibitSendReceivePct == 0)) plan.ProhibitSendReceivePct = 100; + plan.KeepDeletedItemsDays = daysKeepDeletedItems.ValueDays; + plan.HideFromAddressBook = chkHideFromAddressBook.Checked; + + int result = ES.Services.ExchangeServer.AddExchangeMailboxPlan(PanelRequest.ItemID, + plan); + + + if (result < 0) + { + messageBox.ShowResultMessage(result); + return; + } + + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "mailboxplans", + "SpaceID=" + PanelSecurity.PackageId)); + } + catch (Exception ex) + { + messageBox.ShowErrorMessage("EXCHANGE_ADD_MAILBOXPLAN", ex); + } + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddMailboxPlan.ascx.designer.cs similarity index 86% rename from WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx.designer.cs rename to WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddMailboxPlan.ascx.designer.cs index aad359ab..7a1b7b1d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeAddMailboxPlan.ascx.designer.cs @@ -1,17 +1,16 @@ -//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeMailboxAdvancedSettings { + public partial class ExchangeAddMailboxPlan { /// /// asyncTasks control. @@ -58,24 +57,6 @@ namespace WebsitePanel.Portal.ExchangeServer { /// protected global::System.Web.UI.WebControls.Localize locTitle; - /// - /// litDisplayName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal litDisplayName; - - /// - /// tabs control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.ExchangeServer.UserControls.MailboxTabs tabs; - /// /// messageBox control. /// @@ -85,6 +66,42 @@ namespace WebsitePanel.Portal.ExchangeServer { /// protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + /// + /// secMailboxPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel secMailboxPlan; + + /// + /// MailboxPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel MailboxPlan; + + /// + /// txtMailboxPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtMailboxPlan; + + /// + /// valRequireMailboxPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireMailboxPlan; + /// /// secMailboxFeatures control. /// @@ -149,94 +166,31 @@ namespace WebsitePanel.Portal.ExchangeServer { protected global::System.Web.UI.WebControls.CheckBox chkActiveSync; /// - /// secStatistics control. + /// secMailboxGeneral control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::WebsitePanel.Portal.CollapsiblePanel secStatistics; + protected global::WebsitePanel.Portal.CollapsiblePanel secMailboxGeneral; /// - /// Statistics control. + /// MailboxGeneral control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Panel Statistics; + protected global::System.Web.UI.WebControls.Panel MailboxGeneral; /// - /// locTotalItems control. + /// chkHideFromAddressBook control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Localize locTotalItems; - - /// - /// lblTotalItems control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblTotalItems; - - /// - /// locTotalSize control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locTotalSize; - - /// - /// lblTotalSize control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblTotalSize; - - /// - /// locLastLogon control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locLastLogon; - - /// - /// lblLastLogon control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblLastLogon; - - /// - /// locLastLogoff control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locLastLogoff; - - /// - /// lblLastLogoff control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblLastLogoff; + protected global::System.Web.UI.WebControls.CheckBox chkHideFromAddressBook; /// /// secStorageQuotas control. @@ -256,6 +210,78 @@ namespace WebsitePanel.Portal.ExchangeServer { /// protected global::System.Web.UI.WebControls.Panel StorageQuotas; + /// + /// locMailboxSize control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locMailboxSize; + + /// + /// mailboxSize control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox mailboxSize; + + /// + /// locMaxRecipients control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locMaxRecipients; + + /// + /// maxRecipients control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox maxRecipients; + + /// + /// locMaxSendMessageSizeKB control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locMaxSendMessageSizeKB; + + /// + /// maxSendMessageSizeKB control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox maxSendMessageSizeKB; + + /// + /// locMaxReceiveMessageSizeKB control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locMaxReceiveMessageSizeKB; + + /// + /// maxReceiveMessageSizeKB control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox maxReceiveMessageSizeKB; + /// /// locWhenSizeExceeds control. /// @@ -356,49 +382,13 @@ namespace WebsitePanel.Portal.ExchangeServer { protected global::WebsitePanel.Portal.ExchangeServer.UserControls.DaysBox daysKeepDeletedItems; /// - /// secDomainUser control. + /// btnAdd control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::WebsitePanel.Portal.CollapsiblePanel secDomainUser; - - /// - /// DomainUser control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel DomainUser; - - /// - /// txtAccountName control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtAccountName; - - /// - /// chkPmmAllowed control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.CheckBox chkPmmAllowed; - - /// - /// btnSave control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button btnSave; + protected global::System.Web.UI.WebControls.Button btnAdd; /// /// ValidationSummary1 control. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactGeneralSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactGeneralSettings.ascx.cs index f0b2c7ba..3237f9b2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactGeneralSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactGeneralSettings.ascx.cs @@ -30,19 +30,22 @@ using System; using System.Web.UI.WebControls; using WebsitePanel.Providers.HostedSolution; using Microsoft.Security.Application; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeContactGeneralSettings : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { + public partial class ExchangeContactGeneralSettings : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { if (!IsPostBack) { BindMapiRichTextFormat(); BindSettings(); } - } + + + } private void BindMapiRichTextFormat() { @@ -60,8 +63,8 @@ namespace WebsitePanel.Portal.ExchangeServer // get settings ExchangeContact contact = ES.Services.ExchangeServer.GetContactGeneralSettings(PanelRequest.ItemID, PanelRequest.AccountID); - - litDisplayName.Text = AntiXss.HtmlEncode(contact.DisplayName); + + litDisplayName.Text = AntiXss.HtmlEncode(contact.DisplayName); // bind form txtDisplayName.Text = contact.DisplayName; @@ -95,7 +98,7 @@ namespace WebsitePanel.Portal.ExchangeServer } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_GET_CONTACT_SETTINGS", ex); + messageBox.ShowErrorMessage("EXCHANGE_GET_CONTACT_SETTINGS", ex); } } @@ -143,13 +146,13 @@ namespace WebsitePanel.Portal.ExchangeServer return; } - litDisplayName.Text = AntiXss.HtmlEncode(txtDisplayName.Text); + litDisplayName.Text = AntiXss.HtmlEncode(txtDisplayName.Text); - messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_CONTACT_SETTINGS"); + messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_CONTACT_SETTINGS"); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_UPDATE_CONTACT_SETTINGS", ex); + messageBox.ShowErrorMessage("EXCHANGE_UPDATE_CONTACT_SETTINGS", ex); } } @@ -157,5 +160,5 @@ namespace WebsitePanel.Portal.ExchangeServer { SaveSettings(); } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactGeneralSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactGeneralSettings.ascx.designer.cs index d7b1be03..6186bb22 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactGeneralSettings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactGeneralSettings.ascx.designer.cs @@ -1,22 +1,15 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ namespace WebsitePanel.Portal.ExchangeServer { - /// - /// ExchangeContactGeneralSettings class. - /// - /// - /// Auto-generated class. - /// public partial class ExchangeContactGeneralSettings { /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactMailFlowSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactMailFlowSettings.ascx.cs index 03e37b08..ae256765 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactMailFlowSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactMailFlowSettings.ascx.cs @@ -38,17 +38,20 @@ using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeContactMailFlowSettings : WebsitePanelModuleBase - { + public partial class ExchangeContactMailFlowSettings : WebsitePanelModuleBase + { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindSettings(); } + + } private void BindSettings() @@ -59,12 +62,12 @@ namespace WebsitePanel.Portal.ExchangeServer ExchangeContact contact = ES.Services.ExchangeServer.GetContactMailFlowSettings( PanelRequest.ItemID, PanelRequest.AccountID); - litDisplayName.Text = contact.DisplayName; + litDisplayName.Text = contact.DisplayName; // bind form acceptAccounts.SetAccounts(contact.AcceptAccounts); chkSendersAuthenticated.Checked = contact.RequireSenderAuthentication; - rejectAccounts.SetAccounts(contact.RejectAccounts); + rejectAccounts.SetAccounts(contact.RejectAccounts); } catch (Exception ex) { @@ -92,11 +95,11 @@ namespace WebsitePanel.Portal.ExchangeServer return; } - messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_CONTACT_MAILFLOW"); + messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_CONTACT_MAILFLOW"); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_UPDATE_CONTACT_MAILFLOW", ex); + messageBox.ShowErrorMessage("EXCHANGE_UPDATE_CONTACT_MAILFLOW", ex); } } @@ -104,5 +107,5 @@ namespace WebsitePanel.Portal.ExchangeServer { SaveSettings(); } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactMailFlowSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactMailFlowSettings.ascx.designer.cs index ae203ff7..51e80b4a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactMailFlowSettings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContactMailFlowSettings.ascx.designer.cs @@ -1,22 +1,15 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.312 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ namespace WebsitePanel.Portal.ExchangeServer { - /// - /// ExchangeContactMailFlowSettings class. - /// - /// - /// Auto-generated class. - /// public partial class ExchangeContactMailFlowSettings { /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx index 85248ff5..edd7473c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx @@ -32,13 +32,6 @@
    - - 10 - 20 - 50 - 100 - DisplayName Email @@ -51,7 +44,7 @@ + DataSourceID="odsAccountsPaged"> diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx.cs index f50647e5..9937409f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx.cs @@ -38,49 +38,52 @@ using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeContacts : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - BindStats(); - } - } + public partial class ExchangeContacts : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + BindStats(); + } - private void BindStats() - { - // quota values - OrganizationStatistics stats = - ES.Services.ExchangeServer.GetOrganizationStatistics(PanelRequest.ItemID); - contactsQuota.QuotaUsedValue = stats.CreatedContacts; - contactsQuota.QuotaValue = stats.AllocatedContacts; - } + + } - protected void btnCreateContact_Click(object sender, EventArgs e) - { - Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "create_contact", - "SpaceID=" + PanelSecurity.PackageId.ToString())); - } + private void BindStats() + { + // quota values + OrganizationStatistics stats = + ES.Services.ExchangeServer.GetOrganizationStatistics(PanelRequest.ItemID); + contactsQuota.QuotaUsedValue = stats.CreatedContacts; + contactsQuota.QuotaValue = stats.AllocatedContacts; + } - public string GetContactEditUrl(string accountId) - { - return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "contact_settings", - "AccountID=" + accountId, - "ItemID=" + PanelRequest.ItemID.ToString()); - } + protected void btnCreateContact_Click(object sender, EventArgs e) + { + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "create_contact", + "SpaceID=" + PanelSecurity.PackageId.ToString())); + } - protected void odsAccountsPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e) - { - if (e.Exception != null) - { - messageBox.ShowErrorMessage("EXCHANGE_GET_CONTACTS", e.Exception); - e.ExceptionHandled = true; - } - } + public string GetContactEditUrl(string accountId) + { + return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "contact_settings", + "AccountID=" + accountId, + "ItemID=" + PanelRequest.ItemID.ToString()); + } + + protected void odsAccountsPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e) + { + if (e.Exception != null) + { + messageBox.ShowErrorMessage("EXCHANGE_GET_CONTACTS", e.Exception); + e.ExceptionHandled = true; + } + } protected void gvContacts_RowCommand(object sender, GridViewCommandEventArgs e) { @@ -101,25 +104,13 @@ namespace WebsitePanel.Portal.ExchangeServer // rebind grid gvContacts.DataBind(); - BindStats(); + BindStats(); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_DELETE_CONTACT", ex); + messageBox.ShowErrorMessage("EXCHANGE_DELETE_CONTACT", ex); } } } - - protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) - { - gvContacts.PageSize = Convert.ToInt16(ddlPageSize.SelectedValue); - - // rebind grid - gvContacts.DataBind(); - - // bind stats - BindStats(); - - } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx.designer.cs index 8a00f9e7..70d6ca5f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeContacts.ascx.designer.cs @@ -93,15 +93,6 @@ namespace WebsitePanel.Portal.ExchangeServer { /// protected global::System.Web.UI.WebControls.Localize locSearch; - /// - /// ddlPageSize control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList ddlPageSize; - /// /// ddlSearchColumn control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateContact.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateContact.ascx.cs index f09dd359..6bdc0eaf 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateContact.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateContact.ascx.cs @@ -40,12 +40,12 @@ using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeCreateContact : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - - } + public partial class ExchangeCreateContact : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + + } protected void btnCreate_Click(object sender, EventArgs e) { @@ -68,7 +68,7 @@ namespace WebsitePanel.Portal.ExchangeServer { messageBox.ShowResultMessage(BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS); return; - + } if (accountId < 0) @@ -86,5 +86,5 @@ namespace WebsitePanel.Portal.ExchangeServer messageBox.ShowErrorMessage("EXCHANGE_CREATE_CONTACT", ex); } } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateContact.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateContact.ascx.designer.cs index 58a987b9..3f35f26b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateContact.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateContact.ascx.designer.cs @@ -1,31 +1,159 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.42 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ namespace WebsitePanel.Portal.ExchangeServer { + public partial class ExchangeCreateContact { - protected WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - protected WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; - protected WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; - protected System.Web.UI.WebControls.Image Image1; - protected System.Web.UI.WebControls.Localize locTitle; - protected WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; - protected System.Web.UI.WebControls.Localize locDisplayName; - protected System.Web.UI.WebControls.TextBox txtDisplayName; - protected System.Web.UI.WebControls.RequiredFieldValidator valRequireDisplayName; - protected System.Web.UI.WebControls.Localize locEmail; - protected System.Web.UI.WebControls.TextBox txtEmail; - protected System.Web.UI.WebControls.RequiredFieldValidator valRequireAccount; - protected System.Web.UI.WebControls.RegularExpressionValidator valCorrectEmail; - protected System.Web.UI.WebControls.Button btnCreate; - protected System.Web.UI.WebControls.ValidationSummary ValidationSummary1; - protected System.Web.UI.WebControls.Localize FormComments; + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// locDisplayName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locDisplayName; + + /// + /// txtDisplayName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtDisplayName; + + /// + /// valRequireDisplayName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireDisplayName; + + /// + /// locEmail control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locEmail; + + /// + /// txtEmail control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtEmail; + + /// + /// valRequireAccount control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireAccount; + + /// + /// valCorrectEmail control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator valCorrectEmail; + + /// + /// btnCreate control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnCreate; + + /// + /// ValidationSummary1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ValidationSummary ValidationSummary1; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; } } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateDistributionList.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateDistributionList.ascx.cs index 2de35495..99b92082 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateDistributionList.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateDistributionList.ascx.cs @@ -36,15 +36,16 @@ using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeCreateDistributionList : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - - } + public partial class ExchangeCreateDistributionList : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + + } protected void btnCreate_Click(object sender, EventArgs e) { @@ -56,7 +57,7 @@ namespace WebsitePanel.Portal.ExchangeServer if (!Page.IsValid) return; - + try { @@ -66,7 +67,7 @@ namespace WebsitePanel.Portal.ExchangeServer email.AccountName, email.DomainName, manager.GetAccountId()); - + if (accountId < 0) { @@ -90,6 +91,6 @@ namespace WebsitePanel.Portal.ExchangeServer } - - } + + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateDistributionList.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateDistributionList.ascx.designer.cs index 40d5eec3..6c1ccf4e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateDistributionList.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateDistributionList.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1873 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx index b6a1e5f6..5cae78f8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx @@ -7,6 +7,7 @@ <%@ Register Src="UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> <%@ Register Src="UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> <%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> +<%@ Register Src="UserControls/MailboxPlanSelector.ascx" TagName="MailboxPlanSelector" TagPrefix="wsp" %> @@ -50,7 +51,7 @@ - + @@ -61,6 +62,14 @@ ErrorMessage="Enter Display Name" ValidationGroup="CreateMailbox" Display="Dynamic" Text="*" SetFocusOnError="True"> + + + + +
    + + +
    @@ -91,21 +100,23 @@
    - - - - - + + + +
    - -
    + + + +
    - +
    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx.cs index ab4da28a..359c7fe8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx.cs @@ -33,18 +33,18 @@ using WebsitePanel.Providers.ResultObjects; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeCreateMailbox : WebsitePanelModuleBase - { - private bool IsNewUser - { - get - { - return NewUserTable.Visible; - } - } - + public partial class ExchangeCreateMailbox : WebsitePanelModuleBase + { + private bool IsNewUser + { + get + { + return NewUserTable.Visible; + } + } + protected void Page_Load(object sender, EventArgs e) - { + { if (!IsPostBack) { password.SetPackagePolicy(PanelSecurity.PackageId, UserSettings.EXCHANGE_POLICY, "MailboxPasswordPolicy"); @@ -64,16 +64,32 @@ namespace WebsitePanel.Portal.ExchangeServer messageBox.ShowMessage(passwordPolicy, "EXCHANGE_CREATE_MAILBOX", "HostedOrganization"); return; } - + PackageInfo package = ES.Services.Packages.GetPackage(PanelSecurity.PackageId); if (package != null) { - UserInfo user = ES.Services.Users.GetUserById(package.UserId); - if (user != null) - sendInstructionEmail.Text = user.Email; + //UserInfo user = ES.Services.Users.GetUserById(package.UserId); + //if (user != null) + //sendInstructionEmail.Text = user.Email; } - } - } + + WebsitePanel.Providers.HostedSolution.ExchangeMailboxPlan[] plans = ES.Services.ExchangeServer.GetExchangeMailboxPlans(PanelRequest.ItemID); + + if (plans.Length == 0) + btnCreate.Enabled = false; + } + + + PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId); + if (cntx.Quotas.ContainsKey(Quotas.EXCHANGE2007_ISCONSUMER)) + { + if (cntx.Quotas[Quotas.EXCHANGE2007_ISCONSUMER].QuotaAllocatedValue != 1) + { + locSubscriberNumber.Visible = txtSubscriberNumber.Visible = valRequireSubscriberNumber.Enabled = false; + } + } + + } protected void btnCreate_Click(object sender, EventArgs e) { @@ -92,23 +108,27 @@ namespace WebsitePanel.Portal.ExchangeServer string accountName = IsNewUser ? string.Empty : userSelector.GetAccount(); ExchangeAccountType type = IsNewUser - ? (ExchangeAccountType) Utils.ParseInt(rbMailboxType.SelectedValue, 1) + ? (ExchangeAccountType)Utils.ParseInt(rbMailboxType.SelectedValue, 1) : ExchangeAccountType.Mailbox; - + string domain = IsNewUser ? email.DomainName : userSelector.GetPrimaryEmailAddress().Split('@')[1]; int accountId = IsNewUser ? 0 : userSelector.GetAccountId(); + string subscriberNumber = IsNewUser ? txtSubscriberNumber.Text.Trim() : userSelector.GetSubscriberNumber(); + accountId = ES.Services.ExchangeServer.CreateMailbox(PanelRequest.ItemID, accountId, type, accountName, displayName, name, domain, password.Password, - chkSendInstructions.Checked, - sendInstructionEmail.Text); - - + false, + "", + Convert.ToInt32(mailboxPlanSelector.MailboxPlanId), + subscriberNumber); + + if (accountId < 0) { messageBox.ShowResultMessage(accountId); @@ -125,7 +145,7 @@ namespace WebsitePanel.Portal.ExchangeServer } } - + protected void rbtnUserExistingUser_CheckedChanged(object sender, EventArgs e) { @@ -138,7 +158,7 @@ namespace WebsitePanel.Portal.ExchangeServer NewUserTable.Visible = true; ExistingUserTable.Visible = false; - } - - } + } + + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx.designer.cs index 7380d76e..2c5c9255 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeCreateMailbox.ascx.designer.cs @@ -1,22 +1,15 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1378 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ namespace WebsitePanel.Portal.ExchangeServer { - /// - /// ExchangeCreateMailbox class. - /// - /// - /// Auto-generated class. - /// public partial class ExchangeCreateMailbox { /// @@ -145,6 +138,33 @@ namespace WebsitePanel.Portal.ExchangeServer { /// protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireDisplayName; + /// + /// locSubscriberNumber control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locSubscriberNumber; + + /// + /// txtSubscriberNumber control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSubscriberNumber; + + /// + /// valRequireSubscriberNumber control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSubscriberNumber; + /// /// locAccount control. /// @@ -227,22 +247,22 @@ namespace WebsitePanel.Portal.ExchangeServer { protected global::WebsitePanel.Portal.ExchangeServer.UserControls.UserSelector userSelector; /// - /// chkSendInstructions control. + /// locMailboxplanName control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.CheckBox chkSendInstructions; + protected global::System.Web.UI.WebControls.Localize locMailboxplanName; /// - /// sendInstructionEmail control. + /// mailboxPlanSelector control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::WebsitePanel.Portal.UserControls.EmailControl sendInstructionEmail; + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.MailboxPlanSelector mailboxPlanSelector; /// /// btnCreate control. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx index 2c0d04a2..879fbec5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx @@ -7,13 +7,12 @@ <%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %> diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx.cs index 06f4b5ff..0f986fc9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -42,16 +42,17 @@ using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeDistributionListEmailAddresses : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { + public partial class ExchangeDistributionListEmailAddresses : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { if (!IsPostBack) { BindEmails(); } + - } + } private void BindEmails() { @@ -79,11 +80,11 @@ namespace WebsitePanel.Portal.ExchangeServer { if (!Page.IsValid) return; - - btnDeleteAddresses.Enabled = true; - btnSetAsPrimary.Enabled = true; - try + btnDeleteAddresses.Enabled = true; + btnSetAsPrimary.Enabled = true; + + try { int result = ES.Services.ExchangeServer.AddDistributionListEmailAddress( PanelRequest.ItemID, PanelRequest.AccountID, email.Email); @@ -94,17 +95,17 @@ namespace WebsitePanel.Portal.ExchangeServer return; } - // rebind - BindEmails(); + // rebind + BindEmails(); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_DLIST_ADD_EMAIL", ex); + messageBox.ShowErrorMessage("EXCHANGE_DLIST_ADD_EMAIL", ex); } - // clear field - email.AccountName = ""; + // clear field + email.AccountName = ""; } protected void btnSetAsPrimary_Click(object sender, EventArgs e) @@ -113,10 +114,10 @@ namespace WebsitePanel.Portal.ExchangeServer { string email = null; bool Checked = false; - + for (int i = 0; i < gvEmails.Rows.Count; i++) { - + GridViewRow row = gvEmails.Rows[i]; CheckBox chkSelect = (CheckBox)row.FindControl("chkSelect"); if (chkSelect.Checked) @@ -145,14 +146,14 @@ namespace WebsitePanel.Portal.ExchangeServer return; } - // rebind - BindEmails(); + // rebind + BindEmails(); messageBox.ShowSuccessMessage("EXCHANGE_MAILBOX_SET_DEFAULT_EMAIL"); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_DLIST_SET_DEFAULT_EMAIL", ex); + messageBox.ShowErrorMessage("EXCHANGE_DLIST_SET_DEFAULT_EMAIL", ex); } } @@ -187,13 +188,13 @@ namespace WebsitePanel.Portal.ExchangeServer return; } - // rebind - BindEmails(); + // rebind + BindEmails(); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_DLIST_DELETE_EMAILS", ex); + messageBox.ShowErrorMessage("EXCHANGE_DLIST_DELETE_EMAILS", ex); } } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx.designer.cs index a961bc7a..7ccebf49 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListEmailAddresses.ascx.designer.cs @@ -1,34 +1,186 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.42 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ namespace WebsitePanel.Portal.ExchangeServer { + public partial class ExchangeDistributionListEmailAddresses { - protected WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; - protected WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; - protected System.Web.UI.WebControls.Image Image1; - protected System.Web.UI.WebControls.Localize locTitle; - protected System.Web.UI.WebControls.Literal litDisplayName; - protected WebsitePanel.Portal.ExchangeServer.UserControls.DistributionListTabs tabs; - protected WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; - protected System.Web.UI.WebControls.Label lblAddEmail; - protected System.Web.UI.WebControls.Localize locAccount; - protected WebsitePanel.Portal.ExchangeServer.UserControls.EmailAddress email; - protected System.Web.UI.WebControls.Button btnAddEmail; - protected WebsitePanel.Portal.CollapsiblePanel secExistingAddresses; - protected System.Web.UI.WebControls.Panel ExistingAddresses; - protected System.Web.UI.WebControls.GridView gvEmails; - protected System.Web.UI.WebControls.Localize locTotal; - protected System.Web.UI.WebControls.Label lblTotal; - protected System.Web.UI.WebControls.Button btnSetAsPrimary; - protected System.Web.UI.WebControls.Button btnDeleteAddresses; - protected System.Web.UI.WebControls.Localize FormComments; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// litDisplayName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Literal litDisplayName; + + /// + /// tabs control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.DistributionListTabs tabs; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// lblAddEmail control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblAddEmail; + + /// + /// locAccount control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locAccount; + + /// + /// email control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.EmailAddress email; + + /// + /// btnAddEmail control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAddEmail; + + /// + /// secExistingAddresses control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel secExistingAddresses; + + /// + /// ExistingAddresses control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel ExistingAddresses; + + /// + /// gvEmails control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvEmails; + + /// + /// locTotal control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTotal; + + /// + /// lblTotal control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblTotal; + + /// + /// btnSetAsPrimary control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnSetAsPrimary; + + /// + /// btnDeleteAddresses control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnDeleteAddresses; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; } } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListGeneralSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListGeneralSettings.ascx.cs index 072a415c..4382712e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListGeneralSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListGeneralSettings.ascx.cs @@ -39,18 +39,21 @@ using System.Web.UI.HtmlControls; using WebsitePanel.Providers.HostedSolution; using Microsoft.Security.Application; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeDistributionListGeneralSettings : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { + public partial class ExchangeDistributionListGeneralSettings : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { if (!IsPostBack) { BindSettings(); } - } + + + } private void BindSettings() { @@ -60,7 +63,7 @@ namespace WebsitePanel.Portal.ExchangeServer ExchangeDistributionList dlist = ES.Services.ExchangeServer.GetDistributionListGeneralSettings( PanelRequest.ItemID, PanelRequest.AccountID); - litDisplayName.Text = dlist.DisplayName; + litDisplayName.Text = dlist.DisplayName; // bind form txtDisplayName.Text = dlist.DisplayName; @@ -74,7 +77,7 @@ namespace WebsitePanel.Portal.ExchangeServer } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_GET_DLIST_SETTINGS", ex); + messageBox.ShowErrorMessage("EXCHANGE_GET_DLIST_SETTINGS", ex); } } @@ -102,13 +105,13 @@ namespace WebsitePanel.Portal.ExchangeServer return; } - litDisplayName.Text = AntiXss.HtmlEncode(txtDisplayName.Text); + litDisplayName.Text = AntiXss.HtmlEncode(txtDisplayName.Text); - messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_DLIST_SETTINGS"); + messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_DLIST_SETTINGS"); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_UPDATE_DLIST_SETTINGS", ex); + messageBox.ShowErrorMessage("EXCHANGE_UPDATE_DLIST_SETTINGS", ex); } } @@ -122,5 +125,5 @@ namespace WebsitePanel.Portal.ExchangeServer args.IsValid = manager.GetAccount() != null; } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListGeneralSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListGeneralSettings.ascx.designer.cs index d47594e0..4c435967 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListGeneralSettings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListGeneralSettings.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.3053 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListMailFlowSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListMailFlowSettings.ascx.cs index b857eb64..a8101656 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListMailFlowSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListMailFlowSettings.ascx.cs @@ -38,17 +38,20 @@ using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeDistributionListMailFlowSettings : WebsitePanelModuleBase - { + public partial class ExchangeDistributionListMailFlowSettings : WebsitePanelModuleBase + { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindSettings(); } + + } private void BindSettings() @@ -59,7 +62,7 @@ namespace WebsitePanel.Portal.ExchangeServer ExchangeDistributionList dlist = ES.Services.ExchangeServer.GetDistributionListMailFlowSettings( PanelRequest.ItemID, PanelRequest.AccountID); - litDisplayName.Text = dlist.DisplayName; + litDisplayName.Text = dlist.DisplayName; // bind form acceptAccounts.SetAccounts(dlist.AcceptAccounts); @@ -68,7 +71,7 @@ namespace WebsitePanel.Portal.ExchangeServer } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_GET_DLIST_MAILFLOW", ex); + messageBox.ShowErrorMessage("EXCHANGE_GET_DLIST_MAILFLOW", ex); } } @@ -92,11 +95,11 @@ namespace WebsitePanel.Portal.ExchangeServer return; } - messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_DLIST_MAILFLOW"); + messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_DLIST_MAILFLOW"); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_UPDATE_DLIST_MAILFLOW", ex); + messageBox.ShowErrorMessage("EXCHANGE_UPDATE_DLIST_MAILFLOW", ex); } } @@ -104,5 +107,5 @@ namespace WebsitePanel.Portal.ExchangeServer { SaveSettings(); } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListMailFlowSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListMailFlowSettings.ascx.designer.cs index 8acd9d04..6323eb4a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListMailFlowSettings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListMailFlowSettings.ascx.designer.cs @@ -1,22 +1,15 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.312 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ namespace WebsitePanel.Portal.ExchangeServer { - /// - /// ExchangeDistributionListMailFlowSettings class. - /// - /// - /// Auto-generated class. - /// public partial class ExchangeDistributionListMailFlowSettings { /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListPermissions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListPermissions.ascx.cs index 391caa18..e6ff43a8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListPermissions.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListPermissions.ascx.cs @@ -29,6 +29,7 @@ using System; using WebsitePanel.Providers.Common; using WebsitePanel.Providers.ResultObjects; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { @@ -43,24 +44,26 @@ namespace WebsitePanel.Portal.ExchangeServer { litDisplayName.Text = res.Value.DisplayName; sendBehalfList.SetAccounts(res.Value.SendOnBehalfAccounts); - sendAsList.SetAccounts(res.Value.SendAsAccounts); + sendAsList.SetAccounts(res.Value.SendAsAccounts); } else { messageBox.ShowMessage(res, "SET_DISTRIBUTION_LIST_PERMISSIONS", "HostedOrganization"); } - - + + } + + } protected void btnSave_Click(object sender, EventArgs e) { - string []sendBehalfAccouts = sendBehalfList.GetAccounts(); - string []sendAsAccounts = sendAsList.GetAccounts(); + string[] sendBehalfAccouts = sendBehalfList.GetAccounts(); + string[] sendAsAccounts = sendAsList.GetAccounts(); - ResultObject res = ES.Services.ExchangeServer.SetDistributionListPermissions(PanelRequest.ItemID, PanelRequest.AccountID, sendAsAccounts, sendBehalfAccouts); + ResultObject res = ES.Services.ExchangeServer.SetDistributionListPermissions(PanelRequest.ItemID, PanelRequest.AccountID, sendAsAccounts, sendBehalfAccouts); messageBox.ShowMessage(res, "SET_DISTRIBUTION_LIST_PERMISSIONS", ""); } } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListPermissions.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListPermissions.ascx.designer.cs index c524bab3..cd5f70ec 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListPermissions.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionListPermissions.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1873 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx index 57504228..f3f006d6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx @@ -32,13 +32,6 @@
    - - 10 - 20 - 50 - 100 - DisplayName Email @@ -51,7 +44,7 @@ + DataSourceID="odsAccountsPaged"> diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx.cs index 31a95d2e..4c44664a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx.cs @@ -38,27 +38,30 @@ using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeDistributionLists : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { + public partial class ExchangeDistributionLists : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { if (!IsPostBack) { - BindStats(); + BindStats(); } - } - private void BindStats() - { - // quota values - OrganizationStatistics stats = - ES.Services.ExchangeServer.GetOrganizationStatistics(PanelRequest.ItemID); - listsQuota.QuotaUsedValue = stats.CreatedDistributionLists; - listsQuota.QuotaValue = stats.AllocatedDistributionLists; - } + + } + + private void BindStats() + { + // quota values + OrganizationStatistics stats = + ES.Services.ExchangeServer.GetOrganizationStatistics(PanelRequest.ItemID); + listsQuota.QuotaUsedValue = stats.CreatedDistributionLists; + listsQuota.QuotaValue = stats.AllocatedDistributionLists; + } protected void btnCreateList_Click(object sender, EventArgs e) { @@ -66,21 +69,21 @@ namespace WebsitePanel.Portal.ExchangeServer "SpaceID=" + PanelSecurity.PackageId.ToString())); } - public string GetListEditUrl(string accountId) - { - return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "dlist_settings", - "AccountID=" + accountId, - "ItemID=" + PanelRequest.ItemID.ToString()); - } + public string GetListEditUrl(string accountId) + { + return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "dlist_settings", + "AccountID=" + accountId, + "ItemID=" + PanelRequest.ItemID.ToString()); + } - protected void odsAccountsPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e) - { - if (e.Exception != null) - { - messageBox.ShowErrorMessage("EXCHANGE_GET_LISTS", e.Exception); - e.ExceptionHandled = true; - } - } + protected void odsAccountsPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e) + { + if (e.Exception != null) + { + messageBox.ShowErrorMessage("EXCHANGE_GET_LISTS", e.Exception); + e.ExceptionHandled = true; + } + } protected void gvLists_RowCommand(object sender, GridViewCommandEventArgs e) { @@ -101,25 +104,13 @@ namespace WebsitePanel.Portal.ExchangeServer // rebind grid gvLists.DataBind(); - BindStats(); + BindStats(); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_DELETE_DISTRIBUTION_LIST", ex); + messageBox.ShowErrorMessage("EXCHANGE_DELETE_DISTRIBUTION_LIST", ex); } } } - - protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) - { - gvLists.PageSize = Convert.ToInt16(ddlPageSize.SelectedValue); - - // rebind grid - gvLists.DataBind(); - - // bind stats - BindStats(); - - } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx.designer.cs index b2601fcd..a6826723 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDistributionLists.ascx.designer.cs @@ -93,15 +93,6 @@ namespace WebsitePanel.Portal.ExchangeServer { /// protected global::System.Web.UI.WebControls.Localize locSearch; - /// - /// ddlPageSize control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList ddlPageSize; - /// /// ddlSearchColumn control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainNames.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainNames.ascx.cs index fa2ca3c5..6a2caaed 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainNames.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainNames.ascx.cs @@ -33,34 +33,36 @@ using WebsitePanel.Providers.HostedSolution; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeDomainNames : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - BindStats(); + public partial class ExchangeDomainNames : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + BindStats(); // bind domain names BindDomainNames(); - } - } + } + + + } private void BindStats() - { + { // set quotas - OrganizationStatistics stats = - ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID); - domainsQuota.QuotaUsedValue = stats.CreatedDomains; - domainsQuota.QuotaValue = stats.AllocatedDomains; - } + OrganizationStatistics stats = + ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID); + domainsQuota.QuotaUsedValue = stats.CreatedDomains; + domainsQuota.QuotaValue = stats.AllocatedDomains; + } - public string GetDomainRecordsEditUrl(string domainId) - { - return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "domain_records", - "DomainID=" + domainId, - "ItemID=" + PanelRequest.ItemID); - } + public string GetDomainRecordsEditUrl(string domainId) + { + return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "domain_records", + "DomainID=" + domainId, + "ItemID=" + PanelRequest.ItemID); + } private void BindDomainNames() { @@ -107,7 +109,7 @@ namespace WebsitePanel.Portal.ExchangeServer // rebind domains BindDomainNames(); - BindStats(); + BindStats(); } catch (Exception ex) { @@ -140,5 +142,5 @@ namespace WebsitePanel.Portal.ExchangeServer ShowErrorMessage("EXCHANGE_SET_DEFAULT_DOMAIN", ex); } } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainNames.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainNames.ascx.designer.cs index 56eedb42..13135b73 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainNames.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainNames.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.cs index 81796d94..61ac3ba0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.cs @@ -42,25 +42,38 @@ using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeDomainRecords : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - // save return URL - ViewState["ReturnUrl"] = Request.UrlReferrer.ToString(); + public partial class ExchangeDomainRecords : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + // save return URL + ViewState["ReturnUrl"] = Request.UrlReferrer.ToString(); - ToggleRecordControls(); + ToggleRecordControls(); - // domain name - DomainInfo domain = ES.Services.Servers.GetDomain(PanelRequest.DomainID); - litDomainName.Text = domain.DomainName; - } - } + // domain name + DomainInfo domain = ES.Services.Servers.GetDomain(PanelRequest.DomainID); + litDomainName.Text = domain.DomainName; + } + + + if (PanelSecurity.LoggedUser.Role == UserRole.User) + { + if (!PackagesHelper.CheckGroupQuotaEnabled(PanelSecurity.PackageId, ResourceGroups.Dns, Quotas.DNS_EDITOR)) + { + this.ExcludeDisableControls.Add(btnBack); + this.DisableControls = true; + } + } + + + + } public string GetRecordFullData(string recordType, string recordData, int mxPriority, int port) - { + { switch (recordType) { case "MX": @@ -72,8 +85,8 @@ namespace WebsitePanel.Portal.ExchangeServer } } - private void GetRecordsDetails(int recordIndex) - { + private void GetRecordsDetails(int recordIndex) + { GridViewRow row = gvRecords.Rows[recordIndex]; ViewState["SrvPort"] = ((Literal)row.Cells[0].FindControl("litSrvPort")).Text; ViewState["SrvWeight"] = ((Literal)row.Cells[0].FindControl("litSrvWeight")).Text; @@ -84,8 +97,8 @@ namespace WebsitePanel.Portal.ExchangeServer ViewState["RecordData"] = ((Literal)row.Cells[0].FindControl("litRecordData")).Text; } - private void BindDnsRecord(int recordIndex) - { + private void BindDnsRecord(int recordIndex) + { try { ViewState["NewRecord"] = false; @@ -107,13 +120,13 @@ namespace WebsitePanel.Portal.ExchangeServer } } - protected void ddlRecordType_SelectedIndexChanged(object sender, EventArgs e) - { - ToggleRecordControls(); - } + protected void ddlRecordType_SelectedIndexChanged(object sender, EventArgs e) + { + ToggleRecordControls(); + } - private void ToggleRecordControls() - { + private void ToggleRecordControls() + { rowMXPriority.Visible = false; rowSRVPriority.Visible = false; rowSRVWeight.Visible = false; @@ -141,18 +154,18 @@ namespace WebsitePanel.Portal.ExchangeServer } } - private void SaveRecord() - { - if (!Page.IsValid) - return; + private void SaveRecord() + { + if (!Page.IsValid) + return; - bool existingRecord = ViewState["ExistingRecord"] != null; + bool existingRecord = ViewState["ExistingRecord"] != null; - if (!existingRecord) - { - // add record - try - { + if (!existingRecord) + { + // add record + try + { int result = ES.Services.Servers.AddDnsZoneRecord(PanelRequest.DomainID, txtRecordName.Text.Trim(), (DnsRecordType) @@ -164,23 +177,23 @@ namespace WebsitePanel.Portal.ExchangeServer Int32.Parse(txtSRVWeight.Text.Trim()), Int32.Parse(txtSRVPort.Text.Trim())); - if (result < 0) - { - messageBox.ShowResultMessage(result); - return; - } - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("GDNS_ADD_RECORD", ex); - return; - } - } - else - { - // update record - try - { + if (result < 0) + { + messageBox.ShowResultMessage(result); + return; + } + } + catch (Exception ex) + { + messageBox.ShowErrorMessage("GDNS_ADD_RECORD", ex); + return; + } + } + else + { + // update record + try + { int result = ES.Services.Servers.UpdateDnsZoneRecord(PanelRequest.DomainID, ViewState["RecordName"].ToString(), ViewState["RecordData"].ToString(), @@ -192,64 +205,64 @@ namespace WebsitePanel.Portal.ExchangeServer Int32.Parse(txtSRVWeight.Text.Trim()), Int32.Parse(txtSRVPort.Text.Trim())); - if (result < 0) - { - messageBox.ShowResultMessage(result); - return; - } - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("GDNS_UPDATE_RECORD", ex); - return; - } - } + if (result < 0) + { + messageBox.ShowResultMessage(result); + return; + } + } + catch (Exception ex) + { + messageBox.ShowErrorMessage("GDNS_UPDATE_RECORD", ex); + return; + } + } - ResetPopup(); + ResetPopup(); - // rebind and switch - gvRecords.DataBind(); - } + // rebind and switch + gvRecords.DataBind(); + } - private void DeleteRecord(int recordIndex) - { - try - { - GetRecordsDetails(recordIndex); + private void DeleteRecord(int recordIndex) + { + try + { + GetRecordsDetails(recordIndex); - int result = ES.Services.Servers.DeleteDnsZoneRecord(PanelRequest.DomainID, - ViewState["RecordName"].ToString(), - (DnsRecordType)ViewState["RecordType"], - ViewState["RecordData"].ToString()); + int result = ES.Services.Servers.DeleteDnsZoneRecord(PanelRequest.DomainID, + ViewState["RecordName"].ToString(), + (DnsRecordType)ViewState["RecordType"], + ViewState["RecordData"].ToString()); - if (result < 0) - { - messageBox.ShowResultMessage(result); - return; - } - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("GDNS_DELETE_RECORD", ex); - return; - } + if (result < 0) + { + messageBox.ShowResultMessage(result); + return; + } + } + catch (Exception ex) + { + messageBox.ShowErrorMessage("GDNS_DELETE_RECORD", ex); + return; + } - // rebind grid - gvRecords.DataBind(); - } + // rebind grid + gvRecords.DataBind(); + } - protected void btnSave_Click(object sender, EventArgs e) - { - SaveRecord(); - } + protected void btnSave_Click(object sender, EventArgs e) + { + SaveRecord(); + } - protected void btnCancel_Click(object sender, EventArgs e) - { - ResetPopup(); - } + protected void btnCancel_Click(object sender, EventArgs e) + { + ResetPopup(); + } - private void ResetPopup() - { + private void ResetPopup() + { EditRecordModal.Hide(); ViewState["ExistingRecord"] = null; @@ -266,36 +279,36 @@ namespace WebsitePanel.Portal.ExchangeServer ToggleRecordControls(); } - protected void gvRecords_RowEditing(object sender, GridViewEditEventArgs e) - { - ViewState["ExistingRecord"] = true; - BindDnsRecord(e.NewEditIndex); - EditRecordModal.Show(); - e.Cancel = true; - } + protected void gvRecords_RowEditing(object sender, GridViewEditEventArgs e) + { + ViewState["ExistingRecord"] = true; + BindDnsRecord(e.NewEditIndex); + EditRecordModal.Show(); + e.Cancel = true; + } - protected void gvRecords_RowDeleting(object sender, GridViewDeleteEventArgs e) - { - DeleteRecord(e.RowIndex); - e.Cancel = true; - } + protected void gvRecords_RowDeleting(object sender, GridViewDeleteEventArgs e) + { + DeleteRecord(e.RowIndex); + e.Cancel = true; + } - protected void odsDnsRecords_Selected(object sender, ObjectDataSourceStatusEventArgs e) - { - if (e.Exception != null) - { - messageBox.ShowErrorMessage("GDNS_GET_RECORD", e.Exception); - //this.DisableControls = true; - e.ExceptionHandled = true; - } - } + protected void odsDnsRecords_Selected(object sender, ObjectDataSourceStatusEventArgs e) + { + if (e.Exception != null) + { + messageBox.ShowErrorMessage("GDNS_GET_RECORD", e.Exception); + //this.DisableControls = true; + e.ExceptionHandled = true; + } + } - protected void btnBack_Click(object sender, EventArgs e) - { - if (ViewState["ReturnUrl"] != null) - Response.Redirect(ViewState["ReturnUrl"].ToString()); - else - RedirectToBrowsePage(); - } - } + protected void btnBack_Click(object sender, EventArgs e) + { + if (ViewState["ReturnUrl"] != null) + Response.Redirect(ViewState["ReturnUrl"].ToString()); + else + RedirectToBrowsePage(); + } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.designer.cs index f7333780..fe5fa391 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeDomainRecords.ascx.designer.cs @@ -1,31 +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. - //------------------------------------------------------------------------------ // // This code was generated by a tool. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx.cs deleted file mode 100644 index cd1eeace..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxAdvancedSettings.ascx.cs +++ /dev/null @@ -1,164 +0,0 @@ -// 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. - -using System; -using WebsitePanel.Providers.HostedSolution; -using WebsitePanel.EnterpriseServer; - -namespace WebsitePanel.Portal.ExchangeServer -{ - public partial class ExchangeMailboxAdvancedSettings : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - BindSettings(); - } - } - - private void BindSettings() - { - try - { - // get settings - ExchangeMailbox mailbox = ES.Services.ExchangeServer.GetMailboxAdvancedSettings( - PanelRequest.ItemID, PanelRequest.AccountID); - - // title - litDisplayName.Text = mailbox.DisplayName; - - // load space context - PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId); - - chkPOP3.Visible = cntx.Quotas.ContainsKey(Quotas.EXCHANGE2007_POP3ALLOWED) && !cntx.Quotas[Quotas.EXCHANGE2007_POP3ALLOWED].QuotaExhausted; - chkIMAP.Visible = cntx.Quotas.ContainsKey(Quotas.EXCHANGE2007_IMAPALLOWED) && !cntx.Quotas[Quotas.EXCHANGE2007_IMAPALLOWED].QuotaExhausted; - chkOWA.Visible = cntx.Quotas.ContainsKey(Quotas.EXCHANGE2007_OWAALLOWED) && !cntx.Quotas[Quotas.EXCHANGE2007_OWAALLOWED].QuotaExhausted; - chkMAPI.Visible = cntx.Quotas.ContainsKey(Quotas.EXCHANGE2007_MAPIALLOWED) && !cntx.Quotas[Quotas.EXCHANGE2007_MAPIALLOWED].QuotaExhausted; - chkActiveSync.Visible = cntx.Quotas.ContainsKey(Quotas.EXCHANGE2007_ACTIVESYNCALLOWED) && !cntx.Quotas[Quotas.EXCHANGE2007_ACTIVESYNCALLOWED].QuotaExhausted; - - // bind form - chkPOP3.Checked = mailbox.EnablePOP; - chkIMAP.Checked = mailbox.EnableIMAP; - chkOWA.Checked = mailbox.EnableOWA; - chkMAPI.Checked = mailbox.EnableMAPI; - chkActiveSync.Checked = mailbox.EnableActiveSync; - - lblTotalItems.Text = mailbox.TotalItems.ToString(); - lblTotalSize.Text = mailbox.TotalSizeMB.ToString(); - lblLastLogon.Text = Utils.FormatDateTime(mailbox.LastLogon); - lblLastLogoff.Text = Utils.FormatDateTime(mailbox.LastLogoff); - - sizeIssueWarning.ValueKB = mailbox.IssueWarningKB; - sizeProhibitSend.ValueKB = mailbox.ProhibitSendKB; - sizeProhibitSendReceive.ValueKB = mailbox.ProhibitSendReceiveKB; - - daysKeepDeletedItems.ValueDays = mailbox.KeepDeletedItemsDays; - - txtAccountName.Text = mailbox.Domain + "\\" + mailbox.AccountName; - - // get account meta - ExchangeAccount account = ES.Services.ExchangeServer.GetAccount(PanelRequest.ItemID, PanelRequest.AccountID); - chkPmmAllowed.Checked = (account.MailboxManagerActions & MailboxManagerActions.AdvancedSettings) > 0; - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_GET_MAILBOX_ADVANCED", ex); - } - } - - private void SaveSettings() - { - if (!Page.IsValid) - return; - - try - { - if (((sizeIssueWarning.ValueKB <= sizeProhibitSend.ValueKB && sizeIssueWarning.ValueKB != -1) || sizeProhibitSend.ValueKB == -1) - && ((sizeProhibitSend.ValueKB <= sizeProhibitSendReceive.ValueKB && sizeProhibitSend.ValueKB != -1) || sizeProhibitSendReceive.ValueKB == -1)) - { - int result = ES.Services.ExchangeServer.SetMailboxAdvancedSettings( - PanelRequest.ItemID, PanelRequest.AccountID, - chkPOP3.Checked, - chkIMAP.Checked, - chkOWA.Checked, - chkMAPI.Checked, - chkActiveSync.Checked, - - sizeIssueWarning.ValueKB, - sizeProhibitSend.ValueKB, - sizeProhibitSendReceive.ValueKB, - - daysKeepDeletedItems.ValueDays); - - if (result < 0) - { - messageBox.ShowResultMessage(result); - return; - } - - messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_MAILBOX_ADVANCED"); - } - else - { - messageBox.ShowErrorMessage("EXCHANGE_SET_ORG_LIMITS_VALIDATION"); - } - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_UPDATE_MAILBOX_ADVANCED", ex); - } - } - - protected void btnSave_Click(object sender, EventArgs e) - { - SaveSettings(); - } - - protected void chkPmmAllowed_CheckedChanged(object sender, EventArgs e) - { - try - { - int result = ES.Services.ExchangeServer.SetMailboxManagerSettings(PanelRequest.ItemID, PanelRequest.AccountID, - chkPmmAllowed.Checked, MailboxManagerActions.AdvancedSettings); - - if (result < 0) - { - messageBox.ShowResultMessage(result); - return; - } - - messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_MAILMANAGER"); - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_UPDATE_MAILMANAGER", ex); - } - } - } -} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx index 44fb11c1..1e94d27f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx @@ -7,13 +7,12 @@ <%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %> @@ -88,7 +87,7 @@
      - +
    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx.cs index b0e5ca58..eb6eb688 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx.cs @@ -40,34 +40,37 @@ using System.Web.UI.HtmlControls; using EntServer = WebsitePanel.EnterpriseServer; using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeMailboxEmailAddresses : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - BindEmails(); - } - } + public partial class ExchangeMailboxEmailAddresses : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + BindEmails(); + } + + + } private void BindEmails() { EntServer.ExchangeEmailAddress[] emails = ES.Services.ExchangeServer.GetMailboxEmailAddresses( - PanelRequest.ItemID, PanelRequest.AccountID); + PanelRequest.ItemID, PanelRequest.AccountID); - gvEmails.DataSource = emails; + gvEmails.DataSource = emails; gvEmails.DataBind(); - lblTotal.Text = emails.Length.ToString(); + lblTotal.Text = emails.Length.ToString(); - // form title + // form title ExchangeAccount account = ES.Services.ExchangeServer.GetAccount(PanelRequest.ItemID, PanelRequest.AccountID); chkPmmAllowed.Checked = (account.MailboxManagerActions & MailboxManagerActions.EmailAddresses) > 0; - litDisplayName.Text = account.DisplayName; + litDisplayName.Text = account.DisplayName; //disable buttons if only one e-mail available, it is primary and cannot be deleted if (gvEmails.Rows.Count == 1) @@ -88,7 +91,7 @@ namespace WebsitePanel.Portal.ExchangeServer try { int result = ES.Services.ExchangeServer.AddMailboxEmailAddress( - PanelRequest.ItemID, PanelRequest.AccountID, email.Email); + PanelRequest.ItemID, PanelRequest.AccountID, email.Email); if (result < 0) { @@ -96,16 +99,16 @@ namespace WebsitePanel.Portal.ExchangeServer return; } - // rebind - BindEmails(); + // rebind + BindEmails(); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_MAILBOX_ADD_EMAIL", ex); + messageBox.ShowErrorMessage("EXCHANGE_MAILBOX_ADD_EMAIL", ex); } - // clear field - email.AccountName = ""; + // clear field + email.AccountName = ""; } protected void btnSetAsPrimary_Click(object sender, EventArgs e) @@ -145,14 +148,14 @@ namespace WebsitePanel.Portal.ExchangeServer return; } - // rebind - BindEmails(); + // rebind + BindEmails(); - messageBox.ShowSuccessMessage("EXCHANGE_MAILBOX_SET_DEFAULT_EMAIL"); + messageBox.ShowSuccessMessage("EXCHANGE_MAILBOX_SET_DEFAULT_EMAIL"); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_MAILBOX_SET_DEFAULT_EMAIL", ex); + messageBox.ShowErrorMessage("EXCHANGE_MAILBOX_SET_DEFAULT_EMAIL", ex); } } @@ -185,12 +188,12 @@ namespace WebsitePanel.Portal.ExchangeServer return; } - // rebind - BindEmails(); + // rebind + BindEmails(); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_MAILBOX_DELETE_EMAILS", ex); + messageBox.ShowErrorMessage("EXCHANGE_MAILBOX_DELETE_EMAILS", ex); } } @@ -214,5 +217,5 @@ namespace WebsitePanel.Portal.ExchangeServer messageBox.ShowErrorMessage("EXCHANGE_UPDATE_MAILMANAGER", ex); } } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx.designer.cs index eba6138e..4a04d015 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxEmailAddresses.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx index c5c4246e..4e9a8fd4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx @@ -3,11 +3,12 @@ <%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> <%@ Register Src="UserControls/MailboxSelector.ascx" TagName="MailboxSelector" TagPrefix="wsp" %> <%@ Register Src="UserControls/MailboxTabs.ascx" TagName="MailboxTabs" TagPrefix="wsp" %> -<%@ Register Src="../UserControls/PasswordControl.ascx" TagName="PasswordControl" TagPrefix="wsp" %> <%@ Register Src="UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> <%@ Register Src="UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> <%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %> <%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> +<%@ Register Src="UserControls/MailboxPlanSelector.ascx" TagName="MailboxPlanSelector" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %> @@ -31,186 +32,58 @@ - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - -
    - - -
    - -
    - -
    -
    -
    - -   - - -
    - -
    - - + - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    +
    + +
    + MB +
    +
    +
    - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    + + + + + +
    +
    +
    - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - - -
    -
    - - - - - - -
    - -
    - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -149,12 +162,24 @@ + + + - + + + + + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs index a880fc62..544d78cf 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs @@ -32,15 +32,16 @@ using WebsitePanel.Providers.HostedSolution; namespace WebsitePanel.Portal.ExchangeServer { - public partial class OrganizationHome : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - BindOrgStats(); - } - } + public partial class OrganizationHome : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + BindOrgStats(); + } + + } private void BindExchangeStats() { @@ -54,14 +55,9 @@ namespace WebsitePanel.Portal.ExchangeServer lnkLists.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "dlists", "SpaceID=" + PanelSecurity.PackageId.ToString()); - lnkFolders.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "public_folders", + lnkExchangeStorage.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "storage_usage", "SpaceID=" + PanelSecurity.PackageId.ToString()); - - - - - mailboxesStats.QuotaUsedValue = exchangeOrgStats.CreatedMailboxes; mailboxesStats.QuotaValue = exchangeOrgStats.AllocatedMailboxes; @@ -71,79 +67,93 @@ namespace WebsitePanel.Portal.ExchangeServer listsStats.QuotaUsedValue = exchangeOrgStats.CreatedDistributionLists; listsStats.QuotaValue = exchangeOrgStats.AllocatedDistributionLists; + exchangeStorageStats.QuotaUsedValue = exchangeOrgStats.UsedDiskSpace; + exchangeStorageStats.QuotaValue = exchangeOrgStats.AllocatedDiskSpace; - foldersStats.QuotaUsedValue = exchangeOrgStats.CreatedPublicFolders; - foldersStats.QuotaValue = exchangeOrgStats.AllocatedPublicFolders; - - lnkUsedExchangeDiskSpace.Text = exchangeOrgStats.UsedDiskSpace.ToString(); - lnkUsedExchangeDiskSpace.NavigateUrl - = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "storage_usage", - "SpaceID=" + PanelSecurity.PackageId.ToString()); - - - } - + private void BindOrgStats() - { - Organization org = ES.Services.Organizations.GetOrganization(PanelRequest.ItemID); + { + Organization org = ES.Services.Organizations.GetOrganization(PanelRequest.ItemID); lblOrganizationNameValue.Text = org.Name; lblOrganizationIDValue.Text = org.OrganizationId; lblCreatedValue.Text = org.CreatedDate.Date.ToShortDateString(); - + OrganizationStatistics orgStats = ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID); - if (orgStats == null) - return; - - - litTotalDiskSpaceValue.Text = orgStats.UsedDiskSpace.ToString(); + if (orgStats == null) + return; domainStats.QuotaUsedValue = orgStats.CreatedDomains; domainStats.QuotaValue = orgStats.AllocatedDomains; userStats.QuotaUsedValue = orgStats.CreatedUsers; userStats.QuotaValue = orgStats.AllocatedUsers; - - - + + + lnkDomains.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "domains", "SpaceID=" + PanelSecurity.PackageId); lnkUsers.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "users", "SpaceID=" + PanelSecurity.PackageId); - - - //If Organization is ExchangeOrganization show exchage specific statistics - if (!string.IsNullOrEmpty(org.GlobalAddressList)) + + + + PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId); + if (cntx.Groups.ContainsKey(ResourceGroups.Exchange)) { exchangeStatsPanel.Visible = true; BindExchangeStats(); - } else exchangeStatsPanel.Visible = false; - - PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId); + //Show SharePoint statistics if (cntx.Groups.ContainsKey(ResourceGroups.HostedSharePoint)) { sharePointStatsPanel.Visible = true; - + lnkSiteCollections.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "sharepoint_sitecollections", "SpaceID=" + PanelSecurity.PackageId); siteCollectionsStats.QuotaUsedValue = orgStats.CreatedSharePointSiteCollections; siteCollectionsStats.QuotaValue = orgStats.AllocatedSharePointSiteCollections; - + } else sharePointStatsPanel.Visible = false; + if (cntx.Groups.ContainsKey(ResourceGroups.OCS)) + { + ocsStatsPanel.Visible = true; + BindOCSStats(); + } + else + ocsStatsPanel.Visible = false; + + if (cntx.Groups.ContainsKey(ResourceGroups.BlackBerry)) + { + besStatsPanel.Visible = true; + BindBESStats(); + } + else + besStatsPanel.Visible = false; +/* + if (cntx.Groups.ContainsKey(ResourceGroups.Lync)) + { + lyncStatsPanel.Visible = true; + BindLyncStats(); + } + else + */ + lyncStatsPanel.Visible = false; + + if (org.CrmOrganizationId != Guid.Empty) { @@ -153,18 +163,51 @@ namespace WebsitePanel.Portal.ExchangeServer else crmStatsPanel.Visible = false; - - } - private void BindCRMStats(OrganizationStatistics orgStats) - { + } + + private void BindCRMStats(OrganizationStatistics orgStats) + { lnkCRMUsers.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "crmusers", "SpaceID=" + PanelSecurity.PackageId); - crmUsersStats.QuotaUsedValue = orgStats.CreatedCRMUsers; - crmUsersStats.QuotaValue = orgStats.AllocatedCRMUsers; - } - - - } + crmUsersStats.QuotaUsedValue = orgStats.CreatedCRMUsers; + crmUsersStats.QuotaValue = orgStats.AllocatedCRMUsers; + } + + private void BindOCSStats() + { + OrganizationStatistics stats = ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID); + ocsUsersStats.QuotaValue = stats.AllocatedOCSUsers; + ocsUsersStats.QuotaUsedValue = stats.CreatedOCSUsers; + + lnkOCSUsers.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "ocs_users", + "SpaceID=" + PanelSecurity.PackageId.ToString()); + } + + private void BindLyncStats() + { + /* + OrganizationStatistics stats = ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID); + lyncUsersStats.QuotaValue = stats.AllocatedLyncUsers; + lyncUsersStats.QuotaUsedValue = stats.CreatedLyncUsers; + + lnkLyncUsers.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "lync_users", + "SpaceID=" + PanelSecurity.PackageId.ToString()); + */ + } + + + private void BindBESStats() + { + OrganizationStatistics stats = ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID); + besUsersStats.QuotaValue = stats.AllocatedBlackBerryUsers; + besUsersStats.QuotaUsedValue = stats.CreatedBlackBerryUsers; + + lnkBESUsers.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "blackberry_users", + "SpaceID=" + PanelSecurity.PackageId.ToString()); + } + + + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.designer.cs index 1dd113c8..afd604b1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.designer.cs @@ -147,24 +147,6 @@ namespace WebsitePanel.Portal.ExchangeServer { /// protected global::WebsitePanel.Portal.QuotaViewer userStats; - /// - /// litTotalUserDiskSpace control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal litTotalUserDiskSpace; - - /// - /// litTotalDiskSpaceValue control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal litTotalDiskSpaceValue; - /// /// exchangeStatsPanel control. /// @@ -238,40 +220,94 @@ namespace WebsitePanel.Portal.ExchangeServer { protected global::WebsitePanel.Portal.QuotaViewer listsStats; /// - /// lnkFolders control. + /// lnkExchangeStorage control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.HyperLink lnkFolders; + protected global::System.Web.UI.WebControls.HyperLink lnkExchangeStorage; /// - /// foldersStats control. + /// exchangeStorageStats control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::WebsitePanel.Portal.QuotaViewer foldersStats; + protected global::WebsitePanel.Portal.QuotaViewer exchangeStorageStats; /// - /// Literal1 control. + /// besStatsPanel control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Literal Literal1; + protected global::System.Web.UI.WebControls.Panel besStatsPanel; /// - /// lnkUsedExchangeDiskSpace control. + /// locBESStatistics control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.HyperLink lnkUsedExchangeDiskSpace; + protected global::System.Web.UI.WebControls.Localize locBESStatistics; + + /// + /// lnkBESUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.HyperLink lnkBESUsers; + + /// + /// besUsersStats control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.QuotaViewer besUsersStats; + + /// + /// lyncStatsPanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel lyncStatsPanel; + + /// + /// locLyncStatistics control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locLyncStatistics; + + /// + /// lnkLyncUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.HyperLink lnkLyncUsers; + + /// + /// lyncUsersStats control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.QuotaViewer lyncUsersStats; /// /// sharePointStatsPanel control. @@ -309,6 +345,42 @@ namespace WebsitePanel.Portal.ExchangeServer { /// protected global::WebsitePanel.Portal.QuotaViewer siteCollectionsStats; + /// + /// ocsStatsPanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel ocsStatsPanel; + + /// + /// locOCSStatistics control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locOCSStatistics; + + /// + /// lnkOCSUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.HyperLink lnkOCSUsers; + + /// + /// ocsUsersStats control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.QuotaViewer ocsUsersStats; + /// /// crmStatsPanel control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx index f3f0d5a3..710b4e40 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx @@ -62,6 +62,10 @@ + + + + @@ -205,8 +213,7 @@
    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx.cs index d4764986..e0130314 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx.cs @@ -33,67 +33,55 @@ using Microsoft.Security.Application; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeMailboxGeneralSettings : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { + public partial class ExchangeMailboxGeneralSettings : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { if (!IsPostBack) { BindSettings(); } - } + + } private void BindSettings() { try { - password.SetPackagePolicy(PanelSecurity.PackageId, UserSettings.EXCHANGE_POLICY, "MailboxPasswordPolicy"); - password.EditMode = true; - // get settings ExchangeMailbox mailbox = ES.Services.ExchangeServer.GetMailboxGeneralSettings(PanelRequest.ItemID, PanelRequest.AccountID); - // title - litDisplayName.Text = mailbox.DisplayName; + //get statistics + ExchangeMailboxStatistics stats = ES.Services.ExchangeServer.GetMailboxStatistics(PanelRequest.ItemID, + PanelRequest.AccountID); + + // title + litDisplayName.Text = mailbox.DisplayName; // bind form - txtDisplayName.Text = mailbox.DisplayName; chkHideAddressBook.Checked = mailbox.HideFromAddressBook; chkDisable.Checked = mailbox.Disabled; - txtFirstName.Text = mailbox.FirstName; - txtInitials.Text = mailbox.Initials; - txtLastName.Text = mailbox.LastName; - - txtJobTitle.Text = mailbox.JobTitle; - txtCompany.Text = mailbox.Company; - txtDepartment.Text = mailbox.Department; - txtOffice.Text = mailbox.Office; - manager.SetAccount(mailbox.ManagerAccount); - - txtBusinessPhone.Text = mailbox.BusinessPhone; - txtFax.Text = mailbox.Fax; - txtHomePhone.Text = mailbox.HomePhone; - txtMobilePhone.Text = mailbox.MobilePhone; - txtPager.Text = mailbox.Pager; - txtWebPage.Text = mailbox.WebPage; - - txtAddress.Text = mailbox.Address; - txtCity.Text = mailbox.City; - txtState.Text = mailbox.State; - txtZip.Text = mailbox.Zip; - country.Country = mailbox.Country; - - txtNotes.Text = mailbox.Notes; - // get account meta ExchangeAccount account = ES.Services.ExchangeServer.GetAccount(PanelRequest.ItemID, PanelRequest.AccountID); chkPmmAllowed.Checked = (account.MailboxManagerActions & MailboxManagerActions.GeneralSettings) > 0; + + mailboxPlanSelector.MailboxPlanId = account.MailboxPlanId.ToString(); + + mailboxSize.QuotaUsedValue = Convert.ToInt32(stats.TotalSize / 1024 / 1024); + mailboxSize.QuotaValue = (int)Math.Round((double)(stats.MaxSize / 1024 / 1024)); + + if ((account.AccountType == ExchangeAccountType.Equipment) | (account.AccountType == ExchangeAccountType.Room)) + secCalendarSettings.Visible = true; + else + secCalendarSettings.Visible = false; + + } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_GET_MAILBOX_SETTINGS", ex); + messageBox.ShowErrorMessage("EXCHANGE_GET_MAILBOX_SETTINGS", ex); } } @@ -106,49 +94,29 @@ namespace WebsitePanel.Portal.ExchangeServer { int result = ES.Services.ExchangeServer.SetMailboxGeneralSettings( PanelRequest.ItemID, PanelRequest.AccountID, - txtDisplayName.Text, - password.Password, chkHideAddressBook.Checked, - chkDisable.Checked, - - txtFirstName.Text, - txtInitials.Text, - txtLastName.Text, - - txtAddress.Text, - txtCity.Text, - txtState.Text, - txtZip.Text, - country.Country, - - txtJobTitle.Text, - txtCompany.Text, - txtDepartment.Text, - txtOffice.Text, - manager.GetAccount(), - - txtBusinessPhone.Text, - txtFax.Text, - txtHomePhone.Text, - txtMobilePhone.Text, - txtPager.Text, - txtWebPage.Text, - txtNotes.Text); + chkDisable.Checked); if (result < 0) { messageBox.ShowResultMessage(result); return; } + else + { + result = ES.Services.ExchangeServer.SetExchangeMailboxPlan(PanelRequest.ItemID, PanelRequest.AccountID, Convert.ToInt32(mailboxPlanSelector.MailboxPlanId)); + if (result < 0) + { + messageBox.ShowResultMessage(result); + return; + } + } - // update title - litDisplayName.Text = AntiXss.HtmlEncode(txtDisplayName.Text); - - messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_MAILBOX_SETTINGS"); + messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_MAILBOX_SETTINGS"); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_UPDATE_MAILBOX_SETTINGS", ex); + messageBox.ShowErrorMessage("EXCHANGE_UPDATE_MAILBOX_SETTINGS", ex); } } @@ -177,5 +145,33 @@ namespace WebsitePanel.Portal.ExchangeServer messageBox.ShowErrorMessage("EXCHANGE_UPDATE_MAILMANAGER", ex); } } - } + + private int ConvertMbxSizeToIntMB(string inputValue) + { + int result = 0; + + if ((inputValue == null) || (inputValue == "")) + return 0; + + if (inputValue.Contains("TB")) + { + result = Convert.ToInt32(inputValue.Replace(" TB", "")); + result = result * 1024 * 1024; + } + else + if (inputValue.Contains("GB")) + { + result = Convert.ToInt32(inputValue.Replace(" GB", "")); + result = result * 1024; + } + else + if (inputValue.Contains("MB")) + { + result = Convert.ToInt32(inputValue.Replace(" MB", "")); + } + + return result; + } + + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx.designer.cs index 0a518f20..d1dc4f60 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxGeneralSettings.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -86,49 +85,31 @@ namespace WebsitePanel.Portal.ExchangeServer { protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; /// - /// locDisplayName control. + /// secGeneral control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Localize locDisplayName; + protected global::WebsitePanel.Portal.CollapsiblePanel secGeneral; /// - /// txtDisplayName control. + /// General control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.TextBox txtDisplayName; + protected global::System.Web.UI.WebControls.Panel General; /// - /// valRequireDisplayName control. + /// GeneralUpdatePanel control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireDisplayName; - - /// - /// locPassword control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locPassword; - - /// - /// password control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.PasswordControl password; + protected global::System.Web.UI.UpdatePanel GeneralUpdatePanel; /// /// chkHideAddressBook control. @@ -149,418 +130,67 @@ namespace WebsitePanel.Portal.ExchangeServer { protected global::System.Web.UI.WebControls.CheckBox chkDisable; /// - /// locFirstName control. + /// Localize2 control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Localize locFirstName; + protected global::System.Web.UI.WebControls.Localize Localize2; /// - /// txtFirstName control. + /// mailboxPlanSelector control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.TextBox txtFirstName; + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.MailboxPlanSelector mailboxPlanSelector; /// - /// locInitials control. + /// locQuota control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Localize locInitials; + protected global::System.Web.UI.WebControls.Localize locQuota; /// - /// txtInitials control. + /// mailboxSize control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.TextBox txtInitials; + protected global::WebsitePanel.Portal.QuotaViewer mailboxSize; /// - /// locLastName control. + /// secCalendarSettings control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Localize locLastName; + protected global::WebsitePanel.Portal.CollapsiblePanel secCalendarSettings; /// - /// txtLastName control. + /// CalendarSettings control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.TextBox txtLastName; + protected global::System.Web.UI.WebControls.Panel CalendarSettings; /// - /// secCompanyInfo control. + /// UpdatePanel1 control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::WebsitePanel.Portal.CollapsiblePanel secCompanyInfo; - - /// - /// CompanyInfo control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel CompanyInfo; - - /// - /// locJobTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locJobTitle; - - /// - /// txtJobTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtJobTitle; - - /// - /// locCompany control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locCompany; - - /// - /// txtCompany control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtCompany; - - /// - /// locDepartment control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locDepartment; - - /// - /// txtDepartment control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtDepartment; - - /// - /// locOffice control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locOffice; - - /// - /// txtOffice control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtOffice; - - /// - /// locManager control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locManager; - - /// - /// manager control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.ExchangeServer.UserControls.MailboxSelector manager; - - /// - /// secContactInfo control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.CollapsiblePanel secContactInfo; - - /// - /// ContactInfo control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel ContactInfo; - - /// - /// locBusinessPhone control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locBusinessPhone; - - /// - /// txtBusinessPhone control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtBusinessPhone; - - /// - /// locFax control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locFax; - - /// - /// txtFax control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtFax; - - /// - /// locHomePhone control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locHomePhone; - - /// - /// txtHomePhone control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtHomePhone; - - /// - /// locMobilePhone control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locMobilePhone; - - /// - /// txtMobilePhone control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtMobilePhone; - - /// - /// locPager control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locPager; - - /// - /// txtPager control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtPager; - - /// - /// locWebPage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locWebPage; - - /// - /// txtWebPage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtWebPage; - - /// - /// secAddressInfo control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.CollapsiblePanel secAddressInfo; - - /// - /// AddressInfo control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel AddressInfo; - - /// - /// locAddress control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locAddress; - - /// - /// txtAddress control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtAddress; - - /// - /// locCity control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locCity; - - /// - /// txtCity control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtCity; - - /// - /// locState control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locState; - - /// - /// txtState control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtState; - - /// - /// locZip control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locZip; - - /// - /// txtZip control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtZip; - - /// - /// locCountry control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locCountry; - - /// - /// country control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.ExchangeServer.UserControls.CountrySelector country; - - /// - /// locNotes control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locNotes; - - /// - /// txtNotes control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtNotes; + protected global::System.Web.UI.UpdatePanel UpdatePanel1; /// /// chkPmmAllowed control. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx index f7bf243a..2a157a48 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx @@ -106,33 +106,6 @@ - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    -
    - diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx.cs index 3d738113..73fcbb7a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx.cs @@ -27,23 +27,24 @@ // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. using System; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class OrganizationCreateOrganization : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { + public partial class OrganizationCreateOrganization : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + + } - } + protected void btnCreate_Click(object sender, EventArgs e) + { + CreateOrganization(); + } - protected void btnCreate_Click(object sender, EventArgs e) - { - CreateOrganization(); - } - - private void CreateOrganization() - { + private void CreateOrganization() + { if (!Page.IsValid) return; @@ -61,12 +62,12 @@ namespace WebsitePanel.Portal.ExchangeServer Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "organization_home", "ItemID=" + itemId)); - + } catch (Exception ex) { messageBox.ShowErrorMessage("ORGANIZATION_CREATE_ORG", ex); } - } - } + } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx.designer.cs index fc70a311..45ffb4d3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.3053 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateUser.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateUser.ascx index 55abf12f..5b6364e0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateUser.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateUser.ascx @@ -35,6 +35,14 @@ ErrorMessage="Enter Display Name" ValidationGroup="CreateMailbox" Display="Dynamic" Text="*" SetFocusOnError="True"> + + + +
    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx.cs index d773c3fd..5c18d62e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx.cs @@ -38,17 +38,19 @@ using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeMailboxMailFlowSettings : WebsitePanelModuleBase - { + public partial class ExchangeMailboxMailFlowSettings : WebsitePanelModuleBase + { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindSettings(); } + } private void BindSettings() @@ -59,8 +61,8 @@ namespace WebsitePanel.Portal.ExchangeServer ExchangeMailbox mailbox = ES.Services.ExchangeServer.GetMailboxMailFlowSettings( PanelRequest.ItemID, PanelRequest.AccountID); - // title - litDisplayName.Text = mailbox.DisplayName; + // title + litDisplayName.Text = mailbox.DisplayName; // bind form chkEnabledForwarding.Checked = mailbox.EnableForwarding; @@ -73,12 +75,8 @@ namespace WebsitePanel.Portal.ExchangeServer chkSendersAuthenticated.Checked = mailbox.RequireSenderAuthentication; rejectAccounts.SetAccounts(mailbox.RejectAccounts); - sizeMaxRecipients.ValueKB = mailbox.MaxRecipients; - sizeMaxSendingSize.ValueKB = mailbox.MaxSendMessageSizeKB; - sizeMaxReceivingSize.ValueKB = mailbox.MaxReceiveMessageSizeKB; - - // toggle - ToggleControls(); + // toggle + ToggleControls(); // get account meta ExchangeAccount account = ES.Services.ExchangeServer.GetAccount(PanelRequest.ItemID, PanelRequest.AccountID); @@ -87,7 +85,7 @@ namespace WebsitePanel.Portal.ExchangeServer } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_GET_MAILBOX_MAILFLOW", ex); + messageBox.ShowErrorMessage("EXCHANGE_GET_MAILBOX_MAILFLOW", ex); } } @@ -106,12 +104,8 @@ namespace WebsitePanel.Portal.ExchangeServer chkDoNotDeleteOnForward.Checked, accessAccounts.GetAccounts(), - acceptAccounts.GetAccounts(), - rejectAccounts.GetAccounts(), - - sizeMaxRecipients.ValueKB, - sizeMaxSendingSize.ValueKB, - sizeMaxReceivingSize.ValueKB, + acceptAccounts.GetAccounts(), + rejectAccounts.GetAccounts(), chkSendersAuthenticated.Checked); @@ -121,11 +115,11 @@ namespace WebsitePanel.Portal.ExchangeServer return; } - messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_MAILBOX_MAILFLOW"); + messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_MAILBOX_MAILFLOW"); } catch (Exception ex) { - messageBox.ShowErrorMessage("EXCHANGE_UPDATE_MAILBOX_MAILFLOW", ex); + messageBox.ShowErrorMessage("EXCHANGE_UPDATE_MAILBOX_MAILFLOW", ex); } } @@ -134,15 +128,15 @@ namespace WebsitePanel.Portal.ExchangeServer SaveSettings(); } - private void ToggleControls() - { - ForwardSettingsPanel.Visible = chkEnabledForwarding.Checked; - } + private void ToggleControls() + { + ForwardSettingsPanel.Visible = chkEnabledForwarding.Checked; + } - protected void chkEnabledForwarding_CheckedChanged(object sender, EventArgs e) - { - ToggleControls(); - } + protected void chkEnabledForwarding_CheckedChanged(object sender, EventArgs e) + { + ToggleControls(); + } protected void chkPmmAllowed_CheckedChanged(object sender, EventArgs e) { @@ -164,5 +158,5 @@ namespace WebsitePanel.Portal.ExchangeServer messageBox.ShowErrorMessage("EXCHANGE_UPDATE_MAILMANAGER", ex); } } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx.designer.cs index 9df7fac9..85e73719 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMailFlowSettings.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -256,78 +255,6 @@ namespace WebsitePanel.Portal.ExchangeServer { /// protected global::WebsitePanel.Portal.ExchangeServer.UserControls.RejectedSenders rejectAccounts; - /// - /// secDeliveryOptions control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.CollapsiblePanel secDeliveryOptions; - - /// - /// DeliveryOptions control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel DeliveryOptions; - - /// - /// locMaxRecipients control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locMaxRecipients; - - /// - /// sizeMaxRecipients control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox sizeMaxRecipients; - - /// - /// locMaxSendingSize control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locMaxSendingSize; - - /// - /// sizeMaxSendingSize control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox sizeMaxSendingSize; - - /// - /// locMaxReceivingSize control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locMaxReceivingSize; - - /// - /// sizeMaxReceivingSize control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox sizeMaxReceivingSize; - /// /// chkPmmAllowed control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobile.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobile.ascx.cs index 43b26275..53685834 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobile.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobile.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -33,6 +33,7 @@ using System.Web.UI; using System.Web.UI.WebControls; using System.Drawing; using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { @@ -51,22 +52,23 @@ namespace WebsitePanel.Portal.ExchangeServer gvMobile.DataSource = devices; gvMobile.DataBind(); - // form title - ExchangeAccount account = ES.Services.ExchangeServer.GetAccount(PanelRequest.ItemID, PanelRequest.AccountID); - litDisplayName.Text = account.DisplayName; + // form title + ExchangeAccount account = ES.Services.ExchangeServer.GetAccount(PanelRequest.ItemID, PanelRequest.AccountID); + litDisplayName.Text = account.DisplayName; } - + protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { - // ExchangeMailbox mailbox = ES.Services.ExchangeServer.GetMailboxGeneralSettings(PanelRequest.ItemID, PanelRequest.AccountID); + // ExchangeMailbox mailbox = ES.Services.ExchangeServer.GetMailboxGeneralSettings(PanelRequest.ItemID, PanelRequest.AccountID); - // if (mailbox != null) - // litDisplayName.Text = mailbox.DisplayName; + // if (mailbox != null) + // litDisplayName.Text = mailbox.DisplayName; BindGrid(); } + } protected void gvMobile_RowCommand(object sender, GridViewCommandEventArgs e) @@ -103,7 +105,7 @@ namespace WebsitePanel.Portal.ExchangeServer if (lblStatus != null) { switch (current.Status) - { + { case MobileDeviceStatus.PendingWipe: lblStatus.ForeColor = Color.Red; lblStatus.Text = GetLocalizedString(PendingWipe); diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobile.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobile.ascx.designer.cs index 8df461d6..6cc0a273 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobile.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobile.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.4927 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobileDetails.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobileDetails.ascx.cs index 27a9c927..8383b5d0 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobileDetails.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobileDetails.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -33,6 +33,7 @@ using System.Web.UI; using System.Web.UI.WebControls; using WebsitePanel.Providers.HostedSolution; using System.Drawing; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { @@ -48,26 +49,26 @@ namespace WebsitePanel.Portal.ExchangeServer if (device != null) { lblStatus.Text = GetLocalizedString(device.Status.ToString()); - switch (device.Status) - { - case MobileDeviceStatus.PendingWipe: - lblStatus.ForeColor = Color.Red; - break; - case MobileDeviceStatus.WipeSuccessful: - lblStatus.ForeColor = Color.Green; - break; - default: - lblStatus.ForeColor = Color.Black; - break; - } + switch (device.Status) + { + case MobileDeviceStatus.PendingWipe: + lblStatus.ForeColor = Color.Red; + break; + case MobileDeviceStatus.WipeSuccessful: + lblStatus.ForeColor = Color.Green; + break; + default: + lblStatus.ForeColor = Color.Black; + break; + } lblDeviceModel.Text = device.DeviceModel; lblDeviceType.Text = device.DeviceType; - lblFirstSyncTime.Text = DateTimeToString(device.FirstSyncTime); - lblDeviceWipeRequestTime.Text = DateTimeToString(device.DeviceWipeRequestTime); - lblDeviceAcnowledgeTime.Text = DateTimeToString(device.DeviceWipeAckTime); - lblLastSync.Text = DateTimeToString(device.LastSyncAttemptTime); - lblLastUpdate.Text = DateTimeToString(device.LastPolicyUpdateTime); - lblLastPing.Text = device.LastPingHeartbeat == 0 ? string.Empty : device.LastPingHeartbeat.ToString(); + lblFirstSyncTime.Text = DateTimeToString(device.FirstSyncTime); + lblDeviceWipeRequestTime.Text = DateTimeToString(device.DeviceWipeRequestTime); + lblDeviceAcnowledgeTime.Text = DateTimeToString(device.DeviceWipeAckTime); + lblLastSync.Text = DateTimeToString(device.LastSyncAttemptTime); + lblLastUpdate.Text = DateTimeToString(device.LastPolicyUpdateTime); + lblLastPing.Text = device.LastPingHeartbeat == 0 ? string.Empty : device.LastPingHeartbeat.ToString(); lblDeviceFriendlyName.Text = device.DeviceFriendlyName; lblDeviceId.Text = device.DeviceID; lblDeviceUserAgent.Text = device.DeviceUserAgent; @@ -78,20 +79,22 @@ namespace WebsitePanel.Portal.ExchangeServer UpdateButtons(device.Status); - // form title - ExchangeAccount account = ES.Services.ExchangeServer.GetAccount(PanelRequest.ItemID, PanelRequest.AccountID); - litDisplayName.Text = account.DisplayName; - } + // form title + ExchangeAccount account = ES.Services.ExchangeServer.GetAccount(PanelRequest.ItemID, PanelRequest.AccountID); + litDisplayName.Text = account.DisplayName; + } + } + + private string DateTimeToString(DateTime dateTime) + { + return dateTime == DateTime.MinValue ? string.Empty : dateTime.ToString("g"); } - private string DateTimeToString(DateTime dateTime) - { - return dateTime == DateTime.MinValue ? string.Empty : dateTime.ToString("g"); - } - protected void Page_Load(object sender, EventArgs e) { BindData(); + + } private void UpdateButtons(MobileDeviceStatus status) @@ -111,12 +114,12 @@ namespace WebsitePanel.Portal.ExchangeServer { btnWipeAllData.Visible = false; btnCancel.Visible = false; - } + } } protected void btnBack_Click(object sender, EventArgs e) - { - string str = EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "mailbox_mobile", + { + string str = EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "mailbox_mobile", "ItemID=" + PanelRequest.ItemID, "AccountID=" + PanelRequest.AccountID); Response.Redirect(str); diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobileDetails.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobileDetails.ascx.designer.cs index c0e0ced4..985bf499 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobileDetails.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxMobileDetails.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.4927 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPermissions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPermissions.ascx.cs index 1c6a3211..7e03f6a8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPermissions.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPermissions.ascx.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. +// Copyright (c) 2011, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, @@ -28,6 +28,7 @@ using System; using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { @@ -37,8 +38,9 @@ namespace WebsitePanel.Portal.ExchangeServer { if (!IsPostBack) BindPermissions(); + } - + protected void btnSave_Click(object sender, EventArgs e) { @@ -56,15 +58,15 @@ namespace WebsitePanel.Portal.ExchangeServer sendAsPermission.SetAccounts(mailbox.SendAsAccounts); fullAccessPermission.SetAccounts(mailbox.FullAccessAccounts); } - catch(Exception ex) + catch (Exception ex) { messageBox.ShowErrorMessage("EXCHANGE_GET_MAILBOX_PERMISSIONS", ex); } } - + private void SavePermissions() - { + { try { string[] fullAccess = fullAccessPermission.GetAccounts(); @@ -72,16 +74,16 @@ namespace WebsitePanel.Portal.ExchangeServer int result = ES.Services.ExchangeServer.SetMailboxPermissions(PanelRequest.ItemID, PanelRequest.AccountID, sendAs, fullAccess); - - + + if (result < 0) { messageBox.ShowResultMessage(result); return; } - - + + messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_MAILBOX_PERMISSIONS"); } catch (Exception ex) diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPermissions.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPermissions.ascx.designer.cs index fe2d3298..4959b0c5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPermissions.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPermissions.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx new file mode 100644 index 00000000..460aa9de --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx @@ -0,0 +1,73 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ExchangeMailboxPlans.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeServer.ExchangeMailboxPlans" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> + + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + + +
    +
    + + +
    + +
    + + + + + + + + <%# Eval("MailboxPlan")%> + + + + + +
    + /> +
    +
    +
    + + +   + + +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    +
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx.cs new file mode 100644 index 00000000..3cf6d8d0 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx.cs @@ -0,0 +1,126 @@ +// 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. + +using System; +using System.Web.UI.WebControls; +using WebsitePanel.EnterpriseServer; +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Portal.ExchangeServer +{ + public partial class ExchangeMailboxPlans : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + // bind mailboxplans + BindMailboxPlans(); + } + + } + + public string GetMailboxPlanDisplayUrl(string MailboxPlanId) + { + return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "add_mailboxplan", + "MailboxPlanId=" + MailboxPlanId, + "ItemID=" + PanelRequest.ItemID); + } + + + private void BindMailboxPlans() + { + ExchangeMailboxPlan[] list = ES.Services.ExchangeServer.GetExchangeMailboxPlans(PanelRequest.ItemID); + + gvMailboxPlans.DataSource = list; + gvMailboxPlans.DataBind(); + + //check if organization has only one default domain + if (gvMailboxPlans.Rows.Count == 1) + { + btnSetDefaultMailboxPlan.Enabled = false; + } + } + + public string IsChecked(bool val) + { + return val ? "checked" : ""; + } + + protected void btnAddMailboxPlan_Click(object sender, EventArgs e) + { + btnSetDefaultMailboxPlan.Enabled = true; + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "add_mailboxplan", + "SpaceID=" + PanelSecurity.PackageId)); + } + + protected void gvMailboxPlan_RowCommand(object sender, GridViewCommandEventArgs e) + { + if (e.CommandName == "DeleteItem") + { + int mailboxPlanId = Utils.ParseInt(e.CommandArgument.ToString(), 0); + + try + { + int result = ES.Services.ExchangeServer.DeleteExchangeMailboxPlan(PanelRequest.ItemID, mailboxPlanId); + + if (result < 0) + { + messageBox.ShowResultMessage(result); + return; + } + + } + catch (Exception) + { + messageBox.ShowErrorMessage("EXCHANGE_DELETE_MAILBOXPLAN"); + } + + BindMailboxPlans(); + } + } + + protected void btnSetDefaultMailboxPlan_Click(object sender, EventArgs e) + { + // get domain + int mailboxPlanId = Utils.ParseInt(Request.Form["DefaultMailboxPlan"], 0); + + try + { + ES.Services.ExchangeServer.SetOrganizationDefaultExchangeMailboxPlan(PanelRequest.ItemID, mailboxPlanId); + + // rebind domains + BindMailboxPlans(); + } + catch (Exception ex) + { + ShowErrorMessage("EXCHANGE_SET_DEFAULT_MAILBOXPLAN", ex); + } + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange2010SP1_Settings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx.designer.cs similarity index 53% rename from WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange2010SP1_Settings.ascx.designer.cs rename to WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx.designer.cs index 9eb2d1e9..cd76a5ae 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange2010SP1_Settings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx.designer.cs @@ -7,126 +7,99 @@ // //------------------------------------------------------------------------------ -namespace WebsitePanel.Portal.ProviderControls { +namespace WebsitePanel.Portal.ExchangeServer { - public partial class Exchange2010SP1_Settings { + public partial class ExchangeMailboxPlans { /// - /// locOrganizationTemplate control. + /// asyncTasks control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Localize locOrganizationTemplate; + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; /// - /// locProgramID control. + /// breadcrumb control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Localize locProgramID; + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; /// - /// programID control. + /// menu control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.TextBox programID; + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; /// - /// requireProgramID control. + /// Image1 control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator requireProgramID; + protected global::System.Web.UI.WebControls.Image Image1; /// - /// locOfferID control. + /// locTitle control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Localize locOfferID; + protected global::System.Web.UI.WebControls.Localize locTitle; /// - /// offerID control. + /// messageBox control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.TextBox offerID; + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; /// - /// requireOfferID control. + /// btnAddMailboxPlan control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator requireOfferID; + protected global::System.Web.UI.WebControls.Button btnAddMailboxPlan; /// - /// locDomainTemplates control. + /// gvMailboxPlans control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Localize locDomainTemplates; + protected global::System.Web.UI.WebControls.GridView gvMailboxPlans; /// - /// locTemporaryDomain control. + /// btnSetDefaultMailboxPlan control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Localize locTemporaryDomain; + protected global::System.Web.UI.WebControls.Button btnSetDefaultMailboxPlan; /// - /// temporaryDomain control. + /// FormComments control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.TextBox temporaryDomain; - - /// - /// locEcpURL control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locEcpURL; - - /// - /// ecpURL control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox ecpURL; - - /// - /// locEcpURLDescr control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locEcpURLDescr; + protected global::System.Web.UI.WebControls.Localize FormComments; } } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxSetupInstructions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxSetupInstructions.ascx.cs index cd141527..5a868594 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxSetupInstructions.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxSetupInstructions.ascx.cs @@ -32,13 +32,14 @@ using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { public partial class ExchangeMailboxSetupInstructions : WebsitePanelModuleBase - { + { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindInstructions(); } + } private void BindInstructions() @@ -56,7 +57,7 @@ namespace WebsitePanel.Portal.ExchangeServer // load user details UserInfo user = ES.Services.Users.GetUserById(package.UserId); txtTo.Text = user.Email; - + } protected void btnSend_Click(object sender, EventArgs e) @@ -81,5 +82,5 @@ namespace WebsitePanel.Portal.ExchangeServer return; } } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxSetupInstructions.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxSetupInstructions.ascx.designer.cs index f66a0fb3..b0cb1cf2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxSetupInstructions.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxSetupInstructions.ascx.designer.cs @@ -1,22 +1,15 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1378 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ namespace WebsitePanel.Portal.ExchangeServer { - /// - /// ExchangeMailboxSetupInstructions class. - /// - /// - /// Auto-generated class. - /// public partial class ExchangeMailboxSetupInstructions { /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxes.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxes.ascx index 6abb6ddf..03ffcb8f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxes.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeMailboxes.ascx @@ -31,22 +31,12 @@
    - - 10 - 20 - 50 - - 100 - - - DisplayName - Email - AccountName - - DisplayName + Email + AccountName + Subscriber Number +
    @@ -55,10 +45,10 @@ + DataSourceID="odsAccountsPaged"> - + - + + + protected global::System.Web.UI.WebControls.Panel SearchPanel; - /// - /// ddlPageSize control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList ddlPageSize; - /// /// ddlSearchColumn control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx deleted file mode 100644 index 34b14a98..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx +++ /dev/null @@ -1,91 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ExchangeStorageLimits.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeServer.ExchangeStorageLimits" %> -<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> -<%@ Register Src="UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> -<%@ Register Src="UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %> -<%@ Register Src="UserControls/DaysBox.ascx" TagName="DaysBox" TagPrefix="wsp" %> -<%@ Register Src="UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> -<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %> -<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> - - - -
    -
    -
    - -
    -
    - -
    -
    -
    -
    - - -
    -
    - - - - - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    -
    -
    - - - - - - - - - - -
    - -
    -
    -
    - -
    - - - -
    - -
    -
    -
    - -
    -
    -
    -
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx.cs deleted file mode 100644 index ca7afd16..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx.cs +++ /dev/null @@ -1,124 +0,0 @@ -// 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. - -using System; -using System.Data; -using System.Configuration; -using System.Collections; -using System.Web; -using System.Web.Security; -using System.Web.UI; -using System.Web.UI.WebControls; -using System.Web.UI.WebControls.WebParts; -using System.Web.UI.HtmlControls; - - -using WebsitePanel.Providers.HostedSolution; - -namespace WebsitePanel.Portal.ExchangeServer -{ - public partial class ExchangeStorageLimits : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - BindLimits(); - } - } - - protected void btnSave_Click(object sender, EventArgs e) - { - SaveLimits(false); - } - - protected void btnSaveApply_Click(object sender, EventArgs e) - { - SaveLimits(true); - } - - private void BindLimits() - { - try - { - // read limits - Organization org = ES.Services.ExchangeServer.GetOrganizationStorageLimits( - PanelRequest.ItemID); - - - // bind data - sizeIssueWarning.ValueKB = org.IssueWarningKB; - sizeProhibitSend.ValueKB = org.ProhibitSendKB; - sizeProhibitSendReceive.ValueKB = org.ProhibitSendReceiveKB; - - daysKeepDeletedItems.ValueDays = org.KeepDeletedItemsDays; - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_GET_ORG_LIMITS", ex); - } - } - - private void SaveLimits(bool applyToMailboxes) - { - if (!Page.IsValid) - return; - - try - { - if (((sizeIssueWarning.ValueKB <= sizeProhibitSend.ValueKB && sizeIssueWarning.ValueKB != -1) || sizeProhibitSend.ValueKB == -1) - && ((sizeProhibitSend.ValueKB <= sizeProhibitSendReceive.ValueKB && sizeProhibitSend.ValueKB != -1) || sizeProhibitSendReceive.ValueKB == -1)) - { - // set limits - int result = ES.Services.ExchangeServer.SetOrganizationStorageLimits(PanelRequest.ItemID, - sizeIssueWarning.ValueKB, - sizeProhibitSend.ValueKB, - sizeProhibitSendReceive.ValueKB, - daysKeepDeletedItems.ValueDays, - applyToMailboxes); - - if (result < 0) - { - messageBox.ShowResultMessage(result); - return; - } - - messageBox.ShowSuccessMessage("EXCHANGE_SET_ORG_LIMITS"); - } - else - { - messageBox.ShowErrorMessage("EXCHANGE_SET_ORG_LIMITS_VALIDATION"); - } - } - catch (Exception ex) - { - messageBox.ShowErrorMessage("EXCHANGE_SET_ORG_LIMITS", ex); - } - } - } -} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx.designer.cs deleted file mode 100644 index 47fc5eee..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx.designer.cs +++ /dev/null @@ -1,223 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:2.0.50727.3053 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WebsitePanel.Portal.ExchangeServer { - - - public partial class ExchangeStorageLimits { - - /// - /// asyncTasks control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - - /// - /// breadcrumb control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; - - /// - /// menu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; - - /// - /// Image1 control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Image Image1; - - /// - /// locTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locTitle; - - /// - /// messageBox control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; - - /// - /// secStorageLimits control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.CollapsiblePanel secStorageLimits; - - /// - /// StorageLimits control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel StorageLimits; - - /// - /// locWhenSizeExceeds control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locWhenSizeExceeds; - - /// - /// locIssueWarning control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locIssueWarning; - - /// - /// sizeIssueWarning control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox sizeIssueWarning; - - /// - /// locProhibitSend control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locProhibitSend; - - /// - /// sizeProhibitSend control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox sizeProhibitSend; - - /// - /// locProhibitSendReceive control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locProhibitSendReceive; - - /// - /// sizeProhibitSendReceive control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox sizeProhibitSendReceive; - - /// - /// secDeletionSettings control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.CollapsiblePanel secDeletionSettings; - - /// - /// DeletionSettings control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel DeletionSettings; - - /// - /// locKeepDeletedItems control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locKeepDeletedItems; - - /// - /// daysKeepDeletedItems control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.ExchangeServer.UserControls.DaysBox daysKeepDeletedItems; - - /// - /// btnSave control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button btnSave; - - /// - /// btnSaveApply control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Button btnSaveApply; - - /// - /// ValidationSummary1 control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.ValidationSummary ValidationSummary1; - - /// - /// FormComments control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize FormComments; - } -} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx index e5cadbd0..5c78089b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx @@ -28,7 +28,7 @@ - + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx.cs index a487897e..6a70ca68 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx.cs @@ -29,38 +29,40 @@ using System; using System.Web; using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeStorageUsage : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - // bind quotas - BindQuotas(); - - - } - } + public partial class ExchangeStorageUsage : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + // bind quotas + BindQuotas(); - private void BindQuotas() - { - OrganizationStatistics stats = ES.Services.ExchangeServer.GetOrganizationStatistics(PanelRequest.ItemID); - btnUsedSize.Text = stats.UsedDiskSpace.ToString(); - } + } - protected void btnRecalculate_Click(object sender, EventArgs e) - { - ES.Services.ExchangeServer.CalculateOrganizationDiskspace(PanelRequest.ItemID); - } + } + + private void BindQuotas() + { + OrganizationStatistics stats = ES.Services.ExchangeServer.GetOrganizationStatistics(PanelRequest.ItemID); + + btnUsedSize.Text = stats.UsedDiskSpace.ToString(); + } + + protected void btnRecalculate_Click(object sender, EventArgs e) + { + ES.Services.ExchangeServer.CalculateOrganizationDiskspace(PanelRequest.ItemID); + } protected void btnUsedSize_Click(object sender, EventArgs e) { HttpContext.Current.Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "storage_usage_details", - "SpaceID=" + PanelSecurity.PackageId.ToString())); + "SpaceID=" + PanelSecurity.PackageId.ToString())); } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx.designer.cs index 3f32adf0..8e7a159d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsage.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx index 40e8b55b..8bcdb3be 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx @@ -53,41 +53,6 @@

    - - - - - - - - - - - -  <%# Utils.FormatDateTime((DateTime)Eval("LastAccessTime"))%> - - -  <%# Utils.FormatDateTime((DateTime)Eval("LastModificationTime")) %> - - - -
    - - - - - - - - - -
    177
    100
    -
    -
    - -
    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx.cs index 2fdceccc..65246294 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx.cs @@ -38,56 +38,40 @@ using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class ExchangeStorageUsageBreakdown : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - BindStatistics(); - } - } + public partial class ExchangeStorageUsageBreakdown : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + BindStatistics(); + } - private void BindStatistics() - { - // total counters - int totalMailboxItems = 0; - int totalMailboxesSizeMB = 0; - int totalFolderItems = 0; - int totalFoldersSizeMB = 0; + } - // mailboxes - ExchangeItemStatistics[] mailboxes = ES.Services.ExchangeServer.GetMailboxesStatistics(PanelRequest.ItemID); - gvMailboxes.DataSource = mailboxes; - gvMailboxes.DataBind(); + private void BindStatistics() + { + // total counters + int totalMailboxItems = 0; + int totalMailboxesSizeMB = 0; - foreach (ExchangeItemStatistics item in mailboxes) - { - totalMailboxItems += item.TotalItems; - totalMailboxesSizeMB += item.TotalSizeMB; - } + // mailboxes + ExchangeItemStatistics[] mailboxes = ES.Services.ExchangeServer.GetMailboxesStatistics(PanelRequest.ItemID); + gvMailboxes.DataSource = mailboxes; + gvMailboxes.DataBind(); - lblTotalMailboxItems.Text = totalMailboxItems.ToString(); - lblTotalMailboxSize.Text = totalMailboxesSizeMB.ToString(); + foreach (ExchangeItemStatistics item in mailboxes) + { + totalMailboxItems += item.TotalItems; + totalMailboxesSizeMB += item.TotalSizeMB; + } - - - // public folders - ExchangeItemStatistics[] folders = ES.Services.ExchangeServer.GetPublicFoldersStatistics(PanelRequest.ItemID); - gvFolders.DataSource = folders; - gvFolders.DataBind(); - - foreach (ExchangeItemStatistics item in folders) - { - totalFolderItems += item.TotalItems; - totalFoldersSizeMB += item.TotalSizeMB; - } - - lblTotalFolderItems.Text = totalFolderItems.ToString(); - lblTotalFolderSize.Text = totalFoldersSizeMB.ToString(); - } - } + lblTotalMailboxItems.Text = totalMailboxItems.ToString(); + lblTotalMailboxSize.Text = totalMailboxesSizeMB.ToString(); + } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx.designer.cs index 55d38f33..178be03f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx.designer.cs @@ -1,35 +1,132 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.42 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ namespace WebsitePanel.Portal.ExchangeServer { + public partial class ExchangeStorageUsageBreakdown { - protected WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; - protected WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; - protected System.Web.UI.WebControls.Image Image1; - protected System.Web.UI.WebControls.Localize locTitle; - protected WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; - protected WebsitePanel.Portal.CollapsiblePanel secMailboxesReport; - protected System.Web.UI.WebControls.Panel MailboxesReport; - protected System.Web.UI.WebControls.GridView gvMailboxes; - protected System.Web.UI.WebControls.Localize locTotalMailboxItems; - protected System.Web.UI.WebControls.Label lblTotalMailboxItems; - protected System.Web.UI.WebControls.Localize locTotalMailboxesSize; - protected System.Web.UI.WebControls.Label lblTotalMailboxSize; - protected WebsitePanel.Portal.CollapsiblePanel secPublicFoldersReport; - protected System.Web.UI.WebControls.Panel PublicFoldersReport; - protected System.Web.UI.WebControls.GridView gvFolders; - protected System.Web.UI.WebControls.Localize locTotalFolderItems; - protected System.Web.UI.WebControls.Label lblTotalFolderItems; - protected System.Web.UI.WebControls.Localize locTotalFoldersSize; - protected System.Web.UI.WebControls.Label lblTotalFolderSize; - protected System.Web.UI.WebControls.Localize FormComments; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// secMailboxesReport control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel secMailboxesReport; + + /// + /// MailboxesReport control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel MailboxesReport; + + /// + /// gvMailboxes control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvMailboxes; + + /// + /// locTotalMailboxItems control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTotalMailboxItems; + + /// + /// lblTotalMailboxItems control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblTotalMailboxItems; + + /// + /// locTotalMailboxesSize control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTotalMailboxesSize; + + /// + /// lblTotalMailboxSize control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblTotalMailboxSize; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; } } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx index 4cd6922b..9f2fc04a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationCreateOrganization.ascx @@ -33,12 +33,13 @@
    - + *
    + + +
    @@ -52,15 +60,6 @@
    - - - - - - -
    - -
    // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -94,6 +93,33 @@ namespace WebsitePanel.Portal.HostedSolution { /// protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireDisplayName; + /// + /// locSubscriberNumber control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locSubscriberNumber; + + /// + /// txtSubscriberNumber control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSubscriberNumber; + + /// + /// valRequireSubscriberNumber control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSubscriberNumber; + /// /// locAccount control. /// @@ -130,24 +156,6 @@ namespace WebsitePanel.Portal.HostedSolution { /// protected global::WebsitePanel.Portal.PasswordControl password; - /// - /// chkSendInstructions control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.CheckBox chkSendInstructions; - - /// - /// sendInstructionEmail control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.UserControls.EmailControl sendInstructionEmail; - /// /// btnCreate control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx index e6dd021e..c4e91458 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx @@ -54,6 +54,7 @@ Text="Organization Statistics">
    @@ -70,18 +72,6 @@
    - -
    -   -
    @@ -114,25 +104,48 @@
    - + - +
    - -
    -   -
    + +
    + + + +
    + +
    + + + +
    -   + + +
    + + +
    + +

    @@ -83,6 +87,10 @@
    - - +
    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx.cs index c58697a3..1f2131dd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx.cs @@ -30,37 +30,51 @@ using System; using WebsitePanel.EnterpriseServer; using WebsitePanel.Providers.HostedSolution; using Microsoft.Security.Application; +using WebsitePanel.Providers.ResultObjects; namespace WebsitePanel.Portal.HostedSolution { - public partial class UserGeneralSettings : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { + public partial class UserGeneralSettings : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { if (!IsPostBack) { BindSettings(); + } - } + } private void BindSettings() { try { password.SetPackagePolicy(PanelSecurity.PackageId, UserSettings.EXCHANGE_POLICY, "MailboxPasswordPolicy"); - password.EditMode = true; + PasswordPolicyResult passwordPolicy = ES.Services.Organizations.GetPasswordPolicy(PanelRequest.ItemID); + if (passwordPolicy.IsSuccess) + { + password.MinimumLength = passwordPolicy.Value.MinLength; + if (passwordPolicy.Value.IsComplexityEnable) + { + password.MinimumNumbers = 1; + password.MinimumSymbols = 1; + password.MinimumUppercase = 1; + } + } + + password.EditMode = password.ValidationEnabled = false; // get settings OrganizationUser user = ES.Services.Organizations.GetUserGeneralSettings(PanelRequest.ItemID, PanelRequest.AccountID); - litDisplayName.Text = AntiXss.HtmlEncode(user.DisplayName); + litDisplayName.Text = AntiXss.HtmlEncode(user.DisplayName); lblUserDomainName.Text = user.DomainUserName; - + // bind form txtDisplayName.Text = user.DisplayName; - + chkDisable.Checked = user.Disabled; txtFirstName.Text = user.FirstName; @@ -92,17 +106,29 @@ namespace WebsitePanel.Portal.HostedSolution txtExternalEmailAddress.Enabled = user.AccountType == ExchangeAccountType.User; lblUserDomainName.Text = user.DomainUserName; + txtSubscriberNumber.Text = user.SubscriberNumber; + + PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId); + if (cntx.Quotas.ContainsKey(Quotas.EXCHANGE2007_ISCONSUMER)) + { + if (cntx.Quotas[Quotas.EXCHANGE2007_ISCONSUMER].QuotaAllocatedValue != 1) + { + locSubscriberNumber.Visible = false; + txtSubscriberNumber.Visible = false; + } + } + if (user.Locked) chkLocked.Enabled = true; else chkLocked.Enabled = false; - + chkLocked.Checked = user.Locked; - + } catch (Exception ex) { - messageBox.ShowErrorMessage("ORGANIZATION_GET_USER_SETTINGS", ex); + messageBox.ShowErrorMessage("ORGANIZATION_GET_USER_SETTINGS", ex); } } @@ -111,40 +137,46 @@ namespace WebsitePanel.Portal.HostedSolution if (!Page.IsValid) return; + string pwd = password.Password; + + if (!chkSetPassword.Checked) + pwd = string.Empty; + try { int result = ES.Services.Organizations.SetUserGeneralSettings( PanelRequest.ItemID, PanelRequest.AccountID, txtDisplayName.Text, - password.Password, + pwd, false, chkDisable.Checked, chkLocked.Checked, - + txtFirstName.Text, txtInitials.Text, txtLastName.Text, - + txtAddress.Text, txtCity.Text, txtState.Text, txtZip.Text, country.Country, - + txtJobTitle.Text, txtCompany.Text, txtDepartment.Text, txtOffice.Text, manager.GetAccount(), - + txtBusinessPhone.Text, txtFax.Text, txtHomePhone.Text, txtMobilePhone.Text, txtPager.Text, txtWebPage.Text, - txtNotes.Text, - txtExternalEmailAddress.Text); + txtNotes.Text, + txtExternalEmailAddress.Text, + txtSubscriberNumber.Text); if (result < 0) { @@ -152,16 +184,16 @@ namespace WebsitePanel.Portal.HostedSolution return; } - // update title - litDisplayName.Text = txtDisplayName.Text; + // update title + litDisplayName.Text = txtDisplayName.Text; if (!chkLocked.Checked) chkLocked.Enabled = false; - messageBox.ShowSuccessMessage("ORGANIZATION_UPDATE_USER_SETTINGS"); + messageBox.ShowSuccessMessage("ORGANIZATION_UPDATE_USER_SETTINGS"); } catch (Exception ex) { - messageBox.ShowErrorMessage("ORGANIZATION_UPDATE_USER_SETTINGS", ex); + messageBox.ShowErrorMessage("ORGANIZATION_UPDATE_USER_SETTINGS", ex); } } @@ -169,6 +201,12 @@ namespace WebsitePanel.Portal.HostedSolution { SaveSettings(); } - - } + + protected void chkSetPassword_CheckedChanged(object sender, EventArgs e) + { + + password.EditMode = password.ValidationEnabled = chkSetPassword.Checked; + } + + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx.designer.cs index b2bf2273..aabeb89d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserGeneralSettings.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.3053 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -130,6 +129,15 @@ namespace WebsitePanel.Portal.HostedSolution { /// protected global::WebsitePanel.Portal.PasswordControl password; + /// + /// chkSetPassword control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkSetPassword; + /// /// chkDisable control. /// @@ -202,6 +210,24 @@ namespace WebsitePanel.Portal.HostedSolution { /// protected global::System.Web.UI.WebControls.TextBox txtLastName; + /// + /// locSubscriberNumber control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locSubscriberNumber; + + /// + /// txtSubscriberNumber control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSubscriberNumber; + /// /// locExternalEmailAddress control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserSetupInstructions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserSetupInstructions.ascx.cs index 7ced46ad..64040d7f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserSetupInstructions.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserSetupInstructions.ascx.cs @@ -40,6 +40,7 @@ namespace WebsitePanel.Portal.ExchangeServer { BindInstructions(); } + } private void BindInstructions() @@ -53,7 +54,7 @@ namespace WebsitePanel.Portal.ExchangeServer PackageInfo package = ES.Services.Packages.GetPackage(PanelSecurity.PackageId); if (package == null) RedirectSpaceHomePage(); - + OrganizationUser account = ES.Services.Organizations.GetUserGeneralSettings(PanelRequest.ItemID, PanelRequest.AccountID); if (account != null) diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserSetupInstructions.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserSetupInstructions.ascx.designer.cs index bc2bafe8..28af5836 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserSetupInstructions.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserSetupInstructions.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.3053 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUsers.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUsers.ascx index ec471992..5554db5d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUsers.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUsers.ascx @@ -34,17 +34,11 @@
    - - 10 - 20 - 50 - 100 - DisplayName Email AccountName + Subscriber Number @@ -54,8 +48,14 @@ - + DataSourceID="odsAccountsPaged"> + + + + + + + @@ -67,13 +67,22 @@ + + + + + + + + + - + protected global::System.Web.UI.WebControls.Panel SearchPanel; - /// - /// ddlPageSize control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList ddlPageSize; - /// /// ddlSearchColumn control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/Organizations.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/Organizations.ascx.cs index 317f24e7..072d101f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/Organizations.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/Organizations.ascx.cs @@ -32,53 +32,60 @@ using WebsitePanel.EnterpriseServer; namespace WebsitePanel.Portal.ExchangeServer { - public partial class Organizations : WebsitePanelModuleBase - { - protected void Page_Load(object sender, EventArgs e) - { - // set display preferences - gvOrgs.PageSize = UsersHelper.GetDisplayItemsPerPage(); + public partial class Organizations : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + // set display preferences + gvOrgs.PageSize = UsersHelper.GetDisplayItemsPerPage(); - // visibility - chkRecursive.Visible = (PanelSecurity.SelectedUser.Role != UserRole.User); - gvOrgs.Columns[2].Visible = gvOrgs.Columns[3].Visible = - (PanelSecurity.SelectedUser.Role != UserRole.User) && chkRecursive.Checked; - btnCreate.Enabled = (PanelSecurity.SelectedUser.Role != UserRole.Administrator); - } + // visibility + chkRecursive.Visible = (PanelSecurity.SelectedUser.Role != UserRole.User); + gvOrgs.Columns[2].Visible = gvOrgs.Columns[3].Visible = (PanelSecurity.SelectedUser.Role != UserRole.User) && chkRecursive.Checked; - protected void btnCreate_Click(object sender, EventArgs e) - { - Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "create_organization")); - } + if (PanelSecurity.LoggedUser.Role == UserRole.User) + { + gvOrgs.Columns[2].Visible = gvOrgs.Columns[3].Visible = gvOrgs.Columns[4].Visible = false; + btnCreate.Enabled = false; + } + else + if (gvOrgs.Rows.Count > 0) btnCreate.Enabled = false; - protected void odsOrgsPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e) - { - if (e.Exception != null) - { - messageBox.ShowErrorMessage("GET_ORGS", e.Exception); - e.ExceptionHandled = true; - } - } + } - public string GetOrganizationEditUrl(string itemId) - { - return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "organization_home", + protected void btnCreate_Click(object sender, EventArgs e) + { + Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "create_organization")); + } + + protected void odsOrgsPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e) + { + if (e.Exception != null) + { + messageBox.ShowErrorMessage("GET_ORGS", e.Exception); + e.ExceptionHandled = true; + } + } + + public string GetOrganizationEditUrl(string itemId) + { + return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "organization_home", "ItemID=" + itemId); - } + } - public string GetUserHomePageUrl(int userId) - { - return PortalUtils.GetUserHomePageUrl(userId); - } + public string GetUserHomePageUrl(int userId) + { + return PortalUtils.GetUserHomePageUrl(userId); + } - public string GetSpaceHomePageUrl(int spaceId) - { - return NavigateURL(PortalUtils.SPACE_ID_PARAM, spaceId.ToString()); - } + public string GetSpaceHomePageUrl(int spaceId) + { + return NavigateURL(PortalUtils.SPACE_ID_PARAM, spaceId.ToString()); + } protected void gvOrgs_RowCommand(object sender, GridViewCommandEventArgs e) { - if (e.CommandName == "DeleteItem") + if (e.CommandName == "DeleteItem") { // delete organization int itemId = Utils.ParseInt(e.CommandArgument.ToString(), 0); @@ -95,13 +102,13 @@ namespace WebsitePanel.Portal.ExchangeServer // rebind grid gvOrgs.DataBind(); - orgsQuota.BindQuota(); + orgsQuota.BindQuota(); } catch (Exception ex) { - messageBox.ShowErrorMessage("DELETE_ORG", ex); + messageBox.ShowErrorMessage("DELETE_ORG", ex); } } } - } + } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/Organizations.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/Organizations.ascx.designer.cs index c6ddeecf..87987213 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/Organizations.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/Organizations.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.3053 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/MailboxTabs.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/MailboxTabs.ascx.resx index a4f425dc..e969fd9b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/MailboxTabs.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/MailboxTabs.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 E-mail Addresses @@ -135,15 +135,13 @@ Setup Instructions - - Permissions - - Mobile Devices Spam - + + Mailbox + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/Menu.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/Menu.ascx.resx index 41d8d98b..91cf60e9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/Menu.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/Menu.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ActiveSync Policy @@ -127,17 +127,15 @@ Distribution Lists - Domain Names + Accepted Domains - + CRM Organization - - - CRM Users - - - + + CRM Users + + Exchange @@ -146,18 +144,16 @@ Organization's - + CRM - - + BlackBerry - - BlackBerry Users - - - + + BlackBerry Users + + Public Folders @@ -166,14 +162,13 @@ SharePoint - + OCS - - + OCS Users - + Site Collections @@ -185,4 +180,7 @@ Users + + Mailbox Plans + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DomainSelector.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DomainSelector.ascx.cs index 076c28f1..c56e96da 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DomainSelector.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DomainSelector.ascx.cs @@ -39,54 +39,54 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls get { return ddlDomain.SelectedItem.Text; } } - public int DomainId - { - get - { - return Convert.ToInt32(ddlDomain.SelectedValue); - } - } + public int DomainId + { + get + { + return Convert.ToInt32(ddlDomain.SelectedValue); + } + } - public int DomainsCount - { - get - { - return this.ddlDomain.Items.Count; - } - } + public int DomainsCount + { + get + { + return this.ddlDomain.Items.Count; + } + } - public bool ShowAt - { - get - { - return this.litAt.Visible; - } - set - { - this.litAt.Visible = value; - } - } + public bool ShowAt + { + get + { + return this.litAt.Visible; + } + set + { + this.litAt.Visible = value; + } + } protected void Page_Load(object sender, EventArgs e) { - if (!IsPostBack) - { - BindDomains(); - } + if (!IsPostBack) + { + BindDomains(); + } } - private void BindDomains() - { - // get domains - OrganizationDomainName[] domains = ES.Services.Organizations.GetOrganizationDomains(PanelRequest.ItemID); + private void BindDomains() + { + // get domains + OrganizationDomainName[] domains = ES.Services.Organizations.GetOrganizationDomains(PanelRequest.ItemID); - // bind domains - foreach (OrganizationDomainName domain in domains) - { - ListItem li = new ListItem(domain.DomainName, domain.DomainId.ToString()); - li.Selected = domain.IsDefault; - ddlDomain.Items.Add(li); - } - } + // bind domains + foreach (OrganizationDomainName domain in domains) + { + ListItem li = new ListItem(domain.DomainName, domain.DomainId.ToString()); + li.Selected = domain.IsDefault; + ddlDomain.Items.Add(li); + } + } } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DomainSelector.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DomainSelector.ascx.designer.cs index bca58a9f..b4a0e6a6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DomainSelector.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/DomainSelector.ascx.designer.cs @@ -1,22 +1,15 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.832 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ namespace WebsitePanel.Portal.ExchangeServer.UserControls { - /// - /// DomainSelector class. - /// - /// - /// Auto-generated class. - /// public partial class DomainSelector { /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxPlanSelector.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxPlanSelector.ascx new file mode 100644 index 00000000..9718d6b2 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxPlanSelector.ascx @@ -0,0 +1,3 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MailboxPlanSelector.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeServer.UserControls.MailboxPlanSelector" %> + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxPlanSelector.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxPlanSelector.ascx.cs new file mode 100644 index 00000000..b2cdfbd3 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxPlanSelector.ascx.cs @@ -0,0 +1,105 @@ +// 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. + +using System; +using System.Web.UI.WebControls; + +namespace WebsitePanel.Portal.ExchangeServer.UserControls +{ + public partial class MailboxPlanSelector : WebsitePanelControlBase + { + + private string mailboxPlanToSelect; + + public string MailboxPlanId + { + + get { return ddlMailboxPlan.SelectedItem.Value; } + set + { + mailboxPlanToSelect = value; + foreach (ListItem li in ddlMailboxPlan.Items) + { + if (li.Value == value) + { + ddlMailboxPlan.ClearSelection(); + li.Selected = true; + break; + } + } + } + } + + public int MailboxPlansCount + { + get + { + return this.ddlMailboxPlan.Items.Count; + } + } + + + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + BindMailboxPlans(); + } + } + + private void BindMailboxPlans() + { + WebsitePanel.Providers.HostedSolution.ExchangeMailboxPlan[] plans = ES.Services.ExchangeServer.GetExchangeMailboxPlans(PanelRequest.ItemID); + + foreach (WebsitePanel.Providers.HostedSolution.ExchangeMailboxPlan plan in plans) + { + ListItem li = new ListItem(); + li.Text = plan.MailboxPlan; + li.Value = plan.MailboxPlanId.ToString(); + li.Selected = plan.IsDefault; + ddlMailboxPlan.Items.Add(li); + } + + foreach (ListItem li in ddlMailboxPlan.Items) + { + if (li.Value == mailboxPlanToSelect) + { + ddlMailboxPlan.ClearSelection(); + li.Selected = true; + break; + } + } + + } + + protected void ddlMailboxPlan_SelectedIndexChanged(object sender, EventArgs e) + { + + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxSelector.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxSelector.ascx.cs index 60a4aa40..62431785 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxSelector.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxSelector.ascx.cs @@ -37,24 +37,24 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls public partial class MailboxSelector : WebsitePanelControlBase { public const string DirectionString = "DirectionString"; - + public bool MailboxesEnabled - { - get { return ViewState["MailboxesEnabled"] != null ? (bool)ViewState["MailboxesEnabled"] : false; } - set { ViewState["MailboxesEnabled"] = value; } - } + { + get { return ViewState["MailboxesEnabled"] != null ? (bool)ViewState["MailboxesEnabled"] : false; } + set { ViewState["MailboxesEnabled"] = value; } + } - public bool ContactsEnabled - { - get { return ViewState["ContactsEnabled"] != null ? (bool)ViewState["ContactsEnabled"] : false; } - set { ViewState["ContactsEnabled"] = value; } - } + public bool ContactsEnabled + { + get { return ViewState["ContactsEnabled"] != null ? (bool)ViewState["ContactsEnabled"] : false; } + set { ViewState["ContactsEnabled"] = value; } + } - public bool DistributionListsEnabled - { - get { return ViewState["DistributionListsEnabled"] != null ? (bool)ViewState["DistributionListsEnabled"] : false; } - set { ViewState["DistributionListsEnabled"] = value; } - } + public bool DistributionListsEnabled + { + get { return ViewState["DistributionListsEnabled"] != null ? (bool)ViewState["DistributionListsEnabled"] : false; } + set { ViewState["DistributionListsEnabled"] = value; } + } public bool ShowOnlyMailboxes { @@ -62,20 +62,20 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls set { ViewState["ShowOnlyMailboxes"] = value; } } - public int ExcludeAccountId - { - get { return PanelRequest.AccountID; } - } + public int ExcludeAccountId + { + get { return PanelRequest.AccountID; } + } - public void SetAccount(ExchangeAccount account) - { - BindSelectedAccount(account); - } + public void SetAccount(ExchangeAccount account) + { + BindSelectedAccount(account); + } - public string GetAccount() - { - return (string)ViewState["AccountName"]; - } + public string GetAccount() + { + return (string)ViewState["AccountName"]; + } public int GetAccountId() { return Utils.ParseInt(ViewState["AccountId"], 0); @@ -84,11 +84,11 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls protected void Page_Load(object sender, EventArgs e) { - // toggle controls - if (!IsPostBack) - { + // toggle controls + if (!IsPostBack) + { chkIncludeMailboxes.Visible = MailboxesEnabled; - + chkIncludeRooms.Visible = MailboxesEnabled && !ShowOnlyMailboxes; chkIncludeEquipment.Visible = MailboxesEnabled && !ShowOnlyMailboxes; @@ -98,47 +98,47 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls chkIncludeRooms.Checked = MailboxesEnabled && !ShowOnlyMailboxes; chkIncludeEquipment.Checked = MailboxesEnabled && !ShowOnlyMailboxes; - + chkIncludeContacts.Visible = ContactsEnabled; - chkIncludeContacts.Checked = ContactsEnabled; - chkIncludeLists.Visible = DistributionListsEnabled; - chkIncludeLists.Checked = DistributionListsEnabled; - } + chkIncludeContacts.Checked = ContactsEnabled; + chkIncludeLists.Visible = DistributionListsEnabled; + chkIncludeLists.Checked = DistributionListsEnabled; + } } - private void BindSelectedAccount(ExchangeAccount account) - { - if (account != null) - { - txtDisplayName.Text = account.DisplayName; - ViewState["AccountName"] = account.AccountName; + private void BindSelectedAccount(ExchangeAccount account) + { + if (account != null) + { + txtDisplayName.Text = account.DisplayName; + ViewState["AccountName"] = account.AccountName; ViewState["PrimaryEmailAddress"] = account.PrimaryEmailAddress; ViewState["AccountId"] = account.AccountId; - } - else - { - txtDisplayName.Text = ""; - ViewState["AccountName"] = null; + } + else + { + txtDisplayName.Text = ""; + ViewState["AccountName"] = null; ViewState["PrimaryEmailAddress"] = null; ViewState["AccountId"] = null; - } - } + } + } - public string GetAccountImage(int accountTypeId) - { - ExchangeAccountType accountType = (ExchangeAccountType)accountTypeId; - string imgName = "mailbox_16.gif"; - if (accountType == ExchangeAccountType.Contact) - imgName = "contact_16.gif"; - else if (accountType == ExchangeAccountType.DistributionList) - imgName = "dlist_16.gif"; + public string GetAccountImage(int accountTypeId) + { + ExchangeAccountType accountType = (ExchangeAccountType)accountTypeId; + string imgName = "mailbox_16.gif"; + if (accountType == ExchangeAccountType.Contact) + imgName = "contact_16.gif"; + else if (accountType == ExchangeAccountType.DistributionList) + imgName = "dlist_16.gif"; else if (accountType == ExchangeAccountType.Room) imgName = "room_16.gif"; else if (accountType == ExchangeAccountType.Equipment) imgName = "equipment_16.gif"; - return GetThemedImage("Exchange/" + imgName); - } + return GetThemedImage("Exchange/" + imgName); + } private SortDirection Direction @@ -152,26 +152,26 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls return string.Compare(user1.DisplayName, user2.DisplayName); } - + private void BindPopupAccounts() - { - ExchangeAccount[] accounts = ES.Services.ExchangeServer.SearchAccounts(PanelRequest.ItemID, - chkIncludeMailboxes.Checked, chkIncludeContacts.Checked, chkIncludeLists.Checked, + { + ExchangeAccount[] accounts = ES.Services.ExchangeServer.SearchAccounts(PanelRequest.ItemID, + chkIncludeMailboxes.Checked, chkIncludeContacts.Checked, chkIncludeLists.Checked, chkIncludeRooms.Checked, chkIncludeEquipment.Checked, - ddlSearchColumn.SelectedValue, txtSearchValue.Text + "%", ""); + ddlSearchColumn.SelectedValue, txtSearchValue.Text + "%", ""); - if (ExcludeAccountId > 0) - { - List updatedAccounts = new List(); - foreach (ExchangeAccount account in accounts) - if (account.AccountId != ExcludeAccountId) - updatedAccounts.Add(account); + if (ExcludeAccountId > 0) + { + List updatedAccounts = new List(); + foreach (ExchangeAccount account in accounts) + if (account.AccountId != ExcludeAccountId) + updatedAccounts.Add(account); - accounts = updatedAccounts.ToArray(); - } + accounts = updatedAccounts.ToArray(); + } Array.Sort(accounts, CompareAccount); - + if (Direction == SortDirection.Ascending) { Array.Reverse(accounts); @@ -182,56 +182,56 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls gvPopupAccounts.DataSource = accounts; gvPopupAccounts.DataBind(); - - - } - protected void chkIncludeMailboxes_CheckedChanged(object sender, EventArgs e) - { - BindPopupAccounts(); - } - protected void cmdSearch_Click(object sender, ImageClickEventArgs e) - { - BindPopupAccounts(); - } + } - protected void cmdClear_Click(object sender, EventArgs e) - { - BindSelectedAccount(null); - } + protected void chkIncludeMailboxes_CheckedChanged(object sender, EventArgs e) + { + BindPopupAccounts(); + } - protected void ImageButton1_Click(object sender, ImageClickEventArgs e) - { - // bind all accounts - BindPopupAccounts(); + protected void cmdSearch_Click(object sender, ImageClickEventArgs e) + { + BindPopupAccounts(); + } - // show modal - SelectAccountsModal.Show(); - } + protected void cmdClear_Click(object sender, EventArgs e) + { + BindSelectedAccount(null); + } - protected void gvPopupAccounts_RowCommand(object sender, GridViewCommandEventArgs e) - { - if (e.CommandName == "SelectAccount") - { - string[] parts = e.CommandArgument.ToString().Split('|'); - ExchangeAccount account = new ExchangeAccount(); - account.AccountName = parts[0]; - account.DisplayName = parts[1]; + protected void ImageButton1_Click(object sender, ImageClickEventArgs e) + { + // bind all accounts + BindPopupAccounts(); + + // show modal + SelectAccountsModal.Show(); + } + + protected void gvPopupAccounts_RowCommand(object sender, GridViewCommandEventArgs e) + { + if (e.CommandName == "SelectAccount") + { + string[] parts = e.CommandArgument.ToString().Split('|'); + ExchangeAccount account = new ExchangeAccount(); + account.AccountName = parts[0]; + account.DisplayName = parts[1]; account.PrimaryEmailAddress = parts[2]; account.AccountId = Utils.ParseInt(parts[3]); - // set account - BindSelectedAccount(account); + // set account + BindSelectedAccount(account); - // hide popup - SelectAccountsModal.Hide(); + // hide popup + SelectAccountsModal.Hide(); - // update parent panel - MainUpdatePanel.Update(); - } - } + // update parent panel + MainUpdatePanel.Update(); + } + } protected void OnSorting(object sender, GridViewSortEventArgs e) { diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxSelector.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxSelector.ascx.designer.cs index d19fbb89..4c796a4c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxSelector.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxSelector.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.4927 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxTabs.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxTabs.ascx.cs index f2ec5079..5994422d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxTabs.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxTabs.ascx.cs @@ -90,11 +90,10 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls private void BindTabs() { List tabsList = new List(); - tabsList.Add(CreateTab("mailbox_settings", "Tab.Settings")); + tabsList.Add(CreateTab("mailbox_settings", "Tab.Mailbox")); tabsList.Add(CreateTab("mailbox_addresses", "Tab.Addresses")); tabsList.Add(CreateTab("mailbox_mailflow", "Tab.Mailflow")); tabsList.Add(CreateTab("mailbox_permissions", "Tab.Permissions")); - tabsList.Add(CreateTab("mailbox_advanced", "Tab.Advanced")); tabsList.Add(CreateTab("mailbox_setup", "Tab.Setup")); tabsList.Add(CreateTab("mailbox_mobile", "Tab.Mobile")); //tabsList.Add(CreateTab("mailbddox_spam", "Tab.Spam")); diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs index 8ff532c6..baa30d3a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs @@ -126,14 +126,17 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls if (CheckQouta(Quotas.EXCHANGE2007_PUBLICFOLDERS, cntx)) exchangeGroup.MenuItems.Add(CreateMenuItem("PublicFolders", "public_folders")); - - - exchangeGroup.MenuItems.Add(CreateMenuItem("StorageUsage", "storage_usage")); - exchangeGroup.MenuItems.Add(CreateMenuItem("StorageLimits", "storage_limits")); - - if (CheckQouta(Quotas.EXCHANGE2007_ACTIVESYNCENABLED, cntx)) + if (CheckQouta(Quotas.EXCHANGE2007_ACTIVESYNCALLOWED, cntx)) exchangeGroup.MenuItems.Add(CreateMenuItem("ActiveSyncPolicy", "activesync_policy")); + if (CheckQouta(Quotas.EXCHANGE2007_MAILBOXES, cntx)) + exchangeGroup.MenuItems.Add(CreateMenuItem("MailboxPlans", "mailboxplans")); + + if (CheckQouta(Quotas.ORGANIZATION_DOMAINS, cntx)) + exchangeGroup.MenuItems.Add(CreateMenuItem("DomainNames", "domains")); + + exchangeGroup.MenuItems.Add(CreateMenuItem("StorageUsage", "storage_usage")); + if (exchangeGroup.MenuItems.Count > 0) groups.Add(exchangeGroup); @@ -142,8 +145,8 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls private void PrepareOrganizationMenu(PackageContext cntx, List groups, string imagePath) { MenuGroup organizationGroup = new MenuGroup(GetLocalizedString("Text.OrganizationGroup"), imagePath + "company24.png"); - if (CheckQouta(Quotas.ORGANIZATION_DOMAINS, cntx)) - organizationGroup.MenuItems.Add(CreateMenuItem("DomainNames", "domains")); + //if (CheckQouta(Quotas.ORGANIZATION_DOMAINS, cntx)) + // organizationGroup.MenuItems.Add(CreateMenuItem("DomainNames", "domains")); if (CheckQouta(Quotas.ORGANIZATION_USERS, cntx)) organizationGroup.MenuItems.Add(CreateMenuItem("Users", "users")); diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/SizeBox.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/SizeBox.ascx index 8aef6ce4..dc4977d2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/SizeBox.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/SizeBox.ascx @@ -1,6 +1,8 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SizeBox.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox" %> + + // This code was generated by a tool. -// Runtime Version:2.0.50727.312 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ namespace WebsitePanel.Portal.ExchangeServer.UserControls { - /// - /// SizeBox class. - /// - /// - /// Auto-generated class. - /// public partial class SizeBox { /// @@ -37,6 +30,42 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls { /// protected global::System.Web.UI.WebControls.Localize locKB; + /// + /// locMB control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locMB; + + /// + /// locPct control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locPct; + + /// + /// _ValidatorCalloutExtender control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::AjaxControlToolkit.ValidatorCalloutExtender _ValidatorCalloutExtender; + + /// + /// ValidatorCalloutExtender1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::AjaxControlToolkit.ValidatorCalloutExtender ValidatorCalloutExtender1; + /// /// valRequireNumber control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx index 1abeb777..a5c22ab2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx @@ -49,7 +49,7 @@ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs index 51e5e543..da7d0b53 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.cs @@ -11,7 +11,7 @@ // 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 +// - Neither the name of the SMB SAAS Systems Inc. nor the names of its // contributors may be used to endorse or promote products derived from this // software without specific prior written permission. // @@ -137,6 +137,12 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls return (string)ViewState["PrimaryEmailAddress"]; } + public string GetSubscriberNumber() + { + return (string)ViewState["SubscriberNumber"]; + } + + public int GetAccountId() { return Utils.ParseInt(ViewState["AccountId"], 0); @@ -158,6 +164,7 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls ViewState["PrimaryEmailAddress"] = account.PrimaryEmailAddress; ViewState["AccountId"] = account.AccountId; ViewState["SAMAccountName"] = account.SamAccountName; + ViewState["SubscriberNumber"] = account.SubscriberNumber; } else { @@ -167,7 +174,7 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls ViewState["PrimaryEmailAddress"] = null; ViewState["AccountId"] = null; ViewState["SAMAccountName"] = null; - + ViewState["SubscriberNumber"] = null; } } @@ -287,6 +294,7 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls account.PrimaryEmailAddress = parts[2]; account.AccountId = Utils.ParseInt(parts[3]); account.SamAccountName = parts[4]; + account.SubscriberNumber = parts[5]; // set account BindSelectedAccount(account); diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.designer.cs index c4fe285f..4775df9a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/UserSelector.ascx.designer.cs @@ -1,31 +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. - //------------------------------------------------------------------------------ // // This code was generated by a tool. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Exchange_Settings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Exchange_Settings.ascx.resx index ac2e6bc8..c2df5d53 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Exchange_Settings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Exchange_Settings.ascx.resx @@ -112,10 +112,10 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Setup Instruction Variables @@ -189,4 +189,7 @@ Public Folder Server: + + Database Availability Group: + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange2010SP1_Settings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange2010SP1_Settings.ascx deleted file mode 100644 index de4edd16..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange2010SP1_Settings.ascx +++ /dev/null @@ -1,63 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Exchange2010SP1_Settings.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.Exchange2010SP1_Settings" %> - -
    - Organization Template - - - - - - - - - - <%-- - - - - - --%> -
    Program ID: - - -
    Offer ID: - - -
    Location: - - - -
    -
    - -<%-- -
    - Catch-All - - - - - -
    Catch-all configuration path:
    -
    ---%> - -
    - Domain Templates - - - - - - - - - -
    Temporary domain:organization_domain.
    Exchange Control Panel URL: -
    - You can use [DOMAIN_NAME] variable for organization default domain. -
    -
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange2010SP1_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange2010SP1_Settings.ascx.cs deleted file mode 100644 index 8897a13b..00000000 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange2010SP1_Settings.ascx.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; -using System.Collections.Specialized; - -namespace WebsitePanel.Portal.ProviderControls -{ - public partial class Exchange2010SP1_Settings : WebsitePanelControlBase, IHostingServiceProviderSettings - { - protected void Page_Load(object sender, EventArgs e) - { - - } - - public void BindSettings(StringDictionary settings) - { - programID.Text = settings["programID"]; - offerID.Text = settings["offerID"]; - //location.Text = settings["location"]; - - //catchAllPath.Text = settings["catchAllPath"]; - - temporaryDomain.Text = settings["temporaryDomain"]; - ecpURL.Text = settings["ecpURL"]; - } - - public void SaveSettings(StringDictionary settings) - { - settings["programID"] = programID.Text.Trim(); - settings["offerID"] = offerID.Text.Trim(); - //settings["location"] = location.Text.Trim(); - - //settings["catchAllPath"] = catchAllPath.Text.Trim(); - - settings["temporaryDomain"] = temporaryDomain.Text.Trim(); - settings["ecpURL"] = ecpURL.Text.Trim(); - } - } -} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange_Settings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange_Settings.ascx index 16480e8d..48636a4d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange_Settings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Exchange_Settings.ascx @@ -13,11 +13,14 @@ + + // This code was generated by a tool. -// Runtime Version:2.0.50727.3053 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. //
    //------------------------------------------------------------------------------ @@ -49,6 +48,15 @@ namespace WebsitePanel.Portal.ProviderControls { /// protected global::System.Web.UI.WebControls.Localize locMailboxDatabase; + /// + /// locMailboxDAG control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locMailboxDAG; + /// /// txtMailboxDatabase control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx index 5f62fea9..b436336c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx @@ -51,6 +51,14 @@ Text="Create Space Resources" Checked="True" AutoPostBack="True" OnCheckedChanged="chkCreateResources_CheckedChanged" /> + + +
    + + + + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx.cs index 793b42f9..f6ada2d5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx.cs @@ -41,6 +41,7 @@ namespace WebsitePanel.Portal { if (!IsPostBack) { + chkIntegratedOUProvisioning.Visible = false; ftpAccountName.SetUserPolicy(PanelSecurity.SelectedUserId, UserSettings.FTP_POLICY, "UserNamePolicy"); BindHostingPlans(PanelSecurity.SelectedUserId); BindHostingPlan(); @@ -106,6 +107,8 @@ namespace WebsitePanel.Portal chkCreateMailAccount.Checked &= mailEnabled; ftpAccountName.Visible = (rbFtpAccountName.SelectedIndex == 1); + + chkIntegratedOUProvisioning.Visible = chkCreateResources.Visible; } private void CreateHostingSpace() @@ -136,6 +139,28 @@ namespace WebsitePanel.Portal lblMessage.Text = AntiXss.HtmlEncode(GetExceedingQuotasMessage(result.ExceedingQuotas)); return; } + else + { + if ((chkIntegratedOUProvisioning.Checked) & !string.IsNullOrEmpty(domainName)) + { + UserInfo user = UsersHelper.GetUser(PanelSecurity.SelectedUserId); + + if (user != null) + { + if (user.Role != UserRole.Reseller) + { + + ES.Services.Organizations.CreateOrganization(result.Result, domainName.ToLower(), domainName.ToLower()); + + if (result.Result < 0) + { + ShowErrorMessage("USERWIZARD_CREATE_ACCOUNT"); + return; + } + } + } + } + } } catch (Exception ex) { diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx.designer.cs index b280ff7a..e41d8992 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserCreateSpace.ascx.designer.cs @@ -1,10 +1,9 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.3074 // // Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -112,6 +111,15 @@ namespace WebsitePanel.Portal { /// protected global::System.Web.UI.WebControls.CheckBox chkCreateResources; + /// + /// chkIntegratedOUProvisioning control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkIntegratedOUProvisioning; + /// /// ResourcesPanel control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj index 2bc48ea9..6c2fe5c9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj @@ -199,10 +199,31 @@ + + ExchangeAddMailboxPlan.ascx + ASPXCodeBehind + + + ExchangeAddMailboxPlan.ascx + + + ExchangeMailboxPlans.ascx + ASPXCodeBehind + + + ExchangeMailboxPlans.ascx + AccountsListWithPermissions.ascx ASPXCodeBehind + + MailboxPlanSelector.ascx + ASPXCodeBehind + + + MailboxPlanSelector.ascx + hMailServer5_EditAccount.ascx ASPXCodeBehind @@ -745,13 +766,6 @@ BlackBerry_Settings.ascx - - Exchange2010SP1_Settings.ascx - ASPXCodeBehind - - - Exchange2010SP1_Settings.ascx - Exchange_Settings.ascx ASPXCodeBehind @@ -1189,13 +1203,6 @@ ExchangeDomainRecords.ascx - - ExchangeMailboxAdvancedSettings.ascx - ASPXCodeBehind - - - ExchangeMailboxAdvancedSettings.ascx - ExchangeMailboxEmailAddresses.ascx ASPXCodeBehind @@ -1259,13 +1266,6 @@ ExchangePublicFolders.ascx - - ExchangeStorageLimits.ascx - ASPXCodeBehind - - - ExchangeStorageLimits.ascx - ExchangeStorageUsage.ascx ASPXCodeBehind @@ -3686,7 +3686,10 @@ + + + @@ -3736,7 +3739,6 @@ - @@ -4685,9 +4687,6 @@ Designer - - Designer - Designer @@ -4812,6 +4811,8 @@ Designer + + Designer @@ -5193,9 +5194,6 @@ Designer - - Designer - Designer @@ -5233,7 +5231,6 @@ - @@ -5243,7 +5240,6 @@ - @@ -5345,9 +5341,6 @@ Designer - - Designer - Designer diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj index 00a1c8b1..753293c1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj @@ -102,7 +102,10 @@ + + + diff --git a/WebsitePanel/Sources/generate_es_proxies.bat b/WebsitePanel/Sources/generate_es_proxies.bat index 1b2bb0fa..d190a83a 100644 --- a/WebsitePanel/Sources/generate_es_proxies.bat +++ b/WebsitePanel/Sources/generate_es_proxies.bat @@ -1,6 +1,6 @@ SET WSDL="C:\Program Files (x86)\Microsoft WSE\v3.0\Tools\WseWsdl3.exe" SET WSE_CLEAN=..\Tools\WseClean.exe -SET SERVER_URL=http://localhost:9002 +SET SERVER_URL=http://localhost:9005 -%WSDL% %SERVER_URL%/esExchangeHostedEdition.asmx /out:.\WebsitePanel.EnterpriseServer.Client\ExchangeHostedEditionProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient -%WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\ExchangeHostedEditionProxy.cs \ No newline at end of file +%WSDL% %SERVER_URL%/esExchangeServer.asmx /out:.\WebsitePanel.EnterpriseServer.Client\ExchangeServerProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient +%WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\ExchangeServerProxy.cs diff --git a/WebsitePanel/Sources/generate_server_proxies.bat b/WebsitePanel/Sources/generate_server_proxies.bat index 67384691..ee8580af 100644 --- a/WebsitePanel/Sources/generate_server_proxies.bat +++ b/WebsitePanel/Sources/generate_server_proxies.bat @@ -1,8 +1,8 @@ SET WSDL="C:\Program Files (x86)\Microsoft WSE\v3.0\Tools\WseWsdl3.exe" SET WSE_CLEAN=..\Tools\WseClean.exe -SET SERVER_URL=http://localhost:9003 +SET SERVER_URL=http://localhost:9006 -%WSDL% %SERVER_URL%/VirtualizationServerForPrivateCloud.asmx /out:.\WebsitePanel.Server.Client\VirtualizationServerForPrivateCloudProxy.cs /namespace:WebsitePanel.Providers.VirtualizationForPC /type:webClient /fields -%WSE_CLEAN% .\WebsitePanel.Server.Client\VirtualizationServerForPrivateCloudProxy.cs +%WSDL% %SERVER_URL%/Organizations.asmx /out:.\WebsitePanel.Server.Client\OrganizationProxy.cs /namespace:WebsitePanel.Providers.HostedSolution /type:webClient /fields +%WSE_CLEAN% .\WebsitePanel.Server.Client\OrganizationProxy.cs pause \ No newline at end of file From 3732b2143c42773f61edd3e26fac290c5cd804b4 Mon Sep 17 00:00:00 2001 From: robvde Date: Mon, 9 Jul 2012 12:04:19 +0400 Subject: [PATCH 41/78] Missed this file in previous commit --- .../MailboxPlanSelector.ascx.designer.cs | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxPlanSelector.ascx.designer.cs diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxPlanSelector.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxPlanSelector.ascx.designer.cs new file mode 100644 index 00000000..e1388046 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxPlanSelector.ascx.designer.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.ExchangeServer.UserControls { + + + public partial class MailboxPlanSelector { + + /// + /// ddlMailboxPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.DropDownList ddlMailboxPlan; + } +} From a240fcebc64a2839f97520e4a4ea30af7612a05c Mon Sep 17 00:00:00 2001 From: robvde Date: Tue, 10 Jul 2012 11:19:55 +0400 Subject: [PATCH 42/78] Lync Server 2010 Multitenant Core Unified Communications Support Added Enterprise voice support to follow soon --- WebsitePanel/Database/install_db.sql | 616 +++++++- WebsitePanel/Database/update_db.sql | 664 ++++++++- .../Microsoft.Rtc.Management.Core.dll | Bin 0 -> 1383232 bytes .../Microsoft.Rtc.Management.Hosted.dll | Bin 0 -> 305976 bytes ...icrosoft.Rtc.Management.WritableConfig.dll | Bin 0 -> 1231688 bytes .../Common/BusinessErrorCodes.cs | 4 + .../Packages/Quotas.cs | 14 +- .../Servers/ResourceGroups.cs | 1 + .../LyncProxy.cs | 1103 +++++++++++++++ ...ebsitePanel.EnterpriseServer.Client.csproj | 1 + .../Code/Data/DataProvider.cs | 158 +++ .../Code/HostedSolution/LyncController.cs | 821 +++++++++++ .../HostedSolution/LyncControllerAsync.cs | 97 ++ .../HostedSolution/OrganizationController.cs | 84 +- .../WebsitePanel.EnterpriseServer.csproj | 7 + .../WebsitePanel.EnterpriseServer/esLync.asmx | 1 + .../esLync.asmx.cs | 135 ++ .../HostedSolution/ILyncServer.cs | 51 + .../HostedSolution/LyncConstants.cs | 36 + .../HostedSolution/LyncErrorCodes.cs | 74 + .../HostedSolution/LyncFederationDomain.cs | 66 + .../HostedSolution/LyncUser.cs | 45 + .../HostedSolution/LyncUserPlan.cs | 112 ++ .../HostedSolution/LyncUsersPaged.cs | 50 + .../HostedSolution/LyncVoicePolicyType.cs | 39 + .../HostedSolution/OrganizationStatistics.cs | 2 + .../ResultObjects/LyncUserResult.cs | 36 + .../ResultObjects/LyncUsersPagedResult.cs | 36 + .../WebsitePanel.Providers.Base.csproj | 10 + .../Lync2010.cs | 1248 +++++++++++++++++ .../LyncTransaction.cs | 97 ++ ...bsitePanel.Providers.HostedSolution.csproj | 11 + .../LyncServerProxy.cs | 912 ++++++++++++ .../WebsitePanel.Server.Client.csproj | 1 + .../WebsitePanel.Server/LyncServer.asmx | 1 + .../WebsitePanel.Server/LyncServer.asmx.cs | 236 ++++ .../WebsitePanel.Server.csproj | 5 + .../App_Data/WebsitePanel_Modules.config | 10 +- .../WebsitePanel_SharedResources.ascx.resx | 129 ++ .../App_Themes/Default/Icons.skin | 7 + .../Default/Images/Exchange/lync16.png | Bin 0 -> 602 bytes .../App_Themes/Default/Images/lync16.png | Bin 0 -> 602 bytes .../App_Themes/Default/Images/lync48.png | Bin 0 -> 6089 bytes .../Images/lyncfederationdomains48.png | Bin 0 -> 7772 bytes .../App_Themes/Default/Images/lyncuser.png | Bin 0 -> 5193 bytes .../Default/Images/lyncuserplan48.png | Bin 0 -> 5862 bytes .../Default/Images/lyncuserplanadd48.png | Bin 0 -> 6037 bytes .../App_LocalResources/SpaceQuotas.ascx.resx | 18 + .../WebsitePanel/Code/Framework/ES.cs | 9 +- .../WebsitePanel/Code/Helpers/LyncHelper.cs | 85 ++ .../ExchangeServer/OrganizationHome.ascx.cs | 3 +- .../App_LocalResources/Menu.ascx.resx | 12 + .../ExchangeServer/UserControls/Menu.ascx.cs | 18 + .../LyncAddFederationDomain.ascx.resx | 138 ++ .../LyncAddLyncUserPlan.ascx.resx | 183 +++ .../LyncCreateUser.ascx.resx | 138 ++ .../App_LocalResources/LyncEditUser.ascx.resx | 138 ++ .../LyncFederationDomains.ascx.resx | 151 ++ .../LyncUserPlans.ascx.resx | 153 ++ .../App_LocalResources/LyncUsers.ascx.resx | 155 ++ .../Lync/LyncAddFederationDomain.ascx | 64 + .../Lync/LyncAddFederationDomain.ascx.cs | 82 ++ .../LyncAddFederationDomain.ascx.designer.cs | 177 +++ .../Lync/LyncAddLyncUserPlan.ascx | 132 ++ .../Lync/LyncAddLyncUserPlan.ascx.cs | 157 +++ .../Lync/LyncAddLyncUserPlan.ascx.designer.cs | 258 ++++ .../WebsitePanel/Lync/LyncCreateUser.ascx | 62 + .../WebsitePanel/Lync/LyncCreateUser.ascx.cs | 66 + .../Lync/LyncCreateUser.ascx.designer.cs | 132 ++ .../WebsitePanel/Lync/LyncEditUser.ascx | 54 + .../WebsitePanel/Lync/LyncEditUser.ascx.cs | 76 + .../Lync/LyncEditUser.ascx.designer.cs | 114 ++ .../Lync/LyncFederationDomains.ascx | 63 + .../Lync/LyncFederationDomains.ascx.cs | 87 ++ .../LyncFederationDomains.ascx.designer.cs | 96 ++ .../WebsitePanel/Lync/LyncUserPlans.ascx | 73 + .../WebsitePanel/Lync/LyncUserPlans.ascx.cs | 125 ++ .../Lync/LyncUserPlans.ascx.designer.cs | 105 ++ .../WebsitePanel/Lync/LyncUsers.ascx | 91 ++ .../WebsitePanel/Lync/LyncUsers.ascx.cs | 100 ++ .../Lync/LyncUsers.ascx.designer.cs | 159 +++ .../UserControls/LyncUserPlanSelector.ascx | 2 + .../UserControls/LyncUserPlanSelector.ascx.cs | 100 ++ .../LyncUserPlanSelector.ascx.designer.cs | 24 + .../Lync_Settings.ascx.resx | 144 ++ .../ProviderControls/Lync_Settings.ascx | 54 + .../ProviderControls/Lync_Settings.ascx.cs | 181 +++ .../Lync_Settings.ascx.designer.cs | 105 ++ .../WebsitePanel/SpaceQuotas.ascx | 31 +- .../WebsitePanel/SpaceQuotas.ascx.cs | 11 +- .../WebsitePanel/SpaceQuotas.ascx.designer.cs | 174 ++- .../WebsitePanel.Portal.Modules.csproj | 85 +- .../WebsitePanel.WebPortal.csproj | 6 + WebsitePanel/Sources/generate_es_proxies.bat | 4 +- 94 files changed, 11276 insertions(+), 39 deletions(-) create mode 100644 WebsitePanel/Lib/References/Microsoft/Microsoft.Rtc.Management.Core.dll create mode 100644 WebsitePanel/Lib/References/Microsoft/Microsoft.Rtc.Management.Hosted.dll create mode 100644 WebsitePanel/Lib/References/Microsoft/Microsoft.Rtc.Management.WritableConfig.dll create mode 100644 WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/LyncProxy.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncController.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncControllerAsync.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx create mode 100644 WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ILyncServer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncConstants.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncErrorCodes.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncFederationDomain.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUser.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUserPlan.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUsersPaged.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncVoicePolicyType.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUserResult.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUsersPagedResult.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Lync2010.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/LyncTransaction.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Server.Client/LyncServerProxy.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx create mode 100644 WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/Exchange/lync16.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lync16.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lync48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncfederationdomains48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncuser.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncuserplan48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncuserplanadd48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/LyncHelper.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddFederationDomain.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddLyncUserPlan.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncCreateUser.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncEditUser.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncFederationDomains.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUserPlans.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUsers.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Lync_Settings.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.designer.cs diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index be7e742f..e260326d 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -3641,7 +3641,7 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (75, 1, 8, N'OS.ExtraApplications', N'Extra Application Packs', 1, 0, NULL) GO -INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (77, 12, 2, N'Exchange2007.DiskSpace', N'Organization Disk Space, MB', 21, 0, NULL) +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (77, 12, 2, N'Exchange2007.DiskSpace', N'Organization Disk Space, MB', 2, 0, NULL) GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (78, 12, 3, N'Exchange2007.Mailboxes', N'Mailboxes per Organization', 2, 0, NULL) GO @@ -3851,6 +3851,26 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (368, 12, 1, N'Exchange2007.IsConsumer',N'Is Consumer Organization',1, 0 , NULL) GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (370, 41, 1, N'Lync.Users', N'Users',2 ,0 , NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (371, 41, 2, N'Lync.Federation' , N'Allow Federation', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (372, 41, 3, N'Lync.Conferencing', N'Allow Conferencing', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (373, 41, 4, N'Lync.MaxParticipants', N'Maximum Conference Particiapants', 3, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (374, 41, 5, N'Lync.AllowVideo', N'Allow Video in Conference', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (375, 41, 6, N'Lync.EnterpriseVoice', N'Allow EnterpriseVoice', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (376, 41, 7, N'Lync.EVUsers', N'Number of Enterprise Voice Users', 2, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (377, 41, 8, N'Lync.EVNational', N'Allow National Calls', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (378, 41, 9, N'Lync.EVMobile', N'Allow Mobile Calls', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (379, 41, 10, N'Lync.EVInternational', N'Allow International Calls', 1, 0, NULL) +GO INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (400, 20, 3, N'HostedSharePoint.UseSharedSSL', N'Use shared SSL Root', 1, 0, NULL) GO @@ -10631,6 +10651,8 @@ INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupContr GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (32, N'OCS', 22, NULL) GO +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (41, N'Lync',23, NULL) +GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (40, N'VPSForPC', 20, NULL) GO SET ANSI_NULLS ON @@ -13237,6 +13259,62 @@ GO +CREATE TABLE [dbo].[LyncUserPlans]( + [LyncUserPlanId] [int] IDENTITY(1,1) NOT NULL, + [ItemID] [int] NOT NULL, + [LyncUserPlanName] [nvarchar](300) COLLATE Latin1_General_CI_AS NOT NULL, + [IM] [bit] NOT NULL, + [Mobility] [bit] NOT NULL, + [MobilityEnableOutsideVoice] [bit] NOT NULL, + [Federation] [bit] NOT NULL, + [Conferencing] [bit] NOT NULL, + [EnterpriseVoice] [bit] NOT NULL, + [VoicePolicy] [int] NOT NULL, + [IsDefault] [bit] NOT NULL, + CONSTRAINT [PK_LyncUserPlans] PRIMARY KEY CLUSTERED +( + [LyncUserPlanId] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + + + + + + + + + +CREATE TABLE [dbo].[LyncUsers]( + [LyncUserID] [int] IDENTITY(1,1) NOT NULL, + [AccountID] [int] NOT NULL, + [LyncUserPlanID] [int] NOT NULL, + [CreatedDate] [datetime] NOT NULL, + [ModifiedDate] [datetime] NOT NULL, + CONSTRAINT [PK_LyncUsers] PRIMARY KEY CLUSTERED +( + [LyncUserID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + + + + + + + + + + + + + + + @@ -23372,6 +23450,8 @@ INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName] GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (209, 23, N'MsSQL', N'Microsoft SQL Server 2012', N'WebsitePanel.Providers.Database.MsSqlServer2012, WebsitePanel.Providers.Database.SqlServer', N'MSSQL', NULL) GO +INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (250, 41, N'Lync2010', N'Microsoft Lync Server 2010 Multitenant Hosting Pack', 'WebsitePanel.Providers.HostedSolution.Lync2010, WebsitePanel.Providers.HostedSolution', 'Lync', 1) +GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (300, 30, N'HyperV', N'Microsoft Hyper-V', N'WebsitePanel.Providers.Virtualization.HyperV, WebsitePanel.Providers.Virtualization.HyperV', N'HyperV', 1) GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (301, 11, N'MySQL', N'MySQL Server 5.5', N'WebsitePanel.Providers.Database.MySqlServer55, WebsitePanel.Providers.Database.MySQL', N'MySQL', NULL) @@ -25882,6 +25962,19 @@ AS INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID WHERE pt.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 370 -- Lync.Users + SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea + INNER JOIN LyncUsers lu ON ea.AccountID = lu.AccountID + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 376 -- Lync.EVUsers + SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea + INNER JOIN LyncUsers lu ON ea.AccountID = lu.AccountID + INNER JOIN LyncUserPlans lp ON lu.LyncUserPlanId = lp.LyncUserPlanId + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID AND lp.EnterpriseVoice = 1) ELSE SET @Result = (SELECT COUNT(SI.ItemID) FROM Quotas AS Q INNER JOIN ServiceItems AS SI ON SI.ItemTypeID = Q.ItemTypeID @@ -44831,6 +44924,496 @@ WHERE MailboxPlanId = @MailboxPlanId RETURN GO + + + + + + + + + + + +CREATE PROCEDURE [dbo].[AddLyncUser] + @AccountID int, + @LyncUserPlanID int +AS +BEGIN + SET NOCOUNT ON; + +INSERT INTO + dbo.LyncUsers + ( + + AccountID, + LyncUserPlanID, + CreatedDate, + ModifiedDate) +VALUES +( + @AccountID, + @LyncUserPlanID, + getdate(), + getdate() +) +END +GO + + + + + + + + +CREATE PROCEDURE [dbo].[AddLyncUserPlan] +( + @LyncUserPlanId int OUTPUT, + @ItemID int, + @LyncUserPlanName nvarchar(300), + @IM bit, + @Mobility bit, + @MobilityEnableOutsideVoice bit, + @Federation bit, + @Conferencing bit, + @EnterpriseVoice bit, + @VoicePolicy int, + @IsDefault bit +) +AS + +INSERT INTO LyncUserPlans +( + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +) +VALUES +( + @ItemID, + @LyncUserPlanName, + @IM, + @Mobility, + @MobilityEnableOutsideVoice, + @Federation, + @Conferencing, + @EnterpriseVoice, + @VoicePolicy, + @IsDefault +) + +SET @LyncUserPlanId = SCOPE_IDENTITY() + +RETURN +GO + + + + + + + + + + +CREATE PROCEDURE [dbo].[CheckLyncUserExists] + @AccountID int +AS +BEGIN + SELECT + COUNT(AccountID) + FROM + dbo.LyncUsers + WHERE AccountID = @AccountID +END +GO + + + + + + + + + + +CREATE PROCEDURE [dbo].[DeleteLyncUser] +( + @AccountId int +) +AS + +DELETE FROM + LyncUsers +WHERE + AccountId = @AccountId + +RETURN +GO + + + + + + + + + + +CREATE PROCEDURE [dbo].[DeleteLyncUserPlan] +( + @LyncUserPlanId int +) +AS + +-- delete lyncuserplan +DELETE FROM LyncUserPlans +WHERE LyncUserPlanId = @LyncUserPlanId + +RETURN +GO + + + + + + + + + + + + + + + + + + + +CREATE PROCEDURE [dbo].[GetLyncUserPlan] +( + @LyncUserPlanId int +) +AS +SELECT + LyncUserPlanId, + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +FROM + LyncUserPlans +WHERE + LyncUserPlanId = @LyncUserPlanId +RETURN +GO + + + + + + + + + + + + +CREATE PROCEDURE [dbo].[GetLyncUserPlanByAccountId] +( + @AccountID int +) +AS +SELECT + LyncUserPlanId, + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +FROM + LyncUserPlans +WHERE + LyncUserPlanId IN (SELECT LyncUserPlanId FROM LyncUsers WHERE AccountID = @AccountID) +RETURN +GO + + + + + + + + + + + +CREATE PROCEDURE [dbo].[GetLyncUserPlans] +( + @ItemID int +) +AS +SELECT + LyncUserPlanId, + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +FROM + LyncUserPlans +WHERE + ItemID = @ItemID +ORDER BY LyncUserPlanName +RETURN +GO + + + + + + + + + + + +CREATE PROCEDURE [dbo].[GetLyncUsers] +( + @ItemID int, + @SortColumn nvarchar(40), + @SortDirection nvarchar(20), + @StartRow int, + @Count int +) +AS + +CREATE TABLE #TempLyncUsers +( + [ID] [int] IDENTITY(1,1) NOT NULL, + [AccountID] [int], + [ItemID] [int] NOT NULL, + [AccountName] [nvarchar](300) NOT NULL, + [DisplayName] [nvarchar](300) NOT NULL, + [PrimaryEmailAddress] [nvarchar](300) NULL, + [SamAccountName] [nvarchar](100) NULL, + [LyncUserPlanId] [int] NOT NULL, + [LyncUserPlanName] [nvarchar] (300) NOT NULL, +) + + +DECLARE @condition nvarchar(700) +SET @condition = '' + +IF (@SortColumn = 'DisplayName') +BEGIN + SET @condition = 'ORDER BY ea.DisplayName' +END + +IF (@SortColumn = 'PrimaryEmailAddress') +BEGIN + SET @condition = 'ORDER BY ea.PrimaryEmailAddress' +END + +IF (@SortColumn = 'LyncUserPlanName') +BEGIN + SET @condition = 'ORDER BY lp.LyncUserPlanName' +END + +DECLARE @sql nvarchar(3500) + +set @sql = ' + INSERT INTO + #TempLyncUsers + SELECT + ea.AccountID, + ea.ItemID, + ea.AccountName, + ea.DisplayName, + ea.PrimaryEmailAddress, + ea.SamAccountName, + ou.LyncUserPlanId, + lp.LyncUserPlanName + FROM + ExchangeAccounts ea + INNER JOIN + LyncUsers ou + INNER JOIN + LyncUserPlans lp + ON + ou.LyncUserPlanId = lp.LyncUserPlanId + ON + ea.AccountID = ou.AccountID + WHERE + ea.ItemID = @ItemID ' + @condition + +exec sp_executesql @sql, N'@ItemID int',@ItemID + +DECLARE @RetCount int +SELECT @RetCount = COUNT(ID) FROM #TempLyncUsers + +IF (@SortDirection = 'ASC') +BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID > @StartRow AND ID <= (@StartRow + @Count) +END +ELSE +BEGIN + IF @SortColumn <> '' AND @SortColumn IS NOT NULL + BEGIN + IF (@SortColumn = 'DisplayName') + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY DisplayName DESC + END + IF (@SortColumn = 'PrimaryEmailAddress') + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY PrimaryEmailAddress DESC + END + IF (@SortColumn = 'LyncUserPlanName') + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY LyncUserPlanName DESC + END + END + ELSE + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY PrimaryEmailAddress DESC + END + + +END + + +DROP TABLE #TempLyncUsers +GO + + + + + + + + + + +CREATE PROCEDURE [dbo].[GetLyncUsersCount] +( + @ItemID int +) +AS + +SELECT + COUNT(ea.AccountID) +FROM + ExchangeAccounts ea +INNER JOIN + LyncUsers ou +ON + ea.AccountID = ou.AccountID +WHERE + ea.ItemID = @ItemID +GO + + + + + + + + + +CREATE PROCEDURE [dbo].[SetLyncUserLyncUserPlan] +( + @AccountID int, + @LyncUserPlanId int +) +AS + +UPDATE LyncUsers SET + LyncUserPlanId = @LyncUserPlanId +WHERE + AccountID = @AccountID + +RETURN +GO + + + + + + + + + + + +CREATE PROCEDURE [dbo].[SetOrganizationDefaultLyncUserPlan] +( + @ItemId int, + @LyncUserPlanId int +) +AS + +UPDATE LyncUserPlans SET IsDefault=0 WHERE ItemId=@ItemId +UPDATE LyncUserPlans SET IsDefault=1 WHERE LyncUserPlanId=@LyncUserPlanId + +RETURN +GO + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -45502,5 +46085,34 @@ ON DELETE CASCADE GO ALTER TABLE [dbo].[ServiceProperties] CHECK CONSTRAINT [FK_ServiceProperties_Services] GO - + +ALTER TABLE [dbo].[LyncUsers] ADD CONSTRAINT [DF_LyncUsers_CreatedDate] DEFAULT (getdate()) FOR [CreatedDate] +GO + +ALTER TABLE [dbo].[LyncUsers] ADD CONSTRAINT [DF_LyncUsers_ChangedDate] DEFAULT (getdate()) FOR [ModifiedDate] +GO + +ALTER TABLE [dbo].[LyncUsers] WITH CHECK ADD CONSTRAINT [FK_LyncUsers_LyncUserPlans] FOREIGN KEY([LyncUserPlanId]) +REFERENCES [dbo].[LyncUserPlans] ([LyncUserPlanId]) +GO + +ALTER TABLE [dbo].[LyncUsers] CHECK CONSTRAINT [FK_LyncUsers_LyncUserPlans] +GO + +ALTER TABLE dbo.LyncUserPlans ADD CONSTRAINT + IX_LyncUserPlans UNIQUE NONCLUSTERED + ( + LyncUserPlanId + ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + +GO +ALTER TABLE dbo.LyncUserPlans ADD CONSTRAINT + FK_LyncUserPlans_ExchangeOrganizations FOREIGN KEY + ( + ItemID + ) REFERENCES dbo.ExchangeOrganizations + ( + ItemID + ) ON UPDATE NO ACTION + ON DELETE CASCADE diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index eb5435ba..3ad8ad99 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -1,18 +1,4 @@ -USE [${install.database}] -GO - --- update database version -DECLARE @build_version nvarchar(10), @build_date datetime -SET @build_version = N'${release.version}' -SET @build_date = '${release.date}T00:00:00' -- ISO 8601 Format (YYYY-MM-DDTHH:MM:SS) - -IF NOT EXISTS (SELECT * FROM [dbo].[Versions] WHERE [DatabaseVersion] = @build_version) -BEGIN - INSERT [dbo].[Versions] ([DatabaseVersion], [BuildDate]) VALUES (@build_version, @build_date) -END -GO - -IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE ([UserID] = 1) AND ([SettingsName] = 'WebPolicy') AND ([PropertyName] = 'EnableParkingPageTokens')) +IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE ([UserID] = 1) AND ([SettingsName] = 'WebPolicy') AND ([PropertyName] = 'EnableParkingPageTokens')) BEGIN INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'WebPolicy', N'EnableParkingPageTokens', N'False') END @@ -66,6 +52,14 @@ GO UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 21 WHERE [GroupName] = N'OCS' GO +IF NOT EXISTS (SELECT * FROM [dbo].[ResourceGroups] WHERE [GroupName] = 'Lync') +BEGIN +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (41, N'Lync',22, NULL) +END +GO + + + IF NOT EXISTS (SELECT * FROM [dbo].[ServiceItemTypes] WHERE [DisplayName] = 'MsSQL2012Database') BEGIN INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (37, 23, N'MsSQL2012Database', N'WebsitePanel.Providers.Database.SqlDatabase, WebsitePanel.Providers.Base', 1, 1, 0, 0, 1, 1, 1, 1) @@ -164,6 +158,72 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe END GO +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.Users') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (370, 41, 1, N'Lync.Users', N'Users',2 ,0 , NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.Federation') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (371, 41, 2, N'Lync.Federation' , N'Allow Federation', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.Conferencing') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (372, 41, 3, N'Lync.Conferencing', N'Allow Conferencing', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.MaxParticipants') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (373, 41, 4, N'Lync.MaxParticipants', N'Maximum Conference Particiapants', 3, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.AllowVideo') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (374, 41, 5, N'Lync.AllowVideo', N'Allow Video in Conference', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EnterpriseVoice') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (375, 41, 6, N'Lync.EnterpriseVoice', N'Allow EnterpriseVoice', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EVUsers') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (376, 41, 7, N'Lync.EVUsers', N'Number of Enterprise Voice Users', 2, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EVNational') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (377, 41, 8, N'Lync.EVNational', N'Allow National Calls', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EVMobile') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (378, 41, 9, N'Lync.EVMobile', N'Allow Mobile Calls', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EVInternational') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (379, 41, 10, N'Lync.EVInternational', N'Allow International Calls', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'HostedSharePoint.UseSharedSSL') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (400, 20, 3, N'HostedSharePoint.UseSharedSSL', N'Use shared SSL Root', 1, 0, NULL) +END +GO + IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Hosted Microsoft Exchange Server 2010 SP2') @@ -172,6 +232,16 @@ INSERT [dbo].[Providers] ([ProviderId], [GroupId], [ProviderName], [DisplayName] END GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Microsoft Lync Server 2010 Multitenant Hosting Pack') +BEGIN +INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (250, 41, N'Lync2010', N'Microsoft Lync Server 2010 Multitenant Hosting Pack', 'WebsitePanel.Providers.HostedSolution.Lync2010, WebsitePanel.Providers.HostedSolution', 'Lync', 1) +END +GO + + + + DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.POP3Enabled') DELETE FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.POP3Enabled' DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.IMAPEnabled') @@ -1683,6 +1753,82 @@ ALTER TABLE [dbo].[ExchangeOrganizations] ALTER COLUMN [OrganizationID] [nvarcha GO + +-- LyncUsers +IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[LyncUsers]') AND type in (N'U')) +BEGIN +CREATE TABLE [dbo].[LyncUsers]( + [LyncUserID] [int] IDENTITY(1,1) NOT NULL, + [AccountID] [int] NOT NULL, + [LyncUserPlanID] [int] NOT NULL, + [CreatedDate] [datetime] NOT NULL, + [ModifiedDate] [datetime] NOT NULL, + CONSTRAINT [PK_LyncUsers] PRIMARY KEY CLUSTERED +( + [LyncUserID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + + +ALTER TABLE [dbo].[LyncUsers] ADD CONSTRAINT [DF_LyncUsers_CreatedDate] DEFAULT (getdate()) FOR [CreatedDate] + +ALTER TABLE [dbo].[LyncUsers] ADD CONSTRAINT [DF_LyncUsers_ChangedDate] DEFAULT (getdate()) FOR [ModifiedDate] + +END +GO + + + + + +-- LyncUserPlans +IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[LyncUserPlans]') AND type in (N'U')) +BEGIN +CREATE TABLE [dbo].[LyncUserPlans]( + [LyncUserPlanId] [int] IDENTITY(1,1) NOT NULL, + [ItemID] [int] NOT NULL, + [LyncUserPlanName] [nvarchar](300) NOT NULL, + [IM] [bit] NOT NULL, + [Mobility] [bit] NOT NULL, + [MobilityEnableOutsideVoice] [bit] NOT NULL, + [Federation] [bit] NOT NULL, + [Conferencing] [bit] NOT NULL, + [EnterpriseVoice] [bit] NOT NULL, + [VoicePolicy] [int] NOT NULL, + [IsDefault] [bit] NOT NULL, + CONSTRAINT [PK_LyncUserPlans] PRIMARY KEY CLUSTERED +( + [LyncUserPlanId] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +ALTER TABLE dbo.LyncUserPlans ADD CONSTRAINT + IX_LyncUserPlans UNIQUE NONCLUSTERED + ( + LyncUserPlanId + ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + +ALTER TABLE dbo.LyncUserPlans ADD CONSTRAINT + FK_LyncUserPlans_ExchangeOrganizations FOREIGN KEY + ( + ItemID + ) REFERENCES dbo.ExchangeOrganizations + ( + ItemID + ) ON UPDATE NO ACTION + ON DELETE CASCADE + +ALTER TABLE [dbo].[LyncUsers] WITH CHECK ADD CONSTRAINT [FK_LyncUsers_LyncUserPlans] FOREIGN KEY([LyncUserPlanId]) +REFERENCES [dbo].[LyncUserPlans] ([LyncUserPlanId]) + +ALTER TABLE [dbo].[LyncUsers] CHECK CONSTRAINT [FK_LyncUsers_LyncUserPlans] + +END +GO + + + + /****** Object: Table [dbo].[AddExchangeAccount] ******/ ALTER PROCEDURE [dbo].[AddExchangeAccount] ( @@ -1955,6 +2101,19 @@ AS INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID WHERE pt.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 370 -- Lync.Users + SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea + INNER JOIN LyncUsers lu ON ea.AccountID = lu.AccountID + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 376 -- Lync.EVUsers + SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea + INNER JOIN LyncUsers lu ON ea.AccountID = lu.AccountID + INNER JOIN LyncUserPlans lp ON lu.LyncUserPlanId = lp.LyncUserPlanId + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID AND lp.EnterpriseVoice = 1) ELSE SET @Result = (SELECT COUNT(SI.ItemID) FROM Quotas AS Q INNER JOIN ServiceItems AS SI ON SI.ItemTypeID = Q.ItemTypeID @@ -2808,5 +2967,480 @@ exec sp_executesql @sql, N'@ItemID int, @IncludeMailboxes bit', RETURN +GO + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'AddLyncUser') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[AddLyncUser] + @AccountID int, + @LyncUserPlanID int +AS +INSERT INTO + dbo.LyncUsers + (AccountID, + LyncUserPlanID, + CreatedDate, + ModifiedDate) +VALUES +( + @AccountID, + @LyncUserPlanID, + getdate(), + getdate() +)' +END +GO + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'AddLyncUserPlan') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[AddLyncUserPlan] +( + @LyncUserPlanId int OUTPUT, + @ItemID int, + @LyncUserPlanName nvarchar(300), + @IM bit, + @Mobility bit, + @MobilityEnableOutsideVoice bit, + @Federation bit, + @Conferencing bit, + @EnterpriseVoice bit, + @VoicePolicy int, + @IsDefault bit +) +AS + +INSERT INTO LyncUserPlans +( + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +) +VALUES +( + @ItemID, + @LyncUserPlanName, + @IM, + @Mobility, + @MobilityEnableOutsideVoice, + @Federation, + @Conferencing, + @EnterpriseVoice, + @VoicePolicy, + @IsDefault +) + +SET @LyncUserPlanId = SCOPE_IDENTITY() + +RETURN' +END +GO + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'CheckLyncUserExists') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[CheckLyncUserExists] + @AccountID int +AS + SELECT + COUNT(AccountID) + FROM + dbo.LyncUsers + WHERE AccountID = @AccountID' +END +GO + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'CheckLyncUserExists') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[CheckLyncUserExists] + @AccountID int +AS +BEGIN + SELECT + COUNT(AccountID) + FROM + dbo.LyncUsers + WHERE AccountID = @AccountID' +END +GO + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'DeleteLyncUser') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[DeleteLyncUser] +( + @AccountId int +) +AS + +DELETE FROM + LyncUsers +WHERE + AccountId = @AccountId + +RETURN' +END +GO + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'DeleteLyncUserPlan') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[DeleteLyncUserPlan] +( + @LyncUserPlanId int +) +AS + +-- delete lyncuserplan +DELETE FROM LyncUserPlans +WHERE LyncUserPlanId = @LyncUserPlanId + +RETURN' +END +GO + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUserPlan') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUserPlan] +( + @LyncUserPlanId int +) +AS +SELECT + LyncUserPlanId, + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +FROM + LyncUserPlans +WHERE + LyncUserPlanId = @LyncUserPlanId +RETURN' +END +GO + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUserPlanByAccountId') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUserPlanByAccountId] +( + @AccountID int +) +AS +SELECT + LyncUserPlanId, + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +FROM + LyncUserPlans +WHERE + LyncUserPlanId IN (SELECT LyncUserPlanId FROM LyncUsers WHERE AccountID = @AccountID) +RETURN' +END +GO + + + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUserPlans') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUserPlans] +( + @ItemID int +) +AS +SELECT + LyncUserPlanId, + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +FROM + LyncUserPlans +WHERE + ItemID = @ItemID +ORDER BY LyncUserPlanName +RETURN' +END +GO + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUsers') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUsers] +( + @ItemID int, + @SortColumn nvarchar(40), + @SortDirection nvarchar(20), + @StartRow int, + @Count int +) +AS + +CREATE TABLE #TempLyncUsers +( + [ID] [int] IDENTITY(1,1) NOT NULL, + [AccountID] [int], + [ItemID] [int] NOT NULL, + [AccountName] [nvarchar](300) NOT NULL, + [DisplayName] [nvarchar](300) NOT NULL, + [PrimaryEmailAddress] [nvarchar](300) NULL, + [SamAccountName] [nvarchar](100) NULL, + [LyncUserPlanId] [int] NOT NULL, + [LyncUserPlanName] [nvarchar] (300) NOT NULL, +) + + +DECLARE @condition nvarchar(700) +SET @condition = '''' + +IF (@SortColumn = ''DisplayName'') +BEGIN + SET @condition = ''ORDER BY ea.DisplayName'' +END + +IF (@SortColumn = ''PrimaryEmailAddress'') +BEGIN + SET @condition = ''ORDER BY ea.PrimaryEmailAddress'' +END + +IF (@SortColumn = ''LyncUserPlanName'') +BEGIN + SET @condition = ''ORDER BY lp.LyncUserPlanName'' +END + +DECLARE @sql nvarchar(3500) + +set @sql = '' + INSERT INTO + #TempLyncUsers + SELECT + ea.AccountID, + ea.ItemID, + ea.AccountName, + ea.DisplayName, + ea.PrimaryEmailAddress, + ea.SamAccountName, + ou.LyncUserPlanId, + lp.LyncUserPlanName + FROM + ExchangeAccounts ea + INNER JOIN + LyncUsers ou + INNER JOIN + LyncUserPlans lp + ON + ou.LyncUserPlanId = lp.LyncUserPlanId + ON + ea.AccountID = ou.AccountID + WHERE + ea.ItemID = @ItemID '' + @condition + +exec sp_executesql @sql, N''@ItemID int'',@ItemID + +DECLARE @RetCount int +SELECT @RetCount = COUNT(ID) FROM #TempLyncUsers + +IF (@SortDirection = ''ASC'') +BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID > @StartRow AND ID <= (@StartRow + @Count) +END +ELSE +BEGIN + IF @SortColumn <> '''' AND @SortColumn IS NOT NULL + BEGIN + IF (@SortColumn = ''DisplayName'') + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY DisplayName DESC + END + IF (@SortColumn = ''PrimaryEmailAddress'') + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY PrimaryEmailAddress DESC + END + IF (@SortColumn = ''LyncUserPlanName'') + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY LyncUserPlanName DESC + END + END + ELSE + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY PrimaryEmailAddress DESC + END + + +END + +DROP TABLE #TempLyncUsers' +END +GO + + + + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUsersCount') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUsersCount] +( + @ItemID int +) +AS + +SELECT + COUNT(ea.AccountID) +FROM + ExchangeAccounts ea +INNER JOIN + LyncUsers ou +ON + ea.AccountID = ou.AccountID +WHERE + ea.ItemID = @ItemID' +END +GO + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'SetLyncUserLyncUserPlan') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[SetLyncUserLyncUserPlan] +( + @AccountID int, + @LyncUserPlanId int +) +AS + +UPDATE LyncUsers SET + LyncUserPlanId = @LyncUserPlanId +WHERE + AccountID = @AccountID + +RETURN' +END +GO + + + + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'SetOrganizationDefaultLyncUserPlan') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[SetOrganizationDefaultLyncUserPlan] +( + @ItemId int, + @LyncUserPlanId int +) +AS + +UPDATE LyncUserPlans SET IsDefault=0 WHERE ItemId=@ItemId +UPDATE LyncUserPlans SET IsDefault=1 WHERE LyncUserPlanId=@LyncUserPlanId + +RETURN' +END +GO diff --git a/WebsitePanel/Lib/References/Microsoft/Microsoft.Rtc.Management.Core.dll b/WebsitePanel/Lib/References/Microsoft/Microsoft.Rtc.Management.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..beb6e4abab49e25c975d4bad8145ab9c136befad GIT binary patch literal 1383232 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

    j1TR@%TohD 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

    w}N}T~fCvUa}+qB|7a^opx(oA7bg>m36B0 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 literal 0 HcmV?d00001 diff --git a/WebsitePanel/Lib/References/Microsoft/Microsoft.Rtc.Management.Hosted.dll b/WebsitePanel/Lib/References/Microsoft/Microsoft.Rtc.Management.Hosted.dll new file mode 100644 index 0000000000000000000000000000000000000000..fb643522d9141663d93ed1a1b196e6dbb1f3a418 GIT binary patch literal 305976 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

    Isia+pu^1en1g_+hr-O7TxGfnGc&0V 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

    p zj{ZV_lCO&I8|60(uj*@h8r!?^@c(di@9|lW{~y5bUB^#t)vCoxm|7X4gHBi{rJ~7F zI!UdBRCJI|rW%<^vWS+V(lA*Wl3_@O$s{DBWC)!VomBW;*ZcLp9zT!opU=npx~}{F zyx!OKx$m9srHHf!SP%Q*Jkg$w{cxTbz{Y+!PfTNDKQs|@Vcri-h5xHe|NO8Ynu^9} zz}OE>MeIx%`yo|~VPij}idM;_b;1?-sG@9nu#gous@oKSVKQQ?2l%` zfBJWL{hno;3;!wL{yh1wCwtiQMIpw=PPlw>okusK`LSAkye|+{>~qK$iLGb(ddUA` z@h2PkUn~;be=76&ws+%aic7>WHtuIFMe5m@kGxxnHf-eGN@TK;cPnuh8+o@Db70Q9 zjmYCV@@^xN&%yf0yNx)_M&6f-(dVL$ye}0kQoO_YYb%D3L%warB67&Ltw=e~j}Q5_ z6|a(U{ubJH;w^G+G~8W(58GapV|;8p<=0;1HKF;jTyjTon!SvCxj5Yv&kui3kS@+j zg^_Q%XiLtCz3Il!6rIFeHuCK(GMZsL^6esqvXO5W;s4s)_Ye7Y5lh*~x2q_EIp1!g zgzLz+o9Nmc^O0{ik$OIie6JMq*~s@wF(A#?L%!Wb4msr8T@;f;zTHK~3;g(yZ+EeY zjC@zw9^y-KZuE=0{+H}k;ya9w9dv%(`2<^Lc=r-DFQoNiN#v_V8aeFWKB6}p`SuZW zc|7vW5E<^%2z*}1^I9>KjXbXv)7i-LTCtRkJo}0wnDe|&lyDt+UMIS`zlQhgBhTwZ z>cuef%oOw4$TL$6xWw1P{h^=8B8U4!KQW#h^6e)kw)EqXZ>8-gwvt1>gT=pO#4dAoe=j4tw#NKVsXk2fW`9lfVd4n; z2ddvBPP6w={U%Y=2J`=<`fyRgj$P~5A1;Quzu@)vuUgJ2aU;ZNw*S5OG%-RXwne=u z)w4u0yA9Q|L^-<~)klg-_6<}YDVDaw{M)HMN))oQsXj{F)gJXnseZG_W4CE{u(VBb@X-j`s2pW6t{?W>`mlbMJD?<@@--q`(N@Hk;^`_ub+RrSjlcf z9xKY&eaPcP6&w3`yhy$R&ky_g4$+*A{d|Y$!Nz{RL)^y3e!f#ofq6eq5ZPSEex4u_ z(y>1F^8|5-jr}}P4DN(F_VYxM(%C!QA0~+v4*pcZQh5 zMt^6BG9Hh-XNtMqaJ|U;9`P6(dEX;S*vR`H@f90+XNzi>^S)Q?<~s7eS4_VW>m%=b z#jx%$@}4Ei*~ojAnBRl);J>GvEegmX@7badj`eWY+a#JT){z&+MmS#(%@NgH_g~+( zb3XJRcZ+gFv#b32p+EPDw*TXKWc0Ilbf5Tu9QyTuI7mjn`bD|o7{>G8J3T03J^lK* z5q=)}peSZ9cF%7}lqc4)S38ezu42FAoD%ntsAg9>r-_He{9ecluebBWOKkLWp4d(f zzi<1nIL6-Y=Fb%KMN)4+KfIrOM6|dX>!IHZ#N}-Cdx03tM!y$`d)VmrqaqLHe&>sP zuA|@iBIO#akACM1)dxnu7mD$0^n0Obo8jx>d_5+nlS6+V6Q7a8`Fc$JO%DBdOtih$ z&qqHdMURVga&B~PW-K-%S|oa~FLa*m{5QLub4uJ3BI@hs=SDr9)7)3X)5+odJShs; z$oom*KP|-PImnHlDHe;}Y@DY8vE@2n53k2d#7;KyT_R4ik?#_5ZYIVf-={Dgsa>)B>QP|(l4|zW= zl5g-1c|R@k2YMs#`O!0?fb9OBqMv_1xm>Iu=fskobDc{E(fruO0R#o!w;e~GgdFNrMnbI$S3^VqLYy;wZP z{*3CyqKv(V>T5(f+g|VIuMr2?&77@RD~_>yQhlvR8HUHdjp{FpH1=Gozbpoj!+t6e zcd@abN<<+!C$`d!pDA7uN7$w0S4EGTaQ)a{uZb2TyuG-$mcrt*LsnXh4rz&)(bTf#{POkjAvtiy&>9;^7U|jOGODe?59$(pB(m6 zsTh2-A0PHpsn|ruep(d0Dg39q`2BESfBJck_>NuV?0()O)M(TRId=F?EO@)5CiYP{L@tbL}ang9O$3lC*mJ=8|Rd` zO(MDz;|EiHlX#vzi|U_>686JX|5Rj7@Z-b&s1y^}*dLW*3OVeL&&23S7?0P>&0;be z`(v}nXJdbC7O%0fKRy>5VBQ~FL6=;!xh1I+#0DJr;*e(n^5XJCEwbEin338SAsh(b2{`GXjLkFSS*R*UK6(9dcy zmmK<0ElS8C|7ww*?dOO5tHowA?x#niAH_CuZq#&$e|`Q*RAYRswR5g>?|W%}tPgpY zC}WQ#|0=R(;rS!q-C{Ny`R*2T$syl8B4akjBj3GZC>#0i71Pm|5Nl~XH)%8aW{J*)sKjK*)LK3h$te5``uAd z!AAd%ipIHgef;?<$3)(P-r@D|xOkF{{v8+V*y!JJ@eLdOJ0W(#+`qrXey*c`e~Iio ztdIWvC9)oZ(Z7?Tf{p&26#4UfJ@oICSVj*0J0*(9;XIrYuaiSRPl-eSsoNT-#Q6{V z^+G>Si{WIPmn&-gEp8>d*T)-uKmQT_)0KUHS~^?j#`E!faUT8^>1^crugD^Y^AMB0 zAHjH>hd4QqjXdMz6gKjVlZ)BNQ^-P?^OUlf>&R2e^aWTSc}kh`D2zOn%wr=@B{TDV zJ-lDj@?LVtOUoj1$WzO<3;p=us>_bxoqTFOK#xtc>h~l<~@$yUGREx1b_EQ7dl#T0eAk)ZUKb;}VxsK~UQ+~ky@AWs5>M0o4-$+)H!}Xsf%~D^-^}D~nk*&$$`Wwq(WL*E) z8fVMV7$5!O_CreCIdVMvkaLOM@(Lq*_b7I%s+7gS?mP zx4H4fuD*yp!}%fSW9)~Wt>`HKVXtzIcTRf=>%UF)%VaC|7gWDY4rSy0!R2xk8}AP; zm-E@b(fljqBDNmx*S|u(%WmpyMY{Zm-Iwa=@(_Cl)jP=(>?f(-Nj53Q^Lx$ta9n5E zg1y7}sB-~Sdh#dCYRr2z6zK;F2twv9IB^j@m1vPrfYsfkDdb!hi4BNk6?yPaO zoXPgDmpg0pkp<+C_qDQ=jl8dwM|eEWYhPLRI<6Pz^*XtUjl8duyV=P5IvKwnmk4XviF%|~h@D{BXeLup#o(z^N*!!H*#9%r3ZPfpw`Vg7T)>*zj zL^dizy{@wrLuC{8`Ofjq8RU@vjdC0t`QIp)lEdrKFu9)H$<244uP3*%(VyWm>0SSL z;XI6xP1xwq2-%g5{)~_}v(cX{IT7amjFi*4j{c04(R)}Q{TV6uv(cYXa=-@E(VtPW z@%!H4_337LJ2{+(o8{f)u-|W%_mM+CZJ`t@v$ zTjWlRr`IoC^A>rU?O(ri&D&({4`{uZfBn)mZ&WvSS;2LM+I5_^?#1s%`S0%$a&G{cz(z?N3LTd z-yB&*4zG{*$qidD9(mp`H?xuF{c=AWdEPJUe1Y-EbFOR*bDj^#RIVe>2jn_7@_axR ze2MwUGgrpGf{|ygtRROxACyPQkHcVxvAzn+5T(4e#rk3Ig*V0Z>_mN-cEL(FGBb8N97bY z?)Q(%0o(li+~_&?{O+uoFNd+;cAnxqhy8`K6$@n^dzW*(^Ez_4zdRDq~k)wC`@ge^u@+UI#f4JsT zaxXbIx?z+%Wi^+|=zAI;yWM$c+){Z1+5J4n`Ds_5$o0ise~0U@I9st)e#owLj(7f@ z{TtPn$>Z!(R9_}jcjEeRzMhsn*yzvGvVO61IFWgEteA6A8*$zlv~K*^9`SqRcw5|;d8R!7e7BY8hx{WKmWX3!Jg%O)cId_ z0o7lS(XSZ)D%D?*W60q=6v+qK$h%0+Cx^UWlx4s9`C~ynDZ`{DO^Y1#j=Eryo=?cJ(!QY*T~as`FFP9nYx1FarPh{iw z1wNG1!+83AfDdIMIpqJ5{D6)8Kaziv!|&UCENdU}j~DL$6|w~z{rN;rJnHMAKbzz% zHu|$kE@PuVo8)_J^ygDq33Goc6Pz+><$wI;3yc^;R2*~s&_9M49c$K|7Jh>W~?#-EnU z$hi^r@87bJjo%OZTW)6m=<-X6`$tx>|8hQ{}pynpy@sM9FwV#drYN>S%>3aG1m20aFNMA}KO3p}XJdWj+el432S&bUsVX+|Jxi@P*VjXSjn&8$Z{)WizOj0W9P&F?eMrXn zeK8bt#HFfKc2BCOsuS#+soqS*QZarq)tjkma_CQU6>H|};q|e(nnQM=(#sYCZc4@&)P(_6hQZYCpT_?SB46Dr)Z65BH-MYRvg~JoNiwHI*a!zgwzGuA|>A)vz?IkAAmQT`z#q?^ddajefUM6EF1jaQ|0k|M>6t_Udbl=kHf_Q2YPKb6fbw59hgq>Uyzv*pD65Niz0hjf9TM{mG#p zAHC=vzlXg{rI2%C>z#+jU8e5fdWCa}^WE%kozui+s*t^x>X)lx_DQN=uC}xBdUu8T znT^-GD^#tPc>J2<{QI?Z)qvf|Io`Po`$DRBQoY#SsNP9UVh?t%o6uR!VBhR~rt=DN z*w0anpOuT-tr*pFAL{%q{W z?kWrB{n$f|;X3wX4|Rf#{n$h8xD=0v{dkq?(H6#jyhQ0FUr+n1LN@a5ukx>JS@w4^XA)z8=p14Qe+z zka+R4{LzBi~1wc?QAOnN_s6%Z6Kv!?R&D5w`N(^m z+RR4YY=_ z{XRh*C5L<`sFoRie8_i#>Q4^&PEfPR*zZFUCaPSFkBZ%XONpDL^4Vq1?&pbW^tE_= z?AOWaem3%(td@~;VwJRC?^2~~7Mx%0_z>kL&u4tdT{ACNm$E8D&Yng`Q@l7Y~+`t z(g)J@^4Bl-sovy}-+gKT9J}3J?~H`|)M)a;*aOaU67E;axbA=6H{ZGVKQ2g^tM;+q zcjH$lJfKeS{2!fPNyt^L2KmRw`?q(TyZ*RnA^Z z^XIFB?022_COo2!v9~!Na&A1-KcBE)7N{%O*e?rIS8~`dkE;1MVm$UszIuv{{gSUr z+1M}nYC9YIWue*)^L}|u9pXCn%VTQJFszUL@|YTZ6O8@xxT<7hzdWuM4fpkM-WI79 z8EcRyS zi<}#cr1hd-ox9d5P#wwc_Y<6l#ucasxZYr*`}wo0ui(1>zdOEufa_hI2e^7P%CG1C zo|Ef0kaMHEoQJ#mM6Ty^{T;5q>O98PtGNCF*PGpp=l8AiWLNJ>&WRo4`XgLVp5*@j zi>nuLJ=NJizoT4l=WIoR`kOt#Io>&Kv|m5$pCzg{8~bO8+I0)A2lwlz)alzW9{Xph zsyPP6{#mNh*w{ZyRUbC?&oVU_=Kb@u%Hlfq&(rD<8~f*Jwe@zakNxwEN*@bj|2(7A zIPb83ma9Z^*gwlvV{$mp%hd&_$1a^5i~Uq7`xtiPpuVdBG>)>=cx0X|2VGp zO7$Llfg4}H_Oq&z=fC9KsP-y#;y>e?J4fUF^TYk9P3=O}i5&Lxb85in`oipzA>$}e% zruvI&0DAz{UsQ$can4q(R>kaW=XmFB>_?na;$BkK?5CX5#7io3f?q%EuVOWUjr~=u z^2j-{7u@)nVvQ60)Y`|V|Q4IBIIWi^J4{r0kYn2r5bq6%Q%Z?C8oT*rQU zMYWoY^|9YxQAu~f*l(|@Y&Q1WtE$HoUk~rEUQ;iULqA_rTgjn+uc@rN{rJ$o*VG?m z^lw`2b?PM9{k`)PfB$)1iK#R`*3@}+?blToc6ag{svmm<`AwBi4*9;VO4!KvZMC1r zBhNCmZW^u+dA_4IvXSRIs+x^F-%)Zp#v{*nRU*uJzNeD8jy&H}MQr5xo|-=c^O5HU zb%c#PH>k3iz8>;>U!~sTjr`KY`>K>2^4qAc$@X>R_hju4)b-@t=yjLJGquarP;yRe zqjQn-V)l0ON9slPA##QKh36;S?f35{b%@=>IZbR*IQ66|&Kf&1&6j%tt>yR~y;r$LFe=jedNtIgaX=PQ+QzptY|<+Z<3 z%gCWW+tgQN^yjnM->B^vAFXxQe>kp6{mg#L`KWWfxwKyN5!Js{jo9B({abZ4d%yG7 zwZBvS*l|;1vF*;&$szykYB3x6Z&%C6;r-7Jwc!C=Kl1)wZDu3y@6~=b^8Q}c$;Ei& zy;C)YIqx4-D%X+s4{9A7dHjd)U9DnyF!HWe737fjkLrwvd_Cm-qv}Bp_mdyh z7IMh@M>T4mACJ8MsQr@~OU{kbT|U>;`dLjT=fwItpRE0}dYL_*{EK>@olE{r#U94< z!`E|rR0$& z|5Ux%IPZU|#D#vm`+RA7y*r|k*?7G>qDt6@U7jg%M^!01ZkoSe994;rVSZibq&mk` z3vy1Zx%1GtV`>K1yE>;h&t(sw`Nvf3aX&xo_v0#sjs6^0E6L&Y^n@y7k8$&7ioeu1 z>|F9mb%c%k(J7Vr1lC7CPpjc<^z*dJW}}~{)p9oa`L`;Dxu5^2bzDb3|4}`j#QNyx zKPqi8jDG&B^4aL;ziM!SuZQyy(<{iKzcF1&4(B7L2QTsCLw{p>FB$!9QzuUUL3W=9 z@2)?oj?gDDK6cRga_0_D(fnBL>E23T&AyOqbRIe6AL$}C@{jZ`9*;b0=;EcgKIB6 zS6ly1Mt;5O)Yj)M_w|rpqRt>Azw7GM)dR@65$?zJ^e{H=$My6a_IQ_<74>x8m*73TbsbqlUz zKPKxkHu6i>E1t!ClfI2$mi%c*>;Anr|1*pkY^K}{5+m7@@%39 zkVBqLb>kOMN1mzrLN@YD)xFusGgXgcBhO}fI?Q=C*K@dzJe%vpBCL-*o9iQN&VD&YMmB(5IHx(`?rgA78~#1F4ia5 zkGi~4;x5s#V!vK)^n!DmxI|~O-=lgMeC_4aV=GdMh2V|Dk#-J(nEvZ>FR-=iv%nMh^YFLib(g$D^Nlb<*`fa&ENQUH|Y}o%C>WPHeApew|KwDZAc1 z-d*$>c6)L+y`LQV(OoCJj^~elbl1Jf;XL%viR)3vdALfS!$zK0>2x;oyh@K?BhQ|C zJj{9a(o?vOJbP*N2G&QOz4UH2^6afMOHoIjy>;@N-XXuMbul@dhpV;w$Rbw{`DN(K z$jI;6I@juMaD=U;QH2pLcns#P!wd*yYY?qOWfCwqM`XSJY?#QWw;)^f9$6Rvyp#4T~5x4{p22Rrnp|$dxx$kX0yHf z>xHqOHhdNdp7VW3|2E*=m48>CmW(Z4~uf{p$S()-xx-(Y7|;)IXC$KX2428+|>ThZ}VS1rvndF>Uf0tLTb2WP!d4wKN?&s&k7L!Nnln=ebdAM13VWS^6 z>%rul816@-brBo+-l8Xdg!#z#Ry~W2d~emu*vR)*{T>_n-li*I&UcL7%5~&BMvwj& z>m%PWx_1SPd~eq!Y~*{pp8koihkVEC=g1-7v3d(RTO{Y~*>jPWX)GbDmRm63p)hr|LpB@|>#kHskS-=QMqY zjXbC6($9T8Udzi;cz)Q2#hzdv%1KEcMNMxldZG9L>*sG-K)p2@%7ZbI`$RnczvIx-A7FM=NIAieU@Iqp6dGXW1ZQ$ zh`qphuXDGp82`L;O57Zs!7g=96LWM0IrJ|_?`ETaIlAB1etu32UoYLK$FuSM%KP<$ zYR7*k7A?$59&E=^#4J)7}7_~Gy2bOkx&`GnraMxIaTBW&dPgg$eppZ{YV@_bUK!kp(~-Gb}LbFnUCBhSTp z#SfT|JPUMG4I|G2y@ed|TcW4@=o&&bc|n!otsLG;?uSMC zPB!{ir028IzasrI8~uAxm%-e>)w-PP=-+BR;5V#~{;k#>cf;u4OL_$x{d-A|+2iZs zJQV8^a_DEV-a!uMp;(XE>&J(F7VDE_^z)L$HCpWR_1viM9RKsVwYnxbCpN^ned1c( zi#?HCqKB~WC%>u-$l*M!)1_?mW1T+2iErtR$Ku1`z8{zO-hLw`Qe15WyS*x#S%lGEOyKcDEj|9Yc8BNI32hGh5qSNFN^MT7}SS2Ka{v#_h656e#H4V_Px$2aXa)O_7dkbu|sdP znEyJ}zt@%Quc-dLekMZwu=B~dow|r^AMnp_ryf%S^|PH1$NiuuvO78-b&hKKdN@DT zI*pC{0U-Pbd2{7mtq-p(FR{z)HW=aYZdb>sbd?(Y@IyL1aS&f71#v^E|O=j~Vh z5gX_2SG|jk^Y*K@bub?1?KhnS^Lg8?8*?4!ZMQCFy}FVdem`Nat|Eu?w^w(q=f~sxjgfox268xm`*i2}v>yF_OJU-E-IJUfwM~!3 zM#%#@lYOQ080RyRXuT-qLI3^OgZdnHx^uj9Z}woS|E@FHW2pYS&L)Tc9n#C#=-(k- zMh@RkIjpxd@Q)YXkNu%{vXTEE`ZOE)|Dn%41LKkZpSlIi`5)13xsLpg=yEplKcb7y z#C+s`R3|3G$p5IWB8U6kF`eAd*F)aNbPsa4-yPFi$RY1zdQ>An9{0QTiO2O=vip9m z%jez16M8Z^C-#YRg>ydp0QsbTmR&2)*H7yWt0QnZ(ApUgQ}wm$H#(oaqX4p2GCzI`R~zij6#lDLWhMAx~*i&w-JrH2cY6KPz*B z9QLy^>RdlQh$eUI}P=XOm{_x~^Sa9mB(mA%vXsPotCMQ(gbT)e4f7doejc$3-G&ky}cFcaD6 zPl8!b&WWva<7bLmW-A-_pV}s|8Rp~uQ^%acM!)KqbT;}`$Bba3Ux{Ws%>Alsrf?no zs%unptdD-xHM`m9S3Q$?KI-UKJ(HZ~9rk~HGk_fWQ{N+hTU{+p4>qR3w`1{Qn=0)~h&hgG)u|II*567Kp zcCf#5KI%NF1?IQx=Svh^>`7EV%XGN}^B;1yqOs}4UhEw2JcS(g$Ju5P8~fvIQ%%l^J?F-| z|Ho!du`9{vn&g&#{cyfhOj>L2aK6to?b+Bb=a~U)?3eS*G&c526Ehd){nFIT=Q{RF zQ`5K&*2jKnYGRkd*e|JO3>*6;)wF8s>*0JiGwI}TzMGle~8w>1gu3!UdUuVMF~dOK6f9!2$bW=LnupX1!5 zZhJGDUEti@`4GFr*@_P41p7nhc<0nEetzgzN7J2+eswgx$)R7DnL}MM9{117%|C4P z>vGe$8|vuS<)#Z8{kpujpXp?{st*sJ_}^zX8|UCd;1ZZznTSgc#!u4X1VCzj>h z$GL!gH~C7lnw?ATVLs;h&p4;V^)#Qe*Epw%o+j24*Mslp^fD=Izf^yhuj=)9dy#uV8#sYk@ltb+0#- z7$0lsJT&fl(=db9i`qNSbM?05oLDce=WzWt=S8l*jO$amzK84coKxI-huM!gr-|#$ zCD&s8XD;yd{-!;9-c`Qd-`vH1%8j>TfVqdg#yQ^kxiFvle}h>Q>eT-m%ntSjdi;TA z7yAo({DCH^uYde-J_nh$Z0wIgW*0f^kHKa`CdOlb3^AM8*dIg8em3^U5L2fg#$$gB zHH~53A2*s*u48}PXx6c@KW;Py*JD2R$1oG?4`Y7}GZo};KfTGM4Dj{b*iY{Io~e72 zNxZ>3?2i#9ogB{R2vb20`(uO|I?#{D{@7eM%Zwts_oI*c{V~#vCA;ruJ8yG-fjy9X zvw4$!JNXuKf*kU_%_I-P^GCk7nE~XG?-jIl@N1A}vj*e&^JFHPQZ_zMW}+EA43CHV(z2DW;H(yr!6s*~sf|vlZsNrkWjGM_yCS_~BR|c}+E$BVgn;&6Ki{*EBOH%h$tx zoNm^TpN!_Y{jjg@bn`y@N%Bnd8Tr?^Lg%A(v&}Z1?|r)Nz2+eMCFg88%bdde*c;Aq z^=274(m!74&ur6*9QOBYQ$`N`nQi)x^5fB;diCa*f#lq1lUr|I-5fKV?EYTZxlz3w zlg&OxzTYfh*UtC#2TU#3dV$i_Jzh@>^`G+1T%kjU0>d$gjX8!kpg{lgxGGx5N~& zk>3(Ce;no`zo*O*Hu8JQl#TcGkl#}C8#&~+)SP{XuZR4WngL|w*QeexGmPy1-?_`9 zf4!&8bc~O^>O3^=X;VQC`8;iQvyso!CiPBQpMM_sjM+sF`)j%RgN=Nao5TsY9^|v! zT*^j1D@<3I^I2(na~=7tG*xWmv(l7J#Cpi*S(7>mMn2D){p9feWtBNW4)0%988z9D z5BaS!t;iw2Ri=y_@>^y4-sQ(5ze)89%|LQ)^fl%8oEc8eiT&a{quz5Sn;o~%`vtRr z-H`mEDJF+}Uow?!P zrY+Zz@5`o~jeK7=MN=^!`IeZ(X)y9FF;(P{-zz3-y00U@H1Uc#LJs-8YVv0II`Ye{ z_nOHk>FG@X=0uEnmxU(e}DG6sb=H#>vc10COsa19@Ki1%f{bdtv4m? zo7{R(}!(>agU zqn|%~TJKBKlbjpf>hk)k-dCnCIVU#7`FrQ_>;>en%`A2y`5Uv8=fCfKIPP0h$o|y% zsIz(q*N6T8ok?XQ|L;r|IozMNn*sAM9{KMuqu9uQhnd4h{yWSnHuC@8l)#+-PE*Qt zHxvU>32F{|{!^BfcK?bG6AQhrFxJ5i;^VQm@*yS>VTqyniyc zld+#q*ZbK_B8Tsf?=snJe1CkGx$;pzKYV`UFD8SH`_(U|f*khquVyzJdH!n7&ZozZ z;r{WP>Bz?Z-fdDA`g*wk?=hFKk?$Up!A8D&%mg;_-D|R8&Uc@g%XQ?t&m=vD^^xyB zbApY0_nWN8QAfV}P1+*wknaI=13Bb-z|0|s`^5p1@Pr>9@;zXlAtT?~^$(io$+^)1 zxBt$l|GQa>@v&3RDbAJb29J9mHapoDk^eNO$symPrty<_zR35e8B7lQ^_WRnj5_w~ zadQb9c^)?zY~*>|Okg9=6DAwxJpVFtxsE*lGD!tkA9?;|POy>ZNt3k%b>w-{q&?*w z-mjc8ZOP$&amsWhhkQ?&BV^>eTAVWZOa1(i@871$GFp%B7v1XrV=g4;M!7DptLy)3 z+K_W%OPu>VXR=Glads5@E3&k+dA`5jq{L~P$3E)nX+m4|w12$t{|k&wVB`N67`vY> z7y0?t9%0vYP7~G^J>%zx{zbNejs8XU>g9BOv2)${nWBar&Bp(Ws%dAlub_IoUB<@w zNw8Hbus-@-%l^tnziU~w5_R;umOY=1e%H2bVeWSwo6dFgyN<17qu+IG$+K7w{Z6#W zt6=my(N>eg`KfDD3Vl8Fx30aPjQ*yHx^^u&^tYbhx2l#EhmTjPqO`zjr@}BAvW?$w)J1Y z;~~F>HU;MV8rd|iBfmzrl#Tov*=0qTkNnQE>O~m&onNmDM)_8~f&bGr|_C|iQ>YrmrlimLhf6~pWf3D4DXF5-F-pL;7d^j$}?q<($KI%ND zgdQ&{p!#_>kNpPK&$Ac2g8DXRE1KBW>_432oo{5HOcFSH-B|8YJXcahz~ZoI@_|3&te zb$C9PJ6qAh-oYN|9PhlCJ=yti+{JbUJD=uXY}>t#`DDLSAp|!o9jq}jjPGsXew6>44aUR;(6)>NNOKlO?aUL$U9pA$G zI1iWF#&5$o4{hySHqJv^n^ETL;q{}P9ZU|dAMNaDa(F#%XD5-vd1+^h|5KkrD>m}H!uDq)&vcswbDo{-7_KAFPWA*Fd3LfpHsJA)XJ^~veHeLm zwh0@(!~La;y^I|4>S70wL!MpibaKe6i(N&={bhOmuC|yQ^5|wiWh0Mnb_?e7_fxL4 z<3IRs9^LIsHuC6h3)sk`yM3FDJbKs)nDe;GZs9uexXNagV}0atmF@8%j68bUVm9*V zX{UVT>*4x)*+wlsC)%F0!M{m0QkrH=}J<9&XIZa$++kTA4 z$Lmuc+n@Zw80I{0vRPb5o;TS;Y~*>9-TFD!$9@}b)3?CL zbGTJsc!&Gh2%AU__p=eUF*)Qr!WNQ|?{D=-*xq0I`61ttb{84>{$78S-A~SqX1lzO z*T2~wVL#&hxAQY!`T4ogQsK_pLg2yZ(;QF zPOHB24(DTny^$RHIlID=wMV|k z^&;uz6?q(zJ8Mg8VtdG2B+P2j&@}6l= zlSAJ3*bYDXddTx0JBb|b-}l&Mwg-tC+wX4%r8 z@c6iY&$i#Nk=JaygB>mjfE zZ9W@$-EXJ-f;#e=Yj?1b*IZlptFMQ=9ab=fidi8+kr# z*OGH$E3fzGf4;3`m z$wt2Uwq!rnL%s`b@&Oq6F0|F;kndymjDx=Zcr4pp@8qP%Y$|zSY@zdvq{r+`)E6y?MiZPRI%KB zKRRi#EhFc|_BaoXTWo6_q4lCVE8ORmyLu`)C)UB)*C%lue-E?RX0!44FpF)YqnJP1 zjd!01Xq&L_b#|WzXfxPPQhkXXzY$khw^HJxQ+0WAa<@ODB zDa~JQe`If_`U<;;{S(z!*!suu_{XTe(w@bx`K*8bEA3V6bDZBzde&aczR0=Uc@n#$ zvlXlC40a~XUu6r);eK9d%h@ zdP4c(1oJ*h%D4 zTS^Z5>n&TwMt*PEBu$UcU*ElLcaX#WDzkgp$gj*s2G@uD%IrmKmytt$AK0(R$SYB< z-o@TU-fACUt3qGjX3NPT|0=tSjs0I`Q&WlY20z-qKiR?TXPoCaA7H;h^`Gqt_Lo%u*$!%?{NqIj zsJ_c)v7_hw{9X1a8~gtk8#@c*`R9wam>lx|)qcuG{=eE?=AO<-v{il^ZfYGp98j>jQ(_OaL`tg-PiLj&mQ)7yBp(UZ#oZ+ z``xx{;^({H=XXBo+?D;8b4>hh_me}uhirUPJb&bS$flBWVrM+>-;W=*Q`oq_{9#9@ zVm$6If7;1xm%QzHoZBFe2>{eHu61Y z$Di-(;r+yMJDnWvFURd%a>)C*Eg^@zkK6P#KR@Js+-@c#@7@hg*lpz8XtK+rhyBY| zV|;ABbFTA>3uu1qRq`pDbRoQz{I^ZK$UEfyuWiXj-v8R(wZv0FUiwfAtJ1)v< zf%(W=M0c{0w}|Gmk++CmW+QJImBF01ipsf;yj3*dVyut6Rn+kk7}&g`*p8Yz8>;5QED6SkgtipyVM)`W;U?VPvqRFM^P-cD=v!mvTt(U>)fy{ ztrtyoekid{qE?Gup!5LiL)_UF|UcAl2ieYD5 zh|<{CImbjow3|Ji>b0Un>^!R1ir(yi`GwAh<7!9c>`$DJIyddekMG>1Zk?zFTdwxs zpQ#g-vy+{h)J=>k*=bZyj7DCD`5m1P$JLF-v#)hN>b#jf%Gru~(KhzI&hgH%%l-VY z|LRBQva$c_N2%m+|4fPwrDHtyTZ8ByHuhVCsBtIMvELd*UD()fXG9q=@3%9f0bIv^ zJ2TqF#(q09s_2aMu-}rSR$XB1x8&#qIh^l??jQE~dN|(=qeODpe+{GQK$pB;^7KSA|#qABe4R6i$LK@R;nH+qka{+t_?lS6+}qQoA^2mLuOI){z^ zoEN3D(Vz385p49QNi-hj{xprIa2@?=8mX(WKKj!%+Ra9PQlreCsG~orQF1Tu(4S^e zDmnD0S=0)S-L@tco7kXP)Rnw2mghXJLGx%j*ZucL?sv}nj~{Jte)KWM^Y=&6qOJeq zjNbn7L%-9aq^rF{ztf^>GWz{wgA1bFi*Vjs4I%+Q7zsXdV5`#(roM9fEm3TpFF=I`+e* zQQoy!AN%3bXnbE7`=M>Lm5u$-Hd=O_uZR86E-E62{m?F2M-Jz;T~tjD{c9JE&-C*{ z|Jp_WkkP-l8?=v1KVNt6FI`?AH0Ti3Cg;RtNi6o6a|?De@?}wHc6ag>(J*qzw^NkO zM!ub*QXY@j-_FsT>v6p}Z(X7VY~Z!N3UbJ|d(?KIACG+ZH0U19Cx?7{MIVrn z@1G5NN1tMR^r*}0RD-Ldt?ZYa(Wt2>X2s`>%|J~L|Eb;Kk@MHmDDmDI|N%wL(2 zS&><4xs`j8nOS1FkU=6+Zm48rq?Q}GB$^AZS#D&O=8|aSl2)WxT9_N^@7{CH{ou#` z`*!ZVZ|0nH-+Ro1(beZEHiV4zd5SFryZir+Y#SNt^)w6g#Q9jSPOKRj>(z-Rld)c% z*lT30*E1{)P4#+~Wl|jL^(+hNh3jLzo@JNFSg+2k&kGpGdUa;;FIv0%r7mn3*wv>C z+YZM1)DG>!s`a+xU45Qot-)BI`k~LWc3|^;Hl`lYq1{+Axy}lYr?K(veeC=!7HWQf zJK*ik!pV(|<9*#(0odiY2P-CHetWQM;0(_+Gk&zMCkyKfuZPYzy_lz;wL9Ou!2D#) z?+Yw}jQM?mJx#{^zQ}r^DZjnh0E%ONd$S5M=C?O1>5s?5{PtmO2cR*(eHa^P?eg1~ z-3xa4?aO+DF~9M?zU+Ol%Wprn8jSgE722O|!ttznlFi=$R!sIAo9Cr0?Ik=ue!e)6 zeN4vu4P>jp=KJzZJx2RpVtdKhpM%)QK{y}#GlgZ5F@Gs+J{j|u!nTqze=oDWXv*JU zRzh*i-(Z%Kg6m`c2D9Xs(U`wi*eWvS?-iCd*v4J{hM0c`)Ov;@HEe2 zy?Z^{b&n*+b;RX8b#$ud!tCG|yS%tk7XB^QQ6BjdO4E?9kWQ zesaW0kEby74R)O7KVZBzbT|teQgyto#_>0KPiQI|1a|cw!Ln~L8*1mf>&*z3G|bxd z!w8n~hBfxX(a<;9d*CcqXO+kEd+1wiJ~+eE#JGp|Eq0#b?TpVGSCV@gUof6F9FE6Q zje~q6*+=Bb#?p8zd7<&S&{6C=@;c-HjQ=L@hWVq}Me<3QKbl3Q;`&!0K87_W^VN3! zF|0E=%s9xG#(I+5LOhL)C#OLCZ8n*l3GuhtTJl_ok7Zwx*F$_P`;&aY_*&>Ytb%;T z*jwiv_TdP8eZDm|p3dfyLyWz3(%B<#Vmub&87!Hc2=NT|H~9&OzsoL>2SWT^HuWu> zpAPYHERXy##K*DbBQd@P;+ZUwd=TQ9Y!A7@IN%-6O2|QL?S3E67LUUD^^61FEVhb# zKg7-NA&HjP}f$a*4MO2+fcB)07xoR8<1$!s4P&o7hNIWnGKCbQb@*De#v3G!R~%#8Y=<2`;}?z6xi+8X)Ji0o$vPN zG?ou``*Rv=mTBX-KV#}lXRW|l@O=9B&>8GOaE52YI*%uz&I~q&d0>=YUE`w1(afa_s?XR{XBXw2_yb_wkAH;3Kxo{eMv9;`Em4FtRVeadpcn7{UQ zK4W<}o;|bP_V+wCm)yrV-ZzhhzYpuN*Ni*Xna^U#V~o2PcL2NmEntJln7;*V2-xLs zA?r2~UqANeBK8s)^S6j)k}-da*dj9KuYj#WQ~o|@8!3+Y``Qv2l0(Tf*|eE}u(S^{F=Q`f&*x26p*e!hQu~K8Mv=%1+~W_K(R=kZ&3L zhg@xgJs&J%;W@A#3o#COzhE)s#>Vl!FIZ>tgT^E4EN8vQosGvCFD0iK2l)!wD)J;_ zX?z^)>al{|AY(mNu&`^T(GgeY%ai{$9nVkg-0i*itgqXBFE+ z#`>&grD&?p8g`1}Sf4d4bq21F^;yHZ<)X1ZYuOeu)@Lot{=mlF`J;&Cg5CL}h|LAN zdKIz!5AAqYuOe3Zk+rK=5sS))_2Bn^XVqE98iTV~^Ue12xAm+g`7z^I<2mHs#@9kO zumWdKVY>fYG9OT=?0_3a4()bB-{jcotH?uC} z=Ekwcf07?DKJWdCRgilbUoh@G2iG3~^S7{GRZBAfJT!->}Q%i!gsHtNtmD58h&rzm@eTH#TlqYa1IvZf6{8?EMVK_cT85-Odzw z6wKewULk)7^LMaR@=BP$gYkJd|9hCflZBAa!u*|VI9Y#fk6+Bv$g#$;#^;3F*g5x8_Oh5GB*Ey8*8`#=YIn6?^ptPHN?MTOUU0td^cM~{te>0 z**yz!{xyhy&)Sf~zp?9o&o+=BFb;TsVB5$&ApQeOT4d+D{k(?_Ame`C!@dV+ct)A= zqkVf>8F>!)M^>%C&d=~{2k&DMpAWL5WZeG;StS|w|3MbH z49DaC|A{4_Y5yN$Eh&!s{}9_o#{GYY6?}p7asQXF;N@uC|0S#h?Dqd*b_(qF|6z6x z?Dqd**0j*hcl-Y^>j`%I|1g^l#`E=Ob&jxEIG$bKX7m3un@{H3ZGC=bYz3^xLX6G# zpR!+=iC1H0?rQI@_E-yi1p7@I=I{2pUV$(Y|`Y!4apdz_V` zDZeM!DT-r$Pq5T4aed713D#{D8uR-r+d{_t{>rjf+qlc`NtO$C`8~ zBr60@^Q?|7q&SFizH`nK|zt|9PhNrdhyT+fBp97y`8^}Y! z|FDZRAAi5Df_c7%<1_sIk_tAPJlTw&8g_v#B!6!Ff$=W#cH{i8|JVWYG2;csExy6^ zE*mcoyT}sBVLzDq89%udvjD!Yf=$T;42mGvV(0P#vTnA{!WmFy$(TM)m-J|({o@oQ`^ z`4i*iVb@s+`Ag&V#?5x%@xL|B54*t<$tA`MjC092>uK)fa&N$v~rn*0Fy9f$|>Qu1tw2lK@5as5pY zuf^Mv4??^a&nKUS`0ac?`8vdJ=bj&Me$4~+_0{H#9BsV7cmVl6;~ilkdhM0~lg85ceew;MAI5XZfrIw- zh4FLbhmG^Y>heqE0T8dtyX?jFCqTR&??s*s@p`<7yxQ12Pvu+4`;E=>RDPO#9_EMh z3UcsI_W0qv(~r1*bL0H52D}^jafmnItH}K!9>F(~M?yS;hwa1plOZ0-1LQ>zkK}3O zuOS}bndCnq9^l8xwGP?iNAWUpwDAJtr2V-5y%2B6lgW=kydf_jcZYa1FC-6wcr;fB zaQ+C0$M6vHhY*k9!^rE5&ELQBk>vfx=I>wmXXLZS0dFi{OlBqa{2I#-lcSBVc;omf z^8LmhUmSnoARhl|UoN&@4J(?Bfnz& zdss961bKpSx$#i)JmdVZ=6odiE8_*m2gpAg?+c;V)K6&e}Eie zER6?}?}hl?{8e%{h~LdWB#(jkJ$w%NV~F3wza?)l4tQJgAIbZT<9#i;=LjDE48-r{ zj9l$!8^4#|N3L%i@V4R)k?)6iD?XI`JjCzgZ<0qq{64;bJOkp1d>MH*#1nZb`E%pt zVfXV>W-cLWuca!mc`caGpgs*xgUJ=S#uv zezZOR1B~~di+$~R-M{U8cmLUeCxP+)GokL|JQ?i1pXCYOg-p+1`80C%B-p5_h7nD3`~TQcVRY2KfV z`R>Grp()?b@R1b9d_Tk4Ke#^T`x#zN#(Y1^yZnoB%=fcAyu#Xje%F~l3wHVK%qN50 z{e5S?73}icnO^~8e($f_g`0n3*{qkvmi%hIPq%JY9srx4-;8^ByYg2lj`#0f`A9O} zzjx(f|KaPy=Y!AjL^9_0Ii3o3KMy|7dtJow*uUNQU^3>j8_y)&2{7})i1FP;W=`R&CEz%IYN zc+0DHzRPbfz5|T;?Opc;{sS2QKH=fIFY=#oJp6saAma+M{riMLb^Gw!Dq%g3{riML zb^Gxcu%PXd z59d!e<1f@5#>2tWJWGu$>%PwWP~6UE^ifVR!?2kab z;k;9IYu6v6_!uzuN3(jP`8aSE8*s{=zsB%Mk@h#*S<9OdV{uaaa z?uK|KPbYVPcqVVmF^+$)J)Yl1#=qAd&wG+zG~*wsm&N;&hZsL@oDFvSYXUDI+>aA^jJD(5^S)B8||CPhmf&;AM&Ml*tn}-9$!z!`sMKwGS)ATUnOJxKH@AC=2QJ< z@nAIl`=hh?Tr$>g7SF7M$HV%4%*)AGzmNHovxu3x|8*U6aAFL`)FJKp_$)|dPtGUjs?PexNdSMx3u$9%5lr^uMk)x0$Qx|AG9Pu{6F!9tZJnxu*pjpM41NZ+R22tIsZe zHyP`*iw^+1`h3U7k+DAC@occG&u+f^F1x;~&-eTY8SC>szeL9Re9!COjpMOCKk#@o z)n^ZHL2=xVd-xVI)@Ki&e-F;b`t0SZB^v9qmmdJT`uxa`gI#@o`7B9(#ZMw{g-ptU_2ir*DvA4IG)Z2hxuMI_RC>D zG!fQgZ=SLJa)iH0{@7R=&n0g$?o$6}UO+x*+}rpP`LuCllMXV1b?>;&Oc@RO8sB?B=SY$H;qfduHR4cN;3BQN#5~)c7BFOoVE8) zr})d{SnzK=liUIPJD*F&>;E6TdRsf+?T<2kI~n&!8E-+x{ZYm{lW~9i$@`#bf1Kti z6vzE>nqMO0{y5D`AI9V1{y4*v+M#iOoZ;#bYqvkjc^KI3k8&OZcKun-p9Z^rEa&fl zT|budHDK(=y!vPPW*kq?*Z<X^6Kqzeazp#yo`+btKgj;!#L)z zf`@gmcKN%&W56zd7kCS_=gGg!?>pDOz}teSd0sPKTmL^klH&IKveh{IChw_#k?$mL zG~-Xyzr+vF{NIer>R;xb$L;a){8V8ae3L!lSNNk~SHG*g*Ddbwq@C~Td6lPiw08Bp z%GW*v?+>m=D!h_^1vcO3ecqlwuJN7Zw~VFnd2%+yuk*{~k05@XM?VY4qw~`ZoOPJwtekwShC z;?=}-@?wZr7qiIwAzocB{ylPt=t7P*o@{)E+zR4%hzfE?h~FV5cEkBEK|ECClG7m` zDw=k;ad*E}N8Cfk`>i@+0N7oB!o)Z-o)5!BHrSmH>k8J}uIH{N^+YHc&xiFyOER7h z>xt*dcs{Hz2B7JD7%qlT9M6a0qLPf~!*FrD4;~NChYduBzGyrjHW0!6tljxALWG0e z`7lDngWdTkLgawm`6ohD?{DY3^G}2r3&!h7>+ndC1-{g)hAZOlCeIqB8iOki4}v$Sf4nNil+L+i!_R3ed2{m!S%5|@!}jA>(f|t zdl}niAVsu`ZN)VU{{|eVhh;Sr->NyikD*_>X*tageXM zxK6&)SQ^I<#rcmKUkhy^T9CWK{1##-d7$x$nsL~;9@upZR+iSYYH zJ#ZGgVDgm|)LO)VGdwqpvy4xX@3?B+Ms#}%*7L-H9~50iTD$zV6~oDx-?m~BIK$J{ zj34cLSd^0S{<)o)KMLn#z8?`Q$(Zj)#9lJy`w{Uk8S|YaJfmSg<@-^=(3I~-MIIUR z{isMAgU7>sw-=|#nD6#tX_}3@d_N|Nz%Jj9iEUt)@5jVBu*>&jBJFKE-{t!;;U5d@ zLB4y1cMzdq{C?d5;g5?5Fn+)8P~$da`~A8@!=Dr#$@cqohlW2ThJanZpB9tInD3`W zF^$Lkb`m-7;QPh=J|kw6F~84F-z8)fHJdQtNoD|ekECrkIV>IsJ z?I|u({F?EH;XOr2mK~qrsa1*bzF_yfzo!^N#^?P#Mc4#fzlj;2AJ$6*$PXDWFis

    y7sH5v||D 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

    V?)K(phtIjtesu!C2 zBSZ}$+x{3CxI;|_V}Fb_&ZD?J-;4}|svp5KA)n=up{j&z^JjgGZ1ZLPJJ{7TRK>h% zUr&{LgYo*X*cYlMfL%SqQ~?<4c|1^872nwXsTDF$^^T5MXCbhs{I^L zUz4$3QR)bccl)`aDnnDf8mdcVTd(nfXjONZeZ5$(iN-Ntyk3tF#HeS$Ga+B)kuj

    hKHssA#-KiFmu|9XIZDg#^o$3!V)~A`O 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 +// This code was generated by a tool. +// Runtime Version:2.0.50727.5456 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// +// This source code was auto-generated by wsdl, Version=2.0.50727.42. +// +namespace WebsitePanel.EnterpriseServer { + using System.Xml.Serialization; + using System.Web.Services; + using System.ComponentModel; + using System.Web.Services.Protocols; + using System; + using System.Diagnostics; + + using WebsitePanel.Providers.Common; + using WebsitePanel.Providers.HostedSolution; + using WebsitePanel.Providers.ResultObjects; + + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Web.Services.WebServiceBindingAttribute(Name="esLyncSoap", Namespace="http://tempuri.org/")] + public partial class esLync : Microsoft.Web.Services3.WebServicesClientProtocol { + + private System.Threading.SendOrPostCallback CreateLyncUserOperationCompleted; + + private System.Threading.SendOrPostCallback DeleteLyncUserOperationCompleted; + + private System.Threading.SendOrPostCallback GetLyncUsersPagedOperationCompleted; + + private System.Threading.SendOrPostCallback GetLyncUserCountOperationCompleted; + + private System.Threading.SendOrPostCallback GetLyncUserPlansOperationCompleted; + + private System.Threading.SendOrPostCallback GetLyncUserPlanOperationCompleted; + + private System.Threading.SendOrPostCallback AddLyncUserPlanOperationCompleted; + + private System.Threading.SendOrPostCallback DeleteLyncUserPlanOperationCompleted; + + private System.Threading.SendOrPostCallback SetOrganizationDefaultLyncUserPlanOperationCompleted; + + private System.Threading.SendOrPostCallback GetLyncUserGeneralSettingsOperationCompleted; + + private System.Threading.SendOrPostCallback SetUserLyncPlanOperationCompleted; + + private System.Threading.SendOrPostCallback GetFederationDomainsOperationCompleted; + + private System.Threading.SendOrPostCallback AddFederationDomainOperationCompleted; + + private System.Threading.SendOrPostCallback RemoveFederationDomainOperationCompleted; + + /// + public esLync() { + this.Url = "http://localhost:9005/esLync.asmx"; + } + + /// + public event CreateLyncUserCompletedEventHandler CreateLyncUserCompleted; + + /// + public event DeleteLyncUserCompletedEventHandler DeleteLyncUserCompleted; + + /// + public event GetLyncUsersPagedCompletedEventHandler GetLyncUsersPagedCompleted; + + /// + public event GetLyncUserCountCompletedEventHandler GetLyncUserCountCompleted; + + /// + public event GetLyncUserPlansCompletedEventHandler GetLyncUserPlansCompleted; + + /// + public event GetLyncUserPlanCompletedEventHandler GetLyncUserPlanCompleted; + + /// + public event AddLyncUserPlanCompletedEventHandler AddLyncUserPlanCompleted; + + /// + public event DeleteLyncUserPlanCompletedEventHandler DeleteLyncUserPlanCompleted; + + /// + public event SetOrganizationDefaultLyncUserPlanCompletedEventHandler SetOrganizationDefaultLyncUserPlanCompleted; + + /// + public event GetLyncUserGeneralSettingsCompletedEventHandler GetLyncUserGeneralSettingsCompleted; + + /// + public event SetUserLyncPlanCompletedEventHandler SetUserLyncPlanCompleted; + + /// + public event GetFederationDomainsCompletedEventHandler GetFederationDomainsCompleted; + + /// + public event AddFederationDomainCompletedEventHandler AddFederationDomainCompleted; + + /// + public event RemoveFederationDomainCompletedEventHandler RemoveFederationDomainCompleted; + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/CreateLyncUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUserResult CreateLyncUser(int itemId, int accountId, int lyncUserPlanId) { + object[] results = this.Invoke("CreateLyncUser", new object[] { + itemId, + accountId, + lyncUserPlanId}); + return ((LyncUserResult)(results[0])); + } + + /// + public System.IAsyncResult BeginCreateLyncUser(int itemId, int accountId, int lyncUserPlanId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("CreateLyncUser", new object[] { + itemId, + accountId, + lyncUserPlanId}, callback, asyncState); + } + + /// + public LyncUserResult EndCreateLyncUser(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUserResult)(results[0])); + } + + /// + public void CreateLyncUserAsync(int itemId, int accountId, int lyncUserPlanId) { + this.CreateLyncUserAsync(itemId, accountId, lyncUserPlanId, null); + } + + /// + public void CreateLyncUserAsync(int itemId, int accountId, int lyncUserPlanId, object userState) { + if ((this.CreateLyncUserOperationCompleted == null)) { + this.CreateLyncUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateLyncUserOperationCompleted); + } + this.InvokeAsync("CreateLyncUser", new object[] { + itemId, + accountId, + lyncUserPlanId}, this.CreateLyncUserOperationCompleted, userState); + } + + private void OnCreateLyncUserOperationCompleted(object arg) { + if ((this.CreateLyncUserCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.CreateLyncUserCompleted(this, new CreateLyncUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteLyncUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public ResultObject DeleteLyncUser(int itemId, int accountId) { + object[] results = this.Invoke("DeleteLyncUser", new object[] { + itemId, + accountId}); + return ((ResultObject)(results[0])); + } + + /// + public System.IAsyncResult BeginDeleteLyncUser(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("DeleteLyncUser", new object[] { + itemId, + accountId}, callback, asyncState); + } + + /// + public ResultObject EndDeleteLyncUser(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((ResultObject)(results[0])); + } + + /// + public void DeleteLyncUserAsync(int itemId, int accountId) { + this.DeleteLyncUserAsync(itemId, accountId, null); + } + + /// + public void DeleteLyncUserAsync(int itemId, int accountId, object userState) { + if ((this.DeleteLyncUserOperationCompleted == null)) { + this.DeleteLyncUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteLyncUserOperationCompleted); + } + this.InvokeAsync("DeleteLyncUser", new object[] { + itemId, + accountId}, this.DeleteLyncUserOperationCompleted, userState); + } + + private void OnDeleteLyncUserOperationCompleted(object arg) { + if ((this.DeleteLyncUserCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.DeleteLyncUserCompleted(this, new DeleteLyncUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLyncUsersPaged", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUsersPagedResult GetLyncUsersPaged(int itemId, string sortColumn, string sortDirection, int startRow, int maximumRows) { + object[] results = this.Invoke("GetLyncUsersPaged", new object[] { + itemId, + sortColumn, + sortDirection, + startRow, + maximumRows}); + return ((LyncUsersPagedResult)(results[0])); + } + + /// + public System.IAsyncResult BeginGetLyncUsersPaged(int itemId, string sortColumn, string sortDirection, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetLyncUsersPaged", new object[] { + itemId, + sortColumn, + sortDirection, + startRow, + maximumRows}, callback, asyncState); + } + + /// + public LyncUsersPagedResult EndGetLyncUsersPaged(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUsersPagedResult)(results[0])); + } + + /// + public void GetLyncUsersPagedAsync(int itemId, string sortColumn, string sortDirection, int startRow, int maximumRows) { + this.GetLyncUsersPagedAsync(itemId, sortColumn, sortDirection, startRow, maximumRows, null); + } + + /// + public void GetLyncUsersPagedAsync(int itemId, string sortColumn, string sortDirection, int startRow, int maximumRows, object userState) { + if ((this.GetLyncUsersPagedOperationCompleted == null)) { + this.GetLyncUsersPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLyncUsersPagedOperationCompleted); + } + this.InvokeAsync("GetLyncUsersPaged", new object[] { + itemId, + sortColumn, + sortDirection, + startRow, + maximumRows}, this.GetLyncUsersPagedOperationCompleted, userState); + } + + private void OnGetLyncUsersPagedOperationCompleted(object arg) { + if ((this.GetLyncUsersPagedCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetLyncUsersPagedCompleted(this, new GetLyncUsersPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [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) { + object[] results = this.Invoke("GetLyncUserCount", new object[] { + itemId}); + return ((IntResult)(results[0])); + } + + /// + public System.IAsyncResult BeginGetLyncUserCount(int itemId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetLyncUserCount", new object[] { + itemId}, callback, asyncState); + } + + /// + public IntResult EndGetLyncUserCount(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((IntResult)(results[0])); + } + + /// + public void GetLyncUserCountAsync(int itemId) { + this.GetLyncUserCountAsync(itemId, null); + } + + /// + public void GetLyncUserCountAsync(int itemId, object userState) { + if ((this.GetLyncUserCountOperationCompleted == null)) { + this.GetLyncUserCountOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLyncUserCountOperationCompleted); + } + this.InvokeAsync("GetLyncUserCount", new object[] { + itemId}, this.GetLyncUserCountOperationCompleted, userState); + } + + private void OnGetLyncUserCountOperationCompleted(object arg) { + if ((this.GetLyncUserCountCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetLyncUserCountCompleted(this, new GetLyncUserCountCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLyncUserPlans", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUserPlan[] GetLyncUserPlans(int itemId) { + object[] results = this.Invoke("GetLyncUserPlans", new object[] { + itemId}); + return ((LyncUserPlan[])(results[0])); + } + + /// + public System.IAsyncResult BeginGetLyncUserPlans(int itemId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetLyncUserPlans", new object[] { + itemId}, callback, asyncState); + } + + /// + public LyncUserPlan[] EndGetLyncUserPlans(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUserPlan[])(results[0])); + } + + /// + public void GetLyncUserPlansAsync(int itemId) { + this.GetLyncUserPlansAsync(itemId, null); + } + + /// + public void GetLyncUserPlansAsync(int itemId, object userState) { + if ((this.GetLyncUserPlansOperationCompleted == null)) { + this.GetLyncUserPlansOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLyncUserPlansOperationCompleted); + } + this.InvokeAsync("GetLyncUserPlans", new object[] { + itemId}, this.GetLyncUserPlansOperationCompleted, userState); + } + + private void OnGetLyncUserPlansOperationCompleted(object arg) { + if ((this.GetLyncUserPlansCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetLyncUserPlansCompleted(this, new GetLyncUserPlansCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLyncUserPlan", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUserPlan GetLyncUserPlan(int itemId, int lyncUserPlanId) { + object[] results = this.Invoke("GetLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}); + return ((LyncUserPlan)(results[0])); + } + + /// + public System.IAsyncResult BeginGetLyncUserPlan(int itemId, int lyncUserPlanId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}, callback, asyncState); + } + + /// + public LyncUserPlan EndGetLyncUserPlan(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUserPlan)(results[0])); + } + + /// + public void GetLyncUserPlanAsync(int itemId, int lyncUserPlanId) { + this.GetLyncUserPlanAsync(itemId, lyncUserPlanId, null); + } + + /// + public void GetLyncUserPlanAsync(int itemId, int lyncUserPlanId, object userState) { + if ((this.GetLyncUserPlanOperationCompleted == null)) { + this.GetLyncUserPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLyncUserPlanOperationCompleted); + } + this.InvokeAsync("GetLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}, this.GetLyncUserPlanOperationCompleted, userState); + } + + private void OnGetLyncUserPlanOperationCompleted(object arg) { + if ((this.GetLyncUserPlanCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetLyncUserPlanCompleted(this, new GetLyncUserPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddLyncUserPlan", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int AddLyncUserPlan(int itemId, LyncUserPlan lyncUserPlan) { + object[] results = this.Invoke("AddLyncUserPlan", new object[] { + itemId, + lyncUserPlan}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginAddLyncUserPlan(int itemId, LyncUserPlan lyncUserPlan, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("AddLyncUserPlan", new object[] { + itemId, + lyncUserPlan}, callback, asyncState); + } + + /// + public int EndAddLyncUserPlan(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void AddLyncUserPlanAsync(int itemId, LyncUserPlan lyncUserPlan) { + this.AddLyncUserPlanAsync(itemId, lyncUserPlan, null); + } + + /// + public void AddLyncUserPlanAsync(int itemId, LyncUserPlan lyncUserPlan, object userState) { + if ((this.AddLyncUserPlanOperationCompleted == null)) { + this.AddLyncUserPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddLyncUserPlanOperationCompleted); + } + this.InvokeAsync("AddLyncUserPlan", new object[] { + itemId, + lyncUserPlan}, this.AddLyncUserPlanOperationCompleted, userState); + } + + private void OnAddLyncUserPlanOperationCompleted(object arg) { + if ((this.AddLyncUserPlanCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.AddLyncUserPlanCompleted(this, new AddLyncUserPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteLyncUserPlan", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int DeleteLyncUserPlan(int itemId, int lyncUserPlanId) { + object[] results = this.Invoke("DeleteLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginDeleteLyncUserPlan(int itemId, int lyncUserPlanId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("DeleteLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}, callback, asyncState); + } + + /// + public int EndDeleteLyncUserPlan(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void DeleteLyncUserPlanAsync(int itemId, int lyncUserPlanId) { + this.DeleteLyncUserPlanAsync(itemId, lyncUserPlanId, null); + } + + /// + public void DeleteLyncUserPlanAsync(int itemId, int lyncUserPlanId, object userState) { + if ((this.DeleteLyncUserPlanOperationCompleted == null)) { + this.DeleteLyncUserPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteLyncUserPlanOperationCompleted); + } + this.InvokeAsync("DeleteLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}, this.DeleteLyncUserPlanOperationCompleted, userState); + } + + private void OnDeleteLyncUserPlanOperationCompleted(object arg) { + if ((this.DeleteLyncUserPlanCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.DeleteLyncUserPlanCompleted(this, new DeleteLyncUserPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetOrganizationDefaultLyncUserPlan", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int SetOrganizationDefaultLyncUserPlan(int itemId, int lyncUserPlanId) { + object[] results = this.Invoke("SetOrganizationDefaultLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginSetOrganizationDefaultLyncUserPlan(int itemId, int lyncUserPlanId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetOrganizationDefaultLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}, callback, asyncState); + } + + /// + public int EndSetOrganizationDefaultLyncUserPlan(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void SetOrganizationDefaultLyncUserPlanAsync(int itemId, int lyncUserPlanId) { + this.SetOrganizationDefaultLyncUserPlanAsync(itemId, lyncUserPlanId, null); + } + + /// + public void SetOrganizationDefaultLyncUserPlanAsync(int itemId, int lyncUserPlanId, object userState) { + if ((this.SetOrganizationDefaultLyncUserPlanOperationCompleted == null)) { + this.SetOrganizationDefaultLyncUserPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetOrganizationDefaultLyncUserPlanOperationCompleted); + } + this.InvokeAsync("SetOrganizationDefaultLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}, this.SetOrganizationDefaultLyncUserPlanOperationCompleted, userState); + } + + private void OnSetOrganizationDefaultLyncUserPlanOperationCompleted(object arg) { + if ((this.SetOrganizationDefaultLyncUserPlanCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetOrganizationDefaultLyncUserPlanCompleted(this, new SetOrganizationDefaultLyncUserPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLyncUserGeneralSettings", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUser GetLyncUserGeneralSettings(int itemId, int accountId) { + object[] results = this.Invoke("GetLyncUserGeneralSettings", new object[] { + itemId, + accountId}); + return ((LyncUser)(results[0])); + } + + /// + public System.IAsyncResult BeginGetLyncUserGeneralSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetLyncUserGeneralSettings", new object[] { + itemId, + accountId}, callback, asyncState); + } + + /// + public LyncUser EndGetLyncUserGeneralSettings(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUser)(results[0])); + } + + /// + public void GetLyncUserGeneralSettingsAsync(int itemId, int accountId) { + this.GetLyncUserGeneralSettingsAsync(itemId, accountId, null); + } + + /// + public void GetLyncUserGeneralSettingsAsync(int itemId, int accountId, object userState) { + if ((this.GetLyncUserGeneralSettingsOperationCompleted == null)) { + this.GetLyncUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLyncUserGeneralSettingsOperationCompleted); + } + this.InvokeAsync("GetLyncUserGeneralSettings", new object[] { + itemId, + accountId}, this.GetLyncUserGeneralSettingsOperationCompleted, userState); + } + + private void OnGetLyncUserGeneralSettingsOperationCompleted(object arg) { + if ((this.GetLyncUserGeneralSettingsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetLyncUserGeneralSettingsCompleted(this, new GetLyncUserGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetUserLyncPlan", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUserResult SetUserLyncPlan(int itemId, int accountId, int lyncUserPlanId) { + object[] results = this.Invoke("SetUserLyncPlan", new object[] { + itemId, + accountId, + lyncUserPlanId}); + return ((LyncUserResult)(results[0])); + } + + /// + public System.IAsyncResult BeginSetUserLyncPlan(int itemId, int accountId, int lyncUserPlanId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetUserLyncPlan", new object[] { + itemId, + accountId, + lyncUserPlanId}, callback, asyncState); + } + + /// + public LyncUserResult EndSetUserLyncPlan(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUserResult)(results[0])); + } + + /// + public void SetUserLyncPlanAsync(int itemId, int accountId, int lyncUserPlanId) { + this.SetUserLyncPlanAsync(itemId, accountId, lyncUserPlanId, null); + } + + /// + public void SetUserLyncPlanAsync(int itemId, int accountId, int lyncUserPlanId, object userState) { + if ((this.SetUserLyncPlanOperationCompleted == null)) { + this.SetUserLyncPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetUserLyncPlanOperationCompleted); + } + this.InvokeAsync("SetUserLyncPlan", new object[] { + itemId, + accountId, + lyncUserPlanId}, this.SetUserLyncPlanOperationCompleted, userState); + } + + private void OnSetUserLyncPlanOperationCompleted(object arg) { + if ((this.SetUserLyncPlanCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetUserLyncPlanCompleted(this, new SetUserLyncPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetFederationDomains", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncFederationDomain[] GetFederationDomains(int itemId) { + object[] results = this.Invoke("GetFederationDomains", new object[] { + itemId}); + return ((LyncFederationDomain[])(results[0])); + } + + /// + public System.IAsyncResult BeginGetFederationDomains(int itemId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetFederationDomains", new object[] { + itemId}, callback, asyncState); + } + + /// + public LyncFederationDomain[] EndGetFederationDomains(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncFederationDomain[])(results[0])); + } + + /// + public void GetFederationDomainsAsync(int itemId) { + this.GetFederationDomainsAsync(itemId, null); + } + + /// + public void GetFederationDomainsAsync(int itemId, object userState) { + if ((this.GetFederationDomainsOperationCompleted == null)) { + this.GetFederationDomainsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFederationDomainsOperationCompleted); + } + this.InvokeAsync("GetFederationDomains", new object[] { + itemId}, this.GetFederationDomainsOperationCompleted, userState); + } + + private void OnGetFederationDomainsOperationCompleted(object arg) { + if ((this.GetFederationDomainsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetFederationDomainsCompleted(this, new GetFederationDomainsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddFederationDomain", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUserResult AddFederationDomain(int itemId, string domainName, string proxyFqdn) { + object[] results = this.Invoke("AddFederationDomain", new object[] { + itemId, + domainName, + proxyFqdn}); + return ((LyncUserResult)(results[0])); + } + + /// + public System.IAsyncResult BeginAddFederationDomain(int itemId, string domainName, string proxyFqdn, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("AddFederationDomain", new object[] { + itemId, + domainName, + proxyFqdn}, callback, asyncState); + } + + /// + public LyncUserResult EndAddFederationDomain(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUserResult)(results[0])); + } + + /// + public void AddFederationDomainAsync(int itemId, string domainName, string proxyFqdn) { + this.AddFederationDomainAsync(itemId, domainName, proxyFqdn, null); + } + + /// + public void AddFederationDomainAsync(int itemId, string domainName, string proxyFqdn, object userState) { + if ((this.AddFederationDomainOperationCompleted == null)) { + this.AddFederationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddFederationDomainOperationCompleted); + } + this.InvokeAsync("AddFederationDomain", new object[] { + itemId, + domainName, + proxyFqdn}, this.AddFederationDomainOperationCompleted, userState); + } + + private void OnAddFederationDomainOperationCompleted(object arg) { + if ((this.AddFederationDomainCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.AddFederationDomainCompleted(this, new AddFederationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/RemoveFederationDomain", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUserResult RemoveFederationDomain(int itemId, string domainName) { + object[] results = this.Invoke("RemoveFederationDomain", new object[] { + itemId, + domainName}); + return ((LyncUserResult)(results[0])); + } + + /// + public System.IAsyncResult BeginRemoveFederationDomain(int itemId, string domainName, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("RemoveFederationDomain", new object[] { + itemId, + domainName}, callback, asyncState); + } + + /// + public LyncUserResult EndRemoveFederationDomain(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUserResult)(results[0])); + } + + /// + public void RemoveFederationDomainAsync(int itemId, string domainName) { + this.RemoveFederationDomainAsync(itemId, domainName, null); + } + + /// + public void RemoveFederationDomainAsync(int itemId, string domainName, object userState) { + if ((this.RemoveFederationDomainOperationCompleted == null)) { + this.RemoveFederationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveFederationDomainOperationCompleted); + } + this.InvokeAsync("RemoveFederationDomain", new object[] { + itemId, + domainName}, this.RemoveFederationDomainOperationCompleted, userState); + } + + private void OnRemoveFederationDomainOperationCompleted(object arg) { + if ((this.RemoveFederationDomainCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.RemoveFederationDomainCompleted(this, new RemoveFederationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + public new void CancelAsync(object userState) { + base.CancelAsync(userState); + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CreateLyncUserCompletedEventHandler(object sender, CreateLyncUserCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CreateLyncUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal CreateLyncUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUserResult Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUserResult)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteLyncUserCompletedEventHandler(object sender, DeleteLyncUserCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteLyncUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeleteLyncUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ResultObject Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ResultObject)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetLyncUsersPagedCompletedEventHandler(object sender, GetLyncUsersPagedCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetLyncUsersPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetLyncUsersPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUsersPagedResult Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUsersPagedResult)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetLyncUserCountCompletedEventHandler(object sender, GetLyncUserCountCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetLyncUserCountCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetLyncUserCountCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public IntResult Result { + get { + this.RaiseExceptionIfNecessary(); + return ((IntResult)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetLyncUserPlansCompletedEventHandler(object sender, GetLyncUserPlansCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetLyncUserPlansCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetLyncUserPlansCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUserPlan[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUserPlan[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetLyncUserPlanCompletedEventHandler(object sender, GetLyncUserPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetLyncUserPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetLyncUserPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUserPlan Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUserPlan)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void AddLyncUserPlanCompletedEventHandler(object sender, AddLyncUserPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class AddLyncUserPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal AddLyncUserPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteLyncUserPlanCompletedEventHandler(object sender, DeleteLyncUserPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteLyncUserPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeleteLyncUserPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetOrganizationDefaultLyncUserPlanCompletedEventHandler(object sender, SetOrganizationDefaultLyncUserPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetOrganizationDefaultLyncUserPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetOrganizationDefaultLyncUserPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetLyncUserGeneralSettingsCompletedEventHandler(object sender, GetLyncUserGeneralSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetLyncUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetLyncUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUser Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUser)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetUserLyncPlanCompletedEventHandler(object sender, SetUserLyncPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetUserLyncPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetUserLyncPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUserResult Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUserResult)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetFederationDomainsCompletedEventHandler(object sender, GetFederationDomainsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetFederationDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetFederationDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncFederationDomain[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncFederationDomain[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void AddFederationDomainCompletedEventHandler(object sender, AddFederationDomainCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class AddFederationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal AddFederationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUserResult Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUserResult)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void RemoveFederationDomainCompletedEventHandler(object sender, RemoveFederationDomainCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class RemoveFederationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal RemoveFederationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUserResult Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUserResult)(this.results[0])); + } + } + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj index dfd4d020..1390dff3 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj @@ -87,6 +87,7 @@ code + diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs index 714b0165..92a6c70e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs @@ -3140,5 +3140,163 @@ namespace WebsitePanel.EnterpriseServer return Convert.ToBoolean(prmId.Value); } #endregion + + #region Lync + + public static void AddLyncUser(int accountId, int lyncUserPlanId) + { + SqlHelper.ExecuteNonQuery(ConnectionString, + CommandType.StoredProcedure, + "AddLyncUser", + new[] + { + new SqlParameter("@AccountID", accountId), + new SqlParameter("@LyncUserPlanID", lyncUserPlanId) + }); + } + + public static bool CheckLyncUserExists(int accountId) + { + int res = (int)SqlHelper.ExecuteScalar(ConnectionString, CommandType.StoredProcedure, "CheckLyncUserExists", + new SqlParameter("@AccountID", accountId)); + return res > 0; + } + + public static IDataReader GetLyncUsers(int itemId, string sortColumn, string sortDirection, int startRow, int count) + { + SqlParameter[] sqlParams = new SqlParameter[] + { + new SqlParameter("@ItemID", itemId), + new SqlParameter("@SortColumn", sortColumn), + new SqlParameter("@SortDirection", sortDirection), + new SqlParameter("@StartRow", startRow), + new SqlParameter("Count", count) + }; + + + return SqlHelper.ExecuteReader( + ConnectionString, + CommandType.StoredProcedure, + "GetLyncUsers", sqlParams); + } + + public static int GetLyncUsersCount(int itemId) + { + SqlParameter[] sqlParams = new SqlParameter[] + { + new SqlParameter("@ItemID", itemId) + }; + + return + (int) + SqlHelper.ExecuteScalar(ConnectionString, CommandType.StoredProcedure, "GetLyncUsersCount", sqlParams); + } + + public static void DeleteLyncUser(int accountId) + { + SqlHelper.ExecuteNonQuery(ConnectionString, + CommandType.StoredProcedure, + "DeleteLyncUser", + new[] + { + new SqlParameter("@AccountId", accountId) + }); + + } + + public static int AddLyncUserPlan(int itemID, LyncUserPlan lyncUserPlan) + { + SqlParameter outParam = new SqlParameter("@LyncUserPlanId", SqlDbType.Int); + outParam.Direction = ParameterDirection.Output; + + SqlHelper.ExecuteNonQuery( + ConnectionString, + CommandType.StoredProcedure, + "AddLyncUserPlan", + outParam, + + new SqlParameter("@ItemID", itemID), + new SqlParameter("@LyncUserPlanName", lyncUserPlan.LyncUserPlanName), + new SqlParameter("@IM", lyncUserPlan.IM), + new SqlParameter("@Mobility", lyncUserPlan.Mobility), + new SqlParameter("@MobilityEnableOutsideVoice", lyncUserPlan.MobilityEnableOutsideVoice), + new SqlParameter("@Federation", lyncUserPlan.Federation), + new SqlParameter("@Conferencing", lyncUserPlan.Conferencing), + new SqlParameter("@EnterpriseVoice", lyncUserPlan.EnterpriseVoice), + new SqlParameter("@VoicePolicy", lyncUserPlan.VoicePolicy), + new SqlParameter("@IsDefault", lyncUserPlan.IsDefault) + ); + + return Convert.ToInt32(outParam.Value); + } + + public static void DeleteLyncUserPlan(int lyncUserPlanId) + { + SqlHelper.ExecuteNonQuery( + ConnectionString, + CommandType.StoredProcedure, + "DeleteLyncUserPlan", + new SqlParameter("@LyncUserPlanId", lyncUserPlanId) + ); + } + + public static IDataReader GetLyncUserPlan(int lyncUserPlanId) + { + return SqlHelper.ExecuteReader( + ConnectionString, + CommandType.StoredProcedure, + "GetLyncUserPlan", + new SqlParameter("@LyncUserPlanId", lyncUserPlanId) + ); + } + + + public static IDataReader GetLyncUserPlans(int itemId) + { + return SqlHelper.ExecuteReader( + ConnectionString, + CommandType.StoredProcedure, + "GetLyncUserPlans", + new SqlParameter("@ItemID", itemId) + ); + } + + + public static void SetOrganizationDefaultLyncUserPlan(int itemId, int lyncUserPlanId) + { + SqlHelper.ExecuteNonQuery( + ConnectionString, + CommandType.StoredProcedure, + "SetOrganizationDefaultLyncUserPlan", + new SqlParameter("@ItemID", itemId), + new SqlParameter("@LyncUserPlanId", lyncUserPlanId) + ); + } + + public static IDataReader GetLyncUserPlanByAccountId(int AccountId) + { + return SqlHelper.ExecuteReader( + ConnectionString, + CommandType.StoredProcedure, + "GetLyncUserPlanByAccountId", + new SqlParameter("@AccountID", AccountId) + ); + } + + + public static void SetLyncUserLyncUserplan(int accountId, int lyncUserPlanId) + { + SqlHelper.ExecuteNonQuery( + ConnectionString, + CommandType.StoredProcedure, + "SetLyncUserLyncUserplan", + new SqlParameter("@AccountID", accountId), + new SqlParameter("@LyncUserPlanId", (lyncUserPlanId == 0) ? (object)DBNull.Value : (object)lyncUserPlanId) + ); + } + + + #endregion + } } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncController.cs new file mode 100644 index 00000000..a91d80f8 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncController.cs @@ -0,0 +1,821 @@ +// 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. + +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Data; +using System.Xml; +using WebsitePanel.Providers; +using WebsitePanel.Providers.Common; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Providers.ResultObjects; +using WebsitePanel.Providers.Lync; + +namespace WebsitePanel.EnterpriseServer.Code.HostedSolution +{ + public class LyncController + { + + + public static LyncServer GetLyncServer(int lyncServiceId, int organizationServiceId) + { + LyncServer ws = new LyncServer(); + + ServiceProviderProxy.Init(ws, lyncServiceId); + + string[] lyncSettings = ws.ServiceProviderSettingsSoapHeaderValue.Settings; + + List resSettings = new List(lyncSettings); + + ExtendLyncSettings(resSettings, "primarydomaincontroller", GetProviderProperty(organizationServiceId, "primarydomaincontroller")); + ExtendLyncSettings(resSettings, "rootou", GetProviderProperty(organizationServiceId, "rootou")); + ws.ServiceProviderSettingsSoapHeaderValue.Settings = resSettings.ToArray(); + return ws; + } + + private static string GetProviderProperty(int organizationServiceId, string property) + { + + Organizations orgProxy = new Organizations(); + + ServiceProviderProxy.Init(orgProxy, organizationServiceId); + + string[] organizationSettings = orgProxy.ServiceProviderSettingsSoapHeaderValue.Settings; + + string value = string.Empty; + foreach (string str in organizationSettings) + { + string[] props = str.Split('='); + if (props[0].ToLower() == property) + { + value = str; + break; + } + } + + return value; + } + + private static void ExtendLyncSettings(List lyncSettings, string property, string value) + { + bool isAdded = false; + for (int i = 0; i < lyncSettings.Count; i++) + { + string[] props = lyncSettings[i].Split('='); + if (props[0].ToLower() == property) + { + lyncSettings[i] = value; + isAdded = true; + break; + } + } + + if (!isAdded) + { + lyncSettings.Add(value); + } + } + + private static int GetLyncServiceID(int packageId) + { + return PackageController.GetPackageServiceId(packageId, ResourceGroups.Lync); + } + + + private static bool CheckQuota(int itemId) + { + Organization org = OrganizationController.GetOrganization(itemId); + PackageContext cntx = PackageController.GetPackageContext(org.PackageId); + + IntResult userCount = GetLyncUsersCount(itemId); + + int allocatedUsers = cntx.Quotas[Quotas.LYNC_USERS].QuotaAllocatedValue; + + return allocatedUsers == -1 || allocatedUsers > userCount.Value; + } + + + public static LyncUserResult CreateLyncUser(int itemId, int accountId, int lyncUserPlanId) + { + LyncUserResult res = TaskManager.StartResultTask("LYNC", "CREATE_LYNC_USER"); + + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.NOT_AUTHORIZED); + return res; + } + + + LyncUser retLyncUser = new LyncUser(); + bool isLyncUser; + + isLyncUser = DataProvider.CheckLyncUserExists(accountId); + if (isLyncUser) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.USER_IS_ALREADY_LYNC_USER); + return res; + } + + OrganizationUser user; + user = OrganizationController.GetAccount(itemId, accountId); + if (user == null) + { + TaskManager.CompleteResultTask(res, ErrorCodes.CANNOT_GET_ACCOUNT); + return res; + } + + user = OrganizationController.GetUserGeneralSettings(itemId, accountId); + if (string.IsNullOrEmpty(user.FirstName)) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.USER_FIRST_NAME_IS_NOT_SPECIFIED); + return res; + } + + if (string.IsNullOrEmpty(user.LastName)) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.USER_LAST_NAME_IS_NOT_SPECIFIED); + return res; + } + + bool quota = CheckQuota(itemId); + if (!quota) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.USER_QUOTA_HAS_BEEN_REACHED); + return res; + } + + + LyncServer lync; + + try + { + + bool bReloadConfiguration = false; + + Organization org = (Organization)PackageController.GetPackageItem(itemId); + if (org == null) + { + throw new ApplicationException( + string.Format("Organization is null. ItemId={0}", itemId)); + } + + int lyncServiceId = GetLyncServiceID(org.PackageId); + lync = GetLyncServer(lyncServiceId, org.ServiceId); + + if (string.IsNullOrEmpty(org.LyncTenantId)) + { + PackageContext cntx = PackageController.GetPackageContext(org.PackageId); + + org.LyncTenantId = lync.CreateOrganization(org.OrganizationId, + org.DefaultDomain, + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_CONFERENCING].QuotaAllocatedValue), + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_ALLOWVIDEO].QuotaAllocatedValue), + Convert.ToInt32(cntx.Quotas[Quotas.LYNC_MAXPARTICIPANTS].QuotaAllocatedValue), + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_CONFERENCING].QuotaAllocatedValue), + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_CONFERENCING].QuotaAllocatedValue)); + + if (string.IsNullOrEmpty(org.LyncTenantId)) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ENABLE_ORG); + return res; + } + else + { + PackageController.UpdatePackageItem(org); + + bReloadConfiguration = true; + } + } + + LyncUserPlan plan = GetLyncUserPlan(itemId, lyncUserPlanId); + + if (!lync.CreateUser(org.OrganizationId, user.PrimaryEmailAddress, plan)) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ADD_LYNC_USER); + return res; + } + + if (bReloadConfiguration) + { + LyncControllerAsync userWorker = new LyncControllerAsync(); + userWorker.LyncServiceId = lyncServiceId; + userWorker.OrganizationServiceId = org.ServiceId; + userWorker.Enable_CsComputerAsync(); + } + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ADD_LYNC_USER, ex); + return res; + } + + try + { + DataProvider.AddLyncUser(accountId, lyncUserPlanId); + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ADD_LYNC_USER_TO_DATABASE, ex); + return res; + } + + res.IsSuccess = true; + TaskManager.CompleteResultTask(); + return res; + + } + + + private static int[] ParseMultiSetting(int lyncServiceId, string settingName) + { + List retIds = new List(); + StringDictionary settings = ServerController.GetServiceSettings(lyncServiceId); + if (!String.IsNullOrEmpty(settings[settingName])) + { + string[] ids = settings[settingName].Split(','); + + int res; + foreach (string id in ids) + { + if (int.TryParse(id, out res)) + retIds.Add(res); + } + } + + if (retIds.Count == 0) + retIds.Add(lyncServiceId); + + return retIds.ToArray(); + + } + + + public static void GetLyncServices(int lyncServiceId, out int[] lyncServiceIds) + { + lyncServiceIds = ParseMultiSetting(lyncServiceId, "LyncServersServiceID"); + } + + + + public static LyncUser GetLyncUserGeneralSettings(int itemId, int accountId) + { + TaskManager.StartTask("LYNC", "GET_LYNC_USER_GENERAL_SETTINGS"); + + LyncUser user = null; + + try + { + Organization org = (Organization)PackageController.GetPackageItem(itemId); + if (org == null) + { + throw new ApplicationException( + string.Format("Organization is null. ItemId={0}", itemId)); + } + + int lyncServiceId = GetLyncServiceID(org.PackageId); + LyncServer lync = GetLyncServer(lyncServiceId, org.ServiceId); + + OrganizationUser usr; + usr = OrganizationController.GetAccount(itemId, accountId); + + if (usr != null) + user = lync.GetLyncUserGeneralSettings(org.OrganizationId, usr.PrimaryEmailAddress); + + if (user != null) + { + LyncUserPlan plan = ObjectUtils.FillObjectFromDataReader(DataProvider.GetLyncUserPlanByAccountId(accountId)); + + if (plan != null) + { + user.LyncUserPlanId = plan.LyncUserPlanId; + user.LyncUserPlanName = plan.LyncUserPlanName; + } + } + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + + } + TaskManager.CompleteTask(); + return user; + + } + + public static int DeleteOrganization(int itemId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // place log record + TaskManager.StartTask("LYNC", "DELETE_ORG"); + TaskManager.ItemId = itemId; + + try + { + // delete organization in Exchange + //System.Threading.Thread.Sleep(5000); + Organization org = (Organization)PackageController.GetPackageItem(itemId); + + int lyncServiceId = GetLyncServiceID(org.PackageId); + LyncServer lync = GetLyncServer(lyncServiceId, org.ServiceId); + + bool successful = lync.DeleteOrganization(org.OrganizationId, org.DefaultDomain); + + return successful ? 0 : BusinessErrorCodes.ERROR_LYNC_DELETE_SOME_PROBLEMS; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + + public static LyncUserResult SetUserLyncPlan(int itemId, int accountId, int lyncUserPlanId) + { + LyncUserResult res = TaskManager.StartResultTask("LYNC", "SET_LYNC_USER_LYNCPLAN"); + + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.NOT_AUTHORIZED); + return res; + } + + try + { + Organization org = (Organization)PackageController.GetPackageItem(itemId); + if (org == null) + { + throw new ApplicationException( + string.Format("Organization is null. ItemId={0}", itemId)); + } + + int lyncServiceId = GetLyncServiceID(org.PackageId); + LyncServer lync = GetLyncServer(lyncServiceId, org.ServiceId); + + LyncUserPlan plan = GetLyncUserPlan(itemId, lyncUserPlanId); + + OrganizationUser user; + user = OrganizationController.GetAccount(itemId, accountId); + + if (!lync.SetLyncUserPlan(org.OrganizationId, user.PrimaryEmailAddress, plan)) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ADD_LYNC_USER); + return res; + } + + try + { + DataProvider.SetLyncUserLyncUserplan(accountId, lyncUserPlanId); + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ADD_LYNC_USER_TO_DATABASE, ex); + return res; + } + + res.IsSuccess = true; + TaskManager.CompleteResultTask(); + return res; + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_UPDATE_LYNC_USER, ex); + return res; + } + + } + + public static LyncUsersPagedResult GetLyncUsers(int itemId, string sortColumn, string sortDirection, int startRow, int count) + { + LyncUsersPagedResult res = TaskManager.StartResultTask("LYNC", "GET_LYNC_USERS"); + + try + { + IDataReader reader = + DataProvider.GetLyncUsers(itemId, sortColumn, sortDirection, startRow, count); + List accounts = new List(); + ObjectUtils.FillCollectionFromDataReader(accounts, reader); + res.Value = new LyncUsersPaged { PageUsers = accounts.ToArray() }; + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.GET_LYNC_USERS, ex); + return res; + } + + IntResult intRes = GetLyncUsersCount(itemId); + res.ErrorCodes.AddRange(intRes.ErrorCodes); + if (!intRes.IsSuccess) + { + TaskManager.CompleteResultTask(res); + return res; + } + res.Value.RecordsCount = intRes.Value; + + TaskManager.CompleteResultTask(); + return res; + } + + public static IntResult GetLyncUsersCount(int itemId) + { + IntResult res = TaskManager.StartResultTask("LYNC", "GET_LYNC_USERS_COUNT"); + try + { + res.Value = DataProvider.GetLyncUsersCount(itemId); + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.GET_LYNC_USER_COUNT, ex); + return res; + } + + TaskManager.CompleteResultTask(); + return res; + } + + public static LyncUserResult DeleteLyncUser(int itemId, int accountId) + { + LyncUserResult res = TaskManager.StartResultTask("LYNC", "DELETE_LYNC_USER"); + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + + if (accountCheck < 0) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.NOT_AUTHORIZED); + return res; + } + + LyncServer lync; + + try + { + Organization org = (Organization)PackageController.GetPackageItem(itemId); + if (org == null) + { + throw new ApplicationException( + string.Format("Organization is null. ItemId={0}", itemId)); + } + + int lyncServiceId = GetLyncServiceID(org.PackageId); + lync = GetLyncServer(lyncServiceId, org.ServiceId); + + OrganizationUser user; + user = OrganizationController.GetAccount(itemId, accountId); + + if (user != null) + lync.DeleteUser(user.PrimaryEmailAddress); + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_DELETE_LYNC_USER, ex); + return res; + } + + try + { + DataProvider.DeleteLyncUser(accountId); + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_DELETE_LYNC_USER_FROM_METADATA, ex); + return res; + } + + TaskManager.CompleteResultTask(); + return res; + } + + + public static Organization GetOrganization(int itemId) + { + return (Organization)PackageController.GetPackageItem(itemId); + } + + + #region Lync Plans + public static List GetLyncUserPlans(int itemId) + { + // place log record + TaskManager.StartTask("LYNC", "GET_LYNC_LYNCUSERPLANS"); + TaskManager.ItemId = itemId; + + try + { + return ObjectUtils.CreateListFromDataReader( + DataProvider.GetLyncUserPlans(itemId)); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static LyncUserPlan GetLyncUserPlan(int itemID, int lyncUserPlanId) + { + + // place log record + TaskManager.StartTask("LYNC", "GET_LYNC_LYNCUSERPLAN"); + TaskManager.ItemId = lyncUserPlanId; + + try + { + return ObjectUtils.FillObjectFromDataReader( + DataProvider.GetLyncUserPlan(lyncUserPlanId)); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int AddLyncUserPlan(int itemID, LyncUserPlan lyncUserPlan) + { + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // place log record + TaskManager.StartTask("LYNC", "ADD_LYNC_LYNCUSERPLAN"); + TaskManager.ItemId = itemID; + + try + { + Organization org = GetOrganization(itemID); + if (org == null) + return -1; + + // load package context + PackageContext cntx = PackageController.GetPackageContext(org.PackageId); + + lyncUserPlan.Conferencing = lyncUserPlan.Conferencing & Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_CONFERENCING].QuotaAllocatedValue); + lyncUserPlan.EnterpriseVoice = lyncUserPlan.EnterpriseVoice & Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_ENTERPRISEVOICE].QuotaAllocatedValue); + if (!lyncUserPlan.EnterpriseVoice) + lyncUserPlan.VoicePolicy = LyncVoicePolicyType.None; + lyncUserPlan.IM = true; + + return DataProvider.AddLyncUserPlan(itemID, lyncUserPlan); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + } + + public static int DeleteLyncUserPlan(int itemID, int lyncUserPlanId) + { + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + TaskManager.StartTask("LYNC", "DELETE_LYNC_LYNCPLAN"); + TaskManager.ItemId = itemID; + + try + { + DataProvider.DeleteLyncUserPlan(lyncUserPlanId); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + } + + public static int SetOrganizationDefaultLyncUserPlan(int itemId, int lyncUserPlanId) + { + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + TaskManager.StartTask("LYNC", "SET_LYNC_LYNCUSERPLAN"); + TaskManager.ItemId = itemId; + + try + { + DataProvider.SetOrganizationDefaultLyncUserPlan(itemId, lyncUserPlanId); + + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + return 1; + + } + + #endregion + + #region Federation Domains + public static LyncFederationDomain[] GetFederationDomains(int itemId) + { + // place log record + TaskManager.StartTask("LYNC", "GET_LYNC_FEDERATIONDOMAINS"); + TaskManager.ItemId = itemId; + + LyncFederationDomain[] lyncFederationDomains = null; + + try + { + Organization org = (Organization)PackageController.GetPackageItem(itemId); + + int lyncServiceId = GetLyncServiceID(org.PackageId); + LyncServer lync = GetLyncServer(lyncServiceId, org.ServiceId); + + lyncFederationDomains = lync.GetFederationDomains(org.OrganizationId); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + return lyncFederationDomains; + } + + public static LyncUserResult AddFederationDomain(int itemId, string domainName, string proxyFqdn) + { + LyncUserResult res = TaskManager.StartResultTask("LYNC", "ADD_LYNC_FEDERATIONDOMAIN"); + TaskManager.ItemId = itemId; + TaskManager.TaskParameters["domainName"] = domainName; + TaskManager.TaskParameters["proxyFqdn"] = proxyFqdn; + + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + + if (accountCheck < 0) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.NOT_AUTHORIZED); + return res; + } + + + try + { + + Organization org = (Organization)PackageController.GetPackageItem(itemId); + if (org == null) + { + throw new ApplicationException( + string.Format("Organization is null. ItemId={0}", itemId)); + } + + int lyncServiceId = GetLyncServiceID(org.PackageId); + LyncServer lync = GetLyncServer(lyncServiceId, org.ServiceId); + + if (string.IsNullOrEmpty(org.LyncTenantId)) + { + PackageContext cntx = PackageController.GetPackageContext(org.PackageId); + + org.LyncTenantId = lync.CreateOrganization(org.OrganizationId, + org.DefaultDomain, + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_CONFERENCING].QuotaAllocatedValue), + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_ALLOWVIDEO].QuotaAllocatedValue), + Convert.ToInt32(cntx.Quotas[Quotas.LYNC_MAXPARTICIPANTS].QuotaAllocatedValue), + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_CONFERENCING].QuotaAllocatedValue), + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_CONFERENCING].QuotaAllocatedValue)); + + if (string.IsNullOrEmpty(org.LyncTenantId)) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ENABLE_ORG); + return res; + } + else + PackageController.UpdatePackageItem(org); + } + + lync = GetLyncServer(lyncServiceId, org.ServiceId); + + lync.AddFederationDomain(org.OrganizationId, domainName, proxyFqdn); + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ADD_LYNC_FEDERATIONDOMAIN, ex); + return res; + } + + TaskManager.CompleteResultTask(); + return res; + } + + public static LyncUserResult RemoveFederationDomain(int itemId, string domainName) + { + LyncUserResult res = TaskManager.StartResultTask("LYNC", "REMOVE_LYNC_FEDERATIONDOMAIN"); + TaskManager.ItemId = itemId; + TaskManager.TaskParameters["domainName"] = domainName; + + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + + if (accountCheck < 0) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.NOT_AUTHORIZED); + return res; + } + + try + { + Organization org = (Organization)PackageController.GetPackageItem(itemId); + if (org == null) + { + throw new ApplicationException( + string.Format("Organization is null. ItemId={0}", itemId)); + } + + int lyncServiceId = GetLyncServiceID(org.PackageId); + LyncServer lync = GetLyncServer(lyncServiceId, org.ServiceId); + + if (org.OrganizationId.ToLower() == domainName.ToLower()) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_REMOVE_LYNC_FEDERATIONDOMAIN); + return res; + } + + lync.RemoveFederationDomain(org.OrganizationId, domainName); + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_REMOVE_LYNC_FEDERATIONDOMAIN, ex); + return res; + } + + TaskManager.CompleteResultTask(); + return res; + } + + + #endregion + + + #region Private methods + public static UInt64 ConvertPhoneNumberToLong(string ip) + { + return Convert.ToUInt64(ip); + } + + public static string ConvertLongToPhoneNumber(UInt64 ip) + { + if (ip == 0) + return ""; + + return ip.ToString(); + } + #endregion + + + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncControllerAsync.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncControllerAsync.cs new file mode 100644 index 00000000..f30dc4f6 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncControllerAsync.cs @@ -0,0 +1,97 @@ +// 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. + +using System; +using System.Threading; +using System.Collections.Generic; +using System.Text; +using WebsitePanel.Providers; +using WebsitePanel.Providers.Common; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Providers.ResultObjects; +using WebsitePanel.Providers.Lync; +using WebsitePanel.EnterpriseServer.Code.HostedSolution; + + +namespace WebsitePanel.EnterpriseServer.Code.HostedSolution +{ + public class LyncControllerAsync + { + private int lyncServiceId; + private int organizationServiceId; + + public int LyncServiceId + { + get { return this.lyncServiceId; } + set { this.lyncServiceId = value; } + } + + public int OrganizationServiceId + { + get { return this.organizationServiceId; } + set { this.organizationServiceId = value; } + } + + + public void Enable_CsComputerAsync() + { + // start asynchronously + Thread t = new Thread(new ThreadStart(Enable_CsComputer)); + t.Start(); + } + + private void Enable_CsComputer() + { + int[] lyncServiceIds; + + LyncController.GetLyncServices(lyncServiceId, out lyncServiceIds); + + foreach (int id in lyncServiceIds) + { + LyncServer lync = null; + try + { + lync = LyncController.GetLyncServer(id, organizationServiceId); + if (lync != null) + { + lync.ReloadConfiguration(); + } + } + catch (Exception exe) + { + TaskManager.WriteError(exe); + continue; + } + } + + + } + + + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs index 07672218..b3856eba 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs @@ -482,6 +482,66 @@ namespace WebsitePanel.EnterpriseServer } } + + private static bool DeleteLyncUsers(int itemId) + { + bool successful = false; + + try + { + LyncUsersPagedResult res = LyncController.GetLyncUsers(itemId, string.Empty, string.Empty, 0, int.MaxValue); + + if (res.IsSuccess) + { + successful = true; + foreach (LyncUser user in res.Value.PageUsers) + { + try + { + ResultObject delUserResult = LyncController.DeleteLyncUser(itemId, user.AccountID); + if (!delUserResult.IsSuccess) + { + StringBuilder sb = new StringBuilder(); + foreach (string str in delUserResult.ErrorCodes) + { + sb.Append(str); + sb.Append('\n'); + } + + throw new ApplicationException(sb.ToString()); + } + } + catch (Exception ex) + { + successful = false; + TaskManager.WriteError(ex); + } + } + + return successful; + } + else + { + StringBuilder sb = new StringBuilder(); + foreach (string str in res.ErrorCodes) + { + sb.Append(str); + sb.Append('\n'); + } + + throw new ApplicationException(sb.ToString()); + } + } + catch (Exception ex) + { + successful = false; + TaskManager.WriteError(ex); + } + + return successful; + } + + public static int DeleteOrganization(int itemId) { // check account @@ -570,7 +630,22 @@ namespace WebsitePanel.EnterpriseServer successful = false; TaskManager.WriteError(ex); } - + + //Cleanup Lync + try + { + if (!string.IsNullOrEmpty(org.LyncTenantId)) + if (DeleteLyncUsers(itemId)) + LyncController.DeleteOrganization(itemId); + } + catch (Exception ex) + { + successful = false; + TaskManager.WriteError(ex); + } + + + //Cleanup Exchange try { if (!string.IsNullOrEmpty(org.GlobalAddressList)) @@ -791,6 +866,11 @@ namespace WebsitePanel.EnterpriseServer stats.AllocatedOCSUsers = cntx.Quotas[Quotas.OCS_USERS].QuotaAllocatedValue; } + if (cntx.Groups.ContainsKey(ResourceGroups.Lync)) + { + stats.CreatedLyncUsers = LyncController.GetLyncUsersCount(org.Id).Value; + stats.AllocatedLyncUsers = cntx.Quotas[Quotas.LYNC_USERS].QuotaAllocatedValue; + } return stats; } @@ -1371,7 +1451,7 @@ namespace WebsitePanel.EnterpriseServer retUser.AccountType = account.AccountType; retUser.CrmUserId = CRMController.GetCrmUserId(accountId); retUser.IsOCSUser = DataProvider.CheckOCSUserExists(accountId); - //retUser.IsLyncUser = DataProvider.CheckLyncUserExists(accountId); + retUser.IsLyncUser = DataProvider.CheckLyncUserExists(accountId); retUser.IsBlackBerryUser = BlackBerryController.CheckBlackBerryUserExists(accountId); retUser.SubscriberNumber = account.SubscriberNumber; diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj index a2556f80..cb74773e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj @@ -78,6 +78,7 @@ + @@ -130,6 +131,8 @@ + + @@ -235,6 +238,10 @@ + + esLync.asmx + Component + esVirtualizationServerForPrivateCloud.asmx Component diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx new file mode 100644 index 00000000..a481f74b --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx @@ -0,0 +1 @@ +<%@ WebService Language="C#" CodeBehind="esLync.asmx.cs" Class="WebsitePanel.EnterpriseServer.esLync" %> diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx.cs new file mode 100644 index 00000000..56ba913b --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx.cs @@ -0,0 +1,135 @@ +// 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. + +using System.Web.Services; +using WebsitePanel.EnterpriseServer.Code.HostedSolution; +using WebsitePanel.Providers.Common; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Providers.ResultObjects; +using System.Collections.Generic; + +namespace WebsitePanel.EnterpriseServer +{ + ///

    + /// Summary description for esLync + /// + [WebService(Namespace = "http://tempuri.org/")] + [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] + [System.ComponentModel.ToolboxItem(false)] + public class esLync : WebService + { + + [WebMethod] + public LyncUserResult CreateLyncUser(int itemId, int accountId, int lyncUserPlanId) + { + return LyncController.CreateLyncUser(itemId, accountId, lyncUserPlanId); + } + + [WebMethod] + public ResultObject DeleteLyncUser(int itemId, int accountId) + { + return LyncController.DeleteLyncUser(itemId, accountId); + } + + [WebMethod] + public LyncUsersPagedResult GetLyncUsersPaged(int itemId, string sortColumn, string sortDirection, int startRow, int maximumRows) + { + return LyncController.GetLyncUsers(itemId, sortColumn, sortDirection, startRow, maximumRows); + } + + [WebMethod] + public IntResult GetLyncUserCount(int itemId) + { + return LyncController.GetLyncUsersCount(itemId); + } + + + #region Lync User Plans + [WebMethod] + public List GetLyncUserPlans(int itemId) + { + return LyncController.GetLyncUserPlans(itemId); + } + + [WebMethod] + public LyncUserPlan GetLyncUserPlan(int itemId, int lyncUserPlanId) + { + return LyncController.GetLyncUserPlan(itemId, lyncUserPlanId); + } + + [WebMethod] + public int AddLyncUserPlan(int itemId, LyncUserPlan lyncUserPlan) + { + return LyncController.AddLyncUserPlan(itemId, lyncUserPlan); + } + + [WebMethod] + public int DeleteLyncUserPlan(int itemId, int lyncUserPlanId) + { + return LyncController.DeleteLyncUserPlan(itemId, lyncUserPlanId); + } + + [WebMethod] + public int SetOrganizationDefaultLyncUserPlan(int itemId, int lyncUserPlanId) + { + return LyncController.SetOrganizationDefaultLyncUserPlan(itemId, lyncUserPlanId); + } + + [WebMethod] + public LyncUser GetLyncUserGeneralSettings(int itemId, int accountId) + { + return LyncController.GetLyncUserGeneralSettings(itemId, accountId); + } + + [WebMethod] + public LyncUserResult SetUserLyncPlan(int itemId, int accountId, int lyncUserPlanId) + { + return LyncController.SetUserLyncPlan(itemId, accountId, lyncUserPlanId); + } + + [WebMethod] + public LyncFederationDomain[] GetFederationDomains(int itemId) + { + return LyncController.GetFederationDomains(itemId); + } + + [WebMethod] + public LyncUserResult AddFederationDomain(int itemId, string domainName, string proxyFqdn) + { + return LyncController.AddFederationDomain(itemId, domainName, proxyFqdn); + } + + [WebMethod] + public LyncUserResult RemoveFederationDomain(int itemId, string domainName) + { + return LyncController.RemoveFederationDomain(itemId, domainName); + } + + #endregion + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ILyncServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ILyncServer.cs new file mode 100644 index 00000000..ef1047a0 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ILyncServer.cs @@ -0,0 +1,51 @@ +// 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. + +using System; +using System.Collections.Generic; +using System.Text; + +namespace WebsitePanel.Providers.HostedSolution +{ + public interface ILyncServer + { + string CreateOrganization(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice); + bool DeleteOrganization(string organizationId, string sipDomain); + + bool CreateUser(string organizationId, string userUpn, LyncUserPlan plan); + LyncUser GetLyncUserGeneralSettings(string organizationId, string userUpn); + bool SetLyncUserPlan(string organizationId, string userUpn, LyncUserPlan plan); + bool DeleteUser(string userUpn); + + LyncFederationDomain[] GetFederationDomains(string organizationId); + bool AddFederationDomain(string organizationId, string domainName, string proxyFqdn); + bool RemoveFederationDomain(string organizationId, string domainName); + + void ReloadConfiguration(); + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncConstants.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncConstants.cs new file mode 100644 index 00000000..4da82007 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncConstants.cs @@ -0,0 +1,36 @@ +// 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. + +namespace WebsitePanel.Providers.HostedSolution + { + public class LyncConstants + { + public const string PoolFQDN = "PoolFQDN"; + public const string SimpleUrlRoot = "SimpleUrlRoot"; + } + } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncErrorCodes.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncErrorCodes.cs new file mode 100644 index 00000000..15cfbae8 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncErrorCodes.cs @@ -0,0 +1,74 @@ +// 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. + +namespace WebsitePanel.Providers.HostedSolution + { + public class LyncErrorCodes + { + public const string CANNOT_CHECK_IF_LYNC_USER_EXISTS = "CANNOT_CHECK_IF_LYNC_USER_EXISTS"; + + public const string USER_IS_ALREADY_LYNC_USER = "USER_IS_ALREADY_LYNC_USER"; + + public const string USER_FIRST_NAME_IS_NOT_SPECIFIED = "USER_FIRST_NAME_IS_NOT_SPECIFIED"; + + public const string USER_LAST_NAME_IS_NOT_SPECIFIED = "USER_LAST_NAME_IS_NOT_SPECIFIED"; + + public const string CANNOT_GET_USER_GENERAL_SETTINGS = "CANNOT_GET_USER_GENERAL_SETTINGS"; + + public const string CANNOT_ADD_LYNC_USER_TO_DATABASE = "CANNOT_ADD_LYNC_USER_TO_DATABASE"; + + public const string GET_LYNC_USER_COUNT = "GET_LYNC_USER_COUNT"; + + public const string GET_LYNC_USERS = "GET_LYNC_USERS"; + + public const string CANNOT_DELETE_LYNC_USER_FROM_METADATA = "CANNOT_DELETE_LYNC_USER_FROM_METADATA"; + + public const string CANNOT_DELETE_LYNC_USER = "CANNOT_DELETE_LYNC_USER"; + + public const string CANNOT_GET_LYNC_PROXY = "CANNOT_GET_LYNC_PROXY"; + + public const string USER_QUOTA_HAS_BEEN_REACHED = "USER_QUOTA_HAS_BEEN_REACHED"; + + public const string CANNOT_CHECK_QUOTA = "CANNOT_CHECK_QUOTA"; + + public const string CANNOT_SET_DEFAULT_SETTINGS = "CANNOT_SET_DEFAULT_SETTINGS"; + + public const string CANNOT_ADD_LYNC_USER = "CANNOT_ADD_LYNC_USER"; + + public const string CANNOT_UPDATE_LYNC_USER = "CANNOT_UPDATE_LYNC_USER"; + + public const string CANNOT_ENABLE_ORG = "CANNOT_ENABLE_ORG"; + + public const string NOT_AUTHORIZED = "NOT_AUTHORIZED"; + + public const string CANNOT_ADD_LYNC_FEDERATIONDOMAIN = "CANNOT_ADD_LYNC_FEDERATIONDOMAIN"; + + public const string CANNOT_REMOVE_LYNC_FEDERATIONDOMAIN = "CANNOT_REMOVE_LYNC_FEDERATIONDOMAIN"; + + } + } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncFederationDomain.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncFederationDomain.cs new file mode 100644 index 00000000..f5ac4498 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncFederationDomain.cs @@ -0,0 +1,66 @@ +// 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. + +using System; +using System.Collections.Generic; +using System.Text; + +namespace WebsitePanel.Providers.HostedSolution +{ + public class LyncFederationDomain + { + string domainName; + string comment; + bool markForMonitoring; + string proxyFqdn; + + public string DomainName + { + get { return this.domainName; } + set { this.domainName = value; } + } + + public string Comment + { + get { return this.comment; } + set { this.comment = value; } + } + + public bool MarkForMonitoring + { + get { return this.markForMonitoring; } + set { this.markForMonitoring = value; } + } + + public string ProxyFqdn + { + get { return this.proxyFqdn; } + set { this.proxyFqdn = value; } + } + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUser.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUser.cs new file mode 100644 index 00000000..1a4dd851 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUser.cs @@ -0,0 +1,45 @@ +// 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. + +using System; +using System.Collections.Generic; +using System.Text; + +namespace WebsitePanel.Providers.HostedSolution +{ + public class LyncUser + { + public string PrimaryUri { get; set; } + public string PrimaryEmailAddress { get; set; } + public string DisplayName { get; set; } + public string LineUri { get; set; } + public int AccountID { get; set; } + public int LyncUserPlanId { get; set; } + public string LyncUserPlanName { get; set; } + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUserPlan.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUserPlan.cs new file mode 100644 index 00000000..27b236ec --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUserPlan.cs @@ -0,0 +1,112 @@ +// 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. + +using System; +using System.Collections.Generic; +using System.Text; + +namespace WebsitePanel.Providers.HostedSolution +{ + public class LyncUserPlan + { + int lyncUserPlanId; + string lyncUserPlanName; + + bool im; + bool federation; + bool conferencing; + bool enterpriseVoice; + bool mobility; + bool mobilityEnableOutsideVoice; + LyncVoicePolicyType voicePolicy; + + bool isDefault; + + public int LyncUserPlanId + { + get { return this.lyncUserPlanId; } + set { this.lyncUserPlanId = value; } + } + + public string LyncUserPlanName + { + get { return this.lyncUserPlanName; } + set { this.lyncUserPlanName = value; } + } + + public bool IM + { + get { return this.im; } + set { this.im = value; } + } + + public bool IsDefault + { + get { return this.isDefault; } + set { this.isDefault = value; } + } + + public bool Federation + { + get { return this.federation; } + set { this.federation = value; } + } + + public bool Conferencing + { + get { return this.conferencing; } + set { this.conferencing = value; } + } + + public bool EnterpriseVoice + { + get { return this.enterpriseVoice; } + set { this.enterpriseVoice = value; } + } + + public bool Mobility + { + get { return this.mobility; } + set { this.mobility = value; } + } + + public bool MobilityEnableOutsideVoice + { + get { return this.mobilityEnableOutsideVoice; } + set { this.mobilityEnableOutsideVoice = value; } + } + + public LyncVoicePolicyType VoicePolicy + { + get { return this.voicePolicy; } + set { this.voicePolicy = value; } + } + + + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUsersPaged.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUsersPaged.cs new file mode 100644 index 00000000..6df0867c --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUsersPaged.cs @@ -0,0 +1,50 @@ +// 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. + + + +namespace WebsitePanel.Providers.HostedSolution +{ + public class LyncUsersPaged + { + int recordsCount; + LyncUser[] pageUsers; + + public int RecordsCount + { + get { return recordsCount; } + set { recordsCount = value; } + } + + public LyncUser[] PageUsers + { + get { return pageUsers; } + set { pageUsers = value; } + } + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncVoicePolicyType.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncVoicePolicyType.cs new file mode 100644 index 00000000..fc203a67 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncVoicePolicyType.cs @@ -0,0 +1,39 @@ +// 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. + +namespace WebsitePanel.Providers.HostedSolution +{ + public enum LyncVoicePolicyType + { + None = 0, + Emergency = 1, + National = 2, + Mobile = 3, + International = 4 + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatistics.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatistics.cs index bc322dd4..50981d9e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatistics.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatistics.cs @@ -173,6 +173,8 @@ namespace WebsitePanel.Providers.HostedSolution public int CreatedOCSUsers { get; set; } public int AllocatedOCSUsers { get; set; } + public int CreatedLyncUsers { get; set; } + public int AllocatedLyncUsers { get; set; } } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUserResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUserResult.cs new file mode 100644 index 00000000..bf5e64fd --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUserResult.cs @@ -0,0 +1,36 @@ +// 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. + +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Providers.ResultObjects +{ + public class LyncUserResult : ValueResultObject + { + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUsersPagedResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUsersPagedResult.cs new file mode 100644 index 00000000..169b13cd --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUsersPagedResult.cs @@ -0,0 +1,36 @@ +// 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. + +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Providers.ResultObjects +{ + public class LyncUsersPagedResult : ValueResultObject + { + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj index a74bff15..d5f41672 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj @@ -80,6 +80,14 @@ + + + + + + + + @@ -118,6 +126,8 @@ + + diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Lync2010.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Lync2010.cs new file mode 100644 index 00000000..21887292 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Lync2010.cs @@ -0,0 +1,1248 @@ +// 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. + +using System; +using System.IO; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Text; +using System.Reflection; +using System.Globalization; +using System.DirectoryServices; + +using Microsoft.Win32; + +using WebsitePanel.Providers; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Providers.Utils; +using WebsitePanel.Server.Utils; + +using System.Management; +using System.Management.Automation; +using System.Management.Automation.Runspaces; + +using Microsoft.Rtc.Management.Hosted; +using Microsoft.Rtc.Management.WritableConfig.Settings.Edge; +using Microsoft.Rtc.Management.WritableConfig.Settings.SimpleUrl; + + +namespace WebsitePanel.Providers.HostedSolution +{ + public class Lync2010 : HostingServiceProviderBase, ILyncServer + { + + #region Static constructor + static Lync2010() + { + LyncRegistryPath = "SOFTWARE\\Microsoft\\Real-Time Communications"; + } + + internal static string LyncRegistryPath + { + get; + set; + } + + #endregion + + + #region Properties + + /// + /// Pool FQDN + /// + private string PoolFQDN + { + get { return ProviderSettings[LyncConstants.PoolFQDN]; } + } + + private string SimpleUrlRoot + { + get { return ProviderSettings[LyncConstants.SimpleUrlRoot]; } + } + + internal string PrimaryDomainController + { + get { return ProviderSettings["PrimaryDomainController"]; } + } + + private string RootOU + { + get { return ProviderSettings["RootOU"]; } + } + + private string RootDomain + { + get { return ServerSettings.ADRootDomain; } + } + + + #endregion + + #region ILyncServer implementation + + public string CreateOrganization(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice) + { + return CreateOrganizationInternal(organizationId, sipDomain, enableConferencing, enableConferencingVideo, maxConferenceSize, enabledFederation, enabledEnterpriseVoice); + } + + public bool DeleteOrganization(string organizationId, string sipDomain) + { + return DeleteOrganizationInternal(organizationId, sipDomain); + } + + public bool CreateUser(string organizationId, string userUpn, LyncUserPlan plan) + { + return CreateUserInternal(organizationId, userUpn, plan); + } + + public LyncUser GetLyncUserGeneralSettings(string organizationId, string userUpn) + { + return GetLyncUserGeneralSettingsInternal(organizationId, userUpn); + } + + public bool SetLyncUserPlan(string organizationId, string userUpn, LyncUserPlan plan) + { + return SetLyncUserPlanInternal(organizationId, userUpn, plan, null); + } + + public bool DeleteUser(string userUpn) + { + return DeleteUserInternal(userUpn); + } + + public LyncFederationDomain[] GetFederationDomains(string organizationId) + { + return GetFederationDomainsInternal(organizationId); + } + + public bool AddFederationDomain(string organizationId, string domainName, string proxyFqdn) + { + return AddFederationDomainInternal(organizationId, domainName, proxyFqdn); + } + + public bool RemoveFederationDomain(string organizationId, string domainName) + { + return RemoveFederationDomainInternal(organizationId, domainName); + } + + public void ReloadConfiguration() + { + ReloadConfigurationInternal(); + } + + #endregion + + #region organization + private string CreateOrganizationInternal(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice) + { + HostedSolutionLog.LogStart("CreateOrganizationInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + HostedSolutionLog.DebugInfo("sipDomain: {0}", sipDomain); + + string TenantId = string.Empty; + + LyncTransaction transaction = StartTransaction(); + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + // create sip domain + Command cmd = new Command("New-CsSipDomain"); + cmd.Parameters.Add("Identity", sipDomain); + ExecuteShellCommand(runSpace, cmd, false); + + transaction.RegisterNewSipDomain(sipDomain); + + //set the msRTCSIP-Domains, TenantID, ObjectID + Guid id = Guid.NewGuid(); + + string path = AddADPrefix(GetOrganizationPath(organizationId)); + DirectoryEntry ou = ActiveDirectoryUtils.GetADObject(path); + ActiveDirectoryUtils.SetADObjectPropertyValue(ou, "msRTCSIP-Domains", sipDomain); + ActiveDirectoryUtils.SetADObjectPropertyValue(ou, "msRTCSIP-TenantId", id); + ActiveDirectoryUtils.SetADObjectPropertyValue(ou, "msRTCSIP-ObjectId", id); + ou.CommitChanges(); + + //Create simpleurls + CreateSimpleUrl(runSpace, sipDomain, id); + transaction.RegisterNewSimpleUrl(sipDomain, id.ToString()); + + //create conferencing policy + cmd = new Command("New-CsConferencingPolicy"); + cmd.Parameters.Add("Identity", organizationId); + cmd.Parameters.Add("MaxMeetingSize", maxConferenceSize); + cmd.Parameters.Add("AllowIPVideo", enableConferencingVideo); + ExecuteShellCommand(runSpace, cmd, false); + transaction.RegisterNewConferencingPolicy(organizationId); + + //create external access policy + cmd = new Command("New-CsExternalAccessPolicy"); + cmd.Parameters.Add("Identity", organizationId); + cmd.Parameters.Add("EnableFederationAccess", true); + cmd.Parameters.Add("EnableOutsideAccess", true); + cmd.Parameters.Add("EnablePublicCloudAccess", false); + cmd.Parameters.Add("EnablePublicCloudAudioVideoAccess", false); + ExecuteShellCommand(runSpace, cmd, false); + transaction.RegisterNewCsExternalAccessPolicy(organizationId); + + //Enable for federation + AllowList allowList = new AllowList(); + DomainPattern domain = new DomainPattern(sipDomain); + allowList.AllowedDomain.Add(domain); + + cmd = new Command("Set-CsTenantFederationConfiguration"); + cmd.Parameters.Add("Tenant", id); + cmd.Parameters.Add("AllowFederatedUsers", true); + cmd.Parameters.Add("AllowedDomains", allowList); + ExecuteShellCommand(runSpace, cmd, false); + + //create mobility policy + cmd = new Command("New-CsMobilityPolicy"); + cmd.Parameters.Add("Identity", organizationId + " EnableOutSideVoice"); + cmd.Parameters.Add("EnableMobility", true); + cmd.Parameters.Add("EnableOutsideVoice", true); + ExecuteShellCommand(runSpace, cmd, false); + transaction.RegisterNewCsMobilityPolicy(organizationId + " EnableOutSideVoice"); + + cmd = new Command("New-CsMobilityPolicy"); + cmd.Parameters.Add("Identity", organizationId + " DisableOutSideVoice"); + cmd.Parameters.Add("EnableMobility", true); + cmd.Parameters.Add("EnableOutsideVoice", false); + ExecuteShellCommand(runSpace, cmd, false); + transaction.RegisterNewCsMobilityPolicy(organizationId + " DisableOutSideVoice"); + + cmd = new Command("Invoke-CsManagementStoreReplication"); + ExecuteShellCommand(runSpace, cmd, false); + + + TenantId = id.ToString(); + } + catch (Exception ex) + { + HostedSolutionLog.LogError("CreateOrganizationInternal", ex); + RollbackTransaction(transaction); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + + HostedSolutionLog.LogEnd("CreateOrganizationInternal"); + + return TenantId; + } + + + + private bool DeleteOrganizationInternal(string organizationId, string sipDomain) + { + HostedSolutionLog.LogStart("DeleteOrganizationInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + HostedSolutionLog.DebugInfo("sipDomain: {0}", sipDomain); + + bool ret = true; + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Command cmd = new Command("Get-CsTenant"); + cmd.Parameters.Add("Identity", GetOrganizationPath(organizationId)); + Collection result = ExecuteShellCommand(runSpace, cmd, false); + if ((result != null) && (result.Count > 0)) + { + Guid tenantId = (Guid)GetPSObjectProperty(result[0], "TenantId"); + + // create sip domain + DeleteSipDomain(runSpace, sipDomain); + + //clear the msRTCSIP-Domains, TenantID, ObjectID + string path = AddADPrefix(GetOrganizationPath(organizationId)); + DirectoryEntry ou = ActiveDirectoryUtils.GetADObject(path); + ActiveDirectoryUtils.ClearADObjectPropertyValue(ou, "msRTCSIP-Domains"); + ActiveDirectoryUtils.ClearADObjectPropertyValue(ou, "msRTCSIP-TenantId"); + ActiveDirectoryUtils.ClearADObjectPropertyValue(ou, "msRTCSIP-ObjectId"); + ou.CommitChanges(); + + try + { + DeleteConferencingPolicy(runSpace, organizationId); + } + catch (Exception) + { + } + + try + { + DeleteExternalAccessPolicy(runSpace, organizationId); + } + catch (Exception) + { + } + + try + { + DeleteMobilityPolicy(runSpace, organizationId + " EnableOutSideVoice"); + } + catch (Exception) + { + } + + try + { + DeleteMobilityPolicy(runSpace, organizationId + " DisableOutSideVoice"); + } + catch (Exception) + { + } + + try + { + DeleteSimpleUrl(runSpace, sipDomain, tenantId); + } + catch (Exception) + { + } + } + + cmd = new Command("Invoke-CsManagementStoreReplication"); + ExecuteShellCommand(runSpace, cmd, false); + + } + catch (Exception ex) + { + ret = false; + HostedSolutionLog.LogError("DeleteOrganizationInternal", ex); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("DeleteOrganizationInternal"); + return ret; + } + #endregion + + #region Users + private bool CreateUserInternal(string organizationId, string userUpn, LyncUserPlan plan) + { + HostedSolutionLog.LogStart("CreateUserInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + HostedSolutionLog.DebugInfo("userUpn: {0}", userUpn); + + bool ret = true; + Guid tenantId = Guid.Empty; + + LyncTransaction transaction = StartTransaction(); + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Command cmd = new Command("Get-CsTenant"); + cmd.Parameters.Add("Identity", GetOrganizationPath(organizationId)); + Collection result = ExecuteShellCommand(runSpace, cmd, false); + if ((result != null) && (result.Count > 0)) + { + tenantId = (Guid)GetPSObjectProperty(result[0], "TenantId"); + + //enable for lync + cmd = new Command("Enable-CsUser"); + cmd.Parameters.Add("Identity", userUpn); + cmd.Parameters.Add("RegistrarPool", PoolFQDN); + cmd.Parameters.Add("SipAddressType", "UserPrincipalName"); + ExecuteShellCommand(runSpace, cmd); + + transaction.RegisterNewCsUser(userUpn); + + //set groupingID and tenantID + cmd = new Command("Get-CsAdUser"); + cmd.Parameters.Add("Identity", userUpn); + result = ExecuteShellCommand(runSpace, cmd); + + + string path = AddADPrefix(GetResultObjectDN(result)); + DirectoryEntry user = ActiveDirectoryUtils.GetADObject(path); + ActiveDirectoryUtils.SetADObjectPropertyValue(user, "msRTCSIP-GroupingID", tenantId); + ActiveDirectoryUtils.SetADObjectPropertyValue(user, "msRTCSIP-TenantId", tenantId); + + string[] tmp = userUpn.Split('@'); + if (tmp.Length > 0) + { + string Url = SimpleUrlRoot + tmp[1]; + ActiveDirectoryUtils.SetADObjectPropertyValue(user, "msRTCSIP-BaseSimpleUrl", Url); + } + user.CommitChanges(); + + //set-plan + SetLyncUserPlanInternal(organizationId, userUpn, plan, runSpace); + + //initiate addressbook generation + cmd = new Command("Update-CsAddressBook"); + ExecuteShellCommand(runSpace, cmd, false); + + //initiate user database replication + cmd = new Command("Update-CsUserDatabase"); + ExecuteShellCommand(runSpace, cmd, false); + } + else + { + ret = false; + HostedSolutionLog.LogError("Failed to retrieve tenantID", null); + } + } + catch (Exception ex) + { + ret = false; + HostedSolutionLog.LogError("CreateUserInternal", ex); + RollbackTransaction(transaction); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("CreateUserInternal"); + return ret; + } + + private LyncUser GetLyncUserGeneralSettingsInternal(string organizationId, string userUpn) + { + HostedSolutionLog.LogStart("GetLyncUserGeneralSettingsInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + HostedSolutionLog.DebugInfo("userUpn: {0}", userUpn); + + LyncUser lyncUser = new LyncUser(); + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Command cmd = new Command("Get-CsUser"); + cmd.Parameters.Add("Identity", userUpn); + Collection result = ExecuteShellCommand(runSpace, cmd); + PSObject user = result[0]; + + lyncUser.DisplayName = (string)GetPSObjectProperty(user, "DisplayName"); + lyncUser.PrimaryUri = (string)GetPSObjectProperty(user, "SipAddress"); + lyncUser.LineUri = (string)GetPSObjectProperty(user, "LineURI"); + } + catch (Exception ex) + { + HostedSolutionLog.LogError("GetLyncUserGeneralSettingsInternal", ex); + throw; + } + finally + { + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("GetLyncUserGeneralSettingsInternal"); + return lyncUser; + } + + + private bool SetLyncUserPlanInternal(string organizationId, string userUpn, LyncUserPlan plan, Runspace runSpace) + { + HostedSolutionLog.LogStart("SetLyncUserPlanInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + HostedSolutionLog.DebugInfo("userUpn: {0}", userUpn); + bool ret = true; + bool bCloseRunSpace = false; + + try + { + if (runSpace == null) + { + runSpace = OpenRunspace(); + bCloseRunSpace = true; + } + + //CsExternalAccessPolicy + Command cmd = new Command("Grant-CsExternalAccessPolicy"); + cmd.Parameters.Add("Identity", userUpn); + cmd.Parameters.Add("PolicyName", plan.Federation ? organizationId : null); + ExecuteShellCommand(runSpace, cmd); + + //CsConferencingPolicy + cmd = new Command("Grant-CsConferencingPolicy"); + cmd.Parameters.Add("Identity", userUpn); + cmd.Parameters.Add("PolicyName", plan.Federation ? organizationId : null); + ExecuteShellCommand(runSpace, cmd); + + //CsMobilityPolicy + cmd = new Command("Grant-CsMobilityPolicy"); + cmd.Parameters.Add("Identity", userUpn); + if (plan.Mobility) + cmd.Parameters.Add("PolicyName", plan.MobilityEnableOutsideVoice ? organizationId + " EnableOutSideVoice" : organizationId + " DisableOutSideVoice"); + else + cmd.Parameters.Add("PolicyName", null); + ExecuteShellCommand(runSpace, cmd); + + //initiate user database replication + cmd = new Command("Update-CsUserDatabase"); + ExecuteShellCommand(runSpace, cmd, false); + } + catch (Exception ex) + { + ret = false; + HostedSolutionLog.LogError("SetLyncUserPlanInternal", ex); + throw; + } + finally + { + + if (bCloseRunSpace) CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("SetLyncUserPlanInternal"); + return ret; + } + + + private bool DeleteUserInternal(string userUpn) + { + HostedSolutionLog.LogStart("DeleteUserInternal"); + HostedSolutionLog.DebugInfo("userUpn: {0}", userUpn); + + bool ret = true; + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + //Delete User + DeleteUser(runSpace, userUpn); + + //Clear groupingID and tenantID + Command cmd = new Command("Get-CsAdUser"); + cmd.Parameters.Add("Identity", userUpn); + Collection result = ExecuteShellCommand(runSpace, cmd); + + string path = AddADPrefix(GetResultObjectDN(result)); + DirectoryEntry user = ActiveDirectoryUtils.GetADObject(path); + ActiveDirectoryUtils.ClearADObjectPropertyValue(user, "msRTCSIP-GroupingID"); + ActiveDirectoryUtils.ClearADObjectPropertyValue(user, "msRTCSIP-TenantId"); + ActiveDirectoryUtils.ClearADObjectPropertyValue(user, "msRTCSIP-BaseSimpleUrl"); + user.CommitChanges(); + + //initiate addressbook generation + cmd = new Command("Update-CsAddressBook"); + ExecuteShellCommand(runSpace, cmd, false); + + //initiate user database replication + cmd = new Command("Update-CsUserDatabase"); + ExecuteShellCommand(runSpace, cmd, false); + } + catch (Exception ex) + { + ret = false; + HostedSolutionLog.LogError("DeleteUserInternal", ex); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("DeleteUserInternal"); + return ret; + } + + internal void DeleteUser(Runspace runSpace, string userUpn) + { + HostedSolutionLog.LogStart("DeleteUser"); + HostedSolutionLog.DebugInfo("userUpn : {0}", userUpn); + Command cmd = new Command("Disable-CsUser"); + cmd.Parameters.Add("Identity", userUpn); + cmd.Parameters.Add("Confirm", false); + ExecuteShellCommand(runSpace, cmd, false); + HostedSolutionLog.LogEnd("DeleteUser"); + } + + #endregion + + #region SipDomains + internal void DeleteSipDomain(Runspace runSpace, string id) + { + HostedSolutionLog.LogStart("DeleteSipDomain"); + HostedSolutionLog.DebugInfo("SipDomain : {0}", id); + Command cmd = new Command("Remove-CsSipDomain"); + cmd.Parameters.Add("Identity", id); + cmd.Parameters.Add("Confirm", false); + cmd.Parameters.Add("Force", true); + ExecuteShellCommand(runSpace, cmd, false); + HostedSolutionLog.LogEnd("DeleteSipDomain"); + } + + private void CreateSimpleUrl(Runspace runSpace, string sipDomain, Guid id) + { + //Create the simpleUrlEntry + Command cmd = new Command("Get-CsSipDomain"); + Collection sipDomains = ExecuteShellCommand(runSpace, cmd, false); + + IList SimpleUrls = new List(); + + + foreach (PSObject domain in sipDomains) + { + string d = (string)GetPSObjectProperty(domain, "Name"); + string Url = SimpleUrlRoot + d; + + + //Create the simpleUrlEntry + cmd = new Command("New-CsSimpleUrlEntry"); + cmd.Parameters.Add("Url", Url); + Collection simpleUrlEntry = ExecuteShellCommand(runSpace, cmd, false); + + //Create the simpleUrl + cmd = new Command("New-CsSimpleUrl"); + cmd.Parameters.Add("Component", "meet"); + cmd.Parameters.Add("Domain", d); + cmd.Parameters.Add("SimpleUrl", simpleUrlEntry[0]); + cmd.Parameters.Add("ActiveUrl", Url); + Collection simpleUrl = ExecuteShellCommand(runSpace, cmd, false); + + SimpleUrls.Add(simpleUrl[0]); + } + + Hashtable properties = new Hashtable(); + properties.Add("Add", SimpleUrls); + + //PSListModifier + cmd = new Command("Set-CsSimpleUrlConfiguration"); + cmd.Parameters.Add("Identity", "Global"); + cmd.Parameters.Add("Tenant", id); + cmd.Parameters.Add("SimpleUrl", SimpleUrls); + ExecuteShellCommand(runSpace, cmd, false); + } + + + internal void DeleteSimpleUrl(Runspace runSpace, string sipDomain, Guid id) + { + /* + //build the url + string Url = SimpleUrlRoot + sipDomain; + + //Create the simpleUrlEntry + Command cmd = new Command("New-CsSimpleUrlEntry"); + cmd.Parameters.Add("Url", Url); + Collection simpleUrlEntry = ExecuteShellCommand(runSpace, cmd, false); + + //Create the simpleUrl + cmd = new Command("New-CsSimpleUrl"); + cmd.Parameters.Add("Component", "meet"); + cmd.Parameters.Add("Domain", sipDomain); + cmd.Parameters.Add("SimpleUrl", simpleUrlEntry[0]); + cmd.Parameters.Add("ActiveUrl", Url); + Collection simpleUrl = ExecuteShellCommand(runSpace, cmd, false); + + //PSListModifier + + Hashtable properties = new Hashtable(); + properties.Add("Remove", simpleUrl[0]); + + cmd = new Command("Set-CsSimpleUrlConfiguration"); + cmd.Parameters.Add("Identity", "Global"); + cmd.Parameters.Add("Tenant", id); + cmd.Parameters.Add("SimpleUrl", properties); + ExecuteShellCommand(runSpace, cmd, false); + */ + } + + + #endregion + + #region Policies + + internal void DeleteConferencingPolicy(Runspace runSpace, string policyName) + { + HostedSolutionLog.LogStart("DeleteConferencingPolicy"); + HostedSolutionLog.DebugInfo("policyName : {0}", policyName); + Command cmd = new Command("Remove-CsConferencingPolicy"); + cmd.Parameters.Add("Identity", policyName); + cmd.Parameters.Add("Confirm", false); + cmd.Parameters.Add("Force", true); + ExecuteShellCommand(runSpace, cmd, false); + HostedSolutionLog.LogEnd("DeleteConferencingPolicy"); + } + + internal void DeleteExternalAccessPolicy(Runspace runSpace, string policyName) + { + HostedSolutionLog.LogStart("DeleteExternalAccessPolicy"); + HostedSolutionLog.DebugInfo("policyName : {0}", policyName); + Command cmd = new Command("Remove-CsExternalAccessPolicy"); + cmd.Parameters.Add("Identity", policyName); + cmd.Parameters.Add("Confirm", false); + cmd.Parameters.Add("Force", true); + ExecuteShellCommand(runSpace, cmd, false); + HostedSolutionLog.LogEnd("DeleteExternalAccessPolicy"); + } + + internal void DeleteMobilityPolicy(Runspace runSpace, string policyName) + { + HostedSolutionLog.LogStart("DeleteMobilityPolicy"); + HostedSolutionLog.DebugInfo("policyName : {0}", policyName); + Command cmd = new Command("Remove-CsMobilityPolicy"); + cmd.Parameters.Add("Identity", policyName); + cmd.Parameters.Add("Confirm", false); + cmd.Parameters.Add("Force", true); + ExecuteShellCommand(runSpace, cmd, false); + HostedSolutionLog.LogEnd("DeleteMobilityPolicy"); + } + + #endregion + + #region Sytsem Related Methods + private void ReloadConfigurationInternal() + { + HostedSolutionLog.LogStart("ReloadConfigurationInternal"); + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Command cmd = new Command("Enable-CsComputer"); + ExecuteShellCommand(runSpace, cmd, false); + } + catch (Exception ex) + { + HostedSolutionLog.LogError("ReloadConfigurationInternal", ex); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("ReloadConfigurationInternal"); + } + + + #endregion + + #region Federation Domains + private LyncFederationDomain[] GetFederationDomainsInternal(string organizationId) + { + + HostedSolutionLog.LogStart("GetFederationDomainsInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + + + LyncFederationDomain[] domains = null; + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Guid tenantId = Guid.Empty; + + domains = GetFederationDomainsInternal(runSpace, organizationId, ref tenantId); + + } + catch (Exception ex) + { + HostedSolutionLog.LogError("GetFederationDomainsInternal", ex); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("GetFederationDomainsInternal"); + + return domains; + } + + private LyncFederationDomain[] GetFederationDomainsInternal(Runspace runSpace, string organizationId, ref Guid tenantId) + { + //Get TenantID + List domains = null; + Command cmd = new Command("Get-CsTenant"); + cmd.Parameters.Add("Identity", GetOrganizationPath(organizationId)); + Collection result = ExecuteShellCommand(runSpace, cmd, false); + if ((result != null) && (result.Count > 0)) + { + tenantId = (Guid)GetPSObjectProperty(result[0], "TenantId"); + + //Get-CSTenantFederationConfiguration (AllowedDomains) + cmd = new Command("Get-CsTenantFederationConfiguration"); + cmd.Parameters.Add("Tenant", tenantId); + result = ExecuteShellCommand(runSpace, cmd, false); + + if ((result != null) && (result.Count > 0)) + { + domains = new List(); + + if (GetPSObjectProperty(result[0], "AllowedDomains").GetType().ToString() == "Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowList") + { + AllowList allowList = (AllowList)GetPSObjectProperty(result[0], "AllowedDomains"); + + foreach (DomainPattern d in allowList.AllowedDomain) + { + LyncFederationDomain domain = new LyncFederationDomain(); + domain.DomainName = d.Domain.ToString(); + domains.Add(domain); + } + } + } + } + + if (domains != null) + return domains.ToArray(); + else + return null; + } + + + private bool AddFederationDomainInternal(string organizationId, string domainName, string proxyFqdn) + { + HostedSolutionLog.LogStart("AddFederationDomainInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + HostedSolutionLog.DebugInfo("domainName: {0}", domainName); + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Guid tenantId = Guid.Empty; + Command cmd = new Command("Get-CsTenant"); + cmd.Parameters.Add("Identity", GetOrganizationPath(organizationId)); + Collection result = ExecuteShellCommand(runSpace, cmd, false); + if ((result != null) && (result.Count > 0)) + { + tenantId = (Guid)GetPSObjectProperty(result[0], "TenantId"); + + //Get-CSTenantFederationConfiguration (AllowedDomains) + cmd = new Command("Get-CsTenantFederationConfiguration"); + cmd.Parameters.Add("Tenant", tenantId); + result = ExecuteShellCommand(runSpace, cmd, false); + + if ((result != null) && (result.Count > 0)) + { + AllowList allowList = null; + + if (GetPSObjectProperty(result[0], "AllowedDomains").GetType().ToString() == "Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowList") + { + allowList = (AllowList)GetPSObjectProperty(result[0], "AllowedDomains"); + DomainPattern domain = new DomainPattern(domainName); + allowList.AllowedDomain.Add(domain); + } + else + { + allowList = new AllowList(); + DomainPattern domain = new DomainPattern(domainName); + allowList.AllowedDomain.Add(domain); + } + + cmd = new Command("Set-CsTenantFederationConfiguration"); + cmd.Parameters.Add("Tenant", tenantId); + cmd.Parameters.Add("AllowedDomains", allowList); + ExecuteShellCommand(runSpace, cmd, false); + } + } + } + catch (Exception ex) + { + HostedSolutionLog.LogError("AddFederationDomainInternal", ex); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("AddFederationDomainInternal"); + + return true; + } + + private bool RemoveFederationDomainInternal(string organizationId, string domainName) + { + HostedSolutionLog.LogStart("RemoveFederationDomainInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + HostedSolutionLog.DebugInfo("domainName: {0}", domainName); + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Guid tenantId = Guid.Empty; + Command cmd = new Command("Get-CsTenant"); + cmd.Parameters.Add("Identity", GetOrganizationPath(organizationId)); + Collection result = ExecuteShellCommand(runSpace, cmd, false); + if ((result != null) && (result.Count > 0)) + { + tenantId = (Guid)GetPSObjectProperty(result[0], "TenantId"); + + //Get-CSTenantFederationConfiguration (AllowedDomains) + cmd = new Command("Get-CsTenantFederationConfiguration"); + cmd.Parameters.Add("Tenant", tenantId); + result = ExecuteShellCommand(runSpace, cmd, false); + + if ((result != null) && (result.Count > 0)) + { + AllowList allowList = null; + + if (GetPSObjectProperty(result[0], "AllowedDomains").GetType().ToString() == "Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowList") + { + allowList = (AllowList)GetPSObjectProperty(result[0], "AllowedDomains"); + DomainPattern domain = new DomainPattern(domainName); + allowList.AllowedDomain.Remove(domain); + } + + cmd = new Command("Set-CsTenantFederationConfiguration"); + cmd.Parameters.Add("Tenant", tenantId); + cmd.Parameters.Add("AllowedDomains", allowList); + ExecuteShellCommand(runSpace, cmd, false); + } + } + } + catch (Exception ex) + { + HostedSolutionLog.LogError("RemoveFederationDomainInternal", ex); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("RemoveFederationDomainInternal"); + + return true; + } + + + + + #endregion + + #region PowerShell integration + private static InitialSessionState session = null; + + internal virtual Runspace OpenRunspace() + { + HostedSolutionLog.LogStart("OpenRunspace"); + + if (session == null) + { + session = InitialSessionState.CreateDefault(); + session.ImportPSModule(new string[] { "ActiveDirectory", "Lync", "LyncOnline" }); + } + Runspace runSpace = RunspaceFactory.CreateRunspace(session); + // + runSpace.Open(); + // + runSpace.SessionStateProxy.SetVariable("ConfirmPreference", "none"); + HostedSolutionLog.LogEnd("OpenRunspace"); + return runSpace; + } + + internal void CloseRunspace(Runspace runspace) + { + try + { + if (runspace != null && runspace.RunspaceStateInfo.State == RunspaceState.Opened) + { + runspace.Close(); + } + } + catch (Exception ex) + { + HostedSolutionLog.LogError("Runspace error", ex); + } + } + + internal Collection ExecuteShellCommand(Runspace runSpace, Command cmd) + { + return ExecuteShellCommand(runSpace, cmd, true); + } + + internal Collection ExecuteShellCommand(Runspace runSpace, Command cmd, bool useDomainController) + { + object[] errors; + return ExecuteShellCommand(runSpace, cmd, useDomainController, out errors); + } + + internal Collection ExecuteShellCommand(Runspace runSpace, Command cmd, out object[] errors) + { + return ExecuteShellCommand(runSpace, cmd, true, out errors); + } + + internal Collection ExecuteShellCommand(Runspace runSpace, Command cmd, bool useDomainController, out object[] errors) + { + HostedSolutionLog.LogStart("ExecuteShellCommand"); + List errorList = new List(); + + if (useDomainController) + { + CommandParameter dc = new CommandParameter("DomainController", PrimaryDomainController); + if (!cmd.Parameters.Contains(dc)) + { + cmd.Parameters.Add(dc); + } + } + + HostedSolutionLog.DebugCommand(cmd); + Collection results = null; + // Create a pipeline + Pipeline pipeLine = runSpace.CreatePipeline(); + using (pipeLine) + { + // Add the command + pipeLine.Commands.Add(cmd); + // Execute the pipeline and save the objects returned. + results = pipeLine.Invoke(); + + // Log out any errors in the pipeline execution + // NOTE: These errors are NOT thrown as exceptions! + // Be sure to check this to ensure that no errors + // happened while executing the command. + if (pipeLine.Error != null && pipeLine.Error.Count > 0) + { + foreach (object item in pipeLine.Error.ReadToEnd()) + { + errorList.Add(item); + string errorMessage = string.Format("Invoke error: {0}", item); + HostedSolutionLog.LogWarning(errorMessage); + } + } + } + pipeLine = null; + errors = errorList.ToArray(); + HostedSolutionLog.LogEnd("ExecuteShellCommand"); + return results; + } + + internal object GetPSObjectProperty(PSObject obj, string name) + { + return obj.Members[name].Value; + } + + /// + /// Returns the identity of the object from the shell execution result + /// + /// + /// + internal string GetResultObjectIdentity(Collection result) + { + HostedSolutionLog.LogStart("GetResultObjectIdentity"); + if (result == null) + throw new ArgumentNullException("result", "Execution result is not specified"); + + if (result.Count < 1) + throw new ArgumentException("Execution result is empty", "result"); + + if (result.Count > 1) + throw new ArgumentException("Execution result contains more than one object", "result"); + + PSMemberInfo info = result[0].Members["Identity"]; + if (info == null) + throw new ArgumentException("Execution result does not contain Identity property", "result"); + + string ret = info.Value.ToString(); + HostedSolutionLog.LogEnd("GetResultObjectIdentity"); + return ret; + } + + internal string GetResultObjectDN(Collection result) + { + HostedSolutionLog.LogStart("GetResultObjectDN"); + if (result == null) + throw new ArgumentNullException("result", "Execution result is not specified"); + + if (result.Count < 1) + throw new ArgumentException("Execution result does not contain any object"); + + if (result.Count > 1) + throw new ArgumentException("Execution result contains more than one object"); + + PSMemberInfo info = result[0].Members["DistinguishedName"]; + if (info == null) + throw new ArgumentException("Execution result does not contain DistinguishedName property", "result"); + + string ret = info.Value.ToString(); + HostedSolutionLog.LogEnd("GetResultObjectDN"); + return ret; + } + + + #endregion + + #region Transactions + + internal LyncTransaction StartTransaction() + { + return new LyncTransaction(); + } + + internal void RollbackTransaction(LyncTransaction transaction) + { + HostedSolutionLog.LogStart("RollbackTransaction"); + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + + for (int i = transaction.Actions.Count - 1; i > -1; i--) + { + //reverse order + try + { + RollbackAction(transaction.Actions[i], runSpace); + } + catch (Exception ex) + { + HostedSolutionLog.LogError("Rollback error", ex); + } + } + } + catch (Exception ex) + { + HostedSolutionLog.LogError("Rollback error", ex); + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("RollbackTransaction"); + } + + private void RollbackAction(TransactionAction action, Runspace runspace) + { + HostedSolutionLog.LogInfo("Rollback action: {0}", action.ActionType); + switch (action.ActionType) + { + case TransactionAction.TransactionActionTypes.LyncNewSipDomain: + DeleteSipDomain(runspace, action.Id); + break; + //case TransactionAction.TransactionActionTypes.LyncNewSimpleUrl: + //DeleteSimpleUrl(runspace, action.Id); + //break; + case TransactionAction.TransactionActionTypes.LyncNewUser: + DeleteUser(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.LyncNewConferencingPolicy: + DeleteConferencingPolicy(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.LyncNewExternalAccessPolicy: + DeleteExternalAccessPolicy(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.LyncNewMobilityPolicy: + DeleteMobilityPolicy(runspace, action.Id); + break; + } + } + + #endregion + + #region helpers + private string GetOrganizationPath(string organizationId) + { + StringBuilder sb = new StringBuilder(); + // append provider + AppendOUPath(sb, organizationId); + AppendOUPath(sb, RootOU); + AppendDomainPath(sb, RootDomain); + + return sb.ToString(); + } + + private static void AppendOUPath(StringBuilder sb, string ou) + { + if (string.IsNullOrEmpty(ou)) + return; + + string path = ou.Replace("/", "\\"); + string[] parts = path.Split('\\'); + for (int i = parts.Length - 1; i != -1; i--) + sb.Append("OU=").Append(parts[i]).Append(","); + } + + private static void AppendDomainPath(StringBuilder sb, string domain) + { + if (string.IsNullOrEmpty(domain)) + return; + + string[] parts = domain.Split('.'); + for (int i = 0; i < parts.Length; i++) + { + sb.Append("DC=").Append(parts[i]); + + if (i < (parts.Length - 1)) + sb.Append(","); + } + } + + internal string AddADPrefix(string path) + { + string dn = path; + if (!dn.ToUpper().StartsWith("LDAP://")) + { + dn = string.Format("LDAP://{0}/{1}", PrimaryDomainController, dn); + } + return dn; + } + + #endregion + + public override bool IsInstalled() + { + string value = ""; + bool bResult = false; + RegistryKey root = Registry.LocalMachine; + RegistryKey rk = root.OpenSubKey(LyncRegistryPath); + if (rk != null) + { + value = (string)rk.GetValue("ProductVersion", null); + if (value == "4.0.7577.0") + bResult = true; + + rk.Close(); + } + return bResult; + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/LyncTransaction.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/LyncTransaction.cs new file mode 100644 index 00000000..811a93ec --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/LyncTransaction.cs @@ -0,0 +1,97 @@ +// 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. + +using System.Collections.Generic; + +namespace WebsitePanel.Providers.HostedSolution +{ + internal class LyncTransaction + { + List actions = null; + + public LyncTransaction() + { + actions = new List(); + } + + internal List Actions + { + get { return actions; } + } + + internal void RegisterNewSipDomain(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.LyncNewSipDomain; + action.Id = id; + Actions.Add(action); + } + + internal void RegisterNewSimpleUrl(string sipDomain, string tenantID) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.LyncNewSimpleUrl; + action.Id = sipDomain; + action.Account = tenantID; + Actions.Add(action); + } + + + internal void RegisterNewConferencingPolicy(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.LyncNewConferencingPolicy; + action.Id = id; + Actions.Add(action); + } + + internal void RegisterNewCsExternalAccessPolicy(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.LyncNewExternalAccessPolicy; + action.Id = id; + Actions.Add(action); + } + + internal void RegisterNewCsMobilityPolicy(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.LyncNewMobilityPolicy; + action.Id = id; + Actions.Add(action); + } + + internal void RegisterNewCsUser(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.LyncNewUser; + action.Id = id; + Actions.Add(action); + } + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj index a1441425..20a414bf 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj @@ -106,6 +106,15 @@ False ..\..\Lib\References\Microsoft\Microsoft.Exchange.Net.dll + + ..\..\Lib\References\Microsoft\Microsoft.Rtc.Management.Core.dll + + + ..\..\Lib\References\Microsoft\Microsoft.Rtc.Management.Hosted.dll + + + ..\..\Lib\References\Microsoft\Microsoft.Rtc.Management.WritableConfig.dll + ..\..\Lib\References\Microsoft\Microsoft.SharePoint.dll False @@ -133,6 +142,8 @@ + + diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/LyncServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/LyncServerProxy.cs new file mode 100644 index 00000000..49a11f35 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/LyncServerProxy.cs @@ -0,0 +1,912 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.5456 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// +// This source code was auto-generated by wsdl, Version=2.0.50727.42. +// +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Providers.Lync +{ + using System.Xml.Serialization; + using System.Web.Services; + using System.ComponentModel; + using System.Web.Services.Protocols; + using System; + using System.Diagnostics; + + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Web.Services.WebServiceBindingAttribute(Name = "LyncServerSoap", Namespace = "http://smbsaas/websitepanel/server/")] + public partial class LyncServer : Microsoft.Web.Services3.WebServicesClientProtocol + { + + public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue; + + private System.Threading.SendOrPostCallback CreateOrganizationOperationCompleted; + + private System.Threading.SendOrPostCallback DeleteOrganizationOperationCompleted; + + private System.Threading.SendOrPostCallback CreateUserOperationCompleted; + + private System.Threading.SendOrPostCallback GetLyncUserGeneralSettingsOperationCompleted; + + private System.Threading.SendOrPostCallback SetLyncUserPlanOperationCompleted; + + private System.Threading.SendOrPostCallback DeleteUserOperationCompleted; + + private System.Threading.SendOrPostCallback GetFederationDomainsOperationCompleted; + + private System.Threading.SendOrPostCallback AddFederationDomainOperationCompleted; + + private System.Threading.SendOrPostCallback RemoveFederationDomainOperationCompleted; + + private System.Threading.SendOrPostCallback ReloadConfigurationOperationCompleted; + + /// + public LyncServer() + { + this.Url = "http://localhost:9003/LyncServer.asmx"; + } + + /// + public event CreateOrganizationCompletedEventHandler CreateOrganizationCompleted; + + /// + public event DeleteOrganizationCompletedEventHandler DeleteOrganizationCompleted; + + /// + public event CreateUserCompletedEventHandler CreateUserCompleted; + + /// + public event GetLyncUserGeneralSettingsCompletedEventHandler GetLyncUserGeneralSettingsCompleted; + + /// + public event SetLyncUserPlanCompletedEventHandler SetLyncUserPlanCompleted; + + /// + public event DeleteUserCompletedEventHandler DeleteUserCompleted; + + /// + public event GetFederationDomainsCompletedEventHandler GetFederationDomainsCompleted; + + /// + public event AddFederationDomainCompletedEventHandler AddFederationDomainCompleted; + + /// + public event RemoveFederationDomainCompletedEventHandler RemoveFederationDomainCompleted; + + /// + public event ReloadConfigurationCompletedEventHandler ReloadConfigurationCompleted; + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateOrganization", 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 string CreateOrganization(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice) + { + object[] results = this.Invoke("CreateOrganization", new object[] { + organizationId, + sipDomain, + enableConferencing, + enableConferencingVideo, + maxConferenceSize, + enabledFederation, + enabledEnterpriseVoice}); + return ((string)(results[0])); + } + + /// + public System.IAsyncResult BeginCreateOrganization(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("CreateOrganization", new object[] { + organizationId, + sipDomain, + enableConferencing, + enableConferencingVideo, + maxConferenceSize, + enabledFederation, + enabledEnterpriseVoice}, callback, asyncState); + } + + /// + public string EndCreateOrganization(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((string)(results[0])); + } + + /// + public void CreateOrganizationAsync(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice) + { + this.CreateOrganizationAsync(organizationId, sipDomain, enableConferencing, enableConferencingVideo, maxConferenceSize, enabledFederation, enabledEnterpriseVoice, null); + } + + /// + public void CreateOrganizationAsync(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice, object userState) + { + if ((this.CreateOrganizationOperationCompleted == null)) + { + this.CreateOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrganizationOperationCompleted); + } + this.InvokeAsync("CreateOrganization", new object[] { + organizationId, + sipDomain, + enableConferencing, + enableConferencingVideo, + maxConferenceSize, + enabledFederation, + enabledEnterpriseVoice}, this.CreateOrganizationOperationCompleted, userState); + } + + private void OnCreateOrganizationOperationCompleted(object arg) + { + if ((this.CreateOrganizationCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.CreateOrganizationCompleted(this, new CreateOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteOrganization", 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 bool DeleteOrganization(string organizationId, string sipDomain) + { + object[] results = this.Invoke("DeleteOrganization", new object[] { + organizationId, + sipDomain}); + return ((bool)(results[0])); + } + + /// + public System.IAsyncResult BeginDeleteOrganization(string organizationId, string sipDomain, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("DeleteOrganization", new object[] { + organizationId, + sipDomain}, callback, asyncState); + } + + /// + public bool EndDeleteOrganization(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((bool)(results[0])); + } + + /// + public void DeleteOrganizationAsync(string organizationId, string sipDomain) + { + this.DeleteOrganizationAsync(organizationId, sipDomain, null); + } + + /// + public void DeleteOrganizationAsync(string organizationId, string sipDomain, object userState) + { + if ((this.DeleteOrganizationOperationCompleted == null)) + { + this.DeleteOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteOrganizationOperationCompleted); + } + this.InvokeAsync("DeleteOrganization", new object[] { + organizationId, + sipDomain}, this.DeleteOrganizationOperationCompleted, userState); + } + + private void OnDeleteOrganizationOperationCompleted(object arg) + { + if ((this.DeleteOrganizationCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.DeleteOrganizationCompleted(this, new DeleteOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateUser", 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 bool CreateUser(string organizationId, string userUpn, LyncUserPlan plan) + { + object[] results = this.Invoke("CreateUser", new object[] { + organizationId, + userUpn, + plan}); + return ((bool)(results[0])); + } + + /// + public System.IAsyncResult BeginCreateUser(string organizationId, string userUpn, LyncUserPlan plan, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("CreateUser", new object[] { + organizationId, + userUpn, + plan}, callback, asyncState); + } + + /// + public bool EndCreateUser(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((bool)(results[0])); + } + + /// + public void CreateUserAsync(string organizationId, string userUpn, LyncUserPlan plan) + { + this.CreateUserAsync(organizationId, userUpn, plan, null); + } + + /// + public void CreateUserAsync(string organizationId, string userUpn, LyncUserPlan plan, object userState) + { + if ((this.CreateUserOperationCompleted == null)) + { + this.CreateUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateUserOperationCompleted); + } + this.InvokeAsync("CreateUser", new object[] { + organizationId, + userUpn, + plan}, this.CreateUserOperationCompleted, userState); + } + + private void OnCreateUserOperationCompleted(object arg) + { + if ((this.CreateUserCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.CreateUserCompleted(this, new CreateUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetLyncUserGeneralSettings", 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 LyncUser GetLyncUserGeneralSettings(string organizationId, string userUpn) + { + object[] results = this.Invoke("GetLyncUserGeneralSettings", new object[] { + organizationId, + userUpn}); + return ((LyncUser)(results[0])); + } + + /// + public System.IAsyncResult BeginGetLyncUserGeneralSettings(string organizationId, string userUpn, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("GetLyncUserGeneralSettings", new object[] { + organizationId, + userUpn}, callback, asyncState); + } + + /// + public LyncUser EndGetLyncUserGeneralSettings(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUser)(results[0])); + } + + /// + public void GetLyncUserGeneralSettingsAsync(string organizationId, string userUpn) + { + this.GetLyncUserGeneralSettingsAsync(organizationId, userUpn, null); + } + + /// + public void GetLyncUserGeneralSettingsAsync(string organizationId, string userUpn, object userState) + { + if ((this.GetLyncUserGeneralSettingsOperationCompleted == null)) + { + this.GetLyncUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLyncUserGeneralSettingsOperationCompleted); + } + this.InvokeAsync("GetLyncUserGeneralSettings", new object[] { + organizationId, + userUpn}, this.GetLyncUserGeneralSettingsOperationCompleted, userState); + } + + private void OnGetLyncUserGeneralSettingsOperationCompleted(object arg) + { + if ((this.GetLyncUserGeneralSettingsCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetLyncUserGeneralSettingsCompleted(this, new GetLyncUserGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetLyncUserPlan", 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 bool SetLyncUserPlan(string organizationId, string userUpn, LyncUserPlan plan) + { + object[] results = this.Invoke("SetLyncUserPlan", new object[] { + organizationId, + userUpn, + plan}); + return ((bool)(results[0])); + } + + /// + public System.IAsyncResult BeginSetLyncUserPlan(string organizationId, string userUpn, LyncUserPlan plan, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("SetLyncUserPlan", new object[] { + organizationId, + userUpn, + plan}, callback, asyncState); + } + + /// + public bool EndSetLyncUserPlan(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((bool)(results[0])); + } + + /// + public void SetLyncUserPlanAsync(string organizationId, string userUpn, LyncUserPlan plan) + { + this.SetLyncUserPlanAsync(organizationId, userUpn, plan, null); + } + + /// + public void SetLyncUserPlanAsync(string organizationId, string userUpn, LyncUserPlan plan, object userState) + { + if ((this.SetLyncUserPlanOperationCompleted == null)) + { + this.SetLyncUserPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetLyncUserPlanOperationCompleted); + } + this.InvokeAsync("SetLyncUserPlan", new object[] { + organizationId, + userUpn, + plan}, this.SetLyncUserPlanOperationCompleted, userState); + } + + private void OnSetLyncUserPlanOperationCompleted(object arg) + { + if ((this.SetLyncUserPlanCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetLyncUserPlanCompleted(this, new SetLyncUserPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteUser", 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 bool DeleteUser(string userUpn) + { + object[] results = this.Invoke("DeleteUser", new object[] { + userUpn}); + return ((bool)(results[0])); + } + + /// + public System.IAsyncResult BeginDeleteUser(string userUpn, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("DeleteUser", new object[] { + userUpn}, callback, asyncState); + } + + /// + public bool EndDeleteUser(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((bool)(results[0])); + } + + /// + public void DeleteUserAsync(string userUpn) + { + this.DeleteUserAsync(userUpn, null); + } + + /// + public void DeleteUserAsync(string userUpn, object userState) + { + if ((this.DeleteUserOperationCompleted == null)) + { + this.DeleteUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteUserOperationCompleted); + } + this.InvokeAsync("DeleteUser", new object[] { + userUpn}, this.DeleteUserOperationCompleted, userState); + } + + private void OnDeleteUserOperationCompleted(object arg) + { + if ((this.DeleteUserCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.DeleteUserCompleted(this, new DeleteUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetFederationDomains", 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 LyncFederationDomain[] GetFederationDomains(string organizationId) + { + object[] results = this.Invoke("GetFederationDomains", new object[] { + organizationId}); + return ((LyncFederationDomain[])(results[0])); + } + + /// + public System.IAsyncResult BeginGetFederationDomains(string organizationId, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("GetFederationDomains", new object[] { + organizationId}, callback, asyncState); + } + + /// + public LyncFederationDomain[] EndGetFederationDomains(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((LyncFederationDomain[])(results[0])); + } + + /// + public void GetFederationDomainsAsync(string organizationId) + { + this.GetFederationDomainsAsync(organizationId, null); + } + + /// + public void GetFederationDomainsAsync(string organizationId, object userState) + { + if ((this.GetFederationDomainsOperationCompleted == null)) + { + this.GetFederationDomainsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFederationDomainsOperationCompleted); + } + this.InvokeAsync("GetFederationDomains", new object[] { + organizationId}, this.GetFederationDomainsOperationCompleted, userState); + } + + private void OnGetFederationDomainsOperationCompleted(object arg) + { + if ((this.GetFederationDomainsCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetFederationDomainsCompleted(this, new GetFederationDomainsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddFederationDomain", 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 bool AddFederationDomain(string organizationId, string domainName, string proxyFqdn) + { + object[] results = this.Invoke("AddFederationDomain", new object[] { + organizationId, + domainName, + proxyFqdn}); + return ((bool)(results[0])); + } + + /// + public System.IAsyncResult BeginAddFederationDomain(string organizationId, string domainName, string proxyFqdn, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("AddFederationDomain", new object[] { + organizationId, + domainName, + proxyFqdn}, callback, asyncState); + } + + /// + public bool EndAddFederationDomain(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((bool)(results[0])); + } + + /// + public void AddFederationDomainAsync(string organizationId, string domainName, string proxyFqdn) + { + this.AddFederationDomainAsync(organizationId, domainName, proxyFqdn, null); + } + + /// + public void AddFederationDomainAsync(string organizationId, string domainName, string proxyFqdn, object userState) + { + if ((this.AddFederationDomainOperationCompleted == null)) + { + this.AddFederationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddFederationDomainOperationCompleted); + } + this.InvokeAsync("AddFederationDomain", new object[] { + organizationId, + domainName, + proxyFqdn}, this.AddFederationDomainOperationCompleted, userState); + } + + private void OnAddFederationDomainOperationCompleted(object arg) + { + if ((this.AddFederationDomainCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.AddFederationDomainCompleted(this, new AddFederationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/RemoveFederationDomain", 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 bool RemoveFederationDomain(string organizationId, string domainName) + { + object[] results = this.Invoke("RemoveFederationDomain", new object[] { + organizationId, + domainName}); + return ((bool)(results[0])); + } + + /// + public System.IAsyncResult BeginRemoveFederationDomain(string organizationId, string domainName, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("RemoveFederationDomain", new object[] { + organizationId, + domainName}, callback, asyncState); + } + + /// + public bool EndRemoveFederationDomain(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((bool)(results[0])); + } + + /// + public void RemoveFederationDomainAsync(string organizationId, string domainName) + { + this.RemoveFederationDomainAsync(organizationId, domainName, null); + } + + /// + public void RemoveFederationDomainAsync(string organizationId, string domainName, object userState) + { + if ((this.RemoveFederationDomainOperationCompleted == null)) + { + this.RemoveFederationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveFederationDomainOperationCompleted); + } + this.InvokeAsync("RemoveFederationDomain", new object[] { + organizationId, + domainName}, this.RemoveFederationDomainOperationCompleted, userState); + } + + private void OnRemoveFederationDomainOperationCompleted(object arg) + { + if ((this.RemoveFederationDomainCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.RemoveFederationDomainCompleted(this, new RemoveFederationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/ReloadConfiguration", 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 void ReloadConfiguration() + { + this.Invoke("ReloadConfiguration", new object[0]); + } + + /// + public System.IAsyncResult BeginReloadConfiguration(System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("ReloadConfiguration", new object[0], callback, asyncState); + } + + /// + public void EndReloadConfiguration(System.IAsyncResult asyncResult) + { + this.EndInvoke(asyncResult); + } + + /// + public void ReloadConfigurationAsync() + { + this.ReloadConfigurationAsync(null); + } + + /// + public void ReloadConfigurationAsync(object userState) + { + if ((this.ReloadConfigurationOperationCompleted == null)) + { + this.ReloadConfigurationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnReloadConfigurationOperationCompleted); + } + this.InvokeAsync("ReloadConfiguration", new object[0], this.ReloadConfigurationOperationCompleted, userState); + } + + private void OnReloadConfigurationOperationCompleted(object arg) + { + if ((this.ReloadConfigurationCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.ReloadConfigurationCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + public new void CancelAsync(object userState) + { + base.CancelAsync(userState); + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CreateOrganizationCompletedEventHandler(object sender, CreateOrganizationCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CreateOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal CreateOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public string Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((string)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteOrganizationCompletedEventHandler(object sender, DeleteOrganizationCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal DeleteOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public bool Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CreateUserCompletedEventHandler(object sender, CreateUserCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CreateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal CreateUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public bool Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetLyncUserGeneralSettingsCompletedEventHandler(object sender, GetLyncUserGeneralSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetLyncUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal GetLyncUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public LyncUser Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((LyncUser)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetLyncUserPlanCompletedEventHandler(object sender, SetLyncUserPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetLyncUserPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal SetLyncUserPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public bool Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteUserCompletedEventHandler(object sender, DeleteUserCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal DeleteUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public bool Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetFederationDomainsCompletedEventHandler(object sender, GetFederationDomainsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetFederationDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal GetFederationDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public LyncFederationDomain[] Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((LyncFederationDomain[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void AddFederationDomainCompletedEventHandler(object sender, AddFederationDomainCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class AddFederationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal AddFederationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public bool Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void RemoveFederationDomainCompletedEventHandler(object sender, RemoveFederationDomainCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class RemoveFederationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal RemoveFederationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public bool Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void ReloadConfigurationCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); +} diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj b/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj index 0ac386bf..44b375f0 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj @@ -81,6 +81,7 @@ + diff --git a/WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx b/WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx new file mode 100644 index 00000000..8233e3df --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx @@ -0,0 +1 @@ +<%@ WebService Language="C#" CodeBehind="LyncServer.asmx.cs" Class="WebsitePanel.Server.LyncServer" %> diff --git a/WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx.cs new file mode 100644 index 00000000..8f04045d --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx.cs @@ -0,0 +1,236 @@ +// 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. + +using System; +using System.ComponentModel; +using System.Web.Services; +using System.Web.Services.Protocols; +using WebsitePanel.Providers; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Server.Utils; +using Microsoft.Web.Services3; + +namespace WebsitePanel.Server +{ + /// + /// OCS Web Service + /// + [WebService(Namespace = "http://smbsaas/websitepanel/server/")] + [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] + [Policy("ServerPolicy")] + [ToolboxItem(false)] + public class LyncServer : HostingServiceProviderWebService + { + private ILyncServer Lync + { + get { return (ILyncServer)Provider; } + } + + + #region Organization + [WebMethod, SoapHeader("settings")] + public string CreateOrganization(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice) + { + try + { + Log.WriteStart("{0}.CreateOrganization", ProviderSettings.ProviderName); + string ret = Lync.CreateOrganization(organizationId, sipDomain, enableConferencing, enableConferencingVideo, maxConferenceSize, enabledFederation, enabledEnterpriseVoice); + Log.WriteEnd("{0}.CreateOrganization", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.CreateOrganization", ProviderSettings.ProviderName), ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public bool DeleteOrganization(string organizationId, string sipDomain) + { + try + { + Log.WriteStart("{0}.DeleteOrganization", ProviderSettings.ProviderName); + bool ret = Lync.DeleteOrganization(organizationId, sipDomain); + Log.WriteEnd("{0}.DeleteOrganization", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.DeleteOrganization", ProviderSettings.ProviderName), ex); + throw; + } + } + #endregion + + #region Users + + [WebMethod, SoapHeader("settings")] + public bool CreateUser(string organizationId, string userUpn, LyncUserPlan plan) + { + try + { + Log.WriteStart("{0}.CreateUser", ProviderSettings.ProviderName); + bool ret = Lync.CreateUser(organizationId, userUpn, plan); + Log.WriteEnd("{0}.CreateUser", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.CreateUser", ProviderSettings.ProviderName), ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public LyncUser GetLyncUserGeneralSettings(string organizationId, string userUpn) + { + try + { + Log.WriteStart("{0}.GetLyncUserGeneralSettings", ProviderSettings.ProviderName); + LyncUser ret = Lync.GetLyncUserGeneralSettings(organizationId, userUpn); + Log.WriteEnd("{0}.GetLyncUserGeneralSettings", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.GetLyncUserGeneralSettings", ProviderSettings.ProviderName), ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public bool SetLyncUserPlan(string organizationId, string userUpn, LyncUserPlan plan) + { + try + { + Log.WriteStart("{0}.SetLyncUserPlan", ProviderSettings.ProviderName); + bool ret = Lync.SetLyncUserPlan(organizationId, userUpn, plan); + Log.WriteEnd("{0}.SetLyncUserPlan", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.SetLyncUserPlan", ProviderSettings.ProviderName), ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public bool DeleteUser(string userUpn) + { + try + { + Log.WriteStart("{0}.DeleteUser", ProviderSettings.ProviderName); + bool ret = Lync.DeleteUser(userUpn); + Log.WriteEnd("{0}.DeleteUser", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.DeleteUser", ProviderSettings.ProviderName), ex); + throw; + } + } + + #endregion + + #region Federation + [WebMethod, SoapHeader("settings")] + public LyncFederationDomain[] GetFederationDomains(string organizationId) + { + try + { + Log.WriteStart("{0}.GetFederationDomains", ProviderSettings.ProviderName); + LyncFederationDomain[] ret = Lync.GetFederationDomains(organizationId); + Log.WriteEnd("{0}.GetFederationDomains", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.GetFederationDomains", ProviderSettings.ProviderName), ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public bool AddFederationDomain(string organizationId, string domainName, string proxyFqdn) + { + try + { + Log.WriteStart("{0}.AddFederationDomain", ProviderSettings.ProviderName); + bool ret = Lync.AddFederationDomain(organizationId, domainName, proxyFqdn); + Log.WriteEnd("{0}.AddFederationDomain", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.AddFederationDomain", ProviderSettings.ProviderName), ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public bool RemoveFederationDomain(string organizationId, string domainName) + { + try + { + Log.WriteStart("{0}.RemoveFederationDomain", ProviderSettings.ProviderName); + bool ret = Lync.RemoveFederationDomain(organizationId, domainName); + Log.WriteEnd("{0}.RemoveFederationDomain", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.RemoveFederationDomain", ProviderSettings.ProviderName), ex); + throw; + } + } + #endregion + + [WebMethod, SoapHeader("settings")] + public void ReloadConfiguration() + { + try + { + Log.WriteStart("{0}.ReloadConfiguration", ProviderSettings.ProviderName); + Lync.ReloadConfiguration(); + Log.WriteEnd("{0}.ReloadConfiguration", ProviderSettings.ProviderName); + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.ReloadConfiguration", ProviderSettings.ProviderName), ex); + throw; + } + } + + + + + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj b/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj index affbf40f..4ae2bf2d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj @@ -68,6 +68,7 @@ + @@ -108,6 +109,10 @@ + + LyncServer.asmx + Component + OCSEdgeServer.asmx Component diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config index 76798152..e15f3f0a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config @@ -511,7 +511,15 @@ - + + + + + + + + + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx index c04ed97a..d0195f36 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx @@ -5005,4 +5005,133 @@ Consumer Organization Support + + Error deleting organization domain name. See audit log for more details. + + + Lync successfully enabled for this user + + + Cannot enable Lync User. The following errors have been occured: + + + Lync successfully added the federation domain + + + Cannot add federation domain. The following errors have been occured: + + + Lync successfully disabled for this user + + + Cannot delete Lync User, the following errors have been occured: + + + General Lync User settings have been successfully updated. + + + Error updating general Lync User settings. + + + Unable to add Lync user. + + + Unable to add Lync User to database. + + + Unable to check quota + + + Unable to delete Lync User. + + + Unable to delete Lync User from metadata. + + + Unable to get Lync proxy. + + + Unable to get user general settings. + + + Unable to set default settings. + + + Unable to get Lync Users. + + + Unable to get Lync Users count. + + + User first name is not specified. + + + Current user account is already enabled for Office Communications Server. + + + User last name is not specified. + + + Lync users quota has been reached. + + + Federation Allowed + + + Lync Users per Organization + + + Conferencing Allowed + + + Maximum participants per conference + + + Conference Video Allowed + + + Enterprise Voice Allowed + + + Enterprise Voice users + + + National Calls Allowed + + + Mobile Calls Allowed + + + International Calls Allowed + + + Lync Server + + + General Lync User settings have been successfully updated. + + + Lync User has been successfully created but the following errors have been occured: + + + Lync federation domain has been successfully created but the following errors have been occured: + + + Lync User has been successfully deleted but the following errors have been occured: + + + Error setting default organization lync user plan. See audit log for more details. + + + Add organization lync user plan + + + Delete plan + + + Unable to delete plan. Make sure the plan is not assigned to any user + + + Error creating organization plan. See audit log for more details. + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons.skin b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons.skin index 63089f09..5f9f29c4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons.skin +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons.skin @@ -66,6 +66,13 @@ Default skin template. The following skins are provided as examples only. +<%-- Lync Icons --%> + + + + + + <%-- BlackBerry Icons --%> <%-- VPS Icons --%> diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/Exchange/lync16.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/Exchange/lync16.png new file mode 100644 index 0000000000000000000000000000000000000000..e068fcbfa35c8f0dcebc83b026948cce91c510f5 GIT binary patch literal 602 zcmV-g0;TPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0q;pfK~y+TjZ!^p zR8bI}`>}bh#x1r>C&D&bSfmT-{U8t!D}RQFU?HT?1ws5F0U@0TRu-bIg+D0RSHrm6iowx2^LgeubC+|MEC6kI zQ~>Ya^_@gty*Qvz<8MS%?NXVi44c`>6`^=c0|dbvj8{cqF0soXLMV*TSxPwDl#qZa zS%P^=S+y5gVs`BnEfNss;Del=XT4=^dXQ4!v1$_Oi!4iVe|mS(D=B!l6``J$63Ygm z01XH#0CC+)=POU{qBh+nZj(W+DMigj3Cl$fStJz&AJo71=$$$n|Id%lZ+-d}>pDTl zV^UQR*paOX+Ee)pnIMrcoerF;$8D1*`qZl&Jb2LI3~&07*qoM6N<$g6lpCa{vGU literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lync16.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lync16.png new file mode 100644 index 0000000000000000000000000000000000000000..e068fcbfa35c8f0dcebc83b026948cce91c510f5 GIT binary patch literal 602 zcmV-g0;TPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0q;pfK~y+TjZ!^p zR8bI}`>}bh#x1r>C&D&bSfmT-{U8t!D}RQFU?HT?1ws5F0U@0TRu-bIg+D0RSHrm6iowx2^LgeubC+|MEC6kI zQ~>Ya^_@gty*Qvz<8MS%?NXVi44c`>6`^=c0|dbvj8{cqF0soXLMV*TSxPwDl#qZa zS%P^=S+y5gVs`BnEfNss;Del=XT4=^dXQ4!v1$_Oi!4iVe|mS(D=B!l6``J$63Ygm z01XH#0CC+)=POU{qBh+nZj(W+DMigj3Cl$fStJz&AJo71=$$$n|Id%lZ+-d}>pDTl zV^UQR*paOX+Ee)pnIMrcoerF;$8D1*`qZl&Jb2LI3~&07*qoM6N<$g6lpCa{vGU literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lync48.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lync48.png new file mode 100644 index 0000000000000000000000000000000000000000..3e31fe511f6a3b90ff9b0e71ef3ef48251b377ea GIT binary patch literal 6089 zcmV;)7dGgLP)pPPiaF#P*7-ZbZ>KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000d1Nkl{X^Kr=w>pqC{*R9ArH)W>JZ@!q(zs~GL&J2-d1GjB ztPxb?PP916jH?pfsBm`l)((WQ`P|{rz<@HUV~J0xgRd0T8|(T2C5|N&;<0STVR}a zB3y+4R?#Y$Yn8f13@FRWKXL59$)WB%O9|MhtOb^e9)9q9Blz1W!q1E>fj!Fb6MsbH_cjE8)Yd(DG-g=3MGQF zK+Fmx;iHp=OTwW<9?%h`CMh;ex3nCqZDT;-_{a`wTBmp(;Ij`Or7L6e)&G4HR0d_z zx@ZtvMcgf@AloO5jNz01Em)OAtVohJ<5+2z(WI>d3Jw&zsOilBd*p+M(ZIi6csrUY zG>GS;%nJC15_Jfd$ask)kpN3;Rhq7c2<#f@4T75%$)tjdH+&r#+z=hJr`}=(O1UgE zO}8yoA|P2S3PRi0fQ2&Dpe2oU9b(+TX?k&;$!kj}6sy%5GYgCKWEAiD%|q-QDpB(_ zzGxg@Xh!rItg1@nhyY4$9S{l`yREi~Fq^eeN?~b1yFQlo5lcmrB7iRe`n7RN0~0f4 z`tlvzH$D>ZJU+?JHE+G!ghL5T?3R>7_UP8LhW znnuK|g5V3(J)afV9vr>Dp}Kbz#n^+jB*akSuR za75#VyEc1>A-%;4Y%R)+e)mDyhS7vbzlYA&wWi|wR9&Bj_>?O(mKSR58X3g%HNQJL zK!0b3E9E*b%~h~779YL;F24WjMJ~ND$?Ua-DA|dCow4aG=IQM((zBx&@qar>w#k8{ z;0jqp`5N&B}{joq=LG)SE{Hesp6E z+qU@du{){OokXe)o;<&_#?^&ormxJAvxUL2-PFcMw~B$SW?x0R2FJq+)4VZW`N55K zUzlC4QCZqxY-c~&K@;F2IKI#PhUT5s8b?ZnKs5H{(IUKXeU*I9CZEfv^@0e4eFcsl z9Hv@xcy;0zT)i^OW8eG%aoLw}Ajz#dl?`M5R<4hrutd;Wu(Tjo(784cQY|YGvPi5T0ar)bUI_twj9T5*-5s&egS(2nXJ>b0=yuzk{RQT0 z4zDj(d1$zg(eBu~kI>7^dXtyuDqLT0Fub#uLg(FFzOmAVg(MLmiTo`95jm4d zR!N}nwPwljXlji{0)6E9vB(Oe+{D1g$NEzbd}Y4E4`3|L5$JN~u#;lA4-Yv*>uZ z$&%2-fC{1GhP#deGTgp*b(!y8U1r@4py6u4)jBx#gYTZ!!KVnG4kpOefsFUe@npHq zvlr)>+i>Ez*wc&aYdSh?KJn-u1Dpmo{C&kvb{4YuS}67J zNYZF9lWVRYm5n5NI9dS5k0ES2Yq&mlef;S_!ATnxXy7sN{V(yQA5R%L8HJ-ID3YSG z-i#ZDi^=jc>rE~$Z*cdHu7J5p1!k&EbRzLtVQvr=7a3X-bV^{Xay2-9043KCa>^}? z51-?S;Q9tSzC_UA+^ZB( z0q;m$p9*Q?lh{sr6gsIAFbX$U;^G~pqJCTmB}wS~B!rHX3Mq;4*2)I1KqJxmNvYAO z*p6!1!2HL)_8C)P1OfKa#4?4>4({m5@#P2hMfd;TjWS<*d(L!20?a-7{5$bVDHZlu z49>J+BVwnFvwOR9eDU5r(byBKHKr>KP>RLb>oE(78Bo~Vqd`<0)QRR(sn~%pFja2w zy=$?+dT6+pzc{)lU<<(0L=5Ah0`AA`TJRuZpijc5zrkd=4#2g^Dg0N?ZLSAIQl`f* zBqZJU*CKReEQSVh+*omOwa?$YdX+EUvxoQZij5oV35)@#x|$be*LdRC=qBT~+csRE zf18-+#T#V+Ru)%yW&_8EY{q7`<}kbAaACd@_jd#?t<`w^m0$4m`}ajo94L13?dc`X&9257+N^SI zz0Ta~BC9)cocOH|@ytJ;-&~PJXTQL;s$5{fxhoxeVDI7OrRXm8E-(2VIwK`vT zX^N-cH%3p^=IrEBknB9o-T5phjvwQZ`wnma{_@c2Z%NcD3}5$)CeqT;@8+85Zv^4H z0*Rz+P$Nk2G9)Z~v|$AEw}j|#2KSEBb!6`*RSQs^Tf%wmXXF;0Sj8IKC%^lTnQ(IbK z?H~RmW$2c#c|!+o=ie&7tW7BuPTuL(8E!R{Z9Mt4?gjzUvY)!$`~QCc&^pAD9WtB$ P00000NkvXXu0mjf9fGZY literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncfederationdomains48.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncfederationdomains48.png new file mode 100644 index 0000000000000000000000000000000000000000..6eb49bc58de8c3a6c4a171fec96c1deb0cbcf416 GIT binary patch literal 7772 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 literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncuserplanadd48.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncuserplanadd48.png new file mode 100644 index 0000000000000000000000000000000000000000..5e1af53e3c665d4cf98c8cda2181e2bf6243bd72 GIT binary patch literal 6037 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 Number of VM: + + BlackBerry Users: + + + Databases: + + + OCS Users: + + + Sharepoint Sites: + + + User Accounts: + + + Lync Users: + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs index 845c52e4..aae6f6d5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs @@ -82,7 +82,14 @@ namespace WebsitePanel.Portal { get { return GetCachedProxy(); } } - + + + public esLync Lync + { + get { return GetCachedProxy(); } + } + + public esOrganizations Organizations { get diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/LyncHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/LyncHelper.cs new file mode 100644 index 00000000..2724433e --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/LyncHelper.cs @@ -0,0 +1,85 @@ +// 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. + +using System; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Providers.ResultObjects; + +namespace WebsitePanel.Portal +{ + public class LyncHelper + { + + public LyncUser[] GetLyncUsersPaged(int itemId, + string filterColumn, string filterValue, + int maximumRows, int startRowIndex, string sortColumn) + { + if (!String.IsNullOrEmpty(filterValue)) + filterValue = filterValue + "%"; + if (maximumRows == 0) + { + maximumRows = Int32.MaxValue; + } + + string name = string.Empty; + string email = string.Empty; + + if (filterColumn == "DisplayName") + name = filterValue; + else + email = filterValue; + + + string[] data = sortColumn.Split(' '); + string direction = data.Length > 1 ? "DESC" : "ASC"; + LyncUsersPagedResult res = + ES.Services.Lync.GetLyncUsersPaged(itemId, data[0], direction, startRowIndex, maximumRows); + + return res.Value.PageUsers; + } + + + public int GetLyncUsersPagedCount(int itemId, string filterColumn, string filterValue) + { + string name = string.Empty; + string email = string.Empty; + + if (!string.IsNullOrEmpty(filterValue)) + filterValue = filterValue + "%"; + + if (filterColumn == "DisplayName") + name = filterValue; + else + email = filterValue; + + IntResult res = ES.Services.Lync.GetLyncUserCount(itemId); + return res.Value; + } + + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs index 544d78cf..4334509c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs @@ -143,14 +143,13 @@ namespace WebsitePanel.Portal.ExchangeServer } else besStatsPanel.Visible = false; -/* + if (cntx.Groups.ContainsKey(ResourceGroups.Lync)) { lyncStatsPanel.Visible = true; BindLyncStats(); } else - */ lyncStatsPanel.Visible = false; diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/Menu.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/Menu.ascx.resx index 91cf60e9..ea488c1d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/Menu.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/Menu.ascx.resx @@ -183,4 +183,16 @@ Mailbox Plans + + Lync + + + Lync User Plans + + + Lync Users + + + Lync Federation Domains + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs index baa30d3a..dcb79f7e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs @@ -202,6 +202,21 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls groups.Add(ocsGroup); } + private void PrepareLyncMenu(PackageContext cntx, List groups, string imagePath) + { + MenuGroup lyncGroup = + new MenuGroup(GetLocalizedString("Text.LyncGroup"), imagePath + "lync16.png"); + lyncGroup.MenuItems.Add(CreateMenuItem("LyncUsers", "lync_users")); + + lyncGroup.MenuItems.Add(CreateMenuItem("LyncUserPlans", "lync_userplans")); + + + if (CheckQouta(Quotas.LYNC_FEDERATION, cntx)) + lyncGroup.MenuItems.Add(CreateMenuItem("LyncFederationDomains", "lync_federationdomains")); + + groups.Add(lyncGroup); + } + private List PrepareMenu() { PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId); @@ -238,6 +253,9 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls if (cntx.Groups.ContainsKey(ResourceGroups.OCS)) PrepareOCSMenu(cntx, groups, imagePath); + //Lync Menu + if (cntx.Groups.ContainsKey(ResourceGroups.Lync)) + PrepareLyncMenu(cntx, groups, imagePath); return groups; } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddFederationDomain.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddFederationDomain.ascx.resx new file mode 100644 index 00000000..e777f6ab --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddFederationDomain.ascx.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Add Domain + + + Cancel + + + Please, enter correct domain name, for example "mydomain.com" or "sub.mydomain.com". + + + * + + + Please enter domain name + + + * + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddLyncUserPlan.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddLyncUserPlan.ascx.resx new file mode 100644 index 00000000..daee76c2 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddLyncUserPlan.ascx.resx @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + <p> A plan is a template that defines the characteristics of a lync users </p> <p>The plan name needs to be unique. A plan cannot be modified. In case a user needs a plan with another characteristics, a new plan needs to be created and assigned to the user. A plan can only be deleted when the plan is not assigned to any users. </p> + + + Add Lync User Plan + + + Lync User Plan + + + Please enter correct plan + + + * + + + Instant Messaging + + + Conferencing + + + Enterprise Voice + + + Emergency Calls + + + National Calls + + + Plan Features + + + Lync User Plan + + + Federation + + + Conferencing Settings + + + Add New Plan + + + International Calls + + + Mobile Calls + + + None + + + Maximum Conference Size + + + Enterprise Voice Policy + + + Mobile Access + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncCreateUser.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncCreateUser.ascx.resx new file mode 100644 index 00000000..fd626cd7 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncCreateUser.ascx.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Create Lync User + + + Create + + + Select an existing Organization user and click the “Create” button to enable an individual user account for Microsoft Lync Server. + + + Display name* : + + + Create Lync User + + + Plan Name* : + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncEditUser.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncEditUser.ascx.resx new file mode 100644 index 00000000..bad6c174 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncEditUser.ascx.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Edit Lync User + + + Save changes + + + <p> A plan is a template that defines the capabilities of a lync user. In order to change the plan assigned to this user, select a plan and click the Save Changes button </p> + + + Display name: + + + Edit Lync User + + + Plan Name : + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncFederationDomains.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncFederationDomains.ascx.resx new file mode 100644 index 00000000..e60864dd --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncFederationDomains.ascx.resx @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Add New Domain + + + if(!confirm('Are you sure you want to delete selected federation domain?')) return false; else ShowProgressDialog('Deleting Federation Domain...'); + + + Delete + + + Delete Federation DOmain + + + No domains have been added yet. To add a new domain click "Add New Domain" button. + + + Domain Name + + + <p>By adding a federation domain you allow your users, that are enabled for federation, to interact through Lync with users from the specified domain. Your users as well as the users from the federated domain will see eachother status. </p> + +<p>Federation is a mutual agreement between you and your federation partner (owner of the domain you want to federate with). Once you have added the federation domain to your list, your partner will need to do the same from his side</p> + + + + + Lync Federation Domains + + + Lync Federation Domains + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUserPlans.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUserPlans.ascx.resx new file mode 100644 index 00000000..536a1d01 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUserPlans.ascx.resx @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Add New Plan + + + Set Default Plan + + + if(!confirm('Are you sure you want to delete selected plan?')) return false; else ShowProgressDialog('Deleting plan...'); + + + Delete + + + Delete Plan + + + No plans have been added yet. To add a new plan click "Add New Plan" button. + + + Default Plan + + + Plan + + + <p> A plan is a template that defines the capabilities of a lync users </p> <p>The plan name needs to be unique. A plan cannot be modified. In case a lync user needs a plan with another characteristics, a new plan needs to be created and assigned to the lync user. A plan can only be deleted when the plan is not assigned to any lync users. </p> + + + Lync User Plans + + + Lync User Plans + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUsers.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUsers.ascx.resx new file mode 100644 index 00000000..9114e730 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUsers.ascx.resx @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Lync Users + + + Create Lync User + + + Display name + + + Sign-in name + + + <p>Microsoft Lync Server delivers unified communications to the users, including software-powered VoIP, Web and audio/video conferencing, and enterprise instant messaging.</p> +<p>Click the “Create Lync User” button to enable a user account for Microsoft Lync Server. </p> +<p>If you delete an account in Microsoft Lync Server, the account is no longer available for use with Microsoft Lync Server unless you enable the account again. When you delete an account, all Lync Server settings for the account are lost, so you must configure the account again after enabling.</p> + + + Display name + + + Sign-in name + + + Lync Users + + + return confirm('Are you sure you want to delete Lync User?'); + + + Lync User Plan + + + No users have been Lync enabled. To enable a user for Lync click "Create Lync User" button. + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx new file mode 100644 index 00000000..759710c9 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx @@ -0,0 +1,64 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncAddFederationDomain.ascx.cs" Inherits="WebsitePanel.Portal.LyncAddFederationDomain" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> + + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + + +
    +
    + + + + + + + + + + +
    + + + + + +
    + + + + +
    +
    +
    + + + +
    +
    +
    +
    + +
    +
    +
    +
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.cs new file mode 100644 index 00000000..642cf496 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.cs @@ -0,0 +1,82 @@ +// Copyright (c) 2011, 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. + +using System; +using WebsitePanel.Providers.ResultObjects; +using WebsitePanel.EnterpriseServer; + +namespace WebsitePanel.Portal +{ + public partial class LyncAddFederationDomain : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + ProxyFQDN.Visible = ProxyFQDN.Enabled = false; + locProxyFQDN.Visible = false; + } + + private void AddDomain() + { + if (!Page.IsValid) + return; + + + // get domain name + string domainName = DomainName.Text.Trim(); + string proxyFQDN = ProxyFQDN.Text.Trim(); + + + LyncUserResult res = ES.Services.Lync.AddFederationDomain(PanelRequest.ItemID, domainName, proxyFQDN); + if (!(res.IsSuccess && res.ErrorCodes.Count == 0)) + { + messageBox.ShowMessage(res, "ADD_LYNC_FEDERATIONDOMAIN", "LYNC"); + } + + + // return + RedirectBack(); + } + + private void RedirectBack() + { + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "lync_federationdomains", + "SpaceID=" + PanelSecurity.PackageId)); + + } + + protected void btnCancel_Click(object sender, EventArgs e) + { + // return + RedirectBack(); + } + protected void btnAdd_Click(object sender, EventArgs e) + { + AddDomain(); + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.designer.cs new file mode 100644 index 00000000..f244efeb --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.designer.cs @@ -0,0 +1,177 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal { + + + public partial class LyncAddFederationDomain { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// AddFederationDomain control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTable AddFederationDomain; + + /// + /// locDomainName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locDomainName; + + /// + /// DomainName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox DomainName; + + /// + /// DomainRequiredValidator control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator DomainRequiredValidator; + + /// + /// DomainFormatValidator control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator DomainFormatValidator; + + /// + /// locProxyFQDN control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locProxyFQDN; + + /// + /// ProxyFQDN control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox ProxyFQDN; + + /// + /// ProxyFqdnFormatValidator control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator ProxyFqdnFormatValidator; + + /// + /// btnAdd control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAdd; + + /// + /// btnCancel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnCancel; + + /// + /// ValidationSummary1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ValidationSummary ValidationSummary1; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx new file mode 100644 index 00000000..d8c55723 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx @@ -0,0 +1,132 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncAddLyncUserPlan.ascx.cs" Inherits="WebsitePanel.Portal.Lync.LyncAddLyncUserPlan" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/DaysBox.ascx" TagName="DaysBox" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> + + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + + +
    +
    + + + + + + + + + + +
    + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    + +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    + +
    + +
    +
    +
    + + +
    +
    + + +
    +
    +
    +
    + +
    +
    +
    +
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.cs new file mode 100644 index 00000000..64b99076 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.cs @@ -0,0 +1,157 @@ +// Copyright (c) 2011, 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. + +using System; +using WebsitePanel.EnterpriseServer; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Providers.ResultObjects; + +namespace WebsitePanel.Portal.Lync +{ + public partial class LyncAddLyncUserPlan : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + + if (!IsPostBack) + { + if (PanelRequest.GetInt("LyncUserPlanId") != 0) + { + Providers.HostedSolution.LyncUserPlan plan = ES.Services.Lync.GetLyncUserPlan(PanelRequest.ItemID, PanelRequest.GetInt("LyncUserPlanId")); + + txtPlan.Text = plan.LyncUserPlanName; + chkIM.Checked = plan.IM; + chkIM.Enabled = false; + chkFederation.Checked = plan.Federation; + chkConferencing.Checked = plan.Conferencing; + chkMobility.Checked = plan.Mobility; + chkEnterpriseVoice.Checked = plan.EnterpriseVoice; + switch (plan.VoicePolicy) + { + case LyncVoicePolicyType.None: + break; + case LyncVoicePolicyType.Emergency: + chkEmergency.Checked = true; + break; + case LyncVoicePolicyType.National: + chkNational.Checked = true; + break; + case LyncVoicePolicyType.Mobile: + chkMobile.Checked = true; + break; + case LyncVoicePolicyType.International: + chkInternational.Checked = true; + break; + default: + chkNone.Checked = true; + break; + } + + locTitle.Text = plan.LyncUserPlanName; + this.DisableControls = true; + + } + else + { + chkIM.Checked = true; + chkIM.Enabled = false; + chkNone.Checked = true; + PackageContext cntx = ES.Services.Packages.GetPackageContext(PanelSecurity.PackageId); + if (cntx != null) + { + foreach (QuotaValueInfo quota in cntx.QuotasArray) + { + switch (quota.QuotaId) + { + case 371: + chkFederation.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue); + chkFederation.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue); + break; + case 372: + chkConferencing.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue); + chkConferencing.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue); + break; + case 375: + chkEnterpriseVoice.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue); + chkEnterpriseVoice.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue); + break; + } + } + } + else + this.DisableControls = true; + } + } + + } + + protected void btnAdd_Click(object sender, EventArgs e) + { + AddPlan(); + } + + private void AddPlan() + { + try + { + Providers.HostedSolution.LyncUserPlan plan = new Providers.HostedSolution.LyncUserPlan(); + plan.LyncUserPlanName = txtPlan.Text; + plan.IsDefault = false; + + plan.IM = true; + plan.Mobility = chkMobility.Checked; + plan.Federation = chkFederation.Checked; + plan.Conferencing = chkConferencing.Checked; + + + plan.EnterpriseVoice = chkEnterpriseVoice.Checked; + if (!plan.EnterpriseVoice) + { + plan.VoicePolicy = LyncVoicePolicyType.None; + } + + int result = ES.Services.Lync.AddLyncUserPlan( PanelRequest.ItemID, + plan); + + + if (result < 0) + { + messageBox.ShowResultMessage(result); + return; + } + + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "lync_userplans", + "SpaceID=" + PanelSecurity.PackageId)); + } + catch (Exception ex) + { + messageBox.ShowErrorMessage("LYNC_ADD_PLAN", ex); + } + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.designer.cs new file mode 100644 index 00000000..6ad8557f --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.designer.cs @@ -0,0 +1,258 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.Lync { + + + public partial class LyncAddLyncUserPlan { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// secPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel secPlan; + + /// + /// Plan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel Plan; + + /// + /// txtPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtPlan; + + /// + /// valRequirePlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequirePlan; + + /// + /// secPlanFeatures control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel secPlanFeatures; + + /// + /// PlanFeatures control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel PlanFeatures; + + /// + /// chkIM control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkIM; + + /// + /// chkMobility control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkMobility; + + /// + /// chkFederation control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkFederation; + + /// + /// chkConferencing control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkConferencing; + + /// + /// chkEnterpriseVoice control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkEnterpriseVoice; + + /// + /// secEnterpriseVoice control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel secEnterpriseVoice; + + /// + /// EnterpriseVoice control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel EnterpriseVoice; + + /// + /// chkNone control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RadioButton chkNone; + + /// + /// chkEmergency control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RadioButton chkEmergency; + + /// + /// chkNational control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RadioButton chkNational; + + /// + /// chkMobile control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RadioButton chkMobile; + + /// + /// chkInternational control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RadioButton chkInternational; + + /// + /// btnAdd control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAdd; + + /// + /// ValidationSummary1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ValidationSummary ValidationSummary1; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx new file mode 100644 index 00000000..93d2389d --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx @@ -0,0 +1,62 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncCreateUser.ascx.cs" Inherits="WebsitePanel.Portal.Lync.CreateLyncUser" %> +<%@ Register Src="../ExchangeServer/UserControls/UserSelector.ascx" TagName="UserSelector" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %> +<%@ Register Src="UserControls/LyncUserPlanSelector.ascx" TagName="LyncUserPlanSelector" TagPrefix="wsp" %> + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + + +
    +
    + + + + + + + +
    + +
    + + + + + + +
    + + + +
    + + +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.cs new file mode 100644 index 00000000..eabe3e15 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.cs @@ -0,0 +1,66 @@ +// Copyright (c) 2011, 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. + +using System; +using WebsitePanel.Providers.ResultObjects; +using WebsitePanel.EnterpriseServer; + +namespace WebsitePanel.Portal.Lync +{ + public partial class CreateLyncUser : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + WebsitePanel.Providers.HostedSolution.LyncUserPlan[] plans = ES.Services.Lync.GetLyncUserPlans(PanelRequest.ItemID); + + if (plans.Length == 0) + btnCreate.Enabled = false; + } + + + } + + protected void btnCreate_Click(object sender, EventArgs e) + { + int accountId = userSelector.GetAccountId(); + LyncUserResult res = ES.Services.Lync.CreateLyncUser(PanelRequest.ItemID, accountId, Convert.ToInt32(planSelector.planId)); + if (res.IsSuccess && res.ErrorCodes.Count == 0) + { + Response.Redirect(EditUrl("AccountID", accountId.ToString(), "edit_lync_user", + "SpaceID=" + PanelSecurity.PackageId, + "ItemID=" + PanelRequest.ItemID)); + } + else + { + messageBox.ShowMessage(res, "CREATE_LYNC_USER", "LYNC"); + } + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.designer.cs new file mode 100644 index 00000000..4b7232df --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.designer.cs @@ -0,0 +1,132 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.Lync { + + + public partial class CreateLyncUser { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// ExistingUserTable control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTable ExistingUserTable; + + /// + /// Localize1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize Localize1; + + /// + /// userSelector control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.UserSelector userSelector; + + /// + /// locPlanName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locPlanName; + + /// + /// planSelector control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Lync.UserControls.LyncUserPlanSelector planSelector; + + /// + /// btnCreate control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnCreate; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx new file mode 100644 index 00000000..b1017e85 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx @@ -0,0 +1,54 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncEditUser.ascx.cs" Inherits="WebsitePanel.Portal.Lync.EditLyncUser" %> +<%@ Register Src="../ExchangeServer/UserControls/UserSelector.ascx" TagName="UserSelector" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %> +<%@ Register src="../ExchangeServer/UserControls/MailboxSelector.ascx" tagname="MailboxSelector" tagprefix="uc1" %> +<%@ Register Src="UserControls/LyncUserPlanSelector.ascx" TagName="LyncUserPlanSelector" TagPrefix="wsp" %> + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + + + - + +
    +
    + + + + + + + + +
    + + + +
    + +
    + +
    +
    +
    +
    + +
    +
    +
    +
    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.cs new file mode 100644 index 00000000..aa3b96fa --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.cs @@ -0,0 +1,76 @@ +// Copyright (c) 2011, 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. + +using System; +using WebsitePanel.EnterpriseServer; +using WebsitePanel.Providers.ResultObjects; +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Portal.Lync +{ + public partial class EditLyncUser : WebsitePanelModuleBase + { + + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + BindItems(); + + } + + private void BindItems() + { + // get settings + LyncUser lyncUser = ES.Services.Lync.GetLyncUserGeneralSettings(PanelRequest.ItemID, PanelRequest.AccountID); + + // title + litDisplayName.Text = lyncUser.DisplayName; + + planSelector.planId = lyncUser.LyncUserPlanId.ToString(); + } + + protected void btnSave_Click(object sender, EventArgs e) + { + if (!Page.IsValid) + return; + try + { + LyncUserResult res = ES.Services.Lync.SetUserLyncPlan(PanelRequest.ItemID, PanelRequest.AccountID, Convert.ToInt32(planSelector.planId)); + if (res.IsSuccess && res.ErrorCodes.Count == 0) + { + messageBox.ShowSuccessMessage("UPDATE_LYNC_USER"); + return; + } + } + catch(Exception ex) + { + messageBox.ShowErrorMessage("UPDATE_LYNC_USER", ex); + } + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.designer.cs new file mode 100644 index 00000000..4d44e037 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.designer.cs @@ -0,0 +1,114 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.Lync { + + + public partial class EditLyncUser { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// litDisplayName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Literal litDisplayName; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// locPlanName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locPlanName; + + /// + /// planSelector control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Lync.UserControls.LyncUserPlanSelector planSelector; + + /// + /// btnSave control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnSave; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx new file mode 100644 index 00000000..df871012 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx @@ -0,0 +1,63 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncFederationDomains.ascx.cs" Inherits="WebsitePanel.Portal.Lync.LyncFederationDomains" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> + + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + + +
    +
    + + +
    + +
    + + + + + + + + <%# Eval("DomainName") %> + + + + + +   + + + + +
    + +
    + +
    +
    +
    + +
    +
    +
    +
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.cs new file mode 100644 index 00000000..9a74216a --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.cs @@ -0,0 +1,87 @@ +// Copyright (c) 2011, 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. + +using System; +using System.Web.UI.WebControls; +using WebsitePanel.EnterpriseServer; +using WebsitePanel.Providers.ResultObjects; +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Portal.Lync +{ + public partial class LyncFederationDomains : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + // bind domain names + BindDomainNames(); + } + + } + + private void BindDomainNames() + { + LyncFederationDomain[] list = ES.Services.Lync.GetFederationDomains(PanelRequest.ItemID); + + gvDomains.DataSource = list; + gvDomains.DataBind(); + + } + + protected void btnAddDomain_Click(object sender, EventArgs e) + { + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "add_lyncfederation_domain", + "SpaceID=" + PanelSecurity.PackageId)); + } + + protected void gvDomains_RowCommand(object sender, GridViewCommandEventArgs e) + { + if (e.CommandName == "DeleteItem") + { + try + { + LyncUserResult res = ES.Services.Lync.RemoveFederationDomain(PanelRequest.ItemID, e.CommandArgument.ToString()); + if (!(res.IsSuccess && res.ErrorCodes.Count == 0)) + { + messageBox.ShowMessage(res, "DELETE_LYNC_FEDERATIONDOMAIN", "LYNC"); + return; + } + + // rebind domains + BindDomainNames(); + } + catch (Exception ex) + { + ShowErrorMessage("LYNC_DELETE_DOMAIN", ex); + } + } + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.designer.cs new file mode 100644 index 00000000..8492606b --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.designer.cs @@ -0,0 +1,96 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.Lync { + + + public partial class LyncFederationDomains { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// btnAddDomain control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAddDomain; + + /// + /// gvDomains control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvDomains; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx new file mode 100644 index 00000000..e91be256 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx @@ -0,0 +1,73 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncUserPlans.ascx.cs" Inherits="WebsitePanel.Portal.Lync.LyncUserPlans" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> + + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + + +
    +
    + + +
    + +
    + + + + + + + + <%# Eval("LyncUserPlanName")%> + + + + + +
    + /> +
    +
    +
    + + +   + + +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    +
    \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.cs new file mode 100644 index 00000000..3137598d --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.cs @@ -0,0 +1,125 @@ +// Copyright (c) 2011, 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. + +using System; +using System.Web.UI.WebControls; +using WebsitePanel.EnterpriseServer; +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Portal.Lync +{ + public partial class LyncUserPlans : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + BindPlans(); + } + + } + + public string GetPlanDisplayUrl(string LyncUserPlanId) + { + return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "add_lyncuserplan", + "LyncUserPlanId=" + LyncUserPlanId, + "ItemID=" + PanelRequest.ItemID); + } + + + private void BindPlans() + { + LyncUserPlan[] list = ES.Services.Lync.GetLyncUserPlans(PanelRequest.ItemID); + + gvPlans.DataSource = list; + gvPlans.DataBind(); + + //check if organization has only one default domain + if (gvPlans.Rows.Count == 1) + { + btnSetDefaultPlan.Enabled = false; + } + } + + public string IsChecked(bool val) + { + return val ? "checked" : ""; + } + + protected void btnAddPlan_Click(object sender, EventArgs e) + { + btnSetDefaultPlan.Enabled = true; + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "add_lyncuserplan", + "SpaceID=" + PanelSecurity.PackageId)); + } + + protected void gvPlan_RowCommand(object sender, GridViewCommandEventArgs e) + { + if (e.CommandName == "DeleteItem") + { + int planId = Utils.ParseInt(e.CommandArgument.ToString(), 0); + + try + { + int result = ES.Services.Lync.DeleteLyncUserPlan(PanelRequest.ItemID, planId); + + if (result < 0) + { + messageBox.ShowResultMessage(result); + return; + } + + } + catch (Exception) + { + messageBox.ShowErrorMessage("LYNC_DELETE_PLAN"); + } + + BindPlans(); + } + } + + protected void btnSetDefaultPlan_Click(object sender, EventArgs e) + { + // get domain + int planId = Utils.ParseInt(Request.Form["DefaultPlan"], 0); + + try + { + ES.Services.Lync.SetOrganizationDefaultLyncUserPlan(PanelRequest.ItemID, planId); + + // rebind domains + BindPlans(); + } + catch (Exception ex) + { + ShowErrorMessage("LYNC_SET_DEFAULT_PLAN", ex); + } + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.designer.cs new file mode 100644 index 00000000..7cde581a --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.designer.cs @@ -0,0 +1,105 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.Lync { + + + public partial class LyncUserPlans { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// btnAddPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAddPlan; + + /// + /// gvPlans control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvPlans; + + /// + /// btnSetDefaultPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnSetDefaultPlan; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx new file mode 100644 index 00000000..0fe66529 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx @@ -0,0 +1,91 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncUsers.ascx.cs" Inherits="WebsitePanel.Portal.Lync.LyncUsers" %> +<%@ Register Src="../ExchangeServer/UserControls/UserSelector.ascx" TagName="UserSelector" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %> + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + + +
    +
    + + +
    +
    + +
    +
    + + + DisplayName + Email + + + +
    +
    + + + + + + + + + <%# Eval("DisplayName") %> + + + + + + + + + + + + + + + + + + + +
    + +     + +
    +
    +
    + +
    +
    +
    +
    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.cs new file mode 100644 index 00000000..cefe0967 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.cs @@ -0,0 +1,100 @@ +// Copyright (c) 2011, 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. + +using System; +using WebsitePanel.Providers.Common; +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Portal.Lync +{ + public partial class LyncUsers : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + BindStats(); + } + + private void BindStats() + { + OrganizationStatistics stats = ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID); + int allocatedLyncUsers = stats.AllocatedLyncUsers; + int usedUsers = stats.CreatedLyncUsers; + usersQuota.QuotaUsedValue = usedUsers; + usersQuota.QuotaValue = allocatedLyncUsers; + } + + protected void btnCreateUser_Click(object sender, EventArgs e) + { + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "create_new_lync_user", + "SpaceID=" + PanelSecurity.PackageId)); + } + + public string GetAccountImage() + { + + return GetThemedImage("Exchange/admin_16.png"); + } + + public string GetUserEditUrl(string accountId) + { + return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "edit_lync_user", + "AccountID=" + accountId, + "ItemID=" + PanelRequest.ItemID); + } + + + + protected void odsAccountsPaged_Selected(object sender, System.Web.UI.WebControls.ObjectDataSourceStatusEventArgs e) + { + + } + + protected void gvUsers_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e) + { + if (e.CommandName == "DeleteItem") + { + try + { + ResultObject res = ES.Services.Lync.DeleteLyncUser(PanelRequest.ItemID, Convert.ToInt32(e.CommandArgument)); + + messageBox.ShowMessage(res, "DELETE_LYNC_USER", "LYNC"); + + // rebind grid + gvUsers.DataBind(); + BindStats(); + + } + catch (Exception ex) + { + messageBox.ShowErrorMessage("DELETE_LYNC_USERS", ex); + } + } + } + + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.designer.cs new file mode 100644 index 00000000..dea6472f --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.designer.cs @@ -0,0 +1,159 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.Lync { + + + public partial class LyncUsers { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// btnCreateUser control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnCreateUser; + + /// + /// SearchPanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel SearchPanel; + + /// + /// ddlSearchColumn control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.DropDownList ddlSearchColumn; + + /// + /// txtSearchValue control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSearchValue; + + /// + /// cmdSearch control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ImageButton cmdSearch; + + /// + /// gvUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvUsers; + + /// + /// odsAccountsPaged control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ObjectDataSource odsAccountsPaged; + + /// + /// locQuota control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locQuota; + + /// + /// usersQuota control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.QuotaViewer usersQuota; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx new file mode 100644 index 00000000..c6d336f8 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx @@ -0,0 +1,2 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncUserPlanSelector.ascx.cs" Inherits="WebsitePanel.Portal.Lync.UserControls.LyncUserPlanSelector" %> + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.cs new file mode 100644 index 00000000..31ba7eef --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.cs @@ -0,0 +1,100 @@ +// Copyright (c) 2011, 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. + +using System; +using System.Web.UI.WebControls; + +namespace WebsitePanel.Portal.Lync.UserControls +{ + public partial class LyncUserPlanSelector : WebsitePanelControlBase + { + + private string planToSelect; + + public string planId + { + + get { return ddlPlan.SelectedItem.Value; } + set + { + planToSelect = value; + foreach(ListItem li in ddlPlan.Items) + { + if (li.Value == value) + { + ddlPlan.ClearSelection(); + li.Selected = true; + break; + } + } + } + } + + public int plansCount + { + get + { + return this.ddlPlan.Items.Count; + } + } + + + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + BindPlans(); + } + } + + private void BindPlans() + { + WebsitePanel.Providers.HostedSolution.LyncUserPlan[] plans = ES.Services.Lync.GetLyncUserPlans(PanelRequest.ItemID); + + foreach (WebsitePanel.Providers.HostedSolution.LyncUserPlan plan in plans) + { + ListItem li = new ListItem(); + li.Text = plan.LyncUserPlanName; + li.Value = plan.LyncUserPlanId.ToString(); + li.Selected = plan.IsDefault; + ddlPlan.Items.Add(li); + } + + foreach (ListItem li in ddlPlan.Items) + { + if (li.Value == planToSelect) + { + ddlPlan.ClearSelection(); + li.Selected = true; + break; + } + } + + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.designer.cs new file mode 100644 index 00000000..db7df3f3 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.designer.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.Lync.UserControls { + + + public partial class LyncUserPlanSelector { + + /// + /// ddlPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.DropDownList ddlPlan; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Lync_Settings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Lync_Settings.ascx.resx new file mode 100644 index 00000000..79fdeff7 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Lync_Settings.ascx.resx @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Add + + + Located on the same server + + + Lync Servers + + + Root OU: + + + Lync Frontend and Director Servers + + + Enterprise pool or <br/>Standard Edition Server name: + + + Simple Url Base: + + + <Located on the same server> + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx new file mode 100644 index 00000000..0d569521 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx @@ -0,0 +1,54 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Lync_Settings.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.Lync_Settings" %> + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + +
    + + + + +
    + + + + + + + + + + + + + + + +
    diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.cs new file mode 100644 index 00000000..0d7110ef --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.cs @@ -0,0 +1,181 @@ +// Copyright (c) 2011, 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. + +using System; +using System.Collections.Generic; +using System.Data; +using System.Web.UI.WebControls; +using WebsitePanel.EnterpriseServer; +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Portal.ProviderControls +{ + public partial class Lync_Settings : WebsitePanelControlBase, IHostingServiceProviderSettings + { + + public const string LyncServersData = "LyncServersData"; + + protected void Page_Load(object sender, EventArgs e) + { + + } + + + + public void BindSettings(System.Collections.Specialized.StringDictionary settings) + { + txtServerName.Text = settings[LyncConstants.PoolFQDN]; + txtSimpleUrlBase.Text = settings[LyncConstants.SimpleUrlRoot]; + + + LyncServers = settings["LyncServersServiceID"]; + + BindLyncServices(ddlLyncServers); + + Utils.SelectListItem(ddlLyncServers, settings["LyncServersServiceID"]); + + UpdateLyncServersGrid(); + } + + public void SaveSettings(System.Collections.Specialized.StringDictionary settings) + { + settings[LyncConstants.PoolFQDN] = txtServerName.Text.Trim(); + settings[LyncConstants.SimpleUrlRoot] = txtSimpleUrlBase.Text.Trim(); + + settings["LyncServersServiceID"] = LyncServers; + } + + + public string LyncServers + { + get + { + return ViewState[LyncServersData] != null ? ViewState[LyncServersData].ToString() : string.Empty; + } + set + { + ViewState[LyncServersData] = value; + } + } + + + protected void btnAddLyncServer_Click(object sender, EventArgs e) + { + if (!string.IsNullOrEmpty(LyncServers)) + LyncServers += ","; + + LyncServers += ddlLyncServers.SelectedItem.Value; + + UpdateLyncServersGrid(); + BindLyncServices(ddlLyncServers); + + } + + public List GetServices(string data) + { + if (string.IsNullOrEmpty(data)) + return null; + List list = new List(); + string[] servicesIds = data.Split(','); + foreach (string current in servicesIds) + { + ServiceInfo serviceInfo = ES.Services.Servers.GetServiceInfo(Utils.ParseInt(current)); + list.Add(serviceInfo); + } + + + return list; + } + + private void UpdateLyncServersGrid() + { + gvLyncServers.DataSource = GetServices(LyncServers); + gvLyncServers.DataBind(); + } + + + public void BindLyncServices(DropDownList ddl) + { + ddl.Items.Clear(); + + ServiceInfo serviceInfo = ES.Services.Servers.GetServiceInfo(PanelRequest.ServiceId); + DataView dvServices = ES.Services.Servers.GetRawServicesByGroupName(ResourceGroups.Lync).Tables[0].DefaultView; + + foreach (DataRowView dr in dvServices) + { + int serviceId = (int)dr["ServiceID"]; + ServiceInfo currentServiceInfo = ES.Services.Servers.GetServiceInfo(serviceId); + + if (currentServiceInfo == null || currentServiceInfo.ProviderId != serviceInfo.ProviderId) + continue; + + List services = GetServices(LyncServers); + bool exists = false; + if (services != null) + foreach (ServiceInfo current in services) + { + if (current != null && current.ServiceId == serviceId) + { + exists = true; + break; + } + } + + if (!exists) + ddl.Items.Add(new ListItem(dr["FullServiceName"].ToString(), serviceId.ToString())); + + } + + ddl.Visible = ddl.Items.Count != 0; + btnAddLyncServer.Visible = ddl.Items.Count != 0; + + } + + protected void gvLyncServers_RowCommand(object sender, GridViewCommandEventArgs e) + { + if (e.CommandName == "RemoveServer") + { + string str = string.Empty; + List services = GetServices(LyncServers); + foreach (ServiceInfo current in services) + { + if (current.ServiceId == Utils.ParseInt(e.CommandArgument.ToString())) + continue; + + + str += current.ServiceId + ","; + } + + LyncServers = str.TrimEnd(','); + UpdateLyncServersGrid(); + BindLyncServices(ddlLyncServers); + } + } + + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.designer.cs new file mode 100644 index 00000000..78c838e3 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.designer.cs @@ -0,0 +1,105 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.ProviderControls { + + + public partial class Lync_Settings { + + /// + /// locServerName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locServerName; + + /// + /// txtServerName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtServerName; + + /// + /// RequiredFieldValidator2 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2; + + /// + /// locSimpleUrlBase control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locSimpleUrlBase; + + /// + /// txtSimpleUrlBase control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSimpleUrlBase; + + /// + /// RequiredFieldValidator1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1; + + /// + /// locLynServers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locLynServers; + + /// + /// ddlLyncServers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.DropDownList ddlLyncServers; + + /// + /// btnAddLyncServer control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAddLyncServer; + + /// + /// gvLyncServers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvLyncServers; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx index 6ef28dbf..66a65218 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx @@ -26,6 +26,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,9 +59,9 @@ - - - + + + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.cs index 211953ad..173489f7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.cs @@ -54,13 +54,18 @@ namespace WebsitePanel.Portal { // QUOTA CONTROL ID <=> TABLE ROW CONTROL ID { "quotaDiskspace", "pnlDiskspace" }, - { "quotaBandwidth", "pnlBandwidth" }, - { "quotaFtpAccounts", "pnlFtpAccounts" }, + { "quotaBandwidth", "pnlBandwidth" }, { "quotaDomains", "pnlDomains" }, { "quotaSubDomains", "pnlSubDomains" }, { "quotaDomainPointers", "pnlDomainPointers" }, - { "quotaMailAccounts", "pnlMailAccounts" }, + { "quotaUserAccounts", "pnlUserAccounts" }, + { "quotaMailAccounts", "pnlMailboxes" }, + { "quotaOCSUsers", "pnlOCSUsers" }, + { "quotaLyncUsers", "pnlLyncUsers" }, + { "quotaBlackBerryUsers", "pnlBlackBerryUsers" }, + { "quotaSharepointSites", "pnlSharepointSites" }, { "quotaWebSites", "pnlWebSites" }, + { "quotaDatabases", "pnlDatabases" }, { "quotaNumberOfVm", "pnlHyperVForPC" } }; diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.designer.cs index 3f4f3b9c..f6478bd6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.designer.cs @@ -147,6 +147,168 @@ namespace WebsitePanel.Portal { ///
    protected global::WebsitePanel.Portal.Quota quotaDomainPointers; + /// + /// pnlUserAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlUserAccounts; + + /// + /// lblUserAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblUserAccounts; + + /// + /// quotaUserAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Quota quotaUserAccounts; + + /// + /// pnlMailAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlMailAccounts; + + /// + /// lblMailAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblMailAccounts; + + /// + /// quotaMailAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Quota quotaMailAccounts; + + /// + /// pnlOCSUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlOCSUsers; + + /// + /// lblOCSUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblOCSUsers; + + /// + /// quotaOCSUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Quota quotaOCSUsers; + + /// + /// pnlLyncUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlLyncUsers; + + /// + /// lblLyncUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblLyncUsers; + + /// + /// quotaLyncUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Quota quotaLyncUsers; + + /// + /// pnlBlackBerryUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlBlackBerryUsers; + + /// + /// lblBlackBerryUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblBlackBerryUsers; + + /// + /// quotaBlackBerryUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Quota quotaBlackBerryUsers; + + /// + /// pnlSharepointSites control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlSharepointSites; + + /// + /// lblSharepointSites control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSharepointSites; + + /// + /// quotaSharepointSites control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Quota quotaSharepointSites; + /// /// pnlWebSites control. /// @@ -202,31 +364,31 @@ namespace WebsitePanel.Portal { protected global::WebsitePanel.Portal.Quota quotaFtpAccounts; /// - /// pnlMailAccounts control. + /// pnlDatabases control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlMailAccounts; + protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlDatabases; /// - /// lblMailAccounts control. + /// lblDatabases control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Label lblMailAccounts; + protected global::System.Web.UI.WebControls.Label lblDatabases; /// - /// quotaMailAccounts control. + /// quotaDatabases control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::WebsitePanel.Portal.Quota quotaMailAccounts; + protected global::WebsitePanel.Portal.Quota quotaDatabases; /// /// pnlHyperVForPC control. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj index 6c2fe5c9..1e873ce9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj @@ -161,6 +161,7 @@ + @@ -224,6 +225,62 @@ MailboxPlanSelector.ascx + + LyncAddFederationDomain.ascx + ASPXCodeBehind + + + LyncAddFederationDomain.ascx + + + LyncAddLyncUserPlan.ascx + ASPXCodeBehind + + + LyncAddLyncUserPlan.ascx + + + LyncCreateUser.ascx + ASPXCodeBehind + + + LyncCreateUser.ascx + + + LyncEditUser.ascx + ASPXCodeBehind + + + LyncEditUser.ascx + + + LyncFederationDomains.ascx + ASPXCodeBehind + + + LyncFederationDomains.ascx + + + LyncUserPlans.ascx + ASPXCodeBehind + + + LyncUserPlans.ascx + + + LyncUsers.ascx + ASPXCodeBehind + + + LyncUsers.ascx + + + LyncUserPlanSelector.ascx + ASPXCodeBehind + + + LyncUserPlanSelector.ascx + hMailServer5_EditAccount.ascx ASPXCodeBehind @@ -269,6 +326,13 @@ hMailServer5_Settings.ascx + + Lync_Settings.ascx + ASPXCodeBehind + + + Lync_Settings.ascx + NotifyOverusedDatabases.ascx ASPXCodeBehind @@ -3690,12 +3754,21 @@ + + + + + + + + + @@ -4813,6 +4886,14 @@ + + + + + + + + Designer @@ -5766,7 +5847,9 @@ Designer - + + + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WSPTransportAgent/WSPTransportAgent.reg b/WebsitePanel/Sources/WSPTransportAgent/WSPTransportAgent.reg new file mode 100644 index 00000000..755c888a --- /dev/null +++ b/WebsitePanel/Sources/WSPTransportAgent/WSPTransportAgent.reg @@ -0,0 +1,15 @@ +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\MEACPTransportAgent] +"MaxSize"=dword:00080000 +"AutoBackupLogFiles"=dword:00000000 +"Retention"=dword:00000000 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\MEACPTransportAgent\MEACPTransportAgent] +"EventMessageFile"=hex(2):43,00,3a,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,\ + 00,73,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,2e,00,\ + 4e,00,45,00,54,00,5c,00,46,00,72,00,61,00,6d,00,65,00,77,00,6f,00,72,00,6b,\ + 00,36,00,34,00,5c,00,76,00,34,00,2e,00,30,00,2e,00,33,00,30,00,33,00,31,00,\ + 39,00,5c,00,45,00,76,00,65,00,6e,00,74,00,4c,00,6f,00,67,00,4d,00,65,00,73,\ + 00,73,00,61,00,67,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,00,00 + diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.sln b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.sln index fb708ef8..a88f65b6 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.sln +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.sln @@ -43,6 +43,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Plugins.PayPal EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Templates", "WebsitePanel.Templates\WebsitePanel.Templates.csproj", "{387FA0EF-3927-45FF-8F8F-BCCD735540C6}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WSPTransportAgent", "WSPTransportAgent\WSPTransportAgent.csproj", "{D959F137-A56F-4F4E-BA80-599FBE3700E3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -107,6 +109,10 @@ Global {387FA0EF-3927-45FF-8F8F-BCCD735540C6}.Debug|Any CPU.Build.0 = Debug|Any CPU {387FA0EF-3927-45FF-8F8F-BCCD735540C6}.Release|Any CPU.ActiveCfg = Release|Any CPU {387FA0EF-3927-45FF-8F8F-BCCD735540C6}.Release|Any CPU.Build.0 = Release|Any CPU + {D959F137-A56F-4F4E-BA80-599FBE3700E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D959F137-A56F-4F4E-BA80-599FBE3700E3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D959F137-A56F-4F4E-BA80-599FBE3700E3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D959F137-A56F-4F4E-BA80-599FBE3700E3}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj index 30bb5548..2f0e726b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/WebsitePanel.WebPortal.csproj @@ -106,6 +106,7 @@ + From 5662b81116e3b5761159642f4f07126d814f440e Mon Sep 17 00:00:00 2001 From: robvde Date: Tue, 10 Jul 2012 12:30:00 +0400 Subject: [PATCH 44/78] Moved WSPRoutingAgent to Tools --- .../Sources/{ => Tools}/WSPTransportAgent/App.config | 0 .../WSPTransportAgent/Properties/AssemblyInfo.cs | 0 .../{ => Tools}/WSPTransportAgent/WSPRoutingAgent.cs | 0 .../{ => Tools}/WSPTransportAgent/WSPTransportAgent.csproj | 0 .../{ => Tools}/WSPTransportAgent/WSPTransportAgent.reg | 0 WebsitePanel/Sources/WebsitePanel.EnterpriseServer.sln | 6 ------ 6 files changed, 6 deletions(-) rename WebsitePanel/Sources/{ => Tools}/WSPTransportAgent/App.config (100%) rename WebsitePanel/Sources/{ => Tools}/WSPTransportAgent/Properties/AssemblyInfo.cs (100%) rename WebsitePanel/Sources/{ => Tools}/WSPTransportAgent/WSPRoutingAgent.cs (100%) rename WebsitePanel/Sources/{ => Tools}/WSPTransportAgent/WSPTransportAgent.csproj (100%) rename WebsitePanel/Sources/{ => Tools}/WSPTransportAgent/WSPTransportAgent.reg (100%) diff --git a/WebsitePanel/Sources/WSPTransportAgent/App.config b/WebsitePanel/Sources/Tools/WSPTransportAgent/App.config similarity index 100% rename from WebsitePanel/Sources/WSPTransportAgent/App.config rename to WebsitePanel/Sources/Tools/WSPTransportAgent/App.config diff --git a/WebsitePanel/Sources/WSPTransportAgent/Properties/AssemblyInfo.cs b/WebsitePanel/Sources/Tools/WSPTransportAgent/Properties/AssemblyInfo.cs similarity index 100% rename from WebsitePanel/Sources/WSPTransportAgent/Properties/AssemblyInfo.cs rename to WebsitePanel/Sources/Tools/WSPTransportAgent/Properties/AssemblyInfo.cs diff --git a/WebsitePanel/Sources/WSPTransportAgent/WSPRoutingAgent.cs b/WebsitePanel/Sources/Tools/WSPTransportAgent/WSPRoutingAgent.cs similarity index 100% rename from WebsitePanel/Sources/WSPTransportAgent/WSPRoutingAgent.cs rename to WebsitePanel/Sources/Tools/WSPTransportAgent/WSPRoutingAgent.cs diff --git a/WebsitePanel/Sources/WSPTransportAgent/WSPTransportAgent.csproj b/WebsitePanel/Sources/Tools/WSPTransportAgent/WSPTransportAgent.csproj similarity index 100% rename from WebsitePanel/Sources/WSPTransportAgent/WSPTransportAgent.csproj rename to WebsitePanel/Sources/Tools/WSPTransportAgent/WSPTransportAgent.csproj diff --git a/WebsitePanel/Sources/WSPTransportAgent/WSPTransportAgent.reg b/WebsitePanel/Sources/Tools/WSPTransportAgent/WSPTransportAgent.reg similarity index 100% rename from WebsitePanel/Sources/WSPTransportAgent/WSPTransportAgent.reg rename to WebsitePanel/Sources/Tools/WSPTransportAgent/WSPTransportAgent.reg diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.sln b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.sln index a88f65b6..fb708ef8 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.sln +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.sln @@ -43,8 +43,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Plugins.PayPal EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.Templates", "WebsitePanel.Templates\WebsitePanel.Templates.csproj", "{387FA0EF-3927-45FF-8F8F-BCCD735540C6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WSPTransportAgent", "WSPTransportAgent\WSPTransportAgent.csproj", "{D959F137-A56F-4F4E-BA80-599FBE3700E3}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -109,10 +107,6 @@ Global {387FA0EF-3927-45FF-8F8F-BCCD735540C6}.Debug|Any CPU.Build.0 = Debug|Any CPU {387FA0EF-3927-45FF-8F8F-BCCD735540C6}.Release|Any CPU.ActiveCfg = Release|Any CPU {387FA0EF-3927-45FF-8F8F-BCCD735540C6}.Release|Any CPU.Build.0 = Release|Any CPU - {D959F137-A56F-4F4E-BA80-599FBE3700E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D959F137-A56F-4F4E-BA80-599FBE3700E3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D959F137-A56F-4F4E-BA80-599FBE3700E3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D959F137-A56F-4F4E-BA80-599FBE3700E3}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 3c3374d8aea22ad4d55e1da951283478eaec3556 Mon Sep 17 00:00:00 2001 From: robvde Date: Tue, 10 Jul 2012 13:10:33 +0400 Subject: [PATCH 45/78] ResourceGroups updated with ShowGRoup field. By setting this field to zero the resourcegroup will not show up. This is typically done to hide those providers from an deployment you dont want to support. To remove items from the search list set the Searchable field to 'False' in ServiceItemTypes --- WebsitePanel/Database/install_db.sql | 63 ++++----- WebsitePanel/Database/update_db.sql | 197 +++++++++++++++++++++++++++ 2 files changed, 229 insertions(+), 31 deletions(-) diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index e260326d..14e16e2b 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -10604,6 +10604,7 @@ CREATE TABLE [dbo].[ResourceGroups]( [GroupName] [nvarchar](100) COLLATE Latin1_General_CI_AS NOT NULL, [GroupOrder] [int] NOT NULL, [GroupController] [nvarchar](1000) COLLATE Latin1_General_CI_AS NULL, + [ShowGroup] [bit] NULL, CONSTRAINT [PK_ResourceGroups] PRIMARY KEY CLUSTERED ( [GroupID] ASC @@ -10611,49 +10612,49 @@ CREATE TABLE [dbo].[ResourceGroups]( ) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (1, N'OS', 1, N'WebsitePanel.EnterpriseServer.OperatingSystemController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (1, N'OS', 1, N'WebsitePanel.EnterpriseServer.OperatingSystemController', 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (2, N'Web', 2, N'WebsitePanel.EnterpriseServer.WebServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (2, N'Web', 2, N'WebsitePanel.EnterpriseServer.WebServerController', 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (3, N'FTP', 3, N'WebsitePanel.EnterpriseServer.FtpServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (3, N'FTP', 3, N'WebsitePanel.EnterpriseServer.FtpServerController', 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (4, N'Mail', 4, N'WebsitePanel.EnterpriseServer.MailServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (4, N'Mail', 4, N'WebsitePanel.EnterpriseServer.MailServerController', 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (5, N'MsSQL2000', 8, N'WebsitePanel.EnterpriseServer.DatabaseServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (5, N'MsSQL2000', 8, N'WebsitePanel.EnterpriseServer.DatabaseServerController', 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (6, N'MySQL4', 12, N'WebsitePanel.EnterpriseServer.DatabaseServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (6, N'MySQL4', 12, N'WebsitePanel.EnterpriseServer.DatabaseServerController', 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (7, N'DNS', 17, N'WebsitePanel.EnterpriseServer.DnsServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (7, N'DNS', 17, N'WebsitePanel.EnterpriseServer.DnsServerController', 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (8, N'Statistics', 18, N'WebsitePanel.EnterpriseServer.StatisticsServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (8, N'Statistics', 18, N'WebsitePanel.EnterpriseServer.StatisticsServerController', 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (9, N'SharePoint', 14, N'WebsitePanel.EnterpriseServer.SharePointServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (9, N'SharePoint', 14, N'WebsitePanel.EnterpriseServer.SharePointServerController', 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (10, N'MsSQL2005', 9, N'WebsitePanel.EnterpriseServer.DatabaseServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (10, N'MsSQL2005', 9, N'WebsitePanel.EnterpriseServer.DatabaseServerController', 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (11, N'MySQL5', 13, N'WebsitePanel.EnterpriseServer.DatabaseServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (11, N'MySQL5', 13, N'WebsitePanel.EnterpriseServer.DatabaseServerController', 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (12, N'Exchange', 5, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (12, N'Exchange', 5, NULL, 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (13, N'Hosted Organizations', 6, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (13, N'Hosted Organizations', 6, NULL, 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (20, N'Hosted SharePoint', 15, N'WebsitePanel.EnterpriseServer.HostedSharePointServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (20, N'Hosted SharePoint', 15, N'WebsitePanel.EnterpriseServer.HostedSharePointServerController', 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (21, N'Hosted CRM', 16, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (21, N'Hosted CRM', 16, NULL, 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (22, N'MsSQL2008', 10, N'WebsitePanel.EnterpriseServer.DatabaseServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (22, N'MsSQL2008', 10, N'WebsitePanel.EnterpriseServer.DatabaseServerController', 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (23, N'MsSQL2012', 11, N'WebsitePanel.EnterpriseServer.DatabaseServerController') +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (23, N'MsSQL2012', 11, N'WebsitePanel.EnterpriseServer.DatabaseServerController', 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (30, N'VPS', 19, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (30, N'VPS', 19, NULL, 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (31, N'BlackBerry', 21, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (31, N'BlackBerry', 21, NULL, 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (32, N'OCS', 22, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (32, N'OCS', 22, NULL, 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (41, N'Lync',23, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (41, N'Lync',23, NULL, 1) GO -INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (40, N'VPSForPC', 20, NULL) +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (40, N'VPSForPC', 20, NULL, 1) GO SET ANSI_NULLS ON GO @@ -26230,7 +26231,7 @@ GO -CREATE PROCEDURE GetHostingPlanQuotas +CREATE PROCEDURE [dbo].[GetHostingPlanQuotas] ( @ActorID int, @PlanID int, @@ -26260,8 +26261,9 @@ SELECT dbo.GetPackageAllocatedResource(@PackageID, RG.GroupID, @ServerID) AS ParentEnabled, ISNULL(HPR.CalculateDiskSpace, 1) AS CalculateDiskSpace, ISNULL(HPR.CalculateBandwidth, 1) AS CalculateBandwidth -FROM ResourceGroups AS RG +FROM ResourceGroups AS RG LEFT OUTER JOIN HostingPlanResources AS HPR ON RG.GroupID = HPR.GroupID AND HPR.PlanID = @PlanID +WHERE (ShowGroup = 1) ORDER BY RG.GroupOrder -- get quotas by groups @@ -26310,7 +26312,6 @@ RETURN - GO @@ -40497,7 +40498,7 @@ GO -CREATE PROCEDURE GetRawServicesByServerID +CREATE PROCEDURE [dbo].[GetRawServicesByServerID] ( @ActorID int, @ServerID int @@ -40513,7 +40514,7 @@ SELECT GroupID, GroupName FROM ResourceGroups -WHERE @IsAdmin = 1 +WHERE @IsAdmin = 1 AND (ShowGroup = 1) ORDER BY GroupOrder -- services @@ -40532,7 +40533,7 @@ WHERE AND @IsAdmin = 1 ORDER BY RG.GroupOrder -RETURN +RETURN @@ -44000,7 +44001,7 @@ GO -CREATE PROCEDURE GetVirtualServices +CREATE PROCEDURE [dbo].[GetVirtualServices] ( @ActorID int, @ServerID int @@ -44021,7 +44022,7 @@ SELECT FROM ResourceGroups AS RG LEFT OUTER JOIN VirtualGroups AS VRG ON RG.GroupID = VRG.GroupID AND VRG.ServerID = @ServerID WHERE - @IsAdmin = 1 + @IsAdmin = 1 AND (ShowGroup = 1) ORDER BY RG.GroupOrder -- services @@ -44040,7 +44041,7 @@ WHERE VS.ServerID = @ServerID AND @IsAdmin = 1 -RETURN +RETURN diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index 3ad8ad99..e7d7564a 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -987,6 +987,14 @@ ALTER TABLE [dbo].[GlobalDnsRecords] ADD END GO +IF NOT EXISTS(select 1 from sys.columns COLS INNER JOIN sys.objects OBJS ON OBJS.object_id=COLS.object_id and OBJS.type='U' AND OBJS.name='ResourceGroups' AND COLS.name='ShowGroup') +BEGIN +ALTER TABLE [dbo].[ResourceGroups] ADD [ShowGroup] [bit] NULL + +UPDATE [dbo].[ResourceGroups] SET ShowGRoup=1 +END +GO + ALTER PROCEDURE [dbo].[AddDnsRecord] @@ -3444,3 +3452,192 @@ UPDATE LyncUserPlans SET IsDefault=1 WHERE LyncUserPlanId=@LyncUserPlanId RETURN' END GO + + + + + + + + + + + + + + + +ALTER PROCEDURE [dbo].[GetHostingPlanQuotas] +( + @ActorID int, + @PlanID int, + @PackageID int, + @ServerID int +) +AS + +-- check rights +IF dbo.CheckActorParentPackageRights(@ActorID, @PackageID) = 0 +RAISERROR('You are not allowed to access this package', 16, 1) + +DECLARE @IsAddon bit + +IF @ServerID = 0 +SELECT @ServerID = ServerID FROM Packages +WHERE PackageID = @PackageID + +-- get resource groups +SELECT + RG.GroupID, + RG.GroupName, + CASE + WHEN HPR.CalculateDiskSpace IS NULL THEN CAST(0 as bit) + ELSE CAST(1 as bit) + END AS Enabled, + dbo.GetPackageAllocatedResource(@PackageID, RG.GroupID, @ServerID) AS ParentEnabled, + ISNULL(HPR.CalculateDiskSpace, 1) AS CalculateDiskSpace, + ISNULL(HPR.CalculateBandwidth, 1) AS CalculateBandwidth +FROM ResourceGroups AS RG +LEFT OUTER JOIN HostingPlanResources AS HPR ON RG.GroupID = HPR.GroupID AND HPR.PlanID = @PlanID +WHERE (ShowGroup = 1) +ORDER BY RG.GroupOrder + +-- get quotas by groups +SELECT + Q.QuotaID, + Q.GroupID, + Q.QuotaName, + Q.QuotaDescription, + Q.QuotaTypeID, + ISNULL(HPQ.QuotaValue, 0) AS QuotaValue, + dbo.GetPackageAllocatedQuota(@PackageID, Q.QuotaID) AS ParentQuotaValue +FROM Quotas AS Q +LEFT OUTER JOIN HostingPlanQuotas AS HPQ ON Q.QuotaID = HPQ.QuotaID AND HPQ.PlanID = @PlanID +ORDER BY Q.QuotaOrder +RETURN +GO + + + + + + + + + + + + + + +ALTER PROCEDURE [dbo].[GetRawServicesByServerID] +( + @ActorID int, + @ServerID int +) +AS + +-- check rights +DECLARE @IsAdmin bit +SET @IsAdmin = dbo.CheckIsUserAdmin(@ActorID) + +-- resource groups +SELECT + GroupID, + GroupName +FROM ResourceGroups +WHERE @IsAdmin = 1 AND (ShowGroup = 1) +ORDER BY GroupOrder + +-- services +SELECT + S.ServiceID, + S.ServerID, + S.ServiceName, + S.Comments, + RG.GroupID, + PROV.DisplayName AS ProviderName +FROM Services AS S +INNER JOIN Providers AS PROV ON S.ProviderID = PROV.ProviderID +INNER JOIN ResourceGroups AS RG ON PROV.GroupID = RG.GroupID +WHERE + S.ServerID = @ServerID + AND @IsAdmin = 1 +ORDER BY RG.GroupOrder + +RETURN +GO + + + + + + + + + + + + + +ALTER PROCEDURE [dbo].[GetVirtualServices] +( + @ActorID int, + @ServerID int +) +AS + +-- check rights +DECLARE @IsAdmin bit +SET @IsAdmin = dbo.CheckIsUserAdmin(@ActorID) + +-- virtual groups +SELECT + VRG.VirtualGroupID, + RG.GroupID, + RG.GroupName, + ISNULL(VRG.DistributionType, 1) AS DistributionType, + ISNULL(VRG.BindDistributionToPrimary, 1) AS BindDistributionToPrimary +FROM ResourceGroups AS RG +LEFT OUTER JOIN VirtualGroups AS VRG ON RG.GroupID = VRG.GroupID AND VRG.ServerID = @ServerID +WHERE + @IsAdmin = 1 AND (ShowGroup = 1) +ORDER BY RG.GroupOrder + +-- services +SELECT + VS.ServiceID, + S.ServiceName, + S.Comments, + P.GroupID, + P.DisplayName, + SRV.ServerName +FROM VirtualServices AS VS +INNER JOIN Services AS S ON VS.ServiceID = S.ServiceID +INNER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID +INNER JOIN Providers AS P ON S.ProviderID = P.ProviderID +WHERE + VS.ServerID = @ServerID + AND @IsAdmin = 1 + +RETURN +GO + + + + + + + + + + + + + + + + + + + From 0ba956b582b5ad4d48a467648e27b21e0c716165 Mon Sep 17 00:00:00 2001 From: robvde Date: Tue, 10 Jul 2012 13:50:56 +0400 Subject: [PATCH 46/78] Added the ability to specify the PlanName and PlanDescription of the Add-ons in the account summary template:
    Add-on Quantity Purchase Date
    #Addons[j].PlanName# #Addons[j].Quantity# #Addons[j].PurchaseDate#
    --- .../Packages/PackageAddonInfo.cs | 15 +++++++++++++++ .../Code/Packages/PackageController.cs | 15 +++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageAddonInfo.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageAddonInfo.cs index 5d571fbe..fd87dd84 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageAddonInfo.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Packages/PackageAddonInfo.cs @@ -43,6 +43,8 @@ namespace WebsitePanel.EnterpriseServer int statusId; DateTime purchaseDate; string comments; + string planName; + string planDescription; public PackageAddonInfo() @@ -90,5 +92,18 @@ namespace WebsitePanel.EnterpriseServer get { return this.statusId; } set { this.statusId = value; } } + + public string PlanName + { + get { return planName; } + set { planName = value; } + } + + public string PlanDescription + { + get { return planDescription; } + set { planDescription = value; } + } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs index baf64911..d336dfa0 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs @@ -1952,6 +1952,21 @@ namespace WebsitePanel.EnterpriseServer } items["Plans"] = plans; + //Add ons + Hashtable addOns = new Hashtable(); + int i = 0; + foreach (PackageInfo package in packages) + { + List lstAddOns = ObjectUtils.CreateListFromDataSet(GetPackageAddons(package.PackageId)); + foreach (PackageAddonInfo addOn in lstAddOns) + { + addOns.Add(i, addOn); + i++; + } + + } + items["Addons"] = addOns; + // package contexts Hashtable cntxs = new Hashtable(); foreach (PackageInfo package in packages) From da0966657b1c59edaaac0095f8c0d4bae25cf287 Mon Sep 17 00:00:00 2001 From: robvde Date: Tue, 10 Jul 2012 14:19:05 +0400 Subject: [PATCH 47/78] Object not found when creating distributionlist fixed --- .../ExchangeServerController.cs | 2 +- .../Exchange2007.cs | 34 ++++++++++--------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs index 42a4e2bd..816eed66 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/ExchangeServer/ExchangeServerController.cs @@ -1121,7 +1121,7 @@ namespace WebsitePanel.EnterpriseServer { return DataProvider.AddExchangeAccount(itemId, (int)accountType, accountName, displayName, primaryEmailAddress, mailEnabledPublicFolder, - mailboxManagerActions.ToString(), samAccountName, CryptoUtils.Encrypt(accountPassword), mailboxPlanId, subscriberNumber.Trim()); + mailboxManagerActions.ToString(), samAccountName, CryptoUtils.Encrypt(accountPassword), mailboxPlanId, (string.IsNullOrEmpty(subscriberNumber) ? null : subscriberNumber.Trim())); } private static void UpdateAccount(ExchangeAccount account) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs index d8f22589..60c3e411 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs @@ -3419,27 +3419,29 @@ namespace WebsitePanel.Providers.HostedSolution Runspace runSpace = null; try { - runSpace = OpenRunspace(); + runSpace = OpenRunspace(); - Command cmd = new Command("Get-DistributionGroup"); - cmd.Parameters.Add("Identity", accountName); - Collection result = ExecuteShellCommand(runSpace, cmd); - PSObject distributionGroup = result[0]; + Command cmd = new Command("Get-DistributionGroup"); + cmd.Parameters.Add("Identity", accountName); + Collection result = ExecuteShellCommand(runSpace, cmd); + PSObject distributionGroup = result[0]; - info.DisplayName = (string)GetPSObjectProperty(distributionGroup, "DisplayName"); - info.HideFromAddressBook = - (bool)GetPSObjectProperty(distributionGroup, "HiddenFromAddressListsEnabled"); + info.DisplayName = (string)GetPSObjectProperty(distributionGroup, "DisplayName"); + info.HideFromAddressBook = + (bool)GetPSObjectProperty(distributionGroup, "HiddenFromAddressListsEnabled"); - cmd = new Command("Get-Group"); - cmd.Parameters.Add("Identity", accountName); - result = ExecuteShellCommand(runSpace, cmd); - PSObject group = result[0]; + info.SAMAccountName = string.Format("{0}\\{1}", GetNETBIOSDomainName(), (string)GetPSObjectProperty(distributionGroup, "SamAccountName")); - info.ManagerAccount = GetGroupManagerAccount(runSpace, group); - info.MembersAccounts = GetGroupMembers(runSpace, accountName); - info.Notes = (string)GetPSObjectProperty(group, "Notes"); - } + cmd = new Command("Get-Group"); + cmd.Parameters.Add("Identity", accountName); + result = ExecuteShellCommand(runSpace, cmd); + PSObject group = result[0]; + + info.ManagerAccount = GetGroupManagerAccount(runSpace, group); + info.MembersAccounts = GetGroupMembers(runSpace, accountName); + info.Notes = (string)GetPSObjectProperty(group, "Notes"); + } finally { From 37af5eceac70f41237a878b64d6e25c7def9637a Mon Sep 17 00:00:00 2001 From: robvde Date: Wed, 11 Jul 2012 18:18:13 +0400 Subject: [PATCH 48/78] More granularity to the available roles: Available roles now in the platform: Administrator, Reseller, User, PlatformCSR, PlatformHelpdesk, ResellerCSR, ResellerHelpdesk. The platform CSR and Helpdesk are peer accounts on platform root level. The names can be used within the websitepanel_pages.config on Page and Module level. On module level the roles can be specified on the viewRoles attribute and readOnlyRoles attribute. When specifying the later all controls will be disabled within the Modile, the viewRoles just show the page or not. When nothing specified the page is just shown --- .../Common/BusinessErrorCodes.cs | 1 + .../Security/DemandAccount.cs | 6 +- .../Users/UserRole.cs | 6 +- .../Code/Common/SecurityContext.cs | 55 +++++- .../Code/Packages/PackageController.cs | 4 +- .../App_Data/WebsitePanel_Pages.config | 163 +++++++++--------- .../WebsitePanel.WebPortal/Code/PageModule.cs | 7 + .../Code/PortalConfiguration.cs | 4 + .../App_LocalResources/Peers.ascx.resx | 7 +- .../PeersEditPeer.ascx.resx | 7 +- .../Code/Framework/WebsitePanelControlBase.cs | 40 +++++ .../WebsitePanel/Code/Helpers/UsersHelper.cs | 1 + .../DesktopModules/WebsitePanel/Peers.ascx | 7 +- .../DesktopModules/WebsitePanel/Peers.ascx.cs | 30 +++- .../WebsitePanel/Peers.ascx.designer.cs | 34 +++- .../WebsitePanel/PeersEditPeer.ascx | 18 +- .../WebsitePanel/PeersEditPeer.ascx.cs | 85 ++++++++- .../PeersEditPeer.ascx.designer.cs | 30 +++- .../WebsitePanel/SpaceDetails.ascx.cs | 6 +- .../WebsitePanel/UserAccountDetails.ascx.cs | 3 +- .../WebsitePanel.WebPortal/Global.asax.cs | 36 ++-- 21 files changed, 423 insertions(+), 127 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Common/BusinessErrorCodes.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Common/BusinessErrorCodes.cs index f709a65b..703eae8a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Common/BusinessErrorCodes.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Common/BusinessErrorCodes.cs @@ -62,6 +62,7 @@ namespace WebsitePanel.EnterpriseServer public const int ERROR_USER_WRONG_USERNAME = -109; public const int ERROR_USER_WRONG_PASSWORD = -110; public const int ERROR_INVALID_USER_NAME = -111; + public const int ERROR_USER_ACCOUNT_NOT_ENOUGH_PERMISSIONS = -112; #endregion #region Packages diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Security/DemandAccount.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Security/DemandAccount.cs index a4807a65..720f6bd4 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Security/DemandAccount.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Security/DemandAccount.cs @@ -38,6 +38,10 @@ namespace WebsitePanel.EnterpriseServer NotDemo = 0x1, IsActive = 0x2, IsAdmin = 0x4, - IsReseller = 0x8 + IsReseller = 0x8, + IsPlatformCSR = 0x10, + IsPlatformHelpdesk = 0x20, + IsResellerCSR = 0x40, + IsResellerHelpdesk = 0x80, } } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserRole.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserRole.cs index a58e4289..c83a3abb 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserRole.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/Users/UserRole.cs @@ -37,6 +37,10 @@ namespace WebsitePanel.EnterpriseServer { Administrator = 1, Reseller = 2, - User = 3 + User = 3, + ResellerCSR = 4, + PlatformCSR = 5, + ResellerHelpdesk = 6, + PlatformHelpdesk = 7 } } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/SecurityContext.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/SecurityContext.cs index fd457ab1..bd037cd7 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/SecurityContext.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Common/SecurityContext.cs @@ -45,6 +45,10 @@ namespace WebsitePanel.EnterpriseServer public const string ROLE_ADMINISTRATOR = "Administrator"; public const string ROLE_RESELLER = "Reseller"; public const string ROLE_USER = "User"; + public const string ROLE_PLATFORMCSR = "PlatformCSR"; + public const string ROLE_PLATFORMHELPDESK = "PlatformHelpdesk"; + public const string ROLE_RESELLERCSR = "ResellerCSR"; + public const string ROLE_RESELLERHELPDESK = "ResellerHelpdesk"; public const string CONTEXT_USER_INFO = "CONTEXT_USER_INFO"; @@ -62,8 +66,26 @@ namespace WebsitePanel.EnterpriseServer // set roles array List roles = new List(); roles.Add(SecurityContext.ROLE_USER); + + if (user.Role == UserRole.Reseller || user.Role == UserRole.Administrator || + user.Role == UserRole.PlatformHelpdesk || user.Role == UserRole.ResellerHelpdesk) + roles.Add(SecurityContext.ROLE_RESELLERHELPDESK); + + if (user.Role == UserRole.Reseller || user.Role == UserRole.Administrator || + user.Role == UserRole.PlatformCSR || user.Role == UserRole.ResellerCSR) + roles.Add(SecurityContext.ROLE_RESELLERCSR); + + if (user.Role == UserRole.Reseller || user.Role == UserRole.Administrator || + user.Role == UserRole.PlatformHelpdesk) + roles.Add(SecurityContext.ROLE_PLATFORMHELPDESK); + + if (user.Role == UserRole.Reseller || user.Role == UserRole.Administrator || + user.Role == UserRole.PlatformCSR) + roles.Add(SecurityContext.ROLE_PLATFORMCSR); + if (user.Role == UserRole.Reseller || user.Role == UserRole.Administrator) roles.Add(SecurityContext.ROLE_RESELLER); + if (user.Role == UserRole.Administrator) roles.Add(SecurityContext.ROLE_ADMINISTRATOR); @@ -152,9 +174,40 @@ namespace WebsitePanel.EnterpriseServer { // should make a check if the account has Admin role if (!User.IsInRole(ROLE_RESELLER)) - return BusinessErrorCodes.ERROR_USER_ACCOUNT_SHOULD_BE_RESELLER; + return BusinessErrorCodes.ERROR_USER_ACCOUNT_NOT_ENOUGH_PERMISSIONS; } + if ((demand & DemandAccount.IsPlatformCSR) == DemandAccount.IsPlatformCSR) + { + // should make a check if the account has Admin role + if (!User.IsInRole(ROLE_PLATFORMCSR)) + return BusinessErrorCodes.ERROR_USER_ACCOUNT_NOT_ENOUGH_PERMISSIONS; + } + + if ((demand & DemandAccount.IsPlatformHelpdesk) == DemandAccount.IsPlatformHelpdesk) + { + // should make a check if the account has Admin role + if (!User.IsInRole(ROLE_PLATFORMHELPDESK)) + return BusinessErrorCodes.ERROR_USER_ACCOUNT_NOT_ENOUGH_PERMISSIONS; + } + + + if ((demand & DemandAccount.IsResellerHelpdesk) == DemandAccount.IsResellerHelpdesk) + { + // should make a check if the account has Admin role + if (!User.IsInRole(ROLE_RESELLERHELPDESK)) + return BusinessErrorCodes.ERROR_USER_ACCOUNT_NOT_ENOUGH_PERMISSIONS; + } + + + if ((demand & DemandAccount.IsResellerCSR) == DemandAccount.IsResellerCSR) + { + // should make a check if the account has Admin role + if (!User.IsInRole(ROLE_RESELLERCSR)) + return BusinessErrorCodes.ERROR_USER_ACCOUNT_NOT_ENOUGH_PERMISSIONS; + } + + return 0; } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs index d336dfa0..7b2b322d 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Packages/PackageController.cs @@ -399,7 +399,7 @@ namespace WebsitePanel.EnterpriseServer // check account result.Result = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive - | DemandAccount.IsReseller); + | DemandAccount.IsResellerCSR); if (result.Result < 0) return result; // check if domain exists @@ -652,7 +652,7 @@ namespace WebsitePanel.EnterpriseServer { // check account result.Result = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive - | DemandAccount.IsReseller); + | DemandAccount.IsResellerCSR); if (result.Result < 0) return result; int packageId = -1; diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config index d9a76036..be8e97cf 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config @@ -9,25 +9,25 @@
    -