public async Task <IActionResult> GenerateRandomizedDataForGenericBank([FromBody] GenerateDataDTO dto) { dto.UserId = GetLoggedUserId(); await _transactionService.GenerateRandomizedDataForGenericBank(dto); return(Ok()); }
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"); }