Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }