RaumfeldNET.ZoneManager.createZoneForXMLNode C# (CSharp) Метод

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

private createZoneForXMLNode ( XmlNode _zoneNode ) : Zone
_zoneNode System.Xml.XmlNode
Результат Zone
        private Zone createZoneForXMLNode(XmlNode _zoneNode)
        {
            if (_zoneNode == null)
                return null;

            try
            {
                Zone newZone = new Zone();
                ZoneTrackMediaList mediaList;
                XmlNodeList nodesAssignedRooms;
                Room newRoom;

                newZone.udn = xmlDocumentHelper.getNodeAttributeValue(_zoneNode, "udn");
                newZone.uuid = newZone.udn.Substring(5);

                mediaList = Global.getZoneTitleListManager().getListForZone(newZone.udn);
                if (mediaList != null)
                    newZone.trackListId = mediaList.listId;

                if (String.IsNullOrWhiteSpace(newZone.udn))
                    throw new Exception("Zone hat keinen UDN Identifier");

                nodesAssignedRooms = _zoneNode.SelectNodes("room");
                if (nodesAssignedRooms != null)
                {
                    foreach (XmlNode nodeRoom in nodesAssignedRooms)
                    {
                        newRoom = this.createRoomForXMLNode(nodeRoom);
                        newRoom.zoneUDN = newZone.udn;
                        rooms.Add(newRoom.udn, newRoom);
                        this.writeLog(LogType.Info, String.Format("Raum '{0}' in Zone '{1}' gefunden", newRoom.name, newZone.udn));
                        this.linkRoomToRoomRenderer(newRoom);
                        newZone.roomUDNs.Add(newRoom.udn);
                    }
                }

                newZone.createZoneNameFromRooms();

                this.writeLog(LogType.Info, String.Format("Zone UDN: '{0}' erstellt", newZone.udn));
                return newZone;
            }
            catch (Exception e)
            {
                this.writeLog(LogType.Error, "Fehler beim erstellen von Zone aus XML-Knoten", e, _zoneNode.InnerXml);
                return null;
            }
        }