Esempio n. 1
0
        public async Task <IActionResult> GenerateRandomizedDataForGenericBank([FromBody] GenerateDataDTO dto)
        {
            dto.UserId = GetLoggedUserId();
            await _transactionService.GenerateRandomizedDataForGenericBank(dto);

            return(Ok());
        }
Esempio n. 2
0
        public async Task GenerateRandomizedDataForGenericBank(GenerateDataDTO dto)
        {
            var bankAccount = await _bankAccountRepository.GetById(dto.BankAccountId);

            Validate.NotNull(bankAccount);
            Validate.IsTrue(bankAccount.Code == BankCode.GENERICBANK.Value, "Access Denied");

            Validate.IsTrue(bankAccount.UserId == dto.UserId, "Access Denied");

            var fakeTransactions = new Faker <Transaction>()
                                   .RuleFor(t => t.BankAccountId, dto.BankAccountId)
                                   .RuleFor(t => t.Date, f => new DateTime(dto.Year, dto.Month, f.Random.Int(1, 27)))
                                   .RuleFor(t => t.Category, f => f.PickRandom <Category>())
                                   .RuleFor(t => t.Amount, f => f.Finance.Amount())
                                   .RuleFor(t => t.Origin, f => f.Company.CompanyName())
                                   .RuleFor(t => t.Metadata, f => $"GenericBank_{Guid.NewGuid()}")
                                   .Generate(dto.Quantity);

            _transactionRepository.InsertRange(fakeTransactions);

            Validate.IsTrue(await _uow.CommitAsync(), "Ocorreu um problema na criação das transações");
        }