using Microsoft.AspNetCore.Identity; namespace LctMonolith.Domain.Entities; /// /// Application user (candidate or employee) participating in gamification. /// Extends IdentityUser with Guid primary key. /// public class AppUser : IdentityUser { /// User given (first) name. public string? FirstName { get; set; } /// User family (last) name. public string? LastName { get; set; } /// Date of birth. public DateOnly? BirthDate { get; set; } /// Current accumulated experience points. public int Experience { get; set; } /// Current mana (in-game currency). public int Mana { get; set; } /// Current rank reference. public Guid? RankId { get; set; } public Rank? Rank { get; set; } public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; public ICollection Competencies { get; set; } = new List(); public ICollection Missions { get; set; } = new List(); public ICollection Inventory { get; set; } = new List(); public ICollection Transactions { get; set; } = new List(); public ICollection RefreshTokens { get; set; } = new List(); public ICollection Events { get; set; } = new List(); public ICollection Notifications { get; set; } = new List(); }