/// <summary> /// 加载所有的列车 /// </summary> /// <returns></returns> public static bool LoadTheAllTrain(string date, Action <int, int> action, Action <string> msgAction) { try { //从文件中加载,可以加载所有的站点 //var sns = LoadStationNames(); //从DB中加载,仅加载大部分城市 var sns = StationEntityServer.GetStations().ToArray(); List <string> trainNos = GetAllTrains(); var random = new Random(); var total = sns.Length * sns.Length; for (var i = 0; i < sns.Length; ++i) { for (var j = 0; j < sns.Length; ++j) { if (!IsContinue) { return(true); } action(i * sns.Length + j, total); if (sns[i].SC != sns[j].SC) { msgAction(string.Format("开始获取{0}——{1}", sns[i].SC, sns[j].SC)); try { var b = LoadTrain(sns[i].SC, sns[j].SC, date, trainNos); if (b) { msgAction(string.Format("获取{0}——{1}成功!!!", sns[i].SC, sns[j].SC)); } } catch (Exception e) { msgAction(string.Format("获取{0}——{1}失败【{2}】", sns[i].SC, sns[j].SC, e.Message)); //HtmlHelp.SaveTxtFile("Error.txt", e.Message, true); //return false; } Thread.Sleep(random.Next(2, 5) * 1000); } else { msgAction(string.Format("跳过{0}——{1}", sns[i].SC, sns[j].SC)); } } } return(true); } catch (Exception ex) { msgAction(ex.Message + "\r\n" + ex.StackTrace); return(false); } }
/// <summary> /// 保存站点名称到DB /// </summary> /// <param name="stations"></param> public static void SaveStationNames(StationEntity[] stations) { StationEntityServer.InsertStationNames(stations); }