diff --git a/Doppler.ReportingApi/Infrastructure/CampaignRepository.cs b/Doppler.ReportingApi/Infrastructure/CampaignRepository.cs index a0bdd89..7f09513 100644 --- a/Doppler.ReportingApi/Infrastructure/CampaignRepository.cs +++ b/Doppler.ReportingApi/Infrastructure/CampaignRepository.cs @@ -45,18 +45,15 @@ FROM dbo.usertimezone timezone DATEADD(MINUTE, @timezone, C.[UTCSentDate]) AS DATE ) AS [Date] - ,COALESCE(C.[AmountSentSubscribers], C.[AmountSubscribersToSend], 0) AS [Sent] - ,ISNULL(C.[DistinctOpenedMailCount],0) [Opens] - ,ISNULL(C.[DistinctClickCount],0) [Clicks] - ,ISNULL(C.[HardBouncedMailCount],0) [Hard] - ,ISNULL (C.[SoftBouncedMailCount],0) [Soft] - ,(CASE C.[Status] - WHEN 9 - THEN ISNULL(C.[UnsubscriptionsCount],0) - ELSE 0 - END) [Unsubscribes] + ,COALESCE(CS.[AmountSentSubscribers], CS.[AmountSubscribersToSend], 0) AS [Sent] + ,ISNULL(CS.[DistinctOpenedMailCount],0) [Opens] + ,ISNULL(CS.[DistinctClickCount],0) [Clicks] + ,ISNULL(CS.[HardBouncedMailCount],0) [Hard] + ,ISNULL (CS.[SoftBouncedMailCount],0) [Soft] + ,ISNULL(CS.[UnsubscriptionsCount],0) [Unsubscribes] ,0 [Spam] FROM [dbo].[Campaign] C WITH (NOLOCK) + LEFT JOIN dbo.CampaignStats CS ON CS.IdCampaign = C.IdCampaign JOIN [dbo].[User] U WITH (NOLOCK) ON C.[IdUser] = U.[IdUser] WHERE diff --git a/Doppler.ReportingApi/Infrastructure/SummaryRepository.cs b/Doppler.ReportingApi/Infrastructure/SummaryRepository.cs index 08d4401..cd4955a 100644 --- a/Doppler.ReportingApi/Infrastructure/SummaryRepository.cs +++ b/Doppler.ReportingApi/Infrastructure/SummaryRepository.cs @@ -29,13 +29,14 @@ public async Task GetCampaignsSummaryByUserAsync(string userNa CAST(NULLIF((ISNULL(T.DistinctOpenedMailCount, 0) + ISNULL(T.UnopenedMailCount, 0)), 0) AS FLOAT) * 100 AS ClickThroughRate FROM ( SELECT - SUM(Campaign.AmountSentSubscribers) AS TotalSentEmails, - SUM(Campaign.DistinctOpenedMailCount) AS DistinctOpenedMailCount, + SUM(CS.AmountSentSubscribers) AS TotalSentEmails, + SUM(CS.DistinctOpenedMailCount) AS DistinctOpenedMailCount, - SUM(Campaign.UnopenedMailCount) AS UnopenedMailCount, + SUM(CS.UnopenedMailCount) AS UnopenedMailCount, SUM(LinkInfo.UniqueClickCount) AS UniqueClickCount FROM [user] INNER JOIN Campaign WITH (NOLOCK) on [user].iduser = Campaign.IdUser + LEFT JOIN CampaignStats CS ON CS.IdCampaign = Campaign.IdCampaign OUTER APPLY ( SELECT COUNT(DISTINCT LT.IdSubscriber) AS UniqueClickCount FROM Link L WITH (NOLOCK)