WorkspaceService
using Relativity.Transfer.Dto;
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
namespace Relativity.Transfer
{
public class WorkspaceService : RestServiceBase, IWorkspaceService
{
public WorkspaceService(RelativityConnectionInfo connectionInfo, ITransferLog log)
: base(connectionInfo, log)
{
}
public WorkspaceService(RelativityConnectionInfo connectionInfo, ClientConfiguration configuration, ITransferLog log)
: base(connectionInfo, configuration, log)
{
}
public WorkspaceService(RelativityConnectionInfo connectionInfo, ITransferLog log, int maxRetryAttempts, double timeoutSeconds)
: base(connectionInfo, log, maxRetryAttempts, timeoutSeconds)
{
}
public Task<IEnumerable<Workspace>> GetAllWorkspacesAsync()
{
return GetAllWorkspacesAsync(false);
}
public Task<IEnumerable<Workspace>> GetAllWorkspacesAsync(bool details)
{
return GetAllWorkspacesAsync(details, CancellationToken.None);
}
public Task<IEnumerable<Workspace>> GetAllWorkspacesAsync(CancellationToken token)
{
return GetAllWorkspacesAsync(false, token);
}
public Task<IEnumerable<Workspace>> GetAllWorkspacesAsync(bool details, CancellationToken token)
{
return GetAllWorkspacesAsync(null, details, token);
}
public Task<IEnumerable<Workspace>> GetAllWorkspacesAsync(string condition, CancellationToken token)
{
return GetAllWorkspacesAsync(condition, false, token);
}
[AsyncStateMachine(typeof(<GetAllWorkspacesAsync>d__8))]
public Task<IEnumerable<Workspace>> GetAllWorkspacesAsync(string condition, bool details, CancellationToken token)
{
<GetAllWorkspacesAsync>d__8 stateMachine = default(<GetAllWorkspacesAsync>d__8);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<IEnumerable<Workspace>>.Create();
stateMachine.<>4__this = this;
stateMachine.condition = condition;
stateMachine.details = details;
stateMachine.token = token;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
[AsyncStateMachine(typeof(<GetWorkspaceAsync>d__9))]
public Task<Workspace> GetWorkspaceAsync()
{
<GetWorkspaceAsync>d__9 stateMachine = default(<GetWorkspaceAsync>d__9);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<Workspace>.Create();
stateMachine.<>4__this = this;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
[AsyncStateMachine(typeof(<GetWorkspaceAsync>d__10))]
public Task<Workspace> GetWorkspaceAsync(CancellationToken token)
{
<GetWorkspaceAsync>d__10 stateMachine = default(<GetWorkspaceAsync>d__10);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<Workspace>.Create();
stateMachine.<>4__this = this;
stateMachine.token = token;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
[AsyncStateMachine(typeof(<GetWorkspaceAsync>d__11))]
public Task<Workspace> GetWorkspaceAsync(int workspaceArtifactId)
{
<GetWorkspaceAsync>d__11 stateMachine = default(<GetWorkspaceAsync>d__11);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<Workspace>.Create();
stateMachine.<>4__this = this;
stateMachine.workspaceArtifactId = workspaceArtifactId;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
[AsyncStateMachine(typeof(<GetWorkspaceAsync>d__12))]
public Task<Workspace> GetWorkspaceAsync(int workspaceArtifactId, CancellationToken token)
{
<GetWorkspaceAsync>d__12 stateMachine = default(<GetWorkspaceAsync>d__12);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<Workspace>.Create();
stateMachine.<>4__this = this;
stateMachine.workspaceArtifactId = workspaceArtifactId;
stateMachine.token = token;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
public Task<IEnumerable<FileShareResourceServer>> ()
{
return GetFileShareResourceServersAsync(base.ConnectionInfo.WorkspaceId);
}
public Task<IEnumerable<FileShareResourceServer>> (CancellationToken token)
{
return GetFileShareResourceServersAsync(base.ConnectionInfo.WorkspaceId, token);
}
public Task<IEnumerable<FileShareResourceServer>> (int workspaceArtifactId)
{
return GetFileShareResourceServersAsync(workspaceArtifactId, CancellationToken.None);
}
[AsyncStateMachine(typeof(<GetFileShareResourceServersAsync>d__16))]
public Task<IEnumerable<FileShareResourceServer>> (int workspaceArtifactId, CancellationToken token)
{
<GetFileShareResourceServersAsync>d__16 stateMachine = default(<GetFileShareResourceServersAsync>d__16);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<IEnumerable<FileShareResourceServer>>.Create();
stateMachine.<>4__this = this;
stateMachine.workspaceArtifactId = workspaceArtifactId;
stateMachine.token = token;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
public Task<IEnumerable<SqlResourceServer>> GetSqlResourceServersAsync()
{
return GetSqlResourceServersAsync(base.ConnectionInfo.WorkspaceId);
}
public Task<IEnumerable<SqlResourceServer>> GetSqlResourceServersAsync(CancellationToken token)
{
return GetSqlResourceServersAsync(base.ConnectionInfo.WorkspaceId, token);
}
public Task<IEnumerable<SqlResourceServer>> GetSqlResourceServersAsync(int workspaceArtifactId)
{
return GetSqlResourceServersAsync(workspaceArtifactId, CancellationToken.None);
}
[AsyncStateMachine(typeof(<GetSqlResourceServersAsync>d__20))]
public Task<IEnumerable<SqlResourceServer>> GetSqlResourceServersAsync(int workspaceArtifactId, CancellationToken token)
{
<GetSqlResourceServersAsync>d__20 stateMachine = default(<GetSqlResourceServersAsync>d__20);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<IEnumerable<SqlResourceServer>>.Create();
stateMachine.<>4__this = this;
stateMachine.workspaceArtifactId = workspaceArtifactId;
stateMachine.token = token;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
private SqlResourceServer CreateSqlResourceServer(SqlResourceServerDto dto, bool cloudInstance)
{
return new SqlResourceServer {
ArtifactId = dto.ArtifactId,
BcpPath = base.FileSystemService.TrimTrailingSlash(dto.BcpPath),
CloudInstance = cloudInstance,
Name = dto.Name,
ResourceServerType = new ResourceServerType {
ArtifactId = dto.ServerType.ArtifactId,
Name = dto.ServerType.Name
},
Version = dto.Version
};
}
private Workspace CreateWorkspace(WorkspaceDto dto)
{
return new Workspace {
ArtifactId = dto.ArtifactId,
DefaultFileShareUncPath = base.FileSystemService.TrimTrailingSlash(dto.DefaultFileLocation),
DownloadHandlerUrl = dto.DownloadHandlerUrl,
Name = dto.Name
};
}
[AsyncStateMachine(typeof(<RetrieveWorkspaceGuidAsync>d__23))]
private Task<List<Guid>> RetrieveWorkspaceGuidAsync(int workspaceArtifactId, CancellationToken token)
{
<RetrieveWorkspaceGuidAsync>d__23 stateMachine = default(<RetrieveWorkspaceGuidAsync>d__23);
stateMachine.<>t__builder = AsyncTaskMethodBuilder<List<Guid>>.Create();
stateMachine.<>4__this = this;
stateMachine.workspaceArtifactId = workspaceArtifactId;
stateMachine.token = token;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
[AsyncStateMachine(typeof(<RetrieveDetailsAsync>d__24))]
private Task RetrieveDetailsAsync(Workspace workspace, bool cloudInstance, bool details, CancellationToken token)
{
<RetrieveDetailsAsync>d__24 stateMachine = default(<RetrieveDetailsAsync>d__24);
stateMachine.<>t__builder = AsyncTaskMethodBuilder.Create();
stateMachine.<>4__this = this;
stateMachine.workspace = workspace;
stateMachine.cloudInstance = cloudInstance;
stateMachine.details = details;
stateMachine.token = token;
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
}
}