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!;
    }
}