Esempio n. 1
0
        public object Deserialize(System.Xml.XmlReader xmlReader)
        {
            if (!xmlReader.IsStartElement("Trigger"))
            {
                throw new System.Exception("Element Trigger expected");
            }

            //xmlReader.MoveToAttribute("AssemblyQualifiedName");
            xmlReader.MoveToAttribute("Type");
            Type type = SerializerHelper.TriggerTypes[xmlReader.Value];            //Type.GetType(xmlReader.Value);

            if (type == null)
            {
                throw new System.Exception("Tipo não identificado.");
            }

            ITrigger trigger = (ITrigger)Activator.CreateInstance(type);

            xmlReader.ReadStartElement();
            SerializerHelper.ReadWhiteSpace(xmlReader);
            while (xmlReader.IsStartElement())
            {
                SerializerHelper.FillProperty(xmlReader, trigger);
                SerializerHelper.ReadWhiteSpace(xmlReader);
            }

            xmlReader.ReadEndElement();
            SerializerHelper.ReadWhiteSpace(xmlReader);
            return(trigger);
        }
Esempio n. 2
0
        public object Deserialize(System.Xml.XmlReader xmlReader)
        {
            List <Profile> profiles = new List <Profile>();

            xmlReader.ReadStartElement("Profiles");
            while (xmlReader.IsStartElement("Profile"))
            {
                Profile item = new Profile();
                xmlReader.ReadStartElement();
                item.Name    = xmlReader.ReadElementString("Name");
                item.Enabled = bool.Parse(xmlReader.ReadElementString("Enabled"));

                if (xmlReader.IsStartElement("EventTrigger"))
                {
                    xmlReader.ReadStartElement();
                    ISerializer   ser     = SerializerProvider.GetSerializer(typeof(ITrigger));
                    IEventTrigger trigger = (IEventTrigger)ser.Deserialize(xmlReader);
                    item.EventTrigger = trigger;
                    xmlReader.ReadEndElement();
                    SerializerHelper.ReadWhiteSpace(xmlReader);
                }
                item.StateTriggers = new List <IStateTrigger>();
                if (xmlReader.IsStartElement("StateTriggers"))
                {
                    xmlReader.ReadStartElement();
                    SerializerHelper.ReadWhiteSpace(xmlReader);
                    while (xmlReader.IsStartElement())
                    {
                        ISerializer   ser     = SerializerProvider.GetSerializer(typeof(ITrigger));
                        IStateTrigger trigger = (IStateTrigger)ser.Deserialize(xmlReader);
                        item.StateTriggers.Add(trigger);
                    }
                    xmlReader.ReadEndElement();
                    SerializerHelper.ReadWhiteSpace(xmlReader);
                }
                if (xmlReader.IsStartElement("EnterStateAction"))
                {
                    xmlReader.ReadStartElement();
                    SerializerHelper.ReadWhiteSpace(xmlReader);
                    item.ActionToExecute = SerializerHelper.DeserializeAction(xmlReader);
                    xmlReader.ReadEndElement();
                    SerializerHelper.ReadWhiteSpace(xmlReader);
                }
                if (xmlReader.IsStartElement("ExitStateAction"))
                {
                    xmlReader.ReadStartElement();
                    SerializerHelper.ReadWhiteSpace(xmlReader);
                    item.ActionToExecute = SerializerHelper.DeserializeAction(xmlReader);
                    xmlReader.ReadEndElement();
                    SerializerHelper.ReadWhiteSpace(xmlReader);
                }
                xmlReader.ReadEndElement();
                SerializerHelper.ReadWhiteSpace(xmlReader);
                profiles.Add(item);
            }
            xmlReader.ReadEndElement();
            return(profiles);
        }
Esempio n. 3
0
        public virtual object Deserialize(System.Xml.XmlReader xmlReader)
        {
            IAction action = (IAction)Activator.CreateInstance(type);

            xmlReader.ReadStartElement();
            SerializerHelper.ReadWhiteSpace(xmlReader);
            while (xmlReader.IsStartElement())
            {
                SerializerHelper.FillProperty(xmlReader, action);
                SerializerHelper.ReadWhiteSpace(xmlReader);
            }
            xmlReader.ReadEndElement();
            SerializerHelper.ReadWhiteSpace(xmlReader);
            return(action);
        }
Esempio n. 4
0
        public object Deserialize(System.Xml.XmlReader xmlReader)
        {
            BlockAction blockAction = new BlockAction();

            blockAction.ActionList = new List <IAction>();
            xmlReader.ReadStartElement();
            SerializerHelper.ReadWhiteSpace(xmlReader);
            while (xmlReader.IsStartElement("Action"))
            {
                IAction action = SerializerHelper.DeserializeAction(xmlReader);
                blockAction.ActionList.Add(action);
            }
            xmlReader.ReadEndElement();
            SerializerHelper.ReadWhiteSpace(xmlReader);
            return(blockAction);
        }