import { GenParticipant } from '~/pages/event/types/genEvent';
import { ParticipantSearchAllModel } from '../../types/ParticipantSearchCriteria';
import { NewParticipant } from '../camp/camp-event-participant.state';


export class GenParticipantInsert {
    static readonly type = '[General event participant] InsertGeneralEventParticipant';

    constructor(public payload: { personId: number, genId: number, newParticip: NewParticipant } = null) {
    }
}

export class GenParticipantSearchPerson {
    static readonly type = '[General event participant] search person';
    constructor(public payload: ParticipantSearchAllModel) {
    }
}
export class GenEventUpdateParticipant {
    static readonly type = '[General event participant] update participant';
    constructor(public payload: { particip: GenParticipant }) {
    }
}
export class GenEventUpdateParticipantStatisticAutoComputed {
    static readonly type = '[General event participant]GenEventUpdateParticipantStatisticAutoComputed';
    constructor(public eventId: number, public value: boolean) {
    }
}

export class GenEventRemoveParticipant {
    static readonly type = '[General event participant] Gen Event Remove Participant';
    constructor(public participantId: number) {
    }
}
export class LoadGenEventNewParticipationQualificationTypes {
    static readonly type = '[General event participant]Load Gen Event NewParticipation QualificationTypes';
}
export class LoadGenEventNewParticipationFunctionTypes {
    static readonly type = '[General event participant]Load Gen Event NewParticipation FunctionTypes';
}
export class GenEventParticipantResetSearch {
    static readonly type = '[General event participant] reset search';
}

