public void AggiornaSchedulazione(MonitorDS.MONITOR_SCHEDULERRow schedulazione) { schedulazione.ESEGUITA = "S"; MonitorDS.MONITOR_SCHEDULERRow nuovaSchedulazione = _ds.MONITOR_SCHEDULER.NewMONITOR_SCHEDULERRow(); nuovaSchedulazione.ESEGUITA = "N"; nuovaSchedulazione.SERVIZIO = schedulazione.SERVIZIO; nuovaSchedulazione.FREQUENZA = schedulazione.FREQUENZA; nuovaSchedulazione.ORAESECUZIONE = schedulazione.ORAESECUZIONE; switch (nuovaSchedulazione.FREQUENZA) { case "GIORNALIERA": nuovaSchedulazione.DATAESECUZIONE = schedulazione.DATAESECUZIONE.AddDays(1); break; case "SETTIMANALE": nuovaSchedulazione.DATAESECUZIONE = schedulazione.DATAESECUZIONE.AddDays(7); break; } _ds.MONITOR_SCHEDULER.AddMONITOR_SCHEDULERRow(nuovaSchedulazione); using (MonitorBusiness bMonitor = new MonitorBusiness()) { bMonitor.UpdateMONITOR_SCHEDULER(_ds); } }
public bool VerificaEsecuzione(string Servizio, out MonitorDS.MONITOR_SCHEDULERRow schedulazione) { schedulazione = null; using (MonitorBusiness bMonitor = new MonitorBusiness()) { _ds.Clear(); bMonitor.FillMONITOR_SCHEDULER(_ds); if (!_ds.MONITOR_SCHEDULER.Any(x => x.SERVIZIO.Trim() == Servizio && x.ESEGUITA == "N" && x.DATAESECUZIONE <= DateTime.Today)) { return(false); } List <MonitorDS.MONITOR_SCHEDULERRow> schedulazioni = _ds.MONITOR_SCHEDULER.Where(x => x.SERVIZIO == Servizio && x.ESEGUITA == "N" && x.DATAESECUZIONE <= DateTime.Today).ToList(); foreach (MonitorDS.MONITOR_SCHEDULERRow schedulazioneSelezionata in schedulazioni) { if (VerificaOraEsecuzione(schedulazioneSelezionata.ORAESECUZIONE)) { schedulazione = schedulazioneSelezionata; return(true); } } return(false); } }