Example #1
0
        internal static DisplayRegionGridSave FromXElement(System.Xml.Linq.XElement element)
        {
            DisplayRegionGridSave drgs = new DisplayRegionGridSave();

            foreach (var subElement in element.Elements())
            {
                switch (subElement.Name.LocalName)
                {
                case "ReferenceGrid":
                    drgs.ReferenceGrid = ToFloatRectangleArrayArray(subElement);

                    break;

                case "FirstPaintedX":
                    drgs.FirstPaintedX = SceneSave.AsFloatList(subElement);
                    break;

                case "FirstPaintedY":
                    drgs.FirstPaintedY = SceneSave.AsFloat(subElement);
                    break;

                default:
                    throw new NotImplementedException(subElement.Name.LocalName);
                    //break;
                }
            }

            return(drgs);
        }
Example #2
0
        internal static SpriteFrameSave FromXElement(System.Xml.Linq.XElement element)
        {
            SpriteFrameSave sfs = new SpriteFrameSave();

            foreach (var subElement in element.Elements())
            {
                switch (subElement.Name.LocalName)
                {
                case "BorderSides":
                    sfs.BorderSides = SceneSave.AsInt(subElement);
                    break;

                case "ParentSprite":
                    sfs.ParentSprite = SpriteSave.FromXElement(subElement);
                    break;

                case "SpriteBorderWidth":
                    sfs.SpriteBorderWidth = SceneSave.AsFloat(subElement);
                    break;

                case "TextureBorderWidth":
                    sfs.TextureBorderWidth = SceneSave.AsFloat(subElement);
                    break;

                default:
                    throw new NotImplementedException();

                    //break;
                }
            }

            return(sfs);
        }
Example #3
0
        static FloatRectangle ToFloatRectangle(System.Xml.Linq.XElement element)
        {
            FloatRectangle toReturn = new FloatRectangle();

            foreach (var subElement in element.Elements())
            {
                switch (subElement.Name.LocalName)
                {
                case "Bottom":
                    toReturn.Bottom = SceneSave.AsFloat(subElement);
                    break;

                case "Left":
                    toReturn.Left = SceneSave.AsFloat(subElement);
                    break;

                case "Right":
                    toReturn.Right = SceneSave.AsFloat(subElement);
                    break;

                case "Top":
                    toReturn.Top = SceneSave.AsFloat(subElement);
                    break;

                default:
                    throw new NotImplementedException(subElement.Name.LocalName);
                    //break;
                }
            }


            return(toReturn);
        }
Example #4
0
        static FloatRectangle[][] ToFloatRectangleArrayArray(System.Xml.Linq.XElement element)
        {
            List <List <FloatRectangle> > frReferenceListList = new List <List <FloatRectangle> >();

            foreach (var subElement in element.Elements())
            {
                List <FloatRectangle> newList = new List <FloatRectangle>();

                frReferenceListList.Add(newList);
                foreach (var subSubElement in subElement.Elements())
                {
                    FloatRectangle newRectangle = ToFloatRectangle(subSubElement);
                    newList.Add(newRectangle);
                }
            }

            FloatRectangle[][] toReturn = new FloatRectangle[frReferenceListList.Count][];

            for (int i = 0; i < frReferenceListList.Count; i++)
            {
                toReturn[i] = frReferenceListList[i].ToArray();
            }

            return(toReturn);
        }
Example #5
0
        public void Dequeue(Data.Person dPerson)
        {
            if (dPerson == null)
            {
                throw new Exception.DequeueException(Exception.DequeueException.ResponseCodes.InvalidPerson);
            }

            lock ( ms_oSync )
            {
                System.Xml.Linq.XElement xWaitList = m_oXmlFilePersister.Load(mc_sStorageName) ?? new System.Xml.Linq.XElement("Waitlist");

                System.Xml.Linq.XElement xPersons = GetPersons(xWaitList);

                System.Xml.Linq.XElement xPerson = xPersons
                                                   .Elements("Person")
                                                   .Where(xPersonSearch => xPersonSearch.Attribute("Id").GetValue(Guid.Empty, s => new Guid(s)) == dPerson.Id)
                                                   .FirstOrDefault( );

                if (xPerson == null)
                {
                    throw new Exception.DequeueException(Exception.DequeueException.ResponseCodes.PersonNotFound);
                }
                else
                {
                    xPerson.Remove( );
                    m_oXmlFilePersister.Save(mc_sStorageName, xWaitList);
                }
            }
        }
Example #6
0
        public LightControlConfig()
        {
            lightControlList = new List <LightControl>();

            string lightcontrolpath = SoftwareInfo.getInstance().IsUserCamParaTips;

            System.Xml.Linq.XElement root = null;

            try
            {
                root = System.Xml.Linq.XDocument.Load(lightcontrolpath).Root;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return;
            }

            System.Xml.Linq.XElement controls = root.Element("LightControls");

            foreach (var item in controls.Elements())
            {
                LightControl lc = new LightControl()
                {
                    lightContolParas = XmlSerializer.Deserialize(item, typeof(LightContolParas)) as LightContolParas
                };
                if (!lightControlList.Contains(lc))
                {
                    lightControlList.Add(lc);
                }
            }
        }
Example #7
0
        private static void LoadFromElement(AnimationChainListSave toReturn, System.Xml.Linq.XElement element)
        {
            foreach (var subElement in element.Elements())
            {
                switch (subElement.Name.LocalName)
                {
                case "FileRelativeTextures":
                    toReturn.FileRelativeTextures = AsBool(subElement);
                    break;

                case "TimeMeasurementUnit":
                    toReturn.TimeMeasurementUnit =
                        (TimeMeasurementUnit)Enum.Parse(typeof(TimeMeasurementUnit), subElement.Value, true);
                    break;


                case "CoordinateType":
                    toReturn.CoordinateType =
                        (TextureCoordinateType)Enum.Parse(typeof(TextureCoordinateType), subElement.Value, true);
                    break;

                case "AnimationChain":
                    toReturn.AnimationChains.Add(AnimationChainSave.FromXElement(subElement));
                    break;
                }
            }
        }
        public static T ParseXml(System.Xml.Linq.XElement element)
        {
            var e = (T)Activator.CreateInstance(Type.GetType("Elements." + element.Name));

            Type[] convParamTypes = new Type[] { typeof(string) };
            foreach (var attr in element.Attributes())
            {
                var property = e.GetType().GetProperty(attr.Name.LocalName);
                System.Reflection.MethodInfo conv = property.PropertyType.GetMethod(
                    "op_Explicit", convParamTypes);
                if (conv != null)
                {
                    property.SetValue(e, conv.Invoke(null, new object[] { attr.Value }), null);
                }
                else
                {
                    property.SetValue(e, Convert.ChangeType(attr.Value, property.PropertyType), null);
                }
            }
            foreach (var x in element.Elements())
            {
                e.Elements.Add(ParseXml(x));
            }
            return(e);
        }
Example #9
0
        public static VirtualRSSXmlFile Load(string FilePath)
        {
            VirtualRSSXmlFile LoadedVirtualRSSXmlFile;

            try
            {
                System.Xml.Linq.XDocument RSSXmlFile  = System.Xml.Linq.XDocument.Load(FilePath);
                System.Xml.Linq.XElement  RSS_Channel = RSSXmlFile.Element("rss").Element("channel");
                LoadedVirtualRSSXmlFile = new VirtualRSSXmlFile(
                    RSS_Channel.Element("title").Value,
                    RSS_Channel.Element("link").Value,
                    RSS_Channel.Element("description").Value,
                    RSS_Channel.Element("generator").Value,
                    RSS_Channel.Element("docs").Value,
                    RSS_Channel.Element("language").Value,
                    RSS_Channel.Element("pubDate").Value,
                    RSS_Channel.Element("lastBuildDate").Value
                    );

                System.Xml.Linq.XElement[] ItemArray = RSS_Channel.Elements("item").ToArray();
                foreach (System.Xml.Linq.XElement Item in ItemArray)
                {
                    item CurrentItem = new item(Item.Element("title").Value, Item.Element("link").Value, Item.Element("description").Value, Item.Element("pubDate").Value);
                    LoadedVirtualRSSXmlFile.ItemList.Add(CurrentItem);
                }
            }
            catch
            {
                LoadedVirtualRSSXmlFile = null;
                throw;
            }
            return(LoadedVirtualRSSXmlFile);
        }
Example #10
0
        object IParser.Parse(XElement e)
        {
            object id;
            string name;
            string userID;
            Entity entity;

            ParseObject(e, out id, out name);

            userID = e.Attribute("userID").Value;
            if (userID == null)
            {
                throw new ArgumentException(Message.Get("Xml.NoAttribute", "userID", e), "e");
            }

            var entityID = e.Attribute("entityID");

            if (entityID == null)
            {
                throw new ArgumentException(Message.Get("Xml.NoAttribute", "entityID", e), "e");
            }

            entity = Storage.Select <Entity>(entityID.Value);
            entityFilterFieldParser = new EntityFilterFieldParser(entity);

            var Fields = e.Elements("field");
            var fields = Fields.Select(o => entityFilterFieldParser.Parse(o));

            return(new EntityFilter(id, name, userID, entity, fields));
        }
Example #11
0
        internal static string[][] AsStringArrayArray(System.Xml.Linq.XElement element)
        {
            List <List <string> > stringListList = new List <List <string> >();

            foreach (var subElement in element.Elements())
            {
                List <string> list = new List <string>();
                stringListList.Add(list);
                foreach (var subSubElement in subElement.Elements())
                {
                    list.Add(subSubElement.Value);
                }
            }

            string[][] toReturn = new string[stringListList.Count][];

            for (int i = 0; i < stringListList.Count; i++)
            {
                List <string> stringList = stringListList[i];

                toReturn[i] = stringListList[i].ToArray();
            }

            return(toReturn);
        }
Example #12
0
        /// <summary>
        /// Search the XElement corresponding to member in the docMembers xml tree
        /// </summary>
        /// <param name="docMembers"></param>
        /// <param name="member"></param>
        /// <returns></returns>
        static System.Xml.Linq.XElement GetDocMember(System.Xml.Linq.XElement docMembers, MemberInfo member)
        {
            string memberId = GetMemberId(member);

            return(docMembers.Elements("member")
                   .Where(e => e.Attribute("name").Value == memberId)
                   .First());
        }
Example #13
0
        public bool HasMedia(String path)
        {
            try
            {
                var medias = from media in xelement.Elements() where (string)media.Element("Path").Value == path select media;

                foreach (var media in medias)
                {
                    return(true);
                }
                return(false);
            }
            catch
            {
                return(false);
            }
        }
Example #14
0
        private static void AddCameraFromXElement(SpriteEditorScene toReturn, System.Xml.Linq.XElement element)
        {
            CameraSave cameraSave = new CameraSave();

            toReturn.Camera = cameraSave;

            foreach (var subElement in element.Elements())
            {
                switch (subElement.Name.LocalName)
                {
                case "FarClipPlane":
                    cameraSave.FarClipPlane = SceneSave.AsFloat(subElement);
                    break;

                case "Name":
                    //cameraSave. = subElement.Value;
                    break;

                case "NearClipPlane":
                    cameraSave.NearClipPlane = SceneSave.AsFloat(subElement);
                    break;

                case "Orthogonal":
                    cameraSave.Orthogonal = AsBool(subElement);
                    break;

                case "OrthogonalHeight":
                    cameraSave.OrthogonalHeight = SceneSave.AsFloat(subElement);
                    break;

                case "OrthogonalWidth":
                    cameraSave.OrthogonalWidth = SceneSave.AsFloat(subElement);
                    break;

                case "X":
                    cameraSave.X = SceneSave.AsFloat(subElement);
                    break;

                case "Y":
                    cameraSave.Y = SceneSave.AsFloat(subElement);
                    break;

                case "Z":
                    cameraSave.Z = SceneSave.AsFloat(subElement);
                    break;

                case "AspectRatio":
                    cameraSave.AspectRatio = SceneSave.AsFloat(subElement);
                    break;

                default:

                    throw new NotImplementedException("Error trying to apply property " +
                                                      subElement.Name.LocalName + " on Camera");
                    //break;
                }
            }
        }
Example #15
0
        private static void LoadFromElement(SpriteEditorScene toReturn, System.Xml.Linq.XElement element)
        {
            foreach (var subElement in element.Elements())
            {
                switch (subElement.Name.LocalName)
                {
                case "Sprite":
                    AddSpriteFromXElement(toReturn, subElement);

                    break;

                case "SpriteFrame":
                    SpriteFrameSave sfs = SpriteFrameSave.FromXElement(subElement);
                    toReturn.SpriteFrameSaveList.Add(sfs);
                    break;

                case "Camera":
                    AddCameraFromXElement(toReturn, subElement);

                    break;

                case "Text":
                    AddTextFromXElement(toReturn, subElement);
                    break;

                case "PixelSize":
                    toReturn.PixelSize = SceneSave.AsFloat(subElement);
                    break;

                case "AssetsRelativeToSceneFile":
                    toReturn.AssetsRelativeToSceneFile = AsBool(subElement);
                    break;

                case "CoordinateSystem":
                    toReturn.CoordinateSystem = (CoordinateSystem)Enum.Parse(typeof(CoordinateSystem), subElement.Value, true);
                    break;

                case "Snapping":
                    toReturn.Snapping = AsBool(subElement);
                    break;

                case "SpriteGrid":
                    SpriteGridSave spriteGridSave = SpriteGridSave.FromXElement(subElement);
                    toReturn.SpriteGridList.Add(spriteGridSave);
                    break;

                case "FileName":

                    // do nothing with this, shouldn't be here anyway:
                    break;

                default:
                    throw new NotImplementedException("Unexpected node in XML: " +
                                                      subElement.Name.LocalName);
                    //break;
                }
            }
        }
Example #16
0
        //identical match, order is ignored
        public static bool ElementEquals(this System.Xml.Linq.XElement a, System.Xml.Linq.XElement b)
        {
            if (!a.Name.LocalName.Equals(b.Name.LocalName))
            {
                return(false);
            }

            if (!a.ElementAttributesEquals(b))
            {
                return(false);
            }

            if ((!a.HasElements && !b.HasElements) && !a.Value.Equals(b.Value))
            {
                return(false);
            }

            if (a.HasElements != b.HasElements)
            {
                return(false);
            }

            if (a.HasElements == b.HasElements == true && a.Elements().Count() != b.Elements().Count())
            {
                return(false);
            }

            if (a.Attribute("refType") == null || a.Attribute("refType").Value != "children")
            {
                foreach (var ae in a.Elements())
                {
                    var be = b.Elements().Where(s => ae.ElementEquals(s));
                    if (!be.Any())
                    {
                        return(false);
                    }
                }
            }
            else
            {
                return(false);
            }

            return(true);
        }
Example #17
0
        // <Animation name="Take 001" trackcount="60" framecount="61" duration="1.199999928" dtime="4">
        /// <summary>
        ///
        /// </summary>
        /// <param name="xAnimation"></param>
        /// <returns></returns>
        public static EZMAnimation Parse(System.Xml.Linq.XElement xElement)
        {
            EZMAnimation result = null;

            if (xElement.Name == "Animation")
            {
                result = new EZMAnimation();
                {
                    var xAttr = xElement.Attribute("name");
                    if (xAttr != null)
                    {
                        result.Name = xAttr.Value;
                    }
                }
                {
                    var xAttr = xElement.Attribute("trackcount");
                    if (xAttr != null)
                    {
                        result.TrackCount = int.Parse(xAttr.Value);
                    }
                }
                {
                    var xAttr = xElement.Attribute("framecount");
                    if (xAttr != null)
                    {
                        result.FrameCount = int.Parse(xAttr.Value);
                    }
                }
                {
                    var xAttr = xElement.Attribute("duration");
                    if (xAttr != null)
                    {
                        result.duration = float.Parse(xAttr.Value);
                    }
                }
                {
                    var xAttr = xElement.Attribute("dtime");
                    if (xAttr != null)
                    {
                        result.dtime = float.Parse(xAttr.Value);
                    }
                }
                {
                    var xAnimTracks = xElement.Elements("AnimTrack");
                    var animTracks  = new EZMAnimTrack[xAnimTracks.Count()];
                    int index       = 0;
                    foreach (var xAnimTrack in xAnimTracks)
                    {
                        animTracks[index++] = EZMAnimTrack.Parse(xAnimTrack);
                    }
                    result.AnimTracks = animTracks;
                }
            }

            return(result);
        }
Example #18
0
 public void From_XML(System.Xml.Linq.XElement xml)
 {
     Reset();
     foreach (var item in xml.Elements("disk"))
     {
         var d = new Libvirt.Models.Concrete.Disk();
         d.From_XML(item);
         Disks.Add(d);
     }
 }
Example #19
0
        internal static List <float> AsFloatList(System.Xml.Linq.XElement element)
        {
            List <float> toReturn = new List <float>();

            foreach (var subElement in element.Elements())
            {
                toReturn.Add(SceneSave.AsFloat(subElement));
            }

            return(toReturn);
        }
        object IParser.Parse(XElement e)
        {
            if (e == null)
            {
                throw new ArgumentNullException("e", Message.Get("Common.NullArgument", "e"));
            }

            var templateElement = e.Element("template");

            if (templateElement == null)
            {
                throw new ArgumentException(Message.Get("Xml.NoElement", "template", e), "e");
            }

            var template = templateParser.Parse(templateElement);

#if f
            // Проверка элемента инстанса.
            var instancesElement = e.Element("instances");

            if (instancesElement == null)
            {
                throw new ArgumentException(Message.Get("Xml.NoElement", "instances", e), "e");
            }


            // Получение элемента инстанса.
            var instanceElements = instancesElement.Elements("instance");
#endif

            var instanceElements = e.Elements("instance");
            if (instanceElements.Count() == 0)
            {
                throw new ArgumentException(Message.Get("Xml.NoElements", "instance", e), "e");
            }

            if (typeof(T) == typeof(GroupReport))
            {
                var instances = new List <Instance>();

                foreach (var instanceElement in instanceElements)
                {
                    instanceParser = new InstanceParser(template);
                    instances.Add(instanceParser.Parse(instanceElement));
                }

                return(new GroupReport(template, instances));
            }
            else
#warning Неясное сообщение исключения.
            {
                throw new InvalidOperationException("В ReportParser был передан неверный тип объекта.");
            }
        }
Example #21
0
        //true if all elements of a exists in b, even if b has more
        public static bool ElementMatch(this System.Xml.Linq.XElement a, System.Xml.Linq.XElement b)
        {
            if (!a.Name.LocalName.Equals(b.Name.LocalName))
            {
                return(false);
            }

            if (a.HasElements != b.HasElements)
            {
                return(false);
            }

            if (!a.HasElements && !b.HasElements && !a.Value.Equals(b.Value, StringComparison.CurrentCultureIgnoreCase))
            {
                return(false);
            }

            foreach (System.Xml.Linq.XAttribute at in a.Attributes())
            {
                if (b.Attribute(at.Name) == null || !at.Value.Equals(b.Attribute(at.Name).Value, StringComparison.CurrentCultureIgnoreCase))
                {
                    return(false);
                }
            }

            if (a.HasElements == b.HasElements == true && a.Elements().Count() > b.Elements().Count())
            {
                return(false);
            }

            foreach (var ae in a.Elements())
            {
                var be = b.Elements().Where(s => ae.ElementMatch(s));
                if (!be.Any())
                {
                    return(false);
                }
            }

            return(true);
        }
Example #22
0
        /// <summary>
        /// transforms XML into IQueryable of User
        /// </summary>
        /// <param name="twitterResponse">xml with Twitter response</param>
        /// <returns>IQueryable of User</returns>
        public IList ProcessResults(System.Xml.Linq.XElement twitterResponse)
        {
            var idList =
                from id in twitterResponse.Elements("id").ToList()
                select new SocialGraph
            {
                ID = int.Parse(id.Value)
            };

            return(idList.ToList());
            //return idList.AsQueryable<SocialGraph>();
        }
        //public AnimationFrame ToAnimationFrame(TextureAtlas textureAtlas)
        //{
        //    AnimationFrame toReturn = ToAnimationFrame(null, false);
        //    var entry = textureAtlas.GetEntryFor(this.TextureName);

        //    if (entry != null)
        //    {

        //        float left;
        //        float right;
        //        float top;
        //        float bottom;


        //        entry.FullToReduced(toReturn.LeftCoordinate, toReturn.RightCoordinate,
        //            toReturn.TopCoordinate, toReturn.BottomCoordinate,
        //            out left, out right, out top, out bottom);

        //        toReturn.LeftCoordinate = left;
        //        toReturn.RightCoordinate = right;
        //        toReturn.TopCoordinate = top;
        //        toReturn.BottomCoordinate = bottom;

        //    }

        //    return toReturn;
        //}


        internal static AnimationFrameSave FromXElement(System.Xml.Linq.XElement element)
        {
            AnimationFrameSave toReturn = new AnimationFrameSave();


            foreach (var subElement in element.Elements())
            {
                switch (subElement.Name.LocalName)
                {
                case "FlipHorizontal":
                    toReturn.FlipHorizontal = SceneSave.AsBool(subElement);
                    break;

                case "FlipVertical":
                    toReturn.FlipVertical = SceneSave.AsBool(subElement);
                    break;

                case "TextureName":
                    toReturn.TextureName = subElement.Value;
                    break;

                case "FrameLength":
                    toReturn.FrameLength = SceneSave.AsFloat(subElement);
                    break;

                case "LeftCoordinate":
                    toReturn.LeftCoordinate = SceneSave.AsFloat(subElement);
                    break;

                case "RightCoordinate":
                    toReturn.RightCoordinate = SceneSave.AsFloat(subElement);
                    break;

                case "TopCoordinate":
                    toReturn.TopCoordinate = SceneSave.AsFloat(subElement);
                    break;

                case "BottomCoordinate":
                    toReturn.BottomCoordinate = SceneSave.AsFloat(subElement);
                    break;

                case "RelativeX":
                    toReturn.RelativeX = SceneSave.AsFloat(subElement);
                    break;

                case "RelativeY":
                    toReturn.RelativeY = SceneSave.AsFloat(subElement);
                    break;
                }
            }

            return(toReturn);
        }
        public bool HasMedia(String playlistName, Model.Media media)
        {
            try
            {
                if (string.IsNullOrEmpty(playlistName) || media == null || string.IsNullOrEmpty(media.Path))
                {
                    return(false);
                }
                if (xelement.Elements("Playlist").Any(row => (row != null && row.Attribute("name") != null &&

                                                              row.Element("Element") != null &&
                                                              row.Element("Element").Element("Path") != null &&
                                                              row.Element("Element").Element("Element") != null &&
                                                              row.Element("Element").Element("Type") != null &&

                                                              row.Attribute("name").Value == playlistName &&
                                                              row.Element("Element").Element("Path").Value == media.Path &&
                                                              Boolean.Parse(row.Element("Element").Element("Stream").Value) == media.Stream &&

                                                              (Model.Media.MediaType)Enum.Parse(typeof(Model.Media.MediaType), row.Element("Element").Element("Type").Value) == media.Type
                                                              )))
                {
                    return(true);
                }
                return(false);
            }
            catch (Exception e)
            {
                Console.WriteLine("FAILED HasMedia catch: '{0}'", e);
                return(false);
            }
        }
Example #25
0
        internal static List <Car> FetchCars(Func <Car, bool> perdicate)
        {
            System.Xml.Linq.XElement eurotax = System.Xml.Linq.XElement.Load(xmlFile);
            List <Car> viaturas = eurotax.Elements("NewsItemRow").Select(x =>
                                                                         new Car {
                BrandDescription   = (string)x.Element("BRAND"),
                ModelDescription   = (string)x.Element("MODEL"),
                VersionDescription = (string)x.Element("VERSION"),
                Price = Convert.ToDouble((string)x.Element("PRICE"), CultureInfo.CurrentCulture)
            }).Where(perdicate).ToList();

            return(viaturas);
        }
 /// <summary>
 /// Update the Metadata property based on the value stored
 /// in the parent XML node
 /// </summary>
 /// <param name="element">XML element</param>
 /// <param name="value">value for element</param>
 static partial void CustomizeFromXml(System.Xml.Linq.XElement element, Azure.Storage.Files.Shares.Models.ShareProperties value)
 {
     System.Xml.Linq.XElement parent = element.Parent;
     value.Metadata = new System.Collections.Generic.Dictionary <string, string>(System.StringComparer.OrdinalIgnoreCase);
     System.Xml.Linq.XElement child = parent.Element(System.Xml.Linq.XName.Get("Metadata", ""));
     if (child != null)
     {
         foreach (System.Xml.Linq.XElement _pair in child.Elements())
         {
             value.Metadata[_pair.Name.LocalName] = _pair.Value;
         }
     }
 }
Example #27
0
        /// <summary>
        /// transforms XML into IQueryable of User
        /// </summary>
        /// <param name="twitterResponse">xml with Twitter response</param>
        /// <returns>IQueryable of User</returns>
        public List <T> ProcessResults(System.Xml.Linq.XElement twitterResponse)
        {
            var graph = new SocialGraph
            {
                ID             = ID,
                UserID         = UserID,
                ScreenName     = ScreenName,
                Page           = Page,
                Cursor         = Cursor,
                CursorMovement = new Cursors
                {
                    Next =
                        twitterResponse.Element("next_cursor") == null ?
                        string.Empty :
                        twitterResponse.Element("next_cursor").Value,
                    Previous =
                        twitterResponse.Element("previous_cursor") == null ?
                        string.Empty :
                        twitterResponse.Element("previous_cursor").Value
                }
            };

            IEnumerable <string> idList = null;

            // TODO: analyze to determine if this (CursorMovement and IDs) can be refactored to use IDList list as done in friendship/incoming and friendship/outgoing.
            //  Would be a breaking change, but yet pull API into consistent usage in this area.
            //  Because of the if statement this might not be straight forward, but then again, if statement might be OBE since initial API creation and all that is needed is to parse IDs rather than a single ID. - Joe 4/16/2010

            // we get back ids if using cursors but id if not using cursors
            if (twitterResponse.Element("ids") == null)
            {
                idList =
                    from id in twitterResponse.Elements("id").ToList()
                    select id.Value;
            }
            else
            {
                idList =
                    from id in twitterResponse.Element("ids").Elements("id").ToList()
                    select id.Value;
            }

            graph.IDs = idList.ToList();

            return(new List <SocialGraph> {
                graph
            }.OfType <T>().ToList());
        }
        internal static GeometryShaderFieldList Parse(System.Xml.Linq.XElement xElement)
        {
            if (xElement.Name != typeof(GeometryShaderFieldList).Name)
            {
                throw new Exception();
            }

            var result = new GeometryShaderFieldList();

            foreach (var item in xElement.Elements(typeof(ShaderField).Name))
            {
                result.Add(ShaderField.Parse(item));
            }

            return(result);
        }
Example #29
0
            //Parses a config file and loads its settings
            public void Load(string filename)
            {
                System.Xml.Linq.XElement xml = null;
                try
                {
                    string text = System.IO.File.ReadAllText(filename);
                    xml = System.Xml.Linq.XElement.Parse(text);
                }
                catch
                {
                    //Pokemon catch statement (gotta catch 'em all)

                    //If some exception occurs while loading the file,
                    //assume either the file was unable to be read or
                    //the config file is not in the right format.
                    //The xml variable will be null and none of the
                    //settings will be loaded.
                }

                if (xml != null)
                {
                    foreach (System.Xml.Linq.XElement currentElement in xml.Elements())
                    {
                        switch (currentElement.Name.LocalName)
                        {
                        case "userSettings":
                        case "applicationSettings":
                            foreach (System.Xml.Linq.XElement settingNamespace in currentElement.Elements())
                            {
                                if (settingNamespace.Name.LocalName == "SnipetTester.Properties.Settings")
                                {
                                    foreach (System.Xml.Linq.XElement setting in settingNamespace.Elements())
                                    {
                                        LoadSetting(setting);
                                    }
                                }
                            }
                            break;

                        default:
                            break;
                        }
                    }
                }
            }
Example #30
0
        //<direct_message>
        //  <id>87864628</id>
        //  <sender_id>1234567</sender_id>
        //  <text>;)</text>
        //  <recipient_id>15411837</recipient_id>
        //  <created_at>Tue Apr 07 16:47:25 +0000 2009</created_at>
        //  <sender_screen_name>senderscreenname</sender_screen_name>
        //  <recipient_screen_name>JoeMayo</recipient_screen_name>
        //  <sender>
        //    <id>1234567</id>
        //    <name>Sender Name</name>
        //    <screen_name>senderscreenname</screen_name>
        //    <location>SenderLocation</location>
        //    <description>Sender Description</description>
        //    <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/12345678/name_of_image.jpg</profile_image_url>
        //    <url>http://sendersite.com</url>
        //    <protected>false</protected>
        //    <followers_count>10406</followers_count>
        //    <profile_background_color>9ae4e8</profile_background_color>
        //    <profile_text_color>696969</profile_text_color>
        //    <profile_link_color>72412c</profile_link_color>
        //    <profile_sidebar_fill_color>b8aa9c</profile_sidebar_fill_color>
        //    <profile_sidebar_border_color>b8aa9c</profile_sidebar_border_color>
        //    <friends_count>705</friends_count>
        //    <created_at>Tue May 01 05:55:26 +0000 2007</created_at>
        //    <favourites_count>56</favourites_count>
        //    <utc_offset>-28800</utc_offset>
        //    <time_zone>Pacific Time (US &amp; Canada)</time_zone>
        //    <profile_background_image_url>http://s3.amazonaws.com/twitter_production/profile_background_images/2036752/background.gif</profile_background_image_url>
        //    <profile_background_tile>true</profile_background_tile>
        //    <statuses_count>7607</statuses_count>
        //    <notifications>false</notifications>
        //    <following>true</following>
        //  </sender>
        //  <recipient>
        //    <id>15411837</id>
        //    <name>Joe Mayo</name>
        //    <screen_name>JoeMayo</screen_name>
        //    <location>Denver, CO</location>
        //    <description>Author/entrepreneur, specializing in custom .NET software development</description>
        //    <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/62569644/JoeTwitter_normal.jpg</profile_image_url>
        //    <url>http://www.csharp-station.com</url>
        //    <protected>false</protected>
        //    <followers_count>47</followers_count>
        //    <profile_background_color>0099B9</profile_background_color>
        //    <profile_text_color>3C3940</profile_text_color>
        //    <profile_link_color>0099B9</profile_link_color>
        //    <profile_sidebar_fill_color>95E8EC</profile_sidebar_fill_color>
        //    <profile_sidebar_border_color>5ED4DC</profile_sidebar_border_color>
        //    <friends_count>22</friends_count>
        //    <created_at>Sun Jul 13 04:35:50 +0000 2008</created_at>
        //    <favourites_count>0</favourites_count>
        //    <utc_offset>-25200</utc_offset>
        //    <time_zone>Mountain Time (US &amp; Canada)</time_zone>
        //    <profile_background_image_url>http://static.twitter.com/images/themes/theme4/bg.gif</profile_background_image_url>
        //    <profile_background_tile>false</profile_background_tile>
        //    <statuses_count>137</statuses_count>
        //    <notifications>false</notifications>
        //    <following>false</following>
        //  </recipient>
        //</direct_message>

        /// <summary>
        /// transforms XML into IQueryable of DirectMessage
        /// </summary>
        /// <param name="twitterResponse">xml with Twitter response</param>
        /// <returns>IQueryable of DirectMessage</returns>
        public virtual List <T> ProcessResults(System.Xml.Linq.XElement twitterResponse)
        {
            var responseItems = twitterResponse.Elements("direct_message").ToList();

            // if we get only a single response back,
            // make sure we get it
            if (twitterResponse.Name == "direct_message")
            {
                responseItems.Add(twitterResponse);
            }

            var user = new User();

            var dmList =
                from dm in responseItems
                let sender =
                    dm.Element("sender")
                    let recipient =
                        dm.Element("recipient")
                        let createdAtDate =
                            DateTime.ParseExact(
                                dm.Element("created_at").Value,
                                "ddd MMM dd HH:mm:ss %zzzz yyyy",
                                CultureInfo.InvariantCulture)
                            select new DirectMessage
            {
                Type                = Type,
                SinceID             = SinceID,
                MaxID               = MaxID,
                Page                = Page,
                Count               = Count,
                ID                  = ulong.Parse(dm.Element("id").Value),
                SenderID            = ulong.Parse(dm.Element("sender_id").Value),
                Text                = dm.Element("text").Value,
                RecipientID         = ulong.Parse(dm.Element("recipient_id").Value),
                CreatedAt           = createdAtDate,
                SenderScreenName    = dm.Element("sender_screen_name").Value,
                RecipientScreenName = dm.Element("recipient_screen_name").Value,
                Sender              = user.CreateUser(sender),
                Recipient           = user.CreateUser(recipient)
            };

            return(dmList.OfType <T>().ToList());
        }