import 'dart:convert';

class ResendOtpChangeTransPin {
  String? oldTransPincode;
  String? newTransPincode;
  String? channelCode;
  String? pctCstycode;
  String? porOrgacode;
  String? cmpCustcode;
  bool? isOtpRequire;
  String? pinType;

  ResendOtpChangeTransPin({
    this.oldTransPincode,
    this.newTransPincode,
    this.channelCode,
    this.pctCstycode,
    this.porOrgacode,
    this.cmpCustcode,
    this.isOtpRequire,
    this.pinType,
  });

  Map<String, dynamic> toMap() {
    final result = <String, dynamic>{};

    if (oldTransPincode != null) {
      result.addAll({'oldTransPincode': oldTransPincode});
    }
    if (newTransPincode != null) {
      result.addAll({'newTransPincode': newTransPincode});
    }
    if (channelCode != null) {
      result.addAll({'channelCode': channelCode});
    }
    if (pctCstycode != null) {
      result.addAll({'pctCstycode': pctCstycode});
    }
    if (porOrgacode != null) {
      result.addAll({'porOrgacode': porOrgacode});
    }
    if (cmpCustcode != null) {
      result.addAll({'cmpCustcode': cmpCustcode});
    }
    if (isOtpRequire != null) {
      result.addAll({'isOtpRequire': isOtpRequire});
    }
    if (pinType != null) {
      result.addAll({'pinType': pinType});
    }

    return result;
  }

  factory ResendOtpChangeTransPin.fromMap(Map<String, dynamic> map) {
    return ResendOtpChangeTransPin(
      oldTransPincode: map['oldTransPincode'],
      newTransPincode: map['newTransPincode'],
      channelCode: map['channelCode'],
      pctCstycode: map['pctCstycode'],
      porOrgacode: map['porOrgacode'],
      cmpCustcode: map['cmpCustcode'],
      isOtpRequire: map['isOtpRequire'],
      pinType: map['pinType'],
    );
  }

  String toJson() => json.encode(toMap());

  factory ResendOtpChangeTransPin.fromJson(String source) =>
      ResendOtpChangeTransPin.fromMap(json.decode(source));
}
