Exemple #1
0
        public GeneradorEstadoAtencion(IContenedorMetodos <EstadoAtencion> contenedorMetodos)
            : base(contenedorMetodos)
        {
            _programadoPrimeraEntrega = new DeclaracionEstados();
            _programadoSegundaEntrega = new DeclaracionEstados();

            _contactado = new DeclaracionEstados();
            _elegible   = new DeclaracionEstados();

            RegistrarMetodo(f => f.Elegibilidad, (tr, persona) => ConsultarComoEstado(tr, ConsultarElegibilidad(tr, persona)));
            RegistrarMetodo(f => f.FechaElegibilidad, (tr, persona) => ConsultarElegibilidad(tr, persona).Fecha);

            RegistrarMetodo(f => f.Contactado, (tr, persona) => ConsultarComoEstado(tr, ConsultarContactado(tr, persona)));
            RegistrarMetodo(f => f.FechaContactado, (tr, persona) => ConsultarContactado(tr, persona).Fecha);

            RegistrarMetodo(f => f.Programado, (tr, persona) => ConsultarComoEstado(tr, ConsultarProgramadoPrimeraEntrega(tr, persona)));
            RegistrarMetodo(f => f.FechaProgramado, (tr, persona) => ConsultarProgramadoPrimeraEntrega(tr, persona).Fecha);

            RegistrarMetodo(f => f.Reprogramado, (tr, persona) => ConsultarComoEstado(tr, ConsultarReprogramado(tr, persona)));
            RegistrarMetodo(f => f.FechaReprogramado, (tr, persona) => ConsultarReprogramado(tr, persona).Fecha);

            RegistrarMetodo(f => f.Atendido, (tr, persona) => ConsultarAtendido(tr, persona));

            RegistrarMetodo(f => f.MotivoNoAtencion, (tr, persona) => ConsultarDescripcionPorId(tr, ConsultarDeclaracion(tr, persona).Id_Motivo_Noatender));
            RegistrarMetodo(f => f.MotivoNoAtencionId, (tr, persona) => ConsultarDeclaracion(tr, persona).Id_Motivo_Noatender);

            RegistrarMetodo(f => f.TipoReprogramacion, (tr, persona) => ConsultarTipoReprogramacion(tr, persona));

            RegistrarMetodo(f => f.FechaSegundaEntrega, (tr, persona) => ConsultarProgramadoSegundaEntrega(tr, persona).Fecha);

            RegistrarMetodo(f => f.AsistioSegundaEntrega, (tr, persona) => ConsultarDescripcionPorId(tr, ConsultarProgramadoSegundaEntrega(tr, persona).Id_Asistio));
        }
Exemple #2
0
 DeclaracionEstados ConsultarContactado(TablasRango tr, Personas persona)
 {
     (_contactado.Id_Declaracion != persona.Id_Declaracion)
     .SiCumpleEntonces(() =>
     {
         _contactado = ConsultarDeclaracionEstado(tr, persona, ContactadoId);
     });
     return(_contactado);
 }
Exemple #3
0
        DeclaracionEstados ConsultarProgramadoSegundaEntrega(TablasRango tr, Personas persona)
        {
            (_programadoSegundaEntrega.Id_Declaracion != persona.Id_Declaracion)
            .SiCumpleEntonces(() =>
            {
                _programadoSegundaEntrega = ConsultarProgramado(tr, persona, SegundaEntregaId);
            });

            return(_programadoSegundaEntrega);
        }
Exemple #4
0
        DeclaracionEstados ConsultarElegibilidad(TablasRango tr, Personas persona)
        {
            (_elegible.Id_Declaracion != persona.Id_Declaracion)
            .SiCumpleEntonces(() =>
            {
                _elegible       = ConsultarDeclaracionEstado(tr, persona, ElegibleId);
                var declaracion = ConsultarDeclaracion(tr, persona);
                (declaracion.Id_Motivo_Noatender.HasValue && declaracion.Id_Motivo_Noatender != ProgramadoQueNoAsistioId)
                .SiCumpleEntonces(() =>
                {
                    _elegible.Id_Como_Estado = NoId;
                });
            });

            return(_elegible);
        }
Exemple #5
0
 string ConsultarComoEstado(TablasRango tr, DeclaracionEstados estado)
 {
     return(ConsultarDescripcionPorId(tr, estado.Id_Como_Estado));
 }