// To parse this JSON data, do
//
//     final generalDesc = generalDescFromJson(jsonString);

import 'dart:convert';

GeneralDesc generalDescFromJson(String str) =>
    GeneralDesc.fromJson(json.decode(str));

String generalDescToJson(GeneralDesc data) => json.encode(data.toJson());

class GeneralDesc {
  final int? id;
  final int? bldgapprDetailsId;
  final String? assessedById;
  final String? assessedByName;
  final String? dateCreated;
  final String? dateModified;
  final String? bldgKind;
  final String? strucType;
  final String? bldgPermit;
  final String? dateIssued;
  final String? cct;
  final String? certCompletionIssued;
  final String? certOccupancyIssued;
  final String? dateCompleted;
  final String? dateOccupied;
  final String? bldgAge;
  final String? noStoreys;
  final String? area1Stfloor;
  final String? area2Ndfloor;
  final String? area3Rdfloor;
  final String? area4Thfloor;
  final String? totalFloorArea;
  final dynamic floorSketch;
  final String? actualUse;
  final String? unitValue;
  final String? genCode;

  GeneralDesc({
    this.id,
    this.bldgapprDetailsId,
    this.assessedById,
    this.assessedByName,
    this.dateCreated,
    this.dateModified,
    this.bldgKind,
    this.strucType,
    this.bldgPermit,
    this.dateIssued,
    this.cct,
    this.certCompletionIssued,
    this.certOccupancyIssued,
    this.dateCompleted,
    this.dateOccupied,
    this.bldgAge,
    this.noStoreys,
    this.area1Stfloor,
    this.area2Ndfloor,
    this.area3Rdfloor,
    this.area4Thfloor,
    this.totalFloorArea,
    this.floorSketch,
    this.actualUse,
    this.unitValue,
    this.genCode,
  });

  GeneralDesc copy({
    int? id,
    int? bldgapprDetailsId,
    String? assessedById,
    String? assessedByName,
    String? dateCreated,
    String? dateModified,
    String? bldgKind,
    String? strucType,
    String? bldgPermit,
    String? dateIssued,
    String? cct,
    String? certCompletionIssued,
    String? certOccupancyIssued,
    String? dateCompleted,
    String? dateOccupied,
    String? bldgAge,
    String? noStoreys,
    String? area1Stfloor,
    String? area2Ndfloor,
    String? area3Rdfloor,
    String? area4Thfloor,
    String? totalFloorArea,
    dynamic floorSketch,
    String? actualUse,
    String? unitValue,
    String? genCode,
  }) {
    return GeneralDesc(
      id: id ?? this.id,
      bldgapprDetailsId: bldgapprDetailsId ?? this.bldgapprDetailsId,
      assessedById: assessedById ?? this.assessedById,
      assessedByName: assessedByName ?? this.assessedByName,
      dateCreated: dateCreated ?? this.dateCreated,
      dateModified: dateModified ?? this.dateModified,
      bldgKind: bldgKind ?? this.bldgKind,
      strucType: strucType ?? this.strucType,
      bldgPermit: bldgPermit ?? this.bldgPermit,
      dateIssued: dateIssued ?? this.dateIssued,
      cct: cct ?? this.cct,
      certCompletionIssued: certCompletionIssued ?? this.certCompletionIssued,
      certOccupancyIssued: certOccupancyIssued ?? this.certOccupancyIssued,
      dateCompleted: dateCompleted ?? this.dateCompleted,
      dateOccupied: dateOccupied ?? this.dateOccupied,
      bldgAge: bldgAge ?? this.bldgAge,
      noStoreys: noStoreys ?? this.noStoreys,
      area1Stfloor: area1Stfloor ?? this.area1Stfloor,
      area2Ndfloor: area2Ndfloor ?? this.area2Ndfloor,
      area3Rdfloor: area3Rdfloor ?? this.area3Rdfloor,
      area4Thfloor: area4Thfloor ?? this.area4Thfloor,
      totalFloorArea: totalFloorArea ?? this.totalFloorArea,
      floorSketch: floorSketch ?? this.floorSketch,
      actualUse: actualUse ?? this.actualUse,
      unitValue: unitValue ?? this.unitValue,
      genCode: genCode ?? this.genCode,
    );
  }

  factory GeneralDesc.fromJson(Map<String, dynamic> json) => GeneralDesc(
      id: json["id"],
      bldgapprDetailsId: json["bldgappr_details_id"],
      assessedById: json["assessed_by_id"],
      assessedByName: json["assessed_by_name"],
      dateCreated: json["date_created"],
      dateModified: json["date_modified"],
      bldgKind: json["bldg_kind"],
      strucType: json["struc_type"],
      bldgPermit: json["bldg_permit"],
      dateIssued: json["date_issued"],
      cct: json["cct"],
      certCompletionIssued: json["cert_completion_issued"],
      certOccupancyIssued: json["cert_occupancy_issued"],
      dateCompleted: json["date_completed"],
      dateOccupied: json["date_occupied"],
      bldgAge: json["bldg_age"],
      noStoreys: json["no_storeys"],
      area1Stfloor: json["area_1stfloor"],
      area2Ndfloor: json["area_2ndfloor"],
      area3Rdfloor: json["area_3rdfloor"],
      area4Thfloor: json["area_4thfloor"],
      totalFloorArea: json["total_floor_area"],
      floorSketch: json["floor_sketch"],
      actualUse: json["actual_use"],
      unitValue: json["unit_value"],
      genCode: json["gen_code"]);

  factory GeneralDesc.fromJson2(Map<String, dynamic> json) => GeneralDesc(
      id: json["id"],
      bldgapprDetailsId: json["bldgapprDetailsId"],
      assessedById: json["assessedById"],
      assessedByName: json["assessedByName"],
      dateCreated: json["dateCreated"],
      dateModified: json["dateModified"],
      bldgKind: json["bldgKind"],
      strucType: json["strucType"],
      bldgPermit: json["bldgPermit"],
      dateIssued: json["dateIssued"],
      cct: json["cct"],
      certCompletionIssued: json["certCompletionIssued"],
      certOccupancyIssued: json["certOccupancyIssued"],
      dateCompleted: json["dateCompleted"],
      dateOccupied: json["dateOccupied"],
      bldgAge: json["bldgAge"],
      noStoreys: json["noStoreys"],
      area1Stfloor: json["area1Stfloor"],
      area2Ndfloor: json["area2Ndfloor"],
      area3Rdfloor: json["area3Rdfloor"],
      area4Thfloor: json["area4Thfloor"],
      totalFloorArea: json["totalFloorArea"],
      floorSketch: json["floorSketch"],
      actualUse: json["actualUse"],
      unitValue: json["unitValue"],
      genCode: json["gen_code"]);

  Map<String, dynamic> toJson() => {
        "id": id,
        "bldgappr_details_id": bldgapprDetailsId,
        "assessed_by_id": assessedById,
        "assessed_by_name": assessedByName,
        "date_created": dateCreated,
        "date_modified": dateModified,
        "bldg_kind": bldgKind,
        "struc_type": strucType,
        "bldg_permit": bldgPermit,
        "date_issued": dateIssued,
        "cct": cct,
        "cert_completion_issued": certCompletionIssued,
        "cert_occupancy_issued": certOccupancyIssued,
        "date_completed": dateCompleted,
        "date_occupied": dateOccupied,
        "bldg_age": bldgAge,
        "no_storeys": noStoreys,
        "area_1stfloor": area1Stfloor,
        "area_2ndfloor": area2Ndfloor,
        "area_3rdfloor": area3Rdfloor,
        "area_4thfloor": area4Thfloor,
        "total_floor_area": totalFloorArea,
        "floor_sketch": floorSketch,
        "actual_use": actualUse,
        "unit_value": unitValue,
        "gen_code": genCode,
      };
}
