/// <summary> /// Caches the departures according to departure board request. /// </summary> public static async Task <bool> CacheDepartureBoardAsync(DepartureBoardRequest dbRequest) { if (dbRequest.GetType() == typeof(StationInfoRequest)) { return(await CacheDepartureBoardAsync((StationInfoRequest)dbRequest)); } else { return(await CacheDepartureBoardAsync((LineInfoRequest)dbRequest)); } }
public static async Task <DepartureBoardResponse> SendDepartureBoardRequestAsync(DepartureBoardRequest dbRequest) { // This cannot be done better since in each of the method we need information about specialized classes (caching, algorithm). // Actually, it could be done better (without code copies), but then the code would be unreadable and less efficient, too. if (dbRequest.GetType() == typeof(StationInfoRequest)) { return(await SendDepartureBoardRequestAsync((StationInfoRequest)dbRequest)); } else { return(await SendDepartureBoardRequestAsync((LineInfoRequest)dbRequest)); } }