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