public SecurityAnalyticalMeasureResponse respondSecurityAnalyticalOutput() { SecurityAnalyticalMeasureResponse r = null; //wait x sec for response int dcnt = waitForResponseHalfSeconds; while (dcnt > 0) { lock (responseMsgLock) { if (responseMsg != null && responseMsg is SecurityAnalyticalMeasureResponse) { r = responseMsg as SecurityAnalyticalMeasureResponse; if(r.CalculateSecurities[0].Identifier == null) { r.SetReturnCode(Enums.ReturnCode.FAILURE); } //else we have something else { r.SetReturnCode(Enums.ReturnCode.SUCCESS); } return r; } } Thread.Sleep(500); dcnt--; } //else no response back r = new SecurityAnalyticalMeasureResponse(); r.SetReturnCode(Enums.ReturnCode.FAILURE); return r; }
public ITaskStatus requestSecurity(SecurityRequest srp) { emReplyMessage = null; //access to the message bus, of course parms grabbed from .config or data store enterpriseMessageBusInterface2 = new Bondedge.API(msgBus,rabbitUser,rabbitPwd); enterpriseMessageBusInterface2.RegisterClient(srp.GetUser(), Callback); //tranlsate client message to message bus message Domain.IRequest domainRequestMessage = OpenAPIToServiceBus.MessageTranslators.simpleToEnterpriseMessage(srp.Securities[0].Identifier, (int)srp.Securities[0].AsOfDate, 1.0); domainRequestMessage.SetID(srp.ID != Guid.Empty ? srp.ID : Guid.NewGuid()); //place the message on the bus enterpriseMessageBusInterface2.SendRequest(domainRequestMessage); //<test> pass back success right now return new TaskStatus { Status = TASKSTATUS.Complete, Id = 1, ErrorCode = ERRORCODES.None, Message = "" }; }