feat(PostDocumentRequest): Erstellen UploadDocumentRequest, um den Dokumenten-Upload-Prozess von PostDocumentRequest zu trennen.

- Aktualisieren den Controller, um den Upload-Prozess zu verarbeiten.
This commit is contained in:
tekh 2025-08-18 10:48:15 +02:00
parent ccecf47dca
commit 21cc348c6c
2 changed files with 9 additions and 5 deletions

View File

@ -7,10 +7,15 @@ namespace Leanetec.EConnect.Client.Order;
public record PostDocumentRequest(string TenantId, int OrderId) : HttpRequest<Response<ProblemDetail>>
{
public StreamContent Content { get; set; } = null!;
public UploadDocumentRequest ToUploadDocument(StreamContent content)
{
return new UploadDocumentRequest(this, content);
}
}
public class PostDocumentRequestHandler : IRequestHandler<PostDocumentRequest, Response<ProblemDetail>>
public record UploadDocumentRequest(PostDocumentRequest Original, StreamContent Content) : PostDocumentRequest(Original);
public class PostDocumentRequestHandler : IRequestHandler<UploadDocumentRequest, Response<ProblemDetail>>
{
private readonly IEConnectClient<ProblemDetail> _client;
@ -19,7 +24,7 @@ public class PostDocumentRequestHandler : IRequestHandler<PostDocumentRequest, R
_client = client;
}
public async Task<Response<ProblemDetail>> Handle(PostDocumentRequest request, CancellationToken cancel)
public async Task<Response<ProblemDetail>> Handle(UploadDocumentRequest request, CancellationToken cancel)
{
return await _client.PostAsync(
request.Content,

View File

@ -37,9 +37,8 @@ public class OrderController : ControllerBase
using var streamContent = new StreamContent(stream);
streamContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(file.ContentType);
content.Add(streamContent, "file", file.FileName);
request.Content = streamContent;
var res = await _mediator.Send(request, cancel);
var res = await _mediator.Send(request.ToUploadDocument(streamContent), cancel);
if (res.Ok)
{