/// <summary> /// Extracts AddRemType object from XML element /// </summary> /// <param name="addRemElement">AddRemType XML element</param> /// <returns>AddRemType object</returns> public static HostAddRemType Extract(XElement addRemElement) { var addresses = addRemElement .Elements() .Where(elem => elem.Name.LocalName == "addr") .Select(addr => IpAddress.Extract(addr)); var statuses = addRemElement .Elements() .Where(elem => elem.Name.LocalName == "status") .Select(status => StatusInfo.Extract(status)); HostAddRemType addRemType; if (addresses != null) { addRemType = new HostAddRemType(addresses.ToList()); if (statuses != null) { addRemType.Statuses = statuses.ToList(); } } else { addRemType = new HostAddRemType(statuses.ToList()); } return(addRemType); }
/// <summary> /// Extracts data from XML element /// </summary> /// <param name="objectElement">Object XML element</param> public void Extract(XElement objectElement) { this.Name = GetValueByName(objectElement, "name"); this.Roid = objectElement.Element(SchemaHelper.HostNs.GetName("roid")).Value; this.Status = objectElement .Elements() .Where(elem => elem.Name.LocalName == "status") .Select(status => StatusInfo.Extract(status)) .ToList(); this.IPAddress = objectElement .Elements() .Where(elem => elem.Name.LocalName == "addr") .Select(addr => IpAddress.Extract(addr)) .ToList(); var clientIdElem = objectElement.Element(SchemaHelper.HostNs.GetName("clID")); this.ClientId = clientIdElem == null ? null : clientIdElem.Value; var createIdElem = objectElement.Element(SchemaHelper.HostNs.GetName("crID")); this.CreateId = createIdElem == null ? null : createIdElem.Value; var crdDateElem = objectElement.Element(SchemaHelper.HostNs.GetName("crDate")); this.CreateDate = crdDateElem == null ? (DateTime?)null : DateTime.Parse(crdDateElem.Value).ToUniversalTime(); var updIdElem = objectElement.Element(SchemaHelper.HostNs.GetName("upID")); this.UpdateId = updIdElem == null ? null : updIdElem.Value; var updDateElem = objectElement.Element(SchemaHelper.HostNs.GetName("upDate")); this.UpdateDate = updDateElem == null ? (DateTime?)null : DateTime.Parse(updDateElem.Value).ToUniversalTime(); var tranDateElem = objectElement.Element(SchemaHelper.HostNs.GetName("trDate")); this.TransferDate = tranDateElem == null ? (DateTime?)null : DateTime.Parse(tranDateElem.Value).ToUniversalTime(); }
/// <summary> /// Extracts data from XML element /// </summary> /// <param name="objectElement">Object XML element</param> public void Extract(XElement objectElement) { this.Id = objectElement.Element(SchemaHelper.ContactNs.GetName("id")).Value; this.Roid = objectElement.Element(SchemaHelper.ContactNs.GetName("roid")).Value; this.Status = objectElement .Elements(SchemaHelper.ContactNs.GetName("status")) .Select(status => StatusInfo.Extract(status)) .ToList(); this.PostalInfos = objectElement.Elements(SchemaHelper.ContactNs.GetName("postalInfo")) .Select(pos => PostalInfo.Extract(pos)) .ToList(); this.Voice = objectElement .Elements(SchemaHelper.ContactNs.GetName("voice")) .Select(voice => VoiceInfo.Extract(voice)) .FirstOrDefault(); this.Fax = objectElement .Elements(SchemaHelper.ContactNs.GetName("fax")) .Select(fax => fax.Value) .FirstOrDefault(); var email = objectElement.Element(SchemaHelper.ContactNs.GetName("email")); this.Email = email == null ? null : email.Value; var clientId = objectElement.Element(SchemaHelper.ContactNs.GetName("clID")); this.ClientId = clientId == null ? null : clientId.Value; var creadteId = objectElement.Element(SchemaHelper.ContactNs.GetName("crID")); this.CreateId = creadteId == null ? null : creadteId.Value; var createDate = objectElement.Element(SchemaHelper.ContactNs.GetName("crDate")); this.CreateDate = createDate == null ? (DateTime?)null : DateTime.Parse(createDate.Value).ToUniversalTime(); var updateIdElement = objectElement.Element(SchemaHelper.ContactNs.GetName("upID")); this.UpdateId = updateIdElement == null ? null : updateIdElement.Value; var updateDateElement = objectElement.Element(SchemaHelper.ContactNs.GetName("upDate")); this.UpdateDate = updateDateElement == null ? (DateTime?)null : DateTime.Parse(updateDateElement.Value).ToUniversalTime(); var transferDateElement = objectElement.Element(SchemaHelper.ContactNs.GetName("trDate")); this.TransferDate = transferDateElement == null ? (DateTime?)null : DateTime.Parse(transferDateElement.Value).ToUniversalTime(); this.Auth = objectElement .Elements(SchemaHelper.ContactNs.GetName("authInfo")) .Select(authInfo => AuthInfo.Extract(authInfo)) .FirstOrDefault(); this.Disclose = objectElement .Elements(SchemaHelper.ContactNs.GetName("disclose")) .Select(dis => { bool discloseFlag; if (!Boolean.TryParse(dis.Attribute("flag").Value, out discloseFlag)) { discloseFlag = Int32.Parse(dis.Attribute("flag").Value) != 0; } var disclose = new Disclose(discloseFlag); if (dis.Elements() != null) { var elements = new List <string>(); foreach (var element in dis.Elements()) { elements.Add(element.Name.LocalName); } disclose.DisclosingFields = elements; } return(disclose); }) .FirstOrDefault(); }