Exemplo n.º 1
0
        public void AddEntityInstance(XmlEntityInstance entity)
        {
            var description = entityTypes
                              .Where(x => x.Name == entity.Description.Name);

            if (description.Count() == 0)
            {
                entityTypes.Add(entity.Description);
            }
            if (entity.Description.GetHashCode() != description.First().GetHashCode())
            {
                throw new ArgumentException();
            }
            entityInstance.Add(entity);
        }
Exemplo n.º 2
0
        public static XmlFile Parse(XElement xElement)
        {
            if (xElement == null)
            {
                throw new NullReferenceException();
            }

            XmlFile xml      = new XmlFile();
            var     entities = new List <XmlEntityInstance>();

            foreach (var item in xElement.Descendants("Description"))
            {
                xml.AddEntityTypes((XmlEntityType.Parse(item)));
            }

            foreach (var item in xElement.Descendants("Entity"))
            {
                string name        = item.Attribute("Name").Value;
                var    description = xml.entityTypes
                                     .Where(x => x.Name == name)
                                     .First();
                XmlEntityInstance xmlEntity = new XmlEntityInstance(description);

                foreach (var parameter in description)
                {
                    var value = item.Element(parameter.Name).Value;
                    switch (parameter.ValueType)
                    {
                    case XmlParameterValueType.Double:
                        xmlEntity.SetParameterValue(parameter.Name, double.Parse(value));
                        break;

                    case XmlParameterValueType.Integer:
                        xmlEntity.SetParameterValue(parameter.Name, int.Parse(value));
                        break;

                    case XmlParameterValueType.String:
                        xmlEntity.SetParameterValue(parameter.Name, value);
                        break;
                    }
                }
                xml.AddEntityInstance(xmlEntity);
            }
            return(xml);
        }