2014-11-21 20:32:36 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.ServiceProcess;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using System.Web.Hosting;
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
using TrainInfomationProviderService.StationInfo;
|
|
|
|
|
using TrainInfomationProviderService.StationInfo.Entities;
|
|
|
|
|
using TrainInfomationProviderService.TrainInfo;
|
|
|
|
|
using TrainInfomationProviderService.TrainInfo.Entities;
|
|
|
|
|
|
|
|
|
|
namespace TrainInfomationProviderService
|
|
|
|
|
{
|
|
|
|
|
internal static class Program
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 应用程序的主入口点。
|
|
|
|
|
/// </summary>
|
|
|
|
|
private static void Main(string[] args)
|
|
|
|
|
{
|
|
|
|
|
if (args.Length > 0 && args[0].IsIgnoreCaseEqualTo("--service"))
|
|
|
|
|
{
|
|
|
|
|
var servicesToRun = new ServiceBase[]
|
|
|
|
|
{
|
|
|
|
|
new InformationUpdaterService()
|
|
|
|
|
};
|
|
|
|
|
ServiceBase.Run(servicesToRun);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Trace.Listeners.Add(new ConsoleTraceListener());
|
|
|
|
|
|
|
|
|
|
StationManager.Instance.Init();
|
|
|
|
|
TrainInfoManager.Instance.Init();
|
2014-11-27 23:25:36 +08:00
|
|
|
|
SameStationManager.Init();
|
2014-11-21 20:32:36 +08:00
|
|
|
|
//搜索?
|
2014-11-27 23:25:36 +08:00
|
|
|
|
var searchProvider = new TrainInfoSearchProvider();
|
|
|
|
|
var lines = searchProvider.FindDirectTrains(DateTime.Parse("2014-12-10"), "NVH", "JJG").ToArray();
|
|
|
|
|
var maxTimeRage = lines.Max(s => s.CalculatedMinutesBase);
|
2014-11-28 19:04:24 +08:00
|
|
|
|
|
|
|
|
|
var opt = new TrainTransitSearchOptions();
|
|
|
|
|
opt.InitLimit(780);
|
|
|
|
|
var altLines = searchProvider.FindOnceTransitTrains(DateTime.Parse("2014-12-12"), "NVH", "JJG", opt).ToArray();
|
2014-11-27 23:25:36 +08:00
|
|
|
|
|
|
|
|
|
var availableLines = lines.Select(s => s.Train.Code + "," + s.FromStation.Name + "," + s.ToStation.Name + "," + s.ElapsedTime).ToArray();
|
|
|
|
|
Array.ForEach(altLines.Select(s =>
|
|
|
|
|
s.First.Train.Code + "," + s.First.FromStation.Name + "," + s.First.ToStation.Name + "," + s.First.From.Left.Value + " - " + s.First.To.Arrive.Value + " / " + s.First.ElapsedTime
|
|
|
|
|
+ " -> " + s.Second.Train.Code + "," + s.Second.FromStation.Name + "," + s.Second.ToStation.Name + "," + s.Second.From.Left.Value + " - " + s.Second.To.Arrive.Value + " / " + s.Second.ElapsedTime + " / 等待 " + s.WaitElaspsedTime + " / 总耗时 " + s.TotalElapsedTime
|
|
|
|
|
+ (s.NotRecommand ? " / 不推荐" : "")
|
|
|
|
|
).ToArray(), _ => Trace.TraceInformation(_));
|
|
|
|
|
|
2014-11-21 20:32:36 +08:00
|
|
|
|
//runtime mode
|
|
|
|
|
MessageBox.Show(StationManager.Instance.Storage.Version.ToString());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|