working #38
@@ -12,7 +12,8 @@ Server:
|
|||||||
Need to update notification email
|
Need to update notification email
|
||||||
Create page to notify cx that their work email has been verified
|
Create page to notify cx that their work email has been verified
|
||||||
|
|
||||||
Verify that each resume section belongs to the resume it was created for:
|
Emails:
|
||||||
|
Make emails follow theme of website better
|
||||||
|
|
||||||
Client:
|
Client:
|
||||||
jobs/editor:
|
jobs/editor:
|
||||||
@@ -50,6 +51,9 @@ Client:
|
|||||||
Company:
|
Company:
|
||||||
Need to impliment Add employee
|
Need to impliment Add employee
|
||||||
Need to impliment Remove employee
|
Need to impliment Remove employee
|
||||||
|
Add comment fields to companies for company conversions
|
||||||
|
This should solve invisible overtime
|
||||||
|
Goes along with the ratings
|
||||||
|
|
||||||
AI Resume Rating:
|
AI Resume Rating:
|
||||||
Allow companies to determine if the resume looks AI -> add rating
|
Allow companies to determine if the resume looks AI -> add rating
|
||||||
|
|||||||
+17
-12
@@ -186,18 +186,18 @@ CREATE TABLE IF NOT EXISTS `JobListingSkill` (
|
|||||||
-- Postal Codes Section
|
-- Postal Codes Section
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `PostalCodes` (
|
CREATE TABLE IF NOT EXISTS `PostalCodes` (
|
||||||
`country code` char(2),
|
`CountryCode` char(2),
|
||||||
`postal code` varchar(20),
|
`PostalCode` varchar(20),
|
||||||
`place name` varchar(180),
|
`City` varchar(180),
|
||||||
`state` varchar(100),
|
`State` varchar(100),
|
||||||
`state code` varchar(20),
|
`StateCode` varchar(20),
|
||||||
`city` varchar(100),
|
`County` varchar(100),
|
||||||
`admin code2` varchar(20),
|
`CountyCode` varchar(20),
|
||||||
`admin name3` varchar(100),
|
`Admin` varchar(100),
|
||||||
`admin code3` varchar(20),
|
`AdminCode` varchar(20),
|
||||||
`latitude` float,
|
`Latitude` float,
|
||||||
`longitude` float,
|
`Longitude` float,
|
||||||
`accuracy` varchar(2)
|
`Accuracy` varchar(2)
|
||||||
);
|
);
|
||||||
|
|
||||||
LOAD DATA INFILE '/var/lib/mysql-files/postalcodes.csv'
|
LOAD DATA INFILE '/var/lib/mysql-files/postalcodes.csv'
|
||||||
@@ -206,6 +206,11 @@ FIELDS TERMINATED BY '\t'
|
|||||||
ENCLOSED BY '"'
|
ENCLOSED BY '"'
|
||||||
LINES TERMINATED BY '\n';
|
LINES TERMINATED BY '\n';
|
||||||
|
|
||||||
|
CREATE INDEX idx_country_code ON PostalCodes(CountryCode);
|
||||||
|
CREATE INDEX idx_postal_code ON PostalCodes(PostalCode);
|
||||||
|
CREATE INDEX idx_latitude ON PostalCodes(Latitude);
|
||||||
|
CREATE INDEX idx_longitude ON PostalCodes(Longitude);
|
||||||
|
|
||||||
-- Application Section
|
-- Application Section
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `JobApplication` (
|
CREATE TABLE IF NOT EXISTS `JobApplication` (
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ namespace BoredCareers.Controllers {
|
|||||||
EmailContents = Substitue(EmailContents, "@ID", CompanyID.ToString());
|
EmailContents = Substitue(EmailContents, "@ID", CompanyID.ToString());
|
||||||
EmailContents = Substitue(EmailContents, "@VerifyPassword", test.EmailToken);
|
EmailContents = Substitue(EmailContents, "@VerifyPassword", test.EmailToken);
|
||||||
|
|
||||||
string result = _emailContext.Send(test.Email, EmailService.CompanyVerifyEmailSubject, EmailContents);
|
string result = await _emailContext.Send(test.Email, EmailService.CompanyVerifyEmailSubject, EmailContents);
|
||||||
_emailContext._SentEmails.Add(key, DateTime.Now);
|
_emailContext._SentEmails.Add(key, DateTime.Now);
|
||||||
return Redirect("/");
|
return Redirect("/");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.8" />
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.8" />
|
||||||
|
<PackageReference Include="MailKit" Version="4.13.0" />
|
||||||
<PackageReference Include="BCrypt.Net-Next" Version="4.0.3" />
|
<PackageReference Include="BCrypt.Net-Next" Version="4.0.3" />
|
||||||
<PackageReference Include="MySql.Data" Version="9.4.0" />
|
<PackageReference Include="MySql.Data" Version="9.4.0" />
|
||||||
<PackageReference Include="Stripe.net" Version="48.2.0" />
|
<PackageReference Include="Stripe.net" Version="48.2.0" />
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ namespace BoredCareers.Services.TimerService {
|
|||||||
string emailbody = EmailService.JobAutoClosedBody;
|
string emailbody = EmailService.JobAutoClosedBody;
|
||||||
//Substitue(emailbody, "@job", listing.JobListingID);
|
//Substitue(emailbody, "@job", listing.JobListingID);
|
||||||
|
|
||||||
_em.Send(email, EmailService.JobAutoClosedSubject, emailbody);
|
await _em.Send(email, EmailService.JobAutoClosedSubject, emailbody);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
using System.Net.Mail;
|
using System.Threading.Tasks;
|
||||||
|
using MailKit.Net.Smtp;
|
||||||
|
using MailKit.Security;
|
||||||
|
using MimeKit;
|
||||||
|
|
||||||
namespace BoredCareers.Services {
|
namespace BoredCareers.Services {
|
||||||
public partial class EmailService {
|
public partial class EmailService {
|
||||||
@@ -17,25 +20,29 @@ namespace BoredCareers.Services {
|
|||||||
EmailPassword = _EmailPassword;
|
EmailPassword = _EmailPassword;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Send( string Destination, string Subject, string Body ) {
|
public async Task<string> Send(string Destination, string Subject, string Body) {
|
||||||
using (SmtpClient client = new SmtpClient( EmailServer, EmailPort )){
|
|
||||||
client.EnableSsl = true;
|
|
||||||
client.Credentials = new System.Net.NetworkCredential( EmailAddress, EmailPassword );
|
|
||||||
try {
|
try {
|
||||||
MailMessage msg = new MailMessage(){
|
MimeMessage message = new MimeMessage();
|
||||||
IsBodyHtml = true,
|
message.From.Add(new MailboxAddress(EmailAddress.Split('@')[0], EmailAddress));
|
||||||
Subject = Subject,
|
message.To.Add(new MailboxAddress(Destination.Split('@')[0], Destination));
|
||||||
Body = Body
|
message.Subject = Subject;
|
||||||
};
|
|
||||||
msg.From = new MailAddress( EmailAddress, "no-reply" );
|
BodyBuilder messageBody = new BodyBuilder();
|
||||||
msg.To.Add( new MailAddress( Destination ) );
|
messageBody.HtmlBody = Body;
|
||||||
client.Send( msg );
|
|
||||||
return "Success";
|
message.Body = messageBody.ToMessageBody();
|
||||||
|
|
||||||
|
using (SmtpClient client = new SmtpClient()) {
|
||||||
|
await client.ConnectAsync(EmailServer, EmailPort);
|
||||||
|
client.Authenticate(new SaslMechanismLogin(EmailAddress, EmailPassword));
|
||||||
|
string serverResponse = await client.SendAsync(message);
|
||||||
|
await client.DisconnectAsync(true);
|
||||||
|
return serverResponse;
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return "An Error Has Occurred Sending Email : " + e.ToString();
|
return "An Error Has Occurred Sending Email : " + e.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user