using FluentScheduler;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Sevomin.Models.Helpers.ScheduledTasks
|
|
{
|
|
public class NewApplication : ITask
|
|
{
|
|
public async void Execute()
|
|
{
|
|
var avalins = SevominDbContext.Current.DovominJobs.Where(dj => dj.ApplyDate.Date >= DateTime.Now.AddDays(-2).Date).Select(a => a.Job.Avalin);
|
|
|
|
foreach (var avalin in avalins.Distinct())
|
|
{
|
|
var applies = SevominDbContext.Current.DovominJobs.Where(dj => dj.Job.AvalinId == avalin.Id && dj.ApplyDate.Date == DateTime.Now.AddDays(-2).Date);
|
|
|
|
foreach (var apply in applies)
|
|
{
|
|
SevominEmailer emailer = new SevominEmailer();
|
|
emailer.EmailType = EmailType.NewApplication;
|
|
emailer.Parameters.Add("avalin-name", avalin.DisplayName);
|
|
emailer.Parameters.Add("avalin-contact", string.IsNullOrWhiteSpace(apply.Job.ContactPersonName) ? "" : apply.Job.ContactPersonName);
|
|
emailer.Parameters.Add("dovomin-name", apply.Dovomin.DisplayName);
|
|
|
|
if (string.IsNullOrWhiteSpace(apply.Job.ContactPersonEMail))
|
|
await emailer.SendAsync(avalin.Email, "اعلام آمادگی جدید برای فرصت شغلی اعلام شده در سومین", true);
|
|
else
|
|
{
|
|
await emailer.SendAsync(avalin.Email, "اعلام آمادگی جدید برای فرصت شغلی اعلام شده در سومین", true);
|
|
await emailer.SendAsync(apply.Job.ContactPersonEMail, "اعلام آمادگی جدید برای فرصت شغلی اعلام شده در سومین", true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|