import { APP_ID } from '~/constants/api.constants';
import { BaseInput } from '~/core/entities/input/baseInput';
import { BaseOutput } from '~/core/entities/output/baseOutput';


export class ParticipantGeneralPerson {
    constructor(
        /* tslint:disable: variable-name */
        public FirstName: string = undefined,
        public LastName: string = undefined,
        public NickName: string = undefined,
        public Note: string = undefined,
        public Degrees: number[] = undefined,
        // public Contancts: string[] = undefined,
        /* tslint:enable: variable-name */
    ) {

    }
}

export class ParticipantGeneralInsert extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = undefined,
        public ID_EventGeneral: number = undefined,
        public ID_Person: number = undefined,
        public Person: ParticipantGeneralPerson = undefined,
        /* tslint:enable: variable-name */
    ) {
        super(APP_ID);
    }
}
export class ParticipantGeneralDelete extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        public ID: number = 0,
        public DeletePerson: boolean = false,
        /* tslint:enable: variable-name */
    ) {
        super(APP_ID);
    }
}
export class EventGeneralUpdateStatisticAutoComputed extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        public ID: number = 0,
        public IsStatisticAutoComputed: boolean = false,
        /* tslint:enable: variable-name */
    ) {
        super(APP_ID);
        this.wrapper = "eventGeneral";
    }
}
export class ParticipantGeneralUpdate extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = undefined,
        public ID: number = undefined,
        public Days: number = undefined,
        public Note: string = undefined,
        public ID_Person: number = undefined,
        public ID_Participant: number = undefined,
        /* tslint:enable: variable-name */
    ) {
        super(APP_ID);
        this.wrapper = 'participantGeneral'
    }
}

export class GenEventPersonOutput extends BaseOutput {
    /* tslint:disable: variable-name */
    constructor(
        public Birthday: string = '',
        public ID: number = 0,
        public ID_Group: number = 0,
        public DisplayName: string = '',
        public FirstName: string = '',
        public LastName: string = '',
        public NickName: string = '',
        public Note: string = '',
        public Street: string = '',
        public City: string = '',
        public Postcode: string = '',
        public State: string = '',
        public PostalFirstLine: string = '',
        public PostalStreet: string = '',
        public PostalCity: string = '',
        public PostalPostcode: string = '',
        public PostalState: string = '',
        public ID_Sex: string = '',
        public Sex: string = '',
        public ListName: string = '',
    ) {
        super();
    }
    /* tslint:enable: variable-name */
}
export class ParticipantGenInsertOutput extends BaseOutput {
    /* tslint:disable: variable-name */
    constructor(
        public ID: number = 0,
        public ID_Person: number = 0,
    ) {
        super();
    }
    /* tslint:enable: variable-name */
}