diff --git a/bahnplan.web/Pages/OEAPI.cshtml.cs b/bahnplan.web/Pages/OEAPI.cshtml.cs index b267c4f..5eebad9 100644 --- a/bahnplan.web/Pages/OEAPI.cshtml.cs +++ b/bahnplan.web/Pages/OEAPI.cshtml.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using System.Net; +using System.Text.RegularExpressions; using bahnplan.web.database; using bahnplan.web.database.Tables; using bahnplan.web.JSON; @@ -49,11 +50,17 @@ namespace bahnplan.web.Pages { var deptime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); arrtime = arrtime.AddSeconds((long) journey.Arrival.PlannedTime).ToLocalTime(); deptime = deptime.AddSeconds((long) journey.Departure.PlannedTime).ToLocalTime(); + var trainNo = int.Parse(journey.Line.TripNum); + if (trainNo == 0) { + var extractedTrainNo = Regex.Match(journey.Line.Name, @"\d+").Value; + if (extractedTrainNo.Length > 0) + trainNo = int.Parse(extractedTrainNo); + } db.InsertWithInt32Identity(new Leg { TripId = tripId, UserId = int.Parse(HttpContext.Session.GetString("uid")), TrainType = journey.Line.ProductName, - TrainNr = int.Parse(journey.Line.TripNum), + TrainNr = trainNo, ArrStation = journey.Arrival.Point.Stop.Name, ArrStationId = int.Parse(journey.Arrival.Point.Stop.Id), ArrTime = arrtime.ToString("yyyy-MM-ddTHH:mm:ss"),