public override void AfterRedisGet(RedisClient Redis) { try { this.EbDataSource = Redis.Get <EbDataSource>(this.DataSourceRefId); this.EbDataSource.AfterRedisGet(Redis); } catch (Exception e) { } }
public string Post(EmailServicesMqRequest request) { var _InfraDb = base.ResolveService <ITenantDbFactory>() as TenantDbFactory; var myService = base.ResolveService <EbObjectService>(); var res = (EbObjectParticularVersionResponse)myService.Get(new EbObjectParticularVersionRequest() { RefId = request.refid }); EbEmailTemplate ebEmailTemplate = new EbEmailTemplate(); foreach (var element in res.Data) { ebEmailTemplate = EbSerializers.Json_Deserialize(element.Json); } var myDs = base.ResolveService <EbObjectService>(); var myDsres = (EbObjectParticularVersionResponse)myDs.Get(new EbObjectParticularVersionRequest() { RefId = ebEmailTemplate.DataSourceRefId }); // get sql from ebdatasource and render the sql EbDataSource ebDataSource = new EbDataSource(); foreach (var element in myDsres.Data) { ebDataSource = EbSerializers.Json_Deserialize(element.Json); } var ds = _InfraDb.ObjectsDB.DoQueries(ebDataSource.Sql); var pattern = @"\{{(.*?)\}}"; var matches = Regex.Matches(ebEmailTemplate.Body, pattern); Dictionary <string, object> dict = new Dictionary <string, object>(); foreach (Match m in matches) { string str = Regex.Replace(m.Value, "[{}]", ""); foreach (var dt in ds.Tables) { string colname = dt.Rows[0][str.Split('.')[1]].ToString(); ebEmailTemplate.Body = ebEmailTemplate.Body.Replace(m.Value, colname); } } var emailMessage = new MimeMessage(); emailMessage.From.Add(new MailboxAddress("EXPRESSbase", "*****@*****.**")); emailMessage.To.Add(new MailboxAddress("", request.To)); emailMessage.Subject = ebEmailTemplate.Subject; emailMessage.Body = new TextPart("html") { Text = ebEmailTemplate.Body }; try { using (var client = new SmtpClient()) { client.LocalDomain = "www.expressbase.com"; client.Connect("smtp.gmail.com", 465, true); client.Authenticate(new System.Net.NetworkCredential() { UserName = "******", Password = "******" }); client.Send(emailMessage); client.Disconnect(true); } } catch (Exception e) { return(e.Message); } return(null); }