public List <FlightPlanOpsRecords> CalculateTripForPeriod(FlightPlanOps currentPlanOps) { var preResult = new List <FlightPlanOpsRecords>(); var calculatedDates = DateTimeExtend.AllDatesBetween(currentPlanOps.From, currentPlanOps.To).ToList(); var flightTrackRecords = _flightTrackCore.GetAllFlightScheduleRecordsForPeriod(currentPlanOps.From, currentPlanOps.To, true); flightTrackRecords.AddRange(_flightTrackCore.GetAllFlightUnScheduleRecordsForPeriod(currentPlanOps.From, currentPlanOps.To, true)); foreach (var record in flightTrackRecords) { var date = getDateFromDayofWeek(record.FlightTrack.DayOfWeek, calculatedDates); if (date < DateTimeExtend.GetCASMinDateTime()) { continue; } if (record.FlightType == FlightType.Schedule && !(date >= record.FlightNumberPeriod.DepartureDate.Date && date <= record.FlightNumberPeriod.ArrivalDate.Date)) { continue; } var newOps = new FlightPlanOpsRecords { Date = date.Value, FlightTrackRecord = record, FlightTrackRecordId = record.ItemId, ParentFlightPlanOps = currentPlanOps, PeriodFrom = record.FlightNumberPeriod?.PeriodFrom ?? 0, PeriodTo = record.FlightNumberPeriod?.PeriodTo ?? 0 }; preResult.Add(newOps); } return(preResult); }
public PlanOpsRecordForm(FlightPlanOpsRecords planOpsRecord) : this() { _planOpsRecord = planOpsRecord; _animatedThreadWorker.DoWork += AnimatedThreadWorkerDoLoad; _animatedThreadWorker.RunWorkerCompleted += BackgroundWorkerRunWorkerLoadCompleted; }