terça-feira, 21 de julho de 2015

Linq Order by

        /// Recupera o valor no node xml
        ///

        private static String GetXmlAttributeValue(String AttributeName, XElement xml)
        {
            string strOut = string.Empty;
            var nome = (from elemento in xml.Elements("attribute")
                        where elemento.Attribute("name").Value == AttributeName
                        select elemento.Elements("value"));


            if (string.IsNullOrEmpty(nome.ToString()))
                throw new Exception("Elemento " + AttributeName + " não encontrado no Xml. XML: " + xml.ToString());

       
            if (nome.ElementAt(0).ToList().Count == 1)
            {
                strOut = nome.Single().ElementAt(0).Value;
            }
            else
                nome.ElementAt(0).ToList().ForEach(delegate(XElement node) { strOut += " " + node.Value; });

            return strOut;
        }

        ///
        /// Ordena a lista de usuário por nome.
        ///

        private static List<Usuario> OrdenaLista(List<Usuario> ret)
        {
            ret = (from a in ret
                   orderby a.Nome ascending
                   select a).ToList<Usuario>();
            return ret;

        }
Postar um comentário