public void StartBackup(BackupStorageType storageType, Dictionary <string, string> storageParams, bool backupMail) { DemandPermissionsBackup(); DemandSize(); var backupRequest = new StartBackupRequest { TenantId = GetCurrentTenantId(), UserId = SecurityContext.CurrentAccount.ID, BackupMail = backupMail, StorageType = storageType, StorageParams = storageParams }; switch (storageType) { case BackupStorageType.ThridpartyDocuments: case BackupStorageType.Documents: backupRequest.StorageBasePath = storageParams["folderId"]; break; case BackupStorageType.Local: if (!CoreBaseSettings.Standalone) { throw new Exception("Access denied"); } backupRequest.StorageBasePath = storageParams["filePath"]; break; } MessageService.Send(MessageAction.StartBackupSetting); BackupService.StartBackup(backupRequest); }
public void StartBackup(StartBackupRequest request) { var progress = BackupWorker.StartBackup(request); if (!string.IsNullOrEmpty(progress.Error)) { throw new FaultException(); } }
public BackupProgress StartBackup(StartBackupRequest request) { var progress = BackupWorker.StartBackup(request.TenantId, request.UserId, request.BackupMail, request.StorageType, request.StorageBasePath); if (!string.IsNullOrEmpty(progress.Error)) { throw new FaultException(progress.Error); } return(progress); }
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)); } }
public BackupProgress StartBackup(StartBackupRequest request) { lock (SynchRoot) { var item = ProgressQueue.GetTasks <BackupProgressItem>().FirstOrDefault(t => t.TenantId == request.TenantId); if (item != null && item.IsCompleted) { ProgressQueue.RemoveTask(item.Id); item = null; } if (item == null) { item = FactoryProgressItem.CreateBackupProgressItem(request, false, TempFolder, Limit, CurrentRegion, ConfigPaths); ProgressQueue.QueueTask(item); } item.PublishChanges(); return(ToBackupProgress(item)); } }
public BackupProgress StartBackup(BackupStorageType storageType, StorageParams storageParams, bool backupMail) { DemandPermissionsBackup(); DemandSize(); var backupRequest = new StartBackupRequest { TenantId = GetCurrentTenantId(), UserId = SecurityContext.CurrentAccount.ID, BackupMail = backupMail, StorageType = storageType }; switch (storageType) { case BackupStorageType.ThridpartyDocuments: case BackupStorageType.Documents: backupRequest.StorageBasePath = storageParams.FolderId; break; case BackupStorageType.CustomCloud: backupRequest.StorageBasePath = storageParams.FilePath; ValidateS3Settings(storageParams.AccessKeyId, storageParams.SecretAccessKey, storageParams.Bucket, storageParams.Region); CoreContext.Configuration.SaveSection(new AmazonS3Settings { AccessKeyId = storageParams.AccessKeyId, SecretAccessKey = storageParams.SecretAccessKey, Bucket = storageParams.Bucket, Region = storageParams.Region }); break; } MessageService.Send(HttpContext.Current.Request, MessageAction.StartBackupSetting); using (var service = new BackupServiceClient()) { return(service.StartBackup(backupRequest)); } }
public BackupProgress StartBackup(StartBackupRequest request) { lock (ProgressQueue.SynchRoot) { var item = ProgressQueue.GetItems().OfType <BackupProgressItem>().FirstOrDefault(t => t.TenantId == request.TenantId); if (item != null && item.IsCompleted) { ProgressQueue.Remove(item); item = null; } if (item == null) { item = FactoryProgressItem.CreateBackupProgressItem(request, false, TempFolder, Limit, CurrentRegion, ConfigPaths); ProgressQueue.Add(item); } var progress = ToBackupProgress(item); PublishProgress(progress); return(progress); } }
public BackupProgress StartBackup(BackupStorageType storageType, Dictionary <string, string> storageParams, bool backupMail) { DemandPermissionsBackup(); var backupRequest = new StartBackupRequest { TenantId = GetCurrentTenantId(), UserId = SecurityContext.CurrentAccount.ID, BackupMail = backupMail, StorageType = storageType, StorageParams = storageParams }; switch (storageType) { case BackupStorageType.ThridpartyDocuments: case BackupStorageType.Documents: backupRequest.StorageBasePath = storageParams["folderId"]; break; case BackupStorageType.Local: if (!CoreContext.Configuration.Standalone) { throw new Exception("Access denied"); } backupRequest.StorageBasePath = storageParams["filePath"]; break; } MessageService.Send(HttpContext.Current.Request, MessageAction.StartBackupSetting); using (var service = new BackupServiceClient()) { return(service.StartBackup(backupRequest)); } }