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