Ejemplo n.º 1
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("");
            }
        }
Ejemplo n.º 2
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);
                }
            }
        }
Ejemplo n.º 3
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);
                }
            }
        }
Ejemplo n.º 4
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);
            }
        }