using System; using System.Collections.Generic; using Hangfire; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.Utils; using Kreta.Core; using Kreta.Core.ConnectionType; using Kreta.DataAccessManual; using Kreta.Job.Tasks.Core; using Kreta.Job.Tasks.Core.Models; using Kreta.Resources; namespace Kreta.BusinessLogic.Helpers { public class UzenetekHelper : LogicBase { public UzenetekHelper(IConnectionType connectionType) : base(connectionType) { } public bool Leiratkozas(Guid guid) { bool result = Dal.CustomConnection.Run(ConnectionType, dal => dal.Email().UpdateIsHibasanMegadvaFlag(TanevId, guid)); return result; } public void GondviseloJelszoEmail(string message, string emailcim, Guid emailGuid) { EmailKuldes(message, EmailResource.KretaBelepesiAdatok, emailcim, emailGuid); } /// INFO @DevKornel: Mobil használja public void EmailKuldes(string message, string subject, string emailcim, Guid? emailGuid = null) { var emailModel = new EmailModel(IntezmenyAzonosito, emailGuid) { Message = message + string.Format(CommonResource.TevesCimzett, CommonUtils.GetIntezmenyFenntartoEmail(FelhasznaloId, IntezmenyAzonosito, IntezmenyId, TanevId)) + Environment.NewLine + CommonUtils.GetIntezmenyLinkWithNevEsUrl(FelhasznaloId, IntezmenyAzonosito, IntezmenyId, TanevId), Subject = subject, TargetEmail = emailcim }; if (!string.IsNullOrWhiteSpace(emailcim) && emailcim.IsValidEmail()) { BackgroundJob.Enqueue(email => email.SendMailAsync(emailModel)); } } public void EmailekKuldese(List modelList) { string intezmenyFenntartoEmail = CommonUtils.GetIntezmenyFenntartoEmail(FelhasznaloId, IntezmenyAzonosito, IntezmenyId, TanevId); string intezmenyNevEsUrl = CommonUtils.GetIntezmenyLinkWithNevEsUrl(FelhasznaloId, IntezmenyAzonosito, IntezmenyId, TanevId); string tevesCimzett = string.Format(CommonResource.TevesCimzett, intezmenyFenntartoEmail); List emailJobList = new List(); foreach (var model in modelList) { emailJobList.Add(new EmailModel(IntezmenyAzonosito, model.EmailGuid) { Message = model.Message + tevesCimzett + Environment.NewLine + intezmenyNevEsUrl, Subject = model.Subject, TargetEmail = model.EmailCim }); } BackgroundJob.Enqueue(email => email.SendMailMessages(emailJobList)); } /// INFO @DevKornel: Mobil használja public void HazifeladatEmail(string osztalyCsoportNev, string tantargyNev, DateTime oraDatum, string diakNev, string hazifeladatSzoveg, string tanarEmail, DateTime oraKezdete, DateTime oraVege, Guid emailGuid, int? oraszam = null) { var emailMsg = string.Empty; if (oraszam.HasValue && oraszam.Value > 0) emailMsg = string.Format(EmailResource.HazifeladatTanora, oraDatum.ToShortDateString(), tantargyNev, diakNev, hazifeladatSzoveg, osztalyCsoportNev, oraszam.ToString()); else emailMsg = string.Format(EmailResource.HazifeladatNapirend, oraDatum.ToShortDateString(), tantargyNev, diakNev, hazifeladatSzoveg, osztalyCsoportNev, oraKezdete.ToString("hh:MM"), oraVege.ToString("hh:MM")); var emailSubject = string.Format(EmailResource.HazifeladatSubject, osztalyCsoportNev, tantargyNev, oraDatum.ToShortDateString()); EmailKuldes(emailMsg, emailSubject, tanarEmail, emailGuid); } public SendEmailCo GetHelyettesitesSendEmailCo(int helyettesitesId) { var sendEmailCo = new SendEmailCo(); var intezmenyData = GetIntezmenyiAdatok(); var helyettesitesData = GetHelyettesitesAdatok(helyettesitesId); sendEmailCo.EmailCim = helyettesitesData.HelyettesitoEmail; sendEmailCo.EmailGuid = helyettesitesData.HelyettesitoEmailGuid; sendEmailCo.Subject = !helyettesitesData.IsNapirend ? string.Format(EmailResource.HelyettesitesTanoraSubject, helyettesitesData.OraDatuma, helyettesitesData.OraSzama, helyettesitesData.TantargyNev, helyettesitesData.OsztalyCsoportNev) : string.Format(EmailResource.HelyettesitesNapirendSubject, helyettesitesData.OraDatuma, helyettesitesData.OraKezdete, helyettesitesData.OraVege, helyettesitesData.TantargyNev, helyettesitesData.OsztalyCsoportNev); sendEmailCo.Message = !helyettesitesData.IsNapirend ? string.Format(EmailResource.HelyettesitesTanoraMessage, helyettesitesData.HelyettesitoNev, intezmenyData.Nev, helyettesitesData.OraDatuma, helyettesitesData.OraSzama, helyettesitesData.TantargyNev, helyettesitesData.OsztalyCsoportNev, helyettesitesData.TeremNev, helyettesitesData.HelyettesitesTipusa, helyettesitesData.HelyettesitettNev) : string.Format(EmailResource.HelyettesitesNapirendMessage, helyettesitesData.HelyettesitoNev, intezmenyData.Nev, helyettesitesData.OraDatuma, helyettesitesData.OraKezdete, helyettesitesData.OraVege, helyettesitesData.TantargyNev, helyettesitesData.OsztalyCsoportNev, helyettesitesData.TeremNev, helyettesitesData.HelyettesitettNev, helyettesitesData.HelyettesitesTipusa); return sendEmailCo; } public SendEmailCo GetHelyettesitesTorlesSendEmailCo(int helyettesitesId) { var sendEmailCo = new SendEmailCo(); var intezmenyData = GetIntezmenyiAdatok(); var helyettesitesData = GetHelyettesitesAdatok(helyettesitesId); sendEmailCo.EmailCim = helyettesitesData.HelyettesitoEmail; sendEmailCo.EmailGuid = helyettesitesData.HelyettesitoEmailGuid; sendEmailCo.Subject = !helyettesitesData.IsNapirend ? string.Format(EmailResource.HelyettesitesTorolveTanoraSubject, helyettesitesData.OraDatuma, helyettesitesData.OraSzama, helyettesitesData.TantargyNev, helyettesitesData.OsztalyCsoportNev) : string.Format(EmailResource.HelyettesitesTorolveNapirendSubject, helyettesitesData.OraDatuma, helyettesitesData.OraKezdete, helyettesitesData.OraVege, helyettesitesData.TantargyNev, helyettesitesData.OsztalyCsoportNev); sendEmailCo.Message = !helyettesitesData.IsNapirend ? string.Format(EmailResource.HelyettesitesTorolveTanoraMessage, helyettesitesData.HelyettesitoNev, intezmenyData.Nev, helyettesitesData.OraDatuma, helyettesitesData.OraSzama, helyettesitesData.TantargyNev, helyettesitesData.OsztalyCsoportNev, helyettesitesData.TeremNev, helyettesitesData.HelyettesitettNev, helyettesitesData.HelyettesitesTipusa) : string.Format(EmailResource.HelyettesitesTorolveNapirendMessage, helyettesitesData.HelyettesitoNev, intezmenyData.Nev, helyettesitesData.OraDatuma, helyettesitesData.OraKezdete, helyettesitesData.OraVege, helyettesitesData.TantargyNev, helyettesitesData.OsztalyCsoportNev, helyettesitesData.TeremNev, helyettesitesData.HelyettesitesTipusa, helyettesitesData.HelyettesitettNev); return sendEmailCo; } public void SendEmail(SendEmailCo sendEmailCo) { EmailKuldes(sendEmailCo.Message, sendEmailCo.Subject, sendEmailCo.EmailCim, sendEmailCo.EmailGuid); } private IntezmenyCO GetIntezmenyiAdatok() { return new IntezmenyHelper(ConnectionType).GetIntezmenyiAdatok(); } private HelyettesitesCO GetHelyettesitesAdatok(int helyettesitesId) { return new HelyettesitesHelper(ConnectionType).GetHelyettesitesEmailDataById(helyettesitesId); } } }