namespace AsbCloudApp.Data.SAUB
{
    /// <summary>
    /// Пользователь панели оператора
    /// </summary>
    public class TelemetryUserDto : IId
    {
        /// <inheritdoc/>
        public int Id { get; set; }

        /// <summary>
        /// Имя
        /// </summary>
        public string? Name { get; set; }

        /// <summary>
        /// Фамилия
        /// </summary>
        public string Surname { get; set; } = null!;

        /// <summary>
        /// Отчество
        /// </summary>
        public string? Patronymic { get; set; }

        /// <summary>
        /// Уровень доступа
        /// </summary>
        public int? Level { get; set; }

        /// <summary>
        /// Собрать отображаемое имя пользователя
        /// </summary>
        /// <returns></returns>
        public string MakeDisplayName()
        {
            if (!string.IsNullOrEmpty(Surname))
            {
                var s = Surname;
                if (!string.IsNullOrEmpty(Name))
                {
                    s += $"{Name[0]}.";
                    if (!string.IsNullOrEmpty(Patronymic))
                        s += $" {Patronymic[0]}.";
                }
                return s;
            }
            else
                return $"User #{Id}";
        }
    }
}