Пример #1
0
        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();
        }