import 'package:hmg_patient_app/uitl/date_uitl.dart';

class Reports {
  int? status;
  DateTime? encounterDate;
  int? projectID;
  int? invoiceNo;
  dynamic invoiceNo_VP;
  int? encounterNo;
  String? procedureId;
  int? requestType;
  String? setupId;
  int? patientID;
  int? doctorID;
  dynamic clinicID;
  DateTime? requestDate;
  bool? isRead;
  DateTime? isReadOn;
  int? actualDoctorRate;
  String? clinicDescription;
  dynamic clinicDescriptionN;
  String? docName;
  dynamic docNameN;
  String? doctorImageURL;
  dynamic doctorName;
  dynamic doctorNameN;
  int? doctorRate;
  bool? isDoctorAllowVedioCall;
  bool? isExecludeDoctor;
  int? noOfPatientsRate;
  String? projectName;
  dynamic projectNameN;

  Reports(
      {this.status,
      this.encounterDate,
      this.projectID,
      this.invoiceNo,
      this.invoiceNo_VP,
      this.encounterNo,
      this.procedureId,
      this.requestType,
      this.setupId,
      this.patientID,
      this.doctorID,
      this.clinicID,
      this.requestDate,
      this.isRead,
      this.isReadOn,
      this.actualDoctorRate,
      this.clinicDescription,
      this.clinicDescriptionN,
      this.docName,
      this.docNameN,
      this.doctorImageURL,
      this.doctorName,
      this.doctorNameN,
      this.doctorRate,
      this.isDoctorAllowVedioCall,
      this.isExecludeDoctor,
      this.noOfPatientsRate,
      this.projectName,
      this.projectNameN});

  Reports.fromJson(Map<String, dynamic> json) {
    try {
      status = json['Status'];
      encounterDate = DateUtil.convertStringToDate(json['EncounterDate']); //json['EncounterDate'];
      projectID = json['ProjectID'];
      invoiceNo = json['InvoiceNo'];
      invoiceNo_VP = json['InvoiceNo_VP'];
      encounterNo = json['EncounterNo'];
      procedureId = json['ProcedureId'];
      requestType = json['RequestType'];
      setupId = json['SetupId'];
      patientID = json['PatientID'];
      doctorID = json['DoctorID'];
      clinicID = json['ClinicID'];
      requestDate = DateUtil.convertStringToDate(json['RequestDate']); //json['RequestDate'];
      isRead = json['IsRead'];
      isReadOn = DateUtil.convertStringToDate(json['IsReadOn']); //json['IsReadOn'];
      actualDoctorRate = json['ActualDoctorRate'];
      clinicDescription = json['ClinicDescription'];
      clinicDescriptionN = json['ClinicDescriptionN'];
      docName = json['DocName'];
      docNameN = json['DocNameN'];
      doctorImageURL = json['DoctorImageURL'];
      doctorName = json['DoctorName'];
      doctorNameN = json['DoctorNameN'];
      doctorRate = json['DoctorRate'];
      isDoctorAllowVedioCall = json['IsDoctorAllowVedioCall'];
      isExecludeDoctor = json['IsExecludeDoctor'];
      noOfPatientsRate = json['NoOfPatientsRate'];
      projectName = json['ProjectName'];
      projectNameN = json['ProjectNameN'];
    } catch (e) {
      print(e);
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['Status'] = this.status;
    data['EncounterDate'] = this.encounterDate;
    data['ProjectID'] = this.projectID;
    data['InvoiceNo'] = this.invoiceNo;
    data['InvoiceNo_VP'] = this.invoiceNo_VP;
    data['EncounterNo'] = this.encounterNo;
    data['ProcedureId'] = this.procedureId;
    data['RequestType'] = this.requestType;
    data['SetupId'] = this.setupId;
    data['PatientID'] = this.patientID;
    data['DoctorID'] = this.doctorID;
    data['ClinicID'] = this.clinicID;
    data['RequestDate'] = this.requestDate;
    data['IsRead'] = this.isRead;
    data['IsReadOn'] = this.isReadOn;
    data['ActualDoctorRate'] = this.actualDoctorRate;
    data['ClinicDescription'] = this.clinicDescription;
    data['ClinicDescriptionN'] = this.clinicDescriptionN;
    data['DocName'] = this.docName;
    data['DocNameN'] = this.docNameN;
    data['DoctorImageURL'] = this.doctorImageURL;
    data['DoctorName'] = this.doctorName;
    data['DoctorNameN'] = this.doctorNameN;
    data['DoctorRate'] = this.doctorRate;
    data['IsDoctorAllowVedioCall'] = this.isDoctorAllowVedioCall;
    data['IsExecludeDoctor'] = this.isExecludeDoctor;
    data['NoOfPatientsRate'] = this.noOfPatientsRate;
    data['ProjectName'] = this.projectName;
    data['ProjectNameN'] = this.projectNameN;
    return data;
  }
}

class ReportsList {
  String? filterName = "";

  List<Reports> reportsList = [];

  ReportsList({this.filterName, Reports? reports}) {
    reportsList.add(reports!);
  }
}
