//private StepModelHelper GetStepModelhelper(long usageId, int number) //{ // TaskManager = (CreateTaskmanager)Session["CreateDatasetTaskmanager"]; // if (TaskManager.Bus.ContainsKey(CreateTaskmanager.METADATA_STEP_MODEL_HELPER)) // { // return ((List<StepModelHelper>)TaskManager.Bus[CreateTaskmanager.METADATA_STEP_MODEL_HELPER]).Where(s => s.Usage.Id.Equals(usageId) && s.Number.Equals(number)).FirstOrDefault(); // } // return null; //} //private int GetNumberOfUsageInStepModelHelper(long usageId) //{ // TaskManager = (CreateTaskmanager)Session["CreateDatasetTaskmanager"]; // if (TaskManager.Bus.ContainsKey(CreateTaskmanager.METADATA_STEP_MODEL_HELPER)) // { // return ((List<StepModelHelper>)TaskManager.Bus[CreateTaskmanager.METADATA_STEP_MODEL_HELPER]).Where(s => s.Usage.Id.Equals(usageId)).Count() - 1; // } // return 0; //} //private void GenerateModelsForChildrens(StepModelHelper modelHelper, long metadataStructureId) //{ // foreach (StepModelHelper item in modelHelper.Childrens) // { // if (item.Childrens.Count() > 0) // { // GenerateModelsForChildrens(item, metadataStructureId); // } // if (item.Model == null) // { // BaseUsage u = LoadUsage(item.Usage); // if (u is MetadataAttributeUsage || u is MetadataNestedAttributeUsage) // { // item.Model = MetadataCompoundAttributeModel.ConvertToModel(u, item.Number); // ((MetadataCompoundAttributeModel)item.Model).ConvertMetadataAttributeModels(u, metadataStructureId, item.StepId); // } // if (u is MetadataPackageUsage) // { // item.Model = MetadataPackageModel.Convert(u, item.Number); // ((MetadataPackageModel)item.Model).ConvertMetadataAttributeModels(u, metadataStructureId, item.StepId); // } // } // } //} //private StepModelHelper GenerateModelsForChildrens(StepInfo stepInfo, long metadataStructureId) //{ // StepModelHelper stepModelHelper = GetStepModelhelper(stepInfo.Id); // if (stepModelHelper.Model == null) // { // if (stepModelHelper.Usage is MetadataPackageUsage) // stepModelHelper.Model = CreatePackageModel(stepInfo.Id, false); // if (stepModelHelper.Usage is MetadataNestedAttributeUsage) // stepModelHelper.Model = CreateCompoundModel(stepInfo.Id, false); // getChildModelsHelper(stepModelHelper); // } // return stepModelHelper; //} private BaseUsage LoadUsage(BaseUsage usage) { if (usage is MetadataPackageUsage) { MetadataStructureManager msm = new MetadataStructureManager(); return msm.PackageUsageRepo.Get(usage.Id); } if (usage is MetadataNestedAttributeUsage) { MetadataAttributeManager mam = new MetadataAttributeManager(); var x = from c in mam.MetadataCompoundAttributeRepo.Get() from u in c.Self.MetadataNestedAttributeUsages where u.Id == usage.Id //&& c.Id.Equals(parentId) select u; return x.FirstOrDefault(); } if (usage is MetadataAttributeUsage) { MetadataPackageManager mpm = new MetadataPackageManager(); var q = from p in mpm.MetadataPackageRepo.Get() from u in p.MetadataAttributeUsages where u.Id == usage.Id // && p.Id.Equals(parentId) select u; return q.FirstOrDefault(); } return usage; }
private void createMetadataAttribute() { //UnitManager um = new UnitManager(); //Unit km = um.Create("Kilometer", "Km", "This is the Kilometer", "Length", MeasurementSystem.Metric); DataTypeManager dtManager = new DataTypeManager(); DataType dt1 = dtManager.Repo.Get(p => p.Name.Equals("String")).FirstOrDefault(); if (dt1 == null) { dt1 = dtManager.Create("String", "A test String", System.TypeCode.String); } MetadataAttributeManager maManager = new MetadataAttributeManager(); // for unique name checks USE maManager.MetadataAttributeRepo that is searching both simple and compound attribute names var msa1 = maManager.MetadataAttributeRepo.Get(p => p.ShortName.Equals("Simple 1")).FirstOrDefault(); if (msa1 == null) { msa1 = new MetadataSimpleAttribute() { ShortName = "Simple 1", DataType = dt1, }; maManager.Create((MetadataSimpleAttribute)msa1); } var msa2 = maManager.MetadataAttributeRepo.Get(p => p.ShortName.Equals("Simple 2")).FirstOrDefault(); if (msa2 == null) { msa2 = new MetadataSimpleAttribute() { ShortName = "Simple 2", DataType = dt1, }; maManager.Create((MetadataSimpleAttribute)msa2); } MetadataCompoundAttribute mca1 = (MetadataCompoundAttribute)maManager.MetadataAttributeRepo.Get(p => p.ShortName.Equals("Compound 1")).FirstOrDefault(); if (mca1 == null) { mca1 = new MetadataCompoundAttribute() { ShortName = "Compound 1", DataType = dt1, }; MetadataNestedAttributeUsage u1 = new MetadataNestedAttributeUsage() { Label = "First member", Description = "I am a link between Compound 1 and Simple 1", MinCardinality = 0, MaxCardinality = 2, Master = mca1, Member = msa1, }; mca1.MetadataNestedAttributeUsages.Add(u1); MetadataNestedAttributeUsage u2 = new MetadataNestedAttributeUsage() { Label = "Second member", Description = "I am a link between Compound 1 and Simple 2", MinCardinality = 0, MaxCardinality = 2, Master = mca1, Member = msa2, }; mca1.MetadataNestedAttributeUsages.Add(u2); maManager.Create(mca1); } maManager.Delete(msa1); }
private void testMetadataStructure() { MetadataStructureManager mdsManager = new MetadataStructureManager(); MetadataPackageManager mdpManager = new MetadataPackageManager(); MetadataAttributeManager mdaManager = new MetadataAttributeManager(); MetadataStructure root = mdsManager.Repo.Get(p => p.Name == "Root").FirstOrDefault(); if (root == null) root = mdsManager.Create("Root", "This is the root metadata structure", "", "", null); MetadataStructure s1 = mdsManager.Repo.Get(p => p.Name == "S1").FirstOrDefault(); if (s1 == null) s1 = mdsManager.Create("S1", "This is S1 metadata structure", "", "", root); MetadataStructure s11 = mdsManager.Repo.Get(p => p.Name == "S1.1").FirstOrDefault(); if (s11 == null) s11 = mdsManager.Create("S1.1", "This is S1.1 metadata structure", "", "", s1); MetadataStructure s2 = mdsManager.Repo.Get(p => p.Name == "S2").FirstOrDefault(); if (s2 == null) s2 = mdsManager.Create("S2", "This is S2 metadata structure", "", "", root); MetadataPackage p1 = mdpManager.MetadataPackageRepo.Get(p => p.Name == "P1").FirstOrDefault(); if (p1 == null) p1 = mdpManager.Create("P1", "Sample Package 1", true); MetadataPackage p2 = mdpManager.MetadataPackageRepo.Get(p => p.Name == "P2").FirstOrDefault(); if (p2 == null) p2 = mdpManager.Create("P2", "Sample Package 2", true); MetadataPackage p3 = mdpManager.MetadataPackageRepo.Get(p => p.Name == "P3").FirstOrDefault(); if (p3 == null) p3 = mdpManager.Create("P3", "Sample Package 3", true); MetadataPackage p4 = mdpManager.MetadataPackageRepo.Get(p => p.Name == "P4").FirstOrDefault(); if (p4 == null) p4 = mdpManager.Create("P4", "Sample Package 4", true); if (s1.MetadataPackageUsages.Where(p => p.MetadataPackage == p1).Count() <= 0) mdsManager.AddMetadataPackageUsage(s1, p1, "P1 in S1", "", 0, 1); if (s1.MetadataPackageUsages.Where(p => p.MetadataPackage == p2).Count() <= 0) mdsManager.AddMetadataPackageUsage(s1, p2, "P2 in S1", "", 1, 1); if (s11.MetadataPackageUsages.Where(p => p.MetadataPackage == p3).Count() <= 0) mdsManager.AddMetadataPackageUsage(s11, p3, "P3 in S1.1", "", 0, 10); if (s11.MetadataPackageUsages.Where(p => p.MetadataPackage == p4).Count() <= 0) mdsManager.AddMetadataPackageUsage(s11, p4, "P4 in S1.1", "", 2, 5); var usages = mdsManager.GetEffectivePackages(3); }
public Dictionary<string, List<Constraint>> ConvertSimpleTypes() { MetadataAttributeManager mam = new MetadataAttributeManager(); //List<XmlSchemaElement> elementsWithSimpleType = this.GetAllElementsTypeIsSimpleType(); //foreach(XmlSchemaElement element in elementsWithSimpleType) //{ // //ConvertedSimplesTypes.Add(type.Name, ConvertToConstraints(type)); //} return ConvertedSimpleTypes; }
private static bool IsCompound(BaseUsage usage) { MetadataAttributeManager mam = new MetadataAttributeManager(); if (usage is MetadataAttributeUsage) { MetadataAttributeUsage mau = (MetadataAttributeUsage)usage; MetadataAttribute ma = mam.MetadataAttributeRepo.Get(mau.MetadataAttribute.Id); if (ma.Self is MetadataCompoundAttribute) return true; } if (usage is MetadataNestedAttributeUsage) { MetadataNestedAttributeUsage mnau = (MetadataNestedAttributeUsage)usage; MetadataAttribute ma = mam.MetadataAttributeRepo.Get(mnau.Member.Id); if (ma.Self is MetadataCompoundAttribute) return true; } return false; }
public static BaseUsage GetSimpleUsageById(BaseUsage parent, long Id) { BaseUsage usage = new BaseUsage(); if (parent is MetadataPackageUsage) { MetadataPackageManager mpm = new MetadataPackageManager(); var q = from p in mpm.MetadataPackageRepo.Get() from u in p.MetadataAttributeUsages where p.Id.Equals(parent.Id) && u.Id == Id && u.MetadataAttribute.Self is MetadataSimpleAttribute select u; if (q != null && q.ToList().Count > 0) { return q.FirstOrDefault(); } else return null; } else if (parent is MetadataNestedAttributeUsage) { MetadataAttributeManager mam = new MetadataAttributeManager(); MetadataNestedAttributeUsage pUsage = (MetadataNestedAttributeUsage)parent; MetadataCompoundAttribute mca = mam.MetadataCompoundAttributeRepo.Get(pUsage.Member.Self.Id); var x = from nestedUsage in mca.MetadataNestedAttributeUsages where nestedUsage.Id == Id && nestedUsage.Member.Self is MetadataSimpleAttribute select nestedUsage; //var x = from c in mam.MetadataCompoundAttributeRepo.Get() // from u in c.Self.MetadataNestedAttributeUsages // where u.Id.Equals(parent.Id) && u.Member.Self.Id == Id && u.Member.Self is MetadataSimpleAttribute // select u; return x.FirstOrDefault(); } else if (parent is MetadataAttributeUsage) { MetadataAttributeUsage mau = (MetadataAttributeUsage)parent; if (mau.MetadataAttribute.Self is MetadataCompoundAttribute) { MetadataCompoundAttribute mca = (MetadataCompoundAttribute)mau.MetadataAttribute.Self; return mca.MetadataNestedAttributeUsages.Where(m => m.Id.Equals(Id)).FirstOrDefault(); } } return null; }
public static BaseUsage GetMetadataCompoundAttributeUsageById(long Id) { BaseUsage usage = new BaseUsage(); MetadataAttributeManager mam = new MetadataAttributeManager(); var x = from c in mam.MetadataCompoundAttributeRepo.Get() from u in c.Self.MetadataNestedAttributeUsages where u.Id == Id //&& c.Id.Equals(parentId) select u; return x.FirstOrDefault(); }
public MetadataAttribute GetMetadataAttribute() { MetadataAttributeManager mam = new MetadataAttributeManager(); return mam.MetadataAttributeRepo.Get().Where(m => m.Id.Equals(MetadataAttributeId)).FirstOrDefault(); }