public override void Deserialize(System.Xml.XmlNode node) { base.Deserialize(node); XmlNodeList children = node.ChildNodes; foreach (XmlNode nodeItem in children) { string name = nodeItem.Name.ToLower().Trim(); if (name == "id") ID = HelperXML.GetGuid(nodeItem); else if (name == "username") UserName = nodeItem.InnerText; else if (name == "firstname") FirstName = nodeItem.InnerText; else if (name == "lastname") LastName = nodeItem.InnerText; else if (name == "email") EMail = nodeItem.InnerText; else if (name == "birthday") Birthday = HelperXML.GetDateTime(nodeItem); else if (name == "sex") { string sex = node.InnerText.ToLower().Trim(); if (sex == "male") UserSex = Sex.male; else if (sex == "female") UserSex = Sex.female; else UserSex = Sex.Unknown; } else if (name == "status") Status = (EmployeeStatus)HelperXML.GetInt32(nodeItem); else if (name == "terminated") Terminated = HelperXML.GetDateTime(nodeItem); else if (name == "department") Department = nodeItem.InnerText; else if (name == "workfrom") WorkFrom = HelperXML.GetDateTime(nodeItem); else if (name == "displayname") DisplayName = nodeItem.InnerText; else if (name == "location") Location = nodeItem.InnerText; else if (name == "notes") Notes = nodeItem.InnerText; else if (name == "title") Title = nodeItem.InnerText; else if (name == "avatarmedium") AvatarMediumURL = nodeItem.InnerText; else if (name == "avatar") AvatarURL = nodeItem.InnerText; else if (name == "avatarsmall") AvatarSmallURL = nodeItem.InnerText; else if (name == "contacts") { Contact item = new Contact(); foreach (XmlNode nodeItemChild in nodeItem.ChildNodes) { string nodeItemChildName = nodeItemChild.Name.ToLower().Trim(); if (nodeItemChildName == "type") { item.Type = nodeItemChild.InnerText; } else if (nodeItemChildName == "value") { item.Value = nodeItemChild.InnerText; } } Contacts.Add(item); } else if (name == "groups") { GroupShort item = new GroupShort(); foreach (XmlNode nodeItemChild in nodeItem.ChildNodes) { string nodeItemChildName = nodeItemChild.Name.ToLower().Trim(); if (nodeItemChildName == "id") { item.ID = HelperXML.GetGuid(nodeItemChild); } else if (nodeItemChildName == "name") { item.Name = nodeItemChild.InnerText; } else if (nodeItemChildName == "manager") { item.Manager = nodeItemChild.InnerText; } } Groups.Add(item); } } }