feat(alarm): complete musical alarm flows
This commit is contained in:
@@ -9,19 +9,29 @@ class ServicioProgramacionAlarmas {
|
||||
}) {
|
||||
if (!alarma.activa) return null;
|
||||
|
||||
final diaBase =
|
||||
alarma.tipoProgramacion == TipoProgramacionAlarma.unica &&
|
||||
alarma.fechaUnica != null
|
||||
? alarma.fechaUnica!
|
||||
: desde;
|
||||
final inicio = DateTime(
|
||||
desde.year,
|
||||
desde.month,
|
||||
desde.day,
|
||||
diaBase.year,
|
||||
diaBase.month,
|
||||
diaBase.day,
|
||||
alarma.hora,
|
||||
alarma.minuto,
|
||||
);
|
||||
final primerCandidato =
|
||||
inicio.isAfter(desde) ? inicio : inicio.add(const Duration(days: 1));
|
||||
alarma.tipoProgramacion == TipoProgramacionAlarma.unica
|
||||
? inicio
|
||||
: inicio.isAfter(desde)
|
||||
? inicio
|
||||
: inicio.add(const Duration(days: 1));
|
||||
|
||||
return switch (alarma.tipoProgramacion) {
|
||||
TipoProgramacionAlarma.unica =>
|
||||
_esValida(alarma, primerCandidato, vacaciones, excepciones)
|
||||
primerCandidato.isAfter(desde) &&
|
||||
_esValida(alarma, primerCandidato, vacaciones, excepciones)
|
||||
? primerCandidato
|
||||
: null,
|
||||
TipoProgramacionAlarma.diaria => _buscarDiaria(
|
||||
|
||||
Reference in New Issue
Block a user