Пример #1
0
        //The url should be the first page of xiaoqu list like the url in the default value of the parameter url
        public async Task <List <Community> > ReadAllCommunities(string url = SeashellConst.CommunityMainPageXianURL)
        {
            string firstPage = string.Format(url, 1);

            int pageNum = await SeashellPageHandlers.ReadCommunityListPageNumber(firstPage);

            List <Community> communities = new List <Community>();

            for (int page = 1; page <= pageNum; page++)
            {
                communities = communities.Concat(SeashellPageHandlers.ReadCommunityListData(string.Format(url, page)).Result).ToList();
            }

            //communities.AsParallel().ForAll(community =>
            //{
            //    Community communityDetail = SeashellPageHandlers.ReadCommunityDetailData(community.SeashellURL).Result;

            //    community.BuildingNumber = communityDetail.BuildingNumber;
            //    community.Unit = communityDetail.Unit;
            //});

            return(communities);
        }
Пример #2
0
        public async Task <List <Community> > ReadCommunityDetailInfo(List <Community> communities)
        {
            foreach (Community community in communities)
            {
                Community communityDetail = new Community();
                try
                {
                    communityDetail = await SeashellPageHandlers.ReadCommunityDetailData(community.SeashellURL);
                }
                catch (Exception e)
                {
                    Log.Logger.Error(e, community.CommunityName + community.CommunityId);

                    community.BuildingNumber = 0;
                    community.Unit           = 0;
                    continue;
                }

                community.BuildingNumber = communityDetail.BuildingNumber;
                community.Unit           = communityDetail.Unit;
            }

            return(communities);
        }