コード例 #1
0
        public void Test_Validation_FormFile_With_Supported_ContentType(string contentType)
        {
            // Arrange
            _formFileMock.Setup(x => x.Length).Returns(1024);
            _formFileMock.Setup(x => x.ContentType).Returns(contentType);

            // Act
            var validationResult = _validator.Validate(_formFileMock.Object);

            // Assert
            Assert.AreEqual(false, validationResult.HasErrors);
        }
コード例 #2
0
        public async Task <ValidationResult> Handle(UploadTransactionCommand request, CancellationToken cancellationToken)
        {
            var validationResult = _fileValidator.Validate(request.FormFile);

            if (validationResult.HasErrors)
            {
                return(validationResult);
            }

            try
            {
                var exportReadResult = _transactionService.GetReadExportResult(request.FormFile);

                if (exportReadResult.ValidationResult != null && exportReadResult.ValidationResult.HasErrors)
                {
                    await _transactionLogService.LogErrorAsync(exportReadResult.InvalidTransactionsJson);

                    return(exportReadResult.ValidationResult);
                }

                var transactionIds     = exportReadResult.Transactions.Select(x => x.TransactionId);
                var exportedDuplicates = await _transactionService.GetByAsync(transactionIds);

                await _transactionService.InsertAsync(exportReadResult.Transactions, exportedDuplicates);

                await _transactionService.UpdateAsync(exportReadResult.Transactions, exportedDuplicates);

                _cacheManager.RemoveByPrefix(TransactionCacheDefaults.MainTransactionPrefix);
            }
            catch (Exception exception)
            {
                Log.Error(exception, string.Empty);
                validationResult.Errors.Add("Upload wasn't successful");
            }

            return(validationResult);
        }