public LoadTQLinking(string _filepath) { Init(_filepath); if (ccs == default(ControlConstructScheme)) { var client = Utility.GetClient(); var facet = new SearchFacet(); facet.ItemTypes.Add(DdiItemType.ControlConstructScheme); facet.SearchTargets.Add(DdiStringType.Name); facet.SearchTerms.Add("Topic Question Construct Groups"); facet.SearchLatestVersion = true; SearchResponse response = client.Search(facet); var graphPopulator = new GraphPopulator(client) { ChildProcessing = ChildReferenceProcessing.PopulateLatest }; graphPopulator.TypesToPopulate.Add(DdiItemType.ControlConstructGroup); if (response.Results.Count == 1) { ccs = client.GetItem( response.Results[0].CompositeId, ChildReferenceProcessing.PopulateLatest) as ControlConstructScheme; ccs.Accept(new GraphPopulator(client)); } } }
public static List <string> CollectIds(StudyUnit studyUnit) { List <string> ids = new List <string>(); //0. StudyUnit itself CollectIds(studyUnit, ids); //1. Event CollectIds(studyUnit.Events, ids); //2. Member CollectIds(studyUnit.Members, ids); //3. Organization CollectIds(studyUnit.Organizations, ids); //4. Abstract CollectIds(studyUnit.Abstract, ids); //5. Coverage CollectIds(studyUnit.Coverage, ids); //6. Funding Agency CollectIds(studyUnit.FundingInfos, ids); //6-1. Organization including CollectIds(FundingInfo.GetOrganizations(studyUnit.FundingInfos), ids); //7.Universe CollectIds(Sampling.GetUniverses(studyUnit.Samplings), ids); //8.Sampling CollectIds(studyUnit.Samplings, ids); //9. Concept Scheme CollectIds(studyUnit.ConceptSchemes, ids); //9-1. Concept CollectIds(ConceptScheme.GetConcepts(studyUnit.ConceptSchemes), ids); //10. Question CollectIds(studyUnit.Questions, ids); //10-1. Answer CollectIds(Question.GetResponses(studyUnit.Questions), ids); //11. Category Scheme CollectIds(studyUnit.CategorySchemes, ids); //11-1. Category CollectIds(CategoryScheme.GetCategories(studyUnit.CategorySchemes), ids); //12. Code Scheme CollectIds(studyUnit.CodeSchemes, ids); //12-1. Code CollectIds(CodeScheme.GetCodes(studyUnit.CodeSchemes), ids); //13. Variable Scheme CollectIds(studyUnit.VariableScheme, ids); //14. Variable CollectIds(studyUnit.Variables, ids); //14-1. Answer CollectIds(Variable.GetResponses(studyUnit.Variables), ids); //15. Dataset CollectIds(studyUnit.DataSets, ids); //16. Data File CollectIds(studyUnit.DataFiles, ids); //17. Order of Question CollectIds(studyUnit.ControlConstructSchemes, ids); //17-1.Sequence CollectIds(ControlConstructScheme.GetSequences(studyUnit.ControlConstructSchemes), ids); //17-2.Constructs CollectIds(ControlConstructScheme.GetConstructs(studyUnit.ControlConstructSchemes), ids); return(ids); }
public override IEnumerable <IVersionable> Build(IEnumerable <IVersionable> ws) { Collection <IVersionable> allItems = getAllItems(); var rp = allItems.OfType <ResourcePackage>().First(); var qcs = new ControlConstructScheme(); qcs.ItemName.Add("en-GB", "Topic Question Construct Groups"); qcs.UserIds.Add(new UserId("closerid", "topics-ccs-000001")); var vs = new VariableScheme(); vs.ItemName.Add("en-GB", "Topic Variable Groups"); vs.UserIds.Add(new UserId("closerid", "topics-vs-000001")); rp.ControlConstructSchemes.Add(qcs); rp.VariableSchemes.Add(vs); allItems.Add(qcs); allItems.Add(vs); var concept_lookup_q = new Dictionary <Concept, ControlConstructGroup>(); var concept_lookup_v = new Dictionary <Concept, VariableGroup>(); foreach (var concept in allItems.OfType <Concept>().ToList()) { var qcg = new ControlConstructGroup(); qcg.TypeOfGroup = "ConceptGroup"; qcg.Concept = concept; qcg.Label.Add("en-GB", concept.Label.Best + " Question Construct Group"); qcg.ItemName.Add("en-GB", concept.ItemName.Best); qcg.UserIds.Add(new UserId("closerid", "topics-qcg-" + concept.ItemName.Best.ToLower())); concept_lookup_q[concept] = qcg; foreach (var parent_concept in concept.SubclassOf) { concept_lookup_q[parent_concept].ChildGroups.Add(qcg); } qcs.ControlConstructGroups.Add(qcg); allItems.Add(qcg); var vg = new VariableGroup(); vg.TypeOfGroup = "ConceptGroup"; vg.Concept = concept; vg.Label.Add("en-GB", concept.Label.Best + " Variable Group"); vg.ItemName.Add("en-GB", concept.ItemName.Best); concept_lookup_v[concept] = vg; foreach (var parent_concept in concept.SubclassOf) { concept_lookup_v[parent_concept].ChildGroups.Add(vg); } vs.VariableGroups.Add(vg); allItems.Add(vg); } return(allItems); }
public ControlConstructSchemeVM(ControlConstructScheme controlConstructScheme) { this.controlConstructScheme = controlConstructScheme; constructModels = new List <IConstruct>(); constructs = new ObservableCollection <ConstructVM>(); //InModel, it holds as an each array of Question, Description and Branch. //In VM it holds all as a collection of abstract classes //ModelSyncher cannot be used here, so call UpdateModel in every operation }
public void RewriteCCS() { MultilingualString.CurrentCulture = "en-GB"; VersionableBase.DefaultAgencyId = "example.org"; var client = RepositoryIntro.GetClient(); var instance = client.GetItem(new Guid("b9ee3aa5-5bc5-43ed-a24e-f560abb30801"), "example.org", 2) as DdiInstance; //DDIWorkflowDeserializer deserializer = new DDIWorkflowDeserializer(); //var instance = deserializer.LoadDdiFile(@"D:\Downloads\filesforMinneapolis\filesforMinneapolis\bcs08v08.xml"); GraphPopulator populator = new GraphPopulator(client); populator.ChildProcessing = ChildReferenceProcessing.Populate; instance.Accept(populator); var resourcePackage = instance.ResourcePackages[0]; var instrument = instance.ResourcePackages[0].DataCollections[0].Instruments[0]; //var topLevelSequence = client.GetLatestItem(new Guid("ceaa9acf-2b2f-4c41-b298-b9f419412586"), "cls") // as CustomSequenceActivity; var topLevelSequence = instrument.Sequence; var moduleSequences = topLevelSequence.Activities; foreach (CustomSequenceActivity module in moduleSequences.OfType <CustomSequenceActivity>()) { DirtyItemGatherer gatherer = new DirtyItemGatherer(true); module.Accept(gatherer); var allChildren = gatherer.DirtyItems; ControlConstructScheme ccs = new ControlConstructScheme(); ccs.ItemName.Copy(module.ItemName); foreach (var child in allChildren.OfType <ActivityBase>()) { ccs.ControlConstructs.Add(child); } //client.RegisterItem(ccs, new CommitOptions()); resourcePackage.ControlConstructSchemes.Add(ccs); } DDIWorkflowSerializer serializer = new DDIWorkflowSerializer(); serializer.UseConciseBoundedDescription = false; var doc = serializer.Serialize(instance); doc.Save(@"d:\ColecticaOutput\bcsv8.xml"); }
public void RewriteCCS() { MultilingualString.CurrentCulture = "en-GB"; VersionableBase.DefaultAgencyId = "example.org"; var client = RepositoryIntro.GetClient(); var instance = client.GetItem(new Guid("b9ee3aa5-5bc5-43ed-a24e-f560abb30801"), "example.org", 2) as DdiInstance; //DDIWorkflowDeserializer deserializer = new DDIWorkflowDeserializer(); //var instance = deserializer.LoadDdiFile(@"D:\Downloads\filesforMinneapolis\filesforMinneapolis\bcs08v08.xml"); GraphPopulator populator = new GraphPopulator(client); populator.ChildProcessing = ChildReferenceProcessing.Populate; instance.Accept(populator); var resourcePackage = instance.ResourcePackages[0]; var instrument = instance.ResourcePackages[0].DataCollections[0].Instruments[0]; //var topLevelSequence = client.GetLatestItem(new Guid("ceaa9acf-2b2f-4c41-b298-b9f419412586"), "cls") // as CustomSequenceActivity; var topLevelSequence = instrument.Sequence; var moduleSequences = topLevelSequence.Activities; foreach (CustomSequenceActivity module in moduleSequences.OfType<CustomSequenceActivity>()) { DirtyItemGatherer gatherer = new DirtyItemGatherer(true); module.Accept(gatherer); var allChildren = gatherer.DirtyItems; ControlConstructScheme ccs = new ControlConstructScheme(); ccs.ItemName.Copy(module.ItemName); foreach (var child in allChildren.OfType<ActivityBase>()) { ccs.ControlConstructs.Add(child); } //client.RegisterItem(ccs, new CommitOptions()); resourcePackage.ControlConstructSchemes.Add(ccs); } DDIWorkflowSerializer serializer = new DDIWorkflowSerializer(); serializer.UseConciseBoundedDescription = false; var doc = serializer.Serialize(instance); doc.Save(@"d:\ColecticaOutput\bcsv8.xml"); }
public static IEnumerable <IVersionable> FinishedAllBuilds(bool clear_vs_reference = true) { if (ccs == default(ControlConstructScheme)) { return(new List <IVersionable>()); } else { var gthr = new ItemGathererVisitor(); gthr.TypesToFind.Add(DdiItemType.ControlConstructScheme); gthr.TypesToFind.Add(DdiItemType.ControlConstructGroup); ccs.Accept(gthr); var foundItems = gthr.FoundItems; if (clear_vs_reference) { ccs = default(ControlConstructScheme); } return(foundItems); } }
public static void RenameIds(StudyUnit orgStudyUnit, StudyUnit newStudyUnit) { // renumber the ID of newStudyUnit to avoid duplication between ID of newStudyUnit ID and orgStudyUnit List <string> ids = CollectIds(orgStudyUnit); //0. StudyUnit itself RenameIds(newStudyUnit, ids); //1. Event RenameIds(newStudyUnit.Events, ids); //2. Member RenameIds(newStudyUnit.Members, ids, (result) => { Sampling.ChangeMemberId(newStudyUnit.Samplings, result.OldId, result.NewId); }); //3. Organization RenameIds(newStudyUnit.Organizations, ids, (result) => { Member.ChangeOrganizationId(newStudyUnit.Members, result.OldId, result.NewId); Sampling.ChangeMemberId(newStudyUnit.Samplings, result.OldId, result.NewId); }); //4. Abstract RenameIds(newStudyUnit.Abstract, ids); //5. Coverage RenameIds(newStudyUnit.Coverage, ids); //6. Funding Agency RenameIds(newStudyUnit.FundingInfos, ids); RenameIds(newStudyUnit.FundingInfoOrganizations, ids); //Organization of Funding Agency ////7.Universe RenameIds(newStudyUnit.AllUniverses, ids, (result) => { Variable.ChangeUniverseId(newStudyUnit.Variables, result.OldId, result.NewId); }); //8.Sampling RenameIds(newStudyUnit.Samplings, ids); //9. Concept Scheme RenameIds(newStudyUnit.ConceptSchemes, ids); //9-1. Concept RenameIds(ConceptScheme.GetConcepts(newStudyUnit.ConceptSchemes), ids, (result) => { Question.ChangeConceptId(newStudyUnit.Questions, result.OldId, result.NewId); Variable.ChangeConceptId(newStudyUnit.Variables, result.OldId, result.NewId); Book.ChangeMetaDataId(newStudyUnit.Books, result.OldId, result.NewId); }); //10. Question RenameIds(newStudyUnit.Questions, ids, (result) => { ControlConstructScheme.ChangeQuestionId(newStudyUnit.ControlConstructSchemes, result.OldId, result.NewId); Variable.ChangeQuestionId(newStudyUnit.Variables, result.OldId, result.NewId); Book.ChangeMetaDataId(newStudyUnit.Books, result.OldId, result.NewId); }); //11. Category Scheme RenameIds(newStudyUnit.CategorySchemes, ids, (result) => { CategoryScheme.ChangeCategorySchemeId(newStudyUnit.CategorySchemes, result.OldId, result.NewId); }); //11-1. Category RenameIds(CategoryScheme.GetCategories(newStudyUnit.CategorySchemes), ids, (result) => { CodeScheme.ChangeCategoryId(newStudyUnit.CodeSchemes, result.OldId, result.NewId); }); //12. Code Scheme RenameIds(newStudyUnit.CodeSchemes, ids, (result) => { CodeScheme.ChangeCodeSchemeId(newStudyUnit.CodeSchemes, result.OldId, result.NewId); }); //12-1. Code RenameIds(CodeScheme.GetCodes(newStudyUnit.CodeSchemes), ids); //13. Variable Scheme RenameIds(newStudyUnit.VariableScheme, ids); //14. Variable RenameIds(newStudyUnit.Variables, ids, (result) => { DataSet.ChangeVariableId(newStudyUnit.DataSets, result.OldId, result.NewId); Book.ChangeMetaDataId(newStudyUnit.Books, result.OldId, result.NewId); StatisticsInfo.ChangeVariableId(newStudyUnit.StatisticsInfos, result.OldId, result.NewId); }); //15. Dataset RenameIds(newStudyUnit.DataSets, ids, (result) => { DataFile.ChangeDataSetId(newStudyUnit.DataFiles, result.OldId, result.NewId); }); //16. Data File RenameIds(newStudyUnit.DataFiles, ids); //17. Order of Question RenameIds(newStudyUnit.ControlConstructSchemes, ids); //17-1.Sequence RenameIds(ControlConstructScheme.GetSequences(newStudyUnit.ControlConstructSchemes), ids); //17-2.Constructs RenameIds(ControlConstructScheme.GetConstructs(newStudyUnit.ControlConstructSchemes), ids, (result) => { ControlConstructScheme.ChangeControlConstructId(newStudyUnit.ControlConstructSchemes, result.OldId, result.NewId); }); //Related materials RenameIds(newStudyUnit.Books, ids); }