diff --git a/FileProcessor.BusinessLogic/RequestHandlers/FileRequestHandler.cs b/FileProcessor.BusinessLogic/RequestHandlers/FileRequestHandler.cs index 7dc2a73..a41444d 100644 --- a/FileProcessor.BusinessLogic/RequestHandlers/FileRequestHandler.cs +++ b/FileProcessor.BusinessLogic/RequestHandlers/FileRequestHandler.cs @@ -124,7 +124,7 @@ public FileRequestHandler(IFileProcessorManager fileProcessorManager, public async Task Handle(UploadFileRequest request, CancellationToken cancellationToken) { - DateTime importLogDateTime = DateTime.Now; + DateTime importLogDateTime = request.FileUploadedDateTime; // This will now create the import log and add an event for the file being uploaded Guid importLogId = this.CreateGuidFromDateTime(importLogDateTime.Date); diff --git a/FileProcessor.DataTransferObjects/Requests/UploadFileRequest.cs b/FileProcessor.DataTransferObjects/Requests/UploadFileRequest.cs index 3e2e703..9df0c92 100644 --- a/FileProcessor.DataTransferObjects/Requests/UploadFileRequest.cs +++ b/FileProcessor.DataTransferObjects/Requests/UploadFileRequest.cs @@ -4,18 +4,54 @@ namespace FileProcessor.DataTransferObjects { using Newtonsoft.Json; + /// + /// + /// public class UploadFileRequest { + /// + /// Gets or sets the estate identifier. + /// + /// + /// The estate identifier. + /// [JsonProperty("estate_id")] public Guid EstateId { get; set; } + /// + /// Gets or sets the merchant identifier. + /// + /// + /// The merchant identifier. + /// [JsonProperty("merchant_id")] public Guid MerchantId { get; set; } + /// + /// Gets or sets the user identifier. + /// + /// + /// The user identifier. + /// [JsonProperty("user_id")] public Guid UserId { get; set; } + /// + /// Gets or sets the file profile identifier. + /// + /// + /// The file profile identifier. + /// [JsonProperty("file_profile_id")] public Guid FileProfileId { get; set; } + + /// + /// Gets or sets the upload date time. + /// + /// + /// The upload date time. + /// + [JsonProperty("upload_date_time")] + public DateTime UploadDateTime { get; set; } } } diff --git a/FileProcessor/Controllers/FileController.cs b/FileProcessor/Controllers/FileController.cs index 30cabdf..2bef2aa 100644 --- a/FileProcessor/Controllers/FileController.cs +++ b/FileProcessor/Controllers/FileController.cs @@ -88,9 +88,14 @@ public async Task UploadFile([FromForm] UploadFileRequest request await file.CopyToAsync(stream, cancellationToken); } + if (request.UploadDateTime == DateTime.MinValue) + { + request.UploadDateTime = DateTime.Now; + } + // Create a command with the file in it BusinessLogic.Requests.UploadFileRequest uploadFileRequest = - new BusinessLogic.Requests.UploadFileRequest(request.EstateId, request.MerchantId, request.UserId, fullPath, request.FileProfileId, DateTime.Now); + new BusinessLogic.Requests.UploadFileRequest(request.EstateId, request.MerchantId, request.UserId, fullPath, request.FileProfileId, request.UploadDateTime); Guid fileId = await this.Mediator.Send(uploadFileRequest, cancellationToken);