public static void IncrementWeeklyCounter(ISession session, int count) { DateTime utcnow = DateTime.UtcNow.Date; while (utcnow.DayOfWeek != DayOfWeek.Sunday) { utcnow = utcnow.AddDays(-1); } WeeklyCounter counter = (WeeklyCounter)session.CreateCriteria(typeof(WeeklyCounter)) .Add(Expression.Eq("DateTime", utcnow)) .UniqueResult(); if (counter == null) { counter = new WeeklyCounter(); counter.DateTime = utcnow; counter.RequestCount = 0; } counter.RequestCount += count; session.Save(counter); }
public static List <TransitCounter> GetSummaryWeekly(ISession session) { List <TransitCounter> result = new List <TransitCounter>(); DateTime now = DateTime.UtcNow; DateTime ts = now.AddMonths(-2); while (ts.DayOfWeek != DayOfWeek.Sunday) { ts = ts.AddDays(-1); } while (ts <= now) { DateTime ts_current = new DateTime(ts.Year, ts.Month, ts.Day, 0, 0, 0); WeeklyCounter c = (WeeklyCounter)session.CreateCriteria(typeof(WeeklyCounter)) .Add(Expression.Eq("DateTime", ts_current)) .UniqueResult(); result.Add((c == null) ? new TransitCounter(ts_current, 0) : new TransitCounter(c.DateTime, c.RequestCount)); ts = ts.AddDays(7); } return(result); }
public WeeklyCounterTest() { mWeeklyCounter = new WeeklyCounter(); mWeeklyCounter.DateTime = DateTime.UtcNow; mWeeklyCounter.RequestCount = 10; }