예제 #1
0
        async Task <PersonInfo> GetInfoAsync(Person person)
        {
            PersonInfo personInfo = new PersonInfo();
            int        id         = person.BusinessEntityID;

            //List<Task<PersonInfo>> tasks = new List<Task<PersonInfo>>();
            //tasks.Add(Task.Run(() => dal.GetPersonOpts<Address>(id)));
            //tasks.Add(Task.Run(() => dal.GetPersonOpts<BusinessEntityAddress>(id)));
            //tasks.Add(Task.Run(() => dal.GetPersonOpts<Password>(id)));
            //tasks.Add(Task.Run(() => dal.GetPersonOpts<Person>(id)));
            //tasks.Add(Task.Run(() => dal.GetPersonOpts<PersonPhone>(id)));
            //PersonInfo[] personInfos = await Task.WhenAll(tasks);
            personInfo.Address = await dal.GetPersonOptsAsync <Address>(id);

            personInfo.BusinessEntityAddress = await dal.GetPersonOptsAsync <BusinessEntityAddress>(id);

            personInfo.Password = await dal.GetPersonOptsAsync <Password>(id);

            personInfo.Person = await dal.GetPersonOptsAsync <Person>(id);

            personInfo.PersonPhone = await dal.GetPersonOptsAsync <PersonPhone>(id);

            return(personInfo);
        }