package com.app.simplitend.patientprofile.medreminder.mvvm.models;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Objects;

public class ReminderResult implements Serializable {
    public int patientRemainderId;
    public int id;
    public String patient_xid;
    public String medicine_name;
    public String dosage;
    public String dosage_unit;
    public String medication_type_xid;
    public String medication_frequency_xid;
    public String reminder_everyday_flag;
    public int all_days;
    public String reminder_weekday_flag;
    public String reminder_time;
    public String medication_quantity;
    public String medication_refill_date;
    public String formatted_medication_refill_date;
    public String medication_instruction;
    public String mon;
    public String tue;
    public String wed;
    public String thu;
    public String fri;
    public String sat;
    public String sun;
    public String medicine_time;
    public ArrayList<String> medicine_time_list;
    public String active;
    public String deleted_at;
    public String created_by;
    public String updated_by;
    public String created_at;
    public String updated_at;
    public ArrayList<MedicationType> medication_type;
    public ArrayList<MedicationFrequency> medication_frequency;

    public String reminder_marked;

    public String is_update;

    public ReminderResult(){}

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        ReminderResult that = (ReminderResult) o;
        return id == that.id && Objects.equals(patient_xid, that.patient_xid) && Objects.equals(medicine_name, that.medicine_name) && Objects.equals(dosage, that.dosage) && Objects.equals(dosage_unit, that.dosage_unit) && Objects.equals(medication_type_xid, that.medication_type_xid) && Objects.equals(medication_frequency_xid, that.medication_frequency_xid) && Objects.equals(reminder_everyday_flag, that.reminder_everyday_flag) && Objects.equals(reminder_weekday_flag, that.reminder_weekday_flag) && Objects.equals(reminder_time, that.reminder_time) && Objects.equals(medication_quantity, that.medication_quantity) && Objects.equals(medication_refill_date, that.medication_refill_date) && Objects.equals(medication_instruction, that.medication_instruction) && Objects.equals(mon, that.mon) && Objects.equals(tue, that.tue) && Objects.equals(wed, that.wed) && Objects.equals(thu, that.thu) && Objects.equals(fri, that.fri) && Objects.equals(sat, that.sat) && Objects.equals(sun, that.sun) &&  Objects.equals(active, that.active);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, patient_xid, medicine_name, dosage, dosage_unit, medication_type_xid, medication_frequency_xid, reminder_everyday_flag, reminder_weekday_flag, reminder_time, medication_quantity, medication_refill_date, medication_instruction, mon, tue, wed, thu, fri, sat, sun, active);
    }
}
