예제 #1
0
        /// <summary>
        /// Computes summary statistics on tracks collected during a recent time period.
        /// </summary>
        public static Summary GetPeriodSummary(SQLiteConnection conn, StatisticPeriod period)
        {
            var mapping = conn.GetMapping <StatisticRecord>();

            return(conn.Query <Summary>(string.Format(
                                            "SELECT SUM(`DistanceTraveled`) AS 'Distance', COUNT(*) AS 'Count' FROM {0} WHERE `{1}` > ?",
                                            mapping.TableName,
                                            mapping.FindColumnWithPropertyName(nameof(StatisticRecord.End)).Name
                                            ), GetPeriodStart(period)).First());
        }
예제 #2
0
        private static DateTime GetPeriodStart(StatisticPeriod period)
        {
            switch (period)
            {
            case StatisticPeriod.Week:
                return(DateTime.UtcNow.AddDays(-7));

            case StatisticPeriod.Month:
                return(DateTime.UtcNow.AddMonths(-1));

            case StatisticPeriod.Overall:
            default:
                return(DateTime.MinValue);
            }
        }
 public virtual Statistic[] GetStatistic(string[] names, StatisticPeriod period, DateTime? @from, DateTime? to)
 {
     throw new NotImplementedException("Not implemented: " + MethodBase.GetCurrentMethod().Name);
 }
예제 #4
0
 public virtual Statistic[] GetStatistic(string[] names, StatisticPeriod period, DateTime? @from, DateTime?to)
 {
     throw new NotImplementedException("Not implemented: " + MethodBase.GetCurrentMethod().Name);
 }
예제 #5
0
 public virtual Statistic[] GetStatistic(string[] names, StatisticPeriod period, DateTime?from, DateTime?to)
 {
     return(service.GetStatistic(caller, names, period, from, to));
 }
 public virtual Statistic[] GetStatistic(string[] names, StatisticPeriod period, DateTime? from, DateTime? to)
 {
     return service.GetStatistic(caller, names, period, from, to);
 }