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.Ecommerce; using CMS.GlobalHelper; using CMS.UIControls; using CMS.SettingsProvider; using CMS.SiteProvider; // Edited object [EditedObject(PredefinedObjectType.PAYMENTOPTION, "paymentOptionId")] // Title [Title("Objects/Ecommerce_PaymentOption/object.png", "PaymentOption_Edit.HeaderCaption", "newedit_payment_method", ExistingObject = true)] [Title("Objects/Ecommerce_PaymentOption/new.png", "PaymentOption_New.HeaderCaption", "newedit_payment_method", NewObject = true)] public partial class CMSModules_Ecommerce_Pages_Tools_Configuration_PaymentOptions_PaymentOption_Edit : CMSPaymentMethodsPage { protected int mPaymentOptionId = 0; protected int mSiteId = -1; protected void Page_Load(object sender, EventArgs e) { // Field validator error messages initialization rfvDisplayName.ErrorMessage = GetString("paymentoption_edit.errorEmptyDisplayName"); rfvCodeName.ErrorMessage = GetString("paymentoption_edit.errorEmptyCodeName"); string currentPaymentOption = GetString("PaymentOption_Edit.NewItemCaption"); // Get paymentOption id from querystring mPaymentOptionId = QueryHelper.GetInteger("paymentOptionId", 0); mSiteId = ConfiguredSiteID; if (mPaymentOptionId > 0) { PaymentOptionInfo paymentOptionObj = EditedObject as PaymentOptionInfo; if (paymentOptionObj != null) { currentPaymentOption = ResHelper.LocalizeString(paymentOptionObj.PaymentOptionDisplayName); mSiteId = paymentOptionObj.PaymentOptionSiteID; CheckEditedObjectSiteID(mSiteId); // Fill editing form if (!RequestHelper.IsPostBack()) { LoadData(paymentOptionObj); // Show that the paymentOption was created or updated successfully if (QueryHelper.GetString("saved", "") == "1") { // Show message ShowChangesSaved(); } } } } // Init file uploader file.ObjectID = mPaymentOptionId; file.ObjectType = ECommerceObjectType.PAYMENTOPTION; file.Category = MetaFileInfoProvider.OBJECT_CATEGORY_THUMBNAIL; file.SiteID = mSiteId; succeededElem.SiteID = mSiteId; failedElem.SiteID = mSiteId; // Initializes page title control string[,] pageTitleTabs = new string[2, 3]; pageTitleTabs[0, 0] = GetString("PaymentOption_Edit.ItemListLink"); pageTitleTabs[0, 1] = "~/CMSModules/Ecommerce/Pages/Tools/Configuration/PaymentOptions/PaymentOption_List.aspx?siteId=" + SiteID; pageTitleTabs[0, 2] = ""; pageTitleTabs[1, 0] = FormatBreadcrumbObjectName(currentPaymentOption, mSiteId); pageTitleTabs[1, 1] = ""; pageTitleTabs[1, 2] = ""; CurrentMaster.Title.Breadcrumbs = pageTitleTabs; } /// /// Load data of editing paymentOption. /// /// PaymentOption object protected void LoadData(PaymentOptionInfo paymentOptionObj) { txtPaymentOptionName.Text = paymentOptionObj.PaymentOptionName; chkPaymentOptionEnabled.Checked = paymentOptionObj.PaymentOptionEnabled; txtPaymentOptionDisplayName.Text = paymentOptionObj.PaymentOptionDisplayName; txtDescription.Text = paymentOptionObj.PaymentOptionDescription; txtGateUrl.Text = paymentOptionObj.PaymentOptionPaymentGateUrl; txtPaymentAssemblyName.Text = paymentOptionObj.PaymentOptionAssemblyName; txtPaymentClassName.Text = paymentOptionObj.PaymentOptionClassName; succeededElem.OrderStatusID = paymentOptionObj.PaymentOptionSucceededOrderStatusID; failedElem.OrderStatusID = paymentOptionObj.PaymentOptionFailedOrderStatusID; chkAllowIfNoShipping.Checked = paymentOptionObj.PaymentOptionAllowIfNoShipping; } /// /// Sets data to database. /// protected void btnOK_Click(object sender, EventArgs e) { // Check input values from textboxes and other contrlos string errorMessage = new Validator() .NotEmpty(txtPaymentOptionDisplayName.Text.Trim(), GetString("paymentoption_edit.errorEmptyDisplayName")) .NotEmpty(txtPaymentOptionName.Text.Trim(), GetString("paymentoption_edit.errorEmptyCodeName")).Result; if (!ValidationHelper.IsCodeName(txtPaymentOptionName.Text.Trim())) { errorMessage = GetString("General.ErrorCodeNameInIdentifierFormat"); } if (errorMessage == "") { // PaymentOptionName must be unique PaymentOptionInfo paymentOptionObj = null; string siteWhere = (mSiteId > 0) ? " AND (PaymentOptionSiteID = " + mSiteId + " OR PaymentOptionSiteID IS NULL)" : ""; DataSet ds = PaymentOptionInfoProvider.GetPaymentOptions("PaymentOptionName = '" + txtPaymentOptionName.Text.Trim().Replace("'", "''") + "'" + siteWhere, null, 1, null); if (!DataHelper.DataSourceIsEmpty(ds)) { paymentOptionObj = new PaymentOptionInfo(ds.Tables[0].Rows[0]); } if ((paymentOptionObj == null) || (paymentOptionObj.PaymentOptionID == mPaymentOptionId)) { // Get the object if (paymentOptionObj == null) { paymentOptionObj = PaymentOptionInfoProvider.GetPaymentOptionInfo(mPaymentOptionId); if (paymentOptionObj == null) { paymentOptionObj = new PaymentOptionInfo(); paymentOptionObj.PaymentOptionSiteID = mSiteId; } } // Fill object paymentOptionObj.PaymentOptionID = mPaymentOptionId; paymentOptionObj.PaymentOptionDisplayName = txtPaymentOptionDisplayName.Text.Trim(); paymentOptionObj.PaymentOptionDescription = txtDescription.Text.Trim(); paymentOptionObj.PaymentOptionName = txtPaymentOptionName.Text.Trim(); paymentOptionObj.PaymentOptionEnabled = chkPaymentOptionEnabled.Checked; paymentOptionObj.PaymentOptionPaymentGateUrl = txtGateUrl.Text.Trim(); paymentOptionObj.PaymentOptionClassName = txtPaymentClassName.Text.Trim(); paymentOptionObj.PaymentOptionAssemblyName = txtPaymentAssemblyName.Text.Trim(); paymentOptionObj.PaymentOptionSucceededOrderStatusID = succeededElem.OrderStatusID; paymentOptionObj.PaymentOptionFailedOrderStatusID = failedElem.OrderStatusID; paymentOptionObj.PaymentOptionAllowIfNoShipping = chkAllowIfNoShipping.Checked; CheckConfigurationModification(paymentOptionObj.PaymentOptionSiteID); bool isNew = (paymentOptionObj.PaymentOptionID <= 0); PaymentOptionInfoProvider.SetPaymentOptionInfo(paymentOptionObj); // Upload image teaser if (isNew) { file.ObjectID = paymentOptionObj.PaymentOptionID; file.UploadFile(); } URLHelper.Redirect("PaymentOption_Edit.aspx?paymentOptionId=" + Convert.ToString(paymentOptionObj.PaymentOptionID) + "&saved=1&siteId=" + SiteID); } else { // Show error message ShowError(GetString("PaymentOption_Edit.PaymentOptionNameExists")); } } else { // Show error message ShowError(errorMessage); } } }