/// <summary> /// Method used to start a ProcessMessage async method call /// This method processes PaymentItems messages /// If this is a cached message then retreive the data from the response data from the cache /// </summary> /// <param name="xmlClientMessage">PaymentItem client message</param> /// <param name="sender">List of session GUID's to send the response to</param> /// <param name="callback">Callback that is called on response from service</param> /// <returns>blank if no error else the error message</returns> public string ProcessMessageAsync(string xmlClientMessage, System.Action <string> callback, ServerStores serverStores, getUserIdDelegate getUserIdCall) { string response = ""; try { PaymentItemsProcessClientMessage clientMessage = new PaymentItemsProcessClientMessage(); ServiceCommand serviceCommand = (ServiceCommand)clientMessage.ProcessMessage(xmlClientMessage, getUserIdCall); if (clientMessage.IsCachedMessage((PaymentCommand)serviceCommand, serverStores)) { response = clientMessage.GetCachedStoreData((PaymentCommand)serviceCommand, serverStores); clientMessage.PaymentItemsReturn(response, callback); } else if (clientMessage.IsDoNothing((PaymentCommand)serviceCommand)) { response = clientMessage.createDoNothingResponse((PaymentCommand)serviceCommand); clientMessage.PaymentItemsReturn(response, callback); } else { InvokeServiceAsync(serviceCommand, callback); } } catch (Exception ex) { response = String.Format("<Error><Message>{0}</Message></Error>", ex); mLogger.Error(String.Format("Error ProcessMessageAsync: {0}", response)); } return(response); }
/// <summary> /// The PaymentItems Service return, used in async PaymentItems remote method calls /// </summary> /// <param name="response">The PaymentItems response message</param> /// <param name="type">The message type not used for the PaymentItem calls</param> /// <param name="callback">Callback that is called on response from service</param> protected override void InvokeServiceReturn(string response, string type, System.Action <string> callback) { try { PaymentItemsProcessClientMessage clientMessage = new PaymentItemsProcessClientMessage(); clientMessage.PaymentItemsReturn(response, callback); } catch (Exception ex) { mLogger.Error("Error InvokeServiceReturn ", ex); } }