/// <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()); }
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); }
public virtual Statistic[] GetStatistic(string[] names, StatisticPeriod period, DateTime? @from, DateTime?to) { throw new NotImplementedException("Not implemented: " + MethodBase.GetCurrentMethod().Name); }
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); }