Example #1
0
        /// <summary>
        /// <see cref="TrainData.ArrivalTypes"/>の日本語名を取得します。
        /// </summary>
        /// <param name="arrivalTypes"></param>
        /// <returns></returns>
        public static string GetName(this TrainData.ArrivalTypes arrivalTypes)
        {
            switch (arrivalTypes)
            {
            case TrainData.ArrivalTypes.Arrival:
                return("出発");

            case TrainData.ArrivalTypes.Departure:
                return("到着");

            case TrainData.ArrivalTypes.Through:
                return("通過");

            default:
                throw new NotSupportedException();
            }
        }
Example #2
0
 public static TrainData ParseTrainData(RawTrainData rawTrainData, int getedHour, Station station, TrainData.ArrivalTypes arrivalTypes)
 {
     try
     {
         var name        = TrainNameParser.GetTrainName(rawTrainData.TrainName, rawTrainData.TrainType);
         var time        = TrainTimeParser.GetTrainTime(rawTrainData.Time, getedHour);
         var destination = TrainDestParser.GetTrainDestination(rawTrainData.Destination);
         var condition   = TrainConditionParser.GetTrainCondition((TrainData.TrainConditions)rawTrainData.Status, rawTrainData.Addition, rawTrainData.NowPosition);
         var nowPosition = TrainPositionTextParser.GetTrainPosition(rawTrainData.NowPosition);
         return(new TrainData(name, time, station, arrivalTypes, destination, condition, nowPosition));
     }
     catch (Exception ex)
     {
         throw new TrainDataParseException(rawTrainData, "列車データのパースに失敗しました", ex);
     }
 }