Exemple #1
0
        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));
        }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
        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);
                }
            }
        }
Exemple #5
0
        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);
                }
            }
        }
Exemple #6
0
        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);
                }
            }
        }