/// <summary> /// Extracts data from XML element /// </summary> /// <param name="objectElement">Object XML element</param> public void Extract(XElement objectElement) { this.Balance = decimal.Parse(objectElement.Element(SchemaHelper.FinanceNs.GetName("balance")).Value); this.Thresholds = objectElement .Elements(SchemaHelper.FinanceNs.GetName("threshold")) .Select(thElem => { var type = EnumParser.ToEnum <ThresholdTypes>((string)thElem.Attribute("type").Value); var val = decimal.Parse(thElem.Value); return(new ThresholdInfo() { Type = type, Value = val }); }) .ToList(); }
/// <summary> /// Extracts data from XML element /// </summary> /// <param name="objectElement">Object XML element</param> public void Extract(XElement objectElement) { this.DomainName = objectElement.Element(SchemaHelper.DomainNs.GetName("name")).Value; this.ROID = objectElement.Element(SchemaHelper.DomainNs.GetName("roid")).Value; this.Statuses = objectElement .Elements(SchemaHelper.DomainNs.GetName("status")) .Select(statusElem => { var status = EnumParser.ToEnum <Status>((string)statusElem.Attribute("s").Value); var statusText = statusElem.Value; var langAttribute = statusElem.Attribute("lang"); var lang = langAttribute == null ? "en" : langAttribute.Value; return(new StatusInfo(status, statusText, lang)); }) .ToList(); var registrantElem = objectElement.Element(SchemaHelper.DomainNs.GetName("registrant")); this.Registrant = registrantElem == null ? null : registrantElem.Value; this.Contacts = objectElement .Elements(SchemaHelper.DomainNs.GetName("contact")) .Select(contactElem => DomainContactInfo.Extract(contactElem)) .ToList(); var nameServersElement = objectElement.Element(SchemaHelper.DomainNs.GetName("ns")); this.NameServers = nameServersElement != null?NameServerList.Extract(nameServersElement) : new NameServerList(); this.Hosts = objectElement.Elements(SchemaHelper.DomainNs.GetName("host")).Select(elem => elem.Value).ToList(); this.SponsoringClientId = objectElement.Element(SchemaHelper.DomainNs.GetName("clID")).Value; var creatorIDElem = objectElement.Element(SchemaHelper.DomainNs.GetName("crID")); this.CreatorClientId = creatorIDElem == null ? null : creatorIDElem.Value; var creationDateElem = objectElement.Element(SchemaHelper.DomainNs.GetName("crDate")); this.CreationDate = creationDateElem == null ? (DateTime?)null : DateTime.Parse(creationDateElem.Value).ToUniversalTime(); var expirationDateElem = objectElement.Element(SchemaHelper.DomainNs.GetName("exDate")); this.ExpirationDate = expirationDateElem == null ? (DateTime?)null : DateTime.Parse(expirationDateElem.Value).ToUniversalTime(); var updaterIDElem = objectElement.Element(SchemaHelper.DomainNs.GetName("upID")); this.UpdaterClientId = updaterIDElem == null ? null : updaterIDElem.Value; var updateDateElem = objectElement.Element(SchemaHelper.DomainNs.GetName("upDate")); this.UpdateDate = updateDateElem == null ? (DateTime?)null : DateTime.Parse(updateDateElem.Value).ToUniversalTime(); var transDateElem = objectElement.Element(SchemaHelper.DomainNs.GetName("trDate")); this.TransferDate = transDateElem == null ? (DateTime?)null : DateTime.Parse(transDateElem.Value).ToUniversalTime(); var authInfoElem = objectElement.Element(SchemaHelper.DomainNs.GetName("authInfo")); if (authInfoElem != null) { this.AuthInfo = AuthInfo.Extract(authInfoElem); } }