Removed Exchange Hosted Edition

Important!:
Before updating ensure that there are no servers within the
with the WebsitePanel with ExchangeHostedEdition enabled/configured.
This commit is contained in:
robvde 2012-07-08 09:04:14 +04:00
parent 9dd9a4ab13
commit 2f8a580846
78 changed files with 49 additions and 7299 deletions

View file

@ -141,9 +141,6 @@
<data name="lnkVps.Text" xml:space="preserve">
<value>Virtual Private Servers</value>
</data>
<data name="lnkExchangeHostedEdition.Text" xml:space="preserve">
<value>Exchange Hosting Mode</value>
</data>
<data name="lnkVpsForPC.Text" xml:space="preserve">
<value>Virtual Private Servers for Private Cloud</value>
</data>

View file

@ -141,7 +141,4 @@
<data name="lnkVpsSummaryLetter.Text" xml:space="preserve">
<value>VPS Summary Letter</value>
</data>
<data name="lnkExchangeHostedEditionOrganizationSummary.Text" xml:space="preserve">
<value>Exchange Hosting Mode Organization Summary</value>
</data>
</root>

View file

@ -150,7 +150,4 @@
<data name="lnkWebPolicy.Text" xml:space="preserve">
<value>WEB Policy</value>
</data>
<data name="lnkExchangeHostedEditionPolicy.Text" xml:space="preserve">
<value>Exchange Hosting Mode Policy</value>
</data>
</root>

View file

@ -206,11 +206,6 @@ namespace WebsitePanel.Portal
get { return GetCachedProxy<esExchangeServer>(); }
}
public esExchangeHostedEdition ExchangeHostedEdition
{
get { return GetCachedProxy<esExchangeHostedEdition>(); }
}
protected ES()
{
}

View file

@ -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" %>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
<div class="FormBody">
<wsp:SimpleMessageBox ID="messageBox" runat="server" />
<asp:ValidationSummary ID="validationErrors" runat="server" ValidationGroup="AddDomain" DisplayMode="List" ShowMessageBox="true" ShowSummary="false" />
<table>
<tr>
<td><asp:Localize ID="locDomain" runat="server" meta:resourcekey="locDomain">Domain:</asp:Localize></td>
<td>
<asp:TextBox ID="domain" runat="server" Width="200"></asp:TextBox>
<asp:RequiredFieldValidator ID="requireDomain" runat="server" meta:resourcekey="requireDomain" ControlToValidate="domain" ValidationGroup="AddDomain"
Text="*" ErrorMessage="Specify organization domain" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="requireCorrectDomain" runat="server" ValidationExpression="^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.){1,10}[a-zA-Z]{2,6}$"
ErrorMessage="Enter correct domain name" ControlToValidate="domain"
Display="Dynamic" meta:resourcekey="requireCorrectDomain" ValidationGroup="AddDomain">*</asp:RegularExpressionValidator>
</td>
</tr>
</table>
</div>
<div class="FormFooter">
<asp:Button ID="update" runat="server" meta:resourcekey="update" Text="Update"
CssClass="Button1" onclick="update_Click" ValidationGroup="AddDomain" />
<asp:Button ID="cancel" runat="server" meta:resourcekey="cancel" Text="Cancel"
CssClass="Button1" CausesValidation="false" onclick="cancel_Click" />
</div>

View file

@ -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()));
}
}
}

View file

@ -1,96 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.ExchangeHostedEdition {
public partial class AddOrganizationDomain {
/// <summary>
/// asyncTasks control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
/// <summary>
/// messageBox control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
/// <summary>
/// validationErrors control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ValidationSummary validationErrors;
/// <summary>
/// locDomain control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locDomain;
/// <summary>
/// domain control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox domain;
/// <summary>
/// requireDomain control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator requireDomain;
/// <summary>
/// requireCorrectDomain control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RegularExpressionValidator requireCorrectDomain;
/// <summary>
/// update control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button update;
/// <summary>
/// cancel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button cancel;
}
}

View file

@ -1,144 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="cancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="locDomain.Text" xml:space="preserve">
<value>Domain:</value>
</data>
<data name="requireCorrectDomain.ErrorMessage" xml:space="preserve">
<value>Enter correct domain name in the form "mydomain.com" or "sub.mydomain.com"</value>
</data>
<data name="requireCorrectDomain.Text" xml:space="preserve">
<value>!</value>
</data>
<data name="requireDomain.ErrorMessage" xml:space="preserve">
<value>Select domain</value>
</data>
<data name="requireDomain.Text" xml:space="preserve">
<value>*</value>
</data>
<data name="update.OnClientClick" xml:space="preserve">
<value>ShowProgressDialog('Adding organization domain...');</value>
</data>
<data name="update.Text" xml:space="preserve">
<value>Update</value>
</data>
</root>

View file

@ -1,171 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="createOrganization.OnClientClick" xml:space="preserve">
<value>ShowProgressDialog('Creating Exchange organization...');</value>
</data>
<data name="createOrganization.Text" xml:space="preserve">
<value>Create Organization</value>
</data>
<data name="locAdministratorEmail.Text" xml:space="preserve">
<value>Administrator e-mail:</value>
</data>
<data name="locAdministratorName.Text" xml:space="preserve">
<value>Administrator name:</value>
</data>
<data name="locAdministratorPassword.Text" xml:space="preserve">
<value>Administrator password:</value>
</data>
<data name="locOrganizationName.Text" xml:space="preserve">
<value>Organization name:</value>
</data>
<data name="manageDomainsLink.Text" xml:space="preserve">
<value>Manage domains</value>
</data>
<data name="requireAdministratorEmail.ErrorMessage" xml:space="preserve">
<value>Enter administrator e-mail address</value>
</data>
<data name="requireAdministratorEmail.Text" xml:space="preserve">
<value>*</value>
</data>
<data name="requireAdministratorName.ErrorMessage" xml:space="preserve">
<value>Enter administrator display name</value>
</data>
<data name="requireAdministratorName.Text" xml:space="preserve">
<value>*</value>
</data>
<data name="requireCorrectDomain.ErrorMessage" xml:space="preserve">
<value>Enter correct domain name in the form "mydomain.com" or "sub.mydomain.com"</value>
</data>
<data name="requireCorrectDomain.Text" xml:space="preserve">
<value>!</value>
</data>
<data name="requireDomain.ErrorMessage" xml:space="preserve">
<value>Specify organization domain</value>
</data>
<data name="requireDomain.Text" xml:space="preserve">
<value>*</value>
</data>
<data name="requireOrganizationName.ErrorMessage" xml:space="preserve">
<value>Enter organization name</value>
</data>
<data name="requireOrganizationName.Text" xml:space="preserve">
<value>*</value>
</data>
</root>

View file

@ -1,135 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="cancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="confirmDelete.Text" xml:space="preserve">
<value>I confirm deletion of this organization and all its contents</value>
</data>
<data name="delete.OnClientClick" xml:space="preserve">
<value>ShowProgressDialog('Deleting Exchange organization...');</value>
</data>
<data name="delete.Text" xml:space="preserve">
<value>Delete</value>
</data>
<data name="locWarningMessage.Text" xml:space="preserve">
<value>&lt;p&gt;&lt;b&gt;All organization user accounts, contacts, distribution lists and public folders will be deleted.&lt;/b&gt;&lt;/p&gt;</value>
</data>
</root>

View file

@ -1,234 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnAddDomain.Text" xml:space="preserve">
<value>Add Domain</value>
</data>
<data name="catchAllNotSet.Text" xml:space="preserve">
<value>(not set)</value>
</data>
<data name="changeServicePlan.Text" xml:space="preserve">
<value>Change Service Plan</value>
</data>
<data name="cmdDelete.OnClientClick" xml:space="preserve">
<value>if(!confirm('Are you sure you want to remove selected domain?')) return false; else ShowProgressDialog('Deleting domain...');</value>
</data>
<data name="cmdDelete.Text" xml:space="preserve">
<value>Delete</value>
</data>
<data name="deleteOrganization.Text" xml:space="preserve">
<value>Delete Organization</value>
</data>
<data name="domainsQuota.Text" xml:space="preserve">
<value>{0} of {1}</value>
</data>
<data name="gvDomains.Empty" xml:space="preserve">
<value>There are no domains allowed for this organization. Click "Add Domain" button to add domain.</value>
</data>
<data name="gvDomainsIsDefault.Header" xml:space="preserve">
<value>Default</value>
</data>
<data name="gvDomainsIsTemp.Header" xml:space="preserve">
<value>Temporary</value>
</data>
<data name="gvDomainsName.Header" xml:space="preserve">
<value>Domain</value>
</data>
<data name="lblAdminsWarning.Text" xml:space="preserve">
<value>This block is visible to system administrators only.</value>
</data>
<data name="locAdministratorEmail.Text" xml:space="preserve">
<value>Administrator e-mail:</value>
</data>
<data name="locAdministratorName.Text" xml:space="preserve">
<value>Administrator name:</value>
</data>
<data name="locCatchAll.Text" xml:space="preserve">
<value>Catch-all</value>
</data>
<data name="locCatchAllAddress.Text" xml:space="preserve">
<value>Catch-all address:</value>
</data>
<data name="locContacts.Text" xml:space="preserve">
<value>Contacts:</value>
</data>
<data name="locDistributionLists.Text" xml:space="preserve">
<value>Distribution Lists:</value>
</data>
<data name="locDomains.Text" xml:space="preserve">
<value>Domains</value>
</data>
<data name="locDomainsQuota.Text" xml:space="preserve">
<value>Total domains used:</value>
</data>
<data name="locEcpURL.Text" xml:space="preserve">
<value>Exchange Control Panel:</value>
</data>
<data name="locMailboxes.Text" xml:space="preserve">
<value>Mailboxes:</value>
</data>
<data name="locOfferID.Text" xml:space="preserve">
<value>Offer ID:</value>
</data>
<data name="locOrganizationDetails.Text" xml:space="preserve">
<value>Organization Details</value>
</data>
<data name="locOrganizationName.Text" xml:space="preserve">
<value>Organization name:</value>
</data>
<data name="locProgramID.Text" xml:space="preserve">
<value>Program ID:</value>
</data>
<data name="locQuotas.Text" xml:space="preserve">
<value>Quotas</value>
</data>
<data name="locSendTo.Text" xml:space="preserve">
<value>Send to e-mail:</value>
</data>
<data name="locService.Text" xml:space="preserve">
<value>Service:</value>
</data>
<data name="locServicePlan.Text" xml:space="preserve">
<value>Service Plan</value>
</data>
<data name="locSetupInstructions.Text" xml:space="preserve">
<value>Setup Instructions</value>
</data>
<data name="quota.FormatText" xml:space="preserve">
<value>{0} of {1} (max {2})</value>
</data>
<data name="requireSendTo.Text" xml:space="preserve">
<value>*</value>
</data>
<data name="sendSetupInstructions.Text" xml:space="preserve">
<value>Send</value>
</data>
<data name="setCatchAll.Text" xml:space="preserve">
<value>Set Catch-all</value>
</data>
<data name="summaryTemplateNotSet.Text" xml:space="preserve">
<value>(summary information template is not set)</value>
</data>
<data name="unlimited.Text" xml:space="preserve">
<value>Unlimited</value>
</data>
<data name="updateQuotas.Text" xml:space="preserve">
<value>Update Quotas</value>
</data>
</root>

View file

@ -1,159 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="cancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="catchAllModeDisabled.Text" xml:space="preserve">
<value>Disable catch-all</value>
</data>
<data name="catchAllModeEnabled.Text" xml:space="preserve">
<value>Enable catch-all</value>
</data>
<data name="locCatchAllAddress.Text" xml:space="preserve">
<value>Catch-all mailbox:</value>
</data>
<data name="requireCatchAllAddress.ErrorMessage" xml:space="preserve">
<value>Enter catch-all e-mail address</value>
</data>
<data name="requireCatchAllAddress.Text" xml:space="preserve">
<value>*</value>
</data>
<data name="requireCorrectEmail.ErrorMessage" xml:space="preserve">
<value>Enter correct e-mail address</value>
</data>
<data name="requireCorrectEmail.Text" xml:space="preserve">
<value>!</value>
</data>
<data name="requireDomain.ErrorMessage" xml:space="preserve">
<value>Select domain</value>
</data>
<data name="requireDomain.Text" xml:space="preserve">
<value>*</value>
</data>
<data name="SelectDomain.Text" xml:space="preserve">
<value>&lt;Select domain&gt;</value>
</data>
<data name="update.OnClientClick" xml:space="preserve">
<value>ShowProgressDialog('Updating organization Catch-all address...');</value>
</data>
<data name="update.Text" xml:space="preserve">
<value>Update</value>
</data>
</root>

View file

@ -1,180 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="cancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="locContacts.Text" xml:space="preserve">
<value>Contacts:</value>
</data>
<data name="locDistributionLists.Text" xml:space="preserve">
<value>Distribution Lists:</value>
</data>
<data name="locMailboxes.Text" xml:space="preserve">
<value>Mailboxes:</value>
</data>
<data name="maxQuota.Text" xml:space="preserve">
<value>(max {0})</value>
</data>
<data name="rangeContacts.ErrorMessage" xml:space="preserve">
<value>Specify correct number</value>
</data>
<data name="rangeContacts.Text" xml:space="preserve">
<value>!</value>
</data>
<data name="rangeDistributionLists.ErrorMessage" xml:space="preserve">
<value>Specify correct number</value>
</data>
<data name="rangeDistributionLists.Text" xml:space="preserve">
<value>!</value>
</data>
<data name="rangeMailboxes.ErrorMessage" xml:space="preserve">
<value>Specify correct number</value>
</data>
<data name="rangeMailboxes.Text" xml:space="preserve">
<value>!</value>
</data>
<data name="requireContacts.ErrorMessage" xml:space="preserve">
<value>Enter contacts quota</value>
</data>
<data name="requireContacts.Text" xml:space="preserve">
<value>*</value>
</data>
<data name="requireDistributionLists.ErrorMessage" xml:space="preserve">
<value>Enter distribution lists quota</value>
</data>
<data name="requireDistributionLists.Text" xml:space="preserve">
<value>*</value>
</data>
<data name="requireMailboxes.ErrorMessage" xml:space="preserve">
<value>Enter mailboxes quota</value>
</data>
<data name="requireMailboxes.Text" xml:space="preserve">
<value>*</value>
</data>
<data name="unlimited.Text" xml:space="preserve">
<value>Unlimited</value>
</data>
<data name="update.OnClientClick" xml:space="preserve">
<value>ShowProgressDialog('Updating organization quotas...');</value>
</data>
<data name="update.Text" xml:space="preserve">
<value>Update</value>
</data>
</root>

View file

@ -1,153 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="apply.OnClientClick" xml:space="preserve">
<value>ShowProgressDialog('Updating organization service plan...');</value>
</data>
<data name="apply.Text" xml:space="preserve">
<value>Apply</value>
</data>
<data name="cancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="locCurrentServicePlan.Text" xml:space="preserve">
<value>Current Service Plan</value>
</data>
<data name="locNewServicePlan.Text" xml:space="preserve">
<value>New Service Plan</value>
</data>
<data name="locOfferID.Text" xml:space="preserve">
<value>Offer ID:</value>
</data>
<data name="locProgramID.Text" xml:space="preserve">
<value>Program ID:</value>
</data>
<data name="locService.Text" xml:space="preserve">
<value>Service:</value>
</data>
<data name="requireServices.ErrorMessage" xml:space="preserve">
<value>Select new service</value>
</data>
<data name="requireServices.Text" xml:space="preserve">
<value>*</value>
</data>
<data name="SelectService.Text" xml:space="preserve">
<value>&lt;Select service&gt;</value>
</data>
</root>

View file

@ -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" %>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
<asp:Panel runat="server" ID="CreateExchangeOrganizationPanel" DefaultButton="createOrganization">
<div class="FormBody">
<wsp:SimpleMessageBox ID="messageBox" runat="server" />
<asp:ValidationSummary ID="validationErrors" runat="server" ValidationGroup="CreateOrg"
DisplayMode="List" ShowMessageBox="true" ShowSummary="false" />
<table cellpadding="2">
<tr>
<td style="width: 150px;">
<asp:Localize ID="locOrganizationName" runat="server" meta:resourcekey="locOrganizationName">Organization name:</asp:Localize>
</td>
<td>
<asp:TextBox ID="organizationName" runat="server" Width="200"></asp:TextBox>
<asp:RequiredFieldValidator ID="requireOrganizationName" runat="server" meta:resourcekey="requireOrganizationName"
ControlToValidate="organizationName" ValidationGroup="CreateOrg" Text="*" ErrorMessage="Enter organization name"
Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:Localize ID="locAdministratorName" runat="server" meta:resourcekey="locAdministratorName">Administrator name:</asp:Localize>
</td>
<td>
<asp:TextBox ID="administratorName" runat="server" Width="200"></asp:TextBox>
<asp:RequiredFieldValidator ID="requireAdministratorName" runat="server" meta:resourcekey="requireAdministratorName"
ControlToValidate="administratorName" ValidationGroup="CreateOrg" Text="*" ErrorMessage="Enter administrator name"
Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:Localize ID="locAdministratorEmail" runat="server" meta:resourcekey="locAdministratorEmail">Administrator e-mail:</asp:Localize>
</td>
<td>
<asp:TextBox ID="administratorEmail" runat="server" Width="100"></asp:TextBox>
<asp:RequiredFieldValidator ID="requireAdministratorEmail" runat="server" meta:resourcekey="requireAdministratorEmail"
ControlToValidate="administratorEmail" ValidationGroup="CreateOrg" Text="*" ErrorMessage="Enter administrator e-mail address"
Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
@
<asp:TextBox ID="domain" runat="server" Width="200"></asp:TextBox>
<asp:RequiredFieldValidator ID="requireDomain" runat="server" meta:resourcekey="requireDomain"
ControlToValidate="domain" ValidationGroup="CreateOrg" Text="*" ErrorMessage="Specify organization domain"
Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="requireCorrectDomain" runat="server" ValidationExpression="^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.){1,10}[a-zA-Z]{2,6}$"
ErrorMessage="Enter correct domain name" ControlToValidate="domain" Display="Dynamic"
meta:resourcekey="requireCorrectDomain" ValidationGroup="CreateOrg">*</asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td valign="top">
<asp:Localize ID="locAdministratorPassword" runat="server" meta:resourcekey="locAdministratorPassword">Administrator password:</asp:Localize>
</td>
<td valign="top">
<wsp:PasswordControl id="administratorPassword" runat="server" ValidationGroup="CreateOrg">
</wsp:PasswordControl>
</td>
</tr>
</table>
</div>
<div class="FormFooter">
<asp:Button ID="createOrganization" runat="server" meta:resourcekey="createOrganization"
Text="Create" CssClass="Button1" ValidationGroup="CreateOrg" OnClick="createOrganization_Click" />
</div>
</asp:Panel>

View file

@ -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);
}
}
}
}

View file

@ -1,186 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.ExchangeHostedEdition {
public partial class CreateOrganization {
/// <summary>
/// asyncTasks control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
/// <summary>
/// CreateExchangeOrganizationPanel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel CreateExchangeOrganizationPanel;
/// <summary>
/// messageBox control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
/// <summary>
/// validationErrors control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ValidationSummary validationErrors;
/// <summary>
/// locOrganizationName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locOrganizationName;
/// <summary>
/// organizationName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox organizationName;
/// <summary>
/// requireOrganizationName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator requireOrganizationName;
/// <summary>
/// locAdministratorName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locAdministratorName;
/// <summary>
/// administratorName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox administratorName;
/// <summary>
/// requireAdministratorName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator requireAdministratorName;
/// <summary>
/// locAdministratorEmail control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locAdministratorEmail;
/// <summary>
/// administratorEmail control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox administratorEmail;
/// <summary>
/// requireAdministratorEmail control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator requireAdministratorEmail;
/// <summary>
/// domain control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox domain;
/// <summary>
/// requireDomain control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator requireDomain;
/// <summary>
/// requireCorrectDomain control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RegularExpressionValidator requireCorrectDomain;
/// <summary>
/// locAdministratorPassword control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locAdministratorPassword;
/// <summary>
/// administratorPassword control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.PasswordControl administratorPassword;
/// <summary>
/// createOrganization control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button createOrganization;
}
}

View file

@ -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" %>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
<div class="FormBody">
<wsp:SimpleMessageBox ID="messageBox" runat="server" />
<div>
<asp:Localize ID="locWarningMessage" runat="server" meta:resourcekey="locWarningMessage"></asp:Localize>
</div>
<asp:CheckBox ID="confirmDelete" runat="server" meta:resourcekey="confirmDelete" Text="I confirm deletion of this organization and all its contents" />
</div>
<div class="FormFooter">
<asp:Button ID="delete" runat="server" meta:resourcekey="delete" Text="Delete"
CssClass="Button1" onclick="delete_Click" />
<asp:Button ID="cancel" runat="server" meta:resourcekey="cancel" Text="Cancel"
CssClass="Button1" CausesValidation="false" onclick="cancel_Click" />
</div>

View file

@ -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()));
}
}
}

View file

@ -1,69 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.ExchangeHostedEdition {
public partial class DeleteOrganization {
/// <summary>
/// asyncTasks control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
/// <summary>
/// messageBox control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
/// <summary>
/// locWarningMessage control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locWarningMessage;
/// <summary>
/// confirmDelete control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox confirmDelete;
/// <summary>
/// delete control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button delete;
/// <summary>
/// cancel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button cancel;
}
}

View file

@ -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" %>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
<div class="FormBody">
<wsp:SimpleMessageBox ID="messageBox" runat="server" />
<fieldset>
<legend><asp:Localize ID="locOrganizationDetails" runat="server" meta:resourcekey="locOrganizationDetails">Organization Details</asp:Localize></legend>
<table>
<tr>
<td class="Label" style="width:150px;"><asp:Localize ID="locOrganizationName" runat="server" meta:resourcekey="locOrganizationName">Organization name:</asp:Localize></td>
<td><asp:Literal ID="organizationName" runat="server"></asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locAdministratorName" runat="server" meta:resourcekey="locAdministratorName">Administrator name:</asp:Localize></td>
<td><asp:Literal ID="administratorName" runat="server"></asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locAdministratorEmail" runat="server" meta:resourcekey="locAdministratorEmail">Administrator e-mail:</asp:Localize></td>
<td><asp:Literal ID="administratorEmail" runat="server"></asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locEcpURL" runat="server" meta:resourcekey="locEcpURL">Exchange Control Panel:</asp:Localize></td>
<td><asp:HyperLink ID="ecpURL" runat="server" Target="_blank"></asp:HyperLink></td>
</tr>
</table>
<div style="text-align:right;">
<asp:Button ID="deleteOrganization" runat="server"
meta:resourcekey="deleteOrganization" Text="Delete Organization"
CssClass="Button1" onclick="deleteOrganization_Click" />
</div>
</fieldset>
<fieldset id="servicePlanBlock" runat="server">
<legend><asp:Localize ID="locServicePlan" runat="server" meta:resourcekey="locServicePlan">Service Plan</asp:Localize></legend>
<table>
<tr>
<td class="Label"><asp:Localize ID="locService" runat="server" meta:resourcekey="locService">Service:</asp:Localize></td>
<td><asp:Literal ID="serviceName" runat="server"></asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locProgramID" runat="server" meta:resourcekey="locProgramID">Program ID:</asp:Localize></td>
<td><asp:Literal ID="programID" runat="server"></asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locOfferID" runat="server" meta:resourcekey="locOfferID">Offer ID:</asp:Localize></td>
<td><asp:Literal ID="offerID" runat="server"></asp:Literal></td>
</tr>
</table>
<div style="text-align:right;">
<asp:Button ID="changeServicePlan" runat="server"
meta:resourcekey="changeServicePlan" Text="Change Service Plan"
CssClass="Button1" onclick="changeServicePlan_Click" />
</div>
<div>
<asp:Label ID="lblAdminsWarning" runat="server" ForeColor="Red" meta:resourcekey="lblAdminsWarning">Visible to admins only</asp:Label>
</div>
</fieldset>
<fieldset>
<legend><asp:Localize ID="locQuotas" runat="server" meta:resourcekey="locQuotas">Quotas</asp:Localize></legend>
<table>
<tr>
<td class="Label"><asp:Localize ID="locMailboxes" runat="server" meta:resourcekey="locMailboxes">Mailboxes:</asp:Localize></td>
<td><asp:Literal ID="mailboxes" runat="server">0 of 0 (max 0)</asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locContacts" runat="server" meta:resourcekey="locContacts">Contacts:</asp:Localize></td>
<td><asp:Literal ID="contacts" runat="server">0 of 0 (max 0)</asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locDistributionLists" runat="server" meta:resourcekey="locDistributionLists">Distribution Lists:</asp:Localize></td>
<td><asp:Literal ID="distributionLists" runat="server">0 of 0 (max 0)</asp:Literal></td>
</tr>
</table>
<div style="text-align:right;">
<asp:Button ID="updateQuotas" runat="server" meta:resourcekey="updateQuotas"
Text="Update Quotas" CssClass="Button1" onclick="updateQuotas_Click" />
</div>
</fieldset>
<fieldset>
<legend><asp:Localize ID="locDomains" runat="server" meta:resourcekey="locDomains">Domains</asp:Localize></legend>
<div class="FormButtonsBarClean">
<asp:Button ID="btnAddDomain" runat="server" meta:resourcekey="btnAddDomain"
Text="Add Domain" CssClass="Button1" onclick="btnAddDomain_Click" />
</div>
<asp:GridView ID="gvDomains" runat="server" AutoGenerateColumns="False" EnableViewState="true"
EmptyDataText="gvDomains" CssSelectorClass="NormalGridView" DataKeyNames="Name"
onrowdeleting="gvDomains_RowDeleting">
<Columns>
<asp:TemplateField HeaderText="gvDomainsName">
<ItemStyle Width="70%"></ItemStyle>
<ItemTemplate>
<%# Eval("Name") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="gvDomainsIsDefault">
<ItemTemplate>
<div style="text-align:center">
&nbsp;
<asp:Image runat="server" SkinID="Checkbox16" Visible='<%# Eval("IsDefault") %>' />
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="gvDomainsIsTemp">
<ItemTemplate>
<div style="text-align:center">
&nbsp;
<asp:Image runat="server" SkinID="Checkbox16" Visible='<%# Eval("IsTemp") %>' />
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
&nbsp;<asp:ImageButton ID="imgDelDomain" runat="server" Text="Delete" SkinID="ExchangeDelete"
CommandName="delete" CommandArgument='<%# Eval("Name") %>' Visible='<%# !((bool)Eval("IsTemp") || (bool)Eval("IsDefault")) %>'
meta:resourcekey="cmdDelete" OnClientClick="return confirm('Are you sure you want to remove selected domain?')"></asp:ImageButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<asp:Localize ID="locDomainsQuota" runat="server" meta:resourcekey="locDomainsQuota" Text="Total domains used:"></asp:Localize>
&nbsp;&nbsp;&nbsp;
<wsp:QuotaViewer ID="domainsQuota" runat="server" QuotaTypeId="2" />
</fieldset>
<%--
<fieldset>
<legend><asp:Localize ID="locCatchAll" runat="server" meta:resourcekey="locCatchAll">Catch-all</asp:Localize></legend>
<table>
<tr>
<td class="Label"><asp:Localize ID="locCatchAllAddress" runat="server" meta:resourcekey="locCatchAllAddress">Catch-all address:</asp:Localize></td>
<td><asp:Literal ID="catchAllAddress" runat="server">(not set)</asp:Literal></td>
</tr>
</table>
<div style="text-align:right;">
<asp:Button ID="setCatchAll" runat="server" meta:resourcekey="setCatchAll"
Text="Set Catch-all" CssClass="Button1" onclick="setCatchAll_Click" />
</div>
</fieldset>
--%>
<fieldset id="organizationSummary" runat="server">
<legend><asp:Localize ID="locSetupInstructions" runat="server" meta:resourcekey="locSetupInstructions">Setup Instructions</asp:Localize></legend>
<div style="padding:10px;">
<asp:Literal ID="setupInstructions" runat="server">(not set)</asp:Literal>
</div>
<div>
<asp:Localize ID="locSendTo" runat="server" meta:resourcekey="locSendTo" Text="Send to e-mail:"></asp:Localize>
<asp:TextBox ID="sendTo" runat="server" Width="150"></asp:TextBox>
<asp:Button ID="sendSetupInstructions" runat="server" ValidationGroup="SendInstructions"
meta:resourcekey="sendSetupInstructions" Text="Send"
CssClass="Button1" onclick="sendSetupInstructions_Click" />
<asp:RequiredFieldValidator ID="requireSendTo" runat="server" meta:resourcekey="requireSendTo" ControlToValidate="sendTo" ValidationGroup="SendInstructions"
Text="*" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
</div>
</fieldset>
</div>

View file

@ -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);
}
}
}
}

View file

@ -1,393 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.ExchangeHostedEdition {
public partial class OrganizationDetails {
/// <summary>
/// asyncTasks control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
/// <summary>
/// messageBox control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
/// <summary>
/// locOrganizationDetails control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locOrganizationDetails;
/// <summary>
/// locOrganizationName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locOrganizationName;
/// <summary>
/// organizationName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal organizationName;
/// <summary>
/// locAdministratorName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locAdministratorName;
/// <summary>
/// administratorName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal administratorName;
/// <summary>
/// locAdministratorEmail control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locAdministratorEmail;
/// <summary>
/// administratorEmail control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal administratorEmail;
/// <summary>
/// locEcpURL control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locEcpURL;
/// <summary>
/// ecpURL control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HyperLink ecpURL;
/// <summary>
/// deleteOrganization control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button deleteOrganization;
/// <summary>
/// servicePlanBlock control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl servicePlanBlock;
/// <summary>
/// locServicePlan control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locServicePlan;
/// <summary>
/// locService control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locService;
/// <summary>
/// serviceName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal serviceName;
/// <summary>
/// locProgramID control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locProgramID;
/// <summary>
/// programID control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal programID;
/// <summary>
/// locOfferID control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locOfferID;
/// <summary>
/// offerID control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal offerID;
/// <summary>
/// changeServicePlan control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button changeServicePlan;
/// <summary>
/// lblAdminsWarning control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblAdminsWarning;
/// <summary>
/// locQuotas control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locQuotas;
/// <summary>
/// locMailboxes control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locMailboxes;
/// <summary>
/// mailboxes control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal mailboxes;
/// <summary>
/// locContacts control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locContacts;
/// <summary>
/// contacts control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal contacts;
/// <summary>
/// locDistributionLists control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locDistributionLists;
/// <summary>
/// distributionLists control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal distributionLists;
/// <summary>
/// updateQuotas control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button updateQuotas;
/// <summary>
/// locDomains control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locDomains;
/// <summary>
/// btnAddDomain control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnAddDomain;
/// <summary>
/// gvDomains control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView gvDomains;
/// <summary>
/// locDomainsQuota control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locDomainsQuota;
/// <summary>
/// domainsQuota control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.QuotaViewer domainsQuota;
/// <summary>
/// organizationSummary control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl organizationSummary;
/// <summary>
/// locSetupInstructions control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locSetupInstructions;
/// <summary>
/// setupInstructions control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal setupInstructions;
/// <summary>
/// locSendTo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locSendTo;
/// <summary>
/// sendTo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox sendTo;
/// <summary>
/// sendSetupInstructions control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button sendSetupInstructions;
/// <summary>
/// requireSendTo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator requireSendTo;
}
}

View file

@ -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" %>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
<div class="FormBody">
<wsp:SimpleMessageBox ID="messageBox" runat="server" />
<asp:ValidationSummary ID="validationErrors" runat="server" ValidationGroup="CatchAll" DisplayMode="List" ShowMessageBox="true" ShowSummary="false" />
<table>
<tr>
<td colspan="2">
<asp:RadioButtonList ID="catchAllMode" runat="server" AutoPostBack="true"
onselectedindexchanged="catchAllMode_SelectedIndexChanged">
<asp:ListItem Value="Disabled" meta:resourcekey="catchAllModeDisabled" Text="Disabled"></asp:ListItem>
<asp:ListItem Value="Enabled" meta:resourcekey="catchAllModeEnabled" Text="Enabled" Selected="True"></asp:ListItem>
</asp:RadioButtonList>
<br />
</td>
</tr>
<tr id="rawCatchAllAddress" runat="server">
<td><asp:Localize ID="locCatchAllAddress" runat="server" meta:resourcekey="locCatchAllAddress">Catch-all mailbox:</asp:Localize></td>
<td>
<asp:TextBox ID="catchAllAddress" runat="server" Width="100"></asp:TextBox>
<asp:RequiredFieldValidator ID="requireCatchAllAddress" runat="server" meta:resourcekey="requireCatchAllAddress" ControlToValidate="catchAllAddress" ValidationGroup="CatchAll"
Text="*" ErrorMessage="Enter catch-all e-mail address" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="requireCorrectEmail" runat="server"
ErrorMessage="Enter valid e-mail address" ControlToValidate="catchAllAddress" Display="Dynamic" ValidationGroup="CatchAll"
meta:resourcekey="requireCorrectEmail" ValidationExpression="^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+$" SetFocusOnError="True"></asp:RegularExpressionValidator>
@
<asp:DropDownList ID="domains" runat="server" DataValueField="Name" DataTextField="Name"></asp:DropDownList>
<asp:RequiredFieldValidator ID="requireDomain" runat="server" meta:resourcekey="requireDomain" ControlToValidate="domains" ValidationGroup="CatchAll"
Text="*" ErrorMessage="Select domain" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
</td>
</tr>
</table>
</div>
<div class="FormFooter">
<asp:Button ID="update" runat="server" meta:resourcekey="update" Text="Update"
CssClass="Button1" onclick="update_Click" ValidationGroup="CatchAll" />
<asp:Button ID="cancel" runat="server" meta:resourcekey="cancel" Text="Cancel"
CssClass="Button1" CausesValidation="false" onclick="cancel_Click" />
</div>

View file

@ -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();
}
}
}

View file

@ -1,132 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.ExchangeHostedEdition {
public partial class UpdateOrganizationCatchAll {
/// <summary>
/// asyncTasks control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
/// <summary>
/// messageBox control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
/// <summary>
/// validationErrors control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ValidationSummary validationErrors;
/// <summary>
/// catchAllMode control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RadioButtonList catchAllMode;
/// <summary>
/// rawCatchAllAddress control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTableRow rawCatchAllAddress;
/// <summary>
/// locCatchAllAddress control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locCatchAllAddress;
/// <summary>
/// catchAllAddress control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox catchAllAddress;
/// <summary>
/// requireCatchAllAddress control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator requireCatchAllAddress;
/// <summary>
/// requireCorrectEmail control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RegularExpressionValidator requireCorrectEmail;
/// <summary>
/// domains control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList domains;
/// <summary>
/// requireDomain control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator requireDomain;
/// <summary>
/// update control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button update;
/// <summary>
/// cancel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button cancel;
}
}

View file

@ -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" %>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
<div class="FormBody">
<wsp:SimpleMessageBox ID="messageBox" runat="server" />
<asp:ValidationSummary ID="validationErrors" runat="server" ValidationGroup="OrgQuotas" DisplayMode="List" ShowMessageBox="true" ShowSummary="false" />
<table>
<tr>
<td class="Label"><asp:Localize ID="locMailboxes" runat="server" meta:resourcekey="locMailboxes" Text="Mailboxes:"></asp:Localize></td>
<td>
<asp:TextBox ID="mailboxes" runat="server" Width="50"></asp:TextBox>
<asp:Literal ID="maxMailboxes" runat="server">(max 0)</asp:Literal>
<asp:RequiredFieldValidator ID="requireMailboxes" runat="server" meta:resourcekey="requireMailboxes" ControlToValidate="mailboxes" ValidationGroup="OrgQuotas"
Text="*" ErrorMessage="Enter mailboxes quota" Display="Dynamic" SetFocusOnError="true" Enabled="false"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rangeMailboxes" runat="server" meta:resourcekey="rangeMailboxes" ControlToValidate="mailboxes" ValidationGroup="OrgQuotas"
Text="!" ErrorMessage="Specify correct number" Display="Dynamic" SetFocusOnError="true" MinimumValue="0" MaximumValue="1000000" Type="Integer"></asp:RangeValidator>
</td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locContacts" runat="server" meta:resourcekey="locContacts" Text="Contacts:"></asp:Localize></td>
<td>
<asp:TextBox ID="contacts" runat="server" Width="50"></asp:TextBox>
<asp:Literal ID="maxContacts" runat="server">(max 0)</asp:Literal>
<asp:RequiredFieldValidator ID="requireContacts" runat="server" meta:resourcekey="requireContacts" ControlToValidate="contacts" ValidationGroup="OrgQuotas"
Text="*" ErrorMessage="Enter contacts quota" Display="Dynamic" SetFocusOnError="true" Enabled="false"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rangeContacts" runat="server" meta:resourcekey="rangeContacts" ControlToValidate="contacts" ValidationGroup="OrgQuotas"
Text="!" ErrorMessage="Specify correct number" Display="Dynamic" SetFocusOnError="true" MinimumValue="0" MaximumValue="1000000" Type="Integer"></asp:RangeValidator>
</td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locDistributionLists" runat="server" meta:resourcekey="locDistributionLists" Text="Distribution Lists:"></asp:Localize></td>
<td>
<asp:TextBox ID="distributionLists" runat="server" Width="50"></asp:TextBox>
<asp:Literal ID="maxDistributionLists" runat="server">(max 0)</asp:Literal>
<asp:RequiredFieldValidator ID="requireDistributionLists" runat="server" meta:resourcekey="requireDistributionLists" ControlToValidate="distributionLists" ValidationGroup="OrgQuotas"
Text="*" ErrorMessage="Enter distribution lists quota" Display="Dynamic" SetFocusOnError="true" Enabled="false"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rangeDistributionLists" runat="server" meta:resourcekey="rangeDistributionLists" ControlToValidate="distributionLists" ValidationGroup="OrgQuotas"
Text="!" ErrorMessage="Specify correct number" Display="Dynamic" SetFocusOnError="true" MinimumValue="0" MaximumValue="1000000" Type="Integer"></asp:RangeValidator>
</td>
</tr>
</table>
</div>
<div class="FormFooter">
<asp:Button ID="update" runat="server" meta:resourcekey="update" Text="Update"
CssClass="Button1" onclick="update_Click" ValidationGroup="OrgQuotas" />
<asp:Button ID="cancel" runat="server" meta:resourcekey="cancel" Text="Cancel"
CssClass="Button1" CausesValidation="false" onclick="cancel_Click" />
</div>

View file

@ -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()));
}
}
}

View file

@ -1,195 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.ExchangeHostedEdition {
public partial class UpdateOrganizationQuotas {
/// <summary>
/// asyncTasks control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
/// <summary>
/// messageBox control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
/// <summary>
/// validationErrors control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ValidationSummary validationErrors;
/// <summary>
/// locMailboxes control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locMailboxes;
/// <summary>
/// mailboxes control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox mailboxes;
/// <summary>
/// maxMailboxes control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal maxMailboxes;
/// <summary>
/// requireMailboxes control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator requireMailboxes;
/// <summary>
/// rangeMailboxes control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RangeValidator rangeMailboxes;
/// <summary>
/// locContacts control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locContacts;
/// <summary>
/// contacts control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox contacts;
/// <summary>
/// maxContacts control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal maxContacts;
/// <summary>
/// requireContacts control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator requireContacts;
/// <summary>
/// rangeContacts control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RangeValidator rangeContacts;
/// <summary>
/// locDistributionLists control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locDistributionLists;
/// <summary>
/// distributionLists control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox distributionLists;
/// <summary>
/// maxDistributionLists control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal maxDistributionLists;
/// <summary>
/// requireDistributionLists control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator requireDistributionLists;
/// <summary>
/// rangeDistributionLists control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RangeValidator rangeDistributionLists;
/// <summary>
/// update control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button update;
/// <summary>
/// cancel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button cancel;
}
}

View file

@ -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" %>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
<div class="FormBody">
<wsp:SimpleMessageBox ID="messageBox" runat="server" />
<asp:ValidationSummary ID="validationErrors" runat="server" ValidationGroup="ServicePlan" DisplayMode="List" ShowMessageBox="true" ShowSummary="false" />
<fieldset>
<legend><asp:Localize ID="locCurrentServicePlan" runat="server" meta:resourcekey="locCurrentServicePlan" Text="Current Service Plan"></asp:Localize></legend>
<table>
<tr>
<td class="Label"><asp:Localize ID="locCurrentService" runat="server" meta:resourcekey="locService" Text="Service:"></asp:Localize></td>
<td><asp:Literal ID="currentServiceName" runat="server"></asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locCurrentProgramID" runat="server" meta:resourcekey="locProgramID" Text="Program ID:"></asp:Localize></td>
<td><asp:Literal ID="currentProgramID" runat="server"></asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locCurrentOfferID" runat="server" meta:resourcekey="locOfferID" Text="Offer ID:"></asp:Localize></td>
<td><asp:Literal ID="currentOfferID" runat="server"></asp:Literal></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend><asp:Localize ID="locNewServicePlan" runat="server" meta:resourcekey="locNewServicePlan" Text="New Service Plan"></asp:Localize></legend>
<table>
<tr>
<td class="Label"><asp:Localize ID="locNewService" runat="server" meta:resourcekey="locService" Text="Service:"></asp:Localize></td>
<td>
<asp:DropDownList ID="services" runat="server" DataValueField="ServiceId"
DataTextField="FullServiceName" AutoPostBack="True"
onselectedindexchanged="services_SelectedIndexChanged"></asp:DropDownList>
<asp:RequiredFieldValidator ID="requireServices" runat="server" meta:resourcekey="requireServices" ControlToValidate="services" ValidationGroup="ServicePlan"
Text="*" ErrorMessage="Select new service" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locNewProgramID" runat="server" meta:resourcekey="locProgramID" Text="Program ID:"></asp:Localize></td>
<td><asp:Literal ID="newProgramID" runat="server"></asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locNewOfferID" runat="server" meta:resourcekey="locOfferID" Text="Offer ID:"></asp:Localize></td>
<td><asp:Literal ID="newOfferID" runat="server"></asp:Literal></td>
</tr>
</table>
</fieldset>
</div>
<div class="FormFooter">
<asp:Button ID="apply" runat="server" meta:resourcekey="apply" Text="Apply"
CssClass="Button1" onclick="apply_Click" ValidationGroup="ServicePlan" />
<asp:Button ID="cancel" runat="server" meta:resourcekey="cancel" Text="Cancel"
CssClass="Button1" CausesValidation="false" onclick="cancel_Click" />
</div>

View file

@ -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()));
}
}
}

View file

@ -1,195 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.ExchangeHostedEdition {
public partial class UpdateOrganizationServicePlan {
/// <summary>
/// asyncTasks control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
/// <summary>
/// messageBox control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
/// <summary>
/// validationErrors control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ValidationSummary validationErrors;
/// <summary>
/// locCurrentServicePlan control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locCurrentServicePlan;
/// <summary>
/// locCurrentService control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locCurrentService;
/// <summary>
/// currentServiceName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal currentServiceName;
/// <summary>
/// locCurrentProgramID control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locCurrentProgramID;
/// <summary>
/// currentProgramID control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal currentProgramID;
/// <summary>
/// locCurrentOfferID control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locCurrentOfferID;
/// <summary>
/// currentOfferID control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal currentOfferID;
/// <summary>
/// locNewServicePlan control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locNewServicePlan;
/// <summary>
/// locNewService control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locNewService;
/// <summary>
/// services control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList services;
/// <summary>
/// requireServices control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator requireServices;
/// <summary>
/// locNewProgramID control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locNewProgramID;
/// <summary>
/// newProgramID control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal newProgramID;
/// <summary>
/// locNewOfferID control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locNewOfferID;
/// <summary>
/// newOfferID control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal newOfferID;
/// <summary>
/// apply control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button apply;
/// <summary>
/// cancel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button cancel;
}
}

View file

@ -1,42 +0,0 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SettingsExchangeHostedEditionOrganizationSummary.ascx.cs" Inherits="WebsitePanel.Portal.SettingsExchangeHostedEditionOrganizationSummary" %>
<table>
<tr>
<td class="SubHead" width="150" nowrap><asp:Label ID="lblFrom" runat="server" meta:resourcekey="lblFrom" Text="From:"></asp:Label></td>
<td class="Normal" width="100%">
<asp:TextBox ID="txtFrom" runat="server" Width="500px" CssClass="NormalTextBox"></asp:TextBox></td>
</tr>
<tr>
<td class="SubHead"><asp:Label ID="lblCC" runat="server" meta:resourcekey="lblCC" Text="CC:"></asp:Label></td>
<td class="Normal">
<asp:TextBox ID="txtCC" runat="server" Width="500px" CssClass="NormalTextBox"></asp:TextBox></td>
</tr>
<tr>
<td class="SubHead"><asp:Label ID="lblSubject" runat="server" meta:resourcekey="lblSubject" Text="Subject:"></asp:Label></td>
<td class="Normal">
<asp:TextBox ID="txtSubject" runat="server" Width="500px" CssClass="NormalTextBox"></asp:TextBox></td>
</tr>
<tr>
<td class="SubHead"><asp:Label ID="lblPriority" runat="server" meta:resourcekey="lblPriority" Text="Priority"></asp:Label></td>
<td class="Normal">
<asp:DropDownList ID="ddlPriority" runat="server" CssClass="NormalTextBox" resourcekey="ddlPriority">
<asp:ListItem Value="High">High</asp:ListItem>
<asp:ListItem Value="Normal">Normal</asp:ListItem>
<asp:ListItem Value="Low">Low</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td class="SubHead" colspan="2"><br /><br /><asp:Label ID="lblHtmlBody" runat="server" meta:resourcekey="lblHtmlBody" Text="HTML Body:"></asp:Label></td>
</tr>
<tr>
<td class="Normal" colspan="2">
<asp:TextBox ID="txtHtmlBody" runat="server" Rows="15" TextMode="MultiLine" Width="680px" CssClass="NormalTextBox" Wrap="false"></asp:TextBox></td>
</tr>
<tr>
<td class="SubHead" colspan="2"><br /><br /><asp:Label ID="lblTextBody" runat="server" meta:resourcekey="lblTextBody" Text="Text Body:"></asp:Label></td>
</tr>
<tr>
<td class="Normal" colspan="2">
<asp:TextBox ID="txtTextBody" runat="server" Rows="15" TextMode="MultiLine" Width="680px" CssClass="NormalTextBox" Wrap="false"></asp:TextBox></td>
</tr>
</table>

View file

@ -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;
}
}
}

View file

@ -1,123 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal {
public partial class SettingsExchangeHostedEditionOrganizationSummary {
/// <summary>
/// lblFrom control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblFrom;
/// <summary>
/// txtFrom control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtFrom;
/// <summary>
/// lblCC control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblCC;
/// <summary>
/// txtCC control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtCC;
/// <summary>
/// lblSubject control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblSubject;
/// <summary>
/// txtSubject control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtSubject;
/// <summary>
/// lblPriority control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPriority;
/// <summary>
/// ddlPriority control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList ddlPriority;
/// <summary>
/// lblHtmlBody control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblHtmlBody;
/// <summary>
/// txtHtmlBody control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtHtmlBody;
/// <summary>
/// lblTextBody control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblTextBody;
/// <summary>
/// txtTextBody control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtTextBody;
}
}

View file

@ -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" %>
<wsp:CollapsiblePanel id="secMailboxPassword" runat="server"
TargetControlID="MailboxPasswordPanel" meta:resourcekey="secMailboxPassword" Text="Mailbox Password Policy"/>
<asp:Panel ID="MailboxPasswordPanel" runat="server" Height="0" style="overflow:hidden;">
<table>
<tr>
<td class="SubHead" width="150" nowrap>
</td>
<td>
<wsp:PasswordPolicyEditor id="mailboxPasswordPolicy" runat="server" />
</td>
</tr>
</table>
</asp:Panel>

View file

@ -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;
}
}
}

View file

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal {
public partial class SettingsExchangeHostedEditionPolicy {
/// <summary>
/// secMailboxPassword control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.CollapsiblePanel secMailboxPassword;
/// <summary>
/// MailboxPasswordPanel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel MailboxPasswordPanel;
/// <summary>
/// mailboxPasswordPolicy control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.PasswordPolicyEditor mailboxPasswordPolicy;
}
}

View file

@ -24,9 +24,6 @@
<div class="ToolLink">
<asp:HyperLink ID="lnkExchangeServer" runat="server" meta:resourcekey="lnkExchangeServer" Text="Exchange Server"></asp:HyperLink>
</div>
<div class="ToolLink">
<asp:HyperLink ID="lnkExchangeHostedEdition" runat="server" meta:resourcekey="lnkExchangeHostedEdition" Text="Exchange Hosting Mode"></asp:HyperLink>
</div>
<div class="ToolLink">
<asp:HyperLink ID="lnkVps" runat="server" meta:resourcekey="lnkVps" Text="Virtual Private Servers"></asp:HyperLink>
</div>

View file

@ -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",

View file

@ -84,15 +84,6 @@ namespace WebsitePanel.Portal {
/// </remarks>
protected global::System.Web.UI.WebControls.HyperLink lnkExchangeServer;
/// <summary>
/// lnkExchangeHostedEdition control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HyperLink lnkExchangeHostedEdition;
/// <summary>
/// lnkVps control.
/// </summary>

View file

@ -1,18 +0,0 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SpaceSettingsExchangeHostedEdition.ascx.cs" Inherits="WebsitePanel.Portal.SpaceSettingsExchangeHostedEdition" %>
<fieldset>
<legend><asp:Localize ID="locDomainTemplates" runat="server" meta:resourcekey="locDomainTemplates">Domain Templates</asp:Localize></legend>
<table>
<tr>
<td style="width:150px;"><asp:Localize ID="locTemporaryDomain" runat="server" meta:resourcekey="locTemporaryDomain">Temporary domain:</asp:Localize></td>
<td>organization_domain.<asp:TextBox ID="temporaryDomain" runat="server" Width="200"></asp:TextBox></td>
</tr>
<tr>
<td valign="top"><asp:Localize ID="locEcpURL" runat="server" meta:resourcekey="locEcpDomain">ECP URL template:</asp:Localize></td>
<td valign="top">
<asp:TextBox ID="ecpURL" runat="server" Width="300"></asp:TextBox><br />
<asp:Localize ID="locEcpURLDescr" runat="server" meta:resourcekey="locEcpURLDescr">You can use [DOMAIN_NAME] variable for organization default domain.</asp:Localize>
</td>
</tr>
</table>
</fieldset>

View file

@ -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();
}
}
}

View file

@ -1,69 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal {
public partial class SpaceSettingsExchangeHostedEdition {
/// <summary>
/// locDomainTemplates control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locDomainTemplates;
/// <summary>
/// locTemporaryDomain control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locTemporaryDomain;
/// <summary>
/// temporaryDomain control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox temporaryDomain;
/// <summary>
/// locEcpURL control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locEcpURL;
/// <summary>
/// ecpURL control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox ecpURL;
/// <summary>
/// locEcpURLDescr control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locEcpURLDescr;
}
}

View file

@ -26,10 +26,6 @@
<asp:HyperLink ID="HyperLink2" runat="server" meta:resourcekey="lnkHostedSolutionReport"
Text="Exchange Mailbox Setup Letter" NavigateUrl='<%# GetSettingsLink("HostedSoluitonReportSummaryLetter", "HostedSoluitonReportSummaryLetter") %>'></asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="lnkExchangeHostedEditionOrganizationSummary" runat="server" meta:resourcekey="lnkExchangeHostedEditionOrganizationSummary"
Text="Exchange Hosting Mode Organization Summary" NavigateUrl='<%# GetSettingsLink("ExchangeHostedEditionOrganizationSummary", "SettingsExchangeHostedEditionOrganizationSummary") %>'></asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="lnkVpsSummaryLetter" runat="server" meta:resourcekey="lnkVpsSummaryLetter"
Text="VPS Summary Letter" NavigateUrl='<%# GetSettingsLink("VpsSummaryLetter", "SettingsVpsSummaryLetter") %>'></asp:HyperLink>

View file

@ -66,15 +66,6 @@ namespace WebsitePanel.Portal {
/// </remarks>
protected global::System.Web.UI.WebControls.HyperLink HyperLink2;
/// <summary>
/// lnkExchangeHostedEditionOrganizationSummary control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HyperLink lnkExchangeHostedEditionOrganizationSummary;
/// <summary>
/// lnkVpsSummaryLetter control.
/// </summary>

View file

@ -37,10 +37,6 @@
<asp:HyperLink ID="lnkExchangePolicy" runat="server" meta:resourcekey="lnkExchangePolicy"
Text="Exchange Server Policy" NavigateUrl='<%# GetSettingsLink("ExchangePolicy", "SettingsExchangePolicy") %>'></asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="lnkExchangeHostedEditionPolicy" runat="server" meta:resourcekey="lnkExchangeHostedEditionPolicy"
Text="Exchange Hosting Mode Policy" NavigateUrl='<%# GetSettingsLink("ExchangeHostedEditionPolicy", "SettingsExchangeHostedEditionPolicy") %>'></asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="lnkVpsPolicy" runat="server" meta:resourcekey="lnkVpsPolicy"
Text="Virtual Private Servers Policy" NavigateUrl='<%# GetSettingsLink("VpsPolicy", "SettingsVpsPolicy") %>'></asp:HyperLink>

View file

@ -93,15 +93,6 @@ namespace WebsitePanel.Portal {
/// </remarks>
protected global::System.Web.UI.WebControls.HyperLink lnkExchangePolicy;
/// <summary>
/// lnkExchangeHostedEditionPolicy control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HyperLink lnkExchangeHostedEditionPolicy;
/// <summary>
/// lnkVpsPolicy control.
/// </summary>

View file

@ -534,13 +534,6 @@
<Compile Include="ProviderControls\HyperVForPrivateCloud_Settings.ascx.designer.cs">
<DependentUpon>HyperVForPrivateCloud_Settings.ascx</DependentUpon>
</Compile>
<Compile Include="SettingsExchangeHostedEditionOrganizationSummary.ascx.cs">
<DependentUpon>SettingsExchangeHostedEditionOrganizationSummary.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="SettingsExchangeHostedEditionOrganizationSummary.ascx.designer.cs">
<DependentUpon>SettingsExchangeHostedEditionOrganizationSummary.ascx</DependentUpon>
</Compile>
<Compile Include="SetupControlPanelAccounts.ascx.cs">
<DependentUpon>SetupControlPanelAccounts.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -548,69 +541,6 @@
<Compile Include="SetupControlPanelAccounts.ascx.designer.cs">
<DependentUpon>SetupControlPanelAccounts.ascx</DependentUpon>
</Compile>
<Compile Include="SpaceSettingsExchangeHostedEdition.ascx.cs">
<DependentUpon>SpaceSettingsExchangeHostedEdition.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="SpaceSettingsExchangeHostedEdition.ascx.designer.cs">
<DependentUpon>SpaceSettingsExchangeHostedEdition.ascx</DependentUpon>
</Compile>
<Compile Include="SettingsExchangeHostedEditionPolicy.ascx.cs">
<DependentUpon>SettingsExchangeHostedEditionPolicy.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="SettingsExchangeHostedEditionPolicy.ascx.designer.cs">
<DependentUpon>SettingsExchangeHostedEditionPolicy.ascx</DependentUpon>
</Compile>
<Compile Include="ExchangeHostedEdition\AddOrganizationDomain.ascx.cs">
<DependentUpon>AddOrganizationDomain.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ExchangeHostedEdition\AddOrganizationDomain.ascx.designer.cs">
<DependentUpon>AddOrganizationDomain.ascx</DependentUpon>
</Compile>
<Compile Include="ExchangeHostedEdition\CreateOrganization.ascx.cs">
<DependentUpon>CreateOrganization.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ExchangeHostedEdition\CreateOrganization.ascx.designer.cs">
<DependentUpon>CreateOrganization.ascx</DependentUpon>
</Compile>
<Compile Include="ExchangeHostedEdition\DeleteOrganization.ascx.cs">
<DependentUpon>DeleteOrganization.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ExchangeHostedEdition\DeleteOrganization.ascx.designer.cs">
<DependentUpon>DeleteOrganization.ascx</DependentUpon>
</Compile>
<Compile Include="ExchangeHostedEdition\OrganizationDetails.ascx.cs">
<DependentUpon>OrganizationDetails.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ExchangeHostedEdition\OrganizationDetails.ascx.designer.cs">
<DependentUpon>OrganizationDetails.ascx</DependentUpon>
</Compile>
<Compile Include="ExchangeHostedEdition\UpdateOrganizationCatchAll.ascx.cs">
<DependentUpon>UpdateOrganizationCatchAll.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ExchangeHostedEdition\UpdateOrganizationCatchAll.ascx.designer.cs">
<DependentUpon>UpdateOrganizationCatchAll.ascx</DependentUpon>
</Compile>
<Compile Include="ExchangeHostedEdition\UpdateOrganizationQuotas.ascx.cs">
<DependentUpon>UpdateOrganizationQuotas.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ExchangeHostedEdition\UpdateOrganizationQuotas.ascx.designer.cs">
<DependentUpon>UpdateOrganizationQuotas.ascx</DependentUpon>
</Compile>
<Compile Include="ExchangeHostedEdition\UpdateOrganizationServicePlan.ascx.cs">
<DependentUpon>UpdateOrganizationServicePlan.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ExchangeHostedEdition\UpdateOrganizationServicePlan.ascx.designer.cs">
<DependentUpon>UpdateOrganizationServicePlan.ascx</DependentUpon>
</Compile>
<Compile Include="ExchangeServer\ExchangeMailboxMobile.ascx.cs">
<DependentUpon>ExchangeMailboxMobile.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -3804,17 +3734,7 @@
<Content Include="VPSForPC\VpsToolsDeleteServer.ascx" />
<Content Include="VPSForPC\VpsToolsReinstallServer.ascx" />
<Content Include="ProviderControls\HyperVForPrivateCloud_Settings.ascx" />
<Content Include="SettingsExchangeHostedEditionOrganizationSummary.ascx" />
<Content Include="SetupControlPanelAccounts.ascx" />
<Content Include="SpaceSettingsExchangeHostedEdition.ascx" />
<Content Include="SettingsExchangeHostedEditionPolicy.ascx" />
<Content Include="ExchangeHostedEdition\AddOrganizationDomain.ascx" />
<Content Include="ExchangeHostedEdition\CreateOrganization.ascx" />
<Content Include="ExchangeHostedEdition\DeleteOrganization.ascx" />
<Content Include="ExchangeHostedEdition\OrganizationDetails.ascx" />
<Content Include="ExchangeHostedEdition\UpdateOrganizationCatchAll.ascx" />
<Content Include="ExchangeHostedEdition\UpdateOrganizationQuotas.ascx" />
<Content Include="ExchangeHostedEdition\UpdateOrganizationServicePlan.ascx" />
<Content Include="LoginForgotPassword.ascx" />
<Content Include="ProviderControls\Exchange2010SP1_Settings.ascx" />
<Content Include="UserControls\CalendarControl.ascx" />
@ -4768,27 +4688,6 @@
<Content Include="ProviderControls\App_LocalResources\Exchange2010SP1_Settings.ascx.resx">
<SubType>Designer</SubType>
</Content>
<Content Include="ExchangeHostedEdition\App_LocalResources\AddOrganizationDomain.ascx.resx">
<SubType>Designer</SubType>
</Content>
<Content Include="ExchangeHostedEdition\App_LocalResources\UpdateOrganizationServicePlan.ascx.resx">
<SubType>Designer</SubType>
</Content>
<Content Include="ExchangeHostedEdition\App_LocalResources\CreateOrganization.ascx.resx">
<SubType>Designer</SubType>
</Content>
<Content Include="ExchangeHostedEdition\App_LocalResources\DeleteOrganization.ascx.resx">
<SubType>Designer</SubType>
</Content>
<Content Include="ExchangeHostedEdition\App_LocalResources\OrganizationDetails.ascx.resx">
<SubType>Designer</SubType>
</Content>
<Content Include="ExchangeHostedEdition\App_LocalResources\UpdateOrganizationCatchAll.ascx.resx">
<SubType>Designer</SubType>
</Content>
<Content Include="ExchangeHostedEdition\App_LocalResources\UpdateOrganizationQuotas.ascx.resx">
<SubType>Designer</SubType>
</Content>
<Content Include="App_LocalResources\SettingsExchangeHostedEditionPolicy.ascx.resx">
<SubType>Designer</SubType>
</Content>