Exemplo n.º 1
0
        public async Task <IEnumerable <Person> > SearchPeople(int quantity, Province?province = null, AutonomousCommunity?region = null, Gender gender = null)
        {
            quantity.EnsureQuantityIsInValidRange();

            var names    = (await nameSearcher.Search(quantity, gender)).ToList();
            var surnames = (await surnameSearcher.Search(quantity * 2)).ToList();
            var places   = (await placeSearcher.Search(quantity, province, region)).ToList();

            var people = new List <Person>();

            foreach (var _ in Enumerable.Range(0, quantity))
            {
                var firstName = names.RandomElement(randomProvider);
                names.Remove(firstName);

                var middleName = surnames.RandomElement(randomProvider);
                surnames.Remove(middleName);

                var lastName = surnames.RandomElement(randomProvider);
                surnames.Remove(lastName);

                var place = places.RandomElement(randomProvider);
                places.Remove(place);

                var birthDate = dateProvider.GetRandomBirthDate(randomProvider);

                var idCardNumber = new IdCard(randomProvider).ToString();

                people.Add(new Person(firstName, middleName, lastName, gender ?? firstName.Gender,
                                      place, birthDate, idCardNumber));
            }
            return(people);
        }
Exemplo n.º 2
0
        public async Task <ActionResult <IEnumerable <SurnameViewModel> > > Get(int count = 100)
        {
            var surnameList = await surnameSearcher.Search(count);

            var result = surnameList.Select(x => new SurnameMapper(x).Map()).ToList();

            return(Ok(result));
        }