using Microsoft.AspNetCore.Identity; using System.ComponentModel.DataAnnotations.Schema; namespace IUT_ISTAG.Models { public class User { // ========================= // Relations // ========================= public int? IdTypeUser { get; set; } public int? IdCampus { get; set; } public int? IdSpecialite { get; set; } public int? IdNiveau { get; set; } public int? IdCycleEtude { get; set; } public int? IdDomaine { get; set; } public int? IdFiliere { get; set; } // ========================= // Informations personnelles // ========================= public string? Matricule { get; set; } public string? CodePreinscription { get; set; } public string? Nom { get; set; } public string? Prenom { get; set; } public DateTime? DateNaissance { get; set; } public string? LieuNaissance { get; set; } public string? Sexe { get; set; } public string? PaysOrigine { get; set; } public string? Contact { get; set; } // ========================= // Authentification // ========================= /* Identity possède déjà : - PasswordHash - Email - UserName donc on réutilise ça. */ // ========================= // Professionnel // ========================= public string? Poste { get; set; } public bool StatutActivite { get; set; } = true; public decimal? SalaireHoraire { get; set; } public string? Grade { get; set; } public bool DisponibiliteEnseignant { get; set; } // ========================= // JSON // ========================= [Column(TypeName = "json")] public List ListHabilitations { get; set; } = new(); // ========================= // Etat // ========================= public bool EstActif { get; set; } = true; // ========================= // Dates // ========================= public DateTime CreatedAt { get; set; } = DateTime.Now; public DateTime UpdatedAt { get; set; } = DateTime.Now; } }