Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
 public string GetLastBackupTime()
 {
     if (LastBackupTime == DateTime.MinValue)
     {
         return("[never]");
     }
     else
     {
         return(LastBackupTime.ToShortDateString() + " " + LastBackupTime.ToShortTimeString());
     }
 }