package org.example.petshopdesktop.DTOs;

import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleStringProperty;

public class AppointmentDTO {

    private SimpleIntegerProperty appointmentId;

    private SimpleIntegerProperty customerId;
    private SimpleStringProperty customerName;

    private SimpleIntegerProperty petId;
    private SimpleStringProperty petName;

    private SimpleIntegerProperty serviceId;
    private SimpleStringProperty serviceName;
    private SimpleIntegerProperty employeeId;
    private SimpleStringProperty employeeName;

    private SimpleStringProperty appointmentDate;
    private SimpleStringProperty appointmentTime;
    private SimpleStringProperty appointmentStatus;
    private SimpleStringProperty storeName;
    private Long storeId;

    public AppointmentDTO(int appointmentId,
                          int customerId, String customerName,
                          int petId, String petName,
                          int serviceId, String serviceName,
                          int employeeId,
                          String employeeName,
                          String appointmentDate,
                          String appointmentTime,
                          String appointmentStatus,
                          String storeName,
                          Long storeId) {

        this.appointmentId = new SimpleIntegerProperty(appointmentId);
        this.customerId = new SimpleIntegerProperty(customerId);
        this.customerName = new SimpleStringProperty(customerName);
        this.petId = new SimpleIntegerProperty(petId);
        this.petName = new SimpleStringProperty(petName);
        this.serviceId = new SimpleIntegerProperty(serviceId);
        this.serviceName = new SimpleStringProperty(serviceName);
        this.employeeId = new SimpleIntegerProperty(employeeId);
        this.employeeName = new SimpleStringProperty(employeeName);
        this.appointmentDate = new SimpleStringProperty(appointmentDate);
        this.appointmentTime = new SimpleStringProperty(appointmentTime);
        this.appointmentStatus = new SimpleStringProperty(appointmentStatus);
        this.storeName = new SimpleStringProperty(storeName != null ? storeName : "");
        this.storeId = storeId;
    }

    public int getAppointmentId() { return appointmentId.get(); }

    public int getCustomerId() { return customerId.get(); }
    public String getCustomerName() { return customerName.get(); }

    public int getPetId() { return petId.get(); }
    public String getPetName() { return petName.get(); }

    public int getServiceId() { return serviceId.get(); }
    public String getServiceName() { return serviceName.get(); }
    public int getEmployeeId() { return employeeId.get(); }
    public String getEmployeeName() { return employeeName.get(); }

    public String getAppointmentDate() { return appointmentDate.get(); }
    public String getAppointmentTime() { return appointmentTime.get(); }
    public String getAppointmentStatus() { return appointmentStatus.get(); }
    public String getStoreName() { return storeName.get(); }

    public Long getStoreId() { return storeId; }
}
