internal static ExpenseApiModel DeserializeExpenseApiModel(XElement element) { long? aeatAprovedFileId = default; double? amount = default; double? computablePercentage = default; string concept = default; DateTimeOffset? creationTime = default; int? expenseClass = default; string expenseClassDescription = default; DateTimeOffset? expenseDate = default; DocumentPaymentApiModel expensePayment = default; bool? hasAeatAprovedFile = default; long? id = default; ExpenseEntity issuer = default; DateTimeOffset? modificationTime = default; string notes = default; string number = default; string period = default; if (element.Element("aeatAprovedFileId") is XElement aeatAprovedFileIdElement) { aeatAprovedFileId = (long?)aeatAprovedFileIdElement; } if (element.Element("amount") is XElement amountElement) { amount = (double?)amountElement; } if (element.Element("computablePercentage") is XElement computablePercentageElement) { computablePercentage = (double?)computablePercentageElement; } if (element.Element("concept") is XElement conceptElement) { concept = (string)conceptElement; } if (element.Element("creationTime") is XElement creationTimeElement) { creationTime = creationTimeElement.GetDateTimeOffsetValue("O"); } if (element.Element("expenseClass") is XElement expenseClassElement) { expenseClass = (int?)expenseClassElement; } if (element.Element("expenseClassDescription") is XElement expenseClassDescriptionElement) { expenseClassDescription = (string)expenseClassDescriptionElement; } if (element.Element("expenseDate") is XElement expenseDateElement) { expenseDate = expenseDateElement.GetDateTimeOffsetValue("O"); } if (element.Element("expensePayment") is XElement expensePaymentElement) { expensePayment = DocumentPaymentApiModel.DeserializeDocumentPaymentApiModel(expensePaymentElement); } if (element.Element("hasAeatAprovedFile") is XElement hasAeatAprovedFileElement) { hasAeatAprovedFile = (bool?)hasAeatAprovedFileElement; } if (element.Element("id") is XElement idElement) { id = (long?)idElement; } if (element.Element("issuer") is XElement issuerElement) { issuer = ExpenseEntity.DeserializeExpenseEntity(issuerElement); } if (element.Element("modificationTime") is XElement modificationTimeElement) { modificationTime = modificationTimeElement.GetDateTimeOffsetValue("O"); } if (element.Element("notes") is XElement notesElement) { notes = (string)notesElement; } if (element.Element("number") is XElement numberElement) { number = (string)numberElement; } if (element.Element("period") is XElement periodElement) { period = (string)periodElement; } return(new ExpenseApiModel(aeatAprovedFileId, amount, computablePercentage, concept, creationTime, expenseClass, expenseClassDescription, expenseDate, expensePayment, hasAeatAprovedFile, id, issuer, modificationTime, notes, number, period)); }
internal static ExpenseApiModel DeserializeExpenseApiModel(JsonElement element) { Optional <long> aeatAprovedFileId = default; Optional <double> amount = default; Optional <double> computablePercentage = default; Optional <string> concept = default; Optional <DateTimeOffset> creationTime = default; Optional <int> expenseClass = default; Optional <string> expenseClassDescription = default; Optional <DateTimeOffset> expenseDate = default; Optional <DocumentPaymentApiModel> expensePayment = default; Optional <bool> hasAeatAprovedFile = default; Optional <long> id = default; Optional <ExpenseEntity> issuer = default; Optional <DateTimeOffset> modificationTime = default; Optional <string> notes = default; Optional <string> number = default; Optional <string> period = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("aeatAprovedFileId")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } aeatAprovedFileId = property.Value.GetInt64(); continue; } if (property.NameEquals("amount")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } amount = property.Value.GetDouble(); continue; } if (property.NameEquals("computablePercentage")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } computablePercentage = property.Value.GetDouble(); continue; } if (property.NameEquals("concept")) { concept = property.Value.GetString(); continue; } if (property.NameEquals("creationTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } creationTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("expenseClass")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } expenseClass = property.Value.GetInt32(); continue; } if (property.NameEquals("expenseClassDescription")) { expenseClassDescription = property.Value.GetString(); continue; } if (property.NameEquals("expenseDate")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } expenseDate = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("expensePayment")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } expensePayment = DocumentPaymentApiModel.DeserializeDocumentPaymentApiModel(property.Value); continue; } if (property.NameEquals("hasAeatAprovedFile")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } hasAeatAprovedFile = property.Value.GetBoolean(); continue; } if (property.NameEquals("id")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } id = property.Value.GetInt64(); continue; } if (property.NameEquals("issuer")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } issuer = ExpenseEntity.DeserializeExpenseEntity(property.Value); continue; } if (property.NameEquals("modificationTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } modificationTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("notes")) { notes = property.Value.GetString(); continue; } if (property.NameEquals("number")) { number = property.Value.GetString(); continue; } if (property.NameEquals("period")) { period = property.Value.GetString(); continue; } } return(new ExpenseApiModel(Optional.ToNullable(aeatAprovedFileId), Optional.ToNullable(amount), Optional.ToNullable(computablePercentage), concept.Value, Optional.ToNullable(creationTime), Optional.ToNullable(expenseClass), expenseClassDescription.Value, Optional.ToNullable(expenseDate), expensePayment.Value, Optional.ToNullable(hasAeatAprovedFile), Optional.ToNullable(id), issuer.Value, Optional.ToNullable(modificationTime), notes.Value, number.Value, period.Value)); }