/// <summary> /// Lê os dados serializados no xml. /// </summary> /// <param name="reader"></param> void IXmlSerializable.ReadXml(System.Xml.XmlReader reader) { reader.ReadStartElement(); this.ProfileId = int.Parse(reader.ReadElementString("ProfileId")); this.UserName = reader.ReadElementString("UserName"); this.FullName = reader.ReadElementString("FullName"); Colosoft.Security.Profile.ProfileSearchMode searchMode = Security.Profile.ProfileSearchMode.All; if (Enum.TryParse <Colosoft.Security.Profile.ProfileSearchMode>(reader.ReadElementString("SearchMode"), out searchMode)) { this.SearchMode = searchMode; } LastActivityDate = reader.ReadDateTimeOffset(); LastUpdatedDate = reader.ReadDateTimeOffset(); if (!reader.IsEmptyElement) { Source = new AuthenticationSource(); ((IXmlSerializable)this.Source).ReadXml(reader); } else { reader.Skip(); } if (reader.LocalName == "IsAnonymous" && !reader.IsEmptyElement) { this.IsAnonymous = reader.ReadElementContentAsBoolean(); } else { reader.Skip(); } if (!reader.IsEmptyElement) { MarkGroupId = reader.ReadElementContentAsInt(); } else { reader.Skip(); } if (!reader.IsEmptyElement) { SellerTreeId = reader.ReadElementContentAsInt(); } else { reader.Skip(); } if (!reader.IsEmptyElement) { IntermediateId = reader.ReadElementContentAsInt(); } else { reader.Skip(); } reader.ReadEndElement(); }
/// <summary> /// Lê os dados do xml para a instancia. /// </summary> /// <param name="reader"></param> void IXmlSerializable.ReadXml(System.Xml.XmlReader reader) { reader.ReadStartElement(); DefaultValueGroupId = int.Parse(reader.ReadElementString("DefaultValueGroupId")); FullName = reader.ReadElementString("FullName"); GroupRoleId = int.Parse(reader.ReadElementString("GroupRoleId")); IsAnonymous = reader.ReadElementContentAsBoolean(); ProfileSearchMode searchMode = ProfileSearchMode.All; if (Enum.TryParse <ProfileSearchMode>(reader.ReadElementString("SearchMode"), out searchMode)) { SearchMode = searchMode; } LastActivityDate = reader.ReadDateTimeOffset(); LastUpdatedDate = reader.ReadDateTimeOffset(); ProfileId = reader.ReadElementContentAsInt(); if (!reader.IsEmptyElement) { reader.ReadStartElement("Properties"); var properties = new List <ProfileProperty>(); var serializer = new XmlSerializer(typeof(ProfileProperty), new XmlRootAttribute("ProfileProperty")); while (reader.LocalName == "ProfileProperty" && reader.NodeType != System.Xml.XmlNodeType.EndElement) { properties.Add((ProfileProperty)serializer.Deserialize(reader)); } reader.ReadEndElement(); } else { reader.Skip(); } if (!reader.IsEmptyElement) { RoleSet = new ProfileRoleSet(); ((IXmlSerializable)RoleSet).ReadXml(reader); } else { reader.Skip(); } if (!reader.IsEmptyElement) { Source = new AuthenticationSource(); ((IXmlSerializable)Source).ReadXml(reader); } else { reader.Skip(); } SourceId = reader.ReadElementContentAsInt(); UserId = reader.ReadElementContentAsInt(); UserName = reader.ReadElementString("UserName"); if (!reader.IsEmptyElement) { MarkGroupId = reader.ReadElementContentAsInt(); } else { reader.Skip(); } if (!reader.IsEmptyElement) { SellerTreeId = reader.ReadElementContentAsInt(); } else { reader.Skip(); } if (!reader.IsEmptyElement) { IntermediateId = reader.ReadElementContentAsInt(); } else { reader.Skip(); } reader.ReadEndElement(); }