public void GranularityIsSet_SetsGranularityInBody(Granularities granularity, string expectedGranularity) { var request = new GroupByQueryDescriptor() .Granularity(granularity) .Generate(); Assert.That(request.RequestData.Granularity, Is.EqualTo(expectedGranularity)); }
protected void SetGranularity(Granularities granularity) { switch (granularity) { case Granularities.All: GranularityValue = "all"; break; case Granularities.None: GranularityValue = "none"; break; case Granularities.Second: GranularityValue = "second"; break; case Granularities.Minute: GranularityValue = "minute"; break; case Granularities.FifteenMinute: GranularityValue = "fifteen_minute"; break; case Granularities.ThirtyMinute: GranularityValue = "thirty_minute"; break; case Granularities.Hour: GranularityValue = "hour"; break; case Granularities.Day: GranularityValue = "day"; break; case Granularities.Week: GranularityValue = "week"; break; case Granularities.Month: GranularityValue = "month"; break; case Granularities.Quarter: GranularityValue = "quarter"; break; case Granularities.Year: GranularityValue = "year"; break; } }
public ITimeseriesQueryDescriptor Granularity(Granularities granularity) { SetGranularity(granularity); return(this); }
public IGroupByQueryDescriptor Granularity(Granularities granularity) { SetGranularity(granularity); return(this); }
public ISelectQueryDescriptor Granularity(Granularities granularity) { SetGranularity(granularity); return(this); }
/// <summary> /// Overload of RelativeToNow to handle null datetimes as expected /// </summary> /// <param name="utcDateTime"> see above </param> /// <param name="shortForm"> see above </param> /// <param name="granularity"> see above </param> /// <returns></returns> public static string RelativeToNow(this DateTime?utcDateTime, string format = "{0} ago", string nullString = "Never", bool shortForm = false, Granularities granularity = Granularities.Second) { if (utcDateTime == null) { return(nullString); } else { return(string.Format(format, utcDateTime.Value.RelativeToNow("{0}", shortForm, granularity))); } }
/// <summary> /// Given a UTC time, it calculates the absolute distance from now to that point and formats it as a string /// </summary> /// <param name="utcDateTime">the date time in question (UTC)</param> /// <param name="shortForm">boolean value for short form (e.g. "m" instead of " minutes")</param> /// <param name="granularity">enum to specify how specific you want to be</param> /// <returns></returns> public static string RelativeToNow(this DateTime utcDateTime, string format = "{0} ago", bool shortForm = false, Granularities granularity = Granularities.Second) { TimeSpan t = DateTime.Now.Subtract(utcDateTime); double time = 0.0; string unit = ""; if (t.TotalMinutes < 1 && granularity <= Granularities.Second) { time = t.TotalSeconds; unit = "second"; } else if (t.TotalHours < 1 && granularity <= Granularities.Minute) { time = t.TotalMinutes; unit = "minute"; } else if (t.TotalDays < 1 && granularity <= Granularities.Hour) { time = t.TotalHours; unit = "hour"; } else if (t.TotalDays < 7 && granularity <= Granularities.Day) { time = t.TotalDays; unit = "day"; } else if (t.TotalDays < 365 && granularity <= Granularities.Week) { time = t.TotalDays / 7; unit = "week"; } else { time = t.TotalDays / 365; unit = "year"; } int finalTime = Convert.ToInt16(Math.Abs(Math.Round(time))); return(string.Format(format, string.Format("{0}{1}", finalTime, (shortForm ? unit.Substring(0, 1) : " " + (finalTime == 1 ? unit : unit + "s"))))); }