public async Task <InsertResponse> GenerateHistoriesAsync(GenerateItemsRequest request) { var patientIds = await UserManager.GetUsersIdAsync(new UsersIdRequest { Amount = request.Count, UserType = UserType.Patient }); var doctorIds = await UserManager.GetUsersIdAsync(new UsersIdRequest { Amount = request.Count, UserType = UserType.Doctor }); var historyPoints = Builder <HistoryPoint> .CreateNew() .With(e => e.CreationDate = Date.Between(new DateTime(1930, 1, 1), DateTime.UtcNow)) .With(e => e.Report = Faker.Lorem.Paragraph()); var histories = new Bogus.Faker <History>() .RuleFor(u => u.Id, f => ObjectId.GenerateNewId().ToString()) .RuleFor(bp => bp.DoctorId, f => f.PickRandom(doctorIds)) .RuleFor(bp => bp.PatientId, f => f.PickRandom(patientIds)) .RuleFor(u => u.HistoryPoints, f => f.Make(10, () => historyPoints.Build())) .Generate(request.Count).ToList(); return(await HistoryRepository.BulkInsertHistoriesAsync(histories)); }