Beispiel #1
0
        public UnitCollection UsedUnits()
        {
            var result = new UnitCollection();

            foreach (var unit in this)
            {
                var fact = Instance.Facts.FirstOrDefault(f => f.Unit == unit);
                if (fact != null)
                {
                    result.Add(unit);
                }
            }

            return(result);
        }
Beispiel #2
0
        public static void ParseUnits(XDocument document, Instance instance)
        {
            // parse units and add to instance
            // ix:header/ix:resources/xbrli:unit
            var unitNs         = document.Root.GetNamespaceOfPrefix("xbrli");
            var unitElements   = document.Root.Descendants(unitNs + "unit");
            var unitSerializer = new XmlSerializer(typeof(Unit));
            var units          = new UnitCollection(instance);

            foreach (var unitElement in unitElements)
            {
                var unitReader = unitElement.CreateReader();
                var unit       = (Unit)unitSerializer.Deserialize(unitReader);
                units.Add(unit);
            }
            instance.Units = units;
        }