private static void StartNextDownload(string segment, uint messageTag, int messageType) { //Set reply and EOD flags to false UtilityLoginDetails.GETInstance.PersonalReplyReceived = false; UtilityLoginDetails.GETInstance.EndofdownloadReceived = false; OrderRequestProcessor orderreqprocessor = null; OrderNomralRequest orequest = new OrderNomralRequest(); orequest.Hour = "0"; orequest.Minute = "0"; orequest.Second = "0"; orequest.Filler = segment; orequest.MessageTag = messageTag; if (messageType == (int)Enumerations.OrderTypeDownload.ReturnOrders) { orderreqprocessor = new OrderRequestProcessor(new OrderRetPersonalDownload()); } else if (messageType == (int)Enumerations.OrderTypeDownload.StopLossOrders) { orderreqprocessor = new OrderRequestProcessor(new OrderStopLossPersonalDownload()); } else if (messageType == (int)Enumerations.OrderTypeDownload.ReturnStopLossOrders) { orderreqprocessor = new OrderRequestProcessor(new OrderRetStopPersonalDownload()); } orderreqprocessor.ProcessRequest(orequest, messageType); }
/// <summary> /// Query Order Personal Download /// </summary> /// <param name="Segment"></param> /// <param name="MessageTag"></param> private static void QueryPersonalDownload(string Segment, uint MessageTag, ushort HFLFFlag) { if (HFLFFlag == (int)Enumerations.HFLFFlag.LFFlag) //Request Order, Trades and Limit { //Set reply and EOD flags to false UtilityLoginDetails.GETInstance.PersonalReplyReceived = false; UtilityLoginDetails.GETInstance.EndofdownloadReceived = false; GetInstance.ReplyMessageTxt = ConstantMessages.WaitOrderMessage; OrderRequestProcessor orderreqprocessor = null; OrderNomralRequest orequest = new OrderNomralRequest(); orequest.Hour = "0"; orequest.Minute = "0"; orequest.Second = "0"; orequest.Filler = Segment; orequest.MessageTag = MessageTag; orderreqprocessor = new OrderRequestProcessor(new OrderNormalPersonalDownload()); orderreqprocessor.ProcessRequest(orequest, (int)OrderTypeDownload.NormalOrders); autoReset.WaitOne(); GetInstance.ReplyMessageTxt = ConstantMessages.WaitRetOrderMessage; StartNextDownload(Segment, MessageTag, (int)OrderTypeDownload.ReturnOrders); autoReset.WaitOne(); GetInstance.ReplyMessageTxt = ConstantMessages.WaitStopLossMessage; StartNextDownload(Segment, MessageTag, (int)OrderTypeDownload.StopLossOrders); autoReset.WaitOne(); GetInstance.ReplyMessageTxt = ConstantMessages.WaitRetStopLossMessage; StartNextDownload(Segment, MessageTag, (int)OrderTypeDownload.ReturnStopLossOrders); autoReset.WaitOne(); GetInstance.ReplyMessageTxt = ConstantMessages.WaitTradeMessage; StartNextTradeDownload(Segment, MessageTag, null); autoReset.WaitOne(); GetInstance.ReplyMessageTxt = ConstantMessages.WaitLimitMessage; StartNextLimitDownload(MessageTag, null); autoReset.WaitOne(); GetInstance.ReplyMessageTxt = ConstantMessages.WaitGWLimitMessage; StartNextLimitDownload(MessageTag, UtilityLoginDetails.GETInstance.TraderId); autoReset.WaitOne(); } else if (HFLFFlag == (int)Enumerations.HFLFFlag.HFFlag) // Request Only Trades and Limits { GetInstance.ReplyMessageTxt = ConstantMessages.WaitTradeMessage; StartNextTradeDownload(Segment, MessageTag, null); autoReset.WaitOne(); GetInstance.ReplyMessageTxt = ConstantMessages.WaitLimitMessage; StartNextLimitDownload(MessageTag, null); autoReset.WaitOne(); GetInstance.ReplyMessageTxt = ConstantMessages.WaitGWLimitMessage; StartNextLimitDownload(MessageTag, UtilityLoginDetails.GETInstance.TraderId); autoReset.WaitOne(); } GetInstance.ReplyMessageTxt = ConstantMessages.CompletedMessage; }