Esempio n. 1
0
        //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;
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
        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;
        }
Esempio n. 6
0
        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;
        }
Esempio n. 7
0
        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();
        }
Esempio n. 8
0
 public MetadataAttribute GetMetadataAttribute()
 {
     MetadataAttributeManager mam = new MetadataAttributeManager();
     return mam.MetadataAttributeRepo.Get().Where(m => m.Id.Equals(MetadataAttributeId)).FirstOrDefault();
 }