first commit
This commit is contained in:
93
RS_system/Models/AsistenciaCulto.cs
Normal file
93
RS_system/Models/AsistenciaCulto.cs
Normal file
@@ -0,0 +1,93 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Rs_system.Models.Enums;
|
||||
|
||||
namespace Rs_system.Models;
|
||||
|
||||
[Table("asistencias_culto")]
|
||||
public class AsistenciaCulto
|
||||
{
|
||||
[Key]
|
||||
[Column("id")]
|
||||
public long Id { get; set; }
|
||||
|
||||
[Column("fecha_hora_inicio")]
|
||||
[Required]
|
||||
public DateTime FechaHoraInicio { get; set; }
|
||||
|
||||
[Column("tipo_culto")]
|
||||
[Required]
|
||||
public TipoCulto TipoCulto { get; set; }
|
||||
|
||||
[Column("tipo_conteo")]
|
||||
[Required]
|
||||
public TipoConteo TipoConteo { get; set; }
|
||||
|
||||
// Campos para TipoConteo.Detallado
|
||||
[Column("hermanas_misioneras")]
|
||||
public int? HermanasMisioneras { get; set; }
|
||||
|
||||
[Column("hermanos_fraternidad")]
|
||||
public int? HermanosFraternidad { get; set; }
|
||||
|
||||
[Column("embajadores_cristo")]
|
||||
public int? EmbajadoresCristo { get; set; }
|
||||
|
||||
[Column("ninos")]
|
||||
public int? Ninos { get; set; }
|
||||
|
||||
[Column("visitas")]
|
||||
public int? Visitas { get; set; }
|
||||
|
||||
[Column("amigos")]
|
||||
public int? Amigos { get; set; }
|
||||
|
||||
// Campos para TipoConteo.General
|
||||
[Column("adultos_general")]
|
||||
public int? AdultosGeneral { get; set; }
|
||||
|
||||
// Campo para TipoConteo.Total
|
||||
[Column("total_manual")]
|
||||
public int? TotalManual { get; set; }
|
||||
|
||||
// Campos de auditoría
|
||||
[Column("observaciones")]
|
||||
[StringLength(500)]
|
||||
public string? Observaciones { get; set; }
|
||||
|
||||
[Column("creado_por")]
|
||||
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;
|
||||
|
||||
[NotMapped]
|
||||
public int Total
|
||||
{
|
||||
get
|
||||
{
|
||||
return TipoConteo switch
|
||||
{
|
||||
TipoConteo.Detallado => (HermanasMisioneras ?? 0) +
|
||||
(HermanosFraternidad ?? 0) +
|
||||
(EmbajadoresCristo ?? 0) +
|
||||
(Ninos ?? 0) +
|
||||
(Visitas ?? 0) +
|
||||
(Amigos ?? 0),
|
||||
TipoConteo.General => (AdultosGeneral ?? 0) + (Ninos ?? 0),
|
||||
TipoConteo.Total => TotalManual ?? 0,
|
||||
_ => 0
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
[NotMapped]
|
||||
public int TotalAdultosDetallado => (HermanasMisioneras ?? 0) +
|
||||
(HermanosFraternidad ?? 0) +
|
||||
(EmbajadoresCristo ?? 0) +
|
||||
(Visitas ?? 0) +
|
||||
(Amigos ?? 0);
|
||||
}
|
||||
Reference in New Issue
Block a user