Exemplo n.º 1
0
        public async Task <InsertResponse> GenerateContractsAsync(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 familyMemberIds = await UserManager.GetUsersIdAsync(new UsersIdRequest
            {
                Amount   = request.Count,
                UserType = UserType.FamilyMember
            });

            var contracts = new Faker <Contract>()
                            .RuleFor(u => u.Id, f => ObjectId.GenerateNewId().ToString())
                            .RuleFor(bp => bp.PatientId, f => f.PickRandom(patientIds))
                            .RuleFor(bp => bp.DoctorId, f => f.PickRandom(doctorIds))
                            .RuleFor(bp => bp.FamilyMemberId, f => f.PickRandom(familyMemberIds))
                            .Generate(request.Count).ToList();

            return(await ContractRepository.BulkInsertContractAsync(contracts));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        public async Task <InsertResponse> GenerateHospitalsAsync(GenerateItemsRequest request)
        {
            var hospitals = new Faker <Hospital>()
                            .RuleFor(u => u.Id, f => ObjectId.GenerateNewId().ToString())
                            .RuleFor(bp => bp.Name, f => f.Lorem.Word())
                            .RuleFor(u => u.Level, f => f.PickRandom <HospitalLevel>())
                            .RuleFor(bp => bp.City, f => f.Address.City())
                            .RuleFor(bp => bp.Street, f => f.Address.StreetName())
                            .RuleFor(bp => bp.Country, f => f.Address.Country())
                            .Generate(request.Count).ToList();

            return(await HospitalRepository.Create(hospitals));
        }
Exemplo n.º 4
0
        public async Task <InsertResponse> GenerateDrugstoresAsync(GenerateItemsRequest request)
        {
            var address = Builder <Address> .CreateNew()
                          .With(e => e.City    = Faker.Address.USCity())
                          .With(e => e.Street  = Faker.Address.StreetName())
                          .With(e => e.Country = Faker.Address.Country());

            var hospitalIds = await HospitalManager.GetHospitalsIdAsync();

            var drugstores = new Faker <Drugstore>()
                             .RuleFor(u => u.Id, f => ObjectId.GenerateNewId().ToString())
                             .RuleFor(bp => bp.Name, f => f.Lorem.Word())
                             .RuleFor(bp => bp.HospitalId, f => f.PickRandom(hospitalIds))
                             .RuleFor(u => u.Address, f => address.Build())
                             .Generate(request.Count).ToList();

            return(await DrugstoreRepository.BulkInsertDrugstoresAsync(drugstores));
        }
Exemplo n.º 5
0
        public async Task <InsertResponse> GenerateUsersAsync(GenerateItemsRequest request)
        {
            var users = new Faker <Patient>()
                        .RuleFor(u => u.Id, f => ObjectId.GenerateNewId().ToString())
                        .RuleFor(bp => bp.FirstName, f => f.Lorem.Word())
                        .RuleFor(bp => bp.LastName, f => f.Lorem.Word())
                        .RuleFor(bp => bp.BirthDate, f => f.Date.Between(new DateTime(1930, 1, 1), DateTime.UtcNow))
                        .RuleFor(u => u.Gender, f => f.PickRandom <GenderType>())
                        .RuleFor(u => u.Type, f => UserType.Patient)
                        .RuleFor(bp => bp.Phone, f => f.Phone.PhoneNumber())
                        .RuleFor(bp => bp.Email, f => f.Internet.Email())
                        .RuleFor(bp => bp.City, f => f.Address.City())
                        .RuleFor(bp => bp.Street, f => f.Address.StreetName())
                        .RuleFor(bp => bp.Country, f => f.Address.Country())
                        .RuleFor(u => u.Email,
                                 (f, u) => f.Internet.Email(u.FirstName + f.Random.Number(1, 1000),
                                                            u.LastName + f.Random.Number(1, 1000)))
                        .Generate(request.Count).ToList();

            return(await PatientRepository.Create(users));
        }
Exemplo n.º 6
0
 public async Task <IActionResult> Insert([FromBody] GenerateItemsRequest request)
 {
     return(Ok(await DrugstoreManager.GenerateDrugstoresAsync(request)));
 }
Exemplo n.º 7
0
 public async Task <IActionResult> Insert([FromBody] GenerateItemsRequest request)
 {
     return(Ok(await HospitalManager.GenerateHospitalsAsync(request)));
 }
Exemplo n.º 8
0
 public async Task <IActionResult> Insert([FromBody] GenerateItemsRequest request)
 {
     return(Ok(await ContractManager.GenerateContractsAsync(request)));
 }
Exemplo n.º 9
0
 public async Task <IActionResult> Insert([FromBody] GenerateItemsRequest request)
 {
     return(Ok(await PatientManager.GenerateUsersAsync(request)));
 }