public override void HandleWebHook(UserConnection userConnection) { int hyperLinkRId = WebHookUtilities.GetHyperLinkRId(userConnection, HyperLink, EmailId); if (hyperLinkRId == 0) { return; } var selectQuery = new Select(userConnection) .Column("BulkEmail", "RId") .Column("Contact", "RId") .Column(Column.Parameter(hyperLinkRId)) .Column(Column.Parameter(EventDate)) .Column(Column.Parameter(RecipientUId)) .From("MandrillRecipient") .InnerJoin("BulkEmail").On("MandrillRecipient", "BulkEmailRId").IsEqual("BulkEmail", "RId") .InnerJoin("Contact").On("MandrillRecipient", "ContactRId").IsEqual("Contact", "RId") .Where().Not().Exists(new Select(userConnection) .Column(Column.Const(1)) .From("MandrillClicks") .Where("MandrillClicks", "RecipientUId").IsEqual(Column.Parameter(RecipientUId)) .And("MandrillClicks", "HyperlinkRId").IsEqual(Column.Parameter(hyperLinkRId))) .And("MandrillRecipient", "UId").IsEqual(Column.Parameter(RecipientUId)) as Select; selectQuery.SpecifyNoLockHints(); new InsertSelect(userConnection).Into("MandrillClicks") .Set("BulkEmailRId", "ContactRId", "HyperlinkRId", "TimeStamp", "RecipientUId") .FromSelect(selectQuery).Execute(); }
public override void HandleWebHook(UserConnection userConnection) { int hyperLinkRId = WebHookUtilities.GetHyperLinkRId(userConnection, HyperLink, EmailId); if (hyperLinkRId == 0) { return; } new Update(userConnection, "BulkEmailHyperlink") .Set("ClicksCount", Column.Parameter(Clicks)) .Where("BulkEmailId").IsEqual(Column.Parameter(EmailId)) .And("RId").IsEqual(Column.Parameter(hyperLinkRId)).Execute(); }