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(""); } }
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); } } }
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); } } }
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); } }