Beispiel #1
0
        public void ImportAdTAskCArdOrCrateNew()
        {
            var env = GetEnviroment();

            var itemRelationCore = new ItemsRelationsDataAccess(env);
            var aircraftCore     = new AircraftsCore(env.Loader, env.NewKeeper, null);
            var directiveCore    = new DirectiveCore(env.NewKeeper, env.NewLoader, env.Keeper, env.Loader, itemRelationCore);
            var componentCore    = new ComponentCore(env, env.Loader, env.NewLoader, env.NewKeeper, aircraftCore, itemRelationCore);

            var aircraftId = 2336;

            var aircraft = env.NewLoader.GetObject <AircraftDTO, Aircraft>(new Filter("ItemId", aircraftId));

            var directiveList = directiveCore.GetDirectives(aircraft, DirectiveType.AirworthenessDirectives);
            var bd            = componentCore.GetAicraftBaseComponents(aircraftId, BaseComponentType.Frame.ItemId).LastOrDefault();

            var d     = new DirectoryInfo(@"D:\Work\doc\ALL AD 757 13 Feb 2019 1111\FAA 757");
            var files = d.GetFiles();

            foreach (var file in files)
            {
                var name      = file.Name.Replace(" ", "").Replace(".pdf", "");
                var directive = directiveList.FirstOrDefault(i => i.Title.Contains(name));

                if (directive != null)
                {
                    var _fileData    = UsefulMethods.GetByteArrayFromFile(file.FullName);
                    var attachedFile = new AttachedFile
                    {
                        FileData = _fileData,
                        FileName = file.Name,
                        FileSize = _fileData.Length
                    };
                    directive.ADNoFile = attachedFile;
                    env.NewKeeper.Save(directive);
                }
                else
                {
                    var newDirective = new Directive
                    {
                        Title               = name,
                        DirectiveType       = DirectiveType.AirworthenessDirectives,
                        ADType              = ADType.Airframe,
                        HiddenRemarks       = "NEW",
                        IsApplicability     = true,
                        ParentBaseComponent = bd
                    };

                    var _fileData    = UsefulMethods.GetByteArrayFromFile(file.FullName);
                    var attachedFile = new AttachedFile
                    {
                        FileData = _fileData,
                        FileName = file.Name,
                        FileSize = _fileData.Length
                    };
                    newDirective.ADNoFile = attachedFile;
                    env.NewKeeper.Save(newDirective);
                }
            }
        }
Beispiel #2
0
        public void ImportAdTAskCArd()
        {
            var env = GetEnviroment();

            var itemRelationCore = new ItemsRelationsDataAccess(env);
            var directiveCore    = new DirectiveCore(env.NewKeeper, env.NewLoader, env.Keeper, env.Loader, itemRelationCore);

            var aircraft = env.NewLoader.GetObject <AircraftDTO, Aircraft>(new Filter("ItemId", 2348));

            var directiveList = directiveCore.GetDirectives(aircraft, DirectiveType.AirworthenessDirectives);

            var d     = new DirectoryInfo(@"H:\CRJ200 27.02.18 AD");
            var files = d.GetFiles();

            foreach (var mpd in directiveList)
            {
                var file = files.FirstOrDefault(f => mpd.Title.Contains(f.Name.Replace(" ", "").Replace(".pdf", "")));
                if (file != null)
                {
                    var _fileData    = UsefulMethods.GetByteArrayFromFile(file.FullName);
                    var attachedFile = new AttachedFile
                    {
                        FileData = _fileData,
                        FileName = file.Name,
                        FileSize = _fileData.Length
                    };
                    mpd.ADNoFile = attachedFile;
                    env.NewKeeper.Save(mpd);
                }
            }
        }
Beispiel #3
0
        public void Kit()
        {
            var env = GetEnviroment();

            var itemRelationCore = new ItemsRelationsDataAccess(env);
            var directiveCore    = new DirectiveCore(env.NewKeeper, env.NewLoader, env.Keeper, env.Loader, itemRelationCore);
            var aircraftfrom     = env.NewLoader.GetObject <AircraftDTO, Aircraft>(new Filter("ItemId", 2345));
            var directivesfrom   = directiveCore.GetDirectives(aircraftfrom, DirectiveType.All);

            var aircraftto    = env.NewLoader.GetObject <AircraftDTO, Aircraft>(new Filter("ItemId", 2347));
            var directivesfTo = directiveCore.GetDirectives(aircraftto, DirectiveType.All);

            foreach (var dir in directivesfrom.Where(i => i.Kits.Count > 0))
            {
                Trace.WriteLine(dir.ToString());
                var find = directivesfTo.FirstOrDefault(i => i.Title == dir.Title);
                Trace.WriteLine(find?.ToString() ?? "!!!!!!!!!!!!!!!!!!!!!!!!!!");

                if (find != null)
                {
                    foreach (var kit in dir.Kits)
                    {
                        var kitCopy = kit.GetCopyUnsaved();
                        kitCopy.ParentId = find.ItemId;
                        env.Keeper.Save(kitCopy);
                        Trace.WriteLine(kitCopy.ToString());
                    }
                }

                Trace.WriteLine("");
            }
        }
Beispiel #4
0
        public void ImportReliability()
        {
            string   reg   = "";
            DateTime date  = new DateTime();
            string   flNum = "";

            var env                = GetEnviroment();
            var aircraftCore       = new AircraftsCore(env.Loader, env.NewKeeper, env.NewLoader);
            var itemRelationCore   = new ItemsRelationsDataAccess(env);
            var directiveCore      = new DirectiveCore(env.NewKeeper, env.NewLoader, env.Keeper, env.Loader, itemRelationCore);
            var aircraftFlightCore = new AircraftFlightCore(env, env.Loader, env.NewLoader, directiveCore, env.Manipulator, null, env.NewKeeper, aircraftCore);
            var discrepanciesCore  = new DiscrepanciesCore(env.Loader, env.NewLoader, directiveCore, aircraftFlightCore);

            aircraftCore.LoadAllAircrafts();
            var res = discrepanciesCore.GetDiscrepancies().ToArray();

            foreach (var discrepancy in res)
            {
                discrepancy.ParentFlight.Aircraft = aircraftCore.GetAircraftById(discrepancy.ParentFlight.AircraftId);
            }


            //Экспортируем полеты в Dataset из Excel файла
            var ds = ExcelToDataTableUsingExcelDataReader(@"H:\1.xlsx");

            foreach (DataTable table in ds.Tables)
            {
                foreach (DataRow row in table.Rows)
                {
                    if (!string.IsNullOrEmpty(row[0].ToString()) && !string.IsNullOrEmpty(row[1].ToString()))
                    {
                        reg   = row[0].ToString();
                        date  = DateTime.Parse(row[1].ToString());
                        flNum = $"{row[5]}";
                    }


                    var find = res.Where(i => i.ParentFlight.Aircraft != null).FirstOrDefault(i =>
                                                                                              i.ParentFlight.FlightNumber.FullName.Contains(flNum) && i.ParentFlight.FlightDate.Date.Equals(date.Date) && i.ParentFlight.Aircraft.RegistrationNumber.Contains(reg));


                    if (find != null)
                    {
                        if (!string.IsNullOrEmpty(row[6].ToString()))
                        {
                            find.FDR += $"{row[6]} | {row[7]} | {row[8]} | {row[9]} ";
                            env.NewKeeper.Save(find);
                        }


                        Trace.WriteLine($"{reg} = {find.ParentFlight.Aircraft.RegistrationNumber} | {flNum} = {find.ParentFlight.FlightNumber} | {date} = {find.ParentFlight.FlightDate.Date}");
                    }
                }
            }
        }
Beispiel #5
0
        public void CopyAircraft()
        {
            var env              = GetEnviroment();
            var aircraftCore     = new AircraftsCore(env.Loader, env.NewKeeper, env.NewLoader);
            var itemRelationCore = new ItemsRelationsDataAccess(env);
            var componentCore    = new ComponentCore(env, env.Loader, env.NewLoader, env.NewKeeper, aircraftCore, itemRelationCore);
            var directiveCore    = new DirectiveCore(env.NewKeeper, env.NewLoader, env.Keeper, env.Loader, itemRelationCore);
            var maintenanceCore  = new MaintenanceCore(env, env.NewLoader, env.NewKeeper, itemRelationCore, aircraftCore);

            var newBaseComponent     = new List <BaseComponent>();
            var newComponents        = new List <Entities.General.Accessory.Component>();
            var directives           = new List <Directive>();
            var maintenanceDirective = new List <MaintenanceDirective>();

            //Грузим ВС, делаем с него копию и сохраняем
            var aircrafts   = env.NewLoader.GetObject <AircraftDTO, Aircraft>(new Filter("ItemId", 2346), true);
            var newAircraft = aircrafts.GetCopyUnsaved();

            //newAircraft.RegistrationNumber += "- COPY";

            env.NewKeeper.Save(newAircraft);

            //Грузим базовые агрегаты ВС, делаем с копии и сохраняем
            var baseComponents = new BaseComponentCollection(componentCore.GetAicraftBaseComponents(aircrafts.ItemId));

            LoadDocuments(baseComponents, env);

            foreach (var baseComponent in baseComponents)
            {
                var newComponent = (BaseComponent)baseComponent.GetCopyUnsaved();
                newComponent.ParentAircraftId = newAircraft.ItemId;


                env.NewKeeper.Save(newComponent);
                newBaseComponent.Add(newComponent);

                foreach (var transferRecord in baseComponent.TransferRecords)
                {
                    var newTransferRecord = transferRecord.GetCopyUnsaved();
                    if (newTransferRecord.DestinationObjectType == SmartCoreType.Aircraft)
                    {
                        newTransferRecord.DestinationObjectId = newAircraft.ItemId;
                    }
                    newTransferRecord.ParentId = newComponent.ItemId;

                    env.NewKeeper.Save(newTransferRecord);
                }

                foreach (var componentDirective in baseComponent.ComponentDirectives)
                {
                    var newcomponentDirective = componentDirective.GetCopyUnsaved();

                    newcomponentDirective.ComponentId = newComponent.ItemId;
                    env.NewKeeper.Save(newcomponentDirective);
                }
            }

            //Грузим агрегаты ВС, делаем с копии и сохраняем
            var components = componentCore.GetComponents(aircrafts.ItemId);

            foreach (var component in components)
            {
                var newComponent = component.GetCopyUnsaved();
                newComponent.ParentAircraftId = newAircraft.ItemId;

                env.NewKeeper.Save(newComponent);
                newComponents.Add(newComponent);

                foreach (var transferRecord in component.TransferRecords)
                {
                    var newTransferRecord = transferRecord.GetCopyUnsaved();

                    if (newTransferRecord.DestinationObjectType == SmartCoreType.BaseComponent)
                    {
                        newTransferRecord.DestinationObjectId = newBaseComponent.FirstOrDefault(b => b.SerialNumber == ((BaseComponent)newTransferRecord.DestinationObject).SerialNumber).ItemId;
                    }
                    newTransferRecord.ParentId = newComponent.ItemId;

                    env.NewKeeper.Save(newTransferRecord);
                }

                foreach (var componentDirective in component.ComponentDirectives)
                {
                    var newcomponentDirective = componentDirective.GetCopyUnsaved();

                    newcomponentDirective.ComponentId = newComponent.ItemId;
                    env.NewKeeper.Save(newcomponentDirective);
                }
            }

            //Грузим директивы ВС, делаем с копии и сохраняем
            directives.Clear();
            directives.AddRange(directiveCore.GetDirectives(aircrafts, DirectiveType.All));
            foreach (var directive in directives)
            {
                var newDirective = directive.GetCopyUnsaved();
                newDirective.ParentBaseComponent = newBaseComponent.FirstOrDefault(b => b.SerialNumber == newDirective.ParentBaseComponent.SerialNumber);


                newDirective.PerformanceRecords.Clear();
                newDirective.CategoriesRecords.Clear();

                env.NewKeeper.Save(newDirective);
            }

            //Грузим MPD ВС, делаем с копии и сохраняем
            maintenanceDirective.Clear();
            maintenanceDirective.AddRange(maintenanceCore.GetMaintenanceDirectives(aircrafts));
            foreach (var directive in maintenanceDirective)
            {
                var newDirective = directive.GetCopyUnsaved();
                if (directive.ParentBaseComponent != null)
                {
                    newDirective.ParentBaseComponent = newBaseComponent.FirstOrDefault(b => b.SerialNumber == directive.ParentBaseComponent.SerialNumber);
                }

                newDirective.PerformanceRecords.Clear();
                newDirective.CategoriesRecords.Clear();

                env.NewKeeper.Save(newDirective);
            }
        }
Beispiel #6
0
        /* public static Presenters Presenters
         * {
         *   get { return presenters; }
         * }*/

        static Program()
        {
            var exePath = Path.GetDirectoryName(Application.ExecutablePath);
            var path    = Path.Combine(exePath, "AppSettings.json");
            var json    = File.ReadAllText(path);

            GlobalObjects.Config = JsonConvert.DeserializeObject <JObject>(json);

            AuditContext auditContext = null;

            try
            {
                auditContext = new AuditContext((string)GlobalObjects.Config["ConnectionStrings"]["Audit"]);
            }
            catch {}
            GlobalObjects.AuditRepository = new AuditRepository(auditContext);
            GlobalObjects.AuditContext    = auditContext;

            var environment = DbTypes.CasEnvironment = new CasEnvironment();

            environment.AuditRepository = GlobalObjects.AuditRepository;
            environment.ApiProvider     = new ApiProvider((string)GlobalObjects.Config["ConnectionStrings"]["ScatTest"]);

            var nonRoutineJobDataAccess      = new NonRoutineJobDataAccess(environment.Loader, environment.Keeper);
            var itemsRelationsDataAccess     = new ItemsRelationsDataAccess(environment);
            var filesDataAccess              = new FilesDataAccess(environment.NewLoader);
            var workPackageRecordsDataAccess = new WorkPackageRecordsDataAccess(environment);


            var storeService              = new StoreCore(environment);
            var aircraftService           = new AircraftsCore(environment.Loader, environment.NewKeeper, environment.NewLoader);
            var compontntService          = new ComponentCore(environment, environment.Loader, environment.NewLoader, environment.NewKeeper, aircraftService, itemsRelationsDataAccess);
            var averageUtilizationService = new AverageUtilizationCore(aircraftService, storeService, compontntService);
            var directiveService          = new DirectiveCore(environment.NewKeeper, environment.NewLoader, environment.Keeper, environment.Loader, itemsRelationsDataAccess);
            var aircraftFlightService     = new AircraftFlightCore(environment, environment.Loader, environment.NewLoader, directiveService, environment.Manipulator, compontntService, environment.NewKeeper, aircraftService);
            var flightTrackService        = new FlightTrackCore(environment.NewLoader, environment.Loader, environment);
            var calculator                 = new Calculator(environment, compontntService, aircraftFlightService, aircraftService);
            var mtopCalculator             = new MTOPCalculator(calculator, aircraftService, averageUtilizationService);
            var planOpsCalculator          = new PlanOpsCalculator(environment.NewLoader, environment.NewKeeper, aircraftService, flightTrackService);
            var performanceCalculator      = new PerformanceCalculator(calculator, averageUtilizationService, mtopCalculator);
            var packageService             = new PackagesCore(environment, environment.NewKeeper, environment.Loader, aircraftService, compontntService);
            var purchaseService            = new PurchaseCore(environment, environment.NewLoader, environment.Loader, packageService, environment.NewKeeper, performanceCalculator);
            var calcStockService           = new StockCalculator(environment, environment.NewLoader, compontntService);
            var documentService            = new DocumentCore(environment, environment.NewLoader, environment.Loader, aircraftService, environment.NewKeeper, compontntService);
            var maintenanceService         = new MaintenanceCore(environment, environment.NewLoader, environment.NewKeeper, itemsRelationsDataAccess, aircraftService);
            var maintenanceCheckCalculator = new MaintenanceCheckCalculator(calculator, averageUtilizationService, performanceCalculator);
            var analystService             = new AnalystCore(compontntService, maintenanceService, directiveService, maintenanceCheckCalculator, performanceCalculator);
            var discrepanciesService       = new DiscrepanciesCore(environment.Loader, environment.NewLoader, directiveService, aircraftFlightService);
            var kitsService                = new KitsCore(environment, environment.Loader, environment.NewKeeper, compontntService, nonRoutineJobDataAccess);
            var smsService                 = new SMSCore(environment.Manipulator);
            var personelService            = new PersonnelCore(environment);
            var transferRecordCore         = new TransferRecordCore(environment.NewLoader, environment.NewKeeper, compontntService, aircraftService, calculator, storeService, filesDataAccess);
            var bindedItemsService         = new BindedItemsCore(compontntService, directiveService, maintenanceService);
            var performanceService         = new PerformanceCore(environment.NewKeeper, environment.Keeper, calculator, bindedItemsService);
            var workPackageService         = new WorkPackageCore(environment, environment.NewLoader, maintenanceService, environment.NewKeeper, calculator, compontntService, aircraftService, nonRoutineJobDataAccess, directiveService, filesDataAccess, performanceCalculator, performanceService, bindedItemsService, workPackageRecordsDataAccess, mtopCalculator, averageUtilizationService);
            var nonRoutineJobService       = new NonRoutineJobCore(environment, workPackageService, nonRoutineJobDataAccess, environment.NewLoader);
            var auditService               = new AuditCore(environment, environment.Loader, environment.NewLoader, environment.NewKeeper, calculator, performanceCalculator, performanceService);

            DbTypes.AircraftsCore = aircraftService;

            GlobalObjects.CasEnvironment             = environment;
            GlobalObjects.PackageCore                = packageService;
            GlobalObjects.PurchaseCore               = purchaseService;
            GlobalObjects.ComponentCore              = compontntService;
            GlobalObjects.AnalystCore                = analystService;
            GlobalObjects.StockCalculator            = calcStockService;
            GlobalObjects.DocumentCore               = documentService;
            GlobalObjects.AuditCore                  = auditService;
            GlobalObjects.MaintenanceCore            = maintenanceService;
            GlobalObjects.WorkPackageCore            = workPackageService;
            GlobalObjects.NonRoutineJobCore          = nonRoutineJobService;
            GlobalObjects.DirectiveCore              = directiveService;
            GlobalObjects.AircraftFlightsCore        = aircraftFlightService;
            GlobalObjects.DiscrepanciesCore          = discrepanciesService;
            GlobalObjects.KitsCore                   = kitsService;
            GlobalObjects.SmsCore                    = smsService;
            GlobalObjects.PersonnelCore              = personelService;
            GlobalObjects.TransferRecordCore         = transferRecordCore;
            GlobalObjects.AircraftsCore              = aircraftService;
            GlobalObjects.ItemsRelationsDataAccess   = itemsRelationsDataAccess;
            GlobalObjects.StoreCore                  = storeService;
            GlobalObjects.BindedItemsCore            = bindedItemsService;
            GlobalObjects.AverageUtilizationCore     = averageUtilizationService;
            GlobalObjects.MaintenanceCheckCalculator = maintenanceCheckCalculator;
            GlobalObjects.MTOPCalculator             = mtopCalculator;
            GlobalObjects.PerformanceCalculator      = performanceCalculator;
            GlobalObjects.PlanOpsCalculator          = planOpsCalculator;
            GlobalObjects.PerformanceCore            = performanceService;
            GlobalObjects.FlightTrackCore            = flightTrackService;

            environment.SetAircraftCore(aircraftService);
            environment.Calculator = calculator;
            environment.Manipulator.PurchaseService    = GlobalObjects.PurchaseCore;
            environment.Manipulator.MaintenanceCore    = GlobalObjects.MaintenanceCore;
            environment.Manipulator.WorkPackageCore    = GlobalObjects.WorkPackageCore;
            environment.Manipulator.AircraftFlightCore = GlobalObjects.AircraftFlightsCore;
            environment.Manipulator.ComponentCore      = GlobalObjects.ComponentCore;
            environment.Manipulator.AircraftsCore      = GlobalObjects.AircraftsCore;
            environment.Manipulator.BindedItemCore     = GlobalObjects.BindedItemsCore;

            InitLoadingVariants();
            InitializePresenters();
        }
Beispiel #7
0
        public void GetBindedItemsForMpd()
        {
            const int aircraftId = 2316;            // Воздушное судно 4LimaTest

            //инициализация core - ов
            var enviroment     = GetEnviroment();
            var itemRelationDA = new ItemsRelationsDataAccess(enviroment);
            var airctaftCore   = new AircraftsCore(enviroment.Loader, enviroment.NewKeeper, enviroment.NewLoader);

            airctaftCore.LoadAllAircrafts();
            var componentCore   = new ComponentCore(enviroment, enviroment.Loader, enviroment.NewLoader, enviroment.NewKeeper, airctaftCore, itemRelationDA);
            var directiveCore   = new DirectiveCore(enviroment.NewKeeper, enviroment.NewLoader, enviroment.Keeper, enviroment.Loader, itemRelationDA);
            var maintenanceCore = new MaintenanceCore(enviroment, enviroment.NewLoader, enviroment.NewKeeper, itemRelationDA, null);
            var bindedItemCore  = new BindedItemsCore(componentCore, directiveCore, maintenanceCore);

            //Загрузка базового компонента для того что бы привязать его к mpd и ad
            var baseDetail = enviroment.BaseComponents.FirstOrDefault(x => x.ParentAircraftId == aircraftId);
            var detail     = componentCore.GetComponents(baseDetail).FirstOrDefault();

            var mpd = new MaintenanceDirective {
                ParentBaseComponent = baseDetail
            };
            var dd = new ComponentDirective {
                ComponentId = detail.ItemId, Remarks = "DDTest"
            };
            var ad = new Directive {
                ParentBaseComponent = baseDetail, Remarks = "ADTest"
            };

            enviroment.NewKeeper.Save(dd);
            enviroment.NewKeeper.Save(ad);
            enviroment.NewKeeper.Save(mpd);

            mpd.ItemRelations.Add(new ItemsRelation
            {
                FirstItemId      = mpd.ItemId,
                FirtsItemTypeId  = mpd.SmartCoreObjectType.ItemId,
                SecondItemId     = dd.ItemId,
                SecondItemTypeId = dd.SmartCoreObjectType.ItemId,
                RelationTypeId   = WorkItemsRelationType.CalculationAffect
            });

            mpd.ItemRelations.Add(new ItemsRelation
            {
                FirstItemId      = mpd.ItemId,
                FirtsItemTypeId  = mpd.SmartCoreObjectType.ItemId,
                SecondItemId     = ad.ItemId,
                SecondItemTypeId = ad.SmartCoreObjectType.ItemId,
                RelationTypeId   = WorkItemsRelationType.CalculationAffect
            });

            foreach (var itemRelation in mpd.ItemRelations)
            {
                enviroment.NewKeeper.Save(itemRelation);
            }


            var bindedItemsADOnly = bindedItemCore.GetBindedItemsFor(aircraftId, new[] { mpd }, new [] { SmartCoreType.Directive.ItemId });
            var bindedItemsDDOnly = bindedItemCore.GetBindedItemsFor(aircraftId, new[] { mpd }, new [] { SmartCoreType.ComponentDirective.ItemId });
            var bindedItemsAll    = bindedItemCore.GetBindedItemsFor(aircraftId, new[] { mpd });


            foreach (var itemRelation in mpd.ItemRelations)
            {
                enviroment.NewKeeper.Delete(itemRelation);
            }

            enviroment.NewKeeper.Delete(mpd);
            enviroment.NewKeeper.Delete(dd);
            enviroment.NewKeeper.Delete(ad);


            Assert.IsTrue(bindedItemsADOnly[mpd].Count == 1);
            var forCheckAd = (Directive)bindedItemsADOnly[mpd].Single();

            Assert.AreEqual(forCheckAd.Remarks, ad.Remarks);

            Assert.IsTrue(bindedItemsDDOnly[mpd].Count == 1);
            var forCheckDd = (ComponentDirective)bindedItemsDDOnly[mpd].Single();

            Assert.AreEqual(forCheckDd.Remarks, dd.Remarks);

            Assert.IsTrue(bindedItemsAll[mpd].Count == 2);
        }
Beispiel #8
0
        public void FindFlights()
        {
            var env                = GetEnviroment();
            var aircraftCore       = new AircraftsCore(env.Loader, env.NewKeeper, env.NewLoader);
            var itemRelationCore   = new ItemsRelationsDataAccess(env);
            var directiveCore      = new DirectiveCore(env.NewKeeper, env.NewLoader, env.Keeper, env.Loader, itemRelationCore);
            var componentCore      = new ComponentCore(env, env.Loader, env.NewLoader, env.NewKeeper, aircraftCore, itemRelationCore);
            var aircraftFlightCore = new AircraftFlightCore(env, env.Loader, env.NewLoader, directiveCore, env.Manipulator, componentCore, env.NewKeeper, aircraftCore);

            aircraftFlightCore.LoadAircraftFlights(2344);
            var flights    = aircraftFlightCore.GetAircraftFlightsByAircraftId(2343);
            var codes      = env.GetDictionary <AirportsCodes>().ToArray().Cast <AirportsCodes>();
            var flightNums = env.GetDictionary <FlightNum>().Cast <FlightNum>().ToList();

            //Экспортируем полеты в Dataset из Excel файла
            var ds = ExcelToDataTableUsingExcelDataReader(@"H:\007.xlsx", false);


            int time = 0;

            foreach (DataTable table in ds.Tables)
            {
                foreach (DataRow row in table.Rows)
                {
                    var pageNo = row[0].ToString();


                    AirportsCodes stationFromId = AirportsCodes.Unknown;
                    AirportsCodes stationToId   = AirportsCodes.Unknown;

                    if (row[3] != null)
                    {
                        stationFromId = codes.FirstOrDefault(c => c.ShortName.ToUpper() == row[3].ToString().Trim().ToUpper());
                    }

                    if (row[4] != null)
                    {
                        stationToId = codes.FirstOrDefault(c => c.ShortName.ToUpper() == row[4].ToString().Trim().ToUpper());
                    }

                    var dateOut = DateTime.Parse(row[5].ToString());
                    var dateIn  = DateTime.Parse(row[6].ToString());

                    var outTime     = (int)dateOut.TimeOfDay.TotalMinutes;
                    var inTime      = (int)dateIn.TimeOfDay.TotalMinutes;
                    var takeOffTime = outTime;
                    var lDGTime     = inTime;

                    DateTime res;
                    if (!DateTime.TryParse(row[1].ToString(), out res))
                    {
                        Trace.WriteLine($"!!!!!!!!!Нету: {pageNo} | {row[1]} | {row[3]} - {row[4]} | ({outTime}-{inTime})");

                        if (outTime > inTime)
                        {
                            time += outTime - inTime;
                        }
                        else
                        {
                            time += inTime - outTime;
                        }
                        continue;
                    }


                    var flightDate = DateTime.Parse(row[1].ToString());
                    var find       = flights.Where(i => i.PageNo == pageNo);

                    if (!find.Any())
                    {
                        Trace.WriteLine($"Нету: {pageNo} | {flightDate} | {row[3]} - {row[4]} | ({outTime}-{inTime})");

                        time += inTime - outTime;
                    }
                }


                Trace.WriteLine(time);
            }
        }