using System;

namespace GestionaDenunciasAN.Models
{
    public class DenunciasGestiona
    {
        // Propiedades existentes
        public int Id_RegistroDenuncia { get; set; }
        public int Id_Denuncia { get; set; }
        public DateTime Fecha { get; set; }
        public string Expediente_Gestiona { get; set; }
        public int Id_Persona_Gestiona { get; set; }
        public string Etiqueta { get; set; }
        public string Estado { get; set; }
        public string Tipo_Denuncia { get; set; }
        public string? Nombre { get; set; }
        public string? Apellidos { get; set; }
        public string? Sexo { get; set; }
        public string? Dni { get; set; }
        public string Asunto { get; set; }
        public string A_Quien_Denuncia { get; set; }
        public string Descripcion_Denuncia { get; set; }
        public string Denunciado_Ante_Inst { get; set; }
        public string? Modalidad_Informacion { get; set; }
        public string Lugar_Hechos { get; set; }
        public DateTime Fecha_Hechos { get; set; }
        public string? Notificacion_Preferencia { get; set; }
        public string? Notificacion_Electronica { get; set; }
        public string? Correo_Electronico { get; set; }
        public string? Notificacion_Sms { get; set; }
        public bool Condiciones { get; set; }
        public string? Comments { get; set; }

        // Nuevas propiedades
        public string NombreDenuncia { get; set; }
        public string EstadoDenuncia { get; set; }
        public string ArchivoElegido { get; set; }
        public DateTime FechaSubidaAGestiona { get; set; } // Nueva propiedad

        // Constructor por defecto
        public DenunciasGestiona()
        {
        }

        // Constructor parametrizado que inicializa todos los campos, incluida la nueva propiedad
        public DenunciasGestiona(
            int idRegistroDenuncia,
            int idDenuncia,
            DateTime fecha,
            string expedienteGestiona,
            int idPersonaGestiona,
            string etiqueta,
            string estado,
            string tipoDenuncia,
            string? nombre,
            string? apellidos,
            string? sexo,
            string? dni,
            string asunto,
            string aQuienDenuncia,
            string descripcionDenuncia,
            string denunciadoAnteInst,
            string? modalidadInformacion,
            string lugarHechos,
            DateTime fechaHechos,
            string? notificacionPreferencia,
            string? notificacionElectronica,
            string? correoElectronico,
            string? notificacionSms,
            bool condiciones,
            string? comments,
            string nombreDenuncia,
            string estadoDenuncia,
            string archivoElegido,
            DateTime fechaSubidaAGestiona)
        {
            Id_RegistroDenuncia = idRegistroDenuncia;
            Id_Denuncia = idDenuncia;
            Fecha = fecha;
            Expediente_Gestiona = expedienteGestiona;
            Id_Persona_Gestiona = idPersonaGestiona;
            Etiqueta = etiqueta;
            Estado = estado;
            Tipo_Denuncia = tipoDenuncia;
            Nombre = nombre;
            Apellidos = apellidos;
            Sexo = sexo;
            Dni = dni;
            Asunto = asunto;
            A_Quien_Denuncia = aQuienDenuncia;
            Descripcion_Denuncia = descripcionDenuncia;
            Denunciado_Ante_Inst = denunciadoAnteInst;
            Modalidad_Informacion = modalidadInformacion;
            Lugar_Hechos = lugarHechos;
            Fecha_Hechos = fechaHechos;
            Notificacion_Preferencia = notificacionPreferencia;
            Notificacion_Electronica = notificacionElectronica;
            Correo_Electronico = correoElectronico;
            Notificacion_Sms = notificacionSms;
            Condiciones = condiciones;
            Comments = comments;
            NombreDenuncia = nombreDenuncia;
            EstadoDenuncia = estadoDenuncia;
            ArchivoElegido = archivoElegido;
            FechaSubidaAGestiona = fechaSubidaAGestiona;
        }
    }
}
