Exemplo n.º 1
0
        static MainWindow()
        {
            GetDescription(Orientation.Vertical);

            cet2006EntityTypes    = Cet2006.CetFactory.CreateEntityTypes();
            cet2006AggregateTypes = Cet2006.CetFactory.CreateAggregateTypes();
            cet2010EntityTypes    = Cet2010.CetFactory.CreateEntityTypes();
            cet2010AggregateTypes = Cet2010.CetFactory.CreateAggregateTypes();

            cet2006EntityTypesList = Cet2006.CetFactory.Transform(cet2006EntityTypes);
            cet2010EntityTypesList = Cet2010.CetFactory.Transform(cet2010EntityTypes);

            cet2006View = new ListCollectionView(cet2006EntityTypesList);
            cet2006View.GroupDescriptions.Add(new PropertyGroupDescription("Country"));

            cet2010View = new ListCollectionView(cet2010EntityTypesList);
            cet2010View.GroupDescriptions.Add(new PropertyGroupDescription("Country"));

            var types = from a in Assembly.GetAssembly(typeof(IPdu)).GetTypes()
                        where a.IsEnum && a.Namespace.Contains("Enumerations")
                        select a;

            enumerations =
                from n in (from m in types select m.Namespace).Distinct()
                select new
            {
                Namespace = n,
                Enums     = from t in types
                            select new
                {
                    t.Name,
                    Values = from r in Enum.GetNames(t) select new { Name = r, Value = Convert.ChangeType(Enum.Parse(t, r), Enum.GetUnderlyingType(t)) }
                }
            };
        }
        /// <summary>
        /// Creates the comprehensive entity-type instance.
        /// </summary>
        /// <param name="resource">The resource from which the CET is extracted.</param>
        /// <returns>Comprehensive entity-type instance</returns>
        private static Cet CreateCet(string resource)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(Cet));

            Stream s  = Assembly.GetExecutingAssembly().GetManifestResourceStream(resource);
            Cet    et = (Cet)serializer.Deserialize(s);

            return(et);
        }
        public static List <ICetItem> Transform(Cet c)
        {
            List <ICetItem> items = new List <ICetItem>();

            /*IEnumerable<ICetItem> extras =
             *  from e in c.Entities
             *  from j in e.Categories
             *  from k in ((ICategoryOrCategoryRange)j).Subcategories
             *  from l in ((ISubcategoryOrSubcategoryRange)k).Specifices
             *  from m in ((ISpecificOrSpecificRange)l).Extras
             *  select new CetItem()
             *  {
             *      Category = (byte)((GenericEntrySingle)j).Value,
             *      Country = e.Country,
             *      Description = m.Description,
             *      Domain = e.Domain,
             *      Extra = (m is GenericEntryRange) ? (((GenericEntryRange)m).Min != 0 ? (byte?)((GenericEntryRange)m).Min : null) : (byte)((GenericEntrySingle)m).Value,
             *      Maximum = (m is GenericEntryRange) ? (((GenericEntryRange)m).Max != 0 ? (byte?)((GenericEntryRange)m).Max : null) : null,
             *      Kind = e.Kind,
             *      Specific = (l is GenericEntryRange) ? (((GenericEntryRange)l).Min != 0 ? (byte?)((GenericEntryRange)l).Min : null) : (byte)((GenericEntrySingle)l).Value,
             *      Subcategory = (k is GenericEntryRange) ? (((GenericEntryRange)k).Min != 0 ? (byte?)((GenericEntryRange)k).Min : null) : (byte)((GenericEntrySingle)k).Value
             *  };
             *
             * IEnumerable<ICetItem> specifices =
             *  from e in c.Entities
             *  from j in e.Categories
             *  from k in ((ICategoryOrCategoryRange)j).Subcategories
             *  from l in ((ISubcategoryOrSubcategoryRange)k).Specifices
             *  select new CetItem()
             *  {
             *      Category = (byte)((GenericEntrySingle)j).Value,
             *      Country = e.Country,
             *      Description = l.Description,
             *      Domain = e.Domain,
             *      Kind = e.Kind,
             *      Specific = (l is GenericEntryRange) ? (((GenericEntryRange)l).Min != 0 ? (byte?)((GenericEntryRange)l).Min : null) : (byte)((GenericEntrySingle)l).Value,
             *      Maximum = (l is GenericEntryRange) ? (((GenericEntryRange)l).Max != 0 ? (byte?)((GenericEntryRange)l).Max : null) : null,
             *      Subcategory = (k is GenericEntryRange) ? (((GenericEntryRange)k).Min != 0 ? (byte?)((GenericEntryRange)k).Min : null) : (byte)((GenericEntrySingle)k).Value
             *  };
             *
             * IEnumerable<ICetItem> subcategories =
             *  from e in c.Entities
             *  from j in e.Categories
             *  from k in ((ICategoryOrCategoryRange)j).Subcategories
             *  select new CetItem()
             *  {
             *      Category = (byte)((GenericEntrySingle)j).Value,
             *      Country = e.Country,
             *      Description = k.Description,
             *      Domain = e.Domain,
             *      Kind = e.Kind,
             *      Subcategory = (k is GenericEntryRange) ? (((GenericEntryRange)k).Min != 0 ? (byte?)((GenericEntryRange)k).Min : null) : (byte)((GenericEntrySingle)k).Value,
             *      Maximum = (k is GenericEntryRange) ? (((GenericEntryRange)k).Max != 0 ? (byte?)((GenericEntryRange)k).Max : null) : null,
             *  };
             *
             * IEnumerable<ICetItem> categories =
             *  from e in c.Entities
             *  from j in e.Categories
             *  select new CetItem()
             *  {
             *      Category = (byte)((GenericEntrySingle)j).Value,
             *      Country = e.Country,
             *      Description = j.Description,
             *      Domain = e.Domain,
             *      Kind = e.Kind
             *  };
             *
             * items = items.Concat<ICetItem>(extras).Concat<ICetItem>(specifices).Concat<ICetItem>(subcategories).Concat<ICetItem>(categories).ToList<ICetItem>();
             * items.Sort();*/

            return(items);
        }
Exemplo n.º 4
0
        public static List<ICetItem> Transform(Cet c)
        {
            List<ICetItem> items = new List<ICetItem>();

            IEnumerable<ICetItem> extras = (IEnumerable<ICetItem>)(
                from e in c.Entities
                from j in e.Categories
                from k in ((ICategoryOrCategoryRange)j).Subcategories
                from l in ((ISubcategoryOrSubcategoryRange)k).Specifices
                from m in ((ISpecificOrSpecificRange)l).Extras
                select new CetItem()
                {
                    Category = (byte)((GenericEntrySingle)j).Value,
                    Country = e.Country,
                    Description = m.Description,
                    Domain = e.Domain,
                    Extra = (m is GenericEntryRange) ? (((GenericEntryRange)m).Min != 0 ? (byte?)((GenericEntryRange)m).Min : null) : (byte)((GenericEntrySingle)m).Value,
                    Maximum = (m is GenericEntryRange) ? (((GenericEntryRange)m).Max != 0 ? (byte?)((GenericEntryRange)m).Max : null) : null,
                    Kind = e.Kind,
                    Specific = (l is GenericEntryRange) ? (((GenericEntryRange)l).Min != 0 ? (byte?)((GenericEntryRange)l).Min : null) : (byte)((GenericEntrySingle)l).Value,
                    Subcategory = (k is GenericEntryRange) ? (((GenericEntryRange)k).Min != 0 ? (byte?)((GenericEntryRange)k).Min : null) : (byte)((GenericEntrySingle)k).Value
                });

            IEnumerable<ICetItem> specifices = (IEnumerable<ICetItem>)(
                from e in c.Entities
                from j in e.Categories
                from k in ((ICategoryOrCategoryRange)j).Subcategories
                from l in ((ISubcategoryOrSubcategoryRange)k).Specifices
                select new CetItem()
                {
                    Category = (byte)((GenericEntrySingle)j).Value,
                    Country = e.Country,
                    Description = l.Description,
                    Domain = e.Domain,
                    Kind = e.Kind,
                    Specific = (l is GenericEntryRange) ? (((GenericEntryRange)l).Min != 0 ? (byte?)((GenericEntryRange)l).Min : null) : (byte)((GenericEntrySingle)l).Value,
                    Maximum = (l is GenericEntryRange) ? (((GenericEntryRange)l).Max != 0 ? (byte?)((GenericEntryRange)l).Max : null) : null,
                    Subcategory = (k is GenericEntryRange) ? (((GenericEntryRange)k).Min != 0 ? (byte?)((GenericEntryRange)k).Min : null) : (byte)((GenericEntrySingle)k).Value
                });

            IEnumerable<ICetItem> subcategories = (IEnumerable<ICetItem>)(
                from e in c.Entities
                from j in e.Categories
                from k in ((ICategoryOrCategoryRange)j).Subcategories
                select new CetItem()
                {
                    Category = (byte)((GenericEntrySingle)j).Value,
                    Country = e.Country,
                    Description = k.Description,
                    Domain = e.Domain,
                    Kind = e.Kind,
                    Subcategory = (k is GenericEntryRange) ? (((GenericEntryRange)k).Min != 0 ? (byte?)((GenericEntryRange)k).Min : null) : (byte)((GenericEntrySingle)k).Value,
                    Maximum = (k is GenericEntryRange) ? (((GenericEntryRange)k).Max != 0 ? (byte?)((GenericEntryRange)k).Max : null) : null,
                });

            IEnumerable<ICetItem> categories = (IEnumerable<ICetItem>)(
                from e in c.Entities
                from j in e.Categories
                select new CetItem()
                {
                    Category = (byte)((GenericEntrySingle)j).Value,
                    Country = e.Country,
                    Description = j.Description,
                    Domain = e.Domain,
                    Kind = e.Kind
                });

            items = items.Concat<ICetItem>(extras).Concat<ICetItem>(specifices).Concat<ICetItem>(subcategories).Concat<ICetItem>(categories).ToList<ICetItem>();
            items.Sort();

            return items;
        }
Exemplo n.º 5
0
        public static List <ICetItem> Transform(Cet c)
        {
            var items = new List <ICetItem>();

            IEnumerable <ICetItem> extras =
                from e in c.Entities
                from j in e.Categories
                from k in ((ICategoryOrCategoryRange)j).Subcategories
                from l in ((ISubcategoryOrSubcategoryRange)k).Specifices
                from m in ((ISpecificOrSpecificRange)l).Extras
                select new CetItem()
            {
                Category    = (byte)((GenericEntrySingle)j).Value,
                Country     = e.Country,
                Description = m.Description,
                Domain      = e.Domain,
                Extra       = (m is GenericEntryRange range) ? (range.Min != 0 ? (byte?)range.Min : null) : (byte)((GenericEntrySingle)m).Value,
                Maximum     = (m is GenericEntryRange range1) ? (range1.Max != 0 ? (byte?)range1.Max : null) : null,
                Kind        = e.Kind,
                Specific    = (l is GenericEntryRange range2) ? (range2.Min != 0 ? (byte?)range2.Min : null) : (byte)((GenericEntrySingle)l).Value,
                Subcategory = (k is GenericEntryRange range3) ? (range3.Min != 0 ? (byte?)range3.Min : null) : (byte)((GenericEntrySingle)k).Value
            };

            IEnumerable <ICetItem> specifices =
                from e in c.Entities
                from j in e.Categories
                from k in ((ICategoryOrCategoryRange)j).Subcategories
                from l in ((ISubcategoryOrSubcategoryRange)k).Specifices
                select new CetItem()
            {
                Category    = (byte)((GenericEntrySingle)j).Value,
                Country     = e.Country,
                Description = l.Description,
                Domain      = e.Domain,
                Kind        = e.Kind,
                Specific    = (l is GenericEntryRange range) ? (range.Min != 0 ? (byte?)range.Min : null) : (byte)((GenericEntrySingle)l).Value,
                Maximum     = (l is GenericEntryRange range1) ? (range1.Max != 0 ? (byte?)range1.Max : null) : null,
                Subcategory = (k is GenericEntryRange range2) ? (range2.Min != 0 ? (byte?)range2.Min : null) : (byte)((GenericEntrySingle)k).Value
            };

            IEnumerable <ICetItem> subcategories =
                from e in c.Entities
                from j in e.Categories
                from k in ((ICategoryOrCategoryRange)j).Subcategories
                select new CetItem()
            {
                Category    = (byte)((GenericEntrySingle)j).Value,
                Country     = e.Country,
                Description = k.Description,
                Domain      = e.Domain,
                Kind        = e.Kind,
                Subcategory = (k is GenericEntryRange range) ? (range.Min != 0 ? (byte?)range.Min : null) : (byte)((GenericEntrySingle)k).Value,
                Maximum     = (k is GenericEntryRange range1) ? (range1.Max != 0 ? (byte?)range1.Max : null) : null,
            };

            IEnumerable <ICetItem> categories =
                from e in c.Entities
                from j in e.Categories
                select new CetItem()
            {
                Category    = (byte)((GenericEntrySingle)j).Value,
                Country     = e.Country,
                Description = j.Description,
                Domain      = e.Domain,
                Kind        = e.Kind
            };

            items = items.Concat(extras).Concat(specifices).Concat(subcategories).Concat(categories).ToList();
            items.Sort();

            return(items);
        }