示例#1
0
        private void ProcessPowerSwitch()
        {
            var encedido = _sisfarma.Programacion.GetProgramacionOrDefault(Programacion.Encendido);
            var apagado  = _sisfarma.Programacion.GetProgramacionOrDefault(Programacion.Apagado);

            if (encedido == null || apagado == null)
            {
                return;
            }


            var turnoMatutino = new Turno(encedido.horaM, apagado.horaM);
            var turnoTarde    = new Turno(encedido.horaT, apagado.horaT);

            var debeEstarPrendido = turnoMatutino.EstaEnHorarioDeAtencion() || turnoTarde.EstaEnHorarioDeAtencion();

            if (!EstaEncendido && debeEstarPrendido)
            {
                Encender();
            }
            else if (EstaEncendido && turnoMatutino.EstaProgramado && turnoTarde.EstaProgramado && !debeEstarPrendido)
            {
                Apagar();
            }
        }