public SortieStatisticCustomTimeSpanGroupViewModel(SortieStatisticViewModel rpOwner) : base(rpOwner, SortieStatisticTimeSpanType.Custom) { var rNow = new DateTimeOffset(DateTime.Now.AddDays(1.0).Date.AddSeconds(-1.0)); r_SelectedDateStart = r_SelectedDateEnd = rNow.DateTime; TimeSpanStart = TimeSpanEnd = rNow.ToUnixTime().ToString(); }
public void ReturnsUnixEpochCorrectly() { var epoch = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero); Assert.Equal(0, epoch.ToUnixTime()); }
public void ReturnsRandomDateCorrectly() { var epoch = new DateTimeOffset(1975, 1, 23, 1, 1, 1, TimeSpan.Zero); Assert.Equal(159670861, epoch.ToUnixTime()); }
/// <summary> /// Asynchronously retrieves weather data for a particular latitude and longitude, on /// a given day. /// <para> /// Only conditions for the day are given (i.e. the time is ignored, and taken to be the /// current time). /// </para> /// <para> /// Allows specification of units of measurement, language used, extended hourly forecasts, /// and exclusion of data blocks. /// </para> /// </summary> /// <param name="latitude"> /// The latitude to retrieve data for. /// </param> /// <param name="longitude"> /// The longitude to retrieve data for. /// </param> /// <param name="date"> /// The date to retrieve data for. /// </param> /// <param name="unit"> /// The units of measurement to use. /// </param> /// <param name="extends"> /// The type of forecast to retrieve extended results for. Currently limited to hourly blocks. /// </param> /// <param name="excludes"> /// Any blocks that should be excluded from the request. /// </param> /// <param name="language"> /// The language to use for summaries. /// </param> /// <returns> /// A <see cref="Task"/> for a <see cref="Forecast"/> with the requested data, or null if the data was corrupted. /// </returns> public async Task<Forecast> GetTimeMachineWeatherAsync( double latitude, double longitude, DateTimeOffset date, Unit unit, IList<Extend> extends, IList<Exclude> excludes, Language language) { this.ThrowExceptionIfApiKeyInvalid(); var unitValue = unit.ToValue(); var extendList = string.Join(",", extends.Select(x => x.ToValue())); var excludeList = string.Join(",", excludes.Select(x => x.ToValue())); var languageValue = language.ToValue(); var unixTime = date.ToUnixTime(); var requestUrl = string.Format( CultureInfo.InvariantCulture, SpecificTimeConditionsUrl, this.apiKey, latitude, longitude, unixTime, unitValue, extendList, excludeList, languageValue); return await this.GetForecastFromUrl(requestUrl); }
bool CheckFileVersionAndTimestamp(ResourceSession rpResourceSession, DateTimeOffset rpTimestamp) { using (var rCommand = r_Connection.CreateCommand()) { rCommand.CommandText = "SELECT (CASE WHEN version IS NOT NULL THEN version ELSE '' END) = @version AND timestamp = @timestamp FROM cache.file WHERE name = @name;"; rCommand.Parameters.AddWithValue("@name", rpResourceSession.Path); rCommand.Parameters.AddWithValue("@version", rpResourceSession.CacheVersion ?? string.Empty); rCommand.Parameters.AddWithValue("@timestamp", rpTimestamp.ToUnixTime()); return Convert.ToBoolean(rCommand.ExecuteScalar()); } }