/// <summary> /// 将车次信息写入数据库 /// </summary> /// <param name="table"></param> private static void WriteTrainNo(TimeTable table) { var trainNoBll = new TrainNoBll(); table.TrainNo = trainNoBll.Insert(table.TrainNo); DataUpdateLog.SingleUpdate(nameof(TrainNo), table.TrainNo.Id, DataUpdateType.Insert); // 将数据更新记录同步到DbUpdataLog表中 _trainNoCaches.Add(table.TrainNo); }
/// <summary> /// 将线路信息写入数据库 /// </summary> /// <param name="table"></param> private static void WriteLine(TimeTable table) { var lineBll = new BaseLineBll(); table.Line.FirstStationId = _stationCaches.Find(item => item.StationName == table.Line.FirstStation).Id; table.Line.LastStationId = _stationCaches.Find(item => item.StationName == table.Line.LastStation).Id; table.Line = lineBll.Insert(table.Line); DataUpdateLog.SingleUpdate(nameof(BaseLine), table.Line.Id, DataUpdateType.Insert); // 将数据更新记录同步到DbUpdataLog表中 }
/// <summary> /// 构造车次-线路关系并写入数据库 /// </summary> private static TrainNoLine WriteTrainNoLineRelation(TrainNo trainNo, BaseLine line) { var trainNoLineRelation = new TrainNoLine { LineId = line.Id, Sort = 0, TrainNoId = trainNo.Id, UpdateTime = DateTime.Now }; new TrainNoLineBll().Insert(trainNoLineRelation); DataUpdateLog.SingleUpdate(nameof(TrainNoLine), trainNoLineRelation.Id, DataUpdateType.Insert); return(trainNoLineRelation); }
/// <summary> /// 将指定集合中的车站信息写入数据库,并确保数据库中不会存在同名的车站 /// 对于已经存在的车站则查询数据库,将新值存入返回的集合中 /// 对于新的车站则插入数据库,将插入后的新值存入返回的集合中 /// 最终返回的集合中所有的车站均带有唯一主键 /// </summary> /// <param name="stations">待写稿的车站信息集合</param> /// <returns><see cref="List{BaseStation}"/>对象</returns> private static List <BaseStation> WriteStations(List <BaseStation> stations) { var stationBll = new BaseStationBll(); var newStations = new List <BaseStation>(); stations.ForEach(s => { var temp = _stationCaches.Find(item => item.StationName == s.StationName); if (temp != null) { newStations.Add(temp); } else { stationBll.Insert(s); DataUpdateLog.SingleUpdate(nameof(BaseStation), s.Id, DataUpdateType.Insert); newStations.Add(s); _stationCaches.Add(s); } }); return(newStations); }