package org.synyx.urlaubsverwaltung.person.web;

public class PersonDto {

    private final long id;

    private final String gravatarUrl;
    private final String firstName;
    private final String lastName;
    private final String niceName;

    private String personnelNummber;
    private String additionalInfo;

    private final Double entitlementYear;
    private final Double entitlementActual;
    private final Double entitlementRemaining;
    private final Double vacationDaysLeft;
    private final Double vacationDaysLeftRemaining;

    private PersonDto(long id, String gravatarUrl, String firstName, String lastName, String niceName,
                      Double entitlementYear, Double entitlementActual, Double entitlementRemaining,
                      Double vacationDaysLeft, Double vacationDaysLeftRemaining) {

        this.id = id;
        this.gravatarUrl = gravatarUrl;
        this.firstName = firstName;
        this.lastName = lastName;
        this.niceName = niceName;
        this.entitlementYear = entitlementYear;
        this.entitlementActual = entitlementActual;
        this.entitlementRemaining = entitlementRemaining;
        this.vacationDaysLeft = vacationDaysLeft;
        this.vacationDaysLeftRemaining = vacationDaysLeftRemaining;
    }

    public Long getId() {
        return id;
    }

    public String getGravatarUrl() {
        return gravatarUrl;
    }

    public String getFirstName() {
        return firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public String getNiceName() {
        return niceName;
    }

    public Double getEntitlementYear() {
        return entitlementYear;
    }

    public Double getEntitlementActual() {
        return entitlementActual;
    }

    public Double getEntitlementRemaining() {
        return entitlementRemaining;
    }

    public Double getVacationDaysLeft() {
        return vacationDaysLeft;
    }

    public Double getVacationDaysLeftRemaining() {
        return vacationDaysLeftRemaining;
    }

    static PersonDto.Builder builder() {
        return new Builder();
    }

    static class Builder {
        private long id;
        private String gravatarUrl;
        private String firstName;
        private String lastName;
        private String niceName;
        private Double entitlementYear;
        private Double entitlementActual;
        private Double entitlementRemaining;
        private Double vacationDaysLeft;
        private Double vacationDaysLeftRemaining;

        public Builder id(long id) {
            this.id = id;
            return this;
        }

        public Builder gravatarUrl(String gravatarUrl) {
            this.gravatarUrl = gravatarUrl;
            return this;
        }

        public Builder firstName(String firstName) {
            this.firstName = firstName;
            return this;
        }

        public Builder lastName(String lastName) {
            this.lastName = lastName;
            return this;
        }

        public Builder niceName(String niceName) {
            this.niceName = niceName;
            return this;
        }

        public Builder entitlementYear(Double entitlementYear) {
            this.entitlementYear = entitlementYear;
            return this;
        }

        public Builder entitlementActual(Double entitlementActual) {
            this.entitlementActual = entitlementActual;
            return this;
        }

        public Builder entitlementRemaining(Double entitlementRemaining) {
            this.entitlementRemaining = entitlementRemaining;
            return this;
        }

        public Builder vacationDaysLeft(Double vacationDaysLeft) {
            this.vacationDaysLeft = vacationDaysLeft;
            return this;
        }

        public Builder vacationDaysLeftRemaining(Double vacationDaysLeftRemaining) {
            this.vacationDaysLeftRemaining = vacationDaysLeftRemaining;
            return this;
        }

        public PersonDto build() {
            return new PersonDto(
                id,
                gravatarUrl,
                firstName,
                lastName,
                niceName,
                entitlementYear,
                entitlementActual,
                entitlementRemaining,
                vacationDaysLeft,
                vacationDaysLeftRemaining
            );
        }
    }
}

@@ -249,24 +249,30 @@
     private 
+final 
 String perso
@@ -278,17 +278,16 @@
 onnelNum
-m
 ber;%0A   
@@ -291,24 +291,30 @@
     private 
+final 
 String addit
@@ -322,16 +322,23 @@
 onalInfo
+rmation
 ;%0A%0A    p
@@ -677,32 +677,86 @@
                 
+ String personnelNumber, String additionalInformation,
  Double entitlem
@@ -1061,32 +1061,140 @@
 ame = niceName;%0A
+        this.personnelNumber = personnelNumber;%0A        this.additionalInformation = additionalInformation;%0A
         this.ent
@@ -1776,32 +1776,204 @@
 iceName;%0A    %7D%0A%0A
+    public String getPersonnelNumber() %7B%0A        return personnelNumber;%0A    %7D%0A%0A    public String getAdditionalInformation() %7B%0A        return additionalInformation;%0A    %7D%0A%0A
     public Doubl
@@ -2650,32 +2650,118 @@
 tring niceName;%0A
+        private String personnelNumber;%0A        private String additionalInformation;%0A
         private 
@@ -3570,32 +3570,362 @@
 his;%0A        %7D%0A%0A
+        public Builder personellNumber(String personnelNumber) %7B%0A            this.personnelNumber = personnelNumber;%0A            return this;%0A        %7D%0A%0A        public Builder additionalInformation(String additionalInformation) %7B%0A            this.additionalInformation = additionalInformation;%0A            return this;%0A        %7D%0A%0A
         public B
@@ -4908,32 +4908,32 @@
       lastName,%0A
-
                 
@@ -4934,32 +4934,104 @@
       niceName,%0A
+                personnelNumber,%0A                additionalInformation,%0A
                 

Clean up PersonDto