formatValues method

dynamic formatValues()

Implementation

formatValues(){
  fields.forEach((name, field) {
    List formats=List.empty(growable: true);
    if (field.containsKey(fieldFormats)) {
      formats=field[fieldFormats];
    }
    String type=field[fieldType];
    if(type==typeDate||type==typeDateTime||type==typeString){
      String value=getFieldValue(name).toString().trim();
      if(type==typeString){
        if(formats.contains(formatLowercase)){
          value=value.toLowerCase();
        }
        if(formats.contains(formatUppercase)){
          value=value.toUpperCase();
        }
        if(formats.contains(formatEncrypt)){
          value=EncryptionHelper.encrypt(value);
        }
      }
      else if(type==typeDate||type==typeDateTime){
        if(value=="NOW"){
          DateTime now = DateTime.now();
          DateFormat formatter = DateFormat('yyyy-MM-dd');
          if(type==typeDateTime){
            formatter=DateFormat('yyyy-MM-dd H:m:s');
          }
          value = formatter.format(now);
        }
      }
      field[fieldValue]=value;
    }
    else if(type==typeJson){
      if(!(field[fieldValue] is String)){
        if(field[fieldValue]==null){
          field[fieldValue]="";
        }
        else {
          field[fieldValue] = jsonEncode(field[fieldValue]);
        }
      }
    }
    fields[name]=field;
  });
}