Example #1
0
        public static void FireEvent(FakeCQG.Internal.Models.EventInfo eventInfo)
        {
            try
            {
                if (EventAppsSubscribersNum.ContainsKey(eventInfo.EventName))
                {
                    eventInfo.NumOfSubscribers = EventAppsSubscribersNum[eventInfo.EventName];
                }
                else
                {
                    EventAppsSubscribersNum.Add(eventInfo.EventName, 0);
                    eventInfo.NumOfSubscribers = 0;
                }

                Core.EventHelper.GetCollection.InsertOne(eventInfo);

                if (Program.MainForm.Visible)
                {
                    lock (Core.LogLock)
                    {
                        AsyncTaskListener.LogMessage(eventInfo.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                AsyncTaskListener.LogMessage(ex.Message);
            }
        }
 private static int SetToZeroNumberOfSubscribers()
 {
     AsyncTaskListener.LogMessage("No subscribers for handshaking");
     SubscribersAdded(new HandshakingEventArgs());
     AsyncTaskListener.AllLog.Clear();
     return(0);
 }
Example #3
0
        public static Task ClearEventsListAsync()
        {
            var filter = Builders <FakeCQG.Internal.Models.EventInfo> .Filter.Empty;

            return(Task.Run(() =>
            {
                try
                {
                    Core.EventHelper.GetCollection.DeleteMany(filter);
                    AsyncTaskListener.LogMessage("Events list was cleared successfully");
                }
                catch (Exception ex)
                {
                    AsyncTaskListener.LogMessage(ex.Message);
                }
            }));
        }
        public void DeleteProcessedQuery(string key)
        {
            var filter = Builders <QueryInfo> .Filter.Eq(Keys.QueryKey, key);

            try
            {
                Core.QueryHelper.GetCollection.DeleteOne(filter);
            }
            catch (Exception ex)
            {
                AsyncTaskListener.LogMessage(ex.Message);
                if (Core.QueryHelper.Connect())
                {
                    DeleteProcessedQuery(key);
                }
            }
        }
        // Instruments of cleaning information about queries from DB
        #region Cleaning
        public void ClearQueriesList()
        {
            var filter = Builders <QueryInfo> .Filter.Empty;

            try
            {
                Core.QueryHelper.GetCollection.DeleteMany(filter);
                AsyncTaskListener.LogMessage("Queries list was cleared successfully");
            }
            catch (Exception ex)
            {
                AsyncTaskListener.LogMessage(ex.Message);
                if (Core.QueryHelper.Connect())
                {
                    ClearQueriesList();
                }
            }
        }
 public Task RemoveQueryAsync(string key)
 {
     return(Task.Run(() =>
     {
         var filter = Builders <QueryInfo> .Filter.Eq(Keys.QueryKey, key);
         try
         {
             Core.QueryHelper.GetCollection.DeleteOne(filter);
         }
         catch (Exception ex)
         {
             AsyncTaskListener.LogMessage(ex.Message);
             if (Core.QueryHelper.Connect())
             {
                 RemoveQueryAsync(key);
             }
         }
     }));
 }
 public Task <bool> CheckQueryAsync(string Id)
 {
     return(Task.Run(() =>
     {
         var filter = Builders <QueryInfo> .Filter.Eq(Keys.QueryKey, Id);
         QueryInfo result = null;
         try
         {
             result = Core.QueryHelper.GetCollection.Find(filter).SingleOrDefault();
         }
         catch (Exception ex)
         {
             AsyncTaskListener.LogMessage(ex.Message);
             if (Core.QueryHelper.Connect())
             {
                 CheckQueryAsync(Id);
             }
         }
         return (result != null);
     }));
 }
Example #8
0
 public static void PushAnswer(FakeCQG.Internal.Models.AnswerInfo answer)
 {
     try
     {
         Core.AnswerHelper.GetCollection.InsertOne(answer);
         if (Program.MainForm != null && Program.MainForm.Visible)
         {
             lock (Core.LogLock)
             {
                 AsyncTaskListener.LogMessage(answer.ToString());
             }
         }
     }
     catch (Exception ex)
     {
         AsyncTaskListener.LogMessage(ex.Message);
         if (Core.AnswerHelper.Connect())
         {
             PushAnswer(answer);
         }
     }
 }
        // Instruments of checking queries collection in DB and
        // reading information from queries collection
        #region Check and read info about queries from DB
        // Checking of queries in DB and reading them if exist
        public void ReadQueries(bool isLog = true)
        {
            var filter = Builders <QueryInfo> .Filter.Empty;

            try
            {
                // Select all the queries
                var queries = Core.QueryHelper.GetCollection.Find(filter).ToList();

                if (queries.Count != 0)
                {
                    // Process the queries (fire event of this class)
                    NewQueriesReady(queries);
                }

                if (isLog)
                {
                    lock (Core.LogLock)
                    {
                        AsyncTaskListener.LogMessage(string.Concat(queries.Count, " new quer(y/ies) in database"));
                        for (int i = 0; i < queries.Count; i++)
                        {
                            AsyncTaskListener.LogMessage(queries[i].ToString());
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                AsyncTaskListener.LogMessage(ex.Message);
                if (Core.QueryHelper.Connect())
                {
                    ReadQueries();
                }
            }
        }
 private static int SetTheNumberOfSubscribers(List <HandshakingInfo> subs)
 {
     AsyncTaskListener.LogMessage(string.Concat("DC has", subs.Count, " subscriber(s)"));
     SubscribersAdded(new HandshakingEventArgs(subs));
     return(subs.Count);
 }
 private void CQG_LogChange(string message)
 {
     AsyncTaskListener.LogMessage(message);
 }