Exemplo n.º 1
0
        /// <summary>
        /// Tries to start next remove task.
        /// </summary>
        /// <param name="quotesManager">The QuotesManager instance</param>
        /// <param name="removeTasks">Collection of remove tasks</param>
        /// <param name="removeQuoteListener">Listener of remove quotes task</param>
        private static void StartNextRemoveTask(QuotesManager quotesManager, Queue <RemoveQuotesTask> removeTasks, RemoveQuotesListener removeQuoteListener)
        {
            RemoveQuotesTask removeTask = removeTasks.Dequeue();

            quotesManager.executeTask(removeTask);
            removeQuoteListener.WaitEvents();
        }
 public void update(RemoveQuotesTask task, QuotesManagerError error)
 {
     if (error != null && OnErrorEvent != null)
     {
         OnErrorEvent(String.Format("{0}({1}) : {2}", error.Code, error.SubCode, error.Message));
     }
 }
 /// <summary>
 /// Listener: when the remove task status is changed.
 /// </summary>
 /// <param name="task"></param>
 /// <param name="error"></param>
 public void update(RemoveQuotesTask task, QuotesManagerError error)
 {
     if (error != null)
     {
         string errorMessage = String.Format("{0}({1}) : {2}", error.Code, error.SubCode, error.Message);
         Console.WriteLine("Error occurred : {0}", errorMessage);
     }
 }
 public void onTaskCompleted(RemoveQuotesTask task)
 {
     mRemoved++;
     mRunning = mRemoved < mToRemove;
     if (!mRunning && OnQuotesRemovedEvent != null)
     {
         OnQuotesRemovedEvent();
     }
 }
Exemplo n.º 5
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);
                }
            }
        }
 /// <summary>
 /// Listener: when the remove task is completed.
 /// </summary>
 /// <param name="task"></param>
 public void onTaskCompleted(RemoveQuotesTask task)
 {
     Console.WriteLine("Quotes removed.");
     mEvent.Set();
 }
 /// <summary>
 /// Listener: when the remove task is cancelled.
 /// </summary>
 /// <param name="task"></param>
 public void onTaskCanceled(RemoveQuotesTask task)
 {
     Console.WriteLine("Remove task was cancelled.");
     mEvent.Set();
 }