예제 #1
0
        public async Task <IEnumerable <Backup> > GetAllBackupsAsync(Guid connectionId)
        {
            return(await Task.Run(() =>
            {
                var connection = GetConnection(connectionId);
                using (var api = new BackupAPIRedirectService(connection.ServiceAddress))
                {
                    var backups = api.GetAllBackupsAsync().Result;
                    if (backups == null)
                    {
                        throw new NullReferenceException();
                    }

                    return backups.Select(b =>
                    {
                        var client = _clientRepository.GetById(b.ClientId);
                        var login = "";

                        if (client != null)
                        {
                            login = client.Login;
                        }

                        return new Backup(b.BackupId, b.Date, b.ExecutedDate, login, Enum.GetName(typeof(BackupStatus), b.Status));
                    });
                }
            }));
        }
예제 #2
0
        public async Task <BackupStatus> CreateBackupAsync(Guid connectionId, Guid clientId)
        {
            return(await Task.Run(() =>
            {
                var connection = GetConnection(connectionId);

                using (var api = new BackupAPIRedirectService(connection.ServiceAddress))
                {
                    return api.CreateBackupAsync(clientId);
                }
            }));
        }
예제 #3
0
        public async Task DeleteAsync(Guid connectionId, int backupId, Guid clientId)
        {
            await Task.Run(() =>
            {
                var connection = GetConnection(connectionId);

                using (var api = new BackupAPIRedirectService(connection.ServiceAddress))
                {
                    return(api.DeleteAsync(new BackupParamDTO {
                        BackupId = backupId, ClientId = clientId
                    }));
                }
            });
        }