Example #1
0
        /// <summary>
        /// Prompt for return reason code and add to transaction.
        /// </summary>
        /// <param name="customerOrderTransaction">Transaction to update.</param>
        private static void ProcessReturnReasonCodes(CustomerOrderTransaction customerOrderTransaction)
        {
            if (customerOrderTransaction == null)
            {
                NetTracer.Warning("customerOrderTransaction parameter is null");
                throw new ArgumentNullException("customerOrderTransaction");
            }

            // Process codes only if it is a return order and has items selected.
            if (customerOrderTransaction.Mode == CustomerOrderMode.Return &&
                customerOrderTransaction.SaleItems != null &&
                customerOrderTransaction.SaleItems.Count > 0)
            {
                string       selectedValue;
                DialogResult dialogResult = SalesOrder.InternalApplication.Services.Dialog.GenericLookup(
                    SalesOrder.GetReturnReasonCodes() as IList,
                    "Description",
                    ApplicationLocalizer.Language.Translate(99524), // Return Reason
                    "ReasonCodeId",
                    out selectedValue, null);

                if (dialogResult == DialogResult.OK)
                {
                    customerOrderTransaction.ReturnReasonCodeId = selectedValue;
                }
            }
        }