Esempio n. 1
0
 /// <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();
 }
Esempio n. 2
0
        /// <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);
            }
        }