Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public PlanOpsRecordForm(FlightPlanOpsRecords planOpsRecord) : this()
 {
     _planOpsRecord = planOpsRecord;
     _animatedThreadWorker.DoWork             += AnimatedThreadWorkerDoLoad;
     _animatedThreadWorker.RunWorkerCompleted += BackgroundWorkerRunWorkerLoadCompleted;
 }