import { BaseOutput } from '~/core/entities/output/baseOutput';

export class PersonDetailOutput extends BaseOutput {
    /* tslint:disable variable-name */
    ID: number;
    FirstName: string;
    LastName: string;
    NickName: string;
    DisplayName: string;
    IdentificationCode: string;
    Birthday: string;
    Sex: string;
    Street: string;
    City: string;
    Postcode: string;
    State: string;
    Email: string;
    Phone: string;
    IdentificationCodeHasPermission: boolean;
    DisplayAdress: boolean;
    DisplayBirthday: boolean;
    DisplayFunction: boolean;
    DisplayMembership: boolean;
    DisplayOffer: boolean;
    DisplayQualification: boolean;

    /* tslint:enable variable-name */

    constructor(
        id = 0,
        firstName = '',
        lastName = '',
        nickName = '',
        displayName = '',
        identificationCode = '',
        birthday = '',
        sex = '',
        street = '',
        city = '',
        postcode = '',
        state = '',
        email = '',
        phone = '',
        identificationCodeHasPermission = false,
        displayAdress = false,
        displayBirthday = false,
        displayFunction = false,
        displayMembership = false,
        displayOffer = false,
        displayQualification = false
    ) {
        super();
        this.ID = id;
        this.FirstName = firstName;
        this.LastName = lastName;
        this.NickName = nickName;
        this.DisplayName = displayName;
        this.IdentificationCode = identificationCode;
        this.Birthday = birthday;
        this.Sex = sex;
        this.Street = street;
        this.City = city;
        this.Postcode = postcode;
        this.State = state;
        this.Email = email;
        this.Phone = phone;
        this.IdentificationCodeHasPermission = identificationCodeHasPermission;
        this.DisplayAdress = displayAdress;
        this.DisplayBirthday = displayBirthday;
        this.DisplayFunction = displayFunction;
        this.DisplayMembership = displayMembership;
        this.DisplayOffer = displayOffer;
        this.DisplayQualification = displayQualification;
    }
}
