using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Rs_system.Models; /// /// Registro de ofrendas de un culto especĂ­fico /// [Table("registros_culto")] public class RegistroCulto { [Key] [Column("id")] public long Id { get; set; } [Column("fecha")] [Required] public DateOnly Fecha { get; set; } [Column("observaciones")] [StringLength(500)] public string? Observaciones { get; set; } [Column("creado_por")] [StringLength(100)] public string? CreadoPor { get; set; } [Column("creado_en")] public DateTime CreadoEn { get; set; } = DateTime.UtcNow; [Column("actualizado_en")] public DateTime ActualizadoEn { get; set; } = DateTime.UtcNow; [Column("eliminado")] public bool Eliminado { get; set; } = false; // Navigation property public virtual ICollection Ofrendas { get; set; } = new List(); // Calculated properties [NotMapped] public decimal TotalOfrendas => Ofrendas?.Sum(o => o.Monto) ?? 0; [NotMapped] public decimal TotalDescuentos => Ofrendas?.Sum(o => o.TotalDescuentos) ?? 0; [NotMapped] public decimal MontoNeto => TotalOfrendas - TotalDescuentos; }