package vn.azteam.tpf.service.dto;

import com.vividsolutions.jts.algorithm.PointInRing;

import java.io.Serializable;
import java.time.Instant;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;

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

    private TBCropDTO tbCropDTO;

    // Use for web only
    private ActivityTimelineDTO activityTimeline;

    // Use for app only
    private List<TBActivityDTO> activities;

    private Instant plantingDate;

    private Instant sowingDate;

    private Double seedIncubationTime;

    private Integer numberPlants;

    private Integer numberCurrentPlants;

    private Instant endOfFarmingDate;

    private TBAddressDTO tbAddressDTO;

    public TBCropDTO getTbCropDTO() {
        return tbCropDTO;
    }

    public void setTbCropDTO(TBCropDTO tbCropDTO) {
        this.tbCropDTO = tbCropDTO;
    }

    public Instant getSowingDate() {
        return sowingDate;
    }

    public void setSowingDate(Instant sowingDate) {
        this.sowingDate = sowingDate;
    }

    public Instant getPlantingDate() {
        return plantingDate;
    }

    public void setPlantingDate(Instant plantingDate) {
        this.plantingDate = plantingDate;
    }

    public Double getSeedIncubationTime() {
        return seedIncubationTime;
    }

    public void setSeedIncubationTime(Double seedIncubationTime) {
        this.seedIncubationTime = seedIncubationTime;
    }

    public Integer getNumberPlants() {
        return numberPlants;
    }

    public void setNumberPlants(Integer numberPlants) {
        this.numberPlants = numberPlants;
    }

    public Integer getNumberCurrentPlants() {
        return numberCurrentPlants;
    }

    public void setNumberCurrentPlants(Integer numberCurrentPlants) {
        this.numberCurrentPlants = numberCurrentPlants;
    }

    public Instant getEndOfFarmingDate() {
        return endOfFarmingDate;
    }

    public void setEndOfFarmingDate(Instant endOfFarmingDate) {
        this.endOfFarmingDate = endOfFarmingDate;
    }

    public List<TBActivityDTO> getActivities() {
        return activities;
    }

    public void setActivities(List<TBActivityDTO> activities) {
        this.activities = activities;
    }

    public ActivityTimelineDTO getActivityTimeline() {
        return activityTimeline;
    }

    public void setActivityTimeline(ActivityTimelineDTO activityTimeline) {
        this.activityTimeline = activityTimeline;
    }

    public TBAddressDTO getTbAddressDTO() {
        return tbAddressDTO;
    }

    public void setTbAddressDTO(TBAddressDTO tbAddressDTO) {
        this.tbAddressDTO = tbAddressDTO;
    }
}
