using System;
namespace AsbCloudApp.Data;
///
/// временная зона
///
public class SimpleTimezoneDto
{
///
/// смещение в часах относительно UTC
///
public double Hours { get; set; }
///
/// идентификатор часовой зоны
///
public string? TimezoneId { get; set; }
///
/// запрет на переопределение
///
public bool IsOverride { get; set; }
///
/// Смещение часового пояса
///
public TimeSpan Offset => TimeSpan.FromHours(Hours);
///
public override bool Equals(object? obj)
{
if (obj is SimpleTimezoneDto tTimeZone
&& tTimeZone.Hours == Hours
&& tTimeZone.TimezoneId == TimezoneId
&& tTimeZone.IsOverride == IsOverride)
return true;
return false;
}
///
public override int GetHashCode()
=> Hours.GetHashCode()
| TimezoneId?.GetHashCode()??-1
| IsOverride.GetHashCode();
///
public override string ToString()
=> $"{TimezoneId} (UTC+{Hours:00.##})";
}