using System.Text.Json.Serialization; namespace CORP_MAUI.Models; public class User { public int Id { get; set; } public string Username { get; set; } = string.Empty; public string Email { get; set; } = string.Empty; [JsonPropertyName("first_name")] public string FirstName { get; set; } = string.Empty; [JsonPropertyName("last_name")] public string LastName { get; set; } = string.Empty; // Может быть либо объектом Department, либо строкой (для обратной совместимости) public object? Department { get; set; } // Может быть либо объектом Position, либо строкой (для обратной совместимости) public object? Position { get; set; } public List? Skills { get; set; } [JsonPropertyName("is_online")] public bool IsOnline { get; set; } [JsonPropertyName("avatar_url")] public string? AvatarUrl { get; set; } // Вспомогательные свойства для удобства [JsonIgnore] public string FullName => $"{FirstName} {LastName}".Trim(); [JsonIgnore] public string DepartmentName { get { if (Department is Department dept) return dept.Name; if (Department is string str) return str; return string.Empty; } } [JsonIgnore] public string PositionName { get { if (Position is Position pos) return pos.Name; if (Position is string str) return str; return string.Empty; } } }