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

export class EventCongressDetail extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        public ID: number = 0,
        /* tslint:enable: variable-name */
    ) {
        super(APP_ID);
    }
}

export class EventCongressDecisionAll extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        public ID_EventCongress: number = 0,
        // public ID: number = 0,
        // public ID_EventCongressDecisionType: string = '',
        // public ID_UnitType: string = '',
        // public ID_PersonCreated: number = 0,
        // public IsSuggest: boolean = false,
        /* tslint:enable: variable-name */
    ) {
        super(APP_ID);
    }
}
export class EventCongressFunctionAllMax extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        // public ID: number = 0,
        public ID_EventCongress: number = 0,
        // public ID_FunctionType: number = 0,
        /* tslint:enable: variable-name */
    ) {
        super(APP_ID);
    }
}
export class EventCongressFunctionAll extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        // public ID: number = 0,
        public ID_EventCongress: number = 0,
        // public ID_FunctionType: number = 0,
        /* tslint:enable: variable-name */
    ) {
        super(APP_ID);
    }
}
export class CandidateAll extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        public ID_EventCongress: number = 0,

        /* tslint:enable: variable-name */
    ) {
        super(APP_ID);
    }
}

export class CongEventCandidateOutput extends BaseOutput {
    constructor(
        /* tslint:disable: variable-name */
        public ID: number = 0,
        public DateCreate: string = '',
        public DisplayName: string = '',
        public ID_EventCongress: number = 0,
        public EventCongress: string = '',
        public ID_CandidateState: string = '',
        public CandidateState: string = '',
        public StateDecision: string = '',
        public ID_Person: number = 0,
        public Person: string = '',
        public ID_CandidateWith: number = 0,
        public PersonWith: string = '',
        public ID_EventCongressFunction: number = 0,
        public EventCongressFunction: string = '',
        public ID_FunctionType: number = 0,
        public FunctionType: string = '',
        public ID_UnitType: string = '',
        public UnitType: string = '',
        public AttachmentExtension: string = '',
        public VotesCount: number = 0,
        public Order: number = 0,
        public IsElected: boolean = false,
        public CanSetIsElected: boolean = false,
        public IsPersonWith: boolean = false,
        public CanChangeOrder: boolean = false,
        public IsLeader: boolean = false,
        public CanSetLeader: boolean = false,
        /* tslint:enable: variable-name */
    ) {
        super();
    }

}
export class CongEventFunctionOutput extends BaseOutput {
    constructor(
        /* tslint:disable: variable-name */
        public ID: number = 0,
        public DisplayName: string = '',
        public ID_EventCongress: number = 0,
        public EventCongress: string = '',
        public ID_FunctionType: number = 0,
        public FunctionType: string = '',
        public Code: string = '',
        public CandidateCount: number = 0,
        public CandidateTotalCount: number = 0,
        /* tslint:enable: variable-name */
    ) {
        super();
    }
}
export class CongEventFunctionAllMaxOutput extends BaseOutput {
    constructor(
        /* tslint:disable: variable-name */
        public ID: number = 0,
        public MaxCount: number = 0,
        public ID_FunctionType: number = 0,
        public FunctionType: string = '',
        /* tslint:enable: variable-name */
    ) {
        super();
    }
}
export class CongEventDecisionOutput extends BaseOutput {
    constructor(
        /* tslint:disable: variable-name */
        public ID: number = 0,
        public ID_EventCongress: number = 0,
        public IsSuggest: boolean = false,
        public Suggester: string = '',
        public ID_EventCongressDecisionType: string = '',
        public EventCongressDecisionType: string = '',
        public ID_UnitType: string = '',
        public UnitType: string = '',
        public Text: string = '',
        public Decision: string = '',
        public ID_PersonCreated: number = 0,
        public PersonCreated: string = '',
        public DateCreated: string = '',
        /* tslint:enable: variable-name */
    ) {
        super();
    }
}


export class CongEventDetailOutput extends BaseOutput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        public ID: number = 0,
        public ID_Event: number = 0,
        public Event: string = '',
        public ID_UnitRegistration: number = 0,
        public UnitRegistration: string = '',
        public PromulgationDeadline: string = '',
        public CommissionDeadline: string = '',
        public CandidateDeadline: string = '',
        public ID_EventCongressType: string = '',
        public EventCongressType: string = '',
        public ID_EventCongressState: string = '',
        public EventCongressState: string = '',
        public ID_Unit: number = 0,
        public Unit: string = '',
        public RegistrationNumber: string = '',
        public ID_UnitType: string = '',
        public StartDate: string = '',
        public EndDate: string = '',
        public GpsLatitude: number = 0,
        public GpsLongitude: number = 0,
        public Location: string = '',
        public AlternateStartDate: string = '',
        public AlternateEndDate: string = '',
        public AlternateGpsLatitude: number = 0,
        public AlternateGpsLongitude: number = 0,
        public AlternateLocation: string = '',
        public Note: string = '',
        public ProtocolExtension: string = '',
        public ProtocolContent: string = '',
        public CandidateAfterDeadline: number = 0,
        public ArriveDeadline: string = '',
        public DepartureDeadline: string = '',
        public TransportDeadline: string = '',
        public AccommodationDeadline: string = '',
        public FoodDeadline: string = '',
        public ParticipantFee: number = 0,
        public FunctionAgreementExtension: string = '',
        public SimplifiedEntryExtension: string = '',
        public SimplifiedEntryTemplateExtension: string = '',
        public ID_TempFileSimplifiedEntry: string = '',
        public DelegateQuota: number = 0,
        public IsDelegateQuotaParentSet: boolean = false,
        public ID_DocumentProtocol: number = 0,
        public ID_DocumentSimplifiedEntry: number = 0,
        /* tslint:enable: variable-name */
    ) {
        super();
    }

}