package org.example.petshopdesktop.models;

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

public class Adoption {
    private SimpleIntegerProperty adoptionId;
    private SimpleIntegerProperty petId;
    private SimpleIntegerProperty customerId;
    private SimpleIntegerProperty employeeId;
    private SimpleStringProperty petName;
    private SimpleStringProperty customerName;
    private SimpleStringProperty employeeName;
    private SimpleStringProperty adoptionDate;
    private SimpleDoubleProperty adoptionFee;
    private SimpleStringProperty adoptionStatus;
    private SimpleStringProperty storeName;
    private Long storeId;

    public Adoption(int adoptionId, int petId, int customerId, int employeeId, String petName, String customerName, String employeeName, String adoptionDate, double adoptionFee, String adoptionStatus, String storeName, Long storeId) {
        this.adoptionId = new SimpleIntegerProperty(adoptionId);
        this.petId = new SimpleIntegerProperty(petId);
        this.customerId = new SimpleIntegerProperty(customerId);
        this.employeeId = new SimpleIntegerProperty(employeeId);
        this.petName = new SimpleStringProperty(petName);
        this.customerName = new SimpleStringProperty(customerName);
        this.employeeName = new SimpleStringProperty(employeeName);
        this.adoptionDate = new SimpleStringProperty(adoptionDate);
        this.adoptionFee = new SimpleDoubleProperty(adoptionFee);
        this.adoptionStatus = new SimpleStringProperty(adoptionStatus);
        this.storeName = new SimpleStringProperty(storeName != null ? storeName : "");
        this.storeId = storeId;
    }

    public int getAdoptionId() { return adoptionId.get(); }

    public void setAdoptionId(int adoptionId) { this.adoptionId.set(adoptionId); }

    public SimpleIntegerProperty adoptionIdProperty() { return adoptionId; }

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

    public void setPetId(int petId) { this.petId.set(petId); }

    public SimpleIntegerProperty petIdProperty() { return petId; }

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

    public void setCustomerId(int customerId) { this.customerId.set(customerId); }

    public SimpleIntegerProperty customerIdProperty() { return customerId; }

    public int getEmployeeId() { return employeeId.get(); }

    public void setEmployeeId(int employeeId) { this.employeeId.set(employeeId); }

    public SimpleIntegerProperty employeeIdProperty() { return employeeId; }

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

    public void setPetName(String petName) { this.petName.set(petName); }

    public SimpleStringProperty petNameProperty() { return petName; }

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

    public void setCustomerName(String customerName) { this.customerName.set(customerName); }

    public SimpleStringProperty customerNameProperty() { return customerName; }

    public String getEmployeeName() { return employeeName.get(); }

    public void setEmployeeName(String employeeName) { this.employeeName.set(employeeName); }

    public SimpleStringProperty employeeNameProperty() { return employeeName; }

    public String getAdoptionDate() { return adoptionDate.get(); }

    public void setAdoptionDate(String adoptionDate) { this.adoptionDate.set(adoptionDate); }

    public SimpleStringProperty adoptionDateProperty() { return adoptionDate; }

    public double getAdoptionFee() { return adoptionFee.get(); }

    public void setAdoptionFee(double adoptionFee) { this.adoptionFee.set(adoptionFee); }

    public SimpleDoubleProperty adoptionFeeProperty() { return adoptionFee; }

    public String getAdoptionStatus() { return adoptionStatus.get(); }

    public void setAdoptionStatus(String adoptionStatus) { this.adoptionStatus.set(adoptionStatus); }

    public SimpleStringProperty adoptionStatusProperty() { return adoptionStatus; }

    public String getStoreName() { return storeName.get(); }

    public void setStoreName(String storeName) { this.storeName.set(storeName); }

    public SimpleStringProperty storeNameProperty() { return storeName; }

    public Long getStoreId() { return storeId; }

    public void setStoreId(Long storeId) { this.storeId = storeId; }
}
