Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.05 KB | None | 0 0
  1.         private static bool IsAvailibleForDisplaying(IComment comment)
  2.         {
  3.             var timeToLive = TimeSpan.FromMinutes(SiteSettings.Instance.CommentsRulesSection.TimeToLive.Minutes);
  4.  
  5.             if (DateTime.Now > comment.Created + timeToLive)
  6.                 return false;
  7.  
  8.             var rules = SiteSettings.Instance.CommentsRulesSection.ScheduleRules.OfType<ScheduleRule>();
  9.  
  10.             Func<ScheduleRule, bool> isRuleActive =
  11.                 (ScheduleRule rule) => comment.Created > rule.StartTime &&
  12.                                        comment.Created < rule.EndTime &&
  13.                                        rule.WeekDays.Contains(DateTime.Now.DayOfWeek.ToString());
  14.            
  15.             var activeRules = rules.Where(rule => isRuleActive(rule))
  16.                                    .Select(rule => rule.RuleType);
  17.  
  18.             if (activeRules.Any(rule => rule == "Pre"))
  19.                 return false;
  20.  
  21.             if (activeRules.All(rule => rule != "Post"))
  22.                 return false;
  23.  
  24.             return true;
  25.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement