/// <summary> /// Saves the configured mapping /// </summary> public void SaveDataTypeDefinitionMap() { if (!this.mappingConfiguration.DatatypeDefinitionMap.Any()) { return; } var reqIfTitle = this.reqIf.TheHeader?.Title; var map = new ExternalIdentifierMap(Guid.NewGuid(), this.session.Assembler.Cache, this.session.Assembler.IDalUri) { Owner = this.currentDomain, ExternalModelName = reqIfTitle }; foreach (var keyValuePair in this.mappingConfiguration.DatatypeDefinitionMap) { map.Correspondence.Add( new IdCorrespondence(Guid.NewGuid(), this.session.Assembler.Cache, this.session.Assembler.IDalUri) { InternalThing = keyValuePair.Value.ParameterType.Iid, ExternalId = keyValuePair.Key.Identifier }); } this.iteration.ExternalIdentifierMap.Add(map); }
public void VerifyGetOwner() { var thing = new IdCorrespondence(Guid.NewGuid(), null, null); var externalIdentifierMap = new ExternalIdentifierMap(Guid.NewGuid(), null, null); externalIdentifierMap.Owner = new DomainOfExpertise(Guid.NewGuid(), null, null); thing.Container = externalIdentifierMap; Assert.IsTrue(ReferenceEquals(thing.Owner, externalIdentifierMap.Owner)); }
public void SetUp() { this.externalIdentifierMapRuleChecker = new ExternalIdentifierMapRuleChecker(); this.modelReferenceDataLibrary = new ModelReferenceDataLibrary(); this.engineeringModelSetup = new EngineeringModelSetup(); this.engineeringModel = new EngineeringModel(); this.iteration = new Iteration(); this.externalIdentifierMap = new ExternalIdentifierMap(); this.engineeringModelSetup.RequiredRdl.Add(this.modelReferenceDataLibrary); this.engineeringModel.EngineeringModelSetup = this.engineeringModelSetup; this.engineeringModel.Iteration.Add(this.iteration); this.iteration.ExternalIdentifierMap.Add(this.externalIdentifierMap); }
/// <summary> /// Serialize the <see cref="ExternalIdentifierMap"/> /// </summary> /// <param name="externalIdentifierMap">The <see cref="ExternalIdentifierMap"/> to serialize</param> /// <returns>The <see cref="JObject"/></returns> private JObject Serialize(ExternalIdentifierMap externalIdentifierMap) { var jsonObject = new JObject(); jsonObject.Add("classKind", this.PropertySerializerMap["classKind"](Enum.GetName(typeof(CDP4Common.CommonData.ClassKind), externalIdentifierMap.ClassKind))); jsonObject.Add("correspondence", this.PropertySerializerMap["correspondence"](externalIdentifierMap.Correspondence.OrderBy(x => x, this.guidComparer))); jsonObject.Add("excludedDomain", this.PropertySerializerMap["excludedDomain"](externalIdentifierMap.ExcludedDomain.OrderBy(x => x, this.guidComparer))); jsonObject.Add("excludedPerson", this.PropertySerializerMap["excludedPerson"](externalIdentifierMap.ExcludedPerson.OrderBy(x => x, this.guidComparer))); jsonObject.Add("externalFormat", this.PropertySerializerMap["externalFormat"](externalIdentifierMap.ExternalFormat)); jsonObject.Add("externalModelName", this.PropertySerializerMap["externalModelName"](externalIdentifierMap.ExternalModelName)); jsonObject.Add("externalToolName", this.PropertySerializerMap["externalToolName"](externalIdentifierMap.ExternalToolName)); jsonObject.Add("externalToolVersion", this.PropertySerializerMap["externalToolVersion"](externalIdentifierMap.ExternalToolVersion)); jsonObject.Add("iid", this.PropertySerializerMap["iid"](externalIdentifierMap.Iid)); jsonObject.Add("modifiedOn", this.PropertySerializerMap["modifiedOn"](externalIdentifierMap.ModifiedOn)); jsonObject.Add("name", this.PropertySerializerMap["name"](externalIdentifierMap.Name)); jsonObject.Add("owner", this.PropertySerializerMap["owner"](externalIdentifierMap.Owner)); jsonObject.Add("revisionNumber", this.PropertySerializerMap["revisionNumber"](externalIdentifierMap.RevisionNumber)); jsonObject.Add("thingPreference", this.PropertySerializerMap["thingPreference"](externalIdentifierMap.ThingPreference)); return(jsonObject); }
public void SetUp() { this.converter = new NamedShortNamedThingToStringConverter(); this.textParameterType = new TextParameterType() { ShortName = "txt", Name = "text" }; this.externalIdentifierMap = new ExternalIdentifierMap() { Name = "externalIdentifierMap" }; this.userPreference = new UserPreference() { ShortName = "preference" }; this.orExpression = new OrExpression(); }
public void VerifyTransferToHub() { this.navigationService.Setup( x => x.ShowDxDialog <CreateLogEntryDialog, CreateLogEntryDialogViewModel>( It.IsAny <CreateLogEntryDialogViewModel>())).Returns(true); var aFile = new File(); aFile.FileRevision.Add(new FileRevision(Guid.NewGuid(), null, null)); this.dstHubService.Setup(x => x.FindFile(It.IsAny <string>())).Returns(aFile); this.controller.SetExternalIdentifierMap(new ExternalIdentifierMap(Guid.NewGuid(), null, null) { Container = new ModelReferenceDataLibrary(Guid.NewGuid(), this.assembler.Cache, null) { Container = new SiteDirectory(Guid.NewGuid(), this.assembler.Cache, null) } }); this.controller.Load(MyParts_path); Assert.DoesNotThrowAsync(async() => await this.controller.Transfer()); var parameter = new Parameter() { ParameterType = new SimpleQuantityKind(), ValueSet = { new ParameterValueSet() { Computed = new ValueArray <string>(new [] { "654321" }), ValueSwitch = ParameterSwitchKind.COMPUTED } } }; var elementDefinition = new ElementDefinition() { Parameter = { parameter } }; this.controller.MapResult.Add(elementDefinition); var parameterOverride = new ParameterOverride(Guid.NewGuid(), null, null) { Parameter = parameter, ValueSet = { new ParameterOverrideValueSet() { Computed = new ValueArray <string>(new [] { "654321" }), ValueSwitch = ParameterSwitchKind.COMPUTED } } }; this.controller.MapResult.Add(new ElementUsage() { ElementDefinition = elementDefinition, ParameterOverride = { parameterOverride } }); var map = new ExternalIdentifierMap(); this.hubController.Setup(x => x.GetThingById(It.IsAny <Guid>(), It.IsAny <Iteration>(), out map)); this.hubController.Setup(x => x.GetThingById(It.IsAny <Guid>(), It.IsAny <Iteration>(), out parameter)); this.hubController.Setup(x => x.GetThingById(parameterOverride.Iid, It.IsAny <Iteration>(), out parameterOverride)); Assert.DoesNotThrowAsync(async() => await this.controller.Transfer()); Assert.IsEmpty(this.controller.MapResult); this.controller.MapResult.Add(new ElementUsage()); this.navigationService.Setup( x => x.ShowDxDialog <CreateLogEntryDialog, CreateLogEntryDialogViewModel>( It.IsAny <CreateLogEntryDialogViewModel>())).Returns(false); Assert.DoesNotThrowAsync(async() => await this.controller.Transfer()); this.navigationService.Setup( x => x.ShowDxDialog <CreateLogEntryDialog, CreateLogEntryDialogViewModel>( It.IsAny <CreateLogEntryDialogViewModel>())).Returns(default(bool?)); Assert.DoesNotThrowAsync(async() => await this.controller.Transfer()); this.navigationService.Setup( x => x.ShowDxDialog <CreateLogEntryDialog, CreateLogEntryDialogViewModel>( It.IsAny <CreateLogEntryDialogViewModel>())).Returns(true); Assert.DoesNotThrowAsync(async() => await this.controller.Transfer()); Assert.IsEmpty(this.controller.MapResult); Assert.DoesNotThrowAsync(async() => await this.controller.Transfer()); this.navigationService.Verify( x => x.ShowDxDialog <CreateLogEntryDialog, CreateLogEntryDialogViewModel>( It.IsAny <CreateLogEntryDialogViewModel>()) , Times.Exactly(4)); this.hubController.Verify( x => x.Write(It.IsAny <ThingTransaction>()), Times.Exactly(4)); this.hubController.Verify( x => x.Refresh(), Times.Exactly(2)); this.exchangeHistoryService.Verify(x => x.Append(It.IsAny <Thing>(), It.IsAny <ChangeKind>()), Times.Exactly(3)); this.exchangeHistoryService.Verify(x => x.Append(It.IsAny <ParameterValueSetBase>(), It.IsAny <IValueSet>()), Times.Exactly(2)); }
/// <summary> /// Persist the DTO composition to the ORM layer. /// </summary> /// <param name="transaction"> /// The transaction object. /// </param> /// <param name="partition"> /// The database partition (schema) where the requested resource will be stored. /// </param> /// <param name="externalIdentifierMap"> /// The externalIdentifierMap instance to persist. /// </param> /// <returns> /// True if the persistence was successful. /// </returns> private bool CreateContainment(NpgsqlTransaction transaction, string partition, ExternalIdentifierMap externalIdentifierMap) { var results = new List <bool>(); foreach (var correspondence in this.ResolveFromRequestCache(externalIdentifierMap.Correspondence)) { results.Add(this.IdCorrespondenceService.CreateConcept(transaction, partition, correspondence, externalIdentifierMap)); } return(results.All(x => x)); }
/// <summary> /// Add an External Identifier Map row view model to the list of <see cref="ExternalIdentifierMap"/> /// </summary> /// <param name="externalIdentifierMap"> /// The <see cref="ExternalIdentifierMap"/> that is to be added /// </param> private ExternalIdentifierMapRowViewModel AddExternalIdentifierMapRowViewModel(ExternalIdentifierMap externalIdentifierMap) { return(new ExternalIdentifierMapRowViewModel(externalIdentifierMap, this.Session, this)); }