copyWith method
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,
);
}