/// <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; } } }