formatValues method

dynamic formatValues()

Implementation

formatValues(){
    fields.forEach((name, field) {
        List attributes=getFieldAttributes(name);
        String type=field[fieldType];
        if(type==typeDate||type==typeDateTime||type==typeString){
            String value=getFieldValue(name).toString().trim();
            if(type==typeString){
                if(attributes.contains(attributeLowercase)){
                    value=value.toLowerCase();
                }
                if(attributes.contains(attributeUppercase)){
                    value=value.toUpperCase();
                }
                if(attributes.contains(attributeEncrypted)){
                    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;
    });
}