class ActionUIField {
  int? id;
  String? name;
  String? unit;
  String? description;
  int? activityTypeId;
  int? tbCustomerId;
  int? tbControlTypeId;
  String? tbControlTypeName;
  int? tbActivityExtendTypeId;
  String? tbActivityExtendTypeName;
  String? tbActivityExtendTypeExternalTable;
  String? tbActivityExtendTypeObjectType;
  String? tbActivityExtendTypeCondition;
  String? relationTable;
  String? foreignKey;
  bool? isGuidelineUsing;
  bool? isMandatory;
  String? groupName;
  List<TbActivityExtendTypeDropDownDTO>? tbActivityExtendTypeDropDownDTOList;

  ActionUIField(
      {this.id,
      this.name,
      this.unit,
      this.description,
      this.activityTypeId,
      this.tbCustomerId,
      this.tbControlTypeId,
      this.tbControlTypeName,
      this.tbActivityExtendTypeId,
      this.tbActivityExtendTypeName,
      this.tbActivityExtendTypeExternalTable,
      this.tbActivityExtendTypeObjectType,
      this.tbActivityExtendTypeCondition,
      this.relationTable,
      this.foreignKey,
      this.isGuidelineUsing,
      this.isMandatory,
      this.groupName,
      this.tbActivityExtendTypeDropDownDTOList});

  ActionUIField.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    name = json['name'];
    unit = json['unit'];
    description = json['description'];
    activityTypeId = json['activityTypeId'];
    tbCustomerId = json['tbCustomerId'];
    tbControlTypeId = json['tbControlTypeId'];
    tbControlTypeName = json['tbControlTypeName'];
    tbActivityExtendTypeId = json['tbActivityExtendTypeId'];
    tbActivityExtendTypeName = json['tbActivityExtendTypeName'];
    tbActivityExtendTypeExternalTable = json['tbActivityExtendTypeExternalTable'];
    tbActivityExtendTypeObjectType = json['tbActivityExtendTypeObjectType'];
    tbActivityExtendTypeCondition = json['tbActivityExtendTypeCondition'];
    relationTable = json['relationTable'];
    foreignKey = json['foreignKey'];
    isGuidelineUsing = json['isGuidelineUsing'];
    isMandatory = json['isMandatory'];
    groupName = json['groupName'];
    if (json['tbActivityExtendTypeDropDownDTOList'] != null) {
      tbActivityExtendTypeDropDownDTOList = <TbActivityExtendTypeDropDownDTO>[];
      json['tbActivityExtendTypeDropDownDTOList'].forEach((v) {
        tbActivityExtendTypeDropDownDTOList?.add(new TbActivityExtendTypeDropDownDTO.fromJson(v));
      });
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['id'] = this.id;
    data['name'] = this.name;
    data['unit'] = this.unit;
    data['description'] = this.description;
    data['activityTypeId'] = this.activityTypeId;
    data['tbCustomerId'] = this.tbCustomerId;
    data['tbControlTypeId'] = this.tbControlTypeId;
    data['tbControlTypeName'] = this.tbControlTypeName;
    data['tbActivityExtendTypeId'] = this.tbActivityExtendTypeId;
    data['tbActivityExtendTypeName'] = this.tbActivityExtendTypeName;
    data['tbActivityExtendTypeExternalTable'] = this.tbActivityExtendTypeExternalTable;
    data['tbActivityExtendTypeObjectType'] = this.tbActivityExtendTypeObjectType;
    data['tbActivityExtendTypeCondition'] = this.tbActivityExtendTypeCondition;
    data['relationTable'] = this.relationTable;
    data['foreignKey'] = this.foreignKey;
    data['isGuidelineUsing'] = this.isGuidelineUsing;
    data['isMandatory'] = this.isMandatory;
    data['groupName'] = this.groupName;
    if (this.tbActivityExtendTypeDropDownDTOList != null) {
      data['tbActivityExtendTypeDropDownDTOList'] = this.tbActivityExtendTypeDropDownDTOList?.map((v) => v.toJson()).toList();
    }
    return data;
  }
}

class TbActivityExtendTypeDropDownDTO {
  int? id;
  String? description;
  String? name;

  TbActivityExtendTypeDropDownDTO({this.id, this.description, this.name});

  TbActivityExtendTypeDropDownDTO.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    description = json['description'];
    name = json['name'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['id'] = this.id;
    data['description'] = this.description;
    data['name'] = this.name;
    return data;
  }
}
