/// <summary>
        /// Updates the sales order products price based on a change of the multi currency pricing value.
        /// The updated is based on the value changed divided by the exchange rate. This event is only
        /// called when multi-currency is enabled.
        /// </summary>
        /// <param name="form">the instance of the ICEditSalesOrderItem dialog</param>
        /// <param name="args">empty</param>
        public static void curMCCalcPrice_OnChangeStep(IICEditSalesOrderItem form, EventArgs args)
        {
            ISalesOrderItem salesOrderItem = form.CurrentEntity as ISalesOrderItem;

            if (salesOrderItem != null)
            {
                double exchangeRate = salesOrderItem.SalesOrder.ExchangeRate.HasValue
                                                                                ? salesOrderItem.SalesOrder.ExchangeRate.Value
                                                                                : 1;
                form.curMCCalcPrice.CurrentCode = salesOrderItem.SalesOrder.CurrencyCode;
                string price = String.IsNullOrEmpty(form.curMCCalcPrice.Text) ? "0" : form.curMCCalcPrice.Text;
                salesOrderItem.CalculatedPrice = (decimal?)(Convert.ToDouble(price) / exchangeRate);
                salesOrderItem.CalculateCalcPrice();
            }
        }