working #27
@@ -6,6 +6,7 @@ USE `boredcareers`;
|
|||||||
CREATE TABLE IF NOT EXISTS `Resume` (
|
CREATE TABLE IF NOT EXISTS `Resume` (
|
||||||
`ID` int NOT NULL AUTO_INCREMENT,
|
`ID` int NOT NULL AUTO_INCREMENT,
|
||||||
`AccountID` int NOT NULL,
|
`AccountID` int NOT NULL,
|
||||||
|
`Title` varchar(100) NOT NULL,
|
||||||
`Name` varchar(100) NOT NULL,
|
`Name` varchar(100) NOT NULL,
|
||||||
`Field` varchar(100) DEFAULT NULL,
|
`Field` varchar(100) DEFAULT NULL,
|
||||||
`Email` varchar(255) NOT NULL,
|
`Email` varchar(255) NOT NULL,
|
||||||
@@ -47,6 +48,7 @@ CREATE TABLE IF NOT EXISTS `Resume` (
|
|||||||
CREATE TABLE IF NOT EXISTS `ResumeMilitary` (
|
CREATE TABLE IF NOT EXISTS `ResumeMilitary` (
|
||||||
`ID` int NOT NULL AUTO_INCREMENT,
|
`ID` int NOT NULL AUTO_INCREMENT,
|
||||||
`ResumeID` int NOT NULL,
|
`ResumeID` int NOT NULL,
|
||||||
|
`Veteran` boolean DEFAULT 0,
|
||||||
`Country` char(2) NOT NULL,
|
`Country` char(2) NOT NULL,
|
||||||
`Rank` varchar(50) NOT NULL,
|
`Rank` varchar(50) NOT NULL,
|
||||||
`DateStarted` date NOT NULL,
|
`DateStarted` date NOT NULL,
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
|
|
||||||
export class Resume {
|
export class Resume {
|
||||||
public id: number | null = null;
|
public id: number | null = null;
|
||||||
public accountID: number = 0;
|
public accountID: number | null = null;
|
||||||
|
|
||||||
|
public title: string = "";
|
||||||
public name: string = "";
|
public name: string = "";
|
||||||
public field: string = "";
|
public field: string = "";
|
||||||
public email: string = "";
|
public email: string = "";
|
||||||
@@ -17,11 +20,13 @@ export class Resume {
|
|||||||
public languages: ResumeLanguage[] = [];
|
public languages: ResumeLanguage[] = [];
|
||||||
public certification: ResumeCertification[] = [];
|
public certification: ResumeCertification[] = [];
|
||||||
public projects: ResumeProject[] = [];
|
public projects: ResumeProject[] = [];
|
||||||
|
public trackUUID: string = crypto.randomUUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ResumeExperience {
|
export class ResumeExperience {
|
||||||
public id: number | null = null;
|
public id: number | null = null;
|
||||||
public resumeID: number = 0;
|
public resumeID: number | null = null;
|
||||||
|
|
||||||
public jobTitle: string = "";
|
public jobTitle: string = "";
|
||||||
public company: string = "";
|
public company: string = "";
|
||||||
public postalCode: string = "";
|
public postalCode: string = "";
|
||||||
@@ -32,37 +37,46 @@ export class ResumeExperience {
|
|||||||
public stillEmployed: boolean = false;
|
public stillEmployed: boolean = false;
|
||||||
public dateEnded: Date = new Date();
|
public dateEnded: Date = new Date();
|
||||||
public experienceBullets: ResumeExperienceBullet[] = [];
|
public experienceBullets: ResumeExperienceBullet[] = [];
|
||||||
|
public trackUUID: string = crypto.randomUUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ResumeExperienceBullet {
|
export class ResumeExperienceBullet {
|
||||||
public id: number | null = null;
|
public id: number | null = null;
|
||||||
public resumeID: number = 0;
|
public resumeID: number | null = null;
|
||||||
public resumeExperienceID: number = 0;
|
public resumeExperienceID: number | null = null;
|
||||||
|
|
||||||
public jobFunction: string = "";
|
public jobFunction: string = "";
|
||||||
|
public trackUUID: string = crypto.randomUUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ResumeMilitary {
|
export class ResumeMilitary {
|
||||||
public id: number | null = null;
|
public id: number | null = null;
|
||||||
public resumeID: number = 0;
|
public resumeID: number | null = null;
|
||||||
|
|
||||||
|
public veteran: boolean = false;
|
||||||
public country: string = "";
|
public country: string = "";
|
||||||
public rank: string = "";
|
public rank: string = "";
|
||||||
public dateStarted: Date = new Date();
|
public dateStarted: Date = new Date();
|
||||||
public stillServing: boolean = false;
|
public stillServing: boolean = false;
|
||||||
public dateEnded: Date = new Date();
|
public dateEnded: Date = new Date();
|
||||||
public millitaryBullets: ResumeMilitaryBullet[] = [];
|
public millitaryBullets: ResumeMilitaryBullet[] = [];
|
||||||
|
public trackUUID: string = crypto.randomUUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ResumeMilitaryBullet {
|
export class ResumeMilitaryBullet {
|
||||||
public id: number | null = null;
|
public id: number | null = null;
|
||||||
public resumeID: number = 0;
|
public resumeID: number | null = null;
|
||||||
public resumeMilitaryID: number = 0;
|
public resumeMilitaryID: number | null = null;
|
||||||
|
|
||||||
public achievement: string = "";
|
public achievement: string = "";
|
||||||
public description: string = "";
|
public description: string = "";
|
||||||
|
public trackUUID: string = crypto.randomUUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ResumeEducation {
|
export class ResumeEducation {
|
||||||
public id: number | null = null;
|
public id: number | null = null;
|
||||||
public resumeID: number = 0;
|
public resumeID: number | null = null;
|
||||||
|
|
||||||
public degreeType: string = "";
|
public degreeType: string = "";
|
||||||
public degreeField: string = "";
|
public degreeField: string = "";
|
||||||
public school: string = "";
|
public school: string = "";
|
||||||
@@ -73,34 +87,43 @@ export class ResumeEducation {
|
|||||||
public dateStarted: Date = new Date();
|
public dateStarted: Date = new Date();
|
||||||
public stillStudying: boolean = false;
|
public stillStudying: boolean = false;
|
||||||
public dateEnded: Date = new Date();
|
public dateEnded: Date = new Date();
|
||||||
|
public trackUUID: string = crypto.randomUUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ResumeSkill {
|
export class ResumeSkill {
|
||||||
public id: number | null = null;
|
public id: number | null = null;
|
||||||
public resumeID: number = 0;
|
public resumeID: number | null = null;
|
||||||
|
|
||||||
public name: string = "";
|
public name: string = "";
|
||||||
public description: string = "";
|
public description: string = "";
|
||||||
|
public trackUUID: string = crypto.randomUUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ResumeLanguage {
|
export class ResumeLanguage {
|
||||||
public id: number | null = null;
|
public id: number | null = null;
|
||||||
public resumeID: number = 0;
|
public resumeID: number | null = null;
|
||||||
|
|
||||||
public language: string = "";
|
public language: string = "";
|
||||||
public proficiency: string = "";
|
public proficiency: string = "";
|
||||||
|
public trackUUID: string = crypto.randomUUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ResumeCertification {
|
export class ResumeCertification {
|
||||||
public id: number | null = null;
|
public id: number | null = null;
|
||||||
public resumeID: number = 0;
|
public resumeID: number | null = null;
|
||||||
|
|
||||||
public name: string = "";
|
public name: string = "";
|
||||||
public verificationURL: string = "";
|
public verificationURL: string = "";
|
||||||
public description: string = "";
|
public description: string = "";
|
||||||
|
public trackUUID: string = crypto.randomUUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ResumeProject {
|
export class ResumeProject {
|
||||||
public id: number | null = null;
|
public id: number | null = null;
|
||||||
public resumeID: number = 0;
|
public resumeID: number | null = null;
|
||||||
|
|
||||||
public name: string = "";
|
public name: string = "";
|
||||||
public url: string = "";
|
public url: string = "";
|
||||||
public description: string = "";
|
public description: string = "";
|
||||||
|
public trackUUID: string = crypto.randomUUID();
|
||||||
}
|
}
|
||||||
@@ -2,6 +2,7 @@ namespace BoredCareers.Entities {
|
|||||||
public class Resume {
|
public class Resume {
|
||||||
public int? ID { get; set; } // PK
|
public int? ID { get; set; } // PK
|
||||||
public int AccountID { get; set; } // FK
|
public int AccountID { get; set; } // FK
|
||||||
|
public string Title { get; set; } = "";
|
||||||
public string Name { get; set; } = "";
|
public string Name { get; set; } = "";
|
||||||
public string Field { get; set; } = "";
|
public string Field { get; set; } = "";
|
||||||
public string Email { get; set; } = "";
|
public string Email { get; set; } = "";
|
||||||
@@ -45,6 +46,7 @@ namespace BoredCareers.Entities {
|
|||||||
public class ResumeMilitary {
|
public class ResumeMilitary {
|
||||||
public int? ID { get; set; } // PK
|
public int? ID { get; set; } // PK
|
||||||
public int ResumeID { get; set; } // FK
|
public int ResumeID { get; set; } // FK
|
||||||
|
public bool Veteran { get; set; } = false;
|
||||||
public string Country { get; set; } = ""; // 2 Letter Country Code
|
public string Country { get; set; } = ""; // 2 Letter Country Code
|
||||||
public string Rank { get; set; } = "";
|
public string Rank { get; set; } = "";
|
||||||
public DateTime DateStarted { get; set; } = new DateTime();
|
public DateTime DateStarted { get; set; } = new DateTime();
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ namespace BoredCareers.Services.DatabaseService {
|
|||||||
|
|
||||||
int _id = reader.GetInt32("ID");
|
int _id = reader.GetInt32("ID");
|
||||||
int _accountid = reader.GetInt32("AccountID");
|
int _accountid = reader.GetInt32("AccountID");
|
||||||
|
string _title = reader.GetString("Title");
|
||||||
string _name = reader.GetString("Name");
|
string _name = reader.GetString("Name");
|
||||||
string _field = reader.GetString("Field");
|
string _field = reader.GetString("Field");
|
||||||
string _email = reader.GetString("Email");
|
string _email = reader.GetString("Email");
|
||||||
@@ -40,6 +41,7 @@ namespace BoredCareers.Services.DatabaseService {
|
|||||||
resumes.Add( new Resume() {
|
resumes.Add( new Resume() {
|
||||||
ID = _id,
|
ID = _id,
|
||||||
AccountID = _accountid,
|
AccountID = _accountid,
|
||||||
|
Title = _title,
|
||||||
Name = _name,
|
Name = _name,
|
||||||
Field = _field,
|
Field = _field,
|
||||||
Email = _email,
|
Email = _email,
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ namespace BoredCareers.Services.DatabaseService {
|
|||||||
if (reader == null) { break; }
|
if (reader == null) { break; }
|
||||||
int _id = reader.GetInt32("ID");
|
int _id = reader.GetInt32("ID");
|
||||||
int _accountid = reader.GetInt32("AccountID");
|
int _accountid = reader.GetInt32("AccountID");
|
||||||
|
string _title = reader.GetString("Title");
|
||||||
string _name = reader.GetString("Name");
|
string _name = reader.GetString("Name");
|
||||||
string _field = reader.GetString("Field");
|
string _field = reader.GetString("Field");
|
||||||
string _email = reader.GetString("Email");
|
string _email = reader.GetString("Email");
|
||||||
@@ -22,6 +23,7 @@ namespace BoredCareers.Services.DatabaseService {
|
|||||||
return new Resume() {
|
return new Resume() {
|
||||||
ID = _id,
|
ID = _id,
|
||||||
AccountID = _accountid,
|
AccountID = _accountid,
|
||||||
|
Title = _title,
|
||||||
Name = _name,
|
Name = _name,
|
||||||
Field = _field,
|
Field = _field,
|
||||||
Email = _email,
|
Email = _email,
|
||||||
@@ -112,6 +114,7 @@ namespace BoredCareers.Services.DatabaseService {
|
|||||||
if (reader == null) { break; }
|
if (reader == null) { break; }
|
||||||
int _id = reader.GetInt32("ID");
|
int _id = reader.GetInt32("ID");
|
||||||
int _resumeid = reader.GetInt32("ResumeID");
|
int _resumeid = reader.GetInt32("ResumeID");
|
||||||
|
bool _veteran = reader.GetBoolean("Veteran");
|
||||||
string _country = reader.GetString("Country");
|
string _country = reader.GetString("Country");
|
||||||
string _rank = reader.GetString("Rank");
|
string _rank = reader.GetString("Rank");
|
||||||
DateTime _datestarted = reader.GetDateTime("DateStarted");
|
DateTime _datestarted = reader.GetDateTime("DateStarted");
|
||||||
@@ -120,6 +123,7 @@ namespace BoredCareers.Services.DatabaseService {
|
|||||||
military = new ResumeMilitary() {
|
military = new ResumeMilitary() {
|
||||||
ID = _id,
|
ID = _id,
|
||||||
ResumeID = _resumeid,
|
ResumeID = _resumeid,
|
||||||
|
Veteran = _veteran,
|
||||||
Country = _country,
|
Country = _country,
|
||||||
Rank = _rank,
|
Rank = _rank,
|
||||||
DateStarted = _datestarted,
|
DateStarted = _datestarted,
|
||||||
|
|||||||
@@ -7,11 +7,12 @@ namespace BoredCareers.Services.DatabaseService {
|
|||||||
public async Task SetResume(MySqlConnection connection, Resume resume) {
|
public async Task SetResume(MySqlConnection connection, Resume resume) {
|
||||||
string command = @"
|
string command = @"
|
||||||
INSERT INTO Resume
|
INSERT INTO Resume
|
||||||
(ID,AccountID,Name,Field,Email,PhoneNumber,PostalCode,Country,StateOrRegion,City,IsActive)
|
(ID,AccountID,Title,Name,Field,Email,PhoneNumber,PostalCode,Country,StateOrRegion,City,IsActive)
|
||||||
VALUES
|
VALUES
|
||||||
(@ID,@AccountID,@Name,@Field,@Email,@PhoneNumber,@PostalCode,@Country,@StateOrRegion,@City,@IsActive)
|
(@ID,@AccountID,@Title,@Name,@Field,@Email,@PhoneNumber,@PostalCode,@Country,@StateOrRegion,@City,@IsActive)
|
||||||
ON DUPLICATE KEY UPDATE
|
ON DUPLICATE KEY UPDATE
|
||||||
AccountID = @AccountID,
|
AccountID = @AccountID,
|
||||||
|
Title = @Title,
|
||||||
Name = @Name,
|
Name = @Name,
|
||||||
Field = @Field,
|
Field = @Field,
|
||||||
Email = @Email,
|
Email = @Email,
|
||||||
@@ -26,6 +27,7 @@ namespace BoredCareers.Services.DatabaseService {
|
|||||||
MySqlCommand cmd = new MySqlCommand(command, connection);
|
MySqlCommand cmd = new MySqlCommand(command, connection);
|
||||||
cmd.Parameters.AddWithValue("@ID", resume.ID);
|
cmd.Parameters.AddWithValue("@ID", resume.ID);
|
||||||
cmd.Parameters.AddWithValue("@AccountID", resume.AccountID);
|
cmd.Parameters.AddWithValue("@AccountID", resume.AccountID);
|
||||||
|
cmd.Parameters.AddWithValue("@Title", resume.Title);
|
||||||
cmd.Parameters.AddWithValue("@Name", resume.Name);
|
cmd.Parameters.AddWithValue("@Name", resume.Name);
|
||||||
cmd.Parameters.AddWithValue("@Field", resume.Field);
|
cmd.Parameters.AddWithValue("@Field", resume.Field);
|
||||||
cmd.Parameters.AddWithValue("@Email", resume.Email);
|
cmd.Parameters.AddWithValue("@Email", resume.Email);
|
||||||
@@ -124,11 +126,12 @@ namespace BoredCareers.Services.DatabaseService {
|
|||||||
public async Task SetResumeMilitary(MySqlConnection connection, ResumeMilitary military) {
|
public async Task SetResumeMilitary(MySqlConnection connection, ResumeMilitary military) {
|
||||||
string command = @"
|
string command = @"
|
||||||
INSERT INTO Resume
|
INSERT INTO Resume
|
||||||
(ID,ResumeID,Country,Rank,DateStarted,StillServing,DateEnded)
|
(ID,ResumeID,Veteran,Country,Rank,DateStarted,StillServing,DateEnded)
|
||||||
VALUES
|
VALUES
|
||||||
(@ID,@ResumeID,@Country,@Rank,@DateStarted,@StillServing,@DateEnded)
|
(@ID,@ResumeID,@Veteran,@Country,@Rank,@DateStarted,@StillServing,@DateEnded)
|
||||||
ON DUPLICATE KEY UPDATE
|
ON DUPLICATE KEY UPDATE
|
||||||
ResumeID = @ResumeID,
|
ResumeID = @ResumeID,
|
||||||
|
Veteran = @Veteran,
|
||||||
Country = @Country,
|
Country = @Country,
|
||||||
Rank = @Rank,
|
Rank = @Rank,
|
||||||
DateStarted = @DateStarted,
|
DateStarted = @DateStarted,
|
||||||
@@ -139,6 +142,7 @@ namespace BoredCareers.Services.DatabaseService {
|
|||||||
MySqlCommand cmd = new MySqlCommand(command, connection);
|
MySqlCommand cmd = new MySqlCommand(command, connection);
|
||||||
cmd.Parameters.AddWithValue("@ID", military.ID);
|
cmd.Parameters.AddWithValue("@ID", military.ID);
|
||||||
cmd.Parameters.AddWithValue("@ResumeID", military.ResumeID);
|
cmd.Parameters.AddWithValue("@ResumeID", military.ResumeID);
|
||||||
|
cmd.Parameters.AddWithValue("@Veteran", military.Veteran);
|
||||||
cmd.Parameters.AddWithValue("@Country", military.Country);
|
cmd.Parameters.AddWithValue("@Country", military.Country);
|
||||||
cmd.Parameters.AddWithValue("@Rank", military.Rank);
|
cmd.Parameters.AddWithValue("@Rank", military.Rank);
|
||||||
cmd.Parameters.AddWithValue("@DateStarted", military.DateStarted.ToUniversalTime());
|
cmd.Parameters.AddWithValue("@DateStarted", military.DateStarted.ToUniversalTime());
|
||||||
|
|||||||
Reference in New Issue
Block a user