internal override void ReadXml(XmlTextReader reader)
{
while (reader.Read())
{
if (reader.Name == "account" && reader.NodeType == XmlNodeType.EndElement)
break;
if (reader.NodeType != XmlNodeType.Element) continue;
switch (reader.Name)
{
case "account_code":
AccountCode = reader.ReadElementContentAsString();
break;
case "state":
// TODO investigate in case of incoming data representing multiple states, as https://dev.recurly.com/docs/get-account says is possible
State = reader.ReadElementContentAsString().ParseAsEnum<AccountState>();
break;
case "username":
Username = reader.ReadElementContentAsString();
break;
case "email":
Email = reader.ReadElementContentAsString();
break;
case "first_name":
FirstName = reader.ReadElementContentAsString();
break;
case "last_name":
LastName = reader.ReadElementContentAsString();
break;
case "company_name":
CompanyName = reader.ReadElementContentAsString();
break;
case "vat_number":
VatNumber = reader.ReadElementContentAsString();
break;
case "tax_exempt":
TaxExempt = reader.ReadElementContentAsBoolean();
break;
case "entity_use_code":
EntityUseCode = reader.ReadElementContentAsString();
break;
case "accept_language":
AcceptLanguage = reader.ReadElementContentAsString();
break;
case "cc_emails":
CcEmails = reader.ReadElementContentAsString();
break;
case "hosted_login_token":
HostedLoginToken = reader.ReadElementContentAsString();
break;
case "created_at":
CreatedAt = reader.ReadElementContentAsDateTime();
break;
case "updated_at":
UpdatedAt = reader.ReadElementContentAsDateTime();
break;
case "address":
Address = new Address(reader);
break;
case "vat_location_valid":
if (reader.GetAttribute("nil") == null)
{
VatLocationValid = reader.ReadElementContentAsBoolean();
}
break;
}
}
}