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); }
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); })); }
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); }