package com.magistr.app.dto;

import com.magistr.app.model.Equipment;
import java.time.Instant;
import java.util.List;

public class ClassroomResponse {
    private Long id;
    private String name;
    private Integer capacity;
    private String building;
    private Integer floor;
    private Boolean isAvailable;
    private String status;
    private Instant archivedAt;
    private String archiveReason;
    private List<Equipment> equipments;

    public ClassroomResponse() {
    }

    public ClassroomResponse(Long id, String name, Integer capacity, String building, Integer floor,
                             Boolean isAvailable, List<Equipment> equipments) {
        this(id, name, capacity, building, floor, isAvailable, null, null, null, equipments);
    }

    public ClassroomResponse(Long id, String name, Integer capacity, String building, Integer floor,
                             Boolean isAvailable, String status, Instant archivedAt,
                             String archiveReason, List<Equipment> equipments) {
        this.id = id;
        this.name = name;
        this.capacity = capacity;
        this.building = building;
        this.floor = floor;
        this.isAvailable = isAvailable;
        this.status = status;
        this.archivedAt = archivedAt;
        this.archiveReason = archiveReason;
        this.equipments = equipments;
    }

    public Long getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getCapacity() {
        return capacity;
    }

    public void setCapacity(Integer capacity) {
        this.capacity = capacity;
    }

    public String getBuilding() {
        return building;
    }

    public void setBuilding(String building) {
        this.building = building;
    }

    public Integer getFloor() {
        return floor;
    }

    public void setFloor(Integer floor) {
        this.floor = floor;
    }

    public Boolean getIsAvailable() {
        return isAvailable;
    }

    public void setIsAvailable(Boolean isAvailable) {
        this.isAvailable = isAvailable;
    }

    public String getStatus() {
        return status;
    }

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

    public Instant getArchivedAt() {
        return archivedAt;
    }

    public void setArchivedAt(Instant archivedAt) {
        this.archivedAt = archivedAt;
    }

    public String getArchiveReason() {
        return archiveReason;
    }

    public void setArchiveReason(String archiveReason) {
        this.archiveReason = archiveReason;
    }

    public List<Equipment> getEquipments() {
        return equipments;
    }

    public void setEquipments(List<Equipment> equipments) {
        this.equipments = equipments;
    }
}
