using System;
using System.Data;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using CMS.CMSHelper;
using CMS.Ecommerce;
using CMS.GlobalHelper;
using CMS.UIControls;
[Security(Resource = "CMS.Ecommerce", UIElements = "Orders.General")]
public partial class CMSModules_Ecommerce_Pages_Tools_Orders_Order_Edit_Address : CMSOrdersModalPage
{
protected int addressId = 0;
protected int customerId = 0;
protected int typeId = -1;
protected override void OnPreInit(EventArgs e)
{
CustomerID = QueryHelper.GetInteger("customerid", 0);
base.OnPreInit(e);
}
protected void Page_Load(object sender, EventArgs e)
{
CurrentMaster.Title.TitleText = GetString("Order_Edit_Address.Title");
rqvCity.ErrorMessage = GetString("Customer_Edit_Address_Edit.rqvCity");
rqvLine.ErrorMessage = GetString("Customer_Edit_Address_Edit.rqvLine");
rqvZipCode.ErrorMessage = GetString("Customer_Edit_Address_Edit.rqvZipCode");
rqvPersonalName.ErrorMessage = GetString("Customer_Edit_Address_Edit.rqvPersonalName");
// control initializations
lblAddressZip.Text = GetString("Customer_Edit_Address_Edit.AddressZipLabel");
//lblAddressState.Text = GetString("Customer_Edit_Address_Edit.AddressStateIDLabel");
lblAddressDeliveryPhone.Text = GetString("Customer_Edit_Address_Edit.AddressDeliveryPhoneLabel");
lblAddressCountry.Text = GetString("Customer_Edit_Address_Edit.AddressCountryIDLabel");
//lblAddressName.Text = GetString("Customer_Edit_Address_Edit.AddressNameLabel");
//lblAddressLine3.Text = GetString("Customer_Edit_Address_Edit.AddressLine3Label");
lblAddressLine1.Text = GetString("Customer_Edit_Address_Edit.AddressLine1Label");
//lblAddressLine2.Text = GetString("Customer_Edit_Address_Edit.AddressLine2Label");
lblAddressCity.Text = GetString("Customer_Edit_Address_Edit.AddressCityLabel");
lblPersonalName.Text = GetString("Customer_Edit_Address_Edit.lblPersonalName");
btnOk.Text = GetString("General.OK");
btnCancel.Text = GetString("General.Cancel");
// Get ids from querystring
customerId = QueryHelper.GetInteger("customerId", 0);
addressId = QueryHelper.GetInteger("addressId", 0);
typeId = QueryHelper.GetInteger("typeId", -1);
if (addressId > 0)
{
AddressInfo addressObj = AddressInfoProvider.GetAddressInfo(addressId);
EditedObject = addressObj;
if (addressObj != null)
{
// fill editing form
if (!RequestHelper.IsPostBack())
{
LoadData(addressObj);
}
}
CurrentMaster.Title.TitleImage = GetImageUrl("Objects/Ecommerce_Address/object.png");
}
else
{
if (!RequestHelper.IsPostBack())
{
// Init data due to customer settings
InitData();
}
CurrentMaster.Title.TitleImage = GetImageUrl("Objects/Ecommerce_Address/new.png");
}
}
///
/// Load data of editing address.
///
/// Address object
protected void LoadData(AddressInfo addressObj)
{
txtAddressZip.Text = addressObj.AddressZip;
txtAddressDeliveryPhone.Text = addressObj.AddressPhone;
txtPersonalName.Text = addressObj.AddressPersonalName;
//txtAddressName.Text = addressObj.AddressName;
txtAddressLine1.Text = addressObj.AddressLine1;
chkAddressEnabled.Checked = addressObj.AddressEnabled;
txtAddressLine2.Text = addressObj.AddressLine2;
txtAddressCity.Text = addressObj.AddressCity;
ucCountrySelector.CountryID = addressObj.AddressCountryID;
ucCountrySelector.StateID = addressObj.AddressStateID;
}
///
/// Sets data to database.
///
protected void btnOK_Click(object sender, EventArgs e)
{
// Check 'EcommerceModify' permission
if (!ECommerceContext.IsUserAuthorizedForPermission("ModifyCustomers"))
{
RedirectToAccessDenied("CMS.Ecommerce", "EcommerceModify OR ModifyCustomers");
}
if (customerId != 0)
{
string errorMessage = new Validator().NotEmpty(txtAddressLine1.Text, "Customer_Edit_Address_Edit.rqvLine").NotEmpty(txtAddressCity.Text, "Customer_Edit_Address_Edit.rqvCity").NotEmpty(txtAddressZip.Text, "Customer_Edit_Address_Edit.rqvZipCode").NotEmpty(txtPersonalName.Text, "Customer_Edit_Address_Edit.rqvPersonalName").Result;
// Check country presence
if ((errorMessage == "") && (ucCountrySelector.CountryID <= 0))
{
errorMessage = GetString("countryselector.selectedcountryerr");
}
if ((errorMessage == "") && !ucCountrySelector.StateSelectionIsValid)
{
errorMessage = GetString("countryselector.selectedstateerr");
}
if (errorMessage == "")
{
AddressInfo addressObj = AddressInfoProvider.GetAddressInfo(addressId);
// if address doesn't already exist, create new one
if (addressObj == null)
{
addressObj = new AddressInfo();
addressObj.AddressIsShipping = false;
addressObj.AddressIsBilling = false;
addressObj.AddressIsCompany = false;
}
switch (typeId)
{
// Shipping addres selection
case 0:
addressObj.AddressIsShipping = true;
break;
// Billing addres selection
case 1:
addressObj.AddressIsBilling = true;
break;
// Company addres selection
case 2:
addressObj.AddressIsCompany = true;
break;
default:
break;
}
// Set address object data
addressObj.AddressZip = txtAddressZip.Text.Trim();
addressObj.AddressPhone = txtAddressDeliveryPhone.Text.Trim();
addressObj.AddressPersonalName = txtPersonalName.Text.Trim();
addressObj.AddressLine1 = txtAddressLine1.Text.Trim();
addressObj.AddressEnabled = chkAddressEnabled.Checked;
addressObj.AddressLine2 = txtAddressLine2.Text.Trim();
addressObj.AddressCity = txtAddressCity.Text.Trim();
addressObj.AddressCountryID = ucCountrySelector.CountryID;
addressObj.AddressStateID = ucCountrySelector.StateID;
addressObj.AddressCustomerID = customerId;
addressObj.AddressName = AddressInfoProvider.GetAddressName(addressObj);
AddressInfoProvider.SetAddressInfo(addressObj);
ltlScript.Text = ScriptHelper.GetScript("if(wopener.AddressChange!=null){wopener.AddressChange('" + addressObj.AddressID + "');}CloseDialog();");
}
else
{
// Show error message
ShowError(errorMessage);
}
}
}
private void InitData()
{
CustomerInfo ci = CustomerInfoProvider.GetCustomerInfo(customerId);
if (ci != null)
{
ucCountrySelector.CountryID = ci.CustomerCountryID;
ucCountrySelector.StateID = ci.CustomerStateID;
txtAddressDeliveryPhone.Text = ci.CustomerPhone;
txtPersonalName.Text = ci.CustomerFirstName + " " + ci.CustomerLastName;
}
}
}