FileshareTransferIssueBuilder
class FileshareTransferIssueBuilder : TransferIssueBuilder, IFileshareTransferIssueBuilder, ITransferIssueBuilder
using Relativity.Transfer.FileShare.Paths;
using Relativity.Transfer.Issues;
using Relativity.Transfer.Paths;
using System;
namespace Relativity.Transfer.FileShare.Issues
{
internal class FileshareTransferIssueBuilder : TransferIssueBuilder, IFileshareTransferIssueBuilder, ITransferIssueBuilder
{
private readonly IPathStatusChecker ;
private readonly IFilesharePathStatusResolver ;
public FileshareTransferIssueBuilder(IPathStatusChecker pathStatusChecker, IFilesharePathStatusResolver pathStatusResolver)
{
this.pathStatusResolver = pathStatusResolver;
this.pathStatusChecker = pathStatusChecker;
}
public IFileshareTransferIssueBuilder (string errorMessage)
{
TransferIssue.Message = errorMessage;
return this;
}
public IFileshareTransferIssueBuilder (TransferPath path, Exception exception)
{
CreateFromException(exception);
TransferIssue.Path = path;
TransferIssue.Message = FileshareErrorHelper.GetErrorMessage(path, exception);
return this;
}
private void (Exception exception)
{
TransferIssue.Message = FileshareErrorHelper.GetErrorMessage(exception);
TransferIssue.Code = exception.HResult;
TransferPathStatus status = pathStatusResolver.Resolve(exception);
TransferIssue.IsRetryable = pathStatusChecker.IsRetrayable(status);
}
}
}