/// <summary> /// Interpreta un documento XML con datos de un mensaje /// </summary> internal static DirectMessage Parse(MLFile objMLFile) { DirectMessage objMessage = new DirectMessage(); // Interpreta los datos foreach (MLNode objMLNode in objMLFile.Nodes) if (objMLNode.Name.Equals(cnstStrTagMessage)) objMessage = Parse(objMLNode); // Devuelve el mensaje return objMessage; }
/// <summary> /// Interpreta un nodo XML con un mensaje /// </summary> private static DirectMessage Parse(MLNode objMLMessage) { DirectMessage objMessage = new DirectMessage(); // Obtiene los datos del mensaje objMessage.ID = objMLMessage.Nodes[cnstStrTagID].GetValue(0); objMessage.SenderID = objMLMessage.Nodes[cnstStrTagSenderID].GetValue(0); objMessage.Text = objMLMessage.Nodes[cnstStrTagText].Value; objMessage.RecipientID = objMLMessage.Nodes[cnstStrTagRecipientID].GetValue(0); objMessage.CreatedAt = objMLMessage.Nodes[cnstStrTagCreatedAt].Value; objMessage.SenderScreenName = objMLMessage.Nodes[cnstStrTagSenderScreenName].Value; objMessage.RecipientScreenName = objMLMessage.Nodes[cnstStrTagRecipientScreenName].Value; // Obtiene el emisor y el receptor if (!string.IsNullOrEmpty(objMLMessage.Nodes[cnstStrTagSender].Name)) objMessage.Sender = UserParser.Parse(objMLMessage.Nodes[cnstStrTagSender]); if (!string.IsNullOrEmpty(objMLMessage.Nodes[cnstStrTagRecipient].Name)) objMessage.Recipient = UserParser.Parse(objMLMessage.Nodes[cnstStrTagRecipient]); // Devuelve el mensaje return objMessage; }