/// <summary> /// Pays the specified order with a fictitious response. /// </summary> /// <param name="response">Fictitious response about payment.</param> private void Validate(ResponseViewModel response) { //DocSection:PaymentValidation if (response != null) { // Gets the order based on the invoice number from the response OrderInfo order = OrderInfoProvider.GetOrderInfo(response.InvoiceNo); if (order?.OrderSiteID != SiteContext.CurrentSiteID) { order = null; } // Checks whether the paid amount of money matches the order price // and whether the payment was approved if (order != null && response.Amount == order.OrderTotalPrice && response.Approved) { // Creates a payment result object that will be viewable in Kentico PaymentResultInfo result = new PaymentResultInfo { PaymentDate = DateTime.Now, PaymentDescription = response.Message, PaymentIsCompleted = response.Completed, PaymentTransactionID = response.TransactionID, PaymentStatusValue = response.ResponseCode, PaymentMethodName = "PaymentName" }; // Saves the payment result to the database order.UpdateOrderStatus(result); } } //EndDocSection:PaymentValidation }
protected void RptCommandeItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { var itemRepeater = e.Item.FindControl("rptItem") as Repeater; if (itemRepeater != null) { var commande = (DataRowView)e.Item.DataItem; if (commande != null) { var commandeId = (int)commande["OrderID"]; var filtre = String.Format("OrderItemOrderID = {0}", commandeId); var dsItem = OrderItemInfoProvider.GetOrderItems(filtre, "", 100, ""); itemRepeater.DataSource = dsItem.Tables[0]; itemRepeater.DataBind(); // OrderItemInfo oii = new OrderItemInfo(); var orderInfo = OrderInfoProvider.GetOrderInfo(commandeId); var status = orderInfo.GetValue("OrderStatus") != null ? (string)orderInfo.GetValue("OrderStatus") : String.Empty; if (status == "0") { var button = e.Item.FindControl("lnkPayer") as LinkButton; if (button != null) { button.Visible = true; } } } } } }
private void DeleteOrder() { // Prepare the parameters //string where = "CustomerLastName LIKE N'My New Registered%'"; CustomerInfo customer = null; // Get the customer DataSet customers = CustomerInfoProvider.GetCustomers(null, null); if (!DataHelper.DataSourceIsEmpty(customers)) { // Create object from DataRow customer = new CustomerInfo(customers.Tables[0].Rows[0]); } if (customer != null) { // string whereOrder = "OrderCustomerID='" + customer.CustomerID + "'"; // Get the order DataSet orders = OrderInfoProvider.GetOrders(null, null); if (!DataHelper.DataSourceIsEmpty(orders)) { // Create object from DataRow // OrderInfo order = new OrderInfo(orders.Tables[0].Rows[0]); foreach (DataRow userDr in orders.Tables[0].Rows) { OrderInfo order = new OrderInfo(userDr); // Delete the order OrderInfoProvider.DeleteOrderInfo(order); } } } }
public ActionResult Collection(string shoukuanid, string shoukuanshijian, string shoukuanxiangqing) { if (!string.IsNullOrEmpty(shoukuanid)) { var userprovider = new UserLoginProvider(); var _user = userprovider.GetUser(User.Identity.Name); if (_user.RuleType.Equals(RuleTypeEnum.Agents.ToString()) || _user.RuleType.Equals(RuleTypeEnum.Admin.ToString())) { var orderprovider = new OrderInfoProvider(); var order = orderprovider.GetOrderInfoById(Convert.ToInt16(shoukuanid)); if (order != null && order.PayStatus < (int)OrderPayStatusEnum.Recivied) { var alog = new SysActionLog(); alog.ActionDate = Convert.ToDateTime(shoukuanshijian); alog.ActionDesc = shoukuanxiangqing.Trim(); alog.LogType = (int)ActionLogTypeEnum.PayAction; alog.OrderId = order.Id; alog.UserId = _user.Id; alog.CreateDate = DateTime.Now; alog.IsDelete = false; var i = DALFactory.ActionLogDao.Insert(alog); if (i > 0) { order.PayStatus = (int)OrderPayStatusEnum.Recivied; orderprovider.UpdateOrderInfo(order); } } } } return(Content("ok")); }
protected void Page_Load(object sender, EventArgs e) { // Register the dialog script ScriptHelper.RegisterClientScriptBlock(this, typeof(string), ScriptHelper.NEWWINDOW_SCRIPT_KEY, ScriptHelper.NewWindowScript); lblInvoiceNumber.Text = GetString("order_invoice.lblInvoiceNumber"); btnGenerate.Text = GetString("order_invoice.btnGenerate"); btnPrintPreview.Text = GetString("order_invoice.btnPrintPreview"); if (QueryHelper.GetInteger("orderid", 0) != 0) { orderId = QueryHelper.GetInteger("orderid", 0); } order = OrderInfoProvider.GetOrderInfo(orderId); if (order == null) { btnGenerate.Enabled = false; btnPrintPreview.Enabled = false; return; } else { // Check order site ID CheckOrderSiteID(order.OrderSiteID); } ltlScript.Text = ScriptHelper.GetScript("function showPrintPreview() { NewWindow('Order_Edit_InvoicePrint.aspx?orderid=" + orderId + "', 'InvoicePrint', 650, 700);}"); if (!RequestHelper.IsPostBack()) { txtInvoiceNumber.Text = order.OrderInvoiceNumber; lblInvoice.Text = URLHelper.MakeLinksAbsolute(order.OrderInvoice); } }
public ActionResult EditOrder(string orderId, string sjjg, string hwsjzl, string hwsjtjzl, string ddsjjg, string csjzl, string csjjg) { if (!string.IsNullOrEmpty(orderId)) { var orderPrivder = new OrderInfoProvider(); var order = orderPrivder.GetOrderInfoById(Convert.ToInt64(orderId)); if (order != null) { order.OrderRealPrice = Convert.ToDecimal(sjjg); order.Status = (int)OrderStatusEnum.Processed; var i = orderPrivder.UpdateOrderInfo(order); if (i > 0) { var addressinfo = orderPrivder.GetAddressInfoByOid(order.Id); if (addressinfo != null) { addressinfo.GoodsRealWeight = Convert.ToDecimal(hwsjzl); addressinfo.GoodsVolumeWeight = Convert.ToDecimal(hwsjtjzl); addressinfo.AddressRealPrice = Convert.ToDecimal(ddsjjg); orderPrivder.UpdateAddressInfo(addressinfo); } var rec = orderPrivder.GetReceiverInfo(order.Id); if (rec != null) { rec.RealWeight = Convert.ToDecimal(csjzl); rec.RealPrice = Convert.ToDecimal(csjjg); orderPrivder.UpdateReceiverInfo(rec); } } } } return(Content("ok")); }
protected override void OnInit(EventArgs e) { base.OnInit(e); // Set edit mode orderId = QueryHelper.GetInteger("orderId", 0); if (orderId > 0) { OrderInfo oi = OrderInfoProvider.GetOrderInfo(orderId); if (oi != null) { // Check order site ID CheckOrderSiteID(oi.OrderSiteID); } formOrderCustomFields.Info = oi; EditedObject = formOrderCustomFields.Info; formOrderCustomFields.OnAfterValidate += formOrderCustomFields_OnAfterValidate; formOrderCustomFields.OnAfterSave += formOrderCustomFields_OnAfterSave; } else { formOrderCustomFields.Enabled = false; } }
protected override void OnInit(EventArgs e) { base.OnInit(e); if (!CMSContext.CurrentUser.IsAuthorizedPerUIElement("CMS.Ecommerce", "Orders.CustomFields")) { RedirectToCMSDeskUIElementAccessDenied("CMS.Ecommerce", "Orders.CustomFields"); } // set edit mode orderId = QueryHelper.GetInteger("orderId", 0); if (orderId > 0) { OrderInfo oi = OrderInfoProvider.GetOrderInfo(orderId); if (oi != null) { // Check order site ID CheckOrderSiteID(oi.OrderSiteID); } formOrderCustomFields.Info = oi; EditedObject = formOrderCustomFields.Info; formOrderCustomFields.OnBeforeSave += formOrderCustomFields_OnBeforeSave; formOrderCustomFields.OnAfterSave += formOrderCustomFields_OnAfterSave; } else { formOrderCustomFields.Enabled = false; } }
protected void btnProcessPayment_Click(object sender, EventArgs e) { if ((PaymentGatewayProvider != null) && (orderId > 0)) { OrderInfo order = OrderInfoProvider.GetOrders() .WhereEquals("OrderID", orderId) .FirstObject; CustomerInfo customer = CustomerInfoProvider.GetCustomers() .WhereEquals("CustomerID", order.OrderCustomerID) .FirstObject; //AddressInfo address = AddressInfoProvider.GetAddresses() // .WhereEquals("AddressCustomerID", order.OrderBillingAddress) // .FirstObject; try { ltrPayPalForm.Text = GeneratePayPalToken(order, customer); } catch (Exception ex) { Response.Write(ex.InnerException); } } }
protected override void OnPreRender(EventArgs e) { // Get order information OrderInfo oi = OrderInfoProvider.GetOrderInfo(orderId); if (oi != null) { // Register client script string script = String.Format("var originalOrderIsPaid = {0};", oi.OrderIsPaid.ToString().ToLowerCSafe()); ScriptHelper.RegisterClientScriptBlock(Page, typeof(string), "StoreOriginalOrderIsPaidValue", ScriptHelper.GetScript(script)); // If order is paid if (oi.OrderIsPaid) { enabled = false; } // If order is paid changed else if (orderIsPaidChanged) { enabled = true; } } // Set enabled to specific controls drpPayment.Enabled = enabled; drpCurrency.Enabled = enabled; addressElem.Enabled = enabled; btnNew.Enabled = enabled; // Enable edit address only if address selected btnEdit.Enabled = (enabled) ? (addressElem.AddressID != 0) : false; base.OnPreRender(e); }
protected System.Collections.Generic.IList <ProductBookModel> GetDownLoadFile(int orderId) { var oi = OrderInfoProvider.GetOrderInfo(orderId); DataSet ds = OrderItemSKUFileInfoProvider.GetOrderItemSKUFiles(orderId); if (!DataHelper.DataSourceIsEmpty(ds) && oi != null && oi.OrderIsPaid) { IList <ProductBookModel> list = new List <ProductBookModel>(); foreach (DataRow reader in ds.Tables[0].Rows) { string myFileUrl = URLHelper.ResolveUrl( OrderItemSKUFileInfoProvider.GetOrderItemSKUFileUrl( ValidationHelper.GetGuid(reader["Token"], Guid.Empty), ValidationHelper.GetString(reader["FileName"], string.Empty), ValidationHelper.GetInteger(reader["OrderSiteID"], 0))); if (!string.IsNullOrEmpty(myFileUrl)) { string myFileName = ValidationHelper.GetString(reader["FileName"], string.Empty); string myPName = HTMLHelper.HTMLEncode( ResHelper.LocalizeString(ValidationHelper.GetString(reader["OrderItemSKUName"], null))); var model = new ProductBookModel() { filename = myFileName, fileUrl = String.Format("<a href=\"{0}\" target=\"_blank\">{1}</a>)", myFileUrl, HTMLHelper.HTMLEncode(myFileName)), productname = myPName }; list.Add(model); } } return(list); } return(null); }
protected ProductModel GetDownLoadFile(int orderId) { var oi = OrderInfoProvider.GetOrderInfo(orderId); DataSet ds = OrderItemSKUFileInfoProvider.GetOrderItemSKUFiles(orderId); if (!DataHelper.DataSourceIsEmpty(ds) && oi.OrderIsPaid) { foreach (DataRow reader in ds.Tables[0].Rows) { string myFileUrl = URLHelper.ResolveUrl( OrderItemSKUFileInfoProvider.GetOrderItemSKUFileUrl( ValidationHelper.GetGuid(reader["Token"], Guid.Empty), ValidationHelper.GetString(reader["FileName"], string.Empty), ValidationHelper.GetInteger(reader["OrderSiteID"], 0))); if (!string.IsNullOrEmpty(myFileUrl)) { string myFileName = ValidationHelper.GetString(reader["FileName"], string.Empty); string myPName = HTMLHelper.HTMLEncode( ResHelper.LocalizeString(ValidationHelper.GetString(reader["OrderItemSKUName"], null))); var model = new ProductModel() { filename = myFileName, fileUrl = String.Format("<a class='btndownl' href=\"{0}\" target=\"_blank\">{1}</a>", myFileUrl, "Télécharger"), productname = myPName }; return(model); } } } return(null); }
/// <summary> /// Fictitious method for creating a payment response information and paying the order. /// </summary> /// <param name="orderID">ID of the paid order.</param> public ActionResult Index(int orderID) { // Gets the order OrderInfo order = OrderInfoProvider.GetOrderInfo(orderID); // Validates the retrieved order if (order?.OrderSiteID != SiteContext.CurrentSiteID) { // Redirects back to the order review step if validation fails return(RedirectToAction("PreviewAndPay")); } // Creates a fictitious response ResponseViewModel response = new ResponseViewModel() { InvoiceNo = order.OrderID, Message = "Successfully paid", Completed = true, TransactionID = new Random().Next(100000, 200000).ToString(), Amount = order.OrderTotalPrice, ResponseCode = "", Approved = true }; // Validates the response and pays the order Validate(response); // Redirects to the thank-you page return(RedirectToAction("ThankYou", "Checkout", new { OrderID = orderID })); }
protected void Page_Load(object sender, EventArgs e) { // Get order OrderInfo oi = OrderInfoProvider.GetOrderInfo(orderId); if (oi != null) { // Get customer for current user CustomerInfo customer = CustomerInfoProvider.GetCustomerInfoByUserID(MembershipContext.AuthenticatedUser.UserID); // If order does not belong to current user if ((customer == null) || ((customer != null) && (oi.OrderCustomerID != customer.CustomerID))) { // Redirect to access denied page URLHelper.Redirect("~/CMSMessages/AccessDeniedToPage.aspx"); } } else { // Redirect to error page URLHelper.Redirect(UIHelper.GetErrorPageUrl("com.downloadsdialog.ordernotfoundtitle", "com.downloadsdialog.ordernotfoundtext")); } // Initialize close button btnClose.Text = GetString("general.close"); // Initialize unigrid downloadsGridElem.ZeroRowsText = GetString("com.downloadsdialog.nodownloadsfound"); downloadsGridElem.OnDataReload += downloadsGridElem_OnDataReload; downloadsGridElem.OnExternalDataBound += downloadsGridElem_OnExternalDataBound; }
protected void btnGenerate_Click(object sender, EventArgs e) { // check 'EcommerceModify' permission if (!ECommerceContext.IsUserAuthorizedForPermission("ModifyOrders")) { RedirectToAccessDenied("CMS.Ecommerce", "EcommerceModify OR ModifyOrders"); } // Save updated order invoice number // order.OrderInvoiceNumber = txtInvoiceNumber.Text; order.SetValue("facture", txtInvoiceNumber.Text); OrderInfoProvider.SetOrderInfo(order); // Generate and display new invoice string invoice = OrderInfoProvider.GetInvoice(orderId); lblInvoice.Text = URLHelper.MakeLinksAbsolute(invoice); // Save new invoice order.OrderInvoice = invoice; OrderInfoProvider.SetOrderInfo(order); // Show message ShowChangesSaved(); }
/// <summary> /// Saving billing requires recalculation of order. Save action is executed by this custom code. /// </summary> protected void editOrderBilling_OnBeforeSave(object sender, EventArgs e) { // Load the shopping cart to process the data ShoppingCartInfo sci = ShoppingCartInfoProvider.GetShoppingCartInfoFromOrder(Order.OrderID); // Update data only if shopping cart data were changed int paymentID = ValidationHelper.GetInteger(editOrderBilling.FieldEditingControls["OrderPaymentOptionID"].DataValue, 0); int currencyID = ValidationHelper.GetInteger(editOrderBilling.FieldEditingControls["OrderCurrencyID"].DataValue, 0); // Recalculate order if ((sci != null) && ((sci.ShoppingCartPaymentOptionID != paymentID) || (sci.ShoppingCartCurrencyID != currencyID))) { // Set order new properties sci.ShoppingCartPaymentOptionID = paymentID; sci.ShoppingCartCurrencyID = currencyID; // Evaluate order data ShoppingCartInfoProvider.EvaluateShoppingCart(sci); // Update order data ShoppingCartInfoProvider.SetOrder(sci, true); } // Update only one order property if (Order.OrderIsPaid != OrderIsPaid) { Order.OrderIsPaid = OrderIsPaid; OrderInfoProvider.SetOrderInfo(Order); } ShowChangesSaved(); // Stop automatic saving action editOrderBilling.StopProcessing = true; }
public void EmptyCart_CreateOrder_SetsCustomer() { var cart = CreateCartWithCustomerInfo(Factory.CustomerAnonymous, Factory.CustomerAddressUSA); var order = ShoppingService.CreateOrder(cart); var orderInfo = OrderInfoProvider.GetOrderInfo(order.OrderID); Assert.AreEqual(Factory.CustomerAnonymous.CustomerID, orderInfo.OrderCustomerID); }
private void SendOrderNotifications(ShoppingCart cart) { if (ECommerceSettings.SendOrderNotification(SiteName)) { OrderInfoProvider.SendOrderNotificationToAdministrator(cart.OriginalCart); OrderInfoProvider.SendOrderNotificationToCustomer(cart.OriginalCart); } }
/// <summary> /// Handles the grid's OnAction event. /// </summary> /// <param name="actionName">Name of item (button) that throws event</param> /// <param name="actionArgument">ID (value of Primary key) of corresponding data row</param> protected void gridElem_OnAction(string actionName, object actionArgument) { int orderId = ValidationHelper.GetInteger(actionArgument, 0); OrderInfo oi = null; OrderStatusInfo osi = null; switch (actionName.ToLowerCSafe()) { case "edit": string redirectToUrl = UIContextHelper.GetElementUrl(ModuleName.ECOMMERCE, "OrderProperties", false, orderId); if (customerId > 0) { redirectToUrl += "&customerId=" + customerId; } URLHelper.Redirect(redirectToUrl); break; case "previous": // Check 'ModifyOrders' and 'EcommerceModify' permission if (!ECommerceContext.IsUserAuthorizedForPermission(EcommercePermissions.ORDERS_MODIFY)) { AccessDenied(ModuleName.ECOMMERCE, "EcommerceModify OR ModifyOrders"); } oi = OrderInfoProvider.GetOrderInfo(orderId); if (oi != null) { osi = OrderStatusInfoProvider.GetPreviousEnabledStatus(oi.OrderStatusID); if (osi != null) { oi.OrderStatusID = osi.StatusID; // Save order status changes OrderInfoProvider.SetOrderInfo(oi); } } break; case "next": // Check 'ModifyOrders' and 'EcommerceModify' permission if (!ECommerceContext.IsUserAuthorizedForPermission(EcommercePermissions.ORDERS_MODIFY)) { AccessDenied(ModuleName.ECOMMERCE, "EcommerceModify OR ModifyOrders"); } oi = OrderInfoProvider.GetOrderInfo(orderId); if (oi != null) { osi = OrderStatusInfoProvider.GetNextEnabledStatus(oi.OrderStatusID); if (osi != null) { oi.OrderStatusID = osi.StatusID; // Save order status changes OrderInfoProvider.SetOrderInfo(oi); } } break; } }
/// <summary> /// Saves order information from ShoppingCartInfo object to database as new order. /// </summary> public override bool ProcessStep() { // Load first step if there is no address if (ShoppingCart.ShoppingCartBillingAddress == null) { ShoppingCartControl.LoadStep(0); return(false); } // Deal with order note ShoppingCartControl.SetTempValue(ORDER_NOTE, null); ShoppingCart.ShoppingCartNote = TextHelper.LimitLength(txtNote.Text.Trim(), txtNote.MaxLength); try { // Set order culture ShoppingCart.ShoppingCartCulture = LocalizationContext.PreferredCultureCode; // Create order ShoppingCartInfoProvider.SetOrder(ShoppingCart); } catch (Exception ex) { // Show error lblError.Text = GetString("Ecommerce.OrderPreview.ErrorOrderSave"); // Log exception Service.Resolve <IEventLogService>().LogException("Shopping cart", "SAVEORDER", ex, ShoppingCart.ShoppingCartSiteID); return(false); } // Track order activity string siteName = SiteContext.CurrentSiteName; if (LogActivityForCustomer) { var mainCurrency = CurrencyInfoProvider.GetMainCurrency(ShoppingCart.ShoppingCartSiteID); var grandTotalInMainCurrency = Service.Resolve <ICurrencyConverterService>().Convert(ShoppingCart.GrandTotal, ShoppingCart.Currency.CurrencyCode, mainCurrency.CurrencyCode, ShoppingCart.ShoppingCartSiteID); var formattedPrice = CurrencyInfoProvider.GetFormattedPrice(grandTotalInMainCurrency, mainCurrency); ShoppingCartControl.TrackActivityPurchasedProducts(ShoppingCart, siteName, ContactID); ShoppingCartControl.TrackActivityPurchase(ShoppingCart.OrderId, ContactID, SiteContext.CurrentSiteName, RequestContext.CurrentRelativePath, grandTotalInMainCurrency, formattedPrice); } // Raise finish order event ShoppingCartControl.RaiseOrderCompletedEvent(); if (chkSendEmail.Checked) { // Send order notification emails OrderInfoProvider.SendOrderNotificationToAdministrator(ShoppingCart); OrderInfoProvider.SendOrderNotificationToCustomer(ShoppingCart); } return(true); }
private static void HandleOrderNotification(ShoppingCartInfo shoppingCart) { if (ECommerceSettings.SendOrderNotification(shoppingCart.SiteName)) { // Send order notification emails OrderInfoProvider.SendOrderNotificationToAdministrator(shoppingCart); OrderInfoProvider.SendOrderNotificationToCustomer(shoppingCart); } }
public void CartWithoutShipping_CreateOrder_SetsNoShippingOption() { var cart = CreateCartWithCustomerInfo(Factory.CustomerAnonymous, Factory.CustomerAddressUSA); var order = ShoppingService.CreateOrder(cart); var orderInfo = OrderInfoProvider.GetOrderInfo(order.OrderID); Assert.That(orderInfo.OrderShippingOptionID == 0, "Order shipping option is set"); }
/// <summary> /// Returns an enumerable collection of TopN orders of the given customer ordered by OrderDate descending. /// </summary> /// <param name="customerId">Customer's identifier.</param> /// <param name="count">Number of retrieved orders. Using 0 returns all records.</param> /// <returns>Collection of the customer's orders. See <see cref="OrderInfo"/> for detailed information.</returns> public IEnumerable <OrderInfo> GetByCustomerId(int customerId, int count = 0) { var orders = OrderInfoProvider.GetOrders(SiteID) .WhereEquals("OrderCustomerID", customerId) .TopN(count) .OrderByDescending(orderInfo => orderInfo.OrderDate) .ToList(); return(orders); }
protected void Page_Load(object sender, EventArgs e) { int orderId = QueryHelper.GetInteger("orderid", 0); OrderInfo order = OrderInfoProvider.GetOrderInfo(orderId); if (order != null) { lblInvoice.Text = URLHelper.MakeLinksAbsolute(order.OrderInvoice); } }
public ActionResult MarkOrderAsPaid(string textBoxValue) { // Gets the order based on the entered order ID OrderInfo order = GetOrder(textBoxValue); // Sets the order as paid order.OrderIsPaid = true; OrderInfoProvider.SetOrderInfo(order); return(RedirectToAction("OrderDetail")); }
protected void btnDeleteClick(object sender, EventArgs e) { if (OrderInfoProvider.DeleteData()) { ShowConfirmation(GetString("com.reports.datadeleted")); } else { ShowError(GetString("com.reports.operationFailed")); } }
/// <summary> /// Returns an order with the specified identifier. /// </summary> /// <param name="orderId">Order's identifier.</param> /// <returns><see cref="OrderInfo"/> object representing an order with the specified identifier. Returns <c>null</c> if not found.</returns> public OrderInfo GetById(int orderId) { var orderInfo = OrderInfoProvider.GetOrderInfo(orderId); if (orderInfo == null || orderInfo.OrderSiteID != SiteID) { return(null); } return(orderInfo); }
protected void Page_Load(object sender, EventArgs e) { int orderId = QueryHelper.GetInteger("orderid", 0); OrderInfo order = OrderInfoProvider.GetOrderInfo(orderId); if (order != null) { //lblInvoice.Text = URLHelper.MakeLinksAbsolute(order.OrderInvoice); lblInvoice.Text = GetAndBulkUpdateAddresses(order.OrderShippingAddressID, order.OrderCustomerID, order.OrderID); } }
/// <summary> /// Saving billing requires recalculation of order. Save action is executed by this custom code. /// </summary> protected void editOrderBilling_OnBeforeSave(object sender, EventArgs e) { // Load original data var origPaymentID = OrderInfoProvider.GetOrders(Order.OrderSiteID).Columns("OrderPaymentOptionID").WhereEquals("OrderID", Order.OrderID) .GetListResult <int>().FirstOrDefault(); // Update data only if shopping cart data were changed var paymentID = ValidationHelper.GetInteger(editOrderBilling.FieldEditingControls["OrderPaymentOptionID"].DataValue, 0); // Check if recalculate order is needed mRecalculateOrder = origPaymentID != paymentID; }
/// <summary> /// Clean up current order payment result. /// </summary> private void CleanUpOrderPaymentResult() { if (ShoppingCart != null) { OrderInfo oi = OrderInfoProvider.GetOrderInfo(ShoppingCart.OrderId); if (oi != null) { oi.OrderPaymentResult = null; OrderInfoProvider.SetOrderInfo(oi); } } }