BankReponse.fromMap constructor Null safety

BankReponse.fromMap(
  1. Map<String, dynamic> map
)

Implementation

BankReponse.fromMap(Map<String, dynamic> map){
  messageReference = map['MessageReference'];
  messageDateTime = DateTime.parse(map['MessageDateTime']);
  messageCode = map['MessageCode'];
  messageDescription = map['MessageDescription'];

  // for full statement, mini statement, transction, account balance
  accountNumber = map['AccountNumber'];
  accountName = map['AccountName'];

  // for transactions
  noOfTransactions = map['NoOfTransactions'];
  totalCredits = map['TotalCredits'];
  totalDebits = map['TotalDebits'];

  // for exchange rate
  fromCurrencyCode = map['FromCurrencyCode'];
  toCurrencyCode = map['ToCurrencyCode'];
  rateType = map['RateType'];
  rate = map['Rate'];
  tolerance = map['Tolerance'];
  multiplyDivide = map['MultiplyDivide'];


  // for balance
  currency = map['Currency'];
  productName = map['ProductName'];
  clearedBalance = map['ClearedBalance']?.toDouble();
  bookedBalance = map['BookedBalance']?.toDouble();
  blockedBalance = map['BlockedBalance']?.toDouble();
  availableBalance = map['AvailableBalance']?.toDouble();
  arrearsAmount = map['ArrearsAmount']?.toDouble();
  branchName = map['BranchName'];
  branchSortCode = map['BranchSortCode'];
  averageBalance = map['AverageBalance']?.toDouble();
  unclearedBalance = map['UnclearedBalance']?.toDouble();
  oDLimit = map['ODLimit']?.toDouble();
  creditLimit = map['CreditLimit']?.toDouble();

  transactions = (map['Transactions'] as List<Map>?)?.map((Map t) => BankTransactionModel.fromMap(t)).toList();

  // for transaction status
  source = map['Source'] != null ? Source.fromMap(map['Source']) : null;
  destinations = (map['Destinations'] as List<Map>?)?.map((Map d) => Destination.fromMap(d)).toList();

  rawResponceBody = map;

}