public async override void Run() { if (this.IsShuttingDown || this.Pause) { return; } var db = new SportsSystemDbContext(); var participationService = new ParticipationService(db); var representativeUsers = await participationService.GetDeniedUsersNotification(); //Prepare Postal classes to work outside of ASP.NET request var viewsPath = Path.GetFullPath(HostingEnvironment.MapPath(@"~/Views/Emails")); var engines = new ViewEngineCollection(); engines.Add(new FileSystemRazorViewEngine(viewsPath)); var emailService = new EmailService(engines); foreach (var competition in representativeUsers) { var email = new DeniedUsersNotifications { ViewName = "DeniedUsers", From = "*****@*****.**", EndDate = competition.EndDate, CompetitionName = competition.CompetitionName, Subject = string.Format("رفع اشکالات مشخصات وارد شده {0}", competition.CompetitionName), To = competition.Email, FirstName = competition.FirstName, LastName = competition.LastName, University = competition.University, DeniedCompetitors = competition.DeniedCompetitors, DeniedTechnicalStaffs = competition.DeniedTechnicalStaffs }; await emailService.SendAsync(email); } db.Dispose(); }
public async override void Run() { if (this.IsShuttingDown || this.Pause) return; var db = new SportsSystemDbContext(); var participationService = new ParticipationService(db); var representativeUsers = await participationService.GetDeniedUsersNotification(); //Prepare Postal classes to work outside of ASP.NET request var viewsPath = Path.GetFullPath(HostingEnvironment.MapPath(@"~/Views/Emails")); var engines = new ViewEngineCollection(); engines.Add(new FileSystemRazorViewEngine(viewsPath)); var emailService = new EmailService(engines); foreach (var competition in representativeUsers) { var email = new DeniedUsersNotifications { ViewName = "DeniedUsers", From = "*****@*****.**", EndDate = competition.EndDate, CompetitionName = competition.CompetitionName, Subject = string.Format("رفع اشکالات مشخصات وارد شده {0}", competition.CompetitionName), To = competition.Email, FirstName = competition.FirstName, LastName = competition.LastName, University = competition.University, DeniedCompetitors = competition.DeniedCompetitors, DeniedTechnicalStaffs = competition.DeniedTechnicalStaffs }; await emailService.SendAsync(email); } db.Dispose(); }