コード例 #1
0
            /// <summary>
            /// Executes the specified request for the totaling service.
            /// </summary>
            /// <param name="request">The request object.</param>
            /// <returns>The response object.</returns>
            public Response Execute(Request request)
            {
                if (request == null)
                {
                    throw new ArgumentNullException("request");
                }

                Response response;
                Type     requestType = request.GetType();

                if (requestType == typeof(CalculateTotalsServiceRequest))
                {
                    response = CalculateTotals((CalculateTotalsServiceRequest)request);
                }
                else if (requestType == typeof(CalculateAmountPaidAndDueServiceRequest))
                {
                    response = CalculateAmountPaidAndDue((CalculateAmountPaidAndDueServiceRequest)request);
                }
                else if (requestType == typeof(CalculateDepositServiceRequest))
                {
                    response = CalculateDeposit((CalculateDepositServiceRequest)request);
                }
                else if (requestType == typeof(GetCustomerOrderCalculationModesServiceRequest))
                {
                    response = CalculationModesHelper.GetCalculationModes((GetCustomerOrderCalculationModesServiceRequest)request);
                }
                else
                {
                    throw new NotSupportedException(string.Format(CultureInfo.InvariantCulture, "Request '{0}' is not supported.", request.GetType()));
                }

                return(response);
            }
            /// <summary>
            /// Processes the requests.
            /// </summary>
            /// <param name="request">The request.</param>
            /// <returns>The response.</returns>
            public Response Execute(Request request)
            {
                Response response;
                GetCustomerOrderCalculationModesServiceRequest getCustomerOrderCalculationModesServiceRequest;

                if ((request as SaveCustomerOrderRealtimeRequest) != null)
                {
                    NetTracer.Information("CustomerOrderService.ExecuteRequest(): SaveCustomerOrderServiceRequest");
                    response = SaveCustomerOrder();
                }
                else if ((request as RecallCustomerOrderRealtimeRequest) != null)
                {
                    NetTracer.Information("CustomerOrderService.ExecuteRequest(): RecallCustomerOrderServiceRequest");
                    response = RecallCustomerOrder();
                }
                else if ((request as GetInvoiceRealtimeRequest) != null)
                {
                    NetTracer.Information("CustomerOrderService.ExecuteRequest(): GetInvoiceServiceRequest");
                    response = GetInvoices();
                }
                else if ((request as PickAndPackOrderRealtimeRequest) != null)
                {
                    NetTracer.Information("CustomerOrderService.ExecuteRequest(): PickAndPackOrderServiceRequest");
                    response = PickAndPackOrder();
                }
                else if ((getCustomerOrderCalculationModesServiceRequest = request as GetCustomerOrderCalculationModesServiceRequest) != null)
                {
                    NetTracer.Information("CustomerOrderService.ExecuteRequest(): GetCustomerOrderCalculationModesServiceRequest");
                    response = CalculationModesHelper.GetCalculationModes(getCustomerOrderCalculationModesServiceRequest);
                }
                else if ((request as SettleInvoiceRealtimeRequest) != null)
                {
                    NetTracer.Information("CustomerOrderService.ExecuteRequest(): SettleInvoiceServiceRequest");
                    response = SettleInvoice();
                }
                else
                {
                    NetTracer.Information("CustomerOrderService.ExecuteRequest(): Unknown Request");
                    throw new NotSupportedException(string.Format(CultureInfo.InvariantCulture, "Request '{0}' is not supported.", request));
                }

                return(response);
            }