Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
 public WeeklyCounterTest()
 {
     mWeeklyCounter              = new WeeklyCounter();
     mWeeklyCounter.DateTime     = DateTime.UtcNow;
     mWeeklyCounter.RequestCount = 10;
 }