var wsCO_Lecce = new svcAVMLecce.ServiceClient("AVMServiceLecce", _ProviderUrl); var apParams = new svcAVMLecce.getArriviPartenzePalinaParams() { codiceLocalitaField = codFermataUtenza, dataOraField = dataOra, dataOraFieldSpecified = true, includiSeInPalinaField = false, maxRighePerGruppoField = null, minutiTolleranzaField = 1, minutiTolleranzaRealTimeField = 10, soloCorsePartiteField = false, tipoField = null, tipoFieldSpecified = false }; var temp = wsCO_Lecce.GetArriviPartenzePalinaExt(apParams); if (temp.tipoField == svcAVMLecce.BEBaseTipoRisultato.Error) { System.Diagnostics.Trace.WriteLine(string.Format("{0}: Si è verificato il seguente errore durante il reperimento dei dati dal sistema AVL Lecce: {1}", DateTime.Now, temp.descrizioneField)); return null; } else if (temp.oggettiField == null) return null; else { return temp.oggettiField .Where(o => o.dataOraPassaggioPalinaField.HasValue) .Select(o => new RealTimeBusStopSchedule(this) { OperatorCode = operatoreCode, StopCode = busStopCode, RunId = o.idCorsaField.GetValueOrDefault(0).ToString(), RunCode = o.codiceCorsaField, LineCode = o.codiceLineaField, ScheduledTime = o.dataOraPassaggioPalinaField.Value, RealTimeDelta = o.minutiScostamentoField.GetValueOrDefault(0) }) .ToList(); }