package vn.azteam.tpf.service.dto;

import com.fasterxml.jackson.annotation.JsonInclude;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;


/**
 * A DTO for the ActivityByCropTypeDTO entity.
 */
public class ActivityByCropTypeDTO implements Serializable {

    private Long tbCropTypeId;

    private String tbCropTypeName;

    private List<Long> tbActivityTypeIds;

    private HashMap<String, Boolean> tbActivityTypeGetList;

    private boolean tbCropTypeChecked;

    public Long getTbCropTypeId() {
        return tbCropTypeId;
    }

    public void setTbCropTypeId(Long tbCropTypeId) {
        this.tbCropTypeId = tbCropTypeId;
    }

    public List<Long> getTbActivityTypeIds() {
        return tbActivityTypeIds;
    }

    public void setTbActivityTypeIds(List<Long> tbActivityTypeIds) {
        this.tbActivityTypeIds = tbActivityTypeIds;
    }

    public boolean isTbCropTypeChecked() {
        return tbCropTypeChecked;
    }

    public void setTbCropTypeChecked(boolean tbCropTypeChecked) {
        this.tbCropTypeChecked = tbCropTypeChecked;
    }

    public String getTbCropTypeName() {
        return tbCropTypeName;
    }

    public void setTbCropTypeName(String tbCropTypeName) {
        this.tbCropTypeName = tbCropTypeName;
    }

    public HashMap<String, Boolean> getTbActivityTypeGetList() {
        return tbActivityTypeGetList;
    }

    public void setTbActivityTypeGetList(HashMap<String, Boolean> tbActivityTypeGetList) {
        this.tbActivityTypeGetList = tbActivityTypeGetList;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        ActivityByCropTypeDTO that = (ActivityByCropTypeDTO) o;
        return tbCropTypeChecked == that.tbCropTypeChecked &&
            Objects.equals(tbCropTypeId, that.tbCropTypeId) &&
            Objects.equals(tbCropTypeName, that.tbCropTypeName) &&
            Objects.equals(tbActivityTypeIds, that.tbActivityTypeIds) &&
            Objects.equals(tbActivityTypeGetList, that.tbActivityTypeGetList);
    }

    @Override
    public int hashCode() {
        return Objects.hash(tbCropTypeId, tbCropTypeName, tbActivityTypeIds, tbActivityTypeGetList, tbCropTypeChecked);
    }

    @Override
    public String toString() {
        return "ActivityByCropTypeDTO{" +
            "tbCropTypeId=" + tbCropTypeId +
            ", tbCropTypeName='" + tbCropTypeName + '\'' +
            ", tbActivityTypeIds=" + tbActivityTypeIds +
            ", tbActivityTypeGetList=" + tbActivityTypeGetList +
            ", tbCropTypeChecked=" + tbCropTypeChecked +
            '}';
    }
}
