copyWith method

PlanRequestMessage copyWith({
  1. String? name,
  2. String? uniqueIdentifier,
  3. int? cycle,
  4. String? intervalType,
  5. String? currencyTypeName,
  6. int? valueInCents,
  7. String? paymentMethod,
  8. List<PlanPrice>? prices,
  9. List<PlanFeature>? features,
})
Plan request message Nome do plano Identificador do plano Ex: basic_plan, 1x Valor positivo, que representa de quanto em quanto tempo se aplica o intervalo Ex: ciclo 1, intervalo mensal (a cada mês) Tipo do intervalo, Mensal ou Semanal valor do plano em centavos moeda utilizada, atualmente suportamos apenas Real Plan request message Nome do plano Identificador do plano Ex: basic_plan, 1x De quanto em quanto tempo se aplica o intervalo Ex: ciclo 1, intervalo mensal (a cada mês) Tipo do intervalo, Mensal ou Semanal valor do plano em centavos

Implementation

//  PlanRequestMessage(String name, String uniqueIdentifier, int cycle, PlanIntervalType interval, int valueInCents, CurrencyType currency)
// {
//     Name = name;
//     UniqueIdentifier = uniqueIdentifier;
//     Cycle = cycle;
//     IntervalType = _iuguAvailableInterval[interval];
//     ValueInCents = valueInCents;
//     CurrencyTypeName = _iuguAvailableCurrency[currency];
// }

/// <summary>
/// Plan request message
/// </summary>
/// <param name="name">Nome do plano</param>
/// <param name="uniqueIdentifier">Identificador do plano Ex: basic_plan, 1x</param>
/// <param name="cycle">De quanto em quanto tempo se aplica o intervalo Ex: ciclo 1, intervalo mensal (a cada mês)</param>
/// <param name="interval">Tipo do intervalo, Mensal ou Semanal</param>
/// <param name="valueInCents">valor do plano em centavos</param>
//  PlanRequestMessage(String name, String uniqueIdentifier, int cycle, PlanIntervalType interval, int valueInCents) :
//     this(name, uniqueIdentifier, cycle, interval, valueInCents, CurrencyType.BRL)
// {
// }

PlanRequestMessage copyWith({
  String? name,
  String? uniqueIdentifier,
  int? cycle,
  String? intervalType,
  String? currencyTypeName,
  int? valueInCents,
  String? paymentMethod,
  List<PlanPrice>? prices,
  List<PlanFeature>? features,
}) {
  return PlanRequestMessage(
    name: name ?? this.name,
    uniqueIdentifier: uniqueIdentifier ?? this.uniqueIdentifier,
    cycle: cycle ?? this.cycle,
    intervalType: intervalType ?? this.intervalType,
    currencyTypeName: currencyTypeName ?? this.currencyTypeName,
    valueInCents: valueInCents ?? this.valueInCents,
    paymentMethod: paymentMethod ?? this.paymentMethod,
    prices: prices ?? this.prices,
    features: features ?? this.features,
  );
}