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 = "DiscountLevels.General")] public partial class CMSModules_Ecommerce_Pages_Tools_DiscountLevels_DiscountLevel_Edit : CMSDiscountLevelsPage { protected int mDiscountLevelId = 0; protected int editedSiteId = -1; protected void Page_Load(object sender, EventArgs e) { // Control initializations lblDiscountLevelValidFrom.Text = GetString("DiscountLevel_Edit.DiscountLevelValidFromLabel"); lblDiscountLevelValue.Text = GetString("DiscountLevel_Edit.DiscountLevelValueLabel"); lblDiscountLevelValidTo.Text = GetString("DiscountLevel_Edit.DiscountLevelValidToLabel"); // Init Validators rfvDiscountLevelDisplayName.ErrorMessage = GetString("DiscountLevel_Edit.rfvDiscountLevelDisplayName.ErrorMessage"); rfvDiscountLevelName.ErrorMessage = GetString("DiscountLevel_Edit.rfvDiscountLevelName.ErrorMessage"); rfvDiscountLevelValue.ErrorMessage = GetString("DiscountLevel_Edit.rfvDiscountLevelValue.ErrorMessage"); dtPickerDiscountLevelValidFrom.SupportFolder = "~/CMSAdminControls/Calendar"; dtPickerDiscountLevelValidTo.SupportFolder = "~/CMSAdminControls/Calendar"; // Get discountlLevel id from querystring mDiscountLevelId = QueryHelper.GetInteger("discountLevelId", 0); editedSiteId = ConfiguredSiteID; // Edit existing if (mDiscountLevelId > 0) { DiscountLevelInfo discountLevelObj = DiscountLevelInfoProvider.GetDiscountLevelInfo(mDiscountLevelId); EditedObject = discountLevelObj; if (discountLevelObj != null) { editedSiteId = discountLevelObj.DiscountLevelSiteID; // Check if edited object belongs to configured site CheckEditedObjectSiteID(editedSiteId); // Fill editing form if (!RequestHelper.IsPostBack()) { LoadData(discountLevelObj); // Show that the discountlLevel was created or updated successfully if (QueryHelper.GetString("saved", "") == "1") { ShowChangesSaved(); } } } } } /// /// Load data of editing discountLevel. /// /// DiscountLevel object protected void LoadData(DiscountLevelInfo discountLevelObj) { dtPickerDiscountLevelValidFrom.SelectedDateTime = discountLevelObj.DiscountLevelValidFrom; chkDiscountLevelEnabled.Checked = discountLevelObj.DiscountLevelEnabled; txtDiscountLevelName.Text = discountLevelObj.DiscountLevelName; txtDiscountLevelValue.Text = Convert.ToString(discountLevelObj.DiscountLevelValue); dtPickerDiscountLevelValidTo.SelectedDateTime = discountLevelObj.DiscountLevelValidTo; txtDiscountLevelDisplayName.Text = discountLevelObj.DiscountLevelDisplayName; } /// /// Sets data to database. /// protected void btnOK_Click(object sender, EventArgs e) { // Check module permissions bool global = (editedSiteId <= 0); if (!ECommerceContext.IsUserAuthorizedToModifyDiscountLevel(global)) { if (global) { RedirectToAccessDenied("CMS.Ecommerce", "EcommerceGlobalModify"); } else { RedirectToAccessDenied("CMS.Ecommerce", "EcommerceModify OR ModifyDiscounts"); } } string errorMessage = new Validator().NotEmpty(txtDiscountLevelDisplayName.Text.Trim(), GetString("DiscountLevel_Edit.rfvDiscountLevelDisplayName.ErrorMessage")) .NotEmpty(txtDiscountLevelName.Text.Trim(), GetString("DiscountLevel_Edit.rfvDiscountLevelName.ErrorMessage")) .IsCodeName(txtDiscountLevelName.Text.Trim(), GetString("General.ErrorCodeNameInIdentifierFormat")) .NotEmpty(txtDiscountLevelValue.Text.Trim(), GetString("DiscountLevel_Edit.rfvDiscountLevelValue.ErrorMessage")).Result; // Is discount level name in code name format? if (errorMessage == "") { if (!ValidationHelper.IsCodeName(txtDiscountLevelName.Text.Trim())) { errorMessage = GetString("General.ErrorCodeNameInIdentifierFormat"); } } // Discount value validation if (errorMessage == "") { if (!ValidationHelper.IsInRange(0, 100, ValidationHelper.GetDouble(txtDiscountLevelValue.Text.Trim(), -1))) { errorMessage = GetString("Com.Error.RelativeDiscountValue"); } } // From/to date validation if (errorMessage == "") { if ((!dtPickerDiscountLevelValidTo.IsValidRange()) || (!dtPickerDiscountLevelValidFrom.IsValidRange())) { errorMessage = GetString("general.errorinvaliddatetimerange"); } if ((dtPickerDiscountLevelValidFrom.SelectedDateTime != DateTime.MinValue) && (dtPickerDiscountLevelValidTo.SelectedDateTime != DateTime.MinValue) && (dtPickerDiscountLevelValidFrom.SelectedDateTime >= dtPickerDiscountLevelValidTo.SelectedDateTime)) { errorMessage = GetString("General.DateOverlaps"); } } if (errorMessage == "") { // Discount level code name must be unique DiscountLevelInfo discountLevelObj = null; string siteWhere = (ConfiguredSiteID > 0) ? " AND (DiscountLevelSiteID = " + ConfiguredSiteID + " OR DiscountLevelSiteID IS NULL)" : ""; DataSet ds = DiscountLevelInfoProvider.GetDiscountLevels("DiscountLevelName = '" + txtDiscountLevelName.Text.Trim().Replace("'", "''") + "'" + siteWhere, null, 1, null); if (!DataHelper.DataSourceIsEmpty(ds)) { discountLevelObj = new DiscountLevelInfo(ds.Tables[0].Rows[0]); } if ((discountLevelObj == null) || (discountLevelObj.DiscountLevelID == mDiscountLevelId)) { // Get the object if (discountLevelObj == null) { discountLevelObj = DiscountLevelInfoProvider.GetDiscountLevelInfo(mDiscountLevelId); if (discountLevelObj == null) { discountLevelObj = new DiscountLevelInfo(); discountLevelObj.DiscountLevelSiteID = ConfiguredSiteID; } } // Set values discountLevelObj.DiscountLevelValidFrom = dtPickerDiscountLevelValidFrom.SelectedDateTime; discountLevelObj.DiscountLevelEnabled = chkDiscountLevelEnabled.Checked; discountLevelObj.DiscountLevelName = txtDiscountLevelName.Text.Trim(); discountLevelObj.DiscountLevelValue = Convert.ToDouble(txtDiscountLevelValue.Text.Trim()); discountLevelObj.DiscountLevelValidTo = dtPickerDiscountLevelValidTo.SelectedDateTime; discountLevelObj.DiscountLevelDisplayName = txtDiscountLevelDisplayName.Text.Trim(); // Save to the database DiscountLevelInfoProvider.SetDiscountLevelInfo(discountLevelObj); URLHelper.Redirect("DiscountLevel_Edit.aspx?discountLevelId=" + Convert.ToString(discountLevelObj.DiscountLevelID) + "&saved=1&siteId=" + SiteID); } else { // Show error message ShowError(GetString("DiscountLevel_Edit.DiscountLevelNameExists")); } } else { // Show error message ShowError(errorMessage); } } }