using System; using System.Data; using Hangfire; using Kreta.Core; using Kreta.DataAccessManual; using Kreta.Job.Tasks.Core; using Kreta.Job.Tasks.Core.Models; using Kreta.Resources; namespace Kreta.Job.Tasks.Helpers.Email { internal static class NemNaplozottTanorakEmailHelper { internal static void SendNemNaplozottTanorakMail(string connectionString) { Dal.ServiceSystemConnection.Run(connectionString, (h) => { var tanarokNemNaplozottOrarendiOrakDataRows = h.OrarendiOra().GetTanarokNemNaplozottOrarendiOrakHetiEmailErtesito().Tables[0].Rows; string kuldesNapja = DateTime.Now.Date.ToString("yyyy.MM.dd"); foreach (DataRow dr in tanarokNemNaplozottOrarendiOrakDataRows) { string tanarNev = dr["NyomtatasiNev"].ToString(); string tanarEmailCim = dr["Email"].ToString(); Guid tanarEmailGuid = (Guid)dr["EmailGuid"]; string intezmenyAzonosito = dr["IntezmenyAzonosito"].ToString(); string intezmenyNev = dr["IntezmenyNev"].ToString(); string intezmenyEmailCim = dr["IntezmenyEmailCim"].ToString(); int osszesNemNaplozottOra = int.Parse(dr["OsszesNemNaplozottTanorak"].ToString()); int multHetenNemNaplozottHelyettesitesek = int.Parse(dr["MultHetenNemNaplozottHelyettesitesek"].ToString()); int multHetenNemNaplozottTanorak = int.Parse(dr["MultHetenNemNaplozottTanorak"].ToString()); if (!string.IsNullOrWhiteSpace(tanarEmailCim) && tanarEmailCim.IsValidEmail()) { var emailModel = new EmailModel(intezmenyAzonosito, tanarEmailGuid) { Message = string.Format(EmailResource.NemNaplozottTanorakEmailTartalom, tanarNev, intezmenyNev, string.Format(CommonResource.IntezmenyUrl, intezmenyAzonosito), multHetenNemNaplozottTanorak, multHetenNemNaplozottHelyettesitesek, osszesNemNaplozottOra) + string.Format(CommonResource.TevesCimzett, intezmenyEmailCim) + Environment.NewLine + string.Format(CommonResource.IntezmenyNevEsUrlLink, intezmenyNev, intezmenyAzonosito), Subject = $"{EmailResource.NemNaplozottTanorakEmailTargy} {kuldesNapja}", TargetEmail = tanarEmailCim }; BackgroundJob.Enqueue((email) => email.SendMailAsync(emailModel)); } } }); } } }