class AccountStatementResponseModel {
  int id = 0;
  String porOrgacode = "";
  String drMbmBkmsnumber = "";
  String sgtReceiveNodeId  = "";
  String sgtSentNodeId = "";
  bool batAcnttranReversed = false;
  String crMbmBkmsnumber = "";
  String dmpProdcode = "";
  double crMbmBkmsbalance = 0.0;
  double drMbmBkmsbalance = 0.0;
  String drmbmBkmstitle = "";
  String cmpCustcode = "";
  String crMbmBkmstitle = "";
  String sgtSentGntrnumber = "";
  String drSgtGntrdate = "";
  String? crSgtGntrdate = "";
  double sgtGntramt = 0.0;
  bool batAcnttranSend = false;
  bool batAcnttranReceived = false;
  String? sgtReceiveGntrnumber = "";
  String drpcrCurrdesc = "";
  String drPcrCurrcode = "";
  String drPcrCurrshort = "";
  String crPcrCurrdesc = "";
  String crPcrCurrcode = "";
  String crPcrCurrshort = "";

  AccountStatementResponseModel({this.id = 0, this.porOrgacode = "", this.sgtReceiveNodeId = "" ,this.batAcnttranReversed = false, this.sgtSentNodeId ="",this.drMbmBkmsnumber = "", this.crMbmBkmsnumber = "", this.dmpProdcode = "", this.crMbmBkmsbalance = 0.0, this.drMbmBkmsbalance = 0.0, this.drmbmBkmstitle = "", this.cmpCustcode = "", this.crMbmBkmstitle = "", this.sgtSentGntrnumber = "", this.drSgtGntrdate = "", this.crSgtGntrdate = "", this.sgtGntramt = 0.0, this.batAcnttranSend = false, this.batAcnttranReceived = false, this.sgtReceiveGntrnumber = "", this.drpcrCurrdesc = "", this.drPcrCurrcode = "", this.drPcrCurrshort = "", this.crPcrCurrdesc = "", this.crPcrCurrcode = "", this.crPcrCurrshort = ""});

  AccountStatementResponseModel.empty()
      : this.id = 0,
        this.porOrgacode = "",
        this.drMbmBkmsnumber = "",
        this.crMbmBkmsnumber = "",
        this.sgtReceiveNodeId  = "",
        this.sgtSentNodeId = "",
        this.batAcnttranReversed = false,
        this.dmpProdcode = "",
        this.crMbmBkmsbalance = 0.0,
        this.drMbmBkmsbalance = 0.0,
        this.drmbmBkmstitle = "",
        this.batAcnttranSend = false,
        this.cmpCustcode = "",
        this.crMbmBkmstitle = "",
        this.sgtSentGntrnumber = "",
        this.drSgtGntrdate = "",
        this.crSgtGntrdate = "",
        this.sgtGntramt = 0.0,
        this.batAcnttranReceived = false,
        this.sgtReceiveGntrnumber = "",
        this.drpcrCurrdesc = "",
        this.drPcrCurrcode = "",
        this.drPcrCurrshort = "",
        this.crPcrCurrdesc = "",
        this.crPcrCurrcode = "",
        this.crPcrCurrshort = "";

  Map<String, dynamic> toMap() {
    return {
      'id': this.id,
      'porOrgacode': this.porOrgacode,
      'drMbmBkmsnumber': this.drMbmBkmsnumber,
      'sgtReceiveNodeId': this.sgtReceiveNodeId,
      'sgtSentNodeId': this.sgtSentNodeId,
      'batAcnttranReversed': this.batAcnttranReversed,
      'crMbmBkmsnumber': this.crMbmBkmsnumber,
      'dmpProdcode': this.dmpProdcode,
      'crMbmBkmsbalance': this.crMbmBkmsbalance,
      'drMbmBkmsbalance': this.drMbmBkmsbalance,
      'drmbmBkmstitle': this.drmbmBkmstitle,
      'cmpCustcode': this.cmpCustcode,
      'crMbmBkmstitle': this.crMbmBkmstitle,
      'sgtSentGntrnumber': this.sgtSentGntrnumber,
      'drSgtGntrdate': this.drSgtGntrdate,
      'crSgtGntrdate': this.crSgtGntrdate,
      'sgtGntramt': this.sgtGntramt,
      'batAcnttranSend': this.batAcnttranSend,
      'batAcnttranReceived': this.batAcnttranReceived,
      'sgtReceiveGntrnumber': this.sgtReceiveGntrnumber,
      'drpcrCurrdesc': this.drpcrCurrdesc,
      'drPcrCurrcode': this.drPcrCurrcode,
      'drPcrCurrshort': this.drPcrCurrshort,
      'crPcrCurrdesc': this.crPcrCurrdesc,
      'crPcrCurrcode': this.crPcrCurrcode,
      'crPcrCurrshort': this.crPcrCurrshort,
    };
  }

  factory AccountStatementResponseModel.fromMap(Map<String, dynamic> map) {
    return AccountStatementResponseModel(
      id: map['id'] as int,
      porOrgacode: map['porOrgacode'] ?? "",
      drMbmBkmsnumber: map['drMbmBkmsnumber'] ?? "",
      sgtReceiveNodeId : map['sgtReceiveNodeId'] ?? "",
      sgtSentNodeId : map['sgtSentNodeId'] ?? "",
      batAcnttranReversed : map['batAcnttranReversed'] ?? false,
      crMbmBkmsnumber: map['crMbmBkmsnumber'] ?? "",
      dmpProdcode: map['dmpProdcode'] ?? "",
      crMbmBkmsbalance: map['crMbmBkmsbalance'] ?? 0.0,
      drMbmBkmsbalance: map['drMbmBkmsbalance'] ?? 0.0,
      drmbmBkmstitle: map['drmbmBkmstitle'] ?? "",
      cmpCustcode: map['cmpCustcode'] ?? "",
      crMbmBkmstitle: map['crMbmBkmstitle'] ?? "",
      sgtSentGntrnumber: map['sgtSentGntrnumber'] ?? "",
      drSgtGntrdate: map['drSgtGntrdate'] ?? "",
      crSgtGntrdate: map['crSgtGntrdate'] ?? "",
      sgtGntramt: map['sgtGntramt'] ?? 0.0,
      batAcnttranSend: map['batAcnttranSend'] ?? false,
      batAcnttranReceived: map['batAcnttranReceived'] ?? false,
      sgtReceiveGntrnumber: map['sgtReceiveGntrnumber'] ?? "",
      drpcrCurrdesc: map['drpcrCurrdesc'] ?? "",
      drPcrCurrcode: map['drPcrCurrcode'] ?? "",
      drPcrCurrshort: map['drPcrCurrshort'] ?? "",
      crPcrCurrdesc: map['crPcrCurrdesc'] ?? "",
      crPcrCurrcode: map['crPcrCurrcode'] ?? "",
      crPcrCurrshort: map['crPcrCurrshort'] ?? "",
    );
  }

  @override
  String toString() {
    return 'AccountStatementResponseModel{id: $id, porOrgacode: $porOrgacode, drMbmBkmsnumber: $drMbmBkmsnumber, sgtReceiveNodeId: $sgtReceiveNodeId, sgtSentNodeId: $sgtSentNodeId, batAcnttranReversed: $batAcnttranReversed, crMbmBkmsnumber: $crMbmBkmsnumber, dmpProdcode: $dmpProdcode, crMbmBkmsbalance: $crMbmBkmsbalance, drMbmBkmsbalance: $drMbmBkmsbalance, drmbmBkmstitle: $drmbmBkmstitle, cmpCustcode: $cmpCustcode, crMbmBkmstitle: $crMbmBkmstitle, sgtSentGntrnumber: $sgtSentGntrnumber, drSgtGntrdate: $drSgtGntrdate, crSgtGntrdate: $crSgtGntrdate, sgtGntramt: $sgtGntramt, batAcnttranSend: $batAcnttranSend, batAcnttranReceived: $batAcnttranReceived, sgtReceiveGntrnumber: $sgtReceiveGntrnumber, drpcrCurrdesc: $drpcrCurrdesc, drPcrCurrcode: $drPcrCurrcode, drPcrCurrshort: $drPcrCurrshort, crPcrCurrdesc: $crPcrCurrdesc, crPcrCurrcode: $crPcrCurrcode, crPcrCurrshort: $crPcrCurrshort}';
  }
}
