public void SetUp() { this.permissionService = new Mock <IPermissionService>(); this.thingDialognavigationService = new Mock <IThingDialogNavigationService>(); this.thingCreator = new Mock <IThingCreator>(); this.cache = new ConcurrentDictionary <CacheKey, Lazy <Thing> >(); this.sitedir = new SiteDirectory(Guid.NewGuid(), this.cache, this.uri); this.modelsetup = new EngineeringModelSetup(Guid.NewGuid(), this.cache, this.uri); this.iterationsetup = new IterationSetup(Guid.NewGuid(), this.cache, this.uri); this.srdl = new SiteReferenceDataLibrary(Guid.NewGuid(), this.cache, this.uri); this.mrdl = new ModelReferenceDataLibrary(Guid.NewGuid(), this.cache, this.uri) { RequiredRdl = this.srdl }; this.modelsetup.RequiredRdl.Add(this.mrdl); this.modelsetup.IterationSetup.Add(this.iterationsetup); this.sitedir.Model.Add(this.modelsetup); this.sitedir.SiteReferenceDataLibrary.Add(this.srdl); this.option1 = new Option(Guid.NewGuid(), this.cache, this.uri); this.option2 = new Option(Guid.NewGuid(), this.cache, this.uri); this.stateList = new ActualFiniteStateList(Guid.NewGuid(), this.cache, this.uri); this.state1 = new PossibleFiniteState(Guid.NewGuid(), this.cache, this.uri); this.state2 = new PossibleFiniteState(Guid.NewGuid(), this.cache, this.uri); this.posStateList = new PossibleFiniteStateList(Guid.NewGuid(), this.cache, this.uri); this.posStateList.PossibleState.Add(this.state1); this.posStateList.PossibleState.Add(this.state2); this.posStateList.DefaultState = this.state1; this.stateList.ActualState.Add(new ActualFiniteState(Guid.NewGuid(), this.cache, this.uri) { PossibleState = new List <PossibleFiniteState> { this.state1 }, Kind = ActualFiniteStateKind.MANDATORY }); this.stateList.ActualState.Add(new ActualFiniteState(Guid.NewGuid(), this.cache, this.uri) { PossibleState = new List <PossibleFiniteState> { this.state2 }, Kind = ActualFiniteStateKind.FORBIDDEN }); this.activeDomain = new DomainOfExpertise(Guid.NewGuid(), this.cache, this.uri); this.someotherDomain = new DomainOfExpertise(Guid.NewGuid(), this.cache, this.uri); this.session = new Mock <ISession>(); this.qqParamType = new SimpleQuantityKind(Guid.NewGuid(), this.cache, this.uri) { Name = "PTName", ShortName = "PTShortName" }; // Array parameter type with components this.apType = new ArrayParameterType(Guid.NewGuid(), this.cache, this.uri) { Name = "APTName", ShortName = "APTShortName" }; this.apType.Component.Add(new ParameterTypeComponent(Guid.NewGuid(), this.cache, this.uri) { Iid = Guid.NewGuid(), ParameterType = this.qqParamType }); this.apType.Component.Add(new ParameterTypeComponent(Guid.NewGuid(), this.cache, this.uri) { Iid = Guid.NewGuid(), ParameterType = this.qqParamType }); // compound parameter type with components this.cptType = new CompoundParameterType(Guid.NewGuid(), this.cache, this.uri) { Name = "APTName", ShortName = "APTShortName" }; this.cptType.Component.Add(new ParameterTypeComponent(Guid.NewGuid(), this.cache, this.uri) { Iid = Guid.NewGuid(), ParameterType = this.qqParamType }); this.cptType.Component.Add(new ParameterTypeComponent(Guid.NewGuid(), this.cache, this.uri) { Iid = Guid.NewGuid(), ParameterType = this.qqParamType }); this.elementDefinition = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri) { Owner = this.activeDomain }; this.model = new EngineeringModel(Guid.NewGuid(), this.cache, this.uri) { EngineeringModelSetup = this.modelsetup }; this.iteration = new Iteration(Guid.NewGuid(), this.cache, this.uri) { IterationSetup = this.iterationsetup }; var person = new Person(Guid.NewGuid(), null, null) { GivenName = "test", Surname = "test" }; var participant = new Participant(Guid.NewGuid(), null, null) { Person = person, SelectedDomain = this.activeDomain }; this.session.Setup(x => x.ActivePerson).Returns(person); this.modelsetup.Participant.Add(participant); this.model.Iteration.Add(this.iteration); this.iteration.Element.Add(this.elementDefinition); this.iteration.Option.Add(this.option1); this.iteration.Option.Add(this.option2); this.elementDefinitionForUsage1 = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri) { Owner = this.someotherDomain }; this.elementDefinitionForUsage2 = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri) { Owner = this.someotherDomain }; this.elementUsage1 = new ElementUsage(Guid.NewGuid(), this.cache, this.uri) { Owner = this.someotherDomain }; this.elementUsage2 = new ElementUsage(Guid.NewGuid(), this.cache, this.uri) { Owner = this.someotherDomain }; this.elementUsage1.ElementDefinition = this.elementDefinitionForUsage1; this.elementUsage2.ElementDefinition = this.elementDefinitionForUsage2; this.parameterGroup1 = new ParameterGroup(Guid.NewGuid(), this.cache, this.uri); this.parameterGroup2 = new ParameterGroup(Guid.NewGuid(), this.cache, this.uri); this.parameterGroup3 = new ParameterGroup(Guid.NewGuid(), this.cache, this.uri); this.parameterGroup1ForUsage1 = new ParameterGroup(Guid.NewGuid(), this.cache, this.uri); this.parameterGroup2ForUsage2 = new ParameterGroup(Guid.NewGuid(), this.cache, this.uri); this.parameterGroup3ForUsage1 = new ParameterGroup(Guid.NewGuid(), this.cache, this.uri); this.parameter1 = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.qqParamType, Owner = this.activeDomain }; this.parameter2 = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.qqParamType, Owner = this.activeDomain }; this.parameter3 = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.qqParamType, Owner = this.someotherDomain }; this.parameter4 = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.qqParamType, Owner = this.someotherDomain }; this.parameterForStates = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.qqParamType, Owner = this.someotherDomain, StateDependence = this.stateList }; this.parameter5ForSubscription = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.qqParamType, Owner = this.someotherDomain }; this.parameter6ForOverride = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.qqParamType, Owner = this.activeDomain }; this.parameter6Override = new ParameterOverride(Guid.NewGuid(), this.cache, this.uri) { Parameter = this.parameter6ForOverride, Owner = this.activeDomain }; this.parameterArray = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.apType, Owner = this.someotherDomain }; this.parameterCompound = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.cptType, Owner = this.someotherDomain }; this.parameterCompoundForSubscription = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.cptType, Owner = this.someotherDomain }; this.parameterSubscriptionCompound = new ParameterSubscription(Guid.NewGuid(), this.cache, this.uri) { Owner = this.activeDomain }; this.parameterCompoundForSubscription.ParameterSubscription.Add(this.parameterSubscriptionCompound); this.parameterForOptions = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.cptType, Owner = this.someotherDomain, IsOptionDependent = true }; this.elementDefinition.ParameterGroup.Add(this.parameterGroup1); this.elementDefinition.ParameterGroup.Add(this.parameterGroup2); this.elementDefinition.ParameterGroup.Add(this.parameterGroup3); this.elementDefinitionForUsage1.ParameterGroup.Add(this.parameterGroup1ForUsage1); this.elementDefinitionForUsage2.ParameterGroup.Add(this.parameterGroup2ForUsage2); this.elementDefinitionForUsage1.ParameterGroup.Add(this.parameterGroup3ForUsage1); this.iteration.Element.Add(elementDefinitionForUsage1); this.iteration.Element.Add(elementDefinitionForUsage2); this.parameterGroup3.ContainingGroup = this.parameterGroup1; this.parameterGroup3ForUsage1.ContainingGroup = this.parameterGroup1ForUsage1; this.parameter4.Group = this.parameterGroup3; this.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object); this.session.Setup(x => x.OpenIterations).Returns(new Dictionary <Iteration, Tuple <DomainOfExpertise, Participant> >()); }
public void VerifyThatPopulateParameterOrOverrideWorks() { var revisionProperty = typeof(ElementUsage).GetProperty("RevisionNumber"); // TEST DATA var group1 = new ParameterGroup(Guid.NewGuid(), this.cache, this.uri); var group11 = new ParameterGroup(Guid.NewGuid(), this.cache, this.uri) { ContainingGroup = group1 }; this.elementDef.ParameterGroup.Add(group1); this.elementDef.ParameterGroup.Add(group11); this.elementUsage.ElementDefinition = this.elementDef; this.elementDef.ContainedElement.Clear(); var type1 = new EnumerationParameterType(Guid.NewGuid(), this.cache, this.uri) { Name = "type1" }; var parameter1 = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = type1, Owner = this.domain }; parameter1.ValueSet.Add(this.valueSet); var parameter2 = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = type1, Owner = this.domain }; parameter2.ValueSet.Add(this.valueSet); this.elementDef.Parameter.Add(parameter2); this.elementDef.Parameter.Add(parameter1); var override1 = new ParameterOverride(Guid.NewGuid(), this.cache, this.uri) { Parameter = parameter1, Owner = this.domain }; override1.ValueSet.Add(this.valueSetOverride); this.elementUsage.ParameterOverride.Add(override1); var vm = new ElementUsageRowViewModel(this.elementUsage, this.option, this.session.Object, null); // ************************************************************************************** // check added parameter Assert.AreEqual(2, vm.ContainedRows.OfType <ParameterOrOverrideBaseRowViewModel>().Count()); var param2row = vm.ContainedRows.OfType <ParameterRowViewModel>().Single(); var override1row = vm.ContainedRows.OfType <ParameterOverrideRowViewModel>().Single(); Assert.AreSame(param2row.Thing, parameter2); Assert.AreSame(override1, override1row.Thing); // move parameter1, check update is correct parameter1.Group = group11; revisionProperty.SetValue(parameter1, 10); CDPMessageBus.Current.SendObjectChangeEvent(parameter1, EventKind.Updated); Assert.AreEqual(1, vm.ContainedRows.OfType <ParameterOrOverrideBaseRowViewModel>().Count()); var group11row = vm.ContainedRows.OfType <ParameterGroupRowViewModel>().Single().ContainedRows.OfType <ParameterGroupRowViewModel>().Single(); Assert.AreSame(override1, group11row.ContainedRows.OfType <ParameterOrOverrideBaseRowViewModel>().Single().Thing); // move parameter1 under group1, check update parameter1.Group = group1; revisionProperty.SetValue(parameter1, 20); CDPMessageBus.Current.SendObjectChangeEvent(parameter1, EventKind.Updated); Assert.AreEqual(1, vm.ContainedRows.OfType <ParameterOrOverrideBaseRowViewModel>().Count()); var group1row = vm.ContainedRows.OfType <ParameterGroupRowViewModel>().Single(); Assert.AreSame(override1, group1row.ContainedRows.OfType <ParameterOrOverrideBaseRowViewModel>().Single().Thing); // move parameter1 back to top, check update is correct parameter1.Group = null; revisionProperty.SetValue(parameter1, 30); CDPMessageBus.Current.SendObjectChangeEvent(parameter1, EventKind.Updated); Assert.AreEqual(2, vm.ContainedRows.OfType <ParameterOrOverrideBaseRowViewModel>().Count()); Assert.AreEqual(0, group11row.ContainedRows.OfType <ParameterOrOverrideBaseRowViewModel>().Count()); // remove override1 this.elementUsage.ParameterOverride.Clear(); revisionProperty.SetValue(this.elementUsage, 40); CDPMessageBus.Current.SendObjectChangeEvent(this.elementUsage, EventKind.Updated); Assert.AreEqual(2, vm.ContainedRows.OfType <ParameterOrOverrideBaseRowViewModel>().Count()); var param1row = vm.ContainedRows.OfType <ParameterRowViewModel>().SingleOrDefault(x => x.Thing == parameter1); Assert.IsNotNull(param1row); }
public void SetUp() { this.cache = new ConcurrentDictionary <CacheKey, Lazy <Thing> >(); this.uri = new Uri("http://www.rheagroup.com"); this.textParameterType = new TextParameterType(Guid.NewGuid(), this.cache, this.uri); this.textParameterType.Name = "text"; this.textParameterType.ShortName = "TXT"; var satellite = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri); satellite.ShortName = "Sat"; satellite.Name = "Satellite"; var battery = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri); battery.ShortName = "Bat"; battery.Name = "Battery"; var elementUsage = new ElementUsage(Guid.NewGuid(), this.cache, this.uri); elementUsage.ElementDefinition = battery; satellite.ContainedElement.Add(elementUsage); this.parameter = new Parameter(Guid.NewGuid(), this.cache, this.uri); this.parameter.ParameterType = this.textParameterType; satellite.Parameter.Add(this.parameter); this.parameterOverride = new ParameterOverride(Guid.NewGuid(), this.cache, this.uri); this.parameterOverride.Parameter = this.parameter; var parameterValueSet = new ParameterValueSet(Guid.NewGuid(), this.cache, this.uri); parameterValueSet.Manual = new ValueArray <string>(new List <string> { "1" }); parameterValueSet.Reference = new ValueArray <string>(new List <string> { "2" }); parameterValueSet.Computed = new ValueArray <string>(new List <string> { "3" }); parameterValueSet.Formula = new ValueArray <string>(new List <string> { "-" }); parameterValueSet.Published = new ValueArray <string>(new List <string> { "-" }); parameterValueSet.ValueSwitch = ParameterSwitchKind.MANUAL; this.parameter.ValueSet.Add(parameterValueSet); var parameterOverrideValueSet = new ParameterOverrideValueSet(Guid.NewGuid(), this.cache, this.uri); parameterOverrideValueSet.Manual = new ValueArray <string>(new List <string> { "1.1" }); parameterOverrideValueSet.Reference = new ValueArray <string>(new List <string> { "2.1" }); parameterOverrideValueSet.Computed = new ValueArray <string>(new List <string> { "3.1" }); parameterOverrideValueSet.Formula = new ValueArray <string>(new List <string> { "-" }); parameterOverrideValueSet.Published = new ValueArray <string>(new List <string> { "-" }); parameterOverrideValueSet.ValueSwitch = ParameterSwitchKind.MANUAL; this.parameterOverride.ValueSet.Add(parameterOverrideValueSet); parameterOverrideValueSet.ParameterValueSet = parameterValueSet; elementUsage.ParameterOverride.Add(this.parameterOverride); var parameterSubscribtionValueSet = new ParameterSubscriptionValueSet(Guid.NewGuid(), this.cache, this.uri); parameterSubscribtionValueSet.Manual = new ValueArray <string>(new List <string> { "1.2" }); parameterSubscribtionValueSet.ValueSwitch = ParameterSwitchKind.MANUAL; parameterSubscribtionValueSet.SubscribedValueSet = parameterValueSet; var parameterSubscription = new ParameterSubscription(Guid.NewGuid(), this.cache, this.uri); this.parameter.ParameterSubscription.Add(parameterSubscription); parameterSubscription.ValueSet.Add(parameterSubscribtionValueSet); this.processedValueSets = new Dictionary <Guid, ProcessedValueSet>(); var valueSetValue = new ValueSetValues(0, this.textParameterType, ParameterSwitchKind.COMPUTED, "a gazilion", "a gazilion", "a gazilion", "a gazilion"); var parameterValueSetProcessedValueSet = new ProcessedValueSet(parameterValueSet, ValidationResultKind.Valid); parameterValueSetProcessedValueSet.UpdateClone(valueSetValue); var parameterOverrideValueSetProcessedValueSet = new ProcessedValueSet(parameterOverrideValueSet, ValidationResultKind.Valid); parameterOverrideValueSetProcessedValueSet.UpdateClone(valueSetValue); var parameterSubscribtionValueSetProcessedValueSet = new ProcessedValueSet(parameterSubscribtionValueSet, ValidationResultKind.Valid); parameterSubscribtionValueSetProcessedValueSet.UpdateClone(valueSetValue); this.processedValueSets.Add(parameterValueSetProcessedValueSet.OriginalThing.Iid, parameterValueSetProcessedValueSet); this.processedValueSets.Add(parameterOverrideValueSetProcessedValueSet.OriginalThing.Iid, parameterOverrideValueSetProcessedValueSet); this.processedValueSets.Add(parameterSubscribtionValueSetProcessedValueSet.OriginalThing.Iid, parameterSubscribtionValueSetProcessedValueSet); }
/// <summary> /// 获取参数 /// </summary> /// <returns></returns> public static ResolverOverride GetParameterOverride(string parameterName, object parameterValue) { ResolverOverride resolver = new ParameterOverride(parameterName, parameterValue); return(resolver); }
public void SetUp() { this.nestedElementTreeGenerator = new NestedElementTreeGenerator(); this.uri = new Uri("http://www.rheagroup.com"); this.cache = new ConcurrentDictionary <CDP4Common.Types.CacheKey, Lazy <Thing> >(); this.domainOfExpertise = new DomainOfExpertise(Guid.NewGuid(), this.cache, this.uri) { ShortName = "SYS", Name = "System" }; this.domainOfExpertise_2 = new DomainOfExpertise(Guid.NewGuid(), this.cache, this.uri) { ShortName = "TEST", Name = "Test" }; this.iteration = new Iteration(Guid.NewGuid(), this.cache, this.uri); this.option_A = new Option(Guid.NewGuid(), this.cache, this.uri) { ShortName = "OPT_A", Name = "Option A" }; this.option_B = new Option(Guid.NewGuid(), this.cache, this.uri) { ShortName = "OPT_B", Name = "Option B" }; this.elementDefinition_1 = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri) { ShortName = "Sat", Name = "Satellite" }; this.elementDefinition_2 = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri) { ShortName = "Bat", Name = "Battery" }; this.elementUsage_1 = new ElementUsage(Guid.NewGuid(), this.cache, this.uri) { ElementDefinition = this.elementDefinition_2, ShortName = "bat_a", Name = "battery a" }; this.elementUsage_2 = new ElementUsage(Guid.NewGuid(), this.cache, this.uri) { ElementDefinition = this.elementDefinition_2, ShortName = "bat_b", Name = "battery b" }; var simpleQuantityKind = new SimpleQuantityKind(Guid.NewGuid(), null, null) { ShortName = "m" }; var simpleQuantityKind2 = new SimpleQuantityKind(Guid.NewGuid(), null, null) { ShortName = "v" }; var actualList = new ActualFiniteStateList(Guid.NewGuid(), null, null); actualList.Owner = this.domainOfExpertise; var possibleList1 = new PossibleFiniteStateList(Guid.NewGuid(), null, null); var possibleState1 = new PossibleFiniteState(Guid.NewGuid(), null, null) { Name = "possiblestate1", ShortName = "1" }; var possibleState2 = new PossibleFiniteState(Guid.NewGuid(), null, null) { Name = "possiblestate2", ShortName = "2" }; possibleList1.PossibleState.Add(possibleState1); possibleList1.PossibleState.Add(possibleState2); actualList.PossibleFiniteStateList.Add(possibleList1); this.actualState_3 = new ActualFiniteState(Guid.NewGuid(), this.cache, this.uri); this.actualState_3.PossibleState.Add(possibleState1); this.actualState_4 = new ActualFiniteState(Guid.NewGuid(), this.cache, this.uri); this.actualState_4.PossibleState.Add(possibleState2); this.parameter = new Parameter(Guid.NewGuid(), this.cache, this.uri) { Owner = this.domainOfExpertise, ParameterType = simpleQuantityKind, IsOptionDependent = true }; this.parameter2 = new Parameter(Guid.NewGuid(), this.cache, this.uri) { Owner = this.domainOfExpertise_2, ParameterType = simpleQuantityKind2, StateDependence = actualList }; this.parameterOverride = new ParameterOverride(Guid.NewGuid(), this.cache, this.uri) { Owner = this.domainOfExpertise, Parameter = this.parameter }; var parameterValueset_1 = new ParameterValueSet() { ActualOption = this.option_B, Iid = Guid.NewGuid() }; var parameterValueset_2 = new ParameterValueSet() { ActualOption = this.option_A, Iid = Guid.NewGuid() }; var parameterValueset_3 = new ParameterValueSet() { ActualState = this.actualState_3, Iid = Guid.NewGuid() }; var parameterValueset_4 = new ParameterValueSet() { ActualState = this.actualState_4, Iid = Guid.NewGuid() }; var values_1 = new List <string> { "2" }; var values_2 = new List <string> { "3" }; var values_3 = new List <string> { "220" }; var emptyValues = new List <string> { "-" }; var publishedValues = new List <string> { "123" }; var overrideValueset = new ParameterOverrideValueSet() { ParameterValueSet = parameterValueset_1, Iid = Guid.NewGuid() }; this.iteration.Option.Add(this.option_A); this.iteration.Option.Add(this.option_B); this.iteration.DefaultOption = this.option_A; parameterValueset_1.Manual = new CDP4Common.Types.ValueArray <string>(values_1); parameterValueset_1.Reference = new CDP4Common.Types.ValueArray <string>(values_1); parameterValueset_1.Computed = new CDP4Common.Types.ValueArray <string>(values_1); parameterValueset_1.Formula = new CDP4Common.Types.ValueArray <string>(values_1); parameterValueset_1.Published = new CDP4Common.Types.ValueArray <string>(publishedValues); parameterValueset_1.ValueSwitch = ParameterSwitchKind.MANUAL; parameterValueset_2.Manual = new CDP4Common.Types.ValueArray <string>(values_2); parameterValueset_2.Reference = new CDP4Common.Types.ValueArray <string>(values_2); parameterValueset_2.Computed = new CDP4Common.Types.ValueArray <string>(values_2); parameterValueset_2.Formula = new CDP4Common.Types.ValueArray <string>(values_2); parameterValueset_2.Published = new CDP4Common.Types.ValueArray <string>(publishedValues); parameterValueset_2.ValueSwitch = ParameterSwitchKind.MANUAL; parameterValueset_3.Manual = new CDP4Common.Types.ValueArray <string>(values_3); parameterValueset_3.Reference = new CDP4Common.Types.ValueArray <string>(values_3); parameterValueset_3.Computed = new CDP4Common.Types.ValueArray <string>(values_3); parameterValueset_3.Formula = new CDP4Common.Types.ValueArray <string>(values_3); parameterValueset_3.Published = new CDP4Common.Types.ValueArray <string>(emptyValues); parameterValueset_3.ValueSwitch = ParameterSwitchKind.MANUAL; parameterValueset_4.Manual = new CDP4Common.Types.ValueArray <string>(emptyValues); parameterValueset_4.Reference = new CDP4Common.Types.ValueArray <string>(emptyValues); parameterValueset_4.Computed = new CDP4Common.Types.ValueArray <string>(emptyValues); parameterValueset_4.Formula = new CDP4Common.Types.ValueArray <string>(emptyValues); parameterValueset_4.Published = new CDP4Common.Types.ValueArray <string>(publishedValues); parameterValueset_4.ValueSwitch = ParameterSwitchKind.MANUAL; overrideValueset.Manual = new CDP4Common.Types.ValueArray <string>(values_1); overrideValueset.Reference = new CDP4Common.Types.ValueArray <string>(values_1); overrideValueset.Computed = new CDP4Common.Types.ValueArray <string>(values_1); overrideValueset.Formula = new CDP4Common.Types.ValueArray <string>(values_1); overrideValueset.Published = new CDP4Common.Types.ValueArray <string>(publishedValues); overrideValueset.ValueSwitch = ParameterSwitchKind.MANUAL; this.parameter.ValueSet.Add(parameterValueset_1); this.parameter.ValueSet.Add(parameterValueset_2); this.parameterOverride.ValueSet.Add(overrideValueset); this.parameter2.ValueSet.Add(parameterValueset_3); this.parameter2.ValueSet.Add(parameterValueset_4); this.elementUsage_1.ExcludeOption.Add(this.option_A); this.elementUsage_1.ParameterOverride.Add(this.parameterOverride); this.elementDefinition_1.Parameter.Add(this.parameter); this.elementDefinition_1.ContainedElement.Add(this.elementUsage_1); this.elementDefinition_1.ContainedElement.Add(this.elementUsage_2); this.elementDefinition_2.Parameter.Add(this.parameter); this.elementDefinition_2.Parameter.Add(this.parameter2); this.iteration.Element.Add(this.elementDefinition_1); this.iteration.Element.Add(this.elementDefinition_2); this.iteration.TopElement = this.elementDefinition_1; this.iteration.ActualFiniteStateList.Add(actualList); this.iteration.PossibleFiniteStateList.Add(possibleList1); actualList.ActualState.Add(this.actualState_3); actualList.ActualState.Add(this.actualState_4); }
public static T GetInstance <T>(ParameterOverride p) { return(Container.Resolve <T>(p)); }
/// <summary> /// Creates <see cref="Option"/> dependent <see cref="ParameterOverrideValueSet"/>s that are contained by the <see cref="ParameterOverride"/> /// as well as <see cref="ParameterSubscriptionValueSet"/>s for the <see cref="ParameterSubscription"/>s that are contained /// by the <paramref name="container"/> <see cref="ParameterOverride"/>. /// </summary> /// <param name="transaction"> /// The current transaction to the database. /// </param> /// <param name="partition"> /// The database partition (schema) where the requested resource will be stored. /// </param> /// <param name="option"> /// The <see cref="Option"/> that is uses as actual option for the new <see cref="ParameterOverrideValueSet"/>s /// </param> /// <param name="container"> /// The <see cref="ParameterOverride"/> that is the container of the new <see cref="ParameterOverrideValueSet"/>s /// </param> /// <param name="securityContext"> /// The security Context used for permission checking. /// </param> private void CreateParameterOverrideValueSetsAndParameterSubscriptionValueSets(NpgsqlTransaction transaction, string partition, Option option, ParameterOverride container, ISecurityContext securityContext) { Parameter parameter; if (!this.optionDependentParameterCache.TryGetValue(container.Parameter, out parameter)) { throw new KeyNotFoundException(string.Format("The Parameter with iid {0} could not be found", container.Parameter)); } var defaultValueArray = this.DefaultValueArrayFactory.CreateDefaultValueArray(container.Parameter); // get all the ParameterSubscriptions that are contained by the container ParameterOverride, for each of these subscriptions additional ParameterSubscriptionValueSets will be created as well var containerParameterSubscriptions = this.ParameterSubscriptionService.GetShallow(transaction, partition, container.ParameterSubscription, securityContext).Cast <ParameterSubscription>().ToList(); if (parameter.StateDependence == null) { var parameterValueSet = this.QueryParameterValueSet(parameter.Iid, option.Iid, null); var parameterOverrideValueSet = this.ParameterOverrideValueSetFactory.CreateWithDefaultValueArray(parameterValueSet.Iid, defaultValueArray); this.ParameterOverrideValueSetService.CreateConcept(transaction, partition, parameterOverrideValueSet, container); this.CreateParameterSubscriptionValueSets(containerParameterSubscriptions, defaultValueArray, parameterOverrideValueSet.Iid, transaction, partition); return; } this.QueryAndCacheAllActualFiniteStateLists(transaction, partition, securityContext); var actualFiniteStateList = this.actualFiniteStateLists.Single(x => x.Iid == parameter.StateDependence); foreach (var actualStateIid in actualFiniteStateList.ActualState) { var parameterValueSet = this.QueryParameterValueSet(parameter.Iid, option.Iid, actualStateIid); var parameterOverrideValueSet = this.ParameterOverrideValueSetFactory.CreateWithDefaultValueArray(parameterValueSet.Iid, defaultValueArray); this.ParameterOverrideValueSetService.CreateConcept(transaction, partition, parameterOverrideValueSet, container); this.CreateParameterSubscriptionValueSets(containerParameterSubscriptions, defaultValueArray, parameterOverrideValueSet.Iid, transaction, partition); } }
public RegistroMapeadores() { this.Mapeadores = new ObservableCollection <Mapeador>(); var empresa = "01"; ParameterOverride[] parameters = new ParameterOverride[2]; parameters[0] = new ParameterOverride("empresa", empresa); //INICIO MAPEADORES parameters[1] = new ParameterOverride("entidad", "PadronIIBB"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Padron IIBB", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorPadronIIBB), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Empresa"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Empresa", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorEmpresaFox), parameters), Seleccionado = true }); #region Mapeador Locacion //parameters[1] = new ParameterOverride("entidad", "Calle"); //this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Calle", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorCallesFox), parameters), Seleccionado = true }); //parameters[1] = new ParameterOverride("entidad", "Localidad"); //this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Localidad", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorLocalidadFox), parameters), Seleccionado = true }); #endregion #region Mapeadores Simples (Codigo, Nombre) //parameters[1] = new ParameterOverride("entidad", "Zonas Geograficas"); //this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Zonas Geograficas", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorZonasGeograficasFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Zonas Logisticas"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Zonas Logísticas", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorZonasLogisticasFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Deposito"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Deposito", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorDepositosFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "ListaDePreciosDeVenta"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Lista De Precios De Venta", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorListaDePreciosDeVentaFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Empaque"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Empaques", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorEmpaquesFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Caracteristica"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Caracteristicas", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorCaracteristicasFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Marca"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Marcas", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorMarcasFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Clase"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Clases", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorClasesFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Division"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Divisiones Articulo", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorDivisionesArticuloFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Banco"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Bancos", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorBancosFox), parameters), Seleccionado = true }); //parameters[1] = new ParameterOverride("entidad", "DivisionComercial"); //this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador DivicionComercial", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorDivisionesComerciales), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Canal"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Canal", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorCanalesFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Ramo"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Ramo", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorRamosFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "ConceptosDeMovimiento"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Conceptos De Movimiento", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorConceptosDeMovimientoFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "TipoProveedor"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Tipo Proveedor", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorTipoProveedorFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Transportista"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Transportista", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorTransportistasFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "GrupoCliente"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Grupo Cliente", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorGrupoClienteFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Area"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Area", Objeto = FabricaNegocios.Instancia.Resolver(typeof(IMapeadorFox <Area>), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Sector"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Sector", Objeto = FabricaNegocios.Instancia.Resolver(typeof(IMapeadorFox <Sector>), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Subsector"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Subsector", Objeto = FabricaNegocios.Instancia.Resolver(typeof(IMapeadorFox <Subsector>), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Familia"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Familia", Objeto = FabricaNegocios.Instancia.Resolver(typeof(IMapeadorFox <Familia>), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Subfamilia"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Subfamilia", Objeto = FabricaNegocios.Instancia.Resolver(typeof(IMapeadorFox <Subfamilia>), parameters), Seleccionado = true }); #endregion #region Mapeador entidad Preventa parameters[1] = new ParameterOverride("entidad", "GeoRegionDeVenta"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador GeoRegion de Venta", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorGeoRegionDeVentaFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "RegionDeVenta"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Region De Venta", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorRegionDeVentaFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Preventista"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Preventista", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorPreventistasFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Cobrador"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Cobradores", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorCobradoresFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Vendedor"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Vendedor", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorVendedoresFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Supervisor"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Supervisores", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorSupervisoresFox), parameters), Seleccionado = true }); #endregion #region Mapeadores Complejos parameters[1] = new ParameterOverride("entidad", "TarjetaClienteMayorista"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador TarjetaClienteMayorista", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorTarjetasClienteMayoristaFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "HeredaTarjetaClienteMayorista"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador HeredaTarjetaClienteMayorista", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorHeredaTarjetasClienteMayoristaFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "CondicionDePagoCliente"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador CondicionDePagoCliente", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorCondicionesDePagoClienteFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Linea"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Linea", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorLineaFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Rubro"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Rubro", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorRubrosFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Cliente"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Cliente", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorClientesFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "RutaDeVenta"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador RutaDeVenta", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorRutaVentasFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Proveedor"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Proveedores", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorProveedoresFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "ReferenciaContable"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Referencia Contable", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorReferenciaContableFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Articulo"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Articulo", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorArticulosFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Articulo Compuesto"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Articulo Compuesto", Objeto = FabricaNegocios.Instancia.Resolver(typeof(MapeadorArticulosCompuestosFox), parameters), Seleccionado = true }); parameters[1] = new ParameterOverride("entidad", "Envase"); this.Mapeadores.Add(new Mapeador() { Nombre = "Mapeador Envase", Objeto = FabricaNegocios.Instancia.Resolver(typeof(IMapeadorFox <Envase>), parameters), Seleccionado = true }); #endregion }
public void Setup() { this.securityContext = new Mock <ISecurityContext>(); this.actualFiniteStateListService = new Mock <IActualFiniteStateListService>(); this.actualFiniteStateService = new Mock <IActualFiniteStateService>(); this.possibleFiniteStateListslService = new Mock <IPossibleFiniteStateListService>(); this.parameterValueSetService = new Mock <IParameterValueSetService>(); this.parameterOverrideValueSetService = new Mock <IParameterOverrideValueSetService>(); this.parameterSubscriptionValueSetService = new Mock <IParameterSubscriptionValueSetService>(); this.parameterService = new Mock <IParameterService>(); this.parameterOverrideService = new Mock <IParameterOverrideService>(); this.parameterSubscriptionService = new Mock <IParameterSubscriptionService>(); this.iterationService = new Mock <IIterationService>(); this.compoundParameterTypeService = new Mock <ICompoundParameterTypeService>(); this.defaultValueArrayFactory = new Mock <IDefaultValueArrayFactory>(); this.parameterUpdateService = new StateDependentParameterUpdateService(); this.sideEffect.StateDependentParameterUpdateService = this.parameterUpdateService; this.parameterUpdateService.ParameterValueSetService = this.parameterValueSetService.Object; this.parameterUpdateService.ParameterService = this.parameterService.Object; this.parameterUpdateService.ParameterOverrideService = this.parameterOverrideService.Object; this.parameterUpdateService.ParameterSubscriptionService = this.parameterSubscriptionService.Object; this.parameterUpdateService.ParameterOverrideValueSetService = this.parameterOverrideValueSetService.Object; this.parameterUpdateService.ParameterSubscriptionValueSetService = this.parameterSubscriptionValueSetService.Object; this.parameterUpdateService.CompoundParameterTypeService = this.compoundParameterTypeService.Object; this.iteration = new Iteration(Guid.NewGuid(), 1); this.option1 = new Option(Guid.NewGuid(), 1); this.iteration.Option.Add(new OrderedItem { K = 1, V = this.option1.Iid.ToString() }); this.psl1 = new PossibleFiniteStateList(Guid.NewGuid(), 1); this.psl2 = new PossibleFiniteStateList(Guid.NewGuid(), 1); this.ps11 = new PossibleFiniteState(Guid.NewGuid(), 1); this.ps12 = new PossibleFiniteState(Guid.NewGuid(), 1); this.ps21 = new PossibleFiniteState(Guid.NewGuid(), 1); this.ps22 = new PossibleFiniteState(Guid.NewGuid(), 1); this.asl1 = new ActualFiniteStateList(Guid.NewGuid(), 1); this.asl2 = new ActualFiniteStateList(Guid.NewGuid(), 1); this.iteration.PossibleFiniteStateList.Add(this.psl1.Iid); this.iteration.PossibleFiniteStateList.Add(this.psl2.Iid); this.iteration.ActualFiniteStateList.Add(this.asl1.Iid); this.iteration.ActualFiniteStateList.Add(this.asl2.Iid); this.psl1.PossibleState.Add(new OrderedItem { K = 1, V = this.ps11.Iid.ToString() }); this.psl1.PossibleState.Add(new OrderedItem { K = 2, V = this.ps12.Iid.ToString() }); this.psl2.PossibleState.Add(new OrderedItem { K = 1, V = this.ps21.Iid.ToString() }); this.psl2.PossibleState.Add(new OrderedItem { K = 2, V = this.ps22.Iid.ToString() }); this.asl1.PossibleFiniteStateList.Add(new OrderedItem { K = 1, V = this.psl1.Iid.ToString() }); this.asl1.PossibleFiniteStateList.Add(new OrderedItem { K = 2, V = this.psl2.Iid.ToString() }); // initializes actual states actual states this.as11 = new ActualFiniteState(Guid.NewGuid(), 1); this.as11.PossibleState.Add(this.ps11.Iid); this.as11.PossibleState.Add(this.ps21.Iid); this.as12 = new ActualFiniteState(Guid.NewGuid(), 1); this.as12.PossibleState.Add(this.ps11.Iid); this.as12.PossibleState.Add(this.ps22.Iid); this.asl1.ActualState.Add(this.as11.Iid); this.asl1.ActualState.Add(this.as12.Iid); this.asl2.PossibleFiniteStateList.Add(new OrderedItem { K = 1, V = this.psl2.Iid.ToString() }); this.as21 = new ActualFiniteState(Guid.NewGuid(), 1); this.as21.PossibleState.Add(this.ps21.Iid); this.as22 = new ActualFiniteState(Guid.NewGuid(), 1); this.as22.PossibleState.Add(this.ps22.Iid); this.asl2.ActualState.Add(this.as21.Iid); this.asl2.ActualState.Add(this.as22.Iid); this.possibleFiniteStateListslService.Setup( x => x.GetShallow(this.transaction, this.partition, It.IsAny <IEnumerable <Guid> >(), this.securityContext.Object)) .Returns(new List <Thing> { this.psl1, this.psl2 }); this.actualFiniteStateListService.Setup( x => x.GetShallow(this.transaction, this.partition, null, this.securityContext.Object)) .Returns(new List <Thing> { this.asl1, this.asl2 }); this.actualFiniteStateService.Setup( x => x.GetShallow(this.transaction, this.partition, It.IsAny <IEnumerable <Guid> >(), this.securityContext.Object)) .Returns(new List <Thing> { this.as11, this.as12 }); this.iterationService.Setup(x => x.GetShallow(this.transaction, this.partition, null, this.securityContext.Object)) .Returns(new List <Thing> { this.iteration }); this.parameter1 = new Parameter(Guid.NewGuid(), 1); this.parameter1.StateDependence = this.asl1.Iid; this.parameter2 = new Parameter(Guid.NewGuid(), 1); this.parameter2.StateDependence = this.asl1.Iid; this.parameter2.IsOptionDependent = true; this.parameterOverride1 = new ParameterOverride(Guid.NewGuid(), 1); this.parameterOverride1.Parameter = this.parameter1.Iid; this.parameterOverride2 = new ParameterOverride(Guid.NewGuid(), 1); this.parameterOverride2.Parameter = this.parameter2.Iid; this.parameterSubscription1 = new ParameterSubscription(Guid.NewGuid(), 1); this.parameterSubscription2 = new ParameterSubscription(Guid.NewGuid(), 1); this.parameter1.ParameterSubscription.Add(this.parameterSubscription1.Iid); this.parameterOverride2.ParameterSubscription.Add(this.parameterSubscription2.Iid); this.pvs11 = new ParameterValueSet(Guid.NewGuid(), 1) { Manual = new ValueArray <string>(this.initValue), Computed = new ValueArray <string>(this.initValue), Reference = new ValueArray <string>(this.initValue), Published = new ValueArray <string>(this.initValue), Formula = new ValueArray <string>(this.initValue), ValueSwitch = CDP4Common.EngineeringModelData.ParameterSwitchKind.REFERENCE, }; this.pvs12 = new ParameterValueSet(Guid.NewGuid(), 1) { Manual = new ValueArray <string>(this.initValue), Computed = new ValueArray <string>(this.initValue), Reference = new ValueArray <string>(this.initValue), Published = new ValueArray <string>(this.initValue), Formula = new ValueArray <string>(this.initValue), ValueSwitch = CDP4Common.EngineeringModelData.ParameterSwitchKind.REFERENCE, }; this.pvs21 = new ParameterValueSet(Guid.NewGuid(), 1) { Manual = new ValueArray <string>(this.initValue), Computed = new ValueArray <string>(this.initValue), Reference = new ValueArray <string>(this.initValue), Published = new ValueArray <string>(this.initValue), Formula = new ValueArray <string>(this.initValue), ValueSwitch = CDP4Common.EngineeringModelData.ParameterSwitchKind.REFERENCE, }; this.pvs22 = new ParameterValueSet(Guid.NewGuid(), 1) { Manual = new ValueArray <string>(this.initValue), Computed = new ValueArray <string>(this.initValue), Reference = new ValueArray <string>(this.initValue), Published = new ValueArray <string>(this.initValue), Formula = new ValueArray <string>(this.initValue), ValueSwitch = CDP4Common.EngineeringModelData.ParameterSwitchKind.REFERENCE, }; this.povs11 = new ParameterOverrideValueSet(Guid.NewGuid(), 1) { Manual = new ValueArray <string>(this.initValue), Computed = new ValueArray <string>(this.initValue), Reference = new ValueArray <string>(this.initValue), Published = new ValueArray <string>(this.initValue), Formula = new ValueArray <string>(this.initValue), ValueSwitch = CDP4Common.EngineeringModelData.ParameterSwitchKind.REFERENCE, ParameterValueSet = this.pvs11.Iid }; this.povs12 = new ParameterOverrideValueSet(Guid.NewGuid(), 1) { Manual = new ValueArray <string>(this.initValue), Computed = new ValueArray <string>(this.initValue), Reference = new ValueArray <string>(this.initValue), Published = new ValueArray <string>(this.initValue), Formula = new ValueArray <string>(this.initValue), ValueSwitch = CDP4Common.EngineeringModelData.ParameterSwitchKind.REFERENCE, ParameterValueSet = this.pvs11.Iid }; this.povs21 = new ParameterOverrideValueSet(Guid.NewGuid(), 1) { Manual = new ValueArray <string>(this.initValue), Computed = new ValueArray <string>(this.initValue), Reference = new ValueArray <string>(this.initValue), Published = new ValueArray <string>(this.initValue), Formula = new ValueArray <string>(this.initValue), ValueSwitch = CDP4Common.EngineeringModelData.ParameterSwitchKind.REFERENCE, ParameterValueSet = this.pvs11.Iid }; this.povs22 = new ParameterOverrideValueSet(Guid.NewGuid(), 1) { Manual = new ValueArray <string>(this.initValue), Computed = new ValueArray <string>(this.initValue), Reference = new ValueArray <string>(this.initValue), Published = new ValueArray <string>(this.initValue), Formula = new ValueArray <string>(this.initValue), ValueSwitch = CDP4Common.EngineeringModelData.ParameterSwitchKind.REFERENCE, ParameterValueSet = this.pvs11.Iid }; this.psvs11 = new ParameterSubscriptionValueSet(Guid.NewGuid(), 1) { Manual = new ValueArray <string>(this.initValue), ValueSwitch = CDP4Common.EngineeringModelData.ParameterSwitchKind.REFERENCE, SubscribedValueSet = this.pvs11.Iid }; this.psvs12 = new ParameterSubscriptionValueSet(Guid.NewGuid(), 1) { Manual = new ValueArray <string>(this.initValue), ValueSwitch = CDP4Common.EngineeringModelData.ParameterSwitchKind.REFERENCE, SubscribedValueSet = this.pvs12.Iid }; this.psvs21 = new ParameterSubscriptionValueSet(Guid.NewGuid(), 1) { Manual = new ValueArray <string>(this.initValue), ValueSwitch = CDP4Common.EngineeringModelData.ParameterSwitchKind.REFERENCE, SubscribedValueSet = this.povs21.Iid }; this.psvs22 = new ParameterSubscriptionValueSet(Guid.NewGuid(), 1) { Manual = new ValueArray <string>(this.initValue), ValueSwitch = CDP4Common.EngineeringModelData.ParameterSwitchKind.REFERENCE, SubscribedValueSet = this.povs22.Iid }; this.parameter1.ValueSet.Add(this.pvs11.Iid); this.parameter1.ValueSet.Add(this.pvs12.Iid); this.parameter2.ValueSet.Add(this.pvs21.Iid); this.parameter2.ValueSet.Add(this.pvs22.Iid); this.parameterOverride1.ValueSet.Add(this.povs11.Iid); this.parameterOverride1.ValueSet.Add(this.povs12.Iid); this.parameterOverride2.ValueSet.Add(this.povs21.Iid); this.parameterOverride2.ValueSet.Add(this.povs22.Iid); this.parameterSubscription1.ValueSet.Add(this.psvs11.Iid); this.parameterSubscription1.ValueSet.Add(this.psvs12.Iid); this.parameterSubscription2.ValueSet.Add(this.psvs21.Iid); this.parameterSubscription2.ValueSet.Add(this.psvs22.Iid); this.parameterValueSetService.Setup( x => x.GetShallow(this.transaction, this.partition, this.parameter1.ValueSet, this.securityContext.Object)) .Returns(new List <Thing> { this.pvs11, this.pvs12 }); this.parameterValueSetService.Setup( x => x.GetShallow(this.transaction, this.partition, this.parameter2.ValueSet, this.securityContext.Object)) .Returns(new List <Thing> { this.pvs21, this.pvs22 }); this.parameterOverrideValueSetService.Setup( x => x.GetShallow(this.transaction, this.partition, this.parameterOverride1.ValueSet, this.securityContext.Object)) .Returns(new List <Thing> { this.povs11, this.povs12 }); this.parameterOverrideValueSetService.Setup( x => x.GetShallow(this.transaction, this.partition, this.parameterOverride2.ValueSet, this.securityContext.Object)) .Returns(new List <Thing> { this.povs21, this.povs22 }); this.parameterSubscriptionValueSetService.Setup( x => x.GetShallow(this.transaction, this.partition, this.parameterSubscription1.ValueSet, this.securityContext.Object)) .Returns(new List <Thing> { this.psvs11, this.psvs12 }); this.parameterSubscriptionValueSetService.Setup( x => x.GetShallow(this.transaction, this.partition, this.parameterSubscription2.ValueSet, this.securityContext.Object)) .Returns(new List <Thing> { this.psvs21, this.psvs22 }); this.compoundParameterTypeService.Setup( x => x.GetShallow(this.transaction, this.partition, It.IsAny <IEnumerable <Guid> >(), this.securityContext.Object)) .Returns(new List <Thing>()); this.parameterService.Setup(x => x.GetShallow(this.transaction, this.partition, null, this.securityContext.Object)) .Returns(new List <Thing> { this.parameter1, this.parameter2 }); this.parameterOverrideService.Setup(x => x.GetShallow(this.transaction, this.partition, null, this.securityContext.Object)) .Returns(new List <Thing> { this.parameterOverride1, this.parameterOverride2 }); this.parameterSubscriptionService.Setup(x => x.GetShallow(this.transaction, this.partition, null, this.securityContext.Object)) .Returns(new List <Thing> { this.parameterSubscription1, this.parameterSubscription2 }); this.defaultValueArrayFactory.Setup(x => x.CreateDefaultValueArray(It.IsAny <Guid>())).Returns(new ValueArray <string>(new[] { "-" })); this.parameterUpdateService.DefaultValueSetFactory = this.defaultValueArrayFactory.Object; this.parameterValueSetService.Setup(x => x.DeleteConcept(this.transaction, this.partition, It.IsAny <ParameterValueSet>(), It.IsAny <Parameter>())).Returns(true); this.parameterOverrideValueSetService.Setup(x => x.DeleteConcept(this.transaction, this.partition, It.IsAny <ParameterOverrideValueSet>(), It.IsAny <ParameterOverride>())).Returns(true); this.parameterSubscriptionValueSetService.Setup(x => x.DeleteConcept(this.transaction, this.partition, It.IsAny <ParameterSubscriptionValueSet>(), It.IsAny <ParameterSubscription>())).Returns(true); }
private void BuildModelData() { this.model1 = new EngineeringModel(Guid.NewGuid(), this.assembler.Cache, this.uri); this.model2 = new EngineeringModel(Guid.NewGuid(), this.assembler.Cache, this.uri); this.iteration1 = new Iteration(Guid.NewGuid(), this.assembler.Cache, this.uri); this.iteration2 = new Iteration(Guid.NewGuid(), this.assembler.Cache, this.uri); this.rootDef = new ElementDefinition(Guid.NewGuid(), this.assembler.Cache, this.uri) { Name = "rootdef" }; this.def1 = new ElementDefinition(Guid.NewGuid(), this.assembler.Cache, this.uri) { Name = "def1" }; this.def2 = new ElementDefinition(Guid.NewGuid(), this.assembler.Cache, this.uri) { Name = "def2" }; this.usage1 = new ElementUsage(Guid.NewGuid(), this.assembler.Cache, this.uri); this.usage11 = new ElementUsage(Guid.NewGuid(), this.assembler.Cache, this.uri); this.usage2 = new ElementUsage(Guid.NewGuid(), this.assembler.Cache, this.uri); this.usage21 = new ElementUsage(Guid.NewGuid(), this.assembler.Cache, this.uri); this.usage22 = new ElementUsage(Guid.NewGuid(), this.assembler.Cache, this.uri); this.parameter1 = new Parameter(Guid.NewGuid(), this.assembler.Cache, this.uri); this.override1 = new ParameterOverride(Guid.NewGuid(), this.assembler.Cache, this.uri); this.subscription1 = new ParameterSubscription(Guid.NewGuid(), this.assembler.Cache, this.uri); this.model1.EngineeringModelSetup = this.modelsetup1; this.model2.EngineeringModelSetup = this.modelsetup2; this.iteration1.IterationSetup = this.iterationSetup1; this.iteration2.IterationSetup = this.iterationSetup2; this.rootDef.Owner = this.domain1; this.def1.Owner = this.domain1; this.def2.Owner = this.domain2; this.usage1.Owner = this.domain1; this.usage1.ElementDefinition = this.def1; this.usage11.Owner = this.domain1; this.usage11.ElementDefinition = this.def1; this.usage2.Owner = this.domain1; this.usage2.ElementDefinition = this.def2; this.usage22.Owner = this.domain1; this.usage22.ElementDefinition = this.def2; this.usage21.Owner = this.domain1; this.usage21.ElementDefinition = this.def2; this.parameter1.Owner = this.domain2; this.parameter1.ParameterType = this.booleanPt; this.parameter1.AllowDifferentOwnerOfOverride = true; this.override1.Parameter = this.parameter1; this.override1.Owner = this.domain2; this.subscription1.Owner = this.domain1; this.model1.Iteration.Add(this.iteration1); this.iteration1.Element.Add(this.def1); this.iteration1.Element.Add(this.def2); this.iteration1.Element.Add(this.rootDef); this.rootDef.ContainedElement.Add(this.usage1); this.rootDef.ContainedElement.Add(this.usage11); this.def1.ContainedElement.Add(this.usage2); this.def1.ContainedElement.Add(this.usage22); this.def1.ContainedElement.Add(this.usage21); this.def2.Parameter.Add(this.parameter1); this.usage1.ParameterOverride.Add(this.override1); this.parameter1.ParameterSubscription.Add(this.subscription1); this.model2.Iteration.Add(this.iteration2); this.option1 = new Option(Guid.NewGuid(), this.assembler.Cache, this.uri); this.option2 = new Option(Guid.NewGuid(), this.assembler.Cache, this.uri); this.psl1 = new PossibleFiniteStateList(Guid.NewGuid(), this.assembler.Cache, this.uri); this.ps1 = new PossibleFiniteState(Guid.NewGuid(), this.assembler.Cache, this.uri); this.asl1 = new ActualFiniteStateList(Guid.NewGuid(), this.assembler.Cache, this.uri); this.as1 = new ActualFiniteState(Guid.NewGuid(), this.assembler.Cache, this.uri); this.iteration1.Option.Add(this.option1); this.iteration1.Option.Add(this.option2); this.iteration1.PossibleFiniteStateList.Add(this.psl1); this.iteration1.ActualFiniteStateList.Add(this.asl1); this.psl1.PossibleState.Add(this.ps1); this.asl1.ActualState.Add(this.as1); this.iteration1.DefaultOption = this.option1; this.psl1.DefaultState = this.ps1; this.asl1.PossibleFiniteStateList.Add(this.psl1); this.as1.PossibleState.Add(this.ps1); }
public void SetUp() { this.owner = new DomainOfExpertise(Guid.NewGuid(), null, null); this.owner.ShortName = "SYS"; this.owner.Name = "System"; this.otherOwner = new DomainOfExpertise(Guid.NewGuid(), null, null); this.otherOwner.ShortName = "THR"; this.otherOwner.Name = "Thermal"; // Reference SitedirectoryData var lengthunit = new SimpleUnit(Guid.NewGuid(), null, null); lengthunit.ShortName = "m"; lengthunit.Name = "metre"; var lengthscale = new RatioScale(Guid.NewGuid(), null, null); lengthscale.Unit = lengthunit; lengthscale.ShortName = "m-scale"; lengthscale.Name = "metre scale"; var xcoord = new SimpleQuantityKind(Guid.NewGuid(), null, null) { Name = "x", ShortName = "x" }; xcoord.PossibleScale.Add(lengthscale); xcoord.DefaultScale = lengthscale; var ycoord = new SimpleQuantityKind(Guid.NewGuid(), null, null) { Name = "y", ShortName = "y" }; ycoord.PossibleScale.Add(lengthscale); ycoord.DefaultScale = lengthscale; var zcoord = new SimpleQuantityKind(Guid.NewGuid(), null, null) { Name = "z", ShortName = "z" }; zcoord.PossibleScale.Add(lengthscale); zcoord.DefaultScale = lengthscale; var vector = new ArrayParameterType(Guid.NewGuid(), null, null); vector.Name = "coordinate"; vector.ShortName = "coord"; var xcomp = new ParameterTypeComponent(Guid.NewGuid(), null, null) { ParameterType = xcoord }; var ycomp = new ParameterTypeComponent(Guid.NewGuid(), null, null) { ParameterType = ycoord }; var zcomp = new ParameterTypeComponent(Guid.NewGuid(), null, null) { ParameterType = zcoord }; vector.Component.Add(xcomp); vector.Component.Add(ycomp); vector.Component.Add(zcomp); // iteration data this.iteration = new Iteration(Guid.NewGuid(), null, null); var optionA = new Option(Guid.NewGuid(), null, null) { Name = "Option A", ShortName = "OptionA" }; this.iteration.Option.Add(optionA); var optionB = new Option(Guid.NewGuid(), null, null) { Name = "Option B", ShortName = "OptionB" }; this.iteration.Option.Add(optionB); var possibleFiniteStateList = new PossibleFiniteStateList(Guid.NewGuid(), null, null); var possibleFiniteState1 = new PossibleFiniteState(Guid.NewGuid(), null, null) { ShortName = "state1", Name = "state 1" }; possibleFiniteStateList.PossibleState.Add(possibleFiniteState1); var possibleFiniteState2 = new PossibleFiniteState(Guid.NewGuid(), null, null) { ShortName = "state2", Name = "state 2" }; possibleFiniteStateList.PossibleState.Add(possibleFiniteState2); possibleFiniteStateList.DefaultState = possibleFiniteState1; var actualFiniteStateList = new ActualFiniteStateList(Guid.NewGuid(), null, null); actualFiniteStateList.PossibleFiniteStateList.Add(possibleFiniteStateList); var actualFiniteState1 = new ActualFiniteState(Guid.NewGuid(), null, null); actualFiniteState1.PossibleState.Add(possibleFiniteState1); actualFiniteStateList.ActualState.Add(actualFiniteState1); var actualFiniteState2 = new ActualFiniteState(Guid.NewGuid(), null, null); actualFiniteState2.PossibleState.Add(possibleFiniteState2); actualFiniteStateList.ActualState.Add(actualFiniteState2); var elementDefinitionA = new ElementDefinition(Guid.NewGuid(), null, null) { Owner = this.owner, ShortName = "elementdefinitionA", Name = "element definition A" }; this.iteration.Element.Add(elementDefinitionA); var parameterA1 = new Parameter(Guid.NewGuid(), null, null) { ParameterType = xcoord, Scale = lengthscale, Owner = this.owner }; var parameterValueSetA1 = new ParameterValueSet(Guid.NewGuid(), null, null); var valueArrayA = new ValueArray <string>(new List <string>() { "x" }); parameterValueSetA1.Manual = valueArrayA; parameterValueSetA1.Computed = valueArrayA; parameterValueSetA1.Reference = valueArrayA; parameterValueSetA1.Formula = valueArrayA; parameterA1.ValueSet.Add(parameterValueSetA1); elementDefinitionA.Parameter.Add(parameterA1); var parameterA2 = new Parameter(Guid.NewGuid(), null, null) { ParameterType = vector, Owner = this.owner }; elementDefinitionA.Parameter.Add(parameterA2); var parameterValueSetA2 = new ParameterValueSet(Guid.NewGuid(), null, null); parameterA2.ValueSet.Add(parameterValueSetA2); var valueArrayA2 = new ValueArray <string>(new List <string>() { "x", "y", "z" }); parameterValueSetA2.ValueSwitch = ParameterSwitchKind.MANUAL; parameterValueSetA2.Manual = valueArrayA2; parameterValueSetA2.Computed = valueArrayA2; parameterValueSetA2.Reference = valueArrayA2; parameterValueSetA2.Formula = valueArrayA2; var parameterA3 = new Parameter(Guid.NewGuid(), null, null) { ParameterType = xcoord, Scale = lengthscale, Owner = this.owner, IsOptionDependent = true, }; elementDefinitionA.Parameter.Add(parameterA3); var parameterValueSetA3OptionA = new ParameterValueSet(Guid.NewGuid(), null, null) { ActualOption = optionA }; var valueArrayA3OptionA = new ValueArray <string>(new List <string>() { "x" }); parameterValueSetA3OptionA.Manual = valueArrayA3OptionA; parameterValueSetA3OptionA.Reference = valueArrayA3OptionA; parameterValueSetA3OptionA.Computed = valueArrayA3OptionA; parameterValueSetA3OptionA.Formula = valueArrayA3OptionA; parameterA3.ValueSet.Add(parameterValueSetA3OptionA); var parameterValueSetA3OptionB = new ParameterValueSet(Guid.NewGuid(), null, null) { ActualOption = optionB }; var valueArrayA3OptionB = new ValueArray <string>(new List <string>() { "x" }); parameterValueSetA3OptionB.Manual = valueArrayA3OptionB; parameterValueSetA3OptionB.Reference = valueArrayA3OptionB; parameterValueSetA3OptionB.Computed = valueArrayA3OptionB; parameterValueSetA3OptionB.Formula = valueArrayA3OptionB; parameterA3.ValueSet.Add(parameterValueSetA3OptionB); var elementDefinitionB = new ElementDefinition(Guid.NewGuid(), null, null) { Owner = this.otherOwner, ShortName = "elementdefinitionB", Name = "element definition B" }; this.iteration.Element.Add(elementDefinitionB); var parameterB1 = new Parameter(Guid.NewGuid(), null, null) { ParameterType = xcoord, Owner = this.owner }; elementDefinitionB.Parameter.Add(parameterB1); // element usage var elementUsageOfA1 = new ElementUsage(Guid.NewGuid(), null, null) { ShortName = "usageofA1", Name = "usage of A 2", Owner = this.owner }; elementDefinitionB.ContainedElement.Add(elementUsageOfA1); elementUsageOfA1.ElementDefinition = elementDefinitionA; var elementUsageOfA2 = new ElementUsage(Guid.NewGuid(), null, null) { ShortName = "usageofA2", Name = "usage of A 2", Owner = this.owner }; elementDefinitionB.ContainedElement.Add(elementUsageOfA2); elementUsageOfA2.ElementDefinition = elementDefinitionA; var parameterOverrideA1 = new ParameterOverride() { Parameter = parameterA1, Container = elementUsageOfA2, Owner = this.owner }; parameterOverrideA1.Iid = Guid.NewGuid(); var parameterOverrideValueSetA1 = new ParameterOverrideValueSet(); parameterOverrideValueSetA1.Iid = Guid.NewGuid(); var overrideValueArrayA = new ValueArray <string>(new List <string>() { "x" }); parameterOverrideValueSetA1.Manual = overrideValueArrayA; parameterOverrideValueSetA1.Computed = overrideValueArrayA; parameterOverrideValueSetA1.Reference = overrideValueArrayA; parameterOverrideValueSetA1.Formula = overrideValueArrayA; parameterOverrideA1.ValueSet.Add(parameterOverrideValueSetA1); elementUsageOfA2.ParameterOverride.Add(parameterOverrideA1); var parameterOverrideA2 = new ParameterOverride() { Parameter = parameterA2, Container = elementUsageOfA2, Owner = this.owner }; parameterOverrideA2.Iid = Guid.NewGuid(); var parameterOverrideValueSetA2 = new ParameterOverrideValueSet(); parameterOverrideValueSetA2.Iid = Guid.NewGuid(); var overrideValueArrayA2 = new ValueArray <string>(new List <string>() { "x", "y", "z" }); parameterOverrideValueSetA2.Manual = overrideValueArrayA2; parameterOverrideValueSetA2.Computed = overrideValueArrayA2; parameterOverrideValueSetA2.Reference = overrideValueArrayA2; parameterOverrideValueSetA2.Formula = overrideValueArrayA2; parameterOverrideA2.ValueSet.Add(parameterOverrideValueSetA2); elementUsageOfA2.ParameterOverride.Add(parameterOverrideA2); var parameterOverrideA3 = new ParameterOverride() { Parameter = parameterA3, Container = elementUsageOfA2, Owner = this.owner }; parameterOverrideA3.Iid = Guid.NewGuid(); var parameterOverrideValueSetA3 = new ParameterOverrideValueSet(); parameterOverrideValueSetA3.Iid = Guid.NewGuid(); var parameterOverrideValueSetA3OptionA = new ParameterOverrideValueSet(); parameterOverrideValueSetA3OptionA.Iid = Guid.NewGuid(); parameterOverrideValueSetA3OptionA.ParameterValueSet = parameterValueSetA3OptionA; var overrideValueArrayA3OptionA = new ValueArray <string>(new List <string>() { "x" }); parameterOverrideValueSetA3OptionA.Manual = overrideValueArrayA3OptionA; parameterOverrideValueSetA3OptionA.Reference = overrideValueArrayA3OptionA; parameterOverrideValueSetA3OptionA.Computed = overrideValueArrayA3OptionA; parameterOverrideValueSetA3OptionA.Formula = overrideValueArrayA3OptionA; parameterOverrideA3.ValueSet.Add(parameterOverrideValueSetA3OptionA); var parameterOverrideValueSetA3OptionB = new ParameterOverrideValueSet(); parameterOverrideValueSetA3OptionB.Iid = Guid.NewGuid(); parameterOverrideValueSetA3OptionB.ParameterValueSet = parameterValueSetA3OptionB; var overrideValueArrayA3OptionB = new ValueArray <string>(new List <string>() { "x" }); parameterOverrideValueSetA3OptionB.Manual = overrideValueArrayA3OptionB; parameterOverrideValueSetA3OptionB.Reference = overrideValueArrayA3OptionB; parameterOverrideValueSetA3OptionB.Computed = overrideValueArrayA3OptionB; parameterOverrideValueSetA3OptionB.Formula = overrideValueArrayA3OptionB; parameterOverrideA3.ValueSet.Add(parameterOverrideValueSetA3OptionB); elementUsageOfA2.ParameterOverride.Add(parameterOverrideA3); }
public void SetUp() { this.session = new Mock <ISession>(); this.asembler = new Assembler(this.uri); this.cache = this.asembler.Cache; this.session.Setup(x => x.Assembler).Returns(this.asembler); this.model = new EngineeringModel(Guid.NewGuid(), this.cache, this.uri); this.iteration = new Iteration(Guid.NewGuid(), this.cache, this.uri); this.elementDef1 = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri); this.elementDef2 = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri); this.parameter1 = new Parameter(Guid.NewGuid(), this.cache, this.uri); this.valueSet1 = new ParameterValueSet(Guid.NewGuid(), this.cache, this.uri); this.parameter2 = new Parameter(Guid.NewGuid(), this.cache, this.uri); this.valueSet2 = new ParameterValueSet(Guid.NewGuid(), this.cache, this.uri); this.usage = new ElementUsage(Guid.NewGuid(), this.cache, this.uri); this.parameterOverride = new ParameterOverride(Guid.NewGuid(), this.cache, this.uri); this.parameterOverride.Parameter = this.parameter2; this.overrideValueset = new ParameterOverrideValueSet(Guid.NewGuid(), this.cache, this.uri); this.overrideValueset.ParameterValueSet = this.valueSet2; this.model.Iteration.Add(this.iteration); this.iteration.Element.Add(this.elementDef1); this.iteration.Element.Add(this.elementDef2); this.elementDef1.Parameter.Add(this.parameter1); this.parameter1.ValueSet.Add(this.valueSet1); this.usage.ElementDefinition = this.elementDef2; this.usage.ParameterOverride.Add(this.parameterOverride); this.parameterOverride.ValueSet.Add(this.overrideValueset); this.elementDef1.ContainedElement.Add(this.usage); this.sub1 = new ParameterSubscription(Guid.NewGuid(), this.cache, this.uri); this.sub2 = new ParameterSubscription(Guid.NewGuid(), this.cache, this.uri); this.subValueset1 = new ParameterSubscriptionValueSet(Guid.NewGuid(), this.cache, this.uri); this.subValueset1.SubscribedValueSet = this.valueSet1; this.subValueset2 = new ParameterSubscriptionValueSet(Guid.NewGuid(), this.cache, this.uri); this.subValueset2.SubscribedValueSet = this.overrideValueset; this.sub1.ValueSet.Add(this.subValueset1); this.sub2.ValueSet.Add(this.subValueset2); this.parameter1.ParameterSubscription.Add(this.sub1); this.parameterOverride.ParameterSubscription.Add(this.sub2); this.cache.TryAdd(new CacheKey(this.model.Iid, null), new Lazy <Thing>(() => this.model)); this.cache.TryAdd(new CacheKey(this.iteration.Iid, null), new Lazy <Thing>(() => this.iteration)); this.cache.TryAdd(new CacheKey(this.elementDef1.Iid, this.iteration.Iid), new Lazy <Thing>(() => this.elementDef1)); this.cache.TryAdd(new CacheKey(this.elementDef2.Iid, this.iteration.Iid), new Lazy <Thing>(() => this.elementDef2)); this.cache.TryAdd(new CacheKey(this.usage.Iid, this.iteration.Iid), new Lazy <Thing>(() => this.usage)); this.cache.TryAdd(new CacheKey(this.parameter1.Iid, this.iteration.Iid), new Lazy <Thing>(() => this.parameter1)); this.cache.TryAdd(new CacheKey(this.parameter2.Iid, this.iteration.Iid), new Lazy <Thing>(() => this.parameter2)); this.cache.TryAdd(new CacheKey(this.valueSet1.Iid, this.iteration.Iid), new Lazy <Thing>(() => this.valueSet1)); this.cache.TryAdd(new CacheKey(this.valueSet2.Iid, this.iteration.Iid), new Lazy <Thing>(() => this.valueSet2)); this.cache.TryAdd(new CacheKey(this.parameterOverride.Iid, this.iteration.Iid), new Lazy <Thing>(() => this.parameterOverride)); this.cache.TryAdd(new CacheKey(this.overrideValueset.Iid, this.iteration.Iid), new Lazy <Thing>(() => this.overrideValueset)); this.cache.TryAdd(new CacheKey(this.sub1.Iid, this.iteration.Iid), new Lazy <Thing>(() => this.sub1)); this.cache.TryAdd(new CacheKey(this.sub2.Iid, this.iteration.Iid), new Lazy <Thing>(() => this.sub2)); this.cache.TryAdd(new CacheKey(this.subValueset1.Iid, this.iteration.Iid), new Lazy <Thing>(() => this.subValueset1)); this.cache.TryAdd(new CacheKey(this.subValueset2.Iid, this.iteration.Iid), new Lazy <Thing>(() => this.subValueset2)); }
/// <summary> /// Persist the <see cref="ParameterOverride"/> containment tree to the ORM layer. Update if it already exists. /// This is typically used during the import of existing data to the Database. /// </summary> /// <param name="transaction"> /// The current <see cref="NpgsqlTransaction"/> to the database. /// </param> /// <param name="partition"> /// The database partition (schema) where the requested resource will be stored. /// </param> /// <param name="parameterOverride"> /// The <see cref="ParameterOverride"/> instance to persist. /// </param> /// <returns> /// True if the persistence was successful. /// </returns> private bool UpsertContainment(NpgsqlTransaction transaction, string partition, ParameterOverride parameterOverride) { var results = new List <bool>(); foreach (var parameterSubscription in this.ResolveFromRequestCache(parameterOverride.ParameterSubscription)) { results.Add(this.ParameterSubscriptionService.UpsertConcept(transaction, partition, parameterSubscription, parameterOverride)); } foreach (var valueSet in this.ResolveFromRequestCache(parameterOverride.ValueSet)) { results.Add(this.ValueSetService.UpsertConcept(transaction, partition, valueSet, parameterOverride)); } return(results.All(x => x)); }
public void VerifyThatContextMenuIsPopulated() { var group = new ParameterGroup(Guid.NewGuid(), this.assembler.Cache, this.uri); var parameter = new Parameter(Guid.NewGuid(), this.assembler.Cache, this.uri) { ParameterType = this.pt }; var def2 = new ElementDefinition(Guid.NewGuid(), this.assembler.Cache, this.uri); var parameter2 = new Parameter(Guid.NewGuid(), this.assembler.Cache, this.uri); var usage = new ElementUsage(Guid.NewGuid(), this.assembler.Cache, this.uri); var paramOverride = new ParameterOverride(Guid.NewGuid(), this.assembler.Cache, this.uri) { Parameter = parameter2 }; parameter2.ParameterType = this.pt; var usage2 = new ElementUsage(Guid.NewGuid(), this.assembler.Cache, this.uri) { ElementDefinition = def2 }; def2.Parameter.Add(parameter2); usage.ParameterOverride.Add(paramOverride); usage.ElementDefinition = def2; this.elementDef.Parameter.Add(parameter); this.elementDef.ParameterGroup.Add(group); this.elementDef.ContainedElement.Add(usage); this.elementDef.ContainedElement.Add(usage2); this.iteration.Element.Add(this.elementDef); this.iteration.Element.Add(def2); var vm = new ElementDefinitionsBrowserViewModel(this.iteration, this.session.Object, null, null, null, null); vm.PopulateContextMenu(); Assert.AreEqual(2, vm.ContextMenu.Count); var defRow = vm.ElementDefinitionRowViewModels.Last(); vm.SelectedThing = defRow; vm.PopulateContextMenu(); Assert.AreEqual(14, vm.ContextMenu.Count); vm.SelectedThing = defRow.ContainedRows[0]; vm.PopulateContextMenu(); Assert.AreEqual(10, vm.ContextMenu.Count); vm.SelectedThing = defRow.ContainedRows[1]; vm.PopulateContextMenu(); Assert.AreEqual(9, vm.ContextMenu.Count); var usageRow = defRow.ContainedRows[2]; var usage2Row = defRow.ContainedRows[3]; vm.SelectedThing = usageRow; vm.PopulateContextMenu(); Assert.AreEqual(8, vm.ContextMenu.Count); vm.SelectedThing = usageRow.ContainedRows.Single(); vm.PopulateContextMenu(); Assert.AreEqual(10, vm.ContextMenu.Count); vm.SelectedThing = usage2Row.ContainedRows.Single(); vm.PopulateContextMenu(); Assert.AreEqual(10, vm.ContextMenu.Count); vm.Dispose(); }
public void Setup() { this.session = new Mock <ISession>(); this.assembler = new Assembler(this.uri); this.permissionService = new Mock <IPermissionService>(); this.thingDialogNavigationService = new Mock <IThingDialogNavigationService>(); this.panelNavigationService = new Mock <IPanelNavigationService>(); this.cache = this.assembler.Cache; this.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object); this.session.Setup(x => x.Assembler).Returns(this.assembler); this.sitedir = new SiteDirectory(Guid.NewGuid(), this.cache, this.uri); this.modelsetup = new EngineeringModelSetup(Guid.NewGuid(), this.cache, this.uri) { Name = "model" }; this.iterationsetup = new IterationSetup(Guid.NewGuid(), this.cache, this.uri); this.person = new Person(Guid.NewGuid(), this.cache, this.uri); this.domain = new DomainOfExpertise(Guid.NewGuid(), this.cache, this.uri) { Name = "domain", ShortName = "DMN" }; this.otherDomain = new DomainOfExpertise(Guid.NewGuid(), this.cache, this.uri) { Name = "otherDomain", ShortName = "ODMN" }; this.participant = new Participant(Guid.NewGuid(), this.cache, this.uri) { Person = this.person, SelectedDomain = this.domain }; this.modelsetup.ActiveDomain = new List <DomainOfExpertise>() { this.domain, this.otherDomain }; this.elementDefinition = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri); this.sitedir.Model.Add(this.modelsetup); this.sitedir.Person.Add(this.person); this.sitedir.Domain.Add(this.domain); this.sitedir.Domain.Add(this.otherDomain); this.modelsetup.IterationSetup.Add(this.iterationsetup); this.modelsetup.Participant.Add(this.participant); this.model = new EngineeringModel(Guid.NewGuid(), this.cache, this.uri) { EngineeringModelSetup = this.modelsetup }; this.iteration = new Iteration(Guid.NewGuid(), this.cache, this.uri) { IterationSetup = this.iterationsetup }; this.iteration.Element.Add(this.elementDefinition); this.publication = new Publication(Guid.NewGuid(), this.cache, this.uri); this.parameter1 = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = new SimpleQuantityKind(Guid.NewGuid(), this.cache, this.uri) { Name = "paramtype1", ShortName = "pat1" }, Owner = this.domain }; this.parameter2 = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = new SimpleQuantityKind(Guid.NewGuid(), this.cache, this.uri) { Name = "paramtype2", ShortName = "pat2" }, Owner = this.domain }; var parameterforoverride = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = new SimpleQuantityKind(Guid.NewGuid(), this.cache, this.uri) { Name = "paramtype3", ShortName = "pat3" } }; // Test input var valueSet = new ParameterValueSet(Guid.NewGuid(), this.cache, this.uri); this.SetScalarValueSet(valueSet); parameterforoverride.ValueSet.Add(valueSet); parameter1.ValueSet.Add(valueSet.Clone(false)); this.parameterOverride1 = new ParameterOverride(Guid.NewGuid(), this.cache, this.uri) { Parameter = parameterforoverride }; this.elementDefinition.Parameter.Add(this.parameter1); this.elementDefinition.Parameter.Add(this.parameter2); this.elementDefinition.Parameter.Add(parameterforoverride); var elementusage = new ElementUsage(Guid.NewGuid(), this.cache, this.uri); this.elementDefinition.ContainedElement.Add(elementusage); elementusage.ParameterOverride.Add(this.parameterOverride1); this.publication.PublishedParameter.Add(this.parameter1); this.publication.PublishedParameter.Add(this.parameter2); this.publication.PublishedParameter.Add(this.parameterOverride1); this.publication.CreatedOn = DateTime.Now; this.publication.Domain.Add(this.domain); this.model.Iteration.Add(this.iteration); this.iteration.Publication.Add(this.publication); this.session.Setup(x => x.RetrieveSiteDirectory()).Returns(this.sitedir); this.session.Setup(x => x.ActivePerson).Returns(this.person); this.session.Setup(x => x.Write(It.IsAny <OperationContainer>())).Returns(Task.FromResult("some result")); this.session.Setup(x => x.OpenIterations).Returns(new Dictionary <Iteration, Tuple <DomainOfExpertise, Participant> >()); this.cache.TryAdd(new CacheKey(this.iteration.Iid, null), new Lazy <Thing>(() => this.iteration)); }
public void Setup() { this.cache = new List <Thing>(); RxApp.MainThreadScheduler = Scheduler.CurrentThread; this.session = new Mock <ISession>(); this.uri = new Uri("http://test.com"); this.assembler = new Assembler(this.uri); this.panelNavigationService = new Mock <IPanelNavigationService>(); this.sitedir = new SiteDirectory(Guid.NewGuid(), this.assembler.Cache, this.uri); this.pt = new TextParameterType(Guid.NewGuid(), this.assembler.Cache, this.uri); this.person = new Person(Guid.NewGuid(), this.assembler.Cache, this.uri); this.sitedir.Person.Add(this.person); this.domain = new DomainOfExpertise(Guid.NewGuid(), this.assembler.Cache, this.uri) { Name = "TestDoE" }; this.sitedir.Domain.Add(this.domain); this.session.Setup(x => x.ActivePerson).Returns(this.person); this.model = new EngineeringModel(Guid.NewGuid(), this.assembler.Cache, this.uri); this.iteration = new Iteration(Guid.NewGuid(), this.assembler.Cache, this.uri); this.elementDef = new ElementDefinition(Guid.NewGuid(), this.assembler.Cache, this.uri) { Name = "1", Owner = this.domain, Container = this.iteration }; this.participant = new Participant(Guid.NewGuid(), this.assembler.Cache, this.uri) { Person = this.person }; this.participant.Domain.Add(this.domain); var parameter = new Parameter(Guid.NewGuid(), this.assembler.Cache, this.uri) { Container = this.elementDef, ParameterType = this.pt, Owner = this.elementDef.Owner }; var parameterOverride = new ParameterOverride(Guid.NewGuid(), this.assembler.Cache, this.uri) { Owner = this.domain, Parameter = parameter }; var elementUsage = new ElementUsage(Guid.NewGuid(), this.assembler.Cache, this.uri) { ElementDefinition = this.elementDef }; elementUsage.ParameterOverride.Add(parameterOverride); this.elementDef.ContainedElement.Add(elementUsage); this.model.Iteration.Add(this.iteration); var iterationSetup = new IterationSetup(Guid.NewGuid(), this.assembler.Cache, this.uri); this.iteration.IterationSetup = iterationSetup; this.engineeringModelSetup = new EngineeringModelSetup(Guid.NewGuid(), this.assembler.Cache, this.uri) { Name = "ModelSetup" }; this.engineeringModelSetup.IterationSetup.Add(iterationSetup); this.srdl = new SiteReferenceDataLibrary(Guid.NewGuid(), this.assembler.Cache, this.uri); this.sitedir.SiteReferenceDataLibrary.Add(this.srdl); this.srdl.ParameterType.Add(this.pt); this.mrdl = new ModelReferenceDataLibrary(Guid.NewGuid(), this.assembler.Cache, this.uri) { RequiredRdl = this.srdl }; this.engineeringModelSetup.RequiredRdl.Add(this.mrdl); this.model.EngineeringModelSetup = this.engineeringModelSetup; this.model.EngineeringModelSetup.Participant.Add(this.participant); this.permissionService = new Mock <IPermissionService>(); this.permissionService.Setup(x => x.CanRead(It.IsAny <Thing>())).Returns(true); this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(true); this.permissionService.Setup(x => x.CanWrite(It.IsAny <ClassKind>(), It.IsAny <Thing>())).Returns(true); this.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object); this.session.Setup(x => x.OpenIterations).Returns(new Dictionary <Iteration, Tuple <DomainOfExpertise, Participant> > { { this.iteration, new Tuple <DomainOfExpertise, Participant>(this.domain, this.participant) } }); this.assembler.Cache.TryAdd(new CacheKey(this.iteration.Iid, null), new Lazy <Thing>(() => this.iteration)); this.assembler.Cache.TryAdd(new CacheKey(this.model.Iid, null), new Lazy <Thing>(() => this.model)); this.session.Setup(x => x.Assembler).Returns(this.assembler); this.thingDialogNavigationService = new Mock <IThingDialogNavigationService>(); }
/// <summary> /// Initializes a new instance of the <see cref="ParameterOverrideRowViewModel"/> class /// </summary> /// <param name="parameterOverride">The associated <see cref="ParameterOverride"/></param> /// <param name="option">The actual <see cref="Option"/></param> /// <param name="session">The current <see cref="ISession"/></param> /// <param name="containerViewModel">the container view-model that contains this row</param> public ParameterOverrideRowViewModel(ParameterOverride parameterOverride, Option option, ISession session, IViewModelBase <Thing> containerViewModel) : base(parameterOverride, option, session, containerViewModel) { }
public void ParameterOverrideMatchesWhenCurrentOperationIsResolvingMatchingParameter() { var context = new MockBuilderContext { CurrentOperation = new ConstructorArgumentResolveOperation(typeof(SimpleTestObject), "int x", "x") }; var overrider = new ParameterOverride("x", 42); var resolver = overrider.GetResolver(context, typeof(int)); Assert.NotNull(resolver); AssertExtensions.IsInstanceOfType(resolver, typeof(LiteralValueDependencyResolverPolicy)); var result = (int)resolver.Resolve(context); Assert.Equal(42, result); }
public void Setup() { this.session = new Mock <ISession>(); this.domain = new DomainOfExpertise(Guid.NewGuid(), this.cache, this.uri) { Name = "domain" }; this.siteDir = new SiteDirectory(Guid.NewGuid(), this.cache, this.uri); this.person = new Person(Guid.NewGuid(), this.cache, this.uri); this.model = new EngineeringModel(Guid.NewGuid(), this.cache, this.uri); this.modelSetup = new EngineeringModelSetup(Guid.NewGuid(), this.cache, this.uri); this.iteration = new Iteration(Guid.NewGuid(), this.cache, this.uri); this.iterationSetup = new IterationSetup(Guid.NewGuid(), this.cache, this.uri); this.participant = new Participant(Guid.NewGuid(), this.cache, this.uri); this.option = new Option(Guid.NewGuid(), this.cache, this.uri); this.elementDef = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri) { Owner = this.domain }; this.type1 = new EnumerationParameterType(Guid.NewGuid(), this.cache, this.uri) { Name = "a" }; this.type2 = new EnumerationParameterType(Guid.NewGuid(), this.cache, this.uri) { Name = "p" }; this.vs1 = new ParameterValueSet(Guid.NewGuid(), this.cache, this.uri) { Published = new ValueArray <string>(new List <string> { "1" }), Manual = new ValueArray <string>(new List <string> { "1" }), ValueSwitch = ParameterSwitchKind.MANUAL }; this.vs2 = new ParameterValueSet(Guid.NewGuid(), this.cache, this.uri) { Published = new ValueArray <string>(new List <string> { "1" }), Manual = new ValueArray <string>(new List <string> { "1" }), ValueSwitch = ParameterSwitchKind.MANUAL }; this.ovs1 = new ParameterOverrideValueSet(Guid.NewGuid(), this.cache, this.uri) { Published = new ValueArray <string>(new List <string> { "1" }), Manual = new ValueArray <string>(new List <string> { "1" }), ValueSwitch = ParameterSwitchKind.MANUAL, ParameterValueSet = this.vs1 }; this.gr = new ParameterGroup(Guid.NewGuid(), this.cache, this.uri) { Name = "gr" }; this.p1 = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.type1 }; this.p2 = new Parameter(Guid.NewGuid(), this.cache, this.uri) { ParameterType = this.type2 }; this.po1 = new ParameterOverride(Guid.NewGuid(), this.cache, this.uri) { Parameter = this.p1 }; this.p1.ValueSet.Add(this.vs1); this.p2.ValueSet.Add(this.vs2); this.po1.ValueSet.Add(this.ovs1); this.elementDef2 = new ElementDefinition(Guid.NewGuid(), this.cache, this.uri) { Owner = this.domain }; this.elementUsage = new ElementUsage(Guid.NewGuid(), this.cache, this.uri) { ElementDefinition = this.elementDef2, Owner = this.domain }; this.elementDef2.Parameter.Add(this.p1); this.elementDef2.Parameter.Add(this.p2); this.elementDef2.ParameterGroup.Add(this.gr); this.elementUsage.ParameterOverride.Add(this.po1); this.siteDir.Person.Add(this.person); this.siteDir.Model.Add(this.modelSetup); this.modelSetup.IterationSetup.Add(this.iterationSetup); this.modelSetup.Participant.Add(this.participant); this.participant.Person = this.person; this.model.Iteration.Add(this.iteration); this.model.EngineeringModelSetup = this.modelSetup; this.iteration.IterationSetup = this.iterationSetup; this.iteration.Option.Add(this.option); this.iteration.TopElement = this.elementDef; this.iteration.Element.Add(this.elementDef); this.iteration.Element.Add(this.elementDef2); this.elementDef.ContainedElement.Add(this.elementUsage); this.session.Setup(x => x.ActivePerson).Returns(this.person); this.session.Setup(x => x.DataSourceUri).Returns(this.uri.ToString); this.session.Setup(x => x.OpenIterations).Returns(new Dictionary <Iteration, Tuple <DomainOfExpertise, Participant> >()); }