示例#1
0
 public void AddSpamMessage(string msg)
 {
     Debug.Assert(!string.IsNullOrEmpty(msg));
     using (MainDbContext ctx = new MainDbContext())
     {
         SpamMessageModel spamMsg = ctx.SpamMessages.Where(m => m.text.Contains(msg)).FirstOrDefault();
         if (spamMsg is null)
         {
             spamMsg = new SpamMessageModel(msg);
         }
         spamMsg.lastReceived = DateTime.Now;
         ++spamMsg.count;
         ctx.Add(spamMsg);
     }
 }
示例#2
0
 //--------------------------------------------------------Set-, Get- Methods:---------------------------------------------------------\\
 #region --Set-, Get- Methods--
 public bool IsSpam(string msg)
 {
     using (MainDbContext ctx = new MainDbContext())
     {
         SpamMessageModel spamMsg = ctx.SpamMessages.Where(m => string.Equals(m.text, msg)).FirstOrDefault();
         if (spamMsg is null)
         {
             SPAM_SEMA.Wait();
             if (spamRegex is null || msg is null || !spamRegex.IsMatch(msg))
             {
                 SPAM_SEMA.Release();
                 return(false);
             }
             SPAM_SEMA.Release();
             return(true);
         }
     }
     return(false);
 }