ApiCore.Messages.MessagesFactory.buildMessagesList C# (CSharp) Метод

buildMessagesList() приватный Метод

private buildMessagesList ( XmlDocument x, MessageType type ) : List
x System.Xml.XmlDocument
type MessageType
Результат List
        private List<Message> buildMessagesList(XmlDocument x, MessageType type)
        {
            XmlUtils.UseNode(x);
            int msgCount = XmlUtils.Int("/response/count");
            //int msgCount = Convert.ToInt32(x.SelectNodes("/response/count"));
            XmlNodeList msgsNodes = x.SelectNodes("/response/message");
            if (msgsNodes.Count > 0)
            {
                List<Message> msgList = new List<Message>();
                foreach (XmlNode msgNode in msgsNodes)
                {

                    Message message = new Message();
                    message.Id = Convert.ToInt32(msgNode.SelectSingleNode("mid").InnerText);
                    message.Body = msgNode.SelectSingleNode("body").InnerText;
                    if (type == MessageType.History)
                    {
                        this.HistoryMessagesCount = msgCount;
                        message.UserId = Convert.ToInt32(msgNode.SelectSingleNode("from_id").InnerText);
                    }
                    else
                    {
                        switch(type)
                        {
                            case MessageType.Incoming: this.IncomingMessagesCount = msgCount; break;
                            case MessageType.Outgoing: this.OutgoingMessagesCount = msgCount; break;
                        }
                        message.Title = msgNode.SelectSingleNode("title").InnerText;
                        message.UserId = Convert.ToInt32(msgNode.SelectSingleNode("uid").InnerText);
                    }
                    message.Date = CommonUtils.FromUnixTime(msgNode.SelectSingleNode("date").InnerText);
                    message.State = (MessageState)Convert.ToInt32(msgNode.SelectSingleNode("read_state").InnerText);
                    msgList.Add(message);
                }
                return msgList;
            }
            return null;
        }