LogViewer.LogEntryParser.ReadDataAttributes C# (CSharp) Method

ReadDataAttributes() private method

private ReadDataAttributes ( XmlReader xmlreader, Names names, LogEntry logentry ) : void
xmlreader XmlReader
names Names
logentry LogEntry
return void
        private void ReadDataAttributes(XmlReader xmlreader, Names names, LogEntry logentry)
        {
            var name = string.Empty;
            var val = string.Empty;
            if (xmlreader.HasAttributes) {
                while (xmlreader.MoveToNextAttribute()) {
                    if (Object.ReferenceEquals (xmlreader.LocalName, names.name)) {
                        name = xmlreader.Value;
                    } else if (Object.ReferenceEquals (xmlreader.LocalName, names.value)) {
                        val = xmlreader.Value;
                    } else {
                        throw new NotImplementedException (xmlreader.LocalName);
                    }
                }

                // move back to the element node that contains
                // the attributes we just traversed
                xmlreader.MoveToElement ();
                if (logentry.Data.Properties == null)
                {
                    logentry.Data.Properties = new PropertiesDictionary();
                }
                logentry.Data.Properties[name] = val;
                switch (name) {
                case ("log4net:UserName"):
                        logentry.Data.UserName = val;
                        break;
                case ("log4japp"):
                        logentry.Data.Domain = val;
                        break;
                }
            }
        }