internal static UserInvitationApiModel DeserializeUserInvitationApiModel(XElement element) { string email = default; DateTimeOffset? expirationTime = default; long? id = default; UserInvitationApiModelRole?role = default; if (element.Element("email") is XElement emailElement) { email = (string)emailElement; } if (element.Element("expirationTime") is XElement expirationTimeElement) { expirationTime = expirationTimeElement.GetDateTimeOffsetValue("O"); } if (element.Element("id") is XElement idElement) { id = (long?)idElement; } if (element.Element("role") is XElement roleElement) { role = new UserInvitationApiModelRole(roleElement.Value); } return(new UserInvitationApiModel(email, expirationTime, id, role)); }
internal static UserInvitationApiModel DeserializeUserInvitationApiModel(JsonElement element) { Optional <string> email = default; Optional <DateTimeOffset> expirationTime = default; Optional <long> id = default; Optional <UserInvitationApiModelRole> role = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("email")) { email = property.Value.GetString(); continue; } if (property.NameEquals("expirationTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } expirationTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("id")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } id = property.Value.GetInt64(); continue; } if (property.NameEquals("role")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } role = new UserInvitationApiModelRole(property.Value.GetString()); continue; } } return(new UserInvitationApiModel(email.Value, Optional.ToNullable(expirationTime), Optional.ToNullable(id), Optional.ToNullable(role))); }