public bool IsToBeProcessed() { try { var cron = new CronExpression(Cron); var tenantTimeZone = CoreContext.TenantManager.GetTenant(TenantId).TimeZone; var lastBackupTime = LastBackupTime.Equals(default(DateTime)) ? DateTime.UtcNow.Date.AddSeconds(-1) : TenantUtil.DateTimeFromUtc(tenantTimeZone, LastBackupTime); var nextBackupTime = cron.GetTimeAfter(lastBackupTime); if (!nextBackupTime.HasValue) { return(false); } var now = TenantUtil.DateTimeFromUtc(tenantTimeZone, DateTime.UtcNow); return(nextBackupTime <= now); } catch (Exception e) { LogManager.GetLogger("ASC").Error("Schedule " + TenantId, e); return(false); } }
public bool IsToBeProcessed() { try { if (BackupHelper.ExceedsMaxAvailableSize(TenantId)) { throw new Exception("Backup file exceed " + TenantId); } var cron = new CronExpression(Cron); var tenant = CoreContext.TenantManager.GetTenant(TenantId); var tenantTimeZone = tenant.TimeZone; var culture = tenant.GetCulture(); Thread.CurrentThread.CurrentCulture = culture; var lastBackupTime = LastBackupTime.Equals(default(DateTime)) ? DateTime.UtcNow.Date.AddSeconds(-1) : TenantUtil.DateTimeFromUtc(tenantTimeZone, LastBackupTime); var nextBackupTime = cron.GetTimeAfter(lastBackupTime); if (!nextBackupTime.HasValue) { return(false); } var now = TenantUtil.DateTimeFromUtc(tenantTimeZone, DateTime.UtcNow); return(nextBackupTime <= now); } catch (Exception e) { LogManager.GetLogger("ASC").Error("Schedule " + TenantId, e); return(false); } }
public string GetLastBackupTime() { if (LastBackupTime == DateTime.MinValue) { return("[never]"); } else { return(LastBackupTime.ToShortDateString() + " " + LastBackupTime.ToShortTimeString()); } }