/// <summary> /// Checks payment methods. /// </summary> private void CheckPaymentMethods() { if (PaymentMethodsCheck) { // Get all payment options DataSet ds = PaymentOptionInfoProvider.GetPaymentOptions("PaymentOptionEnabled = 1", "PaymentOptionID", 0, "PaymentOptionID", CMSContext.CurrentSiteID); if (!DataHelper.DataSourceIsEmpty(ds)) { // Build where condition StringBuilder sb = new StringBuilder(); foreach (DataRow row in ds.Tables[0].Rows) { sb.Append(row["PaymentOptionID"] + ","); } sb.Remove(sb.Length - 1, 1); // Check if at least one is assigned to shipping method DataSet ds2 = PaymentShippingInfoProvider.GetPaymentShippings("PaymentOptionID IN (" + sb.ToString() + ")", null, 1, "PaymentOptionID"); if (DataHelper.DataSourceIsEmpty(ds2)) { DisplayMessage("com.settingschecker.nopaymentoptionsshippingmethod"); } } // If there is no Payment option, it shows error else { DisplayMessage("com.settingschecker.nopaymentoptions"); } } }
/// <summary> /// Checks payment methods. /// </summary> private void CheckPaymentMethods() { if (PaymentMethodsCheck) { // Get all payment options DataSet ds = PaymentOptionInfoProvider.GetPaymentOptions(SiteContext.CurrentSiteID, true).Column("PaymentOptionID").OrderBy("PaymentOptionID"); if (!DataHelper.DataSourceIsEmpty(ds)) { // Build where condition var paymentIds = DataHelper.GetIntegerValues(ds.Tables[0], "PaymentOptionID"); // Check if at least one is assigned to shipping method DataSet ds2 = PaymentShippingInfoProvider.GetPaymentShippings().TopN(1).Column("PaymentOptionID").WhereIn("PaymentOptionID", paymentIds); if (DataHelper.DataSourceIsEmpty(ds2)) { DisplayMessage("com.settingschecker.nopaymentoptionsshippingmethod"); } } // Show error if there is no payment option else { DisplayMessage("com.settingschecker.nopaymentoptions"); } } }
protected void SaveItems() { if (mShippingOptionInfoObj == null) { return; } // Check permissions CheckConfigurationModification(mShippingOptionInfoObj.ShippingOptionSiteID); // Remove old items string newValues = ValidationHelper.GetString(uniSelector.Value, null); string items = DataHelper.GetNewItemsInList(newValues, mCurrentValues); if (!String.IsNullOrEmpty(items)) { string[] newItems = items.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { // Add all new items to user foreach (string item in newItems) { int paymentId = ValidationHelper.GetInteger(item, 0); PaymentShippingInfoProvider.RemovePaymentFromShipping(paymentId, mShippingOptionId); } } } // Add new items items = DataHelper.GetNewItemsInList(mCurrentValues, newValues); if (!String.IsNullOrEmpty(items)) { string[] newItems = items.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { // Add all new items to user foreach (string item in newItems) { int paymentId = ValidationHelper.GetInteger(item, 0); PaymentShippingInfoProvider.AddPaymentToShipping(paymentId, mShippingOptionId); } } } lblInfo.Visible = true; lblInfo.Text = GetString("General.ChangesSaved"); }
protected void OnBeforeSave(object sender, EventArgs e) { if ((Order == null) || (ShippingAddressSelector == null) || (ShippingOptionSelector == null)) { return; } // Get current values int addressID = ValidationHelper.GetInteger(ShippingAddressSelector.Value, 0); int shippingOptionID = ValidationHelper.GetInteger(ShippingOptionSelector.Value, 0); // Is shipping needed? bool isShippingNeeded = ((ShoppingCartFromOrder != null) && ShoppingCartFromOrder.IsShippingNeeded); // If shipping address is required if (isShippingNeeded || IsTaxBasedOnShippingAddress) { // If shipping address is not set if (addressID <= 0) { // Show error message ShowError(GetString("Order_Edit_Shipping.NoAddress")); return; } } try { // Shipping option changed if ((ShoppingCartFromOrder != null) && (Order.OrderShippingOptionID != shippingOptionID)) { // Shipping option and payment method combination is not allowed if (PaymentShippingInfoProvider.GetPaymentShippingInfo(Order.OrderPaymentOptionID, shippingOptionID) == null) { PaymentOptionInfo payment = PaymentOptionInfoProvider.GetPaymentOptionInfo(Order.OrderPaymentOptionID); // Check if payment is allowed with no shipping if ((payment != null) && !(payment.PaymentOptionAllowIfNoShipping && shippingOptionID == 0)) { // Set payment method to none and display warning ShoppingCartFromOrder.ShoppingCartPaymentOptionID = 0; string paymentMethodName = ResHelper.LocalizeString(payment.PaymentOptionDisplayName, null, true); string shippingOptionName = HTMLHelper.HTMLEncode(ShippingOptionSelector.ValueDisplayName); ShowWarning(String.Format(ResHelper.GetString("com.shippingoption.paymentsetnone"), paymentMethodName, shippingOptionName)); } } // Set order new properties ShoppingCartFromOrder.ShoppingCartShippingOptionID = shippingOptionID; // Evaluate order data ShoppingCartInfoProvider.EvaluateShoppingCart(ShoppingCartFromOrder); // Update order data ShoppingCartInfoProvider.SetOrder(ShoppingCartFromOrder, true); } // Update tracking number Order.OrderTrackingNumber = ValidationHelper.GetString(orderShippingForm.FieldEditingControls["OrderTrackingNumber"].DataValue, String.Empty).Trim(); OrderInfoProvider.SetOrderInfo(Order); // Show message ShowChangesSaved(); // Stop automatic saving action orderShippingForm.StopProcessing = true; } catch (Exception ex) { // Show error message ShowError(ex.Message); } }