export class Resume {
    public id: number = -1;
    public accountID: number = 0;
    public name: string = "";
    public field: string = "";
    public email: string = "";
    public phoneNumber: string = "";
    public postalCode: string = "";
    public country: string = "";
    public stateOrRegion: string = "";
    public city: string = "";
    public isActive: boolean = false;
    public experience: ResumeExperience[] = [];
    public military: ResumeMilitary = new ResumeMilitary;
    public education: ResumeEducation[] = [];
    public skills: ResumeSkill[] = [];
    public languages: ResumeLanguage[] = [];
    public certification: ResumeCertification[] = [];
    public projects: ResumeProject[] = [];
}

export class ResumeExperience {
    id: number = -1;
    resumeID: number = 0;
    jobTitle: string = "";
    company: string = "";
    postalCode: string = "";
    country: string = "";
    stateOrRegion: string = "";
    city: string = "";
    dateStarted: Date = new Date();
    stillEmployed: boolean = false;
    dateEnded: Date = new Date();
    experienceBullets: ResumeExperienceBullet[] = [];
}

export class ResumeExperienceBullet {
    id: number = -1;
    resumeID: number = 0;
    resumeExperienceID: number = 0;
    jobFunction: string = "";
}

export class ResumeMilitary {
    id: number = -1;
    resumeID: number = 0;
    country: string = "";
    rank: string = "";
    dateStarted: Date = new Date();
    stillServing: boolean = false;
    dateEnded: Date = new Date();
    millitaryBullets: ResumeMilitaryBullet[] = [];
}

export class ResumeMilitaryBullet {
    id: number = -1;
    resumeID: number = 0;
    resumeMilitaryID: number = 0;
    achievement: string = "";
    description: string = "";
}

export class ResumeEducation {
    id: number = -1;
    resumeID: number = 0;
    degreeType: string = "";
    degreeField: string = "";
    school: string = "";
    postalCode: string = "";
    country: string = "";
    stateOrRegion: string = "";
    city: string = "";
    dateStarted: Date = new Date();
    stillStudying: boolean = false;
    dateEnded: Date = new Date();
}

export class ResumeSkill {
    id: number = -1;
    resumeID: number = 0;
    name: string = "";
    description: string = "";
}

export class ResumeLanguage {
    id: number = -1;
    resumeID: number = 0;
    language: string = "";
    proficiency: string = "";
}

export class ResumeCertification {
    id: number = -1;
    resumeID: number = 0;
    name: string = "";
    verificationURL: string = "";
    description: string = "";
}

export class ResumeProject {
    id: number = -1;
    resumeID: number = 0;
    name: string = "";
    url: string = "";
    description: string = "";
}