Пример #1
0
        /// <summary>
        /// Removes the data from cache.
        /// </summary>
        /// <param name="quotesManager">The QuotesManager instance</param>
        /// <param name="list">Collection of quotes manager storage data.</param>
        public static void RemoveData(QuotesManager quotesManager, IEnumerable <IQMData> list)
        {
            Queue <RemoveQuotesTask> removeTasks          = new Queue <RemoveQuotesTask>();
            RemoveQuotesListener     removeQuotesListener = new RemoveQuotesListener();

            foreach (IQMData data in list)
            {
                RemoveQuotesTask task = quotesManager.createRemoveQuotesTask(data.Instrument,
                                                                             data.Timeframe, removeQuotesListener);
                task.addYear(data.Year);
                removeTasks.Enqueue(task);
            }

            while (removeTasks.Count > 0)
            {
                StartNextRemoveTask(quotesManager, removeTasks, removeQuotesListener);
            }
        }
        /// <summary>
        /// Removes the data from cache.
        /// </summary>
        /// <param name="list"></param>
        public void RemoveData(IEnumerable <IQMData> list)
        {
            List <Task> tasks = new List <Task>();

            foreach (IQMData data in list)
            {
                RemoveQuotesTask task = mMgr.createRemoveQuotesTask(data.Instrument, data.Timeframe, this);
                task.addYear(data.Year);
                tasks.Add(task);
            }

            if (tasks.Count > 0)
            {
                mRunning  = true;
                mRemoved  = 0;
                mToRemove = tasks.Count;
                foreach (Task task in tasks)
                {
                    mMgr.executeTask(task);
                }
            }
        }