PcoGivingRecurringDonation constructor

PcoGivingRecurringDonation({
  1. String? id,
  2. DateTime? createdAt,
  3. DateTime? updatedAt,
  4. DateTime? releaseHoldAt,
  5. int? amountCents,
  6. String? status,
  7. DateTime? lastDonationReceivedAt,
  8. DateTime? nextOccurrence,
  9. String? schedule,
  10. String? amountCurrency,
  11. Map<String, List<PcoResource>>? withRelationships,
  12. List<PcoResource>? withIncluded,
})

Create a new PcoGivingRecurringDonation object. This object cannot be created with the API

NOTES:

  • Creating an instance of a class this way does not save it on the server.
  • This object cannot be saved directly to the server.
  • Only set the id field if you know what you are doing. Save operations will overwrite data when the id is set.
  • Dummy data can be supplied for a required parameter, but if so, .save() should not be called on the object
  • FIELDS USED WHEN CREATING: none
  • FIELDS USED WHEN UPDATING: none

Implementation

factory PcoGivingRecurringDonation(
    {String? id,
    DateTime? createdAt,
    DateTime? updatedAt,
    DateTime? releaseHoldAt,
    int? amountCents,
    String? status,
    DateTime? lastDonationReceivedAt,
    DateTime? nextOccurrence,
    String? schedule,
    String? amountCurrency,
    Map<String, List<PcoResource>>? withRelationships,
    List<PcoResource>? withIncluded}) {
  var obj = PcoGivingRecurringDonation.empty();
  obj._id = id;
  if (createdAt != null)
    obj._attributes['created_at'] = createdAt.toIso8601String();
  if (updatedAt != null)
    obj._attributes['updated_at'] = updatedAt.toIso8601String();
  if (releaseHoldAt != null)
    obj._attributes['release_hold_at'] = releaseHoldAt.toIso8601String();
  if (amountCents != null) obj._attributes['amount_cents'] = amountCents;
  if (status != null) obj._attributes['status'] = status;
  if (lastDonationReceivedAt != null)
    obj._attributes['last_donation_received_at'] =
        lastDonationReceivedAt.toIso8601String();
  if (nextOccurrence != null)
    obj._attributes['next_occurrence'] = nextOccurrence.toIso8601String();
  if (schedule != null) obj._attributes['schedule'] = schedule;
  if (amountCurrency != null)
    obj._attributes['amount_currency'] = amountCurrency;

  if (withRelationships != null) {
    for (var r in withRelationships.entries) {
      obj._relationships[r.key] = r.value;
    }
    obj._hasManualRelationships = true;
  }

  if (withIncluded != null) {
    obj._included.addAll(withIncluded);
    obj._hasManualIncluded = true;
  }

  return obj;
}