Files
LanMountainDesktop/LanMontainDesktop/Models/WeatherDataModels.cs

53 lines
1.3 KiB
C#
Raw Normal View History

2026-03-02 22:46:10 +08:00
using System;
using System.Collections.Generic;
namespace LanMontainDesktop.Models;
public sealed record WeatherLocation(
string Name,
string LocationKey,
double Latitude,
double Longitude,
string? Affiliation = null);
public sealed record WeatherCurrentCondition(
double? TemperatureC,
double? FeelsLikeC,
int? RelativeHumidityPercent,
int? AirQualityIndex,
double? WindSpeedKph,
double? WindDirectionDegree,
int? WeatherCode,
bool? IsDaylight,
2026-03-02 22:46:10 +08:00
string? WeatherText);
public sealed record WeatherDailyForecast(
DateOnly Date,
double? LowTemperatureC,
double? HighTemperatureC,
int? DayWeatherCode,
string? DayWeatherText,
int? NightWeatherCode,
string? NightWeatherText,
string? SunriseTime,
string? SunsetTime,
int? PrecipitationProbabilityPercent);
2026-03-03 04:56:04 +08:00
public sealed record WeatherHourlyForecast(
DateTimeOffset Time,
double? TemperatureC,
int? WeatherCode,
string? WeatherText);
2026-03-02 22:46:10 +08:00
public sealed record WeatherSnapshot(
string Provider,
string LocationKey,
string? LocationName,
double? Latitude,
double? Longitude,
DateTimeOffset FetchedAt,
DateTimeOffset? ObservationTime,
WeatherCurrentCondition Current,
2026-03-03 04:56:04 +08:00
IReadOnlyList<WeatherDailyForecast> DailyForecasts,
IReadOnlyList<WeatherHourlyForecast> HourlyForecasts);