コード例 #1
0
        public ActionResult ActivityDetail(long campaignId)
        {
            CampaignAcivityDetailViewModel model = null;

            if (campaignId > 0)
            {
                model = _campaignService.GetCampaignActivity(campaignId);
                return(View(model));
            }
            return(View(model));
        }
コード例 #2
0
        public CampaignAcivityDetailViewModel GetCampaignActivity(long campaignId)
        {
            var campaignActivities = _campaignActivityRepository.GetByCampaignId(campaignId);

            IEnumerable <CampaignActivityAssignment> campaignActivityAssignments = null;
            var campaignCreatedByIds = new long[0];

            if (campaignActivities != null && campaignActivities.Any())
            {
                var campaignActivityIds = campaignActivities.Select(x => x.Id).ToArray();

                if (campaignActivityIds != null && campaignActivityIds.Any())
                {
                    campaignActivityAssignments = _campaignActivityAssignmentRepository.GetByCampaignActivityIds(campaignActivityIds).ToArray();

                    if (campaignActivityAssignments != null && campaignActivityAssignments.Any())
                    {
                        var activityAssignmentOrgRoleIds = campaignActivityAssignments.Select(x => x.AssignedToOrgRoleUserId).Distinct().ToArray();

                        campaignCreatedByIds = campaignCreatedByIds.Concat(activityAssignmentOrgRoleIds).ToArray();
                    }
                }
            }

            IEnumerable <OrderedPair <long, string> > campaignCreatedByAgentNameIdPair = null;

            if (campaignCreatedByIds != null && campaignCreatedByIds.Any())
            {
                campaignCreatedByAgentNameIdPair = _organizationRoleUserRepository.GetNameIdPairofUsers(campaignCreatedByIds).ToArray();
            }

            var campaign = _campaignRepository.GetById(campaignId);

            var directMailTypes = _directMailTypeRepository.GetAll();

            var activityViewModels = _campaignListModelFactory.GetCampaignActivityViewModel(campaignId, campaignActivities, campaignActivityAssignments, campaignCreatedByAgentNameIdPair, directMailTypes, campaign.IsPublished);

            var model = new CampaignAcivityDetailViewModel()
            {
                Campaign         = campaign,
                CampaignActivity = activityViewModels
            };

            return(model);
        }