import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';

class CheckActivationCode {
  dynamic date;
  int languageID;
  int serviceName;
  dynamic time;
  dynamic androidLink;
  String authenticationTokenID;
  dynamic data;
  bool dataw;
  int dietType;
  dynamic errorCode;
  dynamic errorEndUserMessage;
  dynamic errorEndUserMessageN;
  dynamic errorMessage;
  int errorType;
  int foodCategory;
  dynamic iOSLink;
  bool isAuthenticated;
  int mealOrderStatus;
  int mealType;
  int messageStatus;
  int numberOfResultRecords;
  dynamic patientBlodType;
  dynamic successMsg;
  dynamic successMsgN;
  dynamic doctorInformationList;
  dynamic getAllPendingRecordsList;
  dynamic getAllSharedRecordsByStatusList;
  dynamic getResponseFileList;
  bool isHMGPatient;
  bool isLoginSuccessfully;
  bool isNeedUpdateIdintificationNo;
  bool kioskSendSMS;
  AuthenticatedUser list;
  dynamic listAskHabibMobileLoginInfo;
  dynamic listAskHabibPatientFile;
  dynamic listMergeFiles;
  dynamic listMobileLoginInfo;
  dynamic listPatientCount;
  dynamic logInTokenID;
  dynamic mohemmPrivilegeList;
  int pateintID;
  String patientBloodType;
  bool patientHasFile;
  dynamic patientMergedIDs;
  bool patientOutSA;
  int patientShareRequestID;
  int patientType;
  int projectIDOut;
  dynamic returnMessage;
  bool sMSLoginRequired;
  dynamic servicePrivilegeList;
  dynamic sharePatientName;
  dynamic verificationCode;
  dynamic email;
  dynamic errorList;
  bool hasFile;
  bool isActiveCode;
  bool isMerged;
  bool isNeedUserAgreement;
  bool isSMSSent;
  dynamic memberList;
  dynamic message;
  int statusCode;

  CheckActivationCode(
      {this.date,
      this.languageID,
      this.serviceName,
      this.time,
      this.androidLink,
      this.authenticationTokenID,
      this.data,
      this.dataw,
      this.dietType,
      this.errorCode,
      this.errorEndUserMessage,
      this.errorEndUserMessageN,
      this.errorMessage,
      this.errorType,
      this.foodCategory,
      this.iOSLink,
      this.isAuthenticated,
      this.mealOrderStatus,
      this.mealType,
      this.messageStatus,
      this.numberOfResultRecords,
      this.patientBlodType,
      this.successMsg,
      this.successMsgN,
      this.doctorInformationList,
      this.getAllPendingRecordsList,
      this.getAllSharedRecordsByStatusList,
      this.getResponseFileList,
      this.isHMGPatient,
      this.isLoginSuccessfully,
      this.isNeedUpdateIdintificationNo,
      this.kioskSendSMS,
      this.list,
      this.listAskHabibMobileLoginInfo,
      this.listAskHabibPatientFile,
      this.listMergeFiles,
      this.listMobileLoginInfo,
      this.listPatientCount,
      this.logInTokenID,
      this.mohemmPrivilegeList,
      this.pateintID,
      this.patientBloodType,
      this.patientHasFile,
      this.patientMergedIDs,
      this.patientOutSA,
      this.patientShareRequestID,
      this.patientType,
      this.projectIDOut,
      this.returnMessage,
      this.sMSLoginRequired,
      this.servicePrivilegeList,
      this.sharePatientName,
      this.verificationCode,
      this.email,
      this.errorList,
      this.hasFile,
      this.isActiveCode,
      this.isMerged,
      this.isNeedUserAgreement,
      this.isSMSSent,
      this.memberList,
      this.message,
      this.statusCode});

  CheckActivationCode.fromJson(Map<String, dynamic> json) {
    date = json['Date'];
    languageID = json['LanguageID'];
    serviceName = json['ServiceName'];
    time = json['Time'];
    androidLink = json['AndroidLink'];
    authenticationTokenID = json['AuthenticationTokenID'];
    data = json['Data'];
    dataw = json['Dataw'];
    dietType = json['DietType'];
    errorCode = json['ErrorCode'];
    errorEndUserMessage = json['ErrorEndUserMessage'];
    errorEndUserMessageN = json['ErrorEndUserMessageN'];
    errorMessage = json['ErrorMessage'];
    errorType = json['ErrorType'];
    foodCategory = json['FoodCategory'];
    iOSLink = json['IOSLink'];
    isAuthenticated = json['IsAuthenticated'];
    mealOrderStatus = json['MealOrderStatus'];
    mealType = json['MealType'];
    messageStatus = json['MessageStatus'];
    numberOfResultRecords = json['NumberOfResultRecords'];
    patientBlodType = json['PatientBlodType'];
    successMsg = json['SuccessMsg'];
    successMsgN = json['SuccessMsgN'];
    doctorInformationList = json['DoctorInformation_List'];
    getAllPendingRecordsList = json['GetAllPendingRecordsList'];
    getAllSharedRecordsByStatusList = json['GetAllSharedRecordsByStatusList'];
    getResponseFileList = json['GetResponseFileList'];
    isHMGPatient = json['IsHMGPatient'];
    isLoginSuccessfully = json['IsLoginSuccessfully'];
    isNeedUpdateIdintificationNo = json['IsNeedUpdateIdintificationNo'];
    kioskSendSMS = json['KioskSendSMS'];
    if (json['List'] != null) {
      list = new AuthenticatedUser.fromJson(json['List'][0]);
    }
    listAskHabibMobileLoginInfo = json['List_AskHabibMobileLoginInfo'];
    listAskHabibPatientFile = json['List_AskHabibPatientFile'];
    listMergeFiles = json['List_MergeFiles'];
    listMobileLoginInfo = json['List_MobileLoginInfo'];
    listPatientCount = json['List_PatientCount'];
    logInTokenID = json['LogInTokenID'];
    mohemmPrivilegeList = json['MohemmPrivilege_List'];
    pateintID = json['PateintID'];
    patientBloodType = json['PatientBloodType'];
    patientHasFile = json['PatientHasFile'];
    patientMergedIDs = json['PatientMergedIDs'];
    patientOutSA = json['PatientOutSA'];
    patientShareRequestID = json['PatientShareRequestID'];
    patientType = json['PatientType'];
    projectIDOut = json['ProjectIDOut'];
    returnMessage = json['ReturnMessage'];
    sMSLoginRequired = json['SMSLoginRequired'];
    servicePrivilegeList = json['ServicePrivilege_List'];
    sharePatientName = json['SharePatientName'];
    verificationCode = json['VerificationCode'];
    email = json['email'];
    errorList = json['errorList'];
    hasFile = json['hasFile'];
    isActiveCode = json['isActiveCode'];
    isMerged = json['isMerged'];
    isNeedUserAgreement = json['isNeedUserAgreement'];
    isSMSSent = json['isSMSSent'];
    memberList = json['memberList'];
    message = json['message'];
    statusCode = json['statusCode'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['Date'] = this.date;
    data['LanguageID'] = this.languageID;
    data['ServiceName'] = this.serviceName;
    data['Time'] = this.time;
    data['AndroidLink'] = this.androidLink;
    data['AuthenticationTokenID'] = this.authenticationTokenID;
    data['Data'] = this.data;
    data['Dataw'] = this.dataw;
    data['DietType'] = this.dietType;
    data['ErrorCode'] = this.errorCode;
    data['ErrorEndUserMessage'] = this.errorEndUserMessage;
    data['ErrorEndUserMessageN'] = this.errorEndUserMessageN;
    data['ErrorMessage'] = this.errorMessage;
    data['ErrorType'] = this.errorType;
    data['FoodCategory'] = this.foodCategory;
    data['IOSLink'] = this.iOSLink;
    data['IsAuthenticated'] = this.isAuthenticated;
    data['MealOrderStatus'] = this.mealOrderStatus;
    data['MealType'] = this.mealType;
    data['MessageStatus'] = this.messageStatus;
    data['NumberOfResultRecords'] = this.numberOfResultRecords;
    data['PatientBlodType'] = this.patientBlodType;
    data['SuccessMsg'] = this.successMsg;
    data['SuccessMsgN'] = this.successMsgN;
    data['DoctorInformation_List'] = this.doctorInformationList;
    data['GetAllPendingRecordsList'] = this.getAllPendingRecordsList;
    data['GetAllSharedRecordsByStatusList'] =
        this.getAllSharedRecordsByStatusList;
    data['GetResponseFileList'] = this.getResponseFileList;
    data['IsHMGPatient'] = this.isHMGPatient;
    data['IsLoginSuccessfully'] = this.isLoginSuccessfully;
    data['IsNeedUpdateIdintificationNo'] = this.isNeedUpdateIdintificationNo;
    data['KioskSendSMS'] = this.kioskSendSMS;
    if (this.list != null) {
      data['List'] = this.list;
    }
    data['List_AskHabibMobileLoginInfo'] = this.listAskHabibMobileLoginInfo;
    data['List_AskHabibPatientFile'] = this.listAskHabibPatientFile;
    data['List_MergeFiles'] = this.listMergeFiles;
    data['List_MobileLoginInfo'] = this.listMobileLoginInfo;
    data['List_PatientCount'] = this.listPatientCount;
    data['LogInTokenID'] = this.logInTokenID;
    data['MohemmPrivilege_List'] = this.mohemmPrivilegeList;
    data['PateintID'] = this.pateintID;
    data['PatientBloodType'] = this.patientBloodType;
    data['PatientHasFile'] = this.patientHasFile;
    data['PatientMergedIDs'] = this.patientMergedIDs;
    data['PatientOutSA'] = this.patientOutSA;
    data['PatientShareRequestID'] = this.patientShareRequestID;
    data['PatientType'] = this.patientType;
    data['ProjectIDOut'] = this.projectIDOut;
    data['ReturnMessage'] = this.returnMessage;
    data['SMSLoginRequired'] = this.sMSLoginRequired;
    data['ServicePrivilege_List'] = this.servicePrivilegeList;
    data['SharePatientName'] = this.sharePatientName;
    data['VerificationCode'] = this.verificationCode;
    data['email'] = this.email;
    data['errorList'] = this.errorList;
    data['hasFile'] = this.hasFile;
    data['isActiveCode'] = this.isActiveCode;
    data['isMerged'] = this.isMerged;
    data['isNeedUserAgreement'] = this.isNeedUserAgreement;
    data['isSMSSent'] = this.isSMSSent;
    data['memberList'] = this.memberList;
    data['message'] = this.message;
    data['statusCode'] = this.statusCode;
    return data;
  }
}

class List {
  String setupID;
  int patientType;
  int patientID;
  String firstName;
  String middleName;
  String lastName;
  String firstNameN;
  String middleNameN;
  String lastNameN;
  int relationshipID;
  int gender;
  String dateofBirth;
  dynamic dateofBirthN;
  String nationalityID;
  dynamic phoneResi;
  dynamic phoneOffice;
  String mobileNumber;
  dynamic faxNumber;
  String emailAddress;
  dynamic bloodGroup;
  dynamic rHFactor;
  bool isEmailAlertRequired;
  bool isSMSAlertRequired;
  String preferredLanguage;
  bool isPrivilegedMember;
  dynamic memberID;
  dynamic expiryDate;
  dynamic isHmgEmployee;
  dynamic employeeID;
  dynamic emergencyContactName;
  dynamic emergencyContactNo;
  int patientPayType;
  dynamic dHCCPatientRefID;
  bool isPatientDummy;
  int status;
  dynamic isStatusCleared;
  int patientIdentificationType;
  String patientIdentificationNo;
  int projectID;
  int infoSourceID;
  dynamic address;
  int age;
  String ageDesc;
  int areaID;
  int createdBy;
  String genderDescription;
  dynamic iR;
  dynamic iSOCityID;
  dynamic iSOCountryID;
  ListPrivilege listPrivilege;
  dynamic marital;
  int outSA;
  dynamic pOBox;
  bool receiveHealthSummaryReport;
  int sourceType;
  dynamic strDateofBirth;
  dynamic tempAddress;
  dynamic zipCode;

  List({
    this.setupID,
    this.patientType,
    this.patientID,
    this.firstName,
    this.middleName,
    this.lastName,
    this.firstNameN,
    this.middleNameN,
    this.lastNameN,
    this.relationshipID,
    this.gender,
    this.dateofBirth,
    this.dateofBirthN,
    this.nationalityID,
    this.phoneResi,
    this.phoneOffice,
    this.mobileNumber,
    this.faxNumber,
    this.emailAddress,
    this.bloodGroup,
    this.rHFactor,
    this.isEmailAlertRequired,
    this.isSMSAlertRequired,
    this.preferredLanguage,
    this.isPrivilegedMember,
    this.memberID,
    this.expiryDate,
    this.isHmgEmployee,
    this.employeeID,
    this.emergencyContactName,
    this.emergencyContactNo,
    this.patientPayType,
    this.dHCCPatientRefID,
    this.isPatientDummy,
    this.status,
    this.isStatusCleared,
    this.patientIdentificationType,
    this.patientIdentificationNo,
    this.projectID,
    this.infoSourceID,
    this.address,
    this.age,
    this.ageDesc,
    this.areaID,
    this.createdBy,
    this.genderDescription,
    this.iR,
    this.iSOCityID,
    this.iSOCountryID,
    this.listPrivilege,
    this.marital,
    this.outSA,
    this.pOBox,
    this.receiveHealthSummaryReport,
    this.sourceType,
    this.strDateofBirth,
    this.tempAddress,
    this.zipCode,
  });

  List.fromJson(Map<String, dynamic> json) {
    setupID = json['SetupID'];
    patientType = json['PatientType'];
    patientID = json['PatientID'];
    firstName = json['FirstName'];
    middleName = json['MiddleName'];
    lastName = json['LastName'];
    firstNameN = json['FirstNameN'];
    middleNameN = json['MiddleNameN'];
    lastNameN = json['LastNameN'];
    relationshipID = json['RelationshipID'];
    gender = json['Gender'];
    dateofBirth = json['DateofBirth'];
    dateofBirthN = json['DateofBirthN'];
    nationalityID = json['NationalityID'];
    phoneResi = json['PhoneResi'];
    phoneOffice = json['PhoneOffice'];
    mobileNumber = json['MobileNumber'];
    faxNumber = json['FaxNumber'];
    emailAddress = json['EmailAddress'];
    bloodGroup = json['BloodGroup'];
    rHFactor = json['RHFactor'];
    isEmailAlertRequired = json['IsEmailAlertRequired'];
    isSMSAlertRequired = json['IsSMSAlertRequired'];
    preferredLanguage = json['PreferredLanguage'];
    isPrivilegedMember = json['IsPrivilegedMember'];
    memberID = json['MemberID'];
    expiryDate = json['ExpiryDate'];
    isHmgEmployee = json['IsHmgEmployee'];
    employeeID = json['EmployeeID'];
    emergencyContactName = json['EmergencyContactName'];
    emergencyContactNo = json['EmergencyContactNo'];
    patientPayType = json['PatientPayType'];
    dHCCPatientRefID = json['DHCCPatientRefID'];
    isPatientDummy = json['IsPatientDummy'];
    status = json['Status'];
    isStatusCleared = json['IsStatusCleared'];
    patientIdentificationType = json['PatientIdentificationType'];
    patientIdentificationNo = json['PatientIdentificationNo'];
    projectID = json['ProjectID'];
    infoSourceID = json['InfoSourceID'];
    address = json['Address'];
    age = json['Age'];
    ageDesc = json['AgeDesc'];
    areaID = json['AreaID'];
    createdBy = json['CreatedBy'];
    genderDescription = json['GenderDescription'];
    iR = json['IR'];
    iSOCityID = json['ISOCityID'];
    iSOCountryID = json['ISOCountryID'];
    if (json['ListPrivilege'] != null) {
      listPrivilege = ListPrivilege.fromJson(json['ListPrivilege']);
    }
    marital = json['Marital'];
    outSA = json['OutSA'];
    pOBox = json['POBox'];
    receiveHealthSummaryReport = json['ReceiveHealthSummaryReport'];
    sourceType = json['SourceType'];
    strDateofBirth = json['StrDateofBirth'];
    tempAddress = json['TempAddress'];
    zipCode = json['ZipCode'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['SetupID'] = this.setupID;
    data['PatientType'] = this.patientType;
    data['PatientID'] = this.patientID;
    data['FirstName'] = this.firstName;
    data['MiddleName'] = this.middleName;
    data['LastName'] = this.lastName;
    data['FirstNameN'] = this.firstNameN;
    data['MiddleNameN'] = this.middleNameN;
    data['LastNameN'] = this.lastNameN;
    data['RelationshipID'] = this.relationshipID;
    data['Gender'] = this.gender;
    data['DateofBirth'] = this.dateofBirth;
    data['DateofBirthN'] = this.dateofBirthN;
    data['NationalityID'] = this.nationalityID;
    data['PhoneResi'] = this.phoneResi;
    data['PhoneOffice'] = this.phoneOffice;
    data['MobileNumber'] = this.mobileNumber;
    data['FaxNumber'] = this.faxNumber;
    data['EmailAddress'] = this.emailAddress;
    data['BloodGroup'] = this.bloodGroup;
    data['RHFactor'] = this.rHFactor;
    data['IsEmailAlertRequired'] = this.isEmailAlertRequired;
    data['IsSMSAlertRequired'] = this.isSMSAlertRequired;
    data['PreferredLanguage'] = this.preferredLanguage;
    data['IsPrivilegedMember'] = this.isPrivilegedMember;
    data['MemberID'] = this.memberID;
    data['ExpiryDate'] = this.expiryDate;
    data['IsHmgEmployee'] = this.isHmgEmployee;
    data['EmployeeID'] = this.employeeID;
    data['EmergencyContactName'] = this.emergencyContactName;
    data['EmergencyContactNo'] = this.emergencyContactNo;
    data['PatientPayType'] = this.patientPayType;
    data['DHCCPatientRefID'] = this.dHCCPatientRefID;
    data['IsPatientDummy'] = this.isPatientDummy;
    data['Status'] = this.status;
    data['IsStatusCleared'] = this.isStatusCleared;
    data['PatientIdentificationType'] = this.patientIdentificationType;
    data['PatientIdentificationNo'] = this.patientIdentificationNo;
    data['ProjectID'] = this.projectID;
    data['InfoSourceID'] = this.infoSourceID;
    data['Address'] = this.address;
    data['Age'] = this.age;
    data['AgeDesc'] = this.ageDesc;
    data['AreaID'] = this.areaID;
    data['CreatedBy'] = this.createdBy;
    data['GenderDescription'] = this.genderDescription;
    data['IR'] = this.iR;
    data['ISOCityID'] = this.iSOCityID;
    data['ISOCountryID'] = this.iSOCountryID;
    if (this.listPrivilege != null) {
      data['ListPrivilege'] = this.listPrivilege;
    }
    data['Marital'] = this.marital;
    data['OutSA'] = this.outSA;
    data['POBox'] = this.pOBox;
    data['ReceiveHealthSummaryReport'] = this.receiveHealthSummaryReport;
    data['SourceType'] = this.sourceType;
    data['StrDateofBirth'] = this.strDateofBirth;
    data['TempAddress'] = this.tempAddress;
    data['ZipCode'] = this.zipCode;

    return data;
  }
}

class ListPrivilege {
  int iD;
  String serviceName;
  bool previlege;
  dynamic region;

  ListPrivilege({this.iD, this.serviceName, this.previlege, this.region});

  ListPrivilege.fromJson(Map<String, dynamic> json) {
    iD = json['ID'];
    serviceName = json['ServiceName'];
    previlege = json['Previlege'];
    region = json['Region'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['ID'] = this.iD;
    data['ServiceName'] = this.serviceName;
    data['Previlege'] = this.previlege;
    data['Region'] = this.region;
    return data;
  }
}
