Пример #1
0
        private void GetData(object sender, DoWorkEventArgs e)
        {
            try
            {
                //使用companyroot数据时 从pageHelp.data调用
                //使用fileroot数据时 从result调用
                companyRoot = Scrapy.GetCompany();
                fileRoot    = Scrapy.GetFiles();
            }
            catch (Exception exception)
            {
                if (exception.Message == "0")
                {
                    DialogResult dialog = MessageBox.Show("在线获取数据失败\n是否加载本地文件数据?", "错误", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
                    if (dialog == DialogResult.OK)
                    {
                        e.Result = "加载本地数据";
                        return;
                    }
                }
                else
                {
                    MessageBox.Show(exception.ToString());
                }
            }
            //异步获取并初始化数据
            toolStripStatusLabel1.Text = "初始化数据";
            // 在这里校验一波公司名 避免搞事情
            foreach (var data in companyRoot.pageHelp.data)
            {
                if (data.stockAuditName != data.stockIssuer[0].s_issueCompanyFullName)
                {
                    data.stockAuditName = data.stockIssuer[0].s_issueCompanyFullName;
                }
                //处理特殊状态
                if (data.currStatus == "5")
                {
                    data.currStatus += "-" + data.registeResult;
                }
                var statu = statuDictionary.Where(q => q.Value == data.currStatus).First();
                if (localstatus.ContainsKey(data.stockAuditName))
                {
                    if (localstatus[data.stockAuditName] != statu.Key)
                    {
                        //状态不一致 移动目录
                        //MessageBox.Show("公司" + data.stockAuditName+" 最新状态" +statu.Key +" 老状态"+localstatus[data.stockAuditName]);
                        DirectoryInfo olddir = new DirectoryInfo(Result.localBasePath + "\\" + localstatus[data.stockAuditName] + "\\" + data.stockAuditName);
                        DirectoryInfo dir2   = new DirectoryInfo(Result.localBasePath + "\\" + statu.Key);
                        if (!dir2.Exists)
                        {
                            dir2.Create();
                        }
                        olddir.MoveTo(Result.localBasePath + "\\" + statu.Key + "\\" + data.stockAuditName);
                        localstatus[data.stockAuditName] = statu.Key;
                        toolStripStatusLabel1.Text       = data.stockAuditName + " 申报状态由 " +
                                                           localstatus[data.stockAuditName] + " 变为 " + statu.Key;
                    }
                }
            }
            foreach (Result res in fileRoot.result)
            {
                //让company和file互相引用
                Data companyData = (from c in companyRoot.pageHelp.data
                                    where c.stockAuditName == res.companyFullName
                                    select c).First();
                string currStatus = companyData.currStatus;
                var    statu      = statuDictionary.FirstOrDefault(q => q.Value == currStatus).Key;
                res.CompanyStatus = statu;
                res.CompanyData   = companyData;
                //if (companyData.FileResults == null)
                //{
                //    //先要初始化列表
                //    companyData.FileResults = new List<Result>();
                //}
                companyData.FileResults.Add(res);
            }

            resultTemp = fileRoot.result.ToList();
            e.Result   = "GetData";
        }
Пример #2
0
 private void HacerConsultaXPath()
 {
     scrapy           = new Scrapy(DocumentoAScrapearHtml);
     ResultadoScrapeo = scrapy.SeleccionarNodosXPath(TextoConsultaXpath);
 }