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(); } }