public static void StartScheduledBackup(int tenantId, bool backupMail, BackupStorageType storageType, string storageBasePath) { lock (schedulerTasks.SynchRoot) { var item = schedulerTasks.GetItems().OfType <BackupProgressItem>().FirstOrDefault(t => t.TenantId == tenantId); if (item != null && item.IsCompleted) { schedulerTasks.Remove(item); item = null; } if (item == null) { item = new BackupProgressItem(true, tenantId, Guid.Empty, storageType, storageBasePath) { BackupMail = backupMail }; schedulerTasks.Add(item); } } }
public static BackupProgress StartBackup(int tenantId, Guid userId, bool backupMail, BackupStorageType storageType, string storageBasePath) { lock (tasks.SynchRoot) { var item = tasks.GetItems().OfType <BackupProgressItem>().FirstOrDefault(t => t.TenantId == tenantId); if (item != null && item.IsCompleted) { tasks.Remove(item); item = null; } if (item == null) { item = new BackupProgressItem(false, tenantId, userId, storageType, storageBasePath) { BackupMail = backupMail }; tasks.Add(item); } return(ToBackupProgress(item)); } }
public static BackupProgress StartBackup(StartBackupRequest request) { lock (tasks.SynchRoot) { var item = tasks.GetItems().OfType <BackupProgressItem>().FirstOrDefault(t => t.TenantId == request.TenantId); if (item != null && item.IsCompleted) { tasks.Remove(item); item = null; } if (item == null) { item = new BackupProgressItem(false, request.TenantId, request.UserId, request.StorageType, request.StorageBasePath) { BackupMail = request.BackupMail, StorageParams = request.StorageParams }; tasks.Add(item); } return(ToBackupProgress(item)); } }