Example #1
0
        /// <summary>
        /// send a stuts message
        /// </summary>
        /// <param name="myState"></param>
        /// <param name="myText"></param>
        public void SendStatusMessage(KaiTrade.Interfaces.Status myState, string myText)
        {
            try
            {
                driverLog.Info(Name + ":" +myState.ToString() +":" + myText);
                // update the base session status
                UpdateStatus("DriverStatus", "", "", "", myState, myText);

                IDriverStatusMessage myDSM;

                setupStatus(out myDSM, myState, myText);

                KaiTrade.Interfaces.IMessage statusMsg = new K2DataObjects.Message();
                statusMsg.Format = "XML";
                statusMsg.Label = "DriverStatus";
                statusMsg.Data = JsonConvert.SerializeObject(myDSM);
                SendStatusMessage(statusMsg);
                _lastStatus = statusMsg;
            }
            catch(Exception myE)
            {
                log.Error("SendStatusMessage", myE);
            }
        }
Example #2
0
        /// <summary>
        /// Send a FIX style response to our clients
        /// </summary>
        /// <param name="msgType"></param>
        /// <param name="myResponseMsg"></param>
        public void sendResponse(string msgType, string myResponseMsg)
        {
            try
            {
                // Create message envelope
                KaiTrade.Interfaces.IMessage myMsg = new K2DataObjects.Message();

                // Set the raw FIX Message
                myMsg.Data = myResponseMsg;

                myMsg.Tag = m_ID;
                myMsg.AppSpecific = 0;
                myMsg.Label = msgType;
                myMsg.AppType = "FIX.4.3";
                myMsg.TargetID = "MYTARG";
                myMsg.ClientID = "MYCLIENT";
                myMsg.CreationTime = System.DateTime.Now.ToString();

                // Send the exec report to all clients
                SendMessage(myMsg);
            }
            catch (Exception myE)
            {
                log.Error("sendResponse", myE);
            }
        }
Example #3
0
        /// <summary>
        /// Send a FIX style status message specifing all parameters
        /// </summary>
        /// <param name="myState"></param>
        /// <param name="myText"></param>
        /// <param name="myBegin"></param>
        /// <param name="mySID"></param>
        /// <param name="myTID"></param>
        /// <param name="myFixName"></param>
        public void SendStatusMessage(KaiTrade.Interfaces.Status myState, string myText, string myBegin, string mySID, string myTID, string myFixName)
        {
            try
            {
                // Update a FIX session status
                UpdateStatus(myFixName, myBegin, myTID, mySID, myState, myText);

                IDriverStatusMessage myDSM;

                setupStatus(out myDSM, myState, myText);

                IDriverSession mySession = new DriverSession();
                mySession.SessionName = myFixName;              
                mySession.BeginString = myBegin;
                mySession.SID = mySID;
                mySession.TID = myTID;
                mySession.UserName = myFixName;
                mySession.State = myState;
                mySession.Text = myText;
                myDSM.Sessions.Add(mySession);
                
                KaiTrade.Interfaces.IMessage statusMsg = new K2DataObjects.Message();
                statusMsg.Format = "XML";
                statusMsg.Label = "DriverStatus";
                statusMsg.Data = JsonConvert.SerializeObject(myDSM);
                SendStatusMessage(statusMsg);
                _lastStatus = statusMsg;
            }
            catch (Exception myE)
            {
                log.Error("SendStatusMessage", myE);
            }

        }
Example #4
0
 /// <summary>
 /// Send a simple advisory message to all clients of the 
 /// adapter
 /// </summary>
 /// <param name="myMessageText"></param>
 public void SendAdvisoryMessage(string myMessageText)
 {
     try
     {
         driverLog.Info(Name + " advisory:"  + myMessageText);
         IDriverStatusMessage myDSM;
         setupAdvisory(out myDSM, myMessageText);
         KaiTrade.Interfaces.IMessage myMessage = new K2DataObjects.Message();
         
         myMessage.Label = "DriverAdvisory";
         myMessage.Data = JsonConvert.SerializeObject(myDSM);
         SendStatusMessage(myMessage);
     }
     catch (Exception myE)
     {
         log.Error("SendAdvisoryMessage", myE);
     }
 }