// To parse this JSON data, do
//
//     final propertyAppraisal = propertyAppraisalFromJson(jsonString);

import 'dart:convert';

PropertyAppraisal propertyAppraisalFromJson(String str) =>
    PropertyAppraisal.fromJson(json.decode(str));

String propertyAppraisalToJson(PropertyAppraisal data) =>
    json.encode(data.toJson());

class PropertyAppraisal {
  final int? id;
  final int? bldgapprDetailsId;
  final String? assessedById;
  final String? assessedByName;
  final DateTime? dateCreated;
  final DateTime? dateModified;
  final String? unitconstructCost;
  final String? buildingCore;
  final String? unitconstructSubtotal;
  final String? depreciationRate;
  final String? depreciationCost;
  final String? costAddItems;
  final String? addItemsSubtotal;
  final String? totalpercentDepreciation;
  final String? marketValue;
  final String? totalArea;
  final String? actualUse;

  PropertyAppraisal(
      {this.id,
      this.bldgapprDetailsId,
      this.assessedById,
      this.assessedByName,
      this.dateCreated,
      this.dateModified,
      this.unitconstructCost,
      this.buildingCore,
      this.unitconstructSubtotal,
      this.depreciationRate,
      this.depreciationCost,
      this.costAddItems,
      this.addItemsSubtotal,
      this.totalpercentDepreciation,
      this.marketValue,
      this.totalArea,
      this.actualUse});

  factory PropertyAppraisal.fromJson(Map<String, dynamic> json) =>
      PropertyAppraisal(
          id: json["id"],
          bldgapprDetailsId: json["bldgappr_details_id"],
          assessedById: json["assessed_by_id"],
          assessedByName: json["assessed_by_name"],
          dateCreated: json["date_created"] == null
              ? null
              : DateTime.parse(json["date_created"]),
          dateModified: json["date_modified"] == null
              ? null
              : DateTime.parse(json["date_modified"]),
          unitconstructCost: json["unitconstruct_cost"],
          buildingCore: json["building_core"],
          unitconstructSubtotal: json["unitconstruct_subtotal"],
          depreciationRate: json["depreciation_rate"],
          depreciationCost: json["depreciation_cost"],
          costAddItems: json["cost_add_items"],
          addItemsSubtotal: json["add_items_subtotal"],
          totalpercentDepreciation: json["totalpercent_depreciation"],
          marketValue: json["market_value"],
          totalArea: json["total_area"],
          actualUse: json["actual_use"]);

  Map<String, dynamic> toJson() => {
        "id": id,
        "bldgappr_details_id": bldgapprDetailsId,
        "assessed_by_id": assessedById,
        "assessed_by_name": assessedByName,
        "date_created": dateCreated?.toIso8601String(),
        "date_modified": dateModified?.toIso8601String(),
        "unitconstruct_cost": unitconstructCost,
        "building_core": buildingCore,
        "unitconstruct_subtotal": unitconstructSubtotal,
        "depreciation_rate": depreciationRate,
        "depreciation_cost": depreciationCost,
        "cost_add_items": costAddItems,
        "add_items_subtotal": addItemsSubtotal,
        "totalpercent_depreciation": totalpercentDepreciation,
        "market_value": marketValue,
        "total_area": totalArea,
        "actual_use": actualUse
      };
}
