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 { /// /// 应用程序的主入口点。 /// 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(); SameStationManager.Init(); //搜索? var searchProvider = new TrainInfoSearchProvider(); var lines = searchProvider.FindDirectTrains(DateTime.Parse("2014-12-10"), "NVH", "JJG").ToArray(); var maxTimeRage = lines.Max(s => s.CalculatedMinutesBase); var opt = new TrainTransitSearchOptions(); opt.InitLimit(780); var altLines = searchProvider.FindOnceTransitTrains(DateTime.Parse("2014-12-12"), "NVH", "JJG", opt).ToArray(); 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(_)); //runtime mode MessageBox.Show(StationManager.Instance.Storage.Version.ToString()); } } } }