package de.votian.services.dto;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

public class GroupwareAppointmentCommandDto {

    private LocalDateTime startTime;
    private LocalDateTime endTime;
    private Integer category1;
    private Integer category2;
    private Integer category3;
    private Integer category4;
    private Long customerId;
    private String text;
    private List<Long> participantUserIds = new ArrayList<>();
    private Boolean notifyParticipants;
    private List<String> externalEmails = new ArrayList<>();
    private String mailSalutation;
    private String mailGreetings;

    public LocalDateTime getStartTime() {
        return startTime;
    }

    public void setStartTime(LocalDateTime startTime) {
        this.startTime = startTime;
    }

    public LocalDateTime getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalDateTime endTime) {
        this.endTime = endTime;
    }

    public Integer getCategory1() {
        return category1;
    }

    public void setCategory1(Integer category1) {
        this.category1 = category1;
    }

    public Integer getCategory2() {
        return category2;
    }

    public void setCategory2(Integer category2) {
        this.category2 = category2;
    }

    public Integer getCategory3() {
        return category3;
    }

    public void setCategory3(Integer category3) {
        this.category3 = category3;
    }

    public Integer getCategory4() {
        return category4;
    }

    public void setCategory4(Integer category4) {
        this.category4 = category4;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }

    public List<Long> getParticipantUserIds() {
        return participantUserIds;
    }

    public void setParticipantUserIds(List<Long> participantUserIds) {
        this.participantUserIds = participantUserIds != null ? new ArrayList<>(participantUserIds) : new ArrayList<>();
    }

    public Boolean getNotifyParticipants() {
        return notifyParticipants;
    }

    public void setNotifyParticipants(Boolean notifyParticipants) {
        this.notifyParticipants = notifyParticipants;
    }

    public List<String> getExternalEmails() {
        return externalEmails;
    }

    public void setExternalEmails(List<String> externalEmails) {
        this.externalEmails = externalEmails != null ? new ArrayList<>(externalEmails) : new ArrayList<>();
    }

    public String getMailSalutation() {
        return mailSalutation;
    }

    public void setMailSalutation(String mailSalutation) {
        this.mailSalutation = mailSalutation;
    }

    public String getMailGreetings() {
        return mailGreetings;
    }

    public void setMailGreetings(String mailGreetings) {
        this.mailGreetings = mailGreetings;
    }
}
