Work on DbDriver
This commit is contained in:
@@ -58,113 +58,179 @@ namespace BoredCareers.Services.DatabaseService {
|
|||||||
|
|
||||||
public async Task<Resume?> GetResume(int ResumeID) {
|
public async Task<Resume?> GetResume(int ResumeID) {
|
||||||
Resume? resume = null;
|
Resume? resume = null;
|
||||||
using (MySqlConnection connection = GetConnection()) {
|
|
||||||
|
|
||||||
connection.Open();
|
MySqlConnection resumeConnection = GetConnection();
|
||||||
MySqlCommand resumeCommand = new MySqlCommand("SELECT * FROM Resume WHERE ID = @ResumeID;", connection);
|
MySqlConnection ResumeExperienceConnection = GetConnection();
|
||||||
MySqlCommand ResumeExperienceCommand = new MySqlCommand("SELECT * FROM ResumeExperience WHERE ResumeID = @ResumeID;", connection);
|
MySqlConnection ResumeExperienceBulletConnection = GetConnection();
|
||||||
MySqlCommand ResumeExperienceBulletCommand = new MySqlCommand("SELECT * FROM ResumeExperienceBullet WHERE ResumeID = @ResumeID;");
|
MySqlConnection ResumeMilitaryConnection = GetConnection();
|
||||||
MySqlCommand ResumeMilitaryCommand = new MySqlCommand("SELECT * FROM ResumeMilitary WHERE ResumeID = @ResumeID;", connection);
|
MySqlConnection ResumeMilitaryBulletConnection = GetConnection();
|
||||||
MySqlCommand ResumeMilitaryBulletCommand = new MySqlCommand("SELECT * FROM ResumeMilitaryBullet WHERE ResumeID = @ResumeID", connection);
|
MySqlConnection ResumeEducationConnection = GetConnection();
|
||||||
MySqlCommand ResumeEducationCommand = new MySqlCommand("SELECT * FROM ResumeEducation WHERE ResumeID = @ResumeID;", connection);
|
MySqlConnection ResumeSkillConnection = GetConnection();
|
||||||
MySqlCommand ResumeSkillCommand = new MySqlCommand("SELECT * FROM ResumeSkill WHERE ResumeID = @ResumeID;", connection);
|
MySqlConnection ResumeLanguageConnection = GetConnection();
|
||||||
MySqlCommand ResumeLanguageCommand = new MySqlCommand("SELECT * FROM ResumeLanguage WHERE ResumeID = @ResumeID;", connection);
|
MySqlConnection ResumeCertificationConnection = GetConnection();
|
||||||
MySqlCommand ResumeCertificationCommand = new MySqlCommand("SELECT * FROM ResumeCertification WHERE ResumeID = @ResumeID;", connection);
|
MySqlConnection ResumeProjectConnection = GetConnection();
|
||||||
MySqlCommand ResumeProjectCommand = new MySqlCommand("SELECT * FROM ResumeProject WHERE ResumeID = @ResumeID;", connection);
|
|
||||||
|
|
||||||
resumeCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
Task resumeopen = resumeConnection.OpenAsync();
|
||||||
ResumeExperienceCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
Task resumeexperienceopen = ResumeExperienceConnection.OpenAsync();
|
||||||
ResumeExperienceBulletCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
Task resumeexperiencebulletopen = ResumeExperienceBulletConnection.OpenAsync();
|
||||||
ResumeMilitaryCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
Task resumemilitaryopen = ResumeMilitaryConnection.OpenAsync();
|
||||||
ResumeMilitaryBulletCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
Task resumemilitarybulletopen = ResumeMilitaryBulletConnection.OpenAsync();
|
||||||
ResumeEducationCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
Task resumeeducationopen = ResumeEducationConnection.OpenAsync();
|
||||||
ResumeSkillCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
Task resumeskillopen = ResumeSkillConnection.OpenAsync();
|
||||||
ResumeLanguageCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
Task resumelanguageopen = ResumeLanguageConnection.OpenAsync();
|
||||||
ResumeCertificationCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
Task resumecertifcationopen = ResumeCertificationConnection.OpenAsync();
|
||||||
ResumeProjectCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
Task resumeprojectopen = ResumeProjectConnection.OpenAsync();
|
||||||
|
|
||||||
Task<DbDataReader> resumeReader = resumeCommand.ExecuteReaderAsync();
|
await Task.WhenAll(resumeopen, resumeexperienceopen, resumeexperiencebulletopen, resumemilitaryopen, resumemilitarybulletopen,
|
||||||
Task<DbDataReader> ResumeExperienceReader = ResumeExperienceCommand.ExecuteReaderAsync();
|
resumeeducationopen, resumeskillopen, resumelanguageopen, resumecertifcationopen, resumeprojectopen);
|
||||||
Task<DbDataReader> ResumeExperienceBulletReader = ResumeExperienceBulletCommand.ExecuteReaderAsync();
|
|
||||||
Task<DbDataReader> ResumeMilitaryReader = ResumeMilitaryCommand.ExecuteReaderAsync();
|
|
||||||
Task<DbDataReader> ResumeMilitaryBulletReader = ResumeMilitaryBulletCommand.ExecuteReaderAsync();
|
|
||||||
Task<DbDataReader> ResumeEducationReader = ResumeEducationCommand.ExecuteReaderAsync();
|
|
||||||
Task<DbDataReader> ResumeSkillReader = ResumeSkillCommand.ExecuteReaderAsync();
|
|
||||||
Task<DbDataReader> ResumeLanguageReader = ResumeLanguageCommand.ExecuteReaderAsync();
|
|
||||||
Task<DbDataReader> ResumeCertificationReader = ResumeCertificationCommand.ExecuteReaderAsync();
|
|
||||||
Task<DbDataReader> ResumeProjectnReader = ResumeProjectCommand.ExecuteReaderAsync();
|
|
||||||
|
|
||||||
await Task.WhenAll(resumeReader, ResumeExperienceReader, ResumeExperienceBulletReader, ResumeMilitaryReader, ResumeMilitaryBulletReader, ResumeEducationReader, ResumeSkillReader, ResumeLanguageReader, ResumeCertificationReader, ResumeProjectnReader);
|
MySqlCommand resumeCommand = new MySqlCommand("SELECT * FROM Resume WHERE ID = @ResumeID;", resumeConnection);
|
||||||
|
MySqlCommand ResumeExperienceCommand = new MySqlCommand("SELECT * FROM ResumeExperience WHERE ResumeID = @ResumeID;", ResumeExperienceConnection);
|
||||||
|
MySqlCommand ResumeExperienceBulletCommand = new MySqlCommand("SELECT * FROM ResumeExperienceBullet WHERE ResumeID = @ResumeID;", ResumeExperienceBulletConnection);
|
||||||
|
MySqlCommand ResumeMilitaryCommand = new MySqlCommand("SELECT * FROM ResumeMilitary WHERE ResumeID = @ResumeID;", ResumeMilitaryConnection);
|
||||||
|
MySqlCommand ResumeMilitaryBulletCommand = new MySqlCommand("SELECT * FROM ResumeMilitaryBullet WHERE ResumeID = @ResumeID", ResumeMilitaryBulletConnection);
|
||||||
|
MySqlCommand ResumeEducationCommand = new MySqlCommand("SELECT * FROM ResumeEducation WHERE ResumeID = @ResumeID;", ResumeEducationConnection);
|
||||||
|
MySqlCommand ResumeSkillCommand = new MySqlCommand("SELECT * FROM ResumeSkill WHERE ResumeID = @ResumeID;", ResumeSkillConnection);
|
||||||
|
MySqlCommand ResumeLanguageCommand = new MySqlCommand("SELECT * FROM ResumeLanguage WHERE ResumeID = @ResumeID;", ResumeLanguageConnection);
|
||||||
|
MySqlCommand ResumeCertificationCommand = new MySqlCommand("SELECT * FROM ResumeCertification WHERE ResumeID = @ResumeID;", ResumeCertificationConnection);
|
||||||
|
MySqlCommand ResumeProjectCommand = new MySqlCommand("SELECT * FROM ResumeProject WHERE ResumeID = @ResumeID;", ResumeProjectConnection);
|
||||||
|
|
||||||
using (DbDataReader reader = await resumeReader) {
|
resumeCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||||
while (await reader.ReadAsync()) {
|
ResumeExperienceCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||||
if (reader == null) {
|
ResumeExperienceBulletCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||||
break;
|
ResumeMilitaryCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||||
}
|
ResumeMilitaryBulletCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||||
|
ResumeEducationCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||||
|
ResumeSkillCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||||
|
ResumeLanguageCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||||
|
ResumeCertificationCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||||
|
ResumeProjectCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||||
|
|
||||||
int _id = reader.GetInt32("ID");
|
Task<DbDataReader> resumeReader = resumeCommand.ExecuteReaderAsync();
|
||||||
int _accountid = reader.GetInt32("AccountID");
|
Task<DbDataReader> ResumeExperienceReader = ResumeExperienceCommand.ExecuteReaderAsync();
|
||||||
string _name = reader.GetString("Name");
|
Task<DbDataReader> ResumeExperienceBulletReader = ResumeExperienceBulletCommand.ExecuteReaderAsync();
|
||||||
string _field = reader.GetString("Field");
|
Task<DbDataReader> ResumeMilitaryReader = ResumeMilitaryCommand.ExecuteReaderAsync();
|
||||||
string _email = reader.GetString("Email");
|
Task<DbDataReader> ResumeMilitaryBulletReader = ResumeMilitaryBulletCommand.ExecuteReaderAsync();
|
||||||
string _phonenumber = reader.GetString("PhoneNumber");
|
Task<DbDataReader> ResumeEducationReader = ResumeEducationCommand.ExecuteReaderAsync();
|
||||||
string _postalcode = reader.GetString("PostalCode");
|
Task<DbDataReader> ResumeSkillReader = ResumeSkillCommand.ExecuteReaderAsync();
|
||||||
string _country = reader.GetString("Country");
|
Task<DbDataReader> ResumeLanguageReader = ResumeLanguageCommand.ExecuteReaderAsync();
|
||||||
string _state = reader.GetString("StateOrRegion");
|
Task<DbDataReader> ResumeCertificationReader = ResumeCertificationCommand.ExecuteReaderAsync();
|
||||||
string _city = reader.GetString("City");
|
Task<DbDataReader> ResumeProjectnReader = ResumeProjectCommand.ExecuteReaderAsync();
|
||||||
bool _isactive = reader.GetBoolean("IsActive");
|
|
||||||
|
|
||||||
resume = new Resume() {
|
await Task.WhenAll(resumeReader, ResumeExperienceReader, ResumeExperienceBulletReader, ResumeMilitaryReader, ResumeMilitaryBulletReader,
|
||||||
ID = _id,
|
ResumeEducationReader, ResumeSkillReader, ResumeLanguageReader, ResumeCertificationReader, ResumeProjectnReader);
|
||||||
AccountID = _accountid,
|
|
||||||
Name = _name,
|
using (DbDataReader reader = await resumeReader) {
|
||||||
Field = _field,
|
while (await reader.ReadAsync()) {
|
||||||
Email = _email,
|
if (reader == null) { break; }
|
||||||
PhoneNumber = _phonenumber,
|
int _id = reader.GetInt32("ID");
|
||||||
PostalCode = _postalcode,
|
int _accountid = reader.GetInt32("AccountID");
|
||||||
Country = _country,
|
string _name = reader.GetString("Name");
|
||||||
StateOrRegion = _state,
|
string _field = reader.GetString("Field");
|
||||||
City = _city,
|
string _email = reader.GetString("Email");
|
||||||
IsActive = _isactive
|
string _phonenumber = reader.GetString("PhoneNumber");
|
||||||
};
|
string _postalcode = reader.GetString("PostalCode");
|
||||||
|
string _country = reader.GetString("Country");
|
||||||
|
string _state = reader.GetString("StateOrRegion");
|
||||||
|
string _city = reader.GetString("City");
|
||||||
|
bool _isactive = reader.GetBoolean("IsActive");
|
||||||
|
resume = new Resume() {
|
||||||
|
ID = _id,
|
||||||
|
AccountID = _accountid,
|
||||||
|
Name = _name,
|
||||||
|
Field = _field,
|
||||||
|
Email = _email,
|
||||||
|
PhoneNumber = _phonenumber,
|
||||||
|
PostalCode = _postalcode,
|
||||||
|
Country = _country,
|
||||||
|
StateOrRegion = _state,
|
||||||
|
City = _city,
|
||||||
|
IsActive = _isactive
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ResumeExperienceBullet> experienceBullets = new List<ResumeExperienceBullet>();
|
||||||
|
using (DbDataReader reader = await ResumeExperienceBulletReader) {
|
||||||
|
while (await reader.ReadAsync()) {
|
||||||
|
if (reader == null) { break; }
|
||||||
|
int _id = reader.GetInt32("ID");
|
||||||
|
int _resumeid = reader.GetInt32("ResumeID");
|
||||||
|
int _experienceid = reader.GetInt32("ResumeExperienceID");
|
||||||
|
string _jobfunction = reader.GetString("JobFunction");
|
||||||
|
experienceBullets.Add( new ResumeExperienceBullet() {
|
||||||
|
ID = _id,
|
||||||
|
ResumeID = _resumeid,
|
||||||
|
ResumeExperienceID = _experienceid,
|
||||||
|
JobFunction = _jobfunction
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Dictionary<int, List<ResumeExperienceBullet>> groupedExperienceBullets = experienceBullets
|
||||||
|
.GroupBy(b => b.ResumeExperienceID)
|
||||||
|
.ToDictionary(g => g.Key, g => g.ToList());
|
||||||
|
|
||||||
|
using (DbDataReader reader = await ResumeExperienceReader) {
|
||||||
|
List<ResumeExperience> experience = new List<ResumeExperience>();
|
||||||
|
while (await reader.ReadAsync()) {
|
||||||
|
if (reader == null) {
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
int _id = reader.GetInt32("ID");
|
||||||
|
int _resumeid = reader.GetInt32("ResumeID");
|
||||||
|
string _jobtitle = reader.GetString("JobTitle");
|
||||||
|
string _company = reader.GetString("Company");
|
||||||
|
string _postalcode = reader.GetString("PostalCode");
|
||||||
|
string _country = reader.GetString("Country");
|
||||||
|
string _state = reader.GetString("StateOrRegion");
|
||||||
|
string _city = reader.GetString("City");
|
||||||
|
DateTime _datestarted = reader.GetDateTime("DateStarted");
|
||||||
|
bool _stillempoyed = reader.GetBoolean("StillEmployed");
|
||||||
|
DateTime _dateended = reader.GetDateTime("DateEnded");
|
||||||
|
|
||||||
|
experience.Add( new ResumeExperience() {
|
||||||
|
ID = _id,
|
||||||
|
ResumeID = _resumeid,
|
||||||
|
JobTitle = _jobtitle,
|
||||||
|
Company = _company,
|
||||||
|
PostalCode = _postalcode,
|
||||||
|
Country = _country,
|
||||||
|
StateOrRegion = _state,
|
||||||
|
City = _city,
|
||||||
|
DateStarted = _datestarted,
|
||||||
|
StillEmployed = _stillempoyed,
|
||||||
|
DateEnded = _dateended,
|
||||||
|
ExperienceBullets = groupedExperienceBullets[_id].ToArray()
|
||||||
|
} );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
using (DbDataReader reader = await ResumeExperienceReader) {
|
using (DbDataReader reader = await ResumeMilitaryBulletReader) {
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
using (DbDataReader reader = await ResumeExperienceBulletReader) {
|
}
|
||||||
|
|
||||||
}
|
using (DbDataReader reader = await ResumeMilitaryReader) {
|
||||||
|
|
||||||
using (DbDataReader reader = await ResumeMilitaryReader) {
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
using (DbDataReader reader = await ResumeMilitaryBulletReader) {
|
using (DbDataReader reader = await ResumeEducationReader) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
using (DbDataReader reader = await ResumeEducationReader) {
|
using (DbDataReader reader = await ResumeSkillReader) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
using (DbDataReader reader = await ResumeSkillReader) {
|
using (DbDataReader reader = await ResumeLanguageReader) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
using (DbDataReader reader = await ResumeLanguageReader) {
|
using (DbDataReader reader = await ResumeCertificationReader) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
using (DbDataReader reader = await ResumeCertificationReader) {
|
using (DbDataReader reader = await ResumeProjectnReader) {
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
using (DbDataReader reader = await ResumeProjectnReader) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return resume;
|
return resume;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user