Initial project's source code check-in.

This commit is contained in:
ptsurbeleu 2011-07-13 16:07:32 -07:00
commit b03b0b373f
4573 changed files with 981205 additions and 0 deletions

View file

@ -0,0 +1,9 @@
<%@ Control Language="C#" AutoEventWireup="true" Codebehind="AddonProducts.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.DesktopModules.Ecommerce.UserControls.AddonProducts" %>
<asp:DataList runat="server" ID="dlProductAddons" DataKeyField="ProductID"
RepeatDirection="Vertical" RepeatColumns="3" RepeatLayout="Table"
CellPadding="2" CellSpacing="1" Width="100%">
<ItemStyle Width="33%" Wrap="false" CssClass="FormRow" />
<ItemTemplate>
<asp:CheckBox ID="chkSelected" runat="server" />&nbsp;<%# Eval("ProductName") %>
</ItemTemplate>
</asp:DataList>

View file

@ -0,0 +1,132 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
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.Ecommerce.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.DesktopModules.Ecommerce.UserControls
{
public partial class AddonProducts : ecControlBase
{
private int[] assignedProducts;
private bool dataSourceBinded;
public const string VIEW_STATE_KEY = "__AddonProducts";
public int[] AssignedProducts
{
get
{
return SyncDataListSelection();
}
set
{
SyncProductsSelection(value);
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
BindAvailableProducts();
}
private void dlProductAddons_ItemDataBound(object sender, DataListItemEventArgs e)
{
switch (e.Item.ItemType)
{
case ListItemType.AlternatingItem:
case ListItemType.EditItem:
case ListItemType.SelectedItem:
case ListItemType.Item:
Product dataItem = (Product)e.Item.DataItem;
if (dataItem != null)
{
CheckBox chkBox = ecUtils.FindControl<CheckBox>(e.Item, "chkSelected");
//
chkBox.Checked = (Array.IndexOf(assignedProducts, dataItem.ProductId) > -1);
}
break;
}
}
private int[] SyncDataListSelection()
{
List<int> bindIds = new List<int>();
foreach (DataListItem item in dlProductAddons.Items)
{
// obtain checkbox
CheckBox chkBox = ecUtils.FindControl<CheckBox>(item, "chkSelected");
if (chkBox != null)
{
// user uncheck assigned category - we collect it.
if (chkBox.Checked)
{
bindIds.Add((int)dlProductAddons.DataKeys[item.ItemIndex]);
continue;
}
}
}
return bindIds.ToArray();
}
private void SyncProductsSelection(int[] value)
{
//
this.assignedProducts = value;
//
dlProductAddons.ItemDataBound += new DataListItemEventHandler(dlProductAddons_ItemDataBound);
//
if (!dataSourceBinded)
BindAvailableProducts();
}
private void BindAvailableProducts()
{
dlProductAddons.DataSource = StorehouseHelper.GetProductsByType(1);
dlProductAddons.DataBind();
dataSourceBinded = true;
}
}
}

View file

@ -0,0 +1,31 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.312
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.DesktopModules.Ecommerce.UserControls {
/// <summary>
/// AddonProducts class.
/// </summary>
/// <remarks>
/// Auto-generated class.
/// </remarks>
public partial class AddonProducts {
/// <summary>
/// dlProductAddons 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.DataList dlProductAddons;
}
}

View file

@ -0,0 +1,177 @@
<?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="lclCountriesLabel.Text" xml:space="preserve">
<value>-- Select Country --</value>
</data>
<data name="lclCreditCardInfo.Text" xml:space="preserve">
<value>Credit Card Information</value>
</data>
<data name="lclOrderShippingInfo.Text" xml:space="preserve">
<value>Order Shipping Information</value>
</data>
<data name="ListLabel.ddlCountry" xml:space="preserve">
<value>&lt;Select country&gt;</value>
</data>
<data name="locAddress.Text" xml:space="preserve">
<value>Address:</value>
</data>
<data name="locCardCode.Text" xml:space="preserve">
<value>CVV2/CVC2/CID:</value>
</data>
<data name="locCardNumber.Text" xml:space="preserve">
<value>Credit Card Number:</value>
</data>
<data name="locCardType.Text" xml:space="preserve">
<value>Credit Card Type:</value>
</data>
<data name="locCity.Text" xml:space="preserve">
<value>City:</value>
</data>
<data name="locCompany.Text" xml:space="preserve">
<value>Company:</value>
</data>
<data name="locCountry.Text" xml:space="preserve">
<value>Country:</value>
</data>
<data name="locEmail.Text" xml:space="preserve">
<value>Email:</value>
</data>
<data name="locExpireDate.Text" xml:space="preserve">
<value>Expiration Date:</value>
</data>
<data name="locFaxNumber.Text" xml:space="preserve">
<value>Fax Number:</value>
</data>
<data name="locFirstName.Text" xml:space="preserve">
<value>First Name:</value>
</data>
<data name="locLastName.Text" xml:space="preserve">
<value>Last Name:</value>
</data>
<data name="locPhoneNumber.Text" xml:space="preserve">
<value>Phone Number:</value>
</data>
<data name="locPostalCode.Text" xml:space="preserve">
<value>ZIP / Postal Code:</value>
</data>
<data name="locState.Text" xml:space="preserve">
<value>State / Province:</value>
</data>
</root>

View file

@ -0,0 +1,138 @@
<?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="lclChooseMethod.Text" xml:space="preserve">
<value>Choose Payment Method</value>
</data>
<data name="rb2Checkout.Text" xml:space="preserve">
<value>2Checkout</value>
</data>
<data name="rbCreditCard.Text" xml:space="preserve">
<value>Credit Card</value>
</data>
<data name="rbPayByInvoice.Text" xml:space="preserve">
<value>Pay By Invoice</value>
</data>
<data name="rbPayPalAccount.Text" xml:space="preserve">
<value>Using PayPal Account</value>
</data>
<data name="reqPaymentMethod.ErrorMessage" xml:space="preserve">
<value>Please select a payment method</value>
</data>
</root>

View file

@ -0,0 +1,192 @@
<?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="ctxFormShieldValidator.ErrorMessage" xml:space="preserve">
<value>NoBot protection has not been satisfied with the check results. If you beleive that you should not see this message, please try to refresh the browser and fill out the form again. If it does not help, please contact your hosting provider.</value>
</data>
<data name="lclAddress.Text" xml:space="preserve">
<value>Address:</value>
</data>
<data name="lclCity.Text" xml:space="preserve">
<value>City:</value>
</data>
<data name="lclCompany.Text" xml:space="preserve">
<value>Company:</value>
</data>
<data name="lclConfirmPassword.Text" xml:space="preserve">
<value>Confirm Password:</value>
</data>
<data name="lclContactInformation.Text" xml:space="preserve">
<value>Personal Contact Information</value>
</data>
<data name="lclCountriesLabel.Text" xml:space="preserve">
<value>-- Select Country --</value>
</data>
<data name="lclCountry.Text" xml:space="preserve">
<value>Country:</value>
</data>
<data name="lclEmail.Text" xml:space="preserve">
<value>Email:</value>
</data>
<data name="lclFaxNumber.Text" xml:space="preserve">
<value>Fax Number:</value>
</data>
<data name="lclFirstName.Text" xml:space="preserve">
<value>First Name:</value>
</data>
<data name="lclHtml.Text" xml:space="preserve">
<value>HTML</value>
</data>
<data name="lclInstantMsngr.Text" xml:space="preserve">
<value>Instant Messenger:</value>
</data>
<data name="lclLastName.Text" xml:space="preserve">
<value>Last Name:</value>
</data>
<data name="lclMailFormat.Text" xml:space="preserve">
<value>Mail Format:</value>
</data>
<data name="lclPassword.Text" xml:space="preserve">
<value>Password:</value>
</data>
<data name="lclPhoneNumber.Text" xml:space="preserve">
<value>Phone Number:</value>
</data>
<data name="lclPlainText.Text" xml:space="preserve">
<value>Plain Text</value>
</data>
<data name="lclPostalCode.Text" xml:space="preserve">
<value>ZIP / Postal Code:</value>
</data>
<data name="lclSecondaryEmail.Text" xml:space="preserve">
<value>Secondary Email:</value>
</data>
<data name="lclState.Text" xml:space="preserve">
<value>State / Province:</value>
</data>
<data name="lclUserAccountInformation.Text" xml:space="preserve">
<value>User Account Information</value>
</data>
<data name="lclUsername.Text" xml:space="preserve">
<value>Username:</value>
</data>
<data name="valCorrectEmail.ErrorMessage" xml:space="preserve">
<value>Wrong e-mail</value>
</data>
</root>

View file

@ -0,0 +1,168 @@
<?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="btnAddCycle.Text" xml:space="preserve">
<value>Add Cycle</value>
</data>
<data name="btnDeleteCycle.Text" xml:space="preserve">
<value>Delete</value>
</data>
<data name="btnMoveDown.Text" xml:space="preserve">
<value>Down</value>
</data>
<data name="btnMoveUp.Text" xml:space="preserve">
<value>Up</value>
</data>
<data name="CurrencyCompareValidator.ErrorMessage" xml:space="preserve">
<value>Entered value is either incorrect or contains symbols not corresponding to your currency format.</value>
</data>
<data name="CurrencyCompareValidator.ToolTip" xml:space="preserve">
<value>Entered value is either incorrect or contains symbols not corresponding to your currency format.</value>
</data>
<data name="gvBillingCycle.HeaderText" xml:space="preserve">
<value>Billing Cycle</value>
</data>
<data name="gvBillingPeriod.HeaderText" xml:space="preserve">
<value>Billing Period</value>
</data>
<data name="gvCurrencyISO.HeaderText" xml:space="preserve">
<value>Currency</value>
</data>
<data name="gvDomainNameCycles.EmptyDataText" xml:space="preserve">
<value>No billing cycles for domain name found</value>
</data>
<data name="gvRecurringFee.HeaderText" xml:space="preserve">
<value>Recurring Fee</value>
</data>
<data name="gvSetupFee.HeaderText" xml:space="preserve">
<value>Setup Fee</value>
</data>
<data name="gvTransferFee.HeaderText" xml:space="preserve">
<value>Transfer Fee</value>
</data>
<data name="lclSelectCycle.Text" xml:space="preserve">
<value>Select Billing Cycle:</value>
</data>
<data name="RequiredFieldValidator.ErrorMessage" xml:space="preserve">
<value>This field is required and cannot be empty.</value>
</data>
<data name="RequiredFieldValidator.ToolTip" xml:space="preserve">
<value>This field is required and cannot be empty.</value>
</data>
</root>

View file

@ -0,0 +1,141 @@
<?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="lclCcEmail.Text" xml:space="preserve">
<value>CC:</value>
</data>
<data name="lclFromEmail.Text" xml:space="preserve">
<value>From:</value>
</data>
<data name="lclHtmlBody.Text" xml:space="preserve">
<value>HTML Body:</value>
</data>
<data name="lclSubject.Text" xml:space="preserve">
<value>Subject:</value>
</data>
<data name="lclTextBody.Text" xml:space="preserve">
<value>Plain Text Body:</value>
</data>
<data name="valHtmlBody.ErrorMessage" xml:space="preserve">
<value>This field is required and cannot be empty</value>
</data>
<data name="valTextBody.ErrorMessage" xml:space="preserve">
<value>This field is required and cannot be empty</value>
</data>
</root>

View file

@ -0,0 +1,138 @@
<?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="CurrencyCompareValidator.ErrorMessage" xml:space="preserve">
<value>Entered value is either incorrect or contains symbols not corresponding to your currency format.</value>
</data>
<data name="CurrencyCompareValidator.ToolTip" xml:space="preserve">
<value>Entered value is either incorrect or contains symbols not corresponding to your currency format.</value>
</data>
<data name="lclOneTimeFee.Text" xml:space="preserve">
<value>Addon Price:</value>
</data>
<data name="lclSetupFee.Text" xml:space="preserve">
<value>Setup Fee:</value>
</data>
<data name="RequiredFieldValidator.ErrorMessage" xml:space="preserve">
<value>This field is required and cannot be empty.</value>
</data>
<data name="RequiredFieldValidator.ToolTip" xml:space="preserve">
<value>This field is required and cannot be empty.</value>
</data>
</root>

View file

@ -0,0 +1,165 @@
<?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="btnAddCycle.Text" xml:space="preserve">
<value>Add Cycle</value>
</data>
<data name="btnDeleteCycle.Text" xml:space="preserve">
<value>Delete</value>
</data>
<data name="btnMoveDown.Text" xml:space="preserve">
<value>Down</value>
</data>
<data name="btnMoveUp.Text" xml:space="preserve">
<value>Up</value>
</data>
<data name="CurrencyCompareValidator.ErrorMessage" xml:space="preserve">
<value>Entered value is either incorrect or contains symbols not corresponding to your currency format.</value>
</data>
<data name="CurrencyCompareValidator.ToolTip" xml:space="preserve">
<value>Entered value is either incorrect or contains symbols not corresponding to your currency format.</value>
</data>
<data name="gvBillingCycle.HeaderText" xml:space="preserve">
<value>Billing Cycle</value>
</data>
<data name="gvBillingPeriod.HeaderText" xml:space="preserve">
<value>Billing Period</value>
</data>
<data name="gvCurrencyISO.HeaderText" xml:space="preserve">
<value>Currency</value>
</data>
<data name="gvPlanCycles.EmptyDataText" xml:space="preserve">
<value>No billing cycles for hosting plan found</value>
</data>
<data name="gvRecurringFee.HeaderText" xml:space="preserve">
<value>Recurring Fee</value>
</data>
<data name="gvSetupFee.HeaderText" xml:space="preserve">
<value>Setup Fee</value>
</data>
<data name="lclSelectCycle.Text" xml:space="preserve">
<value>Select Billing Cycle:</value>
</data>
<data name="RequiredFieldValidator.ErrorMessage" xml:space="preserve">
<value>This field is required and cannot be empty.</value>
</data>
<data name="RequiredFieldValidator.ToolTip" xml:space="preserve">
<value>This field is required and cannot be empty.</value>
</data>
</root>

View file

@ -0,0 +1,168 @@
<?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="lclDNSResources.Text" xml:space="preserve">
<value>DNS Management</value>
</data>
<data name="lclMailResources.Text" xml:space="preserve">
<value>Mail Quotas</value>
</data>
<data name="lclMSSQL2000Resources.Text" xml:space="preserve">
<value>Microsoft SQL 2000 Quotas</value>
</data>
<data name="lclMSSQL2005Resources.Text" xml:space="preserve">
<value>Microsoft SQL 2005 Quotas</value>
</data>
<data name="lclMySQL4Resources.Text" xml:space="preserve">
<value>MySQL 4.x Quotas</value>
</data>
<data name="lclMySQL5Resources.Text" xml:space="preserve">
<value>MySQL 5.x Quotas</value>
</data>
<data name="lclOsResources.Text" xml:space="preserve">
<value>Operating System Quotas</value>
</data>
<data name="lclSharepointResources.Text" xml:space="preserve">
<value>Microsoft Sharepoint Quotas</value>
</data>
<data name="lclStatisticsResources.Text" xml:space="preserve">
<value>Statistics Quotas</value>
</data>
<data name="lclWebResources.Text" xml:space="preserve">
<value>Web Sites Quotas</value>
</data>
<data name="lclBlackBerryResources.Text" xml:space="preserve">
<value>BlackBerry Quotas</value>
</data>
<data name="lclExchange2007Resources.Text" xml:space="preserve">
<value>Exchange 2007 Quotas</value>
</data>
<data name="lclHostedCRMResources.Text" xml:space="preserve">
<value>Hosted CRM Quotas</value>
</data>
<data name="lclHostedSharePointResources.Text" xml:space="preserve">
<value>Hosted SharePoint Quotas</value>
</data>
<data name="lclHostedSolutionResources.Text" xml:space="preserve">
<value>Hosted Organizations Quotas</value>
</data>
<data name="lclMSSQL2008Resources.Text" xml:space="preserve">
<value>Microsoft SQL 2008 Quotas</value>
</data>
</root>

View file

@ -0,0 +1,64 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.1
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls.App_LocalResources {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class InvoiceCheckoutDetails_ascx {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal InvoiceCheckoutDetails_ascx() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WebsitePanel.Ecommerce.Portal.UserControls.App_LocalResources.InvoiceCheckoutDeta" +
"ils.ascx", typeof(InvoiceCheckoutDetails_ascx).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

View file

@ -0,0 +1,120 @@
<?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>
</root>

View file

@ -0,0 +1,126 @@
<?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="lclPassword.Text" xml:space="preserve">
<value>Password:</value>
</data>
<data name="lclUserName.Text" xml:space="preserve">
<value>User name:</value>
</data>
</root>

View file

@ -0,0 +1,156 @@
<?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="CurrencyCompareValidator.ErrorMessage" xml:space="preserve">
<value>Entered value is either incorrect or contains symbols not corresponding to your currency format.</value>
</data>
<data name="CurrencyCompareValidator.ToolTip" xml:space="preserve">
<value>Entered value is either incorrect or contains symbols not corresponding to your currency format.</value>
</data>
<data name="lclApprovedStatus.Text" xml:space="preserve">
<value>Approved</value>
</data>
<data name="lclCurrency.Text" xml:space="preserve">
<value>Currency:</value>
</data>
<data name="lclPaymentMethod.Text" xml:space="preserve">
<value>Select payment method:</value>
</data>
<data name="lclPendingStatus.Text" xml:space="preserve">
<value>Pending</value>
</data>
<data name="lclTotalAmount.Text" xml:space="preserve">
<value>Total Amount:</value>
</data>
<data name="lclTransactionId.Text" xml:space="preserve">
<value>Transaction Id:</value>
</data>
<data name="lclTransactionStatus.Text" xml:space="preserve">
<value>Status:</value>
</data>
<data name="reqPaymentMethod.ErrorMessage" xml:space="preserve">
<value>Please select a payment method</value>
</data>
<data name="RequiredFieldValidator.ErrorMessage" xml:space="preserve">
<value>This field is required and cannot be empty.</value>
</data>
<data name="RequiredFieldValidator.ToolTip" xml:space="preserve">
<value>This field is required and cannot be empty.</value>
</data>
</root>

View file

@ -0,0 +1,73 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.1
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls.App_LocalResources {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class PathBreadCrumb_ascx {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal PathBreadCrumb_ascx() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WebsitePanel.Ecommerce.Portal.UserControls.App_LocalResources.PathBreadCrumb.ascx" +
"", typeof(PathBreadCrumb_ascx).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Root.
/// </summary>
internal static string lnkCatalogRoot_Text {
get {
return ResourceManager.GetString("lnkCatalogRoot.Text", resourceCulture);
}
}
}
}

View file

@ -0,0 +1,123 @@
<?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="lnkCatalogRoot.Text" xml:space="preserve">
<value>Root</value>
</data>
</root>

View file

@ -0,0 +1,258 @@
<?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="btnCheckDomain.Text" xml:space="preserve">
<value>Check Domain</value>
</data>
<data name="lblDomainAvailable.Text" xml:space="preserve">
<value>Domain name is avaiable for purchase</value>
</data>
<data name="lclAppPurpose.Text" xml:space="preserve">
<value>Application Purpose:</value>
</data>
<data name="lclAppPurpose1.Text" xml:space="preserve">
<value>Business use for profit</value>
</data>
<data name="lclAppPurpose2.Text" xml:space="preserve">
<value>Non-profit business, club, association, religious organization, etc.</value>
</data>
<data name="lclAppPurpose3.Text" xml:space="preserve">
<value>Personal use</value>
</data>
<data name="lclAppPurpose4.Text" xml:space="preserve">
<value>Educational purposes</value>
</data>
<data name="lclAppPurpose5.Text" xml:space="preserve">
<value>Government purposes</value>
</data>
<data name="lclCompanyIdNumber.Text" xml:space="preserve">
<value>UK Company Identification Number:</value>
</data>
<data name="lclCountry.Text" xml:space="preserve">
<value>Country:</value>
</data>
<data name="lclDelPolicyAgreement.Text" xml:space="preserve">
<value>Do you agree to deletion rules for this domain?</value>
</data>
<data name="lclDomain.Text" xml:space="preserve">
<value>Domain:</value>
</data>
<data name="lclDTPolicyAgreement.Text" xml:space="preserve">
<value>I agree with Registry Data Transfer Policy</value>
</data>
<data name="lclEuAdrLang.Text" xml:space="preserve">
<value>ADR Language:</value>
</data>
<data name="lclHideWhoisInfo.Text" xml:space="preserve">
<value>Hide registrant data in Nominet WHOIS:</value>
</data>
<data name="lclLegalTypeCRC.Text" xml:space="preserve">
<value>UK Corporation by Royal Charter</value>
</data>
<data name="lclLegalTypeFCORP.Text" xml:space="preserve">
<value>Non-UK Corporation</value>
</data>
<data name="lclLegalTypeFOTHER.Text" xml:space="preserve">
<value>Non-UK Organization (other)</value>
</data>
<data name="lclLegalTypeGOV.Text" xml:space="preserve">
<value>UK Government Body</value>
</data>
<data name="lclLegalTypeIND.Text" xml:space="preserve">
<value>UK Individual</value>
</data>
<data name="lclLegalTypeIP.Text" xml:space="preserve">
<value>UK Industrial/Provident Registered Company</value>
</data>
<data name="lclLegalTypeLLP.Text" xml:space="preserve">
<value>UK Limited Liability Partnership</value>
</data>
<data name="lclLegalTypeLTD.Text" xml:space="preserve">
<value>UK Limited Company</value>
</data>
<data name="lclLegalTypeNonUK.Text" xml:space="preserve">
<value>Non-UK Individual (representing self)</value>
</data>
<data name="lclLegalTypeOTHER.Text" xml:space="preserve">
<value>UK Entity (other)</value>
</data>
<data name="lclLegalTypePLC.Text" xml:space="preserve">
<value>UK Public Limited Company</value>
</data>
<data name="lclLegalTypePTNR.Text" xml:space="preserve">
<value>UK Partnership</value>
</data>
<data name="lclLegalTypeRCHAR.Text" xml:space="preserve">
<value>UK Registered Charity</value>
</data>
<data name="lclLegalTypeSCH.Text" xml:space="preserve">
<value>UK School</value>
</data>
<data name="lclLegalTypeSTAT.Text" xml:space="preserve">
<value>UK Statutory Body FIND</value>
</data>
<data name="lclLegalTypeSTRA.Text" xml:space="preserve">
<value>UK Sole Trader</value>
</data>
<data name="lclNexusCategory.Text" xml:space="preserve">
<value>Nexus Category:</value>
</data>
<data name="lclNexusCategory11.Text" xml:space="preserve">
<value>US Citizen</value>
</data>
<data name="lclNexusCategory12.Text" xml:space="preserve">
<value>Permanent Resident</value>
</data>
<data name="lclNexusCategory21.Text" xml:space="preserve">
<value>US Business Entity</value>
</data>
<data name="lclNexusCategory31.Text" xml:space="preserve">
<value>Foreign Entity</value>
</data>
<data name="lclNexusCategory32.Text" xml:space="preserve">
<value>US Based Office</value>
</data>
<data name="lclNoTLDsInStock.Text" xml:space="preserve">
<value>No domains in stock</value>
</data>
<data name="lclPlanDomainOption.Text" xml:space="preserve">
<value>Domain Name</value>
</data>
<data name="lclRegisteredFor.Text" xml:space="preserve">
<value>Registered For:</value>
</data>
<data name="lclUkLegalType.Text" xml:space="preserve">
<value>Legal Type Of Registrant:</value>
</data>
<data name="rbRegisterNew.Text" xml:space="preserve">
<value>I would like to register a new domain</value>
</data>
<data name="rbTransferDomain.Text" xml:space="preserve">
<value>I have a domain registered and wish it to transfer</value>
</data>
<data name="rbUpdateNs.Text" xml:space="preserve">
<value>I already have a domain registered and wish to update nameservers only</value>
</data>
<data name="reqDomainOption.ErrorMessage" xml:space="preserve">
<value>Please select a domain option below before proceed to checkout</value>
</data>
<data name="reqDomainVal.ErrorMessage" xml:space="preserve">
<value>Domain name can not be empty</value>
</data>
</root>

View file

@ -0,0 +1,101 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
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">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</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.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:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<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" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</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>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -0,0 +1,123 @@
<?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="Error.AssignCategories" xml:space="preserve">
<value>Couldn't assign categories to product</value>
</data>
</root>

View file

@ -0,0 +1,141 @@
<?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="btnAddHighlight.Text" xml:space="preserve">
<value>Add Highlight</value>
</data>
<data name="btnDeleteCycle.Text" xml:space="preserve">
<value>Delete</value>
</data>
<data name="btnMoveDown.Text" xml:space="preserve">
<value>Move Down</value>
</data>
<data name="btnMoveUp.Text" xml:space="preserve">
<value>Move Up</value>
</data>
<data name="gvPlanHighlight.HeaderText" xml:space="preserve">
<value>Item Highlighted</value>
</data>
<data name="gvProductHightlights.EmptyDataText" xml:space="preserve">
<value>No highlights found for this product</value>
</data>
<data name="lclHighlightText.Text" xml:space="preserve">
<value>Highlight Text:</value>
</data>
</root>

View file

@ -0,0 +1,123 @@
<?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="btnOrder.Text" xml:space="preserve">
<value>ORDER</value>
</data>
</root>

View file

@ -0,0 +1,138 @@
<?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="lclAddonPrice.Text" xml:space="preserve">
<value>Price</value>
</data>
<data name="lclOneTimeFee.Text" xml:space="preserve">
<value>One-Time Fee</value>
</data>
<data name="lclQuantity.Text" xml:space="preserve">
<value>Quantity:</value>
</data>
<data name="lclRecurringFee.Text" xml:space="preserve">
<value>Recurring Fee</value>
</data>
<data name="lclSetupFee.Text" xml:space="preserve">
<value>Setup Fee</value>
</data>
<data name="valQuickAddonCycles.ErrorMessage" xml:space="preserve">
<value>Please select one of the cycles below</value>
</data>
</root>

View file

@ -0,0 +1,141 @@
<?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="gvCyclePrice.HeaderText" xml:space="preserve">
<value>Price</value>
</data>
<data name="gvCycleSetup.HeaderText" xml:space="preserve">
<value>Setup</value>
</data>
<data name="gvSelectPlanCycle.HeaderText" xml:space="preserve">
<value>Choose Billing Cycle</value>
</data>
<data name="lclCycleChecked.ErrorMessage" xml:space="preserve">
<value>Please select a billing cycle below before proceed to checkout</value>
</data>
<data name="lclModuleHeader.Text" xml:space="preserve">
<value>Choose Billing Cycle</value>
</data>
<data name="lclRecurringFee.Text" xml:space="preserve">
<value>Recurring Fee</value>
</data>
<data name="lclSetupFee.Text" xml:space="preserve">
<value>Setup Fee</value>
</data>
</root>

View file

@ -0,0 +1,129 @@
<?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="lclChooseHostingPlan.Text" xml:space="preserve">
<value>Choose Hosting Plan</value>
</data>
<data name="lclPlanDetails.Text" xml:space="preserve">
<value>details</value>
</data>
<data name="lclRadioCheckedValidator.ErrorMessage" xml:space="preserve">
<value>Please select a hosting plan below before proceed to checkout</value>
</data>
</root>

View file

@ -0,0 +1,147 @@
<?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="lclEmail.Text" xml:space="preserve">
<value>E-mail:</value>
</data>
<data name="lclFirstName.Text" xml:space="preserve">
<value>First Name:</value>
</data>
<data name="lclHTML.Text" xml:space="preserve">
<value>HTML</value>
</data>
<data name="lclLastName.Text" xml:space="preserve">
<value>Last Name:</value>
</data>
<data name="lclMailFormat.Text" xml:space="preserve">
<value>Mail Format:</value>
</data>
<data name="lclPassword.Text" xml:space="preserve">
<value>Password:</value>
</data>
<data name="lclPlainText.Text" xml:space="preserve">
<value>Plain Text</value>
</data>
<data name="lclSecondaryEmail.Text" xml:space="preserve">
<value>Secondary E-mail:</value>
</data>
<data name="lclUsername.Text" xml:space="preserve">
<value>Username:</value>
</data>
</root>

View file

@ -0,0 +1,27 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ChoosePaymentMethod.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.ChoosePaymentMethod" %>
<%@ Register TagPrefix="wsp" Namespace="WebsitePanel.Ecommerce.Portal" Assembly="WebsitePanel.Portal.Ecommerce.Modules" %>
<asp:PlaceHolder runat="server" ID="pnlControlHdr">
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize runat="server" meta:resourcekey="lclChooseMethod" /></div>
</div>
</asp:PlaceHolder>
<div>
<asp:Repeater runat="server" ID="rptPaymentMethods">
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" class="QuickOutlineTbl">
<tr>
<td><wsp:RadioGroupValidator runat="server" ID="reqPaymentMethod" RadioButtonsGroup="QuickPayMethods"
CssClass="QuickLabel" Display="Dynamic" meta:resourcekey="reqPaymentMethod" /></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="QuickLabel"><wsp:GroupRadioButton runat="server" GroupName="QuickPayMethods" ID="rbChecked" Text='<%# Eval("DisplayName") %>'
ControlValue='<%# Eval("MethodName") %>' CssClass="Normal" /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</div>

View file

@ -0,0 +1,108 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebsitePanel.EnterpriseServer;
using WebsitePanel.Portal;
using WebsitePanel.Ecommerce.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class ChoosePaymentMethod : ecControlBase
{
public bool ShowHeader
{
get
{
EnsureChildControls();
return pnlControlHdr.Visible;
}
set
{
EnsureChildControls();
pnlControlHdr.Visible = value;
}
}
public string SelectedMethod
{
get
{
return GetPaymentMethodSelected();
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Page.User.Identity.IsAuthenticated)
BindPaymentMethods(PanelSecurity.SelectedUser.OwnerId);
else if (ecPanelRequest.ResellerId > 0)
BindPaymentMethods(ecPanelRequest.ResellerId);
}
}
public void LoadPaymentMethods()
{
if (PanelSecurity.SelectedUser.Role == UserRole.Administrator)
BindPaymentMethods(PanelSecurity.SelectedUserId);
else
BindPaymentMethods(PanelSecurity.SelectedUser.OwnerId);
}
private string GetPaymentMethodSelected()
{
foreach (RepeaterItem item in rptPaymentMethods.Items)
{
GroupRadioButton rbutton = ecUtils.FindControl<GroupRadioButton>(item, "rbChecked");
//
if (rbutton.Checked)
return (string)rbutton.ControlValue;
}
//
return String.Empty;
}
private void BindPaymentMethods(int resellerId)
{
rptPaymentMethods.DataSource = StorefrontHelper.GetResellerPaymentMethods(resellerId);
rptPaymentMethods.DataBind();
}
}
}

View file

@ -0,0 +1,40 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
/// <summary>
/// ChoosePaymentMethod class.
/// </summary>
/// <remarks>
/// Auto-generated class.
/// </remarks>
public partial class ChoosePaymentMethod {
/// <summary>
/// pnlControlHdr 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.PlaceHolder pnlControlHdr;
/// <summary>
/// rptPaymentMethods 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.Repeater rptPaymentMethods;
}
}

View file

@ -0,0 +1,160 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CreateUserAccount.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.CreateUserAccount" %>
<%@ Register TagPrefix="wsp" Namespace="WebsitePanel.Ecommerce.Portal" Assembly="WebsitePanel.Portal.Ecommerce.Modules" %>
<div class="FormBody">
<table>
<tr>
<td colspan="2" class="FormSectionHeader"><asp:Localize runat="server" meta:resourcekey="lclUserAccountInformation" /></td>
</tr>
<tr>
<td><asp:Localize runat="server" meta:resourcekey="lclUsername" /></td>
<td>
<asp:TextBox runat="server" ID="txtUsername" CssClass="NormalTextBox" Width="200px" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtUsername"
Display="Dynamic" ErrorMessage="*"/>
</td>
</tr>
<tr>
<td><asp:Localize runat="server" meta:resourcekey="lclPassword" /></td>
<td>
<asp:TextBox runat="server" ID="txtPassword" CssClass="NormalTextBox"
TextMode="Password" Width="200px" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtPassword"
Display="Dynamic" ErrorMessage="*"/>
</td>
</tr>
<tr>
<td><asp:Localize runat="server" meta:resourcekey="lclConfirmPassword" /></td>
<td>
<asp:TextBox runat="server" ID="txtConfirmPassword" CssClass="NormalTextBox"
TextMode="Password" Width="200px" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtConfirmPassword"
Display="Dynamic" ErrorMessage="*"/>
<asp:CompareValidator runat="server" ControlToValidate="txtConfirmPassword"
ControlToCompare="txtPassword" Display="Dynamic" ErrorMessage="*" />
</td>
</tr>
<tr>
<td colspan="2" class="FormSectionHeader"><asp:Localize runat="server" meta:resourcekey="lclContactInformation" /></td>
</tr>
<tr>
<td nowrap>
<asp:Localize runat="server" meta:resourcekey="lclFirstName" /></td>
<td width="100%">
<asp:TextBox runat="server" ID="txtFirstName" Width="250px" CssClass="NormalTextBox" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtFirstName"
Display="Dynamic" ErrorMessage="*" />
</td>
</tr>
<tr>
<td nowrap>
<asp:Localize runat="server" meta:resourcekey="lclLastName" /></td>
<td>
<asp:TextBox runat="server" ID="txtLastName" Width="250px" CssClass="NormalTextBox" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtLastName"
Display="Dynamic" ErrorMessage="*" />
</td>
</tr>
<tr>
<td nowrap>
<asp:Localize runat="server" meta:resourcekey="lclEmail" /></td>
<td>
<asp:TextBox runat="server" ID="txtEmail" Width="250px" CssClass="NormalTextBox" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtEmail"
Display="Dynamic" ErrorMessage="*" />
<asp:RegularExpressionValidator ID="valCorrectEmail" runat="server"
ErrorMessage="Wrong e-mail" ControlToValidate="txtEmail" Display="Dynamic" meta:resourcekey="valCorrectEmail"
ValidationExpression="^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$"></asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td nowrap>
<asp:Localize runat="server" meta:resourcekey="lclCompany" />&nbsp;</td>
<td>
<asp:TextBox runat="server" ID="txtCompany" Width="250px" CssClass="NormalTextBox" /></td>
</tr>
<tr>
<td nowrap>
<asp:Localize runat="server" meta:resourcekey="lclAddress" />&nbsp;</td>
<td>
<asp:TextBox runat="server" ID="txtAddress" Width="250px" CssClass="NormalTextBox" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtAddress"
Display="Dynamic" ErrorMessage="*" />
</td>
</tr>
<tr>
<td nowrap>
<asp:Localize runat="server" meta:resourcekey="lclCity" />&nbsp;</td>
<td>
<asp:TextBox runat="server" ID="txtCity" Width="250px" CssClass="NormalTextBox" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtCity"
Display="Dynamic" ErrorMessage="*" />
</td>
</tr>
<tr>
<td nowrap>
<asp:Localize runat="server" meta:resourcekey="lclCountry" />&nbsp;</td>
<td>
<asp:DropDownList runat="server" ID="ddlCountry" Width="255px" CssClass="NormalTextBox" AutoPostBack="true" OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged">
<asp:ListItem Value="" meta:resourcekey="lclCountriesLabel" />
</asp:DropDownList>
<asp:RequiredFieldValidator runat="server" ControlToValidate="ddlCountry"
Display="Dynamic" ErrorMessage="*" CssClass="NormalTextBox" />
</td>
</tr>
<tr>
<td nowrap>
<asp:Localize runat="server" meta:resourcekey="lclState" />&nbsp;</td>
<td>
<asp:TextBox runat="server" ID="txtCountryState" CssClass="NormalTextBox" Width="250px" />
<asp:DropDownList runat="server" ID="ddlCountryStates" DataTextField="Text" DataValueField="Value"
CssClass="NormalTextBox" Width="200px" />
<asp:RequiredFieldValidator runat="server" ID="reqCountryState" Display="Dynamic" ErrorMessage="*" />
</td>
</tr>
<tr>
<td nowrap>
<asp:Localize runat="server" meta:resourcekey="lclPostalCode" />&nbsp;</td>
<td>
<asp:TextBox runat="server" ID="txtPostalCode" Width="250px" CssClass="NormalTextBox" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtPostalCode"
Display="Dynamic" ErrorMessage="*" />
</td>
</tr>
<tr>
<td nowrap>
<asp:Localize runat="server" meta:resourcekey="lclPhoneNumber" />&nbsp;</td>
<td>
<asp:TextBox runat="server" ID="txtPhoneNumber" Width="250px" CssClass="NormalTextBox" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtPhoneNumber"
Display="Dynamic" ErrorMessage="*" />
</td>
</tr>
<tr>
<td nowrap>
<asp:Localize runat="server" meta:resourcekey="lclFaxNumber" />&nbsp;</td>
<td>
<asp:TextBox runat="server" ID="txtFaxNumber" Width="250px" CssClass="NormalTextBox" /></td>
</tr>
<tr>
<td>
<asp:Localize runat="server" meta:resourcekey="lclInstantMsngr" /></td>
<td>
<asp:TextBox runat="server" ID="txtInstantMsngr" Width="250px" CssClass="NormalTextBox" /></td>
</tr>
<tr>
<td>
<asp:Localize runat="server" meta:resourcekey="lclMailFormat" /></td>
<td>
<asp:DropDownList ID="ddlMailFormat" runat="server" CssClass="NormalTextBox">
<asp:ListItem Value="HTML" meta:resourcekey="lclHtml"/>
<asp:ListItem Value="Text" meta:resourcekey="lclPlainText"/>
</asp:DropDownList></td>
</tr>
<tr>
<td colspan="2">
<wsp:ManualContextValidator runat="server" ID="ctxFormShieldValidator" meta:resourcekey="ctxFormShieldValidator" EnableClientScript="false"
OnEvaluatingContext="ctxFormShieldValidator_EvaluatingContext" Display="Dynamic" EnableViewState="false" />
<ajaxToolkit:NoBot id="ctlNoBot" runat="server" OnGeneratechallengeAndResponse="ctlNoBot_GenerateChallengeAndResponse" /></td>
</tr>
</table>
</div>

View file

@ -0,0 +1,183 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using Microsoft.Security.Application;
using WSP = WebsitePanel.Portal;
using WebsitePanel.Ecommerce.EnterpriseServer;
using WebsitePanel.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class CreateUserAccount : ecControlBase
{
public const string VIEWSTATE_KEY = "__ContractAccount";
protected ContractAccount Account
{
get { return (ContractAccount)ViewState[VIEWSTATE_KEY]; }
}
private string contractId;
public string ContractId
{
get { return contractId; }
set { contractId = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
//
txtPassword.Attributes["value"] = txtPassword.Text;
txtConfirmPassword.Attributes["value"] = txtConfirmPassword.Text;
if (!IsPostBack)
{
EnsureCountriesLoaded();
EnsureCountryStatesLoad();
}
//
}
protected void ctxFormShieldValidator_EvaluatingContext(object sender, ManualValidationEventArgs args)
{
args.ContextIsValid = ctlNoBot.IsValid();
}
public bool CreateNewAccount(int resellerId)
{
if (!Page.IsValid)
return false;
try
{
GenericResult result = StorefrontHelper.AddContract(Account);
// check result
if (!result.Succeed)
{
HostModule.ShowResultMessage(result.GetProperty<int>("ResultCode"));
return false;
}
//
contractId = result["ContractId"];
//
return true;
}
catch (Exception ex)
{
HostModule.ShowErrorMessage("CREATE_NEW_ACCOUNT", ex);
return false;
}
}
public bool SaveContractAccount()
{
ContractAccount account = null;
//
if (!Page.User.Identity.IsAuthenticated)
{
//
string username = txtUsername.Text.Trim();
//
if (StorefrontHelper.UsernameExists(username))
{
HostModule.ShowResultMessage(BusinessErrorCodes.ERROR_USER_ALREADY_EXISTS);
return false;
}
//
string state = (txtCountryState.Visible) ? txtCountryState.Text.Trim() : ddlCountryStates.SelectedValue;
//
account = ecUtils.GetContractAccountFromInput(username, txtPassword.Text, txtFirstName.Text.Trim(),
txtLastName.Text.Trim(), txtEmail.Text.Trim(), txtCompany.Text.Trim(), txtAddress.Text.Trim(),
txtCity.Text.Trim(), ddlCountry.SelectedValue, state, txtPostalCode.Text.Trim(), txtPhoneNumber.Text.Trim(),
txtFaxNumber.Text.Trim(), txtInstantMsngr.Text.Trim(), ddlMailFormat.SelectedValue);
}
else
{
account = ecUtils.GetContractAccountFromUserInfo(WSP.PanelSecurity.EffectiveUser);
}
//
ViewState[VIEWSTATE_KEY] = account;
//
return true;
}
protected void ddlCountry_SelectedIndexChanged(object sender, EventArgs e)
{
LoadCountryStates(ddlCountry.SelectedValue);
}
private void EnsureCountriesLoaded()
{
if (ddlCountry.Items.Count == 1)
LoadCountries();
}
private void EnsureCountryStatesLoad()
{
LoadCountryStates(ddlCountry.SelectedValue);
}
private void LoadCountryStates(string countryCode)
{
WSP.PortalUtils.LoadStatesDropDownList(ddlCountryStates, countryCode);
//
if (ddlCountryStates.Items.Count > 0)
{
txtCountryState.Visible = false;
ddlCountryStates.Visible = true;
reqCountryState.ControlToValidate = ddlCountryStates.ID;
}
else
{
txtCountryState.Visible = true;
ddlCountryStates.Visible = false;
reqCountryState.ControlToValidate = txtCountryState.ID;
}
}
private void LoadCountries()
{
WSP.PortalUtils.LoadCountriesDropDownList(ddlCountry, "");
}
protected void ctlNoBot_GenerateChallengeAndResponse(object sender, AjaxControlToolkit.NoBotEventArgs e)
{
Random rand = new Random();
//
int firstNum = rand.Next(1000);
int secondNum = rand.Next(1000);
//
e.ChallengeScript = String.Format("eval(\"{0}+{1}\")", firstNum, secondNum);
//
e.RequiredResponse = Convert.ToString(firstNum + secondNum);
}
}
}

View file

@ -0,0 +1,205 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.1434
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
public partial class CreateUserAccount {
/// <summary>
/// txtUsername 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 txtUsername;
/// <summary>
/// txtPassword 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 txtPassword;
/// <summary>
/// txtConfirmPassword 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 txtConfirmPassword;
/// <summary>
/// txtFirstName 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 txtFirstName;
/// <summary>
/// txtLastName 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 txtLastName;
/// <summary>
/// txtEmail 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 txtEmail;
/// <summary>
/// valCorrectEmail 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 valCorrectEmail;
/// <summary>
/// txtCompany 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 txtCompany;
/// <summary>
/// txtAddress 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 txtAddress;
/// <summary>
/// txtCity 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 txtCity;
/// <summary>
/// ddlCountry 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 ddlCountry;
/// <summary>
/// txtCountryState 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 txtCountryState;
/// <summary>
/// ddlCountryStates 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 ddlCountryStates;
/// <summary>
/// reqCountryState 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 reqCountryState;
/// <summary>
/// txtPostalCode 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 txtPostalCode;
/// <summary>
/// txtPhoneNumber 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 txtPhoneNumber;
/// <summary>
/// txtFaxNumber 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 txtFaxNumber;
/// <summary>
/// txtInstantMsngr 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 txtInstantMsngr;
/// <summary>
/// ddlMailFormat 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 ddlMailFormat;
/// <summary>
/// ctxFormShieldValidator control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Ecommerce.Portal.ManualContextValidator ctxFormShieldValidator;
/// <summary>
/// ctlNoBot control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::AjaxControlToolkit.NoBot ctlNoBot;
}
}

View file

@ -0,0 +1,2 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CustomerInvoiceTemplated.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.DesktopModules.Ecommerce.UserControls.CustomerInvoiceTemplated" %>
<div runat="server" ID="pnlCustomerInvoice" />

View file

@ -0,0 +1,70 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebsitePanel.Ecommerce.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.DesktopModules.Ecommerce.UserControls
{
public partial class CustomerInvoiceTemplated : ecControlBase
{
protected void Page_Load(object sender, EventArgs e)
{
}
public void LoadCustomerInvoiceTemplate(int invoiceId)
{
try
{
//
string invoiceTemplate = StorehouseHelper.GetCustomerInvoiceFormatted(invoiceId);
//
ShowCustomerInvoice(invoiceTemplate);
}
catch (Exception ex)
{
HostModule.ShowErrorMessage("LOAD_CUSTOMER_INVOICE", ex);
}
}
public void ShowCustomerInvoice(string invoiceTemplate)
{
pnlCustomerInvoice.InnerHtml = invoiceTemplate;
}
}
}

View file

@ -0,0 +1,16 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.DesktopModules.Ecommerce.UserControls {
public partial class CustomerInvoiceTemplated {
protected System.Web.UI.HtmlControls.HtmlGenericControl pnlCustomerInvoice;
}
}

View file

@ -0,0 +1,75 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DomainNameBillingCycles.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.DomainNameBillingCycles" %>
<%@ Register TagPrefix="wsp" Namespace="WebsitePanel.Ecommerce.Portal" Assembly="WebsitePanel.Portal.Ecommerce.Modules" %>
<asp:PlaceHolder runat="server" ID="phBillingCycles">
<table cellspacing="0" cellpadding="3">
<tr>
<td><asp:Localize runat="server" ID="lclSelectCycle" meta:resourcekey="lclSelectCycle" /></td>
<td><asp:DropDownList runat="server" ID="ddlBillingCycles" DataTextField="CycleName" DataValueField="CycleID" /></td>
<td><asp:Button runat="server" ID="btnAddCycle" CssClass="Button1"
CausesValidation="false" meta:resourcekey="btnAddCycle" OnClick="btnAddCycle_Click" /></td>
</tr>
</table>
</asp:PlaceHolder>
<asp:GridView ID="gvDomainNameCycles" runat="server" meta:resourcekey="gvDomainNameCycles"
AutoGenerateColumns="False" CssSelectorClass="NormalGridView" DataKeyNames="CycleID">
<Columns>
<asp:TemplateField meta:resourcekey="gvBillingCycle">
<ItemStyle Width="40%" CssClass="Centered" />
<ItemTemplate>
<%# Eval("CycleName")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField meta:resourcekey="gvBillingPeriod">
<ItemStyle Wrap="False" CssClass="Centered" />
<ItemTemplate>
<%# Eval("PeriodLength") %>&nbsp;<%# Eval("BillingPeriod", "{0}(s)") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField meta:resourcekey="gvSetupFee">
<ItemStyle Wrap="False" CssClass="Centered" />
<ItemTemplate>
<asp:TextBox runat="server" ID="txtSetupFee" CssClass="NormalTextBox Centered" Width="60px" Text='<%# Eval("SetupFee", "{0:C}") %>' />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtSetupFee" Display="Dynamic"
Text="*" meta:resourcekey="RequiredFieldValidator" />
<asp:CompareValidator runat="server" ControlToValidate="txtSetupFee" Operator="DataTypeCheck"
Type="Currency" Text="*" Display="Dynamic" meta:resourcekey="CurrencyCompareValidator" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField meta:resourcekey="gvRecurringFee">
<ItemStyle Wrap="False" CssClass="Centered" />
<ItemTemplate>
<asp:TextBox runat="server" ID="txtRecurringFee" CssClass="NormalTextBox Centered" Width="60px" Text='<%# Eval("RecurringFee", "{0:C}") %>' />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtRecurringFee" Display="Dynamic"
Text="*" meta:resourcekey="RequiredFieldValidator" />
<asp:CompareValidator runat="server" ControlToValidate="txtRecurringFee" Operator="DataTypeCheck"
Type="Currency" Text="*" Display="Dynamic" meta:resourcekey="CurrencyCompareValidator" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField meta:resourcekey="gvTransferFee">
<ItemStyle Wrap="False" CssClass="Centered" />
<ItemTemplate>
<asp:TextBox runat="server" ID="txtTransferFee" CssClass="NormalTextBox Centered" Width="60px" Text='<%# Eval("TransferFee", "{0:C}") %>' />
<asp:CompareValidator runat="server" ControlToValidate="txtTransferFee" Operator="DataTypeCheck"
Type="Currency" Text="*" Display="Dynamic" meta:resourcekey="CurrencyCompareValidator" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle Wrap="False" />
<ItemTemplate>
<asp:Button runat="server" ID="btnMoveUp" meta:resourcekey="btnMoveUp" CommandArgument='<%# Container.DataItemIndex %>'
CausesValidation="false" CommandName="CYCLE_MOVEUP" CssClass="Button1" />&nbsp;
<asp:Button runat="server" ID="btnMoveDown" meta:resourcekey="btnMoveDown" CommandArgument='<%# Container.DataItemIndex %>'
CausesValidation="false" CommandName="CYCLE_MOVEDOWN" CssClass="Button1" />&nbsp;
<asp:Button runat="server" ID="btnDeleteCycle" meta:resourcekey="btnDeleteCycle" CommandArgument='<%# Container.DataItemIndex %>'
CausesValidation="false" CommandName="CYCLE_DELETE" CssClass="Button1" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="GridHeader" HorizontalAlign="Left" />
<RowStyle CssClass="Normal" />
<PagerStyle CssClass="GridPager" />
<EmptyDataRowStyle CssClass="Normal" />
<PagerSettings Mode="NumericFirstLast" />
</asp:GridView>

View file

@ -0,0 +1,229 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
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.Portal;
using WebsitePanel.Ecommerce.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class DomainNameBillingCycles : ecControlBase
{
public const string VIEWSTATE_KEY = "__DomainBillingCycles";
protected List<DomainNameCycle> DomainBillingCycles
{
get
{
List<DomainNameCycle> cycles = ViewState[VIEWSTATE_KEY] as List<DomainNameCycle>;
if (cycles == null)
{
cycles = new List<DomainNameCycle>();
ViewState[VIEWSTATE_KEY] = cycles;
}
return cycles;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
LoadBillingCyclesDDL();
gvDomainNameCycles.RowCommand += new GridViewCommandEventHandler(gvDomainNameCycles_RowCommand);
}
protected void gvDomainNameCycles_RowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "CYCLE_DELETE":
DeleteDomainNameCycle(Convert.ToInt32(e.CommandArgument));
break;
case "CYCLE_MOVEDOWN":
FlipDomainNameCycles(Convert.ToInt32(e.CommandArgument), true);
break;
case "CYCLE_MOVEUP":
FlipDomainNameCycles(Convert.ToInt32(e.CommandArgument), false);
break;
}
}
protected void btnAddCycle_Click(object sender, EventArgs e)
{
AddBillingCycleToDomainName();
}
public void LoadDomainNameCycles(DomainNameCycle[] cycles)
{
// convert
List<DomainNameCycle> data = new List<DomainNameCycle>();
for (int i = 0; i < cycles.Length; i++)
data.Add(cycles[i]);
// save
ViewState[VIEWSTATE_KEY] = data;
// bind cycles
BindDomainNameCycles();
}
public DomainNameCycle[] GetDomainNameCycles()
{
// sync entered data prior
SyncGridViewDataEntered();
// return data syncronized
return DomainBillingCycles.ToArray();
}
private void LoadBillingCyclesDDL()
{
int cyclesCount = DomainBillingCycles.Count;
// load taken cycles
int[] cyclesTaken = new int[cyclesCount];
// build array
for (int i = 0; i < cyclesCount; i++)
cyclesTaken[i] = DomainBillingCycles[i].CycleId;
// bind loaded cycles
BillingCycle[] cyclesToBind = StorehouseHelper.GetBillingCyclesFree(cyclesTaken);
// show button while at least one cycle available
phBillingCycles.Visible = (cyclesToBind.Length > 0);
// bind cycles
if (cyclesToBind.Length > 0)
{
ddlBillingCycles.DataSource = cyclesToBind;
ddlBillingCycles.DataBind();
}
}
private void SyncGridViewDataEntered()
{
// preserve chose cycles details: setup fee, recurring fee and 2CO id
if (DomainBillingCycles.Count > 0)
{
for (int i = 0; i < gvDomainNameCycles.Rows.Count; i++)
{
GridViewRow gv_row = gvDomainNameCycles.Rows[i];
DomainNameCycle gv_cycle = DomainBillingCycles[i];
TextBox txtSetupFee = ecUtils.FindControl<TextBox>(gv_row, "txtSetupFee");
TextBox txtRecurringFee = ecUtils.FindControl<TextBox>(gv_row, "txtRecurringFee");
TextBox txtTransferFee = ecUtils.FindControl<TextBox>(gv_row, "txtTransferFee");
gv_cycle.SetupFee = ecUtils.ParseDecimal(txtSetupFee.Text, 0);
gv_cycle.RecurringFee = ecUtils.ParseDecimal(txtRecurringFee.Text, 0);
gv_cycle.TransferFee = ecUtils.ParseDecimal(txtTransferFee.Text, 0);
}
}
}
private void BindDomainNameCycles()
{
// bind cycles
gvDomainNameCycles.DataSource = DomainBillingCycles;
gvDomainNameCycles.DataBind();
}
private void AddBillingCycleToDomainName()
{
// sync entered data prior
SyncGridViewDataEntered();
// load selected billing cycle
BillingCycle chosenCycle = StorehouseHelper.GetBillingCycle(Convert.ToInt32(ddlBillingCycles.SelectedValue));
// convert billing to domain name cycle
DomainNameCycle cycle = new DomainNameCycle();
// fill fields
cycle.CycleId = chosenCycle.CycleId;
cycle.CycleName = chosenCycle.CycleName;
cycle.BillingPeriod = chosenCycle.BillingPeriod;
cycle.PeriodLength = chosenCycle.PeriodLength;
// put into viewstate
DomainBillingCycles.Add(cycle);
// bind new domain cycles
BindDomainNameCycles();
// re-load billing cycles
LoadBillingCyclesDDL();
}
private void FlipDomainNameCycles(int indexFrom, bool moveDown)
{
// last item can't move down
if (moveDown && indexFrom == DomainBillingCycles.Count - 1)
return;
// first item can't move up
if (!moveDown && indexFrom == 0)
return;
// single item can't move in both directions
if (DomainBillingCycles.Count == 1)
return;
// sync data prior
SyncGridViewDataEntered();
DomainNameCycle cycleToMove = DomainBillingCycles[indexFrom];
// remove
DomainBillingCycles.RemoveAt(indexFrom);
// insert
if (moveDown)
DomainBillingCycles.Insert(indexFrom + 1, cycleToMove);
else
DomainBillingCycles.Insert(indexFrom - 1, cycleToMove);
// re-bind data
BindDomainNameCycles();
}
private void DeleteDomainNameCycle(int dataItemIndex)
{
// remove cycle
DomainBillingCycles.RemoveAt(dataItemIndex);
// re-bind cycles
BindDomainNameCycles();
// re-load billing cycles
LoadBillingCyclesDDL();
}
}
}

View file

@ -0,0 +1,61 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.4927
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
public partial class DomainNameBillingCycles {
/// <summary>
/// phBillingCycles 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.PlaceHolder phBillingCycles;
/// <summary>
/// lclSelectCycle 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 lclSelectCycle;
/// <summary>
/// ddlBillingCycles 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 ddlBillingCycles;
/// <summary>
/// btnAddCycle 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 btnAddCycle;
/// <summary>
/// gvDomainNameCycles 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 gvDomainNameCycles;
}
}

View file

@ -0,0 +1,37 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="EmailNotificationEditor.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.EmailNotificationEditor" %>
<table style="width: 100%;">
<tr>
<td>
<asp:Localize runat="server" meta:resourcekey="lclFromEmail" /></td>
<td>
<asp:TextBox ID="txtFromEmail" runat="server" Width="500px" CssClass="NormalTextBox" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtFromEmail" Display="Dynamic" ErrorMessage="*" /></td>
</tr>
<tr>
<td>
<asp:Localize runat="server" meta:resourcekey="lclCcEmail" /></td>
<td>
<asp:TextBox ID="txtCcEmail" runat="server" Width="500px" CssClass="NormalTextBox" /></td>
</tr>
<tr>
<td>
<asp:Localize runat="server" meta:resourcekey="lclSubject" /></td>
<td>
<asp:TextBox ID="txtSubject" runat="server" Width="500px" CssClass="NormalTextBox" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtSubject" Display="Dynamic" ErrorMessage="*" /></td>
</tr>
<tr>
<td valign="top" colspan="2">
<div class="FormRow"><asp:Localize runat="server" meta:resourcekey="lclHtmlBody" /></div>
<asp:RequiredFieldValidator runat="server" meta:resourcekey="valHtmlBody"
ControlToValidate="txtHtmlBody" Display="Dynamic" />
<asp:TextBox ID="txtHtmlBody" runat="server" Rows="20" TextMode="MultiLine" Width="600px" CssClass="NormalTextBox" /></td>
</tr>
<tr>
<td valign="top" colspan="2">
<div class="FormRow"><asp:Localize runat="server" meta:resourcekey="lclTextBody" /></div>
<asp:RequiredFieldValidator runat="server" meta:resourcekey="valTextBody"
ControlToValidate="txtTextBody" Display="Dynamic" />
<asp:TextBox ID="txtTextBody" runat="server" Rows="20" TextMode="MultiLine" Width="600px" CssClass="NormalTextBox" /></td>
</tr>
</table>

View file

@ -0,0 +1,129 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class EmailNotificationEditor : ecControlBase
{
public string From
{
get
{
EnsureChildControls();
//
return txtFromEmail.Text.Trim();
}
set
{
EnsureChildControls();
//
txtFromEmail.Text = value;
}
}
public string CC
{
get
{
EnsureChildControls();
//
return txtCcEmail.Text.Trim();
}
set
{
EnsureChildControls();
//
txtCcEmail.Text = value;
}
}
public string Subject
{
get
{
EnsureChildControls();
//
return txtSubject.Text.Trim();
}
set
{
EnsureChildControls();
//
txtSubject.Text = value;
}
}
public string HtmlBody
{
get
{
EnsureChildControls();
//
return txtHtmlBody.Text.Trim();
}
set
{
EnsureChildControls();
//
txtHtmlBody.Text = value;
}
}
public string PlainTextBody
{
get
{
EnsureChildControls();
//
return txtTextBody.Text.Trim();
}
set
{
EnsureChildControls();
//
txtTextBody.Text = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
}

View file

@ -0,0 +1,67 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.312
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
/// <summary>
/// EmailNotificationEditor class.
/// </summary>
/// <remarks>
/// Auto-generated class.
/// </remarks>
public partial class EmailNotificationEditor {
/// <summary>
/// txtFromEmail 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 txtFromEmail;
/// <summary>
/// txtCcEmail 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 txtCcEmail;
/// <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>
/// 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>
/// 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

@ -0,0 +1,22 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="HostingAddonOneTimeFee.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.HostingAddonOneTimeFee" %>
<%@ Register TagPrefix="wsp" Namespace="WebsitePanel.Ecommerce.Portal" Assembly="WebsitePanel.Portal.Ecommerce.Modules" %>
<table cellspacing="0" cellpadding="3">
<tr>
<td><asp:Localize runat="server" meta:resourcekey="lclSetupFee" /></td>
<td><asp:TextBox runat="server" Width="80px" CssClass="NormalTextBox Centered" ID="txtSetupFee" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtSetupFee" Display="Dynamic"
Text="*" meta:resourcekey="RequireFieldValidator" />
<asp:CompareValidator runat="server" meta:resourcekey="CurrencyCompareValidator" Operator="DataTypeCheck"
Type="Currency" Display="Dynamic" ControlToValidate="txtSetupFee" Text="*" /></td>
</tr>
<tr>
<td><asp:Localize runat="server" meta:resourcekey="lclOneTimeFee" /></td>
<td><asp:TextBox runat="server" Width="80px" CssClass="NormalTextBox Centered" ID="txtOneTimeFee" />
<asp:RequiredFieldValidator runat="server" meta:resourcekey="RequireFieldValidator"
ControlToValidate="txtOneTimeFee" Display="Dynamic" Text="*" />
<asp:CompareValidator runat="server" meta:resourcekey="CurrencyCompareValidator"
Operator="DataTypeCheck" Type="Currency" Display="Dynamic" ControlToValidate="txtSetupFee"
Text="*" /></td>
</tr>
</table>

View file

@ -0,0 +1,73 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebsitePanel.Ecommerce.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class HostingAddonOneTimeFee : ecControlBase
{
public HostingPlanCycle OneTimeFee
{
get
{
return SyncDataEntered();
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
private HostingPlanCycle SyncDataEntered()
{
HostingPlanCycle cycle = new HostingPlanCycle();
cycle.SetupFee = ecUtils.ParseDecimal(txtSetupFee.Text, 0);
cycle.RecurringFee = ecUtils.ParseDecimal(txtOneTimeFee.Text, 0);
return cycle;
}
public void SyncDataAssigned(decimal setupFee, decimal oneTimeFee)
{
txtSetupFee.Text = setupFee.ToString("C");
txtOneTimeFee.Text = oneTimeFee.ToString("C");
}
}
}

View file

@ -0,0 +1,34 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.4927
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
public partial class HostingAddonOneTimeFee {
/// <summary>
/// txtSetupFee 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 txtSetupFee;
/// <summary>
/// txtOneTimeFee 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 txtOneTimeFee;
}
}

View file

@ -0,0 +1,67 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="HostingPlanBillingCycles.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.HostingPlanBillingCycles" %>
<%@ Register TagPrefix="wsp" Namespace="WebsitePanel.Ecommerce.Portal" Assembly="WebsitePanel.Portal.Ecommerce.Modules" %>
<asp:PlaceHolder runat="server" ID="phBillingCycles">
<table cellspacing="0" cellpadding="3">
<tr>
<td><asp:Localize runat="server" ID="lclSelectCycle" meta:resourcekey="lclSelectCycle" /></td>
<td><asp:DropDownList runat="server" ID="ddlBillingCycles" DataTextField="CycleName" DataValueField="CycleID" /></td>
<td><asp:Button runat="server" ID="btnAddCycle" CssClass="Button1"
CausesValidation="false" meta:resourcekey="btnAddCycle" OnClick="btnAddCycle_Click" /></td>
</tr>
</table>
</asp:PlaceHolder>
<asp:GridView ID="gvPlanCycles" runat="server" meta:resourcekey="gvPlanCycles"
AutoGenerateColumns="False" CssSelectorClass="NormalGridView" DataKeyNames="CycleID">
<Columns>
<asp:TemplateField meta:resourcekey="gvBillingCycle">
<ItemStyle Width="40%" CssClass="Centered" />
<ItemTemplate>
<%# Eval("CycleName")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField meta:resourcekey="gvBillingPeriod">
<ItemStyle Wrap="False" CssClass="Centered" />
<ItemTemplate>
<%# Eval("PeriodLength") %>&nbsp;<%# Eval("BillingPeriod", "{0}(s)") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField meta:resourcekey="gvSetupFee">
<ItemStyle Wrap="False" CssClass="Centered" />
<ItemTemplate>
<asp:TextBox runat="server" ID="txtSetupFee" CssClass="NormalTextBox Centered" Width="60px" Text='<%# Eval("SetupFee", "{0:C}") %>' />
<asp:RequiredFieldValidator runat="server" meta:resourcekey="RequiredFieldValidator"
ControlToValidate="txtSetupFee" Display="Dynamic" Text="*" />
<asp:CompareValidator runat="server" ControlToValidate="txtSetupFee" Operator="DataTypeCheck"
Type="Currency" Text="*" Display="Dynamic" meta:resourcekey="CurrencyCompareValidator" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField meta:resourcekey="gvRecurringFee">
<ItemStyle Wrap="False" CssClass="Centered" />
<ItemTemplate>
<asp:TextBox runat="server" ID="txtRecurringFee" CssClass="NormalTextBox Centered" Width="60px" Text='<%# Eval("RecurringFee", "{0:C}") %>' />
<asp:RequiredFieldValidator runat="server" meta:resourcekey="RequiredFieldValidator"
ControlToValidate="txtRecurringFee" Display="Dynamic" Text="*" />
<asp:CompareValidator runat="server" ControlToValidate="txtRecurringFee" Operator="DataTypeCheck"
Type="Currency" Text="*" Display="Dynamic" meta:resourcekey="CurrencyCompareValidator" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle Wrap="False" />
<ItemTemplate>
<asp:Button runat="server" ID="btnMoveUp" meta:resourcekey="btnMoveUp" CommandArgument='<%# Container.DataItemIndex %>'
CausesValidation="false" CommandName="CYCLE_MOVEUP" CssClass="Button1" />&nbsp;
<asp:Button runat="server" ID="btnMoveDown" meta:resourcekey="btnMoveDown" CommandArgument='<%# Container.DataItemIndex %>'
CausesValidation="false" CommandName="CYCLE_MOVEDOWN" CssClass="Button1" />&nbsp;
<asp:Button runat="server" ID="btnDeleteCycle" meta:resourcekey="btnDeleteCycle" CommandArgument='<%# Container.DataItemIndex %>'
CausesValidation="false" CommandName="CYCLE_DELETE" CssClass="Button1" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="GridHeader" HorizontalAlign="Left" />
<RowStyle CssClass="Normal" />
<PagerStyle CssClass="GridPager" />
<EmptyDataRowStyle CssClass="Normal" />
<PagerSettings Mode="NumericFirstLast" />
</asp:GridView>

View file

@ -0,0 +1,227 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
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.Portal;
using WebsitePanel.Ecommerce.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class HostingPlanBillingCycles : ecControlBase
{
public const string VIEWSTATE_KEY = "__PlanBillingCycles";
protected List<HostingPlanCycle> PlanBillingCycles
{
get
{
List<HostingPlanCycle> cycles = ViewState[VIEWSTATE_KEY] as List<HostingPlanCycle>;
if (cycles == null)
{
cycles = new List<HostingPlanCycle>();
ViewState[VIEWSTATE_KEY] = cycles;
}
return cycles;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
LoadBillingCyclesDDL();
gvPlanCycles.RowCommand += new GridViewCommandEventHandler(gvPlanCycles_RowCommand);
}
protected void gvPlanCycles_RowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "CYCLE_DELETE":
DeleteHostingPlanCycle(Convert.ToInt32(e.CommandArgument));
break;
case "CYCLE_MOVEDOWN":
FlipHostingPlanCycles(Convert.ToInt32(e.CommandArgument), true);
break;
case "CYCLE_MOVEUP":
FlipHostingPlanCycles(Convert.ToInt32(e.CommandArgument), false);
break;
}
}
protected void btnAddCycle_Click(object sender, EventArgs e)
{
AddBillingCycleToHostingPlan();
}
public void LoadHostingPlanCycles(HostingPlanCycle[] cycles)
{
// convert
List<HostingPlanCycle> data = new List<HostingPlanCycle>();
for (int i = 0; i < cycles.Length; i++)
data.Add(cycles[i]);
// save
ViewState[VIEWSTATE_KEY] = data;
// bind cycles
BindHostingPlanCycles();
}
public HostingPlanCycle[] GetHostingPlanCycles()
{
// sync entered data prior
SyncGridViewDataEntered();
// return data syncronized
return PlanBillingCycles.ToArray();
}
private void LoadBillingCyclesDDL()
{
int cyclesCount = PlanBillingCycles.Count;
// load taken cycles
int[] cyclesTaken = new int[cyclesCount];
// build array
for (int i = 0; i < cyclesCount; i++)
cyclesTaken[i] = PlanBillingCycles[i].CycleId;
// bind loaded cycles
BillingCycle[] cyclesToBind = StorehouseHelper.GetBillingCyclesFree(cyclesTaken);
// show button while at least one cycle available
phBillingCycles.Visible = (cyclesToBind.Length > 0);
// bind cycles
if (cyclesToBind.Length > 0)
{
ddlBillingCycles.DataSource = cyclesToBind;
ddlBillingCycles.DataBind();
}
}
private void SyncGridViewDataEntered()
{
// preserve chose cycles details: setup fee, recurring fee and 2CO id
if (PlanBillingCycles.Count > 0)
{
for (int i = 0; i < gvPlanCycles.Rows.Count; i++)
{
GridViewRow gv_row = gvPlanCycles.Rows[i];
HostingPlanCycle gv_cycle = PlanBillingCycles[i];
TextBox txtSetupFee = ecUtils.FindControl<TextBox>(gv_row, "txtSetupFee");
TextBox txtRecurringFee = ecUtils.FindControl<TextBox>(gv_row, "txtRecurringFee");
gv_cycle.SetupFee = ecUtils.ParseDecimal(txtSetupFee.Text, 0);
gv_cycle.RecurringFee = ecUtils.ParseDecimal(txtRecurringFee.Text, 0);
}
}
}
private void BindHostingPlanCycles()
{
// bind cycles
gvPlanCycles.DataSource = PlanBillingCycles;
gvPlanCycles.DataBind();
}
private void AddBillingCycleToHostingPlan()
{
// sync entered data prior
SyncGridViewDataEntered();
// load selected billing cycle
BillingCycle chosenCycle = StorehouseHelper.GetBillingCycle(Convert.ToInt32(ddlBillingCycles.SelectedValue));
// convert billing to hosting plan
HostingPlanCycle cycle = new HostingPlanCycle();
// fill fields
cycle.CycleId = chosenCycle.CycleId;
cycle.CycleName = chosenCycle.CycleName;
cycle.BillingPeriod = chosenCycle.BillingPeriod;
cycle.PeriodLength = chosenCycle.PeriodLength;
// put into viewstate
PlanBillingCycles.Add(cycle);
// bind new plan cycles
BindHostingPlanCycles();
// re-load billing cycles
LoadBillingCyclesDDL();
}
private void FlipHostingPlanCycles(int indexFrom, bool moveDown)
{
// last item can't move down
if (moveDown && indexFrom == PlanBillingCycles.Count - 1)
return;
// first item can't move up
if (!moveDown && indexFrom == 0)
return;
// single item can't move in both directions
if (PlanBillingCycles.Count == 1)
return;
// sync data prior
SyncGridViewDataEntered();
HostingPlanCycle cycleToMove = PlanBillingCycles[indexFrom];
// remove
PlanBillingCycles.RemoveAt(indexFrom);
// insert
if (moveDown)
PlanBillingCycles.Insert(indexFrom + 1, cycleToMove);
else
PlanBillingCycles.Insert(indexFrom - 1, cycleToMove);
// re-bind data
BindHostingPlanCycles();
}
private void DeleteHostingPlanCycle(int dataItemIndex)
{
// remove cycle
PlanBillingCycles.RemoveAt(dataItemIndex);
// re-bind cycles
BindHostingPlanCycles();
// re-load billing cycles
LoadBillingCyclesDDL();
}
}
}

View file

@ -0,0 +1,61 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.4927
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
public partial class HostingPlanBillingCycles {
/// <summary>
/// phBillingCycles 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.PlaceHolder phBillingCycles;
/// <summary>
/// lclSelectCycle 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 lclSelectCycle;
/// <summary>
/// ddlBillingCycles 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 ddlBillingCycles;
/// <summary>
/// btnAddCycle 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 btnAddCycle;
/// <summary>
/// gvPlanCycles 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 gvPlanCycles;
}
}

View file

@ -0,0 +1,318 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="HostingPlanQuotas.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.HostingPlanQuotas" %>
<table cellpadding="0" cellspacing="0" class="QuickOutlineTbl QuickLabel">
<asp:PlaceHolder runat="server" ID="OS" Visible="false">
<tr>
<th colspan="2">
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize runat="server" meta:resourcekey="lclOsResources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="OS_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="DNS" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize runat="server" meta:resourcekey="lclDNSResources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="DNS_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="Web" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize runat="server" meta:resourcekey="lclWebResources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="Web_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
<asp:Repeater runat="server" ID="FTP_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="Sharepoint" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize runat="server" meta:resourcekey="lclSharepointResources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="Sharepoint_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="Mail" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize runat="server" meta:resourcekey="lclMailResources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="Mail_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="MsSQL2000" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize runat="server" meta:resourcekey="lclMSSQL2000Resources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="MsSQL2000_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="MsSQL2005" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize runat="server" meta:resourcekey="lclMSSQL2005Resources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="MsSQL2005_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="MsSQL2008" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize ID="Localize3" runat="server" meta:resourcekey="lclMSSQL2008Resources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="MsSQL2008_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="MySQL4" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize runat="server" meta:resourcekey="lclMySQL4Resources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="MySQL4_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="MySQL5" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize runat="server" meta:resourcekey="lclMySQL5Resources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="MySQL5_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="Statistics" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize runat="server" meta:resourcekey="lclStatisticsResources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="Statistics_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="HostedSolution" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize ID="Localize2" runat="server" meta:resourcekey="lclHostedSolutionResources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="HostedSolution_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="Exchange2007" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize ID="Localize1" runat="server" meta:resourcekey="lclExchange2007Resources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="Exchange2007_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="HostedSharePoint" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize ID="Localize6" runat="server" meta:resourcekey="lclHostedSharePointResources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="HostedSharePoint_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="BlackBerry" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize ID="Localize4" runat="server" meta:resourcekey="lclBlackBerryResources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="BlackBerry_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="HostedCRM" Visible="false">
<tr>
<th colspan="2">
<br />
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize ID="Localize5" runat="server" meta:resourcekey="lclHostedCRMResources" /></div>
</div>
</th>
</tr>
<asp:Repeater runat="server" ID="HostedCRM_Quotas">
<ItemTemplate>
<tr>
<td class="Width20Pcs" style="white-space: nowrap;"><strong><%# GetSharedLocalizedString("Quota." + GetQuotaItemName((string)Container.DataItem)) %>:</strong></td>
<td><%# GetQuotaItemAllocatedValue((string)Container.DataItem) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
</table>

View file

@ -0,0 +1,105 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
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.Ecommerce.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class HostingPlanQuotas : ecControlBase
{
public KeyValueBunch PlanQuotas
{
set
{
//
EnsureChildControls();
//
BindPlanQuotas(value);
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
private void BindPlanQuotas(KeyValueBunch quotas)
{
string[] groupKeys = quotas.GetAllKeys();
//
foreach (string groupKey in groupKeys)
{
//
PlaceHolder container = (PlaceHolder)FindControl(groupKey);
//
if (container != null)
container.Visible = true;
//
Repeater repeater = (Repeater)FindControl(groupKey + "_Quotas");
//
if (repeater != null)
{
//
repeater.DataSource = quotas[groupKey].Split(',');
//
repeater.DataBind();
}
}
}
public string GetQuotaItemName(string record)
{
return record.Split('=')[0];
}
public string GetQuotaItemAllocatedValue(string record)
{
string[] pair = record.Split('=');
//
if (pair[1] == "Enabled")
return GetSharedLocalizedString(Keys.ModuleName, "Quota.Enabled");
else if (pair[1] == "Disabled")
return GetSharedLocalizedString(Keys.ModuleName, "Quota.Disabled");
//
return pair[1];
}
}
}

View file

@ -0,0 +1,367 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3074
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
public partial class HostingPlanQuotas {
/// <summary>
/// OS 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.PlaceHolder OS;
/// <summary>
/// OS_Quotas 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.Repeater OS_Quotas;
/// <summary>
/// DNS 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.PlaceHolder DNS;
/// <summary>
/// DNS_Quotas 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.Repeater DNS_Quotas;
/// <summary>
/// Web 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.PlaceHolder Web;
/// <summary>
/// Web_Quotas 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.Repeater Web_Quotas;
/// <summary>
/// FTP_Quotas 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.Repeater FTP_Quotas;
/// <summary>
/// Sharepoint 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.PlaceHolder Sharepoint;
/// <summary>
/// Sharepoint_Quotas 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.Repeater Sharepoint_Quotas;
/// <summary>
/// Mail 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.PlaceHolder Mail;
/// <summary>
/// Mail_Quotas 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.Repeater Mail_Quotas;
/// <summary>
/// MsSQL2000 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.PlaceHolder MsSQL2000;
/// <summary>
/// MsSQL2000_Quotas 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.Repeater MsSQL2000_Quotas;
/// <summary>
/// MsSQL2005 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.PlaceHolder MsSQL2005;
/// <summary>
/// MsSQL2005_Quotas 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.Repeater MsSQL2005_Quotas;
/// <summary>
/// MsSQL2008 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.PlaceHolder MsSQL2008;
/// <summary>
/// Localize3 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 Localize3;
/// <summary>
/// MsSQL2008_Quotas 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.Repeater MsSQL2008_Quotas;
/// <summary>
/// MySQL4 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.PlaceHolder MySQL4;
/// <summary>
/// MySQL4_Quotas 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.Repeater MySQL4_Quotas;
/// <summary>
/// MySQL5 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.PlaceHolder MySQL5;
/// <summary>
/// MySQL5_Quotas 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.Repeater MySQL5_Quotas;
/// <summary>
/// Statistics 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.PlaceHolder Statistics;
/// <summary>
/// Statistics_Quotas 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.Repeater Statistics_Quotas;
/// <summary>
/// HostedSolution 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.PlaceHolder HostedSolution;
/// <summary>
/// Localize2 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 Localize2;
/// <summary>
/// HostedSolution_Quotas 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.Repeater HostedSolution_Quotas;
/// <summary>
/// Exchange2007 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.PlaceHolder Exchange2007;
/// <summary>
/// Localize1 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 Localize1;
/// <summary>
/// Exchange2007_Quotas 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.Repeater Exchange2007_Quotas;
/// <summary>
/// HostedSharePoint 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.PlaceHolder HostedSharePoint;
/// <summary>
/// Localize6 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 Localize6;
/// <summary>
/// HostedSharePoint_Quotas 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.Repeater HostedSharePoint_Quotas;
/// <summary>
/// BlackBerry 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.PlaceHolder BlackBerry;
/// <summary>
/// Localize4 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 Localize4;
/// <summary>
/// BlackBerry_Quotas 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.Repeater BlackBerry_Quotas;
/// <summary>
/// HostedCRM 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.PlaceHolder HostedCRM;
/// <summary>
/// Localize5 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 Localize5;
/// <summary>
/// HostedCRM_Quotas 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.Repeater HostedCRM_Quotas;
}
}

View file

@ -0,0 +1,18 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LoginUserAccount.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.LoginUserAccount" %>
<div class="FormBody">
<table cellpadding="3" cellspacing="0">
<tr>
<td class="LoginLabel" align="right" style="width:100px;"><asp:Localize runat="server" meta:resourcekey="lclUserName"/></td>
<td class="Normal" align="left">
<asp:TextBox id="txtUsername" runat="server" CssClass="LoginTextBox" Width="300px"></asp:TextBox>
<asp:RequiredFieldValidator id="usernameValidator" runat="server" CssClass="NormalBold" ErrorMessage="*" ControlToValidate="txtUsername"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="LoginLabel" align="right" nowrap><asp:Localize runat="server" meta:resourcekey="lclPassword"/></td>
<td class="Normal" align="left" valign="middle">
<asp:TextBox id="txtPassword" runat="server" CssClass="LoginTextBox" Width="150px" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator id="passwordValidator" runat="server" CssClass="NormalBold" ErrorMessage="*" ControlToValidate="txtPassword"></asp:RequiredFieldValidator></td>
</tr>
</table>
</div>

View file

@ -0,0 +1,66 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using 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 WSP = WebsitePanel.Portal;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class LoginUserAccount : ecControlBase
{
protected void Page_Load(object sender, EventArgs e)
{
}
public bool Authenticate()
{
// status
int loginStatus = WSP.PortalUtils.AuthenticateUser(txtUsername.Text.Trim(), txtPassword.Text, Request.UserHostAddress,
false, null, null);
//
if (loginStatus < 0)
{
HostModule.ShowResultMessage(loginStatus);
return false;
}
//
return true;
}
}
}

View file

@ -0,0 +1,19 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
public partial class LoginUserAccount {
protected System.Web.UI.WebControls.TextBox txtUsername;
protected System.Web.UI.WebControls.RequiredFieldValidator usernameValidator;
protected System.Web.UI.WebControls.TextBox txtPassword;
protected System.Web.UI.WebControls.RequiredFieldValidator passwordValidator;
}
}

View file

@ -0,0 +1,61 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ManualPaymentAdd.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.ManualPaymentAdd" %>
<%@ Register TagPrefix="wsp" Namespace="WebsitePanel.Ecommerce.Portal" Assembly="WebsitePanel.Portal.Ecommerce.Modules" %>
<table>
<tr>
<td valign="top" style="width: 200px;">
<div>
<asp:Localize runat="server" meta:resourcekey="lclTransactionId" />
<br />
<asp:TextBox runat="server" ID="txtTransactionId" Width="100px" CssClass="NormalTextBox" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtTransactionId"
Display="Dynamic" ErrorMessage="*" />
</div>
<div>
<asp:Localize runat="server" meta:resourcekey="lclCurrency" />
<br />
<asp:TextBox runat="server" ID="txtCurrency" MaxLength="3" Width="100px" CssClass="NormalTextBox" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtCurrency" Display="Dynamic"
Text="*" meta:resourcekey="RequireFieldValidator" />
</div>
<div>
<asp:Localize runat="server" meta:resourcekey="lclTotalAmount" />
<br />
<asp:TextBox runat="server" ID="txtTotalAmount" Width="100px" CssClass="NormalTextBox" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtTotalAmount" Display="Dynamic"
Text="*" meta:resourcekey="RequireFieldValidator" />
<asp:CompareValidator runat="server" meta:resourcekey="CurrencyCompareValidator"
Operator="DataTypeCheck" Type="Currency" Display="Dynamic" ControlToValidate="txtTotalAmount"
Text="*" />
</div>
<div>
<asp:Localize runat="server" meta:resourcekey="lclTransactionStatus" />
<br />
<asp:DropDownList runat="server" ID="ddlTranStatus" CssClass="NormalTextBox">
<asp:ListItem Value="Pending" meta:resourcekey="lclPendingStatus" />
<asp:ListItem Value="Approved" meta:resourcekey="lclApprovedStatus" />
</asp:DropDownList>
</div>
</td>
<td valign="top">
<asp:Localize runat="server" meta:resourcekey="lclPaymentMethod" />
<asp:Repeater runat="server" ID="rptPaymentMethods">
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" class="QuickOutlineTbl">
<tr>
<td><wsp:RadioGroupValidator runat="server" ID="reqPaymentMethod" RadioButtonsGroup="QuickPayMethods"
CssClass="QuickLabel" Display="Dynamic" meta:resourcekey="reqPaymentMethod" /></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="QuickLabel"><wsp:GroupRadioButton runat="server" GroupName="QuickPayMethods" ID="rbChecked" Text='<%# Eval("DisplayName") %>'
ControlValue='<%# Eval("MethodName") %>' CssClass="Normal" /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</td>
</tr>
</table>

View file

@ -0,0 +1,127 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebsitePanel.Portal;
using WebsitePanel.Ecommerce.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class ManualPaymentAdd : ecControlBase
{
public string TransactionId
{
get
{
EnsureChildControls();
return txtTransactionId.Text.Trim();
}
}
public string Currency
{
get
{
EnsureChildControls();
return txtCurrency.Text.Trim();
}
set
{
EnsureChildControls();
txtCurrency.Text = value;
}
}
public decimal TotalAmount
{
get
{
EnsureChildControls();
return ecUtils.ParseDecimal(txtTotalAmount.Text, 0);
}
set
{
EnsureChildControls();
txtTotalAmount.Text = value.ToString("C");
}
}
public TransactionStatus TranStatus
{
get
{
EnsureChildControls();
return (TransactionStatus)Enum.Parse(typeof(TransactionStatus),
ddlTranStatus.SelectedValue);
}
}
public string SelectedMethod
{
get
{
return GetPaymentMethodSelected();
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
BindPaymentMethods();
}
private string GetPaymentMethodSelected()
{
foreach (RepeaterItem item in rptPaymentMethods.Items)
{
GroupRadioButton rbutton = ecUtils.FindControl<GroupRadioButton>(item, "rbChecked");
//
if (rbutton.Checked)
return (string)rbutton.ControlValue;
}
//
return String.Empty;
}
private void BindPaymentMethods()
{
rptPaymentMethods.DataSource = StorefrontHelper.GetResellerPaymentMethods(PanelSecurity.SelectedUserId);
rptPaymentMethods.DataBind();
}
}
}

View file

@ -0,0 +1,61 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.4927
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
public partial class ManualPaymentAdd {
/// <summary>
/// txtTransactionId 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 txtTransactionId;
/// <summary>
/// txtCurrency 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 txtCurrency;
/// <summary>
/// txtTotalAmount 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 txtTotalAmount;
/// <summary>
/// ddlTranStatus 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 ddlTranStatus;
/// <summary>
/// rptPaymentMethods 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.Repeater rptPaymentMethods;
}
}

View file

@ -0,0 +1,23 @@
<%@ Control Language="C#" AutoEventWireup="true" Codebehind="PathBreadCrumb.ascx.cs"
Inherits="WebsitePanel.Ecommerce.Portal.UserControls.PathBreadCrumb" %>
<%@ Import Namespace="WebsitePanel.Portal" %>
<asp:DataList runat="server" HeaderStyle-VerticalAlign="Middle" ItemStyle-VerticalAlign="Middle"
SelectedItemStyle-VerticalAlign="Middle" ID="dlPathBreadCrumb" CssClass="Normal"
EnableViewState="false" RepeatDirection="Horizontal" RepeatLayout="Flow">
<HeaderTemplate>
<asp:HyperLink runat="server" CssClass="Normal" meta:resourcekey="lnkCatalogRoot"
NavigateUrl='<%# NavigateURL("UserID", PanelSecurity.SelectedUserId.ToString()) %>' />
<asp:Image runat="server" SkinID="PathSeparatorWhite" />
</HeaderTemplate>
<SeparatorTemplate>
<asp:Image runat="server" SkinID="PathSeparatorWhite" />
</SeparatorTemplate>
<ItemTemplate>
<asp:HyperLink runat="server"
NavigateUrl='<%# NavigateURL("CategoryId", Eval("CategoryId").ToString(), "UserID=" + PanelSecurity.SelectedUserId) %>'
Text='<%# Eval("CategoryName") %>' />
</ItemTemplate>
<SelectedItemTemplate>
<asp:Label runat="server" CssClass="Normal" Text='<%# Eval("CategoryName") %>' />
</SelectedItemTemplate>
</asp:DataList>

View file

@ -0,0 +1,64 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.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.Portal;
using WebsitePanel.Ecommerce.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class PathBreadCrumb : ecControlBase
{
protected void Page_Load(object sender, EventArgs e)
{
}
public void BindBreadCrumbPath(Category[] path)
{
if (path != null && path.Length > 0)
{
dlPathBreadCrumb.DataSource = path;
dlPathBreadCrumb.SelectedIndex = path.Length - 1;
}
dlPathBreadCrumb.DataBind();
}
}
}

View file

@ -0,0 +1,31 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.312
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
/// <summary>
/// PathBreadCrumb class.
/// </summary>
/// <remarks>
/// Auto-generated class.
/// </remarks>
public partial class PathBreadCrumb {
/// <summary>
/// dlPathBreadCrumb 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.DataList dlPathBreadCrumb;
}
}

View file

@ -0,0 +1,188 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PlanDomainOption.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.PlanDomainOption" %>
<%@ Register TagPrefix="wsp" Namespace="WebsitePanel.Ecommerce.Portal" Assembly="WebsitePanel.Portal.Ecommerce.Modules" %>
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:CheckBox runat="server" ID="chkSelected"
AutoPostBack="true" CausesValidation="false" OnCheckedChanged="chkSelected_OnCheckedChanged" /><asp:Localize runat="server" meta:resourcekey="lclPlanDomainOption" /></div>
</div>
<table cellpadding="0" cellspacing="0" class="QuickOutlineTbl">
<asp:PlaceHolder runat="server" ID="pnlTopLevelDomain">
<tr>
<td><wsp:RadioGroupValidator runat="server" ID="reqDomainOption" CssClass="QuickLabel"
RadioButtonsGroup="DomainOption" Display="Dynamic" meta:resourcekey="reqDomainOption" /></td>
</tr>
<tr>
<td class="QuickLabel">
<div><wsp:GroupRadioButton runat="server" ID="rbRegisterNew" GroupName="DomainOption"
meta:resourcekey="rbRegisterNew" AutoPostBack="true" OnCheckedChanged="rbRegisterNew_OnCheckedChanged" /></div>
<asp:PlaceHolder runat="server" ID="pnlDomainReg" Visible="false">
<table cellpadding="0" cellspacing="0">
<tr>
<td colspan="4"><wsp:ManualContextValidator runat="server" ID="ctxDomainValidator" EnableClientScript="false"
OnEvaluatingContext="ctxDomainValidator_EvaluatingContext" Display="Dynamic" EnableViewState="false" />
<asp:RequiredFieldValidator runat="server" ID="reqDomainVal" meta:resourcekey="reqDomainVal" ControlToValidate="txtDomainReg"
EnableClientScript="false" Display="Dynamic" EnableViewState="false" />
<asp:Label runat="server" ID="lblDomainAvailable" Visible="false" EnableViewState="false"
CssClass="NormalGreen" meta:resourcekey="lblDomainAvailable" /></td>
</tr>
<tr>
<td><asp:Localize runat="server" meta:resourcekey="lclDomain" /></td>
<td><asp:TextBox runat="server" ID="txtDomainReg" CssClass="NormalTextBox" />&nbsp;.&nbsp;<asp:DropDownList runat="server"
ID="ddlTopLevelDoms" CssClass="NormalTextBox" DataValueField="ProductId" DataTextField="ProductName" AutoPostBack="true"
OnSelectedIndexChanged="ddlTopLevelDoms_OnSelectedIndexChanged" /></td>
<td><asp:DropDownList runat="server" ID="ddlDomCycles" /></td>
<td><asp:Button runat="server" ID="btnCheckDomain" CssClass="Button1" OnClick="btnCheckDomain_Click"
meta:resourcekey="btnCheckDomain" CausesValidation="false" /></td>
</tr>
</table>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="usTldFields" Visible="false">
<table cellpadding="0" cellspacing="0">
<tr>
<td><asp:Localize runat="server" meta:resourcekey="lclNexusCategory" /></td>
<td>
<asp:DropDownList runat="server" ID="ddlNexusCategory" CssClass="NormalTextBox">
<asp:ListItem Value="C11" meta:resourcekey="lclNexusCategory11" />
<asp:ListItem Value="C12" meta:resourcekey="lclNexusCategory12" />
<asp:ListItem Value="C21" meta:resourcekey="lclNexusCategory21" />
<asp:ListItem Value="C31" meta:resourcekey="lclNexusCategory31" />
<asp:ListItem Value="C32" meta:resourcekey="lclNexusCategory32" />
</asp:DropDownList>
</td>
</tr>
<tr>
<td><asp:Localize runat="server" meta:resourcekey="lclAppPurpose" /></td>
<td>
<asp:DropDownList runat="server" ID="ddlAppPurpose" CssClass="NormalTextBox">
<asp:ListItem Value="P1" meta:resourcekey="lclAppPurpose1" />
<asp:ListItem Value="P2" meta:resourcekey="lclAppPurpose2" />
<asp:ListItem Value="P3" meta:resourcekey="lclAppPurpose3" />
<asp:ListItem Value="P4" meta:resourcekey="lclAppPurpose4" />
<asp:ListItem Value="P5" meta:resourcekey="lclAppPurpose5" />
</asp:DropDownList>
</td>
</tr>
</table>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="ukTldFields" Visible="false">
<table cellpadding="0" cellspacing="0">
<tr>
<td align="right"><asp:Localize runat="server" meta:resourcekey="lclRegisteredFor" /></td>
<td>
<asp:TextBox runat="server" ID="txtRegisteredFor" CssClass="NormalTextBox" Width="150px" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtRegisteredFor" Display="Dynamic" ErrorMessage="*" /></td>
</tr>
<tr>
<td align="right"><asp:Localize runat="server" meta:resourcekey="lclUkLegalType" /></td>
<td>
<asp:DropDownList runat="server" ID="ddlUkLegalType" CssClass="NormalTextBox">
<asp:ListItem Value="IND" meta:resourcekey="lclLegalTypeIND" />
<asp:ListItem Value="Non-UK" meta:resourcekey="lclLegalTypeNonUK" />
<asp:ListItem Value="LTD" meta:resourcekey="lclLegalTypeLTD" />
<asp:ListItem Value="PLC" meta:resourcekey="lclLegalTypePLC" />
<asp:ListItem Value="PTNR" meta:resourcekey="lclLegalTypePTNR" />
<asp:ListItem Value="LLP" meta:resourcekey="lclLegalTypeLLP" />
<asp:ListItem Value="STRA" meta:resourcekey="lclLegalTypeSTRA" />
<asp:ListItem Value="RCHAR" meta:resourcekey="lclLegalTypeRCHAR" />
<asp:ListItem Value="ip" meta:resourcekey="lclLegalTypeIP" />
<asp:ListItem Value="SCH" meta:resourcekey="lclLegalTypeSCH" />
<asp:ListItem Value="GOV" meta:resourcekey="lclLegalTypeGOV" />
<asp:ListItem Value="CRC" meta:resourcekey="lclLegalTypeCRC" />
<asp:ListItem Value="STAT" meta:resourcekey="lclLegalTypeSTAT" />
<asp:ListItem Value="OTHER" meta:resourcekey="lclLegalTypeOTHER" />
<asp:ListItem Value="FCORP" meta:resourcekey="lclLegalTypeFCORP" />
<asp:ListItem Value="FOTHER" meta:resourcekey="lclLegalTypeFOTHER" />
</asp:DropDownList>
</td>
</tr>
<tr>
<td align="right"><asp:Localize runat="server" meta:resourcekey="lclCompanyIdNumber" /></td>
<td>
<asp:TextBox runat="server" ID="txtCompanyIdNum" CssClass="NormalTextBox" Width="150px" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtCompanyIdNum" Display="Dynamic" ErrorMessage="*" /></td>
</tr>
<tr>
<td align="right"><asp:Localize runat="server" meta:resourcekey="lclHideWhoisInfo" /></td>
<td><asp:CheckBox runat="server" ID="chkHideWhoisInfo" /></td>
</tr>
</table>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="euTldFields" Visible="false">
<table cellpadding="0" cellspacing="0">
<tr>
<td><asp:Localize runat="server" meta:resourcekey="lclDTPolicyAgreement" /></td>
<td><asp:CheckBox runat="server" ID="chkDtPolicyAgree" /></td>
</tr>
<tr>
<td><asp:Localize runat="server" meta:resourcekey="lclDelPolicyAgreement" /></td>
<td><asp:CheckBox runat="server" ID="chkDelPolicyAgree" /></td>
</tr>
<tr>
<td><asp:Localize runat="server" meta:resourcekey="lclEuAdrLang" /></td>
<td>
<asp:DropDownList runat="server" ID="ddlEuAdrLang" CssClass="NormalTextBox">
<asp:ListItem Value="cs" Text="Czech" />
<asp:ListItem Value="da" Text="Danish" />
<asp:ListItem Value="de" Text="German" />
<asp:ListItem Value="el" Text="Greek" />
<asp:ListItem Value="en" Text="English" />
<asp:ListItem Value="es" Text="Spanish" />
<asp:ListItem Value="et" Text="Estonian" />
<asp:ListItem Value="fi" Text="Finnish" />
<asp:ListItem Value="fr" Text="French" />
<asp:ListItem Value="hu" Text="Hungarian" />
<asp:ListItem Value="it" Text="Italian" />
<asp:ListItem Value="LT" Text="Lithuanian" />
<asp:ListItem Value="lv" Text="Latvian" />
<asp:ListItem Value="mt" Text="Maltese" />
<asp:ListItem Value="nl" Text="Dutch" />
<asp:ListItem Value="pl" Text="Polish" />
<asp:ListItem Value="pt" Text="Portugese" />
<asp:ListItem Value="sk" Text="Slovak" />
<asp:ListItem Value="sl" Text="Slovenian" />
<asp:ListItem Value="sv" Text="Swedish" />
</asp:DropDownList>
</td>
</tr>
</table>
</asp:PlaceHolder>
</td>
</tr>
<asp:PlaceHolder runat="server" ID="pnlDomainTrans" Visible="false">
<tr>
<td class="QuickLabel">
<div><wsp:GroupRadioButton runat="server" ID="rbTransferDomain" GroupName="DomainOption"
meta:resourcekey="rbTransferDomain" AutoPostBack="true" OnCheckedChanged="rbTransferDomain_OnCheckedChanged" /></div>
<table>
<tr>
<td><asp:Localize runat="server" meta:resourcekey="lclDomain" /></td>
<td><asp:TextBox runat="server" ID="txtDomainTrans" /></td>
<td>.</td>
<td><asp:DropDownList runat="server" ID="ddlTopLevelDomsTrans" DataValueField="ProductId"
DataTextField="ProductName" AutoPostBack="true" OnSelectedIndexChanged="ddlTransDomCycles_OnSelectedIndexChanged" /></td>
<td><asp:DropDownList runat="server" ID="ddlTransDomCycles" /></td>
</tr>
</table>
</td>
</tr>
</asp:PlaceHolder>
<tr>
<td class="QuickLabel">
<div><wsp:GroupRadioButton runat="server" ID="rbUpdateNs" GroupName="DomainOption"
meta:resourcekey="rbUpdateNs" AutoPostBack="true" OnCheckedChanged="rbUpdateNs_OnCheckedChanged" /></div>
<asp:PlaceHolder runat="server" ID="pnlUpdateNs" Visible="false">
<table>
<tr>
<td><asp:Localize runat="server" meta:resourcekey="lclDomain" /></td>
<td><asp:TextBox runat="server" ID="txtDomainUpdate" /></td>
</tr>
</table>
</asp:PlaceHolder>
</td>
</tr>
</asp:PlaceHolder>
<tr>
<td class="QuickLabel"><asp:Localize runat="server" ID="lclNoTLDsInStock" meta:resourcekey="lclNoTLDsInStock" Visible="false" /></td>
</tr>
</table>

View file

@ -0,0 +1,420 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebsitePanel.Portal;
using WebsitePanel.Ecommerce.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class PlanDomainOption : ecControlBase
{
public const string VIEW_STATE_KEY = "__DomainOption";
public int DomainOption
{
get { return (int)ViewState[VIEW_STATE_KEY]; }
set
{
ViewState[VIEW_STATE_KEY] = value;
//
SyncDomainOption(value);
}
}
public bool DomainChecked
{
get
{
if (DomainOption == HostingPlan.DOMAIN_HIDE)
return false;
//
if (DomainOption == HostingPlan.DOMAIN_REQUIRED)
return true;
//
EnsureChildControls();
return chkSelected.Checked;
}
}
public OrderItem DomainOrderItem
{
get
{
// return nothing
if (DomainOption == HostingPlan.DOMAIN_HIDE || !DomainChecked)
return null;
// assemble a domain to be ordered
OrderItem item = OrderItem.GetTopLevelDomainItem(SelectedDomain, SelectedCycle, DomainName);
// add domain action flag
if (rbTransferDomain.Checked)
item["SPF_ACTION"] = DomainNameSvc.SPF_TRANSFER_ACTION;
else if (rbRegisterNew.Checked)
item["SPF_ACTION"] = DomainNameSvc.SPF_REGISTER_ACTION;
else
item["SPF_ACTION"] = DomainNameSvc.SPF_UPDATE_NS_ACTION;
// sync extensions if any
SyncDomainExtensionFields(item);
// return assembled domain order item
return item;
}
}
public string DomainName
{
get
{
EnsureChildControls();
//
if (rbRegisterNew.Checked)
{
return EnsureDomainCorrectness(txtDomainReg.Text) + "." + ddlTopLevelDoms.SelectedItem.Text;
}
else if (rbTransferDomain.Checked)
{
return EnsureDomainCorrectness(txtDomainTrans.Text) + "." + ddlTopLevelDomsTrans.SelectedItem.Text;
}
// default
return EnsureDomainCorrectness(txtDomainUpdate.Text);
}
}
public int SelectedDomain
{
get
{
EnsureChildControls();
if (rbRegisterNew.Checked)
return Convert.ToInt32(ddlTopLevelDoms.SelectedValue);
else if (rbTransferDomain.Checked)
return Convert.ToInt32(ddlTopLevelDomsTrans.SelectedValue);
return 0;
}
}
public int SelectedCycle
{
get
{
EnsureChildControls();
if (rbRegisterNew.Checked)
return Convert.ToInt32(ddlDomCycles.SelectedValue);
else if (rbTransferDomain.Checked)
return Convert.ToInt32(ddlTransDomCycles.SelectedValue);
return 0;
}
}
protected int ResellerId
{
get
{
return (Page.User.Identity.IsAuthenticated) ? PanelSecurity.LoggedUser.OwnerId :
ecPanelRequest.ResellerId;
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnCheckDomain_Click(object sender, EventArgs e)
{
ctxDomainValidator.Validate();
}
protected void ctxDomainValidator_EvaluatingContext(object sender, ManualValidationEventArgs e)
{
CheckDomain(e);
}
protected void chkSelected_OnCheckedChanged(object sender, EventArgs e)
{
ecUtils.ToggleControls(chkSelected.Checked, pnlTopLevelDomain);
}
protected void rbRegisterNew_OnCheckedChanged(object sender, EventArgs e)
{
// turn on
ecUtils.ToggleControls(rbRegisterNew.Checked, pnlDomainReg);
// turn off
ecUtils.ToggleControls(false, pnlDomainTrans, pnlUpdateNs);
//
BindTopLevelDomains(ddlTopLevelDoms, false);
}
protected void rbTransferDomain_OnCheckedChanged(object sender, EventArgs e)
{
// turn on
ecUtils.ToggleControls(rbTransferDomain.Checked, pnlDomainTrans);
// turn off
ecUtils.ToggleControls(false, pnlDomainReg, pnlUpdateNs);
//
BindTopLevelDomains(ddlTopLevelDomsTrans, true);
}
protected void rbUpdateNs_OnCheckedChanged(object sender, EventArgs e)
{
ecUtils.ToggleControls(true, pnlUpdateNs);
ecUtils.ToggleControls(false, pnlDomainReg, pnlDomainTrans);
}
protected void ddlTopLevelDoms_OnSelectedIndexChanged(object sender, EventArgs e)
{
BindDomainCyclesForRegistration();
ShowExtensionFields();
}
protected void ddlTransDomCycles_OnSelectedIndexChanged(object sender, EventArgs e)
{
BindDomainCyclesForTransfer();
}
private void CheckDomain(ManualValidationEventArgs args)
{
// ensure domain name not empty
reqDomainVal.Validate();
//
if (!reqDomainVal.IsValid)
return;
string domain = EnsureDomainCorrectness(txtDomainReg.Text);
//
CheckDomainResult result = StorefrontHelper.CheckDomain(ResellerId, domain, ddlTopLevelDoms.SelectedItem.Text);
// domain is available for purchase
if (result.Succeed && result.ResultCode == 0)
{
//
lblDomainAvailable.Visible = true;
//
args.ContextIsValid = true;
//
return;
}
//
if (result.Succeed && result.ResultCode != 0)
{
//
args.ContextIsValid = false;
// show error message
ctxDomainValidator.ErrorMessage = GetSharedLocalizedString(Keys.ModuleName, "CHECK_DOMAIN." + (result.ResultCode * -1));
//
return;
}
//
if (!result.Succeed)
{
//
args.ContextIsValid = false;
//
ctxDomainValidator.ErrorMessage = result.ErrorMessage;
//
return;
}
//
args.ContextIsValid = false;
}
private string EnsureDomainCorrectness(string domain)
{
string domainName = domain.Trim();
if (domainName.StartsWith("www."))
domainName = domainName.Substring(4);
return domainName;
}
private void SyncDomainOption(int domainOption)
{
// check for tlds in stock
if (!StorefrontHelper.HasTopLevelDomainsInStock(ResellerId))
{
ecUtils.ToggleControls(false, pnlTopLevelDomain, chkSelected);
ecUtils.ToggleControls(true, lclNoTLDsInStock);
return;
}
switch (domainOption)
{
case HostingPlan.DOMAIN_OPTIONAL:
// turn on
ecUtils.ToggleControls(true, chkSelected, this);
// turn off
ecUtils.ToggleControls(false, pnlTopLevelDomain);
break;
case HostingPlan.DOMAIN_REQUIRED:
// turn on
ecUtils.ToggleControls(true, this, pnlTopLevelDomain);
// turn off
ecUtils.ToggleControls(false, chkSelected);
//
chkSelected.Checked = false;
break;
case HostingPlan.DOMAIN_HIDE:
// turn off
ecUtils.ToggleControls(false, this);
//
chkSelected.Checked = false;
break;
}
}
private void BindTopLevelDomains(DropDownList ctl_list, bool transfer)
{
ctl_list.DataSource = StorefrontHelper.GetStorefrontProductsByType(ResellerId,
Product.TOP_LEVEL_DOMAIN);
ctl_list.DataBind();
// bind cycles
if (transfer)
BindDomainCyclesForTransfer();
else
BindDomainCyclesForRegistration();
//
ShowExtensionFields();
}
private void ShowExtensionFields()
{
if (ddlTopLevelDoms.SelectedItem.Text == "us")
{
ecUtils.ToggleControls(true, usTldFields);
ecUtils.ToggleControls(false, euTldFields, ukTldFields);
}
else if (ddlTopLevelDoms.SelectedItem.Text == "eu")
{
ecUtils.ToggleControls(true, euTldFields);
ecUtils.ToggleControls(false, usTldFields, ukTldFields);
}
else if (ddlTopLevelDoms.SelectedItem.Text.EndsWith(".uk"))
{
ecUtils.ToggleControls(true, ukTldFields);
ecUtils.ToggleControls(false, usTldFields, euTldFields);
}
}
private void SyncDomainExtensionFields(OrderItem domainItem)
{
// skip sync when user would like to update name servers only
if (rbUpdateNs.Checked)
return;
//
if (ddlTopLevelDoms.SelectedItem.Text == "us")
{
domainItem["NexusCategory"] = ddlNexusCategory.SelectedValue;
domainItem["ApplicationPurpose"] = ddlAppPurpose.SelectedValue;
}
else if (ddlTopLevelDoms.SelectedItem.Text.EndsWith(".uk"))
{
domainItem["RegisteredFor"] = txtRegisteredFor.Text.Trim();
domainItem["UK_LegalType"] = ddlUkLegalType.SelectedValue;
domainItem["UK_CompanyIdNumber"] = txtCompanyIdNum.Text.Trim();
domainItem["HideWhoisInfo"] = chkHideWhoisInfo.Checked ? "y" : "n";
}
else if (ddlTopLevelDoms.SelectedItem.Text.EndsWith("eu"))
{
domainItem["EU_WhoisPolicy"] = chkDtPolicyAgree.Checked ? "I Agree" : "";
domainItem["EU_AgreeDelete"] = chkDelPolicyAgree.Checked ? "YES" : "";
domainItem["EU_ADRLang"] = ddlEuAdrLang.SelectedValue;
}
}
private void BindDomainCyclesForRegistration()
{
// try parse product id
int productId = ecUtils.ParseInt(ddlTopLevelDoms.SelectedValue, 0);
// bind
if (productId > 0)
{
DomainNameCycle[] cycles = StorefrontHelper.GetTopLevelDomainCycles(
ResellerId, productId);
// cleanup all of items
ddlDomCycles.Items.Clear();
// re-create items from scratch
foreach (DomainNameCycle cycle in cycles)
{
ddlDomCycles.Items.Add(CreateDomainCycleItem(cycle, false));
}
}
}
private void BindDomainCyclesForTransfer()
{
// try parse product id
int productId = ecUtils.ParseInt(ddlTopLevelDomsTrans.SelectedValue, 0);
// bind
if (productId > 0)
{
DomainNameCycle[] cycles = StorefrontHelper.GetTopLevelDomainCycles(
ResellerId, productId);
// cleanup all of items
ddlTransDomCycles.Items.Clear();
// re-create items from scratch
foreach (DomainNameCycle cycle in cycles)
{
if (cycle.TransferFee > 0)
ddlTransDomCycles.Items.Add(CreateDomainCycleItem(cycle, true));
}
}
}
private ListItem CreateDomainCycleItem(DomainNameCycle cycleItem, bool transfer)
{
if (transfer)
return new ListItem(
String.Format("{0} - {1} {2:C} + {3} {4:C}",
cycleItem.CycleName, EcommerceSettings.CurrencyCodeISO,
cycleItem.TransferFee, EcommerceSettings.CurrencyCodeISO, cycleItem.SetupFee),
cycleItem.CycleId.ToString()
);
else
return new ListItem(
String.Format("{0} - {1} {2:C} + {3} {4:C}",
cycleItem.CycleName, EcommerceSettings.CurrencyCodeISO,
cycleItem.RecurringFee, EcommerceSettings.CurrencyCodeISO, cycleItem.SetupFee),
cycleItem.CycleId.ToString()
);
}
}
}

View file

@ -0,0 +1,319 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
/// <summary>
/// PlanDomainOption class.
/// </summary>
/// <remarks>
/// Auto-generated class.
/// </remarks>
public partial class PlanDomainOption {
/// <summary>
/// chkSelected 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 chkSelected;
/// <summary>
/// pnlTopLevelDomain 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.PlaceHolder pnlTopLevelDomain;
/// <summary>
/// reqDomainOption control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Ecommerce.Portal.RadioGroupValidator reqDomainOption;
/// <summary>
/// rbRegisterNew control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Ecommerce.Portal.GroupRadioButton rbRegisterNew;
/// <summary>
/// pnlDomainReg 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.PlaceHolder pnlDomainReg;
/// <summary>
/// ctxDomainValidator control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Ecommerce.Portal.ManualContextValidator ctxDomainValidator;
/// <summary>
/// reqDomainVal 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 reqDomainVal;
/// <summary>
/// lblDomainAvailable 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 lblDomainAvailable;
/// <summary>
/// txtDomainReg 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 txtDomainReg;
/// <summary>
/// ddlTopLevelDoms 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 ddlTopLevelDoms;
/// <summary>
/// ddlDomCycles 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 ddlDomCycles;
/// <summary>
/// btnCheckDomain 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 btnCheckDomain;
/// <summary>
/// usTldFields 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.PlaceHolder usTldFields;
/// <summary>
/// ddlNexusCategory 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 ddlNexusCategory;
/// <summary>
/// ddlAppPurpose 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 ddlAppPurpose;
/// <summary>
/// ukTldFields 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.PlaceHolder ukTldFields;
/// <summary>
/// txtRegisteredFor 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 txtRegisteredFor;
/// <summary>
/// ddlUkLegalType 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 ddlUkLegalType;
/// <summary>
/// txtCompanyIdNum 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 txtCompanyIdNum;
/// <summary>
/// chkHideWhoisInfo 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 chkHideWhoisInfo;
/// <summary>
/// euTldFields 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.PlaceHolder euTldFields;
/// <summary>
/// chkDtPolicyAgree 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 chkDtPolicyAgree;
/// <summary>
/// chkDelPolicyAgree 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 chkDelPolicyAgree;
/// <summary>
/// ddlEuAdrLang 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 ddlEuAdrLang;
/// <summary>
/// pnlDomainTrans 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.PlaceHolder pnlDomainTrans;
/// <summary>
/// rbTransferDomain control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Ecommerce.Portal.GroupRadioButton rbTransferDomain;
/// <summary>
/// txtDomainTrans 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 txtDomainTrans;
/// <summary>
/// ddlTopLevelDomsTrans 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 ddlTopLevelDomsTrans;
/// <summary>
/// ddlTransDomCycles 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 ddlTransDomCycles;
/// <summary>
/// rbUpdateNs control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Ecommerce.Portal.GroupRadioButton rbUpdateNs;
/// <summary>
/// pnlUpdateNs 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.PlaceHolder pnlUpdateNs;
/// <summary>
/// txtDomainUpdate 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 txtDomainUpdate;
/// <summary>
/// lclNoTLDsInStock 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 lclNoTLDsInStock;
}
}

View file

@ -0,0 +1,8 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PlanHostingAddons.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.PlanHostingAddons" %>
<%@ Register TagPrefix="wsp" TagName="QuickHostingAddon" Src="QuickHostingAddon.ascx" %>
<asp:Repeater runat="server" ID="rptHostingAddons">
<ItemTemplate>
<wsp:QuickHostingAddon runat="server" ID="ctlQuickAddon" AddonInfo='<%# Container.DataItem %>' />
</ItemTemplate>
</asp:Repeater>

View file

@ -0,0 +1,90 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
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.Ecommerce.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class PlanHostingAddons : ecControlBase
{
public OrderItem[] OrderedAddons
{
get
{
EnsureChildControls();
return SyncSelection();
}
}
public bool IsEmpty
{
get
{
EnsureChildControls();
return rptHostingAddons.Items.Count == 0;
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
public void LoadHostingAddons(int resellerId, int planId)
{
rptHostingAddons.DataSource = StorefrontHelper.GetHostingPlanAddons(resellerId, planId);
rptHostingAddons.DataBind();
}
private OrderItem[] SyncSelection()
{
List<OrderItem> orderItems = new List<OrderItem>();
foreach (RepeaterItem item in rptHostingAddons.Items)
{
QuickHostingAddon ctlAddon = (QuickHostingAddon)item.FindControl("ctlQuickAddon");
// check found control
if (ctlAddon != null && ctlAddon.Selected)
orderItems.Add(ctlAddon.AddonOrderItem);
}
return orderItems.ToArray();
}
}
}

View file

@ -0,0 +1,31 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.312
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
/// <summary>
/// PlanHostingAddons class.
/// </summary>
/// <remarks>
/// Auto-generated class.
/// </remarks>
public partial class PlanHostingAddons {
/// <summary>
/// rptHostingAddons 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.Repeater rptHostingAddons;
}
}

View file

@ -0,0 +1,9 @@
<%@ Control Language="C#" AutoEventWireup="true" Codebehind="ProductCategories.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.ProductCategories" %>
<asp:DataList runat="server" ID="_dlCategories" GridLines="None"
CellPadding="2" CellSpacing="1" RepeatDirection="Horizontal"
RepeatLayout="Table" RepeatColumns="3" DataKeyField="CategoryID">
<ItemStyle CssClass="FormRow" Wrap="false" Width="25%" />
<ItemTemplate>
<asp:CheckBox ID="chkSelected" runat="server" />&nbsp;<%# Eval("CategoryName") %>
</ItemTemplate>
</asp:DataList>

View file

@ -0,0 +1,129 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
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.Portal;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class ProductCategories : ecControlBase
{
private bool dataSourceBinded;
private int[] assignedCategories;
public int[] AssignedCategories
{
get
{
return SyncDataListSelection();
}
set
{
SyncProductSelection(value);
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
BindAvailableCategories();
}
private void _dlCategories_ItemDataBound(object sender, DataListItemEventArgs e)
{
switch (e.Item.ItemType)
{
case ListItemType.AlternatingItem:
case ListItemType.EditItem:
case ListItemType.SelectedItem:
case ListItemType.Item:
DataRowView drView = (DataRowView)e.Item.DataItem;
if (drView != null)
{
CheckBox chkBox = ecUtils.FindControl<CheckBox>(e.Item, "chkSelected");
// lookup category in selection
chkBox.Checked = (Array.IndexOf(assignedCategories, drView["CategoryID"]) > -1);
}
break;
}
}
private int[] SyncDataListSelection()
{
List<int> bindIds = new List<int>();
foreach (DataListItem item in _dlCategories.Items)
{
// obtain checkbox
CheckBox chkBox = ecUtils.FindControl<CheckBox>(item, "chkSelected");
if (chkBox != null)
{
// user uncheck assigned category - we collect it.
if (chkBox.Checked)
{
bindIds.Add((int)_dlCategories.DataKeys[item.ItemIndex]);
continue;
}
}
}
return bindIds.ToArray();
}
private void SyncProductSelection(int[] assignedCats)
{
// store categories
this.assignedCategories = assignedCats;
// DataList event hadlers
_dlCategories.ItemDataBound += new DataListItemEventHandler(_dlCategories_ItemDataBound);
// bind categories workaround for data sync
if (!dataSourceBinded)
BindAvailableCategories();
}
private void BindAvailableCategories()
{
_dlCategories.DataSource = CategoryHelper.GetWholeCategoriesSet();
_dlCategories.DataBind();
dataSourceBinded = true;
}
}
}

View file

@ -0,0 +1,16 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
public partial class ProductCategories {
protected System.Web.UI.WebControls.DataList _dlCategories;
}
}

View file

@ -0,0 +1,38 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ProductHighlights.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.ProductHighlights" %>
<table cellspacing="0" cellpadding="3">
<tr>
<td><asp:Localize runat="server" meta:resourcekey="lclHighlightText" /></td>
<td><asp:TextBox runat="server" ID="txtHighlightText" CssClass="NormalTextBox" /></td>
<td><asp:Button runat="server" ID="btnAddHighlight" CausesValidation="false" meta:resourcekey="btnAddHighlight"
OnClick="btnAddHighlight_Click" CssClass="Button1" /></td>
</tr>
</table>
<ul style="margin-left: 0px;">
<asp:GridView ID="gvProductHightlights" runat="server" meta:resourcekey="gvProductHightlights"
AutoGenerateColumns="False" CssSelectorClass="NormalGridView">
<Columns>
<asp:TemplateField meta:resourcekey="gvPlanHighlight">
<ItemStyle Width="40%"></ItemStyle>
<ItemTemplate>
<li><%# Container.DataItem %></li>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle Wrap="False" />
<ItemTemplate>
<asp:Button runat="server" ID="btnMoveUp" meta:resourcekey="btnMoveUp" CommandArgument='<%# Container.DataItemIndex %>'
CausesValidation="false" CommandName="ITEM_MOVEUP" CssClass="Button1" />&nbsp;
<asp:Button runat="server" ID="btnMoveDown" meta:resourcekey="btnMoveDown" CommandArgument='<%# Container.DataItemIndex %>'
CausesValidation="false" CommandName="ITEM_MOVEDOWN" CssClass="Button1" />&nbsp;
<asp:Button runat="server" ID="btnDeleteCycle" meta:resourcekey="btnDeleteCycle" CommandArgument='<%# Container.DataItemIndex %>'
CausesValidation="false" CommandName="ITEM_DELETE" CssClass="Button1" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="GridHeader" HorizontalAlign="Left" />
<RowStyle CssClass="Normal" />
<PagerStyle CssClass="GridPager" />
<EmptyDataRowStyle CssClass="Normal" />
<PagerSettings Mode="NumericFirstLast" />
</asp:GridView>
</ul>

View file

@ -0,0 +1,139 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class ProductHighlights : ecControlBase
{
public const string VIEW_STATE_KEY = "__ProductHighlights";
public List<string> HighlightedItems
{
get
{
List<string> items = ViewState[VIEW_STATE_KEY] as List<string>;
if (items == null)
{
items = new List<string>();
ViewState[VIEW_STATE_KEY] = items;
}
return items;
}
set
{
// save items...
ViewState[VIEW_STATE_KEY] = value;
// bind displayed items
BindHighlightedItems();
}
}
protected void Page_Load(object sender, EventArgs e)
{
gvProductHightlights.RowCommand += new GridViewCommandEventHandler(gvProductHightlights_RowCommand);
}
protected void btnAddHighlight_Click(object sender, EventArgs e)
{
// add item
HighlightedItems.Add(txtHighlightText.Text.Trim());
// cleanup textbox
txtHighlightText.Text = String.Empty;
// re-bind items
BindHighlightedItems();
}
private void gvProductHightlights_RowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "ITEM_DELETE":
DeleteHighlightedItem(Convert.ToInt32(e.CommandArgument));
break;
case "ITEM_MOVEDOWN":
FlipHighlightedItems(Convert.ToInt32(e.CommandArgument), true);
break;
case "ITEM_MOVEUP":
FlipHighlightedItems(Convert.ToInt32(e.CommandArgument), false);
break;
}
}
private void BindHighlightedItems()
{
gvProductHightlights.DataSource = HighlightedItems;
gvProductHightlights.DataBind();
}
private void DeleteHighlightedItem(int itemIndex)
{
HighlightedItems.RemoveAt(itemIndex);
BindHighlightedItems();
}
private void FlipHighlightedItems(int itemIndex, bool movedown)
{
// first item can't move up
if (movedown && itemIndex == HighlightedItems.Count - 1)
return;
// last item can't move down
if (!movedown && itemIndex == 0)
return;
// single item can't move in both directions
if (HighlightedItems.Count == 1)
return;
//
string itemToFlip = HighlightedItems[itemIndex];
// remove
HighlightedItems.RemoveAt(itemIndex);
//
if (movedown)
HighlightedItems.Insert(itemIndex + 1, itemToFlip);
else
HighlightedItems.Insert(itemIndex - 1, itemToFlip);
// re-bind item
BindHighlightedItems();
}
}
}

View file

@ -0,0 +1,18 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
public partial class ProductHighlights {
protected System.Web.UI.WebControls.TextBox txtHighlightText;
protected System.Web.UI.WebControls.Button btnAddHighlight;
protected System.Web.UI.WebControls.GridView gvProductHightlights;
}
}

View file

@ -0,0 +1,49 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="QuickHostingAddon.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.QuickHostingAddon" %>
<%@ Register TagPrefix="wsp" Namespace="WebsitePanel.Ecommerce.Portal" Assembly="WebsitePanel.Portal.Ecommerce.Modules" %>
<table cellpadding="0" cellspacing="0" class="QuickOutlineTbl">
<tr class="FormSectionHeader">
<th class="FormButtonsBar Width100Pcs" style="text-align: left;"><asp:CheckBox runat="server" ID="chkSelected"
AutoPostBack="true" CausesValidation="false" OnCheckedChanged="chkSelected_CheckedChanged" /><asp:Literal runat="server" ID="ltrAddonName" /></th>
<th class="FormButtonsBar Centered Width15Pcs" nowrap>&nbsp;<asp:Localize runat="server" Visible="false" ID="lclAddonPrice" meta:resourcekey="lclAddonPrice" /></th>
<th class="FormButtonsBar Centered Width15Pcs" nowrap>&nbsp;<asp:Localize runat="server" Visible="false" ID="lclSetupFee" meta:resourcekey="lclSetupFee" /></th>
</tr>
<asp:PlaceHolder runat="server" ID="pnlRecurring" Visible="false">
<asp:Repeater runat="server" ID="rptAddonCycles">
<HeaderTemplate>
<tr>
<td colspan="3"><wsp:RadioGroupValidator runat="server" CssClass="QuickLabel" RadioButtonsGroup="<%# GroupName %>"
meta:resourcekey="valQuickAddonCycles" Display="Dynamic" EnableClientScript="true" /></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="QuickLabel"><wsp:GroupRadioButton runat="server" ID="rbSelected"
GroupName="<%# GroupName %>" Text='<%# Eval("CycleName") %>' ControlValue='<%# Eval("CycleId") %>' /></td>
<td class="QuickLabel Centered"><%# EcommerceSettings.CurrencyCodeISO %>&nbsp;<%# Eval("RecurringFee", "{0:C}") %></td>
<td class="QuickLabel Centered"><%# EcommerceSettings.CurrencyCodeISO %>&nbsp;<%# Eval("SetupFee", "{0:C}") %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="pnlOneTimeFee" Visible="false">
<tr>
<td class="QuickLabel"><asp:Localize runat="server" meta:resourcekey="lclOneTimeFee" /></td>
<td class="QuickLabel"><%= EcommerceSettings.CurrencyCodeISO %>&nbsp;<asp:Literal
runat="server" ID="ltrAddonPrice" /></td>
<td class="QuickLabel"><%= EcommerceSettings.CurrencyCodeISO %>&nbsp;<asp:Literal
runat="server" ID="ltrSetupFee" /></td>
</tr>
</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="pnlQuantity" Visible="false">
<tr>
<td colspan="3" class="QuickLabel"><asp:Localize runat="server" meta:resourcekey="lclQuantity" />&nbsp;<asp:TextBox
runat="server" ID="txtQuantity" CssClass="Normal Centered" Width="30px" Text="1" />&nbsp;<asp:RequiredFieldValidator
runat="server" ControlToValidate="txtQuantity" Text="*" Display="Dynamic" /></td>
</tr>
</asp:PlaceHolder>
</table>

View file

@ -0,0 +1,185 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebsitePanel.Portal;
using WebsitePanel.Ecommerce.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class QuickHostingAddon : ecControlBase
{
public const string VIEW_STATE_KEY = "__QHostingAddon";
public HostingAddon AddonInfo
{
get { return (HostingAddon)ViewState[VIEW_STATE_KEY]; }
set { ViewState[VIEW_STATE_KEY] = value; }
}
public bool Selected
{
get
{
EnsureChildControls();
return chkSelected.Checked;
}
}
public int Quantity
{
get
{
EnsureChildControls();
//
if (AddonInfo.Countable)
return ecUtils.ParseInt(txtQuantity.Text, 1);
//
return 1;
}
}
public int SelectedCycleId
{
get
{
EnsureChildControls();
return SyncSelectedCycle();
}
}
public OrderItem AddonOrderItem
{
get
{
if (!chkSelected.Checked)
return null;
//
return OrderItem.GetHostingAddonItem(AddonInfo.ProductId, SelectedCycleId, Quantity,
AddonInfo.ProductName);
}
}
protected string GroupName
{
get { return String.Concat("RadioGroup_", AddonInfo.ProductId); }
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void chkSelected_CheckedChanged(object sender, EventArgs e)
{
ShowAddonInfo();
}
protected override void OnDataBinding(EventArgs e)
{
base.OnDataBinding(e);
//
EnsureChildControls();
ShowAddonInfo();
}
private void ShowAddonInfo()
{
// ignore empty addons
if (AddonInfo == null)
return;
//
ltrAddonName.Text = AddonInfo.ProductName;
//
if (chkSelected.Checked)
{
if (AddonInfo.Recurring)
ShowRecurringAddon();
else
ShowOneTimeAddon();
}
else
ecUtils.ToggleControls(false, pnlOneTimeFee, pnlRecurring, lclAddonPrice, lclSetupFee, pnlQuantity);
}
private void ShowRecurringAddon()
{
// turn off
ecUtils.ToggleControls(false, pnlOneTimeFee);
// turn on
if (AddonInfo.Countable)
ecUtils.ToggleControls(true, pnlRecurring, lclAddonPrice, lclSetupFee, pnlQuantity);
else
ecUtils.ToggleControls(true, pnlRecurring, lclAddonPrice, lclSetupFee);
int resellerId = (Page.User.Identity.IsAuthenticated) ? PanelSecurity.SelectedUser.OwnerId : ecPanelRequest.ResellerId;
rptAddonCycles.DataSource = StorefrontHelper.GetHostingAddonCycles(resellerId, AddonInfo.ProductId);
rptAddonCycles.DataBind();
}
private void ShowOneTimeAddon()
{
// turn off
ecUtils.ToggleControls(false, pnlRecurring);
// turn on
if (AddonInfo.Countable)
ecUtils.ToggleControls(true, pnlOneTimeFee, pnlQuantity, lclAddonPrice, lclSetupFee);
else
ecUtils.ToggleControls(true, pnlOneTimeFee, lclAddonPrice, lclSetupFee);
ltrAddonPrice.Text = AddonInfo.OneTimeFee.ToString("C");
ltrSetupFee.Text = AddonInfo.SetupFee.ToString("C");
}
private int SyncSelectedCycle()
{
if (!AddonInfo.Recurring)
return -1;
foreach (RepeaterItem item in rptAddonCycles.Items)
{
GroupRadioButton r_button = ecUtils.FindControl<GroupRadioButton>(item, "rbSelected");
//
if (r_button != null && r_button.Checked)
return (int)r_button.ControlValue;
}
return -1;
}
}
}

View file

@ -0,0 +1,115 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.4927
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
public partial class QuickHostingAddon {
/// <summary>
/// chkSelected 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 chkSelected;
/// <summary>
/// ltrAddonName 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 ltrAddonName;
/// <summary>
/// lclAddonPrice 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 lclAddonPrice;
/// <summary>
/// lclSetupFee 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 lclSetupFee;
/// <summary>
/// pnlRecurring 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.PlaceHolder pnlRecurring;
/// <summary>
/// rptAddonCycles 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.Repeater rptAddonCycles;
/// <summary>
/// pnlOneTimeFee 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.PlaceHolder pnlOneTimeFee;
/// <summary>
/// ltrAddonPrice 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 ltrAddonPrice;
/// <summary>
/// ltrSetupFee 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 ltrSetupFee;
/// <summary>
/// pnlQuantity 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.PlaceHolder pnlQuantity;
/// <summary>
/// txtQuantity 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 txtQuantity;
}
}

View file

@ -0,0 +1,28 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="QuickHostingPlanCycles.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.QuickHostingPlanCycles" %>
<%@ Register TagPrefix="wsp" Namespace="WebsitePanel.Ecommerce.Portal" Assembly="WebsitePanel.Portal.Ecommerce.Modules" %>
<asp:Repeater runat="server" ID="rptPlanCycles">
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" class="QuickOutlineTbl">
<tr class="FormSectionHeader">
<th class="FormButtonsBar Width100Pcs" style="text-align: left;"><asp:Localize runat="server" meta:resourcekey="lclModuleHeader" /></th>
<th class="FormButtonsBar" nowrap><asp:Localize runat="server" meta:resourcekey="lclRecurringFee" /></th>
<th class="FormButtonsBar" nowrap><asp:Localize runat="server" meta:resourcekey="lclSetupFee" /></th>
</tr>
<tr>
<td colspan="3"><wsp:RadioGroupValidator runat="server" ID="reqCycleCheckedValidator"
CssClass="QuickLabel" RadioButtonsGroup="QuickPlanCycles" Display="Dynamic"
meta:resourcekey="lclCycleChecked" /></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="QuickLabel"><wsp:GroupRadioButton runat="server" GroupName="QuickPlanCycles" ID="rbSelected"
Text='<%# Eval("CycleName") %>' ControlValue='<%# Eval("CycleId") %>' /></td>
<td class="QuickLabel Centered"><%# EcommerceSettings.CurrencyCodeISO %>&nbsp;<%# Eval("RecurringFee", "{0:C}") %></td>
<td class="QuickLabel Centered"><%# EcommerceSettings.CurrencyCodeISO %>&nbsp;<%# Eval("SetupFee", "{0:C}") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>

View file

@ -0,0 +1,79 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebsitePanel.Ecommerce.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class QuickHostingPlanCycles : ecControlBase
{
public int SelectedCycle
{
get { return SyncGridViewSelection(); }
}
protected void Page_Load(object sender, EventArgs e)
{
}
public void LoadHostingPlanCycles(int productId)
{
rptPlanCycles.DataSource = StorefrontHelper.GetHostingPlanCycles(ecPanelRequest.ResellerId, productId);
rptPlanCycles.DataBind();
}
private int SyncGridViewSelection()
{
int selectedId = -1;
foreach (RepeaterItem item in rptPlanCycles.Items)
{
GroupRadioButton r_button = ecUtils.FindControl<GroupRadioButton>(item, "rbSelected");
if (r_button.Checked)
{
selectedId = (int)r_button.ControlValue;
break;
}
}
return selectedId;
}
}
}

View file

@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3053
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
public partial class QuickHostingPlanCycles {
/// <summary>
/// rptPlanCycles 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.Repeater rptPlanCycles;
}
}

View file

@ -0,0 +1,28 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="QuickHostingPlans.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.QuickHostingPlans" %>
<%@ Register TagPrefix="wsp" Namespace="WebsitePanel.Ecommerce.Portal" Assembly="WebsitePanel.Portal.Ecommerce.Modules" %>
<div class="FormButtonsBar">
<div class="FormSectionHeader"><asp:Localize runat="server" meta:resourcekey="lclChooseHostingPlan" /></div>
</div>
<div>
<asp:Repeater runat="server" ID="rptHostingPlans">
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" class="QuickOutlineTbl" width="100%">
<tr>
<td colspan="2"><wsp:RadioGroupValidator runat="server" ID="reqRadioCheckedValidator"
RadioButtonsGroup="QuickHostingPlans" CssClass="QuickLabel" Display="Dynamic"
meta:resourcekey="lclRadioCheckedValidator" /></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="QuickLabel Width20Pcs"><wsp:GroupRadioButton runat="server" ID="rbSelected" AutoPostBack="true" OnCheckedChanged="rbSelected_OnCheckedChanged"
GroupName="QuickHostingPlans" Text='<%# Eval("ProductName") %>' ControlValue='<%# Eval("ProductId") %>' /></td>
<td class="QuickLabel"><a href="javascript:void(0);" onclick="window.open('Default.aspx?pid=ecProductDetails&ResellerId=<%# Eval("ResellerId") %>&ProductId=<%# Eval("ProductId") %>', 'view_details', 'channelmode=no,directories=no,fullscreen=no,height=450px,left=50px,location=no,menubar=no,resizable=0,scrollbars=yes,status=no,titlebar=no,menubar=no,top=50px,width=450px')"><asp:Localize runat="server" meta:resourcekey="lclPlanDetails" /></a></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</div>

View file

@ -0,0 +1,114 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebsitePanel.Ecommerce.EnterpriseServer;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class QuickHostingPlans : ecControlBase
{
public event EventHandler PlanSelected;
public int SelectedPlan
{
get { return SyncDataListSelection(); }
}
public string SelectedPlanName
{
get { return SyncDataListSelectionStr(); }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
BindQuickHostingPlans();
}
protected void rbSelected_OnCheckedChanged(object sender, EventArgs e)
{
// raise event
if (PlanSelected != null)
PlanSelected(this, EventArgs.Empty);
}
private void BindQuickHostingPlans()
{
rptHostingPlans.DataSource = StorefrontHelper.GetStorefrontProductsByType(ecPanelRequest.ResellerId, Product.HOSTING_PLAN);
rptHostingPlans.DataBind();
}
private int SyncDataListSelection()
{
int selectedId = -1;
foreach (RepeaterItem item in rptHostingPlans.Items)
{
GroupRadioButton r_button = ecUtils.FindControl<GroupRadioButton>(item, "rbSelected");
if (r_button.Checked)
{
selectedId = (int)r_button.ControlValue;
break;
}
}
return selectedId;
}
private string SyncDataListSelectionStr()
{
string planName = String.Empty;
foreach (RepeaterItem item in rptHostingPlans.Items)
{
GroupRadioButton r_button = ecUtils.FindControl<GroupRadioButton>(item, "rbSelected");
if (r_button.Checked)
{
planName = r_button.Text;
break;
}
}
return planName;
}
}
}

View file

@ -0,0 +1,31 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
/// <summary>
/// QuickHostingPlans class.
/// </summary>
/// <remarks>
/// Auto-generated class.
/// </remarks>
public partial class QuickHostingPlans {
/// <summary>
/// rptHostingPlans 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.Repeater rptHostingPlans;
}
}

View file

@ -0,0 +1,74 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UserAccountDetails.ascx.cs" Inherits="WebsitePanel.Ecommerce.Portal.UserControls.UserAccountDetails" %>
<%@ Register Src="~/DesktopModules/WebsitePanel/UserControls/PasswordControl.ascx" TagName="PasswordControl" TagPrefix="uc2" %>
<%@ Register Src="~/DesktopModules/WebsitePanel/UserControls/EmailControl.ascx" TagName="EmailControl" TagPrefix="uc2" %>
<table cellspacing="0" cellpadding="2" width="100%">
<tr>
<td class="SubHead" width="200" nowrap>
<asp:Localize runat="server" meta:resourcekey="lclUsername" />
</td>
<td width="100%" class="NormalBold">
<asp:TextBox id="txtUsername" runat="server" CssClass="HugeTextBox"></asp:TextBox>
<asp:RequiredFieldValidator id="usernameValidator" runat="server" ErrorMessage="*" ControlToValidate="txtUsername"
Display="Dynamic"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="SubHead" width="200" nowrap valign="top">
<asp:Localize runat="server" meta:resourcekey="lclPassword" />
</td>
<td width="100%" class="Normal">
<uc2:PasswordControl ID="userPassword" runat="server" />
</td>
</tr>
<tr>
<td class="Normal">&nbsp;</td>
</tr>
<tr>
<td class="SubHead" width="200" nowrap>
<asp:Localize runat="server" meta:resourcekey="lclFirstName" />
</td>
<td width="100%" class="NormalBold">
<asp:TextBox id="txtFirstName" runat="server" CssClass="NormalTextBox"></asp:TextBox>
<asp:RequiredFieldValidator id="firstNameValidator" runat="server" ErrorMessage="*" Display="Dynamic"
ControlToValidate="txtFirstName"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="SubHead">
<asp:Localize runat="server" meta:resourcekey="lclLastName" />
</td>
<td class="NormalBold">
<asp:TextBox id="txtLastName" runat="server" CssClass="NormalTextBox"></asp:TextBox>
<asp:RequiredFieldValidator id="lastNameValidator" runat="server" ErrorMessage="*" Display="Dynamic"
ControlToValidate="txtLastName"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="SubHead">
<asp:Localize runat="server" meta:resourcekey="lclEmail" />
</td>
<td class="NormalBold">
<uc2:EmailControl id="txtEmail" runat="server"/>
</td>
</tr>
<tr>
<td class="SubHead">
<asp:Localize runat="server" meta:resourcekey="lclSecondaryEmail" />
</td>
<td class="NormalBold">
<uc2:EmailControl id="txtSecondaryEmail" runat="server" RequiredEnabled="false" />
</td>
</tr>
<tr>
<td class="SubHead">
<asp:Localize runat="server" meta:resourcekey="lclMailFormat" />
</td>
<td class="NormalBold">
<asp:DropDownList ID="ddlMailFormat" runat="server" CssClass="NormalTextBox">
<asp:ListItem Value="Text" meta:resourcekey="lclPlainText" />
<asp:ListItem Value="HTML" meta:resourcekey="lclHTML" />
</asp:DropDownList>
</td>
</tr>
</table>

View file

@ -0,0 +1,112 @@
// Copyright (c) 2011, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace WebsitePanel.Ecommerce.Portal.UserControls
{
public partial class UserAccountDetails : ecControlBase
{
public string Username
{
get
{
EnsureChildControls();
return txtUsername.Text.Trim();
}
}
public string Password
{
get
{
EnsureChildControls();
return userPassword.Password;
}
}
public string FirstName
{
get
{
EnsureChildControls();
return txtFirstName.Text.Trim();
}
}
public string LastName
{
get
{
EnsureChildControls();
return txtLastName.Text.Trim();
}
}
public string Email
{
get
{
EnsureChildControls();
return txtEmail.Text;
}
}
public string SecondaryEmail
{
get
{
EnsureChildControls();
return txtSecondaryEmail.Text;
}
}
public string EmailFormat
{
get
{
EnsureChildControls();
return ddlMailFormat.SelectedValue;
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
}

View file

@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Ecommerce.Portal.UserControls {
public partial class UserAccountDetails {
protected System.Web.UI.WebControls.TextBox txtUsername;
protected System.Web.UI.WebControls.RequiredFieldValidator usernameValidator;
protected WebsitePanel.Portal.PasswordControl userPassword;
protected System.Web.UI.WebControls.TextBox txtFirstName;
protected System.Web.UI.WebControls.RequiredFieldValidator firstNameValidator;
protected System.Web.UI.WebControls.TextBox txtLastName;
protected System.Web.UI.WebControls.RequiredFieldValidator lastNameValidator;
protected WebsitePanel.Portal.UserControls.EmailControl txtEmail;
protected WebsitePanel.Portal.UserControls.EmailControl txtSecondaryEmail;
protected System.Web.UI.WebControls.DropDownList ddlMailFormat;
}
}