示例#1
0
        /// <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);
        }
示例#2
0
        /// <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表中
        }
示例#3
0
        /// <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);
        }
示例#4
0
        /// <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);
        }