<PackageReference Include="Relativity.Server.Transfer.SDK" Version="7.7.0" />

FileshareTransferIssueBuilder

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 pathStatusChecker; private readonly IFilesharePathStatusResolver pathStatusResolver; public FileshareTransferIssueBuilder(IPathStatusChecker pathStatusChecker, IFilesharePathStatusResolver pathStatusResolver) { this.pathStatusResolver = pathStatusResolver; this.pathStatusChecker = pathStatusChecker; } public IFileshareTransferIssueBuilder CreateFromErrorMessage(string errorMessage) { TransferIssue.Message = errorMessage; return this; } public IFileshareTransferIssueBuilder CreateFromException(TransferPath path, Exception exception) { CreateFromException(exception); TransferIssue.Path = path; TransferIssue.Message = FileshareErrorHelper.GetErrorMessage(path, exception); return this; } private void CreateFromException(Exception exception) { TransferIssue.Message = FileshareErrorHelper.GetErrorMessage(exception); TransferIssue.Code = exception.HResult; TransferPathStatus status = pathStatusResolver.Resolve(exception); TransferIssue.IsRetryable = pathStatusChecker.IsRetrayable(status); } } }