public DestinationRowViewModel(DarwinService service) : this() { this.Headcode = service.Rsid; this.Platform = service.Platform; this.ScheduledDepartureTime = service.ScheduledDepartureTime; this.DepartureTime = service.EstimeatedDepartureTime; this.PointName = buildDestination(service.CurrentDestinations, service.Destination); this.ServiceMessage = Util.StringArrayToLines(service.AdhocAlerts); this.minutesLate = Util.CalculateDelayMinutes(service.ScheduledDepartureTime, service.EstimeatedDepartureTime); this.Cancelled = service.IsCancelled; if (Cancelled) { if (!string.IsNullOrEmpty(ServiceMessage)) { ServiceMessage += Environment.NewLine; } this.ServiceMessage += "Cancelled: " + service.CancelReason; } else if (!string.IsNullOrEmpty(service.DelayReason)) { if (!string.IsNullOrEmpty(ServiceMessage)) { ServiceMessage += Environment.NewLine; } this.ServiceMessage += "Delayed: " + service.DelayReason; } foreach (DarwinCallingPoint cp in service.SubsequentCallingPoints) { this.CallingPoints.Add(new CallingPointViewModel(cp.LocationName, cp.EstimatedTime, cp.ScheduledTime)); } }
private static DarwinService createSingleRailService(ServiceItemWithCallingPoints serviceFromWeb) { DateTime?sta = null; if (!string.IsNullOrEmpty(serviceFromWeb.sta)) { sta = DateTime.Parse(serviceFromWeb.sta); } DateTime?eta = ParseEstimatedDateTime(serviceFromWeb.eta, sta); DateTime?std = null; if (!string.IsNullOrEmpty(serviceFromWeb.std)) { std = DateTime.Parse(serviceFromWeb.std); } DateTime?etd = ParseEstimatedDateTime(serviceFromWeb.etd, std); DarwinService result = new DarwinService( /*serviceFromWeb.rsid -- this seems to have disappeared from the webservice?*/ string.Empty, sta, eta, std, etd, serviceFromWeb.platform, serviceFromWeb.@operator, serviceFromWeb.operatorCode, serviceFromWeb.isCircularRoute, serviceFromWeb.isCancelled, serviceFromWeb.filterLocationCancelled, (DarwinServiceType)(int)serviceFromWeb.serviceType, serviceFromWeb.length, serviceFromWeb.detachFront, serviceFromWeb.isReverseFormation , serviceFromWeb.delayReason, serviceFromWeb.cancelReason, serviceFromWeb.serviceID, serviceFromWeb.adhocAlerts ); result.CurrentDestinations = createDarwinServiceLocationArray(serviceFromWeb.currentDestinations).ToArray(); result.CurrentOrigins = createDarwinServiceLocationArray(serviceFromWeb.currentOrigins).ToArray(); result.Destination = createDarwinServiceLocationArray(serviceFromWeb.destination).ToArray(); result.Origin = createDarwinServiceLocationArray(serviceFromWeb.origin).ToArray(); result.PreviousCallingPoints = createCallingPointList(serviceFromWeb.previousCallingPoints); result.SubsequentCallingPoints = createCallingPointList(serviceFromWeb.subsequentCallingPoints); return(result); }
public DestinationRowViewModel(DarwinService service) : this() { this.Headcode = service.Rsid; this.Platform = service.Platform; this.ScheduledDepartureTime = service.ScheduledDepartureTime; this.DepartureTime = service.EstimeatedDepartureTime; this.PointName = buildDestination(service.CurrentDestinations,service.Destination); this.ServiceMessage = Util.StringArrayToLines(service.AdhocAlerts); this.minutesLate = Util.CalculateDelayMinutes(service.ScheduledDepartureTime, service.EstimeatedDepartureTime); this.Cancelled = service.IsCancelled; if (Cancelled) { if (!string.IsNullOrEmpty(ServiceMessage)) ServiceMessage += Environment.NewLine; this.ServiceMessage += "Cancelled: " + service.CancelReason; } else if(!string.IsNullOrEmpty(service.DelayReason)) { if (!string.IsNullOrEmpty(ServiceMessage)) ServiceMessage += Environment.NewLine; this.ServiceMessage += "Delayed: " + service.DelayReason; } foreach (DarwinCallingPoint cp in service.SubsequentCallingPoints) { this.CallingPoints.Add(new CallingPointViewModel(cp.LocationName, cp.EstimatedTime, cp.ScheduledTime)); } }
private static List <DarwinService> createRailServices(ServiceItemWithCallingPoints[] serviceItemWithCallingPoints) { List <DarwinService> services = new List <DarwinService>(); foreach (ServiceItemWithCallingPoints serviceFromWeb in serviceItemWithCallingPoints) { DarwinService toAdd = createSingleRailService(serviceFromWeb); services.Add(toAdd); } return(services); }
private static DarwinService createSingleRailService(ServiceItemWithCallingPoints serviceFromWeb) { DateTime? sta = null; if(!string.IsNullOrEmpty(serviceFromWeb.sta)) sta = DateTime.Parse(serviceFromWeb.sta); DateTime? eta = ParseEstimatedDateTime(serviceFromWeb.eta, sta); DateTime? std = null; if (!string.IsNullOrEmpty(serviceFromWeb.std)) std = DateTime.Parse(serviceFromWeb.std); DateTime? etd = ParseEstimatedDateTime(serviceFromWeb.etd, std); DarwinService result = new DarwinService( serviceFromWeb.rsid, sta, eta, std, etd, serviceFromWeb.platform, serviceFromWeb.@operator, serviceFromWeb.operatorCode, serviceFromWeb.isCircularRoute, serviceFromWeb.isCancelled, serviceFromWeb.filterLocationCancelled, (DarwinServiceType)(int)serviceFromWeb.serviceType, serviceFromWeb.length, serviceFromWeb.detachFront, serviceFromWeb.isReverseFormation , serviceFromWeb.delayReason, serviceFromWeb.cancelReason, serviceFromWeb.serviceID, serviceFromWeb.adhocAlerts ); result.CurrentDestinations = createDarwinServiceLocationArray(serviceFromWeb.currentDestinations).ToArray(); result.CurrentOrigins = createDarwinServiceLocationArray(serviceFromWeb.currentOrigins).ToArray(); result.Destination = createDarwinServiceLocationArray(serviceFromWeb.destination).ToArray(); result.Origin = createDarwinServiceLocationArray(serviceFromWeb.origin).ToArray(); result.PreviousCallingPoints = createCallingPointList(serviceFromWeb.previousCallingPoints); result.SubsequentCallingPoints = createCallingPointList(serviceFromWeb.subsequentCallingPoints); return result; }