141 lines
7.9 KiB
C#
141 lines
7.9 KiB
C#
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<IEmailJob>(email => email.SendMailAsync(emailModel));
|
|
}
|
|
}
|
|
|
|
public void EmailekKuldese(List<FogadooraEmailModel> 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<EmailModel> emailJobList = new List<EmailModel>();
|
|
|
|
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<IEmailJob>(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);
|
|
}
|
|
}
|
|
}
|