// To parse this JSON data, do
//
//     final bldgAndStructure = bldgAndStructureFromJson(jsonString);

import 'dart:convert';

BldgAndStructure bldgAndStructureFromJson(String str) =>
    BldgAndStructure.fromJson(json.decode(str));

String bldgAndStructureToJson(BldgAndStructure data) =>
    json.encode(data.toJson());

class BldgAndStructure {
  final int? id;
  final int? bldgapprDetailsId;
  final String? bldgType;
  final String? structType;
  final String? description;
  final String? actualUse;
  final String? floorCount;
  final String? bldgArea;
  final String? unitValue;
  final String? buccPercentage;
  final String? depRate;
  final String? marketValue;
  final String? depAmount;
  final String? adjustedMarketValue;
  final String? genCode;

  BldgAndStructure({
    this.id,
    this.bldgapprDetailsId,
    this.bldgType,
    this.structType,
    this.description,
    this.actualUse,
    this.floorCount,
    this.bldgArea,
    this.unitValue,
    this.buccPercentage,
    this.depRate,
    this.marketValue,
    this.depAmount,
    this.adjustedMarketValue,
    this.genCode,
  });

  BldgAndStructure copy({
    int? id,
    int? bldgapprDetailsId,
    String? bldgType,
    String? structType,
    String? description,
    String? actualUse,
    String? floorCount,
    String? bldgArea,
    String? unitValue,
    String? buccPercentage,
    String? depRate,
    String? marketValue,
    String? depAmount,
    String? adjustedMarketValue,
    String? genCode,
  }) =>
      BldgAndStructure(
        id: id ?? this.id,
        bldgapprDetailsId: bldgapprDetailsId ?? this.bldgapprDetailsId,
        bldgType: bldgType ?? this.bldgType,
        structType: structType ?? this.structType,
        description: description ?? this.description,
        actualUse: actualUse ?? this.actualUse,
        floorCount: floorCount ?? this.floorCount,
        bldgArea: bldgArea ?? this.bldgArea,
        unitValue: unitValue ?? this.unitValue,
        buccPercentage: buccPercentage ?? this.buccPercentage,
        depRate: depRate ?? this.depRate,
        marketValue: marketValue ?? this.marketValue,
        depAmount: depAmount ?? this.depAmount,
        adjustedMarketValue: adjustedMarketValue ?? this.adjustedMarketValue,
        genCode: genCode ?? this.genCode,
      );

  factory BldgAndStructure.fromJson(Map<String, dynamic> json) =>
      BldgAndStructure(
        id: json["id"],
        bldgapprDetailsId: json["bldgapprDetailsId"],
        bldgType: json["bldgType"],
        structType: json["structType"],
        description: json["description"],
        actualUse: json["actualUse"],
        floorCount: json["floorCount"],
        bldgArea: json["bldgArea"],
        unitValue: json["unitValue"],
        buccPercentage: json["buccPercentage"],
        depRate: json["depRate"],
        marketValue: json["marketValue"],
        depAmount: json["depAmount"],
        adjustedMarketValue: json["adjustedMarketValue"],
        genCode: json["gen_code"],
      );

  Map<String, dynamic> toJson() => {
        "id": id,
        "bldgappr_details_id": bldgapprDetailsId,
        "bldg_type": bldgType,
        "struct_type": structType,
        "description": description,
        "actual_use": actualUse,
        "floor_count": floorCount,
        "bldg_area": bldgArea,
        "unit_value": unitValue,
        "bucc_percentage": buccPercentage,
        "dep_rate": depRate,
        "market_value": marketValue,
        "dep_amount": depAmount,
        "adjusted_market_value": adjustedMarketValue,
        "gen_code": genCode,
      };
}
