using System.ComponentModel.DataAnnotations;

namespace AsbCloudApp.Data;

/// <summary>
/// Точка на карте с названием
/// </summary>
public class MapPointBaseDto : IMapPoint, IId
{
    /// <inheritdoc/>
    public int Id { get; set; }

    /// <summary>
    /// Название
    /// </summary>
    [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина названия от 1 до 50 символов")]
    public string Caption { get; set; } = null!;

    /// <inheritdoc/>
    [Range(-90, 90, ErrorMessage = "Допустимые значения широты от -90 до 90")]
    public double? Latitude { get; set; }

    /// <inheritdoc/>
    [Range(-180, 180, ErrorMessage = "Допустимые значения долготы от -180 до 180")]
    public double? Longitude { get; set; }

    /// <inheritdoc/>
    public SimpleTimezoneDto Timezone { get; set; } = null!;
}