public HttpResponseMessage GetEmailValidatorContactsCount(CampaignRecipientsSummaryRequest summaryViewModel) { Logger.Current.Informational("For Getting Unique recepients count by search by tags or Saved Searches in Campaign Review and Send Screen of Campains Module"); GetCampaignUniqueRecipientsCountResponse recipientCounts = new GetCampaignUniqueRecipientsCountResponse(); recipientCounts.Recipients = new CampaignRecipientTypes(); if (summaryViewModel.AllSearchDefinitions != null && summaryViewModel.AllContactTags != null) { GetUniqueRecipientsCountResponse response = campaignService.GetEmailValidatorContactsCount(new GetUniqueRecipientsCountRequest() { Tags = summaryViewModel.AllContactTags.Select(s => s.TagID), SDefinitions = summaryViewModel.AllSearchDefinitions.Select(s => (int)s.SearchDefinitionID), AccountId = summaryViewModel.AccountId, RoleId = this.RoleId, RequestedBy = this.UserId, SelectedSearhDefinitionID = summaryViewModel.SearchDefinition != null ? summaryViewModel.SearchDefinition.SearchDefinitionID : default(int), SelectedTagID = summaryViewModel.ContactTag != null ? summaryViewModel.ContactTag.TagID : default(int) }); recipientCounts.Recipients = new CampaignRecipientTypes() { AllContactsByTag = response.TagActiveCount, AllContactsBySS = response.SDefinitionActiveCount, CampaignRecipientsCount = response.TagAllCount == 0 ? response.SDefinitionAllCount : response.TagAllCount }; } return(Request.BuildResponse(recipientCounts)); }
public HttpResponseMessage GetCampaignUniqueRecipientsCount(CampaignRecipientsSummaryRequest summaryViewModel) { Logger.Current.Informational("For Getting Unique recepients count by search by tags or Saved Searches in Campaign Review and Send Screen of Campains Module"); GetCampaignUniqueRecipientsCountResponse recipientCounts = new GetCampaignUniqueRecipientsCountResponse(); recipientCounts.Recipients = new CampaignRecipientTypes(); if (summaryViewModel.AllSearchDefinitions != null && summaryViewModel.AllContactTags != null) { GetUniqueRecipientsCountResponse response = //new GetUniqueRecipientsCountResponse(); campaignService.GetUniqueRecipients(new GetUniqueRecipientsCountRequest() { Tags = summaryViewModel.AllContactTags.Select(t => t.TagID), SDefinitions = summaryViewModel.AllSearchDefinitions.Select(s => (int)s.SearchDefinitionID), AccountId = summaryViewModel.AccountId, RoleId = this.RoleId, RequestedBy = this.UserId }); recipientCounts.Recipients = new CampaignRecipientTypes() { ActiveContactsBySS = response.SDefinitionActiveCount, AllContactsBySS = response.SDefinitionAllCount, AllContactsByTag = response.TagAllCount, ActiveContactsByTag = response.TagActiveCount, CampaignACTIVEandALLRecipientsCount = response.TagsActiveSdsAllCount, CampaignALLandACTIVERecipientsCount = response.TagsAllSDsActiveCount, CampaignActiveRecipientsCount = response.TotalActiveUniqueCount, CampaignRecipientsCount = response.TotalAllUniqueCount, }; #region Get Current Tag/SD Count int currentTagCount = 0; int currentSDefinitionCount = 0; if (summaryViewModel.ContactTag != null && response.TagCounts != null && response.TagCounts.Where(t => summaryViewModel.ContactTag.TagID == t.Key).Any()) { currentTagCount = response.TagCounts.Where(t => summaryViewModel.ContactTag.TagID == t.Key).FirstOrDefault().Value; } if (summaryViewModel.SearchDefinition != null && response.SDefinitionCounts != null && response.SDefinitionCounts.Where(s => summaryViewModel.SearchDefinition.SearchDefinitionID == s.Key).Any()) { currentSDefinitionCount = response.SDefinitionCounts.Where(s => summaryViewModel.SearchDefinition.SearchDefinitionID == s.Key).FirstOrDefault().Value; } recipientCounts.CountByTag = currentTagCount; recipientCounts.CountBySearchDefinition = currentSDefinitionCount; recipientCounts.TagCounts = response.TagCounts; recipientCounts.SDefinitionCounts = response.SDefinitionCounts; #endregion recipientCounts.CampaignRecipientsCount = recipientCounts.Recipients.CampaignRecipientsCount; } return(Request.BuildResponse(recipientCounts)); }