private static int GetLineNo(GetDepartureArrivalResponseGetDepartureArrivalResultLine departure) { if (int.TryParse(departure.Name, out var value)) { //Stadsbuss return(value); } if (departure.LineTypeId == 2) { // SkåneExpressen return(int.Parse(departure.Name.Split(' ').Last())); } return(departure.LineTypeId == 32 || departure.LineTypeId == 128 ? departure.TrainNo : departure.No); }
private static Departure CreateDeparture(GetDepartureArrivalResponseGetDepartureArrivalResultLine departure) { var d = new Departure() { RunNo = departure.RunNo, No = GetLineNo(departure), Name = departure.Name, Towards = departure.Towards, LineType = departure.LineTypeName, DepartureTime = departure.JourneyDateTime, }; d.DepartureTimeDeviation = departure?.RealTime?.RealTimeInfo?.DepTimeDeviation ?? null; if (d.DepartureTimeDeviation == 0) { d.DepartureTimeDeviation = null; } var deviations = new List <Deviation>(); if (departure != null) { foreach (var deviation in departure.Deviations) { deviations.Add(new Deviation() { Header = deviation.Header, ShortText = deviation.Details, Importance = deviation.Importance, Urgency = deviation.Urgency, Influence = deviation.Influence }); } } d.Deviations = deviations; return(d); }