package vn.azteam.tpf.service.dto;

import java.time.Instant;
import java.io.Serializable;
import java.util.Objects;

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

    private Long id;

    private String channel;

    private Long sendFrom;

    private Long sendTo;

    private String subject;

    private String message;

    private String status;

    private Long tbCropId;

    private Long tbEntityId;

    private String clickAction;

    private String contents;

    private Instant createdDate;

    private Instant sendDate;

    private Integer isRead;

    private Integer isTestMessage;

    private String type;

    private Long externalId;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public Long getSendFrom() {
        return sendFrom;
    }

    public void setSendFrom(Long sendFrom) {
        this.sendFrom = sendFrom;
    }

    public Long getSendTo() {
        return sendTo;
    }

    public void setSendTo(Long sendTo) {
        this.sendTo = sendTo;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Long getTbCropId() {
        return tbCropId;
    }

    public void setTbCropId(Long tbCropId) {
        this.tbCropId = tbCropId;
    }

    public Long getTbEntityId() {
        return tbEntityId;
    }

    public void setTbEntityId(Long tbEntityId) {
        this.tbEntityId = tbEntityId;
    }

    public String getClickAction() {
        return clickAction;
    }

    public void setClickAction(String clickAction) {
        this.clickAction = clickAction;
    }

    public String getContents() {
        return contents;
    }

    public void setContents(String contents) {
        this.contents = contents;
    }

    public Instant getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(Instant createdDate) {
        this.createdDate = createdDate;
    }

    public Instant getSendDate() {
        return sendDate;
    }

    public void setSendDate(Instant sendDate) {
        this.sendDate = sendDate;
    }

    public Integer getIsRead() {
        return isRead;
    }

    public void setIsRead(Integer isRead) {
        this.isRead = isRead;
    }

    public Integer getIsTestMessage() {
        return isTestMessage;
    }

    public void setIsTestMessage(Integer isTestMessage) {
        this.isTestMessage = isTestMessage;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Long getExternalId() {
        return externalId;
    }

    public void setExternalId(Long externalId) {
        this.externalId = externalId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        TBNotificationDTO tBNotificationDTO = (TBNotificationDTO) o;
        if (tBNotificationDTO.getId() == null || getId() == null) {
            return false;
        }
        return Objects.equals(getId(), tBNotificationDTO.getId());
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(getId());
    }

    @Override
    public String toString() {
        return "TBNotificationDTO{" +
            "id=" + getId() +
            ", channel='" + getChannel() + "'" +
            ", sendFrom=" + getSendFrom() +
            ", sendTo=" + getSendTo() +
            ", subject='" + getSubject() + "'" +
            ", message='" + getMessage() + "'" +
            ", status='" + getStatus() + "'" +
            ", tbCropId=" + getTbCropId() +
            ", tbEntityId=" + getTbEntityId() +
            ", clickAction='" + getClickAction() + "'" +
            ", contents='" + getContents() + "'" +
            ", createdDate='" + getCreatedDate() + "'" +
            ", sendDate='" + getSendDate() + "'" +
            ", isRead=" + getIsRead() +
            ", isTestMessage=" + getIsTestMessage() +
            ", type='" + getType() + "'" +
            ", externalId=" + getExternalId() +
            "}";
    }
}
