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); }
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; }
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); }