private Room createRoomForXMLNode(XmlNode _roomNode)
{
if (_roomNode == null)
return null;
try
{
Room newRoom = new Room();
newRoom.udn = xmlDocumentHelper.getNodeAttributeValue(_roomNode, "udn");
newRoom.uuid = newRoom.udn.Substring(5);
newRoom.name = xmlDocumentHelper.getNodeAttributeValue(_roomNode, "name");
newRoom.color = xmlDocumentHelper.getNodeAttributeValue(_roomNode, "color");
// we store real UDN of renderer and this is the same but without the uuid!
newRoom.rendererUDN = xmlDocumentHelper.getChildNodeAttributeValue(_roomNode, "renderer", "udn");
newRoom.rendererUDN = newRoom.rendererUDN.Substring(5);
// if room has no color assigned, then give him some white painting
if (String.IsNullOrWhiteSpace(newRoom.color))
newRoom.color = "#FFFFFF";
if (String.IsNullOrWhiteSpace(newRoom.udn))
throw new Exception("Raum hat keinen UDN Identifier");
this.writeLog(LogType.Info, String.Format("Raum UDN: '{0}' erstellt", newRoom.udn));
return newRoom;
}
catch (Exception e)
{
this.writeLog(LogType.Error, "Fehler beim erstellen von Raum aus XML-Knoten", e, _roomNode.InnerXml);
return null;
}
}