void SWThread_TickAsyncOnline() { while (true) { int length = MemoryManager.TradeMemoryConDict.Count; // initialStartPointSWAsync = MemoryManager.EndOfDownloadCount; if (MemoryManager.TradeMemoryConDict.Count > 0 && length > initialStartPointSWAsync) { ParallelOptions oParallelOptions = new ParallelOptions(); oParallelOptions.MaxDegreeOfParallelism = 1; Parallel.For(initialStartPointSWAsync, length, oParallelOptions, (index) => { lock (newSWobjectAsync) { if (MemoryManager.TradeMemoryConDict.ContainsKey(index)) { CommonFrontEnd.Processor.UMSProcessor.ProcessNetPositionSWDemo(MemoryManager.TradeMemoryConDict[index]); NetPositionMemory.UpdateScripNetPosition(((CommonFrontEnd.Model.Trade.TradeUMS)MemoryManager.TradeMemoryConDict[index]).ScripCode.ToString(), MemoryManager.NetPositionSWDemoDict.Where(x => ((CommonFrontEnd.Model.Trade.NetPosition)x.Value).ScripCode == ((CommonFrontEnd.Model.Trade.TradeUMS)MemoryManager.TradeMemoryConDict[index]).ScripCode).ToList()); NetPositionMemory.UpdateScripNetPositionDetail(((CommonFrontEnd.Model.Trade.TradeUMS)MemoryManager.TradeMemoryConDict[index]).ScripCode.ToString(), MemoryManager.NetPositionSWDemoDict.Where(x => ((CommonFrontEnd.Model.Trade.NetPosition)x.Value).ScripCode == ((CommonFrontEnd.Model.Trade.TradeUMS)MemoryManager.TradeMemoryConDict[index]).ScripCode).ToList()); } } }); initialStartPointSWAsync = length; } else { Thread.Sleep(1000); } } }
//private RelayCommand _ShowGrid; //public RelayCommand ShowGrid //{ // get { return _ShowGrid ?? (_ShowGrid = new RelayCommand((object e) => Refresh())); } //} #endregion public void UpdateClientsByScrip(long scripCode) { NetPositionSWCWDataCollectionWindow = null; if (scripCode != 0) { ScripCodeSWCW = scripCode; NetPositionMemory.UpdateScripNetPositionDetail(scripCode.ToString(), MemoryManager.NetPositionSWDemoDict.Where(x => ((CommonFrontEnd.Model.Trade.NetPosition)x.Value).ScripCode == scripCode).ToList()); NetPositionSWCWDataCollectionWindow = new ObservableCollection <ScripWiseDetailPositionModel>(NetPositionMemory.NetPositionSWCWDataCollection.Where(x => x.ScripCode == scripCode)); } //BSE Equity var segment = CommonFunctions.GetSegmentID(scripCode); NetPositionScripDetail = string.Format("Net Position Details - {0}", Common.CommonFunctions.GetScripId(scripCode, "BSE", segment)); }
void SaudasThread_TickAsync() { try { initialStartPointSaudasAsync = MemoryManager.TradeMemoryConDict.Count; while (true) { int length = MemoryManager.TradeMemoryConDict.Count; //initialStartPointSaudasAsync = MemoryManager.TradeMemoryConDict.Count; if (MemoryManager.TradeMemoryConDict.Count > 0 && length > initialStartPointSaudasAsync) { ParallelOptions oParallelOptions = new ParallelOptions(); oParallelOptions.MaxDegreeOfParallelism = 1; Parallel.For(initialStartPointSaudasAsync, length, oParallelOptions, (index) => { lock (newSaudasobjectAsync) { if (MemoryManager.TradeMemoryConDict.ContainsKey(index)) { Model.Trade.TradeUMS objTrade = (Model.Trade.TradeUMS)MemoryManager.TradeMemoryConDict[index]; //NetPositionMemory.TraderTradeDataCollection.Add(obj); NetPositionMemory.UpdateTraderTradeData("", objTrade); } } }); initialStartPointSaudasAsync = length; } else { //Task.Delay(1000); Thread.Sleep(1000); } } } catch (Exception ex) { ExceptionUtility.LogError(ex); throw ex; } }
void SWThread_TickAsyncPD() { bool DisplayFlag = true; while (true) { int length = MemoryManager.EndOfDownloadCount;//MemoryManager.TradeMemoryConDict.Count; if (length == initialStartPointSWAsync && DisplayFlag) { DisplayFlag = false; NetPositionMemory.UpdateScripNetPosition("", MemoryManager.NetPositionSWDemoDict.ToList()); ProcessSWTradeDisplayAsync().Wait(); ProcessScripWiseTradeAsyncOnline(); thSWPersonalDownload.Abort(); } if (MemoryManager.TradeMemoryConDict.Count > 0 && length > initialStartPointSWAsync) { ParallelOptions oParallelOptions = new ParallelOptions(); oParallelOptions.MaxDegreeOfParallelism = 1; Parallel.For(initialStartPointSWAsync, length, oParallelOptions, (index) => { lock (newSWobjectAsync) { if (MemoryManager.TradeMemoryConDict.ContainsKey(index)) { CommonFrontEnd.Processor.UMSProcessor.ProcessNetPositionSWDemo(MemoryManager.TradeMemoryConDict[index]); //TODO NP No Need //CommonFrontEnd.Processor.UMSProcessor.ProcessNetPositionCWSWDetailsDemo(MemoryManager.TradeMemoryConDict[index]); //CommonFrontEnd.Processor.UMSProcessor.ProcessNetPositionSWCWDetailsDemo(MemoryManager.TradeMemoryConDict[index]); } } }); initialStartPointSWAsync = length; } else { Thread.Sleep(1000); } } }
void CWThread_TickAsyncOnline() { while (true) { int length = MemoryManager.TradeMemoryConDict.Count; //initialStartPointCWAsync = MemoryManager.EndOfDownloadCount; if (MemoryManager.TradeMemoryConDict.Count > 0 && length > initialStartPointCWAsync) { ParallelOptions oParallelOptions = new ParallelOptions(); oParallelOptions.MaxDegreeOfParallelism = 1; Parallel.For(initialStartPointCWAsync, length, oParallelOptions, (index) => { lock (newCWobjectAsync) { if (MemoryManager.TradeMemoryConDict.ContainsKey(index)) { CommonFrontEnd.Processor.UMSProcessor.ProcessNetPositionCWDemo(MemoryManager.TradeMemoryConDict[index]); if (UtilityLoginDetails.GETInstance.Role.ToLower() == "trader") { NetPositionMemory.UpdateClientNetPosition(((CommonFrontEnd.Model.Trade.TradeUMS)MemoryManager.TradeMemoryConDict[index]).Client.Trim(), MemoryManager.NetPositionCWDemoDict.Where(x => ((CommonFrontEnd.Model.Trade.NetPosition)x.Value).ClientId == ((CommonFrontEnd.Model.Trade.TradeUMS)MemoryManager.TradeMemoryConDict[index]).Client.Trim()).ToList()); NetPositionMemory.UpdateCWSWDNetPosition(((CommonFrontEnd.Model.Trade.TradeUMS)MemoryManager.TradeMemoryConDict[index]).Client.Trim(), MemoryManager.NetPositionCWDemoDict.ToList()); } else if (UtilityLoginDetails.GETInstance.Role.ToLower() == "admin") { NetPositionMemory.UpdateClientNetPosition(((CommonFrontEnd.Model.Trade.TradeUMS)MemoryManager.TradeMemoryConDict[index]).TraderId.ToString(), MemoryManager.NetPositionCWDemoDict.Where(x => ((CommonFrontEnd.Model.Trade.NetPosition)x.Value).TraderId == ((CommonFrontEnd.Model.Trade.TradeUMS)MemoryManager.TradeMemoryConDict[index]).TraderId.ToString()).ToList()); NetPositionMemory.UpdateCWSWDNetPosition(((CommonFrontEnd.Model.Trade.TradeUMS)MemoryManager.TradeMemoryConDict[index]).TraderId.ToString(), MemoryManager.NetPositionCWDemoDict.ToList()); } } } }); initialStartPointCWAsync = length; } else { Thread.Sleep(1000); } } }
void SWThread_TickAsyncPDDisplay() { if (MemoryManager.NetPositionSWDemoDict != null && MemoryManager.NetPositionSWDemoDict.Count > 0) { var results = MemoryManager.NetPositionSWDemoDict.GroupBy(p => ((CommonFrontEnd.Model.Trade.NetPosition)p.Value).ScripCode, p => p.Value, (key, g) => new { scripCode = key, scripData = g.ToList() } ); foreach (var item in results) { NetPositionMemory.UpdateScripNetPosition(item.scripCode.ToString(), MemoryManager.NetPositionSWDemoDict.Where(x => ((CommonFrontEnd.Model.Trade.NetPosition)x.Value).ScripCode == item.scripCode).ToList()); //TODO call SWCW for pd NetPositionMemory.UpdateScripNetPositionDetail(item.scripCode.ToString(), MemoryManager.NetPositionSWDemoDict.Where(x => ((CommonFrontEnd.Model.Trade.NetPosition)x.Value).ScripCode == item.scripCode).ToList()); } } }
private void UpdateGridByClient(string TraderId) { var SettlementNo = string.Empty; NetPositionCWSWDataCollectionWindow = null; if (!string.IsNullOrEmpty(TraderId)) { ClientIdCWSW = TraderId; if (UtilityLoginDetails.GETInstance.Role?.ToLower() == "admin") { NetPositionMemory.UpdateCWSWDNetPosition(TraderId, MemoryManager.NetPositionCWDemoDict.Where(x => ((NetPosition)x.Value).TraderId == TraderId).ToList()); NetPositionCWSWDataCollectionWindow = new ObservableCollection <CWSWDetailPositionModel>(NetPositionMemory.NetPositionCWSWDataCollection.Where(x => x.TraderId == TraderId)); } else if (UtilityLoginDetails.GETInstance.Role?.ToLower() == "trader") { NetPositionMemory.UpdateCWSWDNetPosition(TraderId, MemoryManager.NetPositionCWDemoDict.Where(x => ((NetPosition)x.Value).ClientId == TraderId).ToList()); NetPositionCWSWDataCollectionWindow = new ObservableCollection <CWSWDetailPositionModel>(NetPositionMemory.NetPositionCWSWDataCollection.Where(x => x.ClientID == TraderId)); } } if (!string.IsNullOrEmpty(UtilityLoginDetails.GETInstance.SettlementNo)) { SettlementNo = UtilityLoginDetails.GETInstance.SettlementNo.Split('/')[1] + UtilityLoginDetails.GETInstance.SettlementNo.Split('/')[0]; } if (UtilityLoginDetails.GETInstance.Role != null) { if (UtilityLoginDetails.GETInstance.Role?.ToLower() == "admin") { NetPositionClientWiseScripWiseDetail = string.Format("Net Position Details - Trd Id- {0} - EQ Sett.No : {1}", TraderId, SettlementNo); } else if (UtilityLoginDetails.GETInstance.Role?.ToLower() == "trader") { NetPositionClientWiseScripWiseDetail = string.Format("Net Position Details - {0} {1}- EQ Sett.No : {2}", TraderId, "CLIENT", SettlementNo); } } }