コード例 #1
0
        private async Task <List <CompanyDetail> > ObtainAndCleanExternalData(DownloadListedFirms dataSource)
        {
            var allCompanies = await dataSource.GetCompanyList();

            allCompanies = allCompanies.Where(ac => !string.IsNullOrEmpty(ac.Ticker) &&
                                              !string.IsNullOrEmpty(ac.SimId) &&
                                              !string.IsNullOrEmpty(ac.Name))
                           .OrderBy(ac => ac.Ticker).ToList();
            CompanyDetails = allCompanies;
            return(allCompanies);
        }
コード例 #2
0
        public async Task <List <CompanyDetail> > GetAllCompaniesAsync()
        {
            var tmpList = await _dlf.GetCompanyList();

            allCompanies = new List <CompanyDetailMd>();
            var dbCompanies = _dbconCompany.Get().ToList();

            if (dbCompanies.Count() < 100 || dbCompanies.Where(x => x.IndustryTemplate.IsNullOrWhiteSpace()).Count() < 20)
            {
                var deleteStatus = await _dbconCompany.RemoveAll();

                if (deleteStatus == false)
                {
                    return(null);
                }
            }
            dbCompanies = _dbconCompany.Get().ToList();
            if (tmpList == null)
            {
                return(Mapper.Map <List <CompanyDetailMd>, List <CompanyDetail> >(dbCompanies));
            }
            foreach (var company in tmpList)
            {
                var dbCompany = dbCompanies.Where(x => x.SimId == company.SimId).FirstOrDefault();
                if (dbCompany != null)
                {
                    dbCompany.Name   = company.Name;
                    dbCompany.Ticker = company.Ticker;
                    allCompanies.Add(dbCompany);
                }
                else
                {
                    allCompanies.Add(new CompanyDetailMd(company));
                }
            }
            var insertStatus = await _dbconCompany.UpdateMultiple(allCompanies);

            if (insertStatus)
            {
                var listOfAllCompanies = Mapper.Map <List <CompanyDetailMd>, List <CompanyDetail> >(allCompanies);
                return(listOfAllCompanies);
            }
            return(null);
        }