Пример #1
0
        /// <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));
        }
Пример #7
0
        /// <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));
 }