Пример #1
0
        private static string GetTrains(string f, string t)
        {
            StringBuilder       sb  = new StringBuilder();
            List <CStationInfo> csl = new List <CStationInfo>();
            List <TrainInfo>    tl  = TrainFactory.GetTrains(f, t, out csl);

            if (tl.Count > 0)
            {
                sb.AppendLine("\t找到 " + tl.Count + " 趟列车");
                sb.AppendLine(string.Format("{0,-8}\t{1,3}\t{2,3}\t{3,3}\t{4,3}\t{5,4}\t{6,4}\t{7,4}", "车次", "始发站", "终点站", "发站", "发时", "到站", "到时", "历时"));
                foreach (TrainInfo ti in tl)
                {
                    sb.AppendLine(string.Format("{0,-10}\t{1,6}\t{2,6}\t{3,6}\t{4,6}\t{5,6}\t{6,6}\t{7,6}", ti.TId, ti.FirstStation.Station, ti.EndStation.Station, ti.StartStation.Station, TrainFactory.TimeSpanToString(ti.StartStation.StartTime, "{1:00}:{2:00}"), ti.EndStation.Station, TrainFactory.TimeSpanToString(ti.EndStation.EndTime, "{1:00}:{2:00}"), TrainFactory.TimeSpanToString(ti.LastTime, "{0:00}:{1:00}", "")));
                }
            }
            else if (csl.Count > 0)
            {
                sb.AppendLine("\t无直达列车,找到中转站 " + csl.Count + " 个");
                sb.AppendLine(string.Format("{0,3}\t{1,5}\t{2,5}\t{3,5}\t{4,4}\t{5,4}", "中转站", "中转前历时", "中转后历时", "总历时", "发车数", "到站车数"));
                foreach (CStationInfo csi in csl)
                {
                    sb.AppendLine(string.Format("{0,3}\t{1,10}\t{2,10}\t{3,10}\t{4,6}\t{5,8}", csi.Station, TrainFactory.TimeSpanToString(csi.BeforeTime, "{0:00}:{1:00}"), TrainFactory.TimeSpanToString(csi.AfterTime, "{0:00}:{1:00}"), TrainFactory.TimeSpanToString(csi.TotalTime, "{0:00}:{1:00}"), csi.BeforeStations, csi.AfterStations));
                }
            }
            else
            {
                return("没找到" + f + "到" + t + "之间的列车!");
            }

            return(sb.ToString());
        }
Пример #2
0
        private static string GetTrain(string p)
        {
            StringBuilder sb = new StringBuilder();
            TrainInfo     ti = TrainFactory.GetTrain(p);

            if (ti.FirstStation == null)
            {
                return("没有该趟列车!");
            }
            else
            {
                sb.AppendLine(string.Format("{0,-6}\t{1,4}\t{2,4}\t{3,4}\t{4,8}\t{5,4}\t{6,4}", "车站", "到时", "发时", "天数", "里程(km)", "平均车速", "历时"));
                foreach (StationInfo si in ti.StationList)
                {
                    sb.AppendLine(string.Format("{0,6}\t{1,6}\t{2,6}\t{3,3}\t{4,8}\t{5,8}\t{6,6}", si.Station, TimeSpanToString(si.EndTime), TimeSpanToString(si.StartTime), DayToString(si.StartTime.Days == 30 ? si.EndTime.Days : si.StartTime.Days), si.Km, si.Speed.ToString("F00"), TrainFactory.TimeSpanToString(si.LastTime, "{0:00}:{1:00}", "")));
                }
            }

            return(sb.ToString());
        }
Пример #3
0
        private static string GetTrains(string f, string t, string c)
        {
            StringBuilder sb = new StringBuilder();
            //List<CStationInfo> csl = new List<CStationInfo>();
            List <TrainInfo> tl = TrainFactory.GetTrains(f, c, t);

            if (tl.Count > 0)
            {
                sb.AppendLine("\t查询结果");
                sb.AppendLine("\t车次\t始发站\t终点站\t发 站\t发时\t到站\t到时");
                foreach (TrainInfo ti in tl)
                {
                    sb.AppendLine(string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}", ti.TId, ti.FirstStation.Station, ti.EndStation.Station, ti.StartStation.Station, TrainFactory.TimeSpanToString(ti.StartStation.StartTime, "{1:00}:{2:00}"), ti.EndStation.Station, TrainFactory.TimeSpanToString(ti.EndStation.StartTime, "{1:00}:{2:00}")));
                }
            }
            else
            {
                return(string.Format("{0} 和 {1} 之间不能直接通过 {2}中转!", f, t, c));
            }
            return(sb.ToString());
        }