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; using CMS.SiteProvider; [Security(Resource = "CMS.Ecommerce", UIElements = "Configuration.ShippingOptions.General")] public partial class CMSModules_Ecommerce_Pages_Tools_Configuration_ShippingOptions_ShippingOption_Edit_General : CMSShippingOptionsPage { protected int mShippingOptionID = 0; protected int mEditedSiteId = -1; protected void Page_Load(object sender, EventArgs e) { // Required field validator error messages initialization rfvDisplayName.ErrorMessage = GetString("general.requiresdisplayname"); rfvName.ErrorMessage = GetString("COM_ShippingOption_Edit.NameError"); txtShippingOptionCharge.EmptyErrorMessage = GetString("COM_ShippingOption_Edit.ChargeError"); txtShippingOptionCharge.ValidationErrorMessage = GetString("COM_ShippingOption_Edit.ChargePositive"); // Control initializations lblShippingOptionCharge.Text = GetString("COM_ShippingOption_Edit.ShippingOptionChargeLabel"); // Get shippingOption id from querystring mShippingOptionID = QueryHelper.GetInteger("shippingOptionID", 0); mEditedSiteId = ConfiguredSiteID; // Edit shipping option if (mShippingOptionID > 0) { ShippingOptionInfo shippingOptionObj = ShippingOptionInfoProvider.GetShippingOptionInfo(mShippingOptionID); EditedObject = shippingOptionObj; if (shippingOptionObj != null) { mEditedSiteId = shippingOptionObj.ShippingOptionSiteID; CheckEditedObjectSiteID(mEditedSiteId); // Init file uploader file.ObjectID = mShippingOptionID; file.ObjectType = ECommerceObjectType.SHIPPINGOPTION; file.Category = MetaFileInfoProvider.OBJECT_CATEGORY_THUMBNAIL; file.SiteID = mEditedSiteId; // Fill editing form if (!RequestHelper.IsPostBack()) { LoadData(shippingOptionObj); // Show that the shippingOption was created or updated successfully if (QueryHelper.GetString("saved", "") == "1") { // Show message ShowChangesSaved(); } } } } // Ensure currency code after price value txtShippingOptionCharge.CurrencySiteID = mEditedSiteId; // Check presence of main currency string currencyWarning = CheckMainCurrency(mEditedSiteId); if (!string.IsNullOrEmpty(currencyWarning)) { ShowWarning(currencyWarning, null, null); } } /// /// Load data of editing shippingOption. /// /// ShippingOption object protected void LoadData(ShippingOptionInfo shippingOptionObj) { txtShippingOptionDisplayName.Text = shippingOptionObj.ShippingOptionDisplayName; txtDescription.Text = shippingOptionObj.ShippingOptionDescription; txtShippingOptionCharge.Price = shippingOptionObj.ShippingOptionCharge; txtShippingOptionName.Text = shippingOptionObj.ShippingOptionName; chkShippingOptionEnabled.Checked = shippingOptionObj.ShippingOptionEnabled; } /// /// Sets data to database. /// protected void btnOK_Click(object sender, EventArgs e) { // Check permissions CheckConfigurationModification(mEditedSiteId); string errorMessage = new Validator() .NotEmpty(txtShippingOptionDisplayName.Text.Trim(), rfvDisplayName.ErrorMessage) .NotEmpty(txtShippingOptionName.Text.Trim(), rfvName.ErrorMessage).Result; if (!ValidationHelper.IsCodeName(txtShippingOptionName.Text.Trim())) { errorMessage = GetString("General.ErrorCodeNameInIdentifierFormat"); } if (errorMessage == "") { errorMessage = txtShippingOptionCharge.Validate(false); } if (errorMessage == "") { // ShippingOptionName must be unique ShippingOptionInfo shippingOptionObj = null; string siteWhere = (mEditedSiteId > 0) ? " AND (ShippingOptionSiteID = " + mEditedSiteId + " OR ShippingOptionSiteID IS NULL)" : ""; DataSet ds = ShippingOptionInfoProvider.GetShippingOptions("ShippingOptionName = '" + txtShippingOptionName.Text.Trim().Replace("'", "''") + "'" + siteWhere, null, 1, null); if (!DataHelper.DataSourceIsEmpty(ds)) { shippingOptionObj = new ShippingOptionInfo(ds.Tables[0].Rows[0]); } if ((shippingOptionObj == null) || (shippingOptionObj.ShippingOptionID == mShippingOptionID)) { // Get object if ((shippingOptionObj == null)) { shippingOptionObj = ShippingOptionInfoProvider.GetShippingOptionInfo(mShippingOptionID); if (shippingOptionObj == null) { shippingOptionObj = new ShippingOptionInfo(); shippingOptionObj.ShippingOptionSiteID = mEditedSiteId; } } shippingOptionObj.ShippingOptionDisplayName = txtShippingOptionDisplayName.Text.Trim(); shippingOptionObj.ShippingOptionDescription = txtDescription.Text.Trim(); shippingOptionObj.ShippingOptionCharge = txtShippingOptionCharge.Price; shippingOptionObj.ShippingOptionName = txtShippingOptionName.Text.Trim(); shippingOptionObj.ShippingOptionEnabled = chkShippingOptionEnabled.Checked; // Save changes ShippingOptionInfoProvider.SetShippingOptionInfo(shippingOptionObj); URLHelper.Redirect("ShippingOption_Edit_General.aspx?shippingOptionID=" + shippingOptionObj.ShippingOptionID + "&saved=1&siteId=" + SiteID); } else { // Show error message ShowError(GetString("ShippingOption_Edit.ShippingOptionNameExists")); } } else { // Show error message ShowError(errorMessage); } } }