// src/Elecciones.Database/Entities/ProyeccionBanca.cs
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Elecciones.Database.Entities;

public class ProyeccionBanca
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    // El ámbito donde se proyecta (ej. Sección Electoral)
    public int AmbitoGeograficoId { get; set; }
    [ForeignKey("AmbitoGeograficoId")]
    public AmbitoGeografico AmbitoGeografico { get; set; } = null!;
    public int CategoriaId { get; set; }

    // La agrupación que obtiene la banca
    public string AgrupacionPoliticaId { get; set; } = null!;
    [ForeignKey("AgrupacionPoliticaId")]
    public AgrupacionPolitica AgrupacionPolitica { get; set; } = null!;

    // Cantidad de bancas obtenidas
    public int NroBancas { get; set; }
    public DateTime FechaTotalizacion { get; set; }
    public int EleccionId { get; set; }
}