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

export class EduEventDetailOutput extends BaseOutput {
    /* tslint:disable: variable-name */
    constructor(
        public ID_Login: string = '',
        public ID: number = 0,
        public ID_EventEducationState: string = '',
        public EventEducationState: string = '',
        public Web: string = '',
        public EmailContact: string = '',
        public PhoneContact: string = '',
        public DateApproved: Date = null,
        public Grant: number = 0,
        public ID_GrantType: string = '',
        public GrantType: string = '',
        public ID_GrantAdvanceType: string = '',
        public GrantAdvanceType: string = '',
        public DateClosed: Date = null,
        public ID_PersonClosed: number = 0,
        public PersonClosed: string = '',
        public LogoFileName: string = '',
        public PropagationFileName1: string = '',
        public PropagationFileName2: string = '',
        public PropagationFileName3: string = '',
        public LoginSkautis: boolean = false,
        public LoginLocation: string = '',
        public Description: string = '',
        public DisplayName: string = '',
        public ID_Unit: number = 0,
        public StartDate: Date = null,
        public EndDate: Date = null,
        public Location: string = '',
        public ID_EventEducationType: number = 0,
        public Note: string = '',
        public Unit: string = '',
        public RegistrationNumber: string = '',
        public ID_Event: number = 0,
        public ID_PersonLeader: number = 0,
        public PersonLeader: string = '',
        public LeaderPhone: string = '',
        public LeaderPhoneDisplay: string = '',
        public LeaderEmail: string = '',
        public LeaderEmailDisplay: string = '',
        public LeaderNote: string = '',
        public ID_PersonAssistant: number = 0,
        public AssistantNote: string = '',
        public ID_PersonSecretary: number = 0,
        public SecretaryNote: string = '',
        public ID_PersonEconomist: number = 0,
        public EconomistNote: string = '',
        public RegistrationDeadline: Date = null,
        // public LogoContent: string = '',
        public ID_DocumentLogo: number = 0,
        public ID_DocumentLogoPreview: number = 0,
        public ID_DocumentLogoMiniature: number = 0,
        public ID_TempFileLogo: string = '',
        public ID_TempFileProject: string = '',
        public ProjectDelete: boolean = false,
        public Project: string = '',
        public ProjectExtension: string = '',
        public ProjectNote: string = '',
        // public ProjectContent: string = '',
        public ID_PersonProject: number = 0,
        public PersonProject: string = '',
        public ProjectApproved: Date = null,
        public ProjectUpdate: Date = null,
        public ID_TempFileFinalReport: string = '',
        public FinalReportDelete: boolean = false,
        public FinalReport: string = '',
        public FinalReportExtension: string = '',
        public FinalReportNote: string = '',
        // public FinalReportContent: string = '',
        public ID_PersonFinalReport: number = 0,
        public PersonFinalReport: string = '',
        public FinalReportUpdate: Date = null,
        public FinalReportApproved: Date = null,
        public RejectionNote: string = '',
        public DisapproveNote: string = '',
        public WaterDisapproveNote: string = '',
        public IsWaterman: boolean = false,
        public IsForester: boolean = false,
        public IsPossibleToGraduate: boolean = false,
        public Published: Date = null,
        public Confirmed: Date = null,
        public Approved: Date = null,
        public ApprovedWater: Date = null,
        public GrantNew: Date = null,
        public GrantApproved: Date = null,
        public GrantDecisionNew: Date = null,
        public GrantDecisionConfirmed: Date = null,
        public AdvanceSent: Date = null,
        public ID_Grant: number = 0,
        public Fulfilment: number = 0,
        public Publicized: Date = null,
        public ID_GrantState: string = '',
        public IsQualifyingExam: boolean = false,
        public HasGrantRequest: boolean = false,
        public HasTermsOnlyForNextYear: boolean = false,
        public LastTerm: Date = null,
        public IsCounselor: boolean = false,
        public DateUnitApproved: Date = null,
        public IsProjectRequired: boolean = false,
        public IsFinalReportRequired: boolean = false,
        public IsConditionCheckManual: boolean = false,
        public IsConditionCheckManualNote: string = '',
        public LoginFrom: Date = null,
        public LoginTo: Date = null,
        public IsEditable: boolean = false,
        public ParticipantSubstitute: number = 0,
        public ParticipantEstimated: number = 0,
        public DisplayNameCourse: string = '',
        public CapacityCourse: number = 0,

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

export class EventDetailLogoOutput extends BaseOutput {
    /* tslint:disable: variable-name */
    constructor(
        public ID_Login: string = '',
        public ID: number = 0,
        public ID_EventEducationState: string = '',
        public EventEducationState: string = '',
        public Web: string = '',
        public EmailContact: string = '',
        public PhoneContact: string = '',
        public DateApproved: string = '',
        public Grant: number = 0,
        public ID_GrantType: string = '',
        public GrantType: string = '',
        public ID_GrantAdvanceType: string = '',
        public GrantAdvanceType: string = '',
        public DateClosed: string = '',
        public ID_PersonClosed: number = 0,
        public PersonClosed: string = '',
        public LogoFileName: string = '',
        public PropagationFileName1: string = '',
        public PropagationFileName2: string = '',
        public PropagationFileName3: string = '',
        public LoginSkautis: boolean = false,
        public LoginLocation: string = '',
        public Description: string = '',
        public DisplayName: string = '',
        public ID_Unit: number = 0,
        public StartDate: string = '',
        public EndDate: string = '',
        public Location: string = '',
        public ID_EventEducationType: number = 0,
        public Note: string = '',
        public Unit: string = '',
        public RegistrationNumber: string = '',
        public ID_Event: number = 0,
        public ID_PersonLeader: number = 0,
        public PersonLeader: string = '',
        public LeaderPhone: string = '',
        public LeaderPhoneDisplay: string = '',
        public LeaderEmail: string = '',
        public LeaderEmailDisplay: string = '',
        public LeaderNote: string = '',
        public ID_PersonAssistant: number = 0,
        public AssistantNote: string = '',
        public ID_PersonSecretary: number = 0,
        public SecretaryNote: string = '',
        public ID_PersonEconomist: number = 0,
        public EconomistNote: string = '',
        public RegistrationDeadline: string = '',
        public LogoContent: string = '',
        public ID_DocumentLogo: number = 0,
        public ID_DocumentLogoPreview: number = 0,
        public ID_DocumentLogoMiniature: number = 0,
        public ID_TempFileLogo: string = '',
        public ID_TempFileProject: string = '',
        public ProjectDelete: boolean = false,
        public Project: string = '',
        public ProjectExtension: string = '',
        public ProjectNote: string = '',
        public ProjectContent: string = '',
        public ID_PersonProject: number = 0,
        public PersonProject: string = '',
        public ProjectApproved: string = '',
        public ProjectUpdate: string = '',
        public ID_TempFileFinalReport: string = '',
        public FinalReportDelete: boolean = false,
        public FinalReport: string = '',
        public FinalReportExtension: string = '',
        public FinalReportNote: string = '',
        public FinalReportContent: string = '',
        public ID_PersonFinalReport: number = 0,
        public PersonFinalReport: string = '',
        public FinalReportUpdate: string = '',
        public FinalReportApproved: string = '',
        public RejectionNote: string = '',
        public DisapproveNote: string = '',
        public WaterDisapproveNote: string = '',
        public IsWaterman: boolean = false,
        public IsForester: boolean = false,
        public IsPossibleToGraduate: boolean = false,
        public Published: string = '',
        public Confirmed: string = '',
        public Approved: string = '',
        public ApprovedWater: string = '',
        public GrantNew: string = '',
        public GrantApproved: string = '',
        public GrantDecisionNew: string = '',
        public GrantDecisionConfirmed: string = '',
        public AdvanceSent: string = '',
        public ID_Grant: number = 0,
        public Fulfilment: number = 0,
        public Publicized: string = '',
        public ID_GrantState: string = '',
        public IsQualifyingExam: boolean = false,
        public HasGrantRequest: boolean = false,
        public HasTermsOnlyForNextYear: boolean = false,
        public LastTerm: string = '',
        public IsCounselor: boolean = false,
        public DateUnitApproved: string = '',
        public IsProjectRequired: boolean = false,
        public IsFinalReportRequired: boolean = false,
        public IsConditionCheckManual: boolean = false,
        public IsConditionCheckManualNote: string = '',
        public LoginFrom: string = '',
        public LoginTo: string = '',
        public IsEditable: boolean = false,
        public ParticipantSubstitute: number = 0,
        public ParticipantEstimated: number = 0,
        public DisplayNameCourse: string = '',
        public CapacityCourse: number = 0,
    ) {
        super();
    }
    /* tslint:enable: variable-name */
}

export class EventEducationDetailLogo extends BaseInput {
    /* tslint:disable: variable-name */
    constructor(
        public appId: string = APP_ID,
        public ID_Login: string = '',
        public ID: number = 0,
        public Size: string = 'small',
        public ReturnImageData: boolean = true

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

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

export class EventEducationCourseTermAll extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string,
        public ID_EventEducation: number,
        /* tslint:enable: variable-name */
    ) {
        super();
    }
}

export class EventEducationCourseAll extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public appId: string = APP_ID,
        public ID_Login: string = '',
        public ID_EventEducation: number = 0,
        /* tslint:enable: variable-name */

    ) {
        super();
    }
}

export class EventEducationCourseTermDetail extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        public ID: number = 0,
        /* tslint:enable: variable-name */

    ) {
        super();
    }
}

export class EventEducationCourseDetail extends BaseInput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        public ID: number = 0,
        public ID_EventEducation: number = 0
        /* tslint:enable: variable-name */

    ) {
        super();
    }
}

export class EduEventCoursesTermsOutput extends BaseOutput {
    constructor(
        /* tslint:disable: variable-name */
        public ID: number = 0,
        public ID_EventEducationCourse: number = 0,
        public EventEducationCourse: string = '',
        public ID_EventEducationTerm: number = 0,
        public EventEducationTerm: string = '',
        public ID_EventEducationLocation: number = 0,
        public EventEducationLocation: string = '',
        /* tslint:enable: variable-name */

    ) {
        super();
    }
}
export class EduEventLocationDetailOutput extends BaseOutput {
    constructor(
        /* tslint:disable: variable-name */
        public ID_Login: string = '',
        public ID: number = 0,
        public IsActive: boolean = false,
        public ID_EventEducation: number = 0,
        public DisplayName: string = '',
        public ID_Region: number = 0,
        public Region: string = '',
        public Street: string = '',
        public Postcode: string = '',
        public City: string = '',
        public Latitude: number = 0,
        public Longitude: number = 0,
        public Note: string = '',
        public FirstLine: string = '',
        /* tslint:enable: variable-name */

    ) {
        super();
    }
}

export class EduEventCourseOutput extends BaseOutput {
    constructor(
        /* tslint:disable: variable-name */
        public ID: number = 0,
        public IsActive: boolean = false,
        public ID_EventEducation: number = 0,
        public ID_EventEducationType: number = 0,
        public ID_Occupation: number = 0,
        public EventEducationType: string = '',
        public Occupation: string = '',
        public CapacityCourse: number = 0,
        public CapacitySubstitute: number = 0,
        public RegistrationDeadline: Date = null,
        public EstimatedParticipantCount: number = 0,
        public Note: string = '',
        public IsContractor: boolean = false,
        public AccreditationNumber: string = '',
        public PersonDays: number = 0,
        public IsCustomPersonDays: boolean = false,
        public DisplayName: string = ''

        /* tslint:enable: variable-name */

    ) {
        super()
    }
}