public void TestMethodGetStatus() { ItineraryModel model = new ItineraryModel { AirlineCode = "9w", FlightNo = "312", DepartureDateTime = DateTime.Now, FromCity = "DEL", ToCity = "BOM" }; FlightStatsDataSource stats = new FlightStatsDataSource(); var a = stats.GetStatus(model); }
public void objTimer_Elapsed(object sender, ElapsedEventArgs e) { try { _objTimer.Enabled = false; FlightDataSource dataSource = new FlightDataSource(); dataSource.GetItineraryData(_itineraryModels); RemoveStaleItinerary(_itineraryModels); var itineraryModelsGroupedByFlight = _itineraryModels.Where(i => i.IsProcessed == false) .GroupBy(i => i.AirlineCode + i.FlightNo + i.DepartureDateTime.ToString("t") + i.FromCity + i.ToCity); foreach (var itineraries in itineraryModelsGroupedByFlight) { ItineraryModel model = itineraries.FirstOrDefault(); if (model == null) { continue; } try { var itineraryFlightStatus = FlightStatusData.GetItineraryFlightStatus(model); if (itineraryFlightStatus != null && (new[] { "S", "C" }).Any(i => i == itineraryFlightStatus.FlightStatus.ToUpper())) { DateTime triggerDateTime = itineraryFlightStatus.DepartureGateDelayMin < AllowedDelayMin ? itineraryFlightStatus.DepartureDate.AddMinutes(-MinMinute) : DateTime.Now; foreach (ItineraryModel itineraryModel in itineraries) { string key = itineraryModel.BookingID + "-" + itineraryModel.AirlineCode + itineraryModel.FlightNo + "-" + itineraryModel.PNR + "-" + itineraryModel.DepartureDateTime.ToString("t"); ItineraryQueue queue = Mapper.Map <ItineraryQueue>(itineraryModel); queue.IsTriggered = false; queue.PickTime = triggerDateTime; queue.Status = itineraryFlightStatus.FlightStatus; queue.ExpectedDateTime = itineraryFlightStatus.EstimatedGateDeparture == DateTime.MinValue ? itineraryFlightStatus.ScheduledGateDeparture : itineraryFlightStatus.EstimatedGateDeparture; _itineraryQueues.TryAdd(key, queue); itineraryModel.IsProcessed = true; } } else { SendGeneralTicket(itineraries, itineraryFlightStatus); } } catch (Exception exception) { SendGeneralTicket(itineraries, exception); } } StartThreadsForQueue(_itineraryQueues); } catch (Exception exception) { ErrorLog.WriteErrorLog(exception, "", WindowsServiceName); } finally { _objTimer.Enabled = true; HeartBeatLoggerClass logger = new HeartBeatLoggerClass(); logger.Log(WindowsServiceName); } }