package it.sw.pa.comune.artegna.service.dto;

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

/**
 * A DTO for the {@link it.sw.pa.comune.artegna.domain.Struttura} entity.
 */
@SuppressWarnings("common-java:DuplicatedBlocks")
public class StrutturaDTO implements Serializable {

    private Long id;

    private String nome;

    private String descrizione;

    private String indirizzo;

    private Integer capienzaMax;

    private Boolean attiva;

    private String fotoUrl;

    private Instant createdAt;

    private Instant updatedAt;

    public Long getId() {
        return id;
    }

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

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getDescrizione() {
        return descrizione;
    }

    public void setDescrizione(String descrizione) {
        this.descrizione = descrizione;
    }

    public String getIndirizzo() {
        return indirizzo;
    }

    public void setIndirizzo(String indirizzo) {
        this.indirizzo = indirizzo;
    }

    public Integer getCapienzaMax() {
        return capienzaMax;
    }

    public void setCapienzaMax(Integer capienzaMax) {
        this.capienzaMax = capienzaMax;
    }

    public Boolean getAttiva() {
        return attiva;
    }

    public void setAttiva(Boolean attiva) {
        this.attiva = attiva;
    }

    public String getFotoUrl() {
        return fotoUrl;
    }

    public void setFotoUrl(String fotoUrl) {
        this.fotoUrl = fotoUrl;
    }

    public Instant getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Instant createdAt) {
        this.createdAt = createdAt;
    }

    public Instant getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(Instant updatedAt) {
        this.updatedAt = updatedAt;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof StrutturaDTO)) {
            return false;
        }

        StrutturaDTO strutturaDTO = (StrutturaDTO) o;
        if (this.id == null) {
            return false;
        }
        return Objects.equals(this.id, strutturaDTO.id);
    }

    @Override
    public int hashCode() {
        return Objects.hash(this.id);
    }

    // prettier-ignore
    @Override
    public String toString() {
        return "StrutturaDTO{" +
            "id=" + getId() +
            ", nome='" + getNome() + "'" +
            ", descrizione='" + getDescrizione() + "'" +
            ", indirizzo='" + getIndirizzo() + "'" +
            ", capienzaMax=" + getCapienzaMax() +
            ", attiva='" + getAttiva() + "'" +
            ", fotoUrl='" + getFotoUrl() + "'" +
            ", createdAt='" + getCreatedAt() + "'" +
            ", updatedAt='" + getUpdatedAt() + "'" +
            "}";
    }
}
