public bool TenantIdentify(ApplicationSummary applicationSummary, Campaign @event)
        {
            //var identityLogic = _identityLogicFactory.GetIdentityLogicByType();
            //var result = identityLogic.Execute(applicationSummary, @event);

            return false;
        }
        public void Execute(Campaign campaign)
        {
            var dataGather = _dataGatherFactory.GetDataGatherByType(campaign.Type);
            var landlordSummaries = dataGather.GatherData(campaign);

            var processor = new NewPropertySubmissionDataProcessor(_subscriberTrackingService);
            processor.ProcessNewCampaignMembers(landlordSummaries, campaign);
        }
        public void Execute(Campaign campaign)
        {
            var dataGather = _dataGatherFactory.GetDataGatherByType(campaign.Type);
            var applicationSummaries = dataGather.GatherData(campaign);

            var processor = new BookAViewingDataProcessor(_subscriberTrackingService);
            processor.ProcessNewCampaignMembers(applicationSummaries, campaign);
        }
        public void Execute(Campaign campaign)
        {
            var dataGather = _dataGatherFactory.GetDataGatherByType(campaign.Type);
            var applicationSummaries = dataGather.GatherData(campaign);

            var processor = new NewPropertyAddedDataProcessor(_recordService, _logger, _subscriberTrackingService);
            processor.ProcessNewCampaignMembers(applicationSummaries, campaign);
        }
        public void Execute(Campaign campaign)
        {
            var dataGather = _dataGatherFactory.GetDataGatherByType(campaign.Type);
            var applicableApplications = dataGather.GatherData(campaign);

            var processor = new NoGuarantorDataProcessor(_subscriberTrackingService, _logger);
            processor.ProcessNewCampaignMembers(applicableApplications, campaign);
        }
        public bool ExecuteCampaign(Campaign campaign)
        {
            var campaignLogic = _campaignLogicFactory.GetCampaignLogicByType(campaign.Type);

            if (campaignLogic != null)
            {
                campaignLogic.Execute(campaign);
                return true;
            }

            return false;
        }
        public static SubscriberRecord BuildLandlordSubscriberRecord(LandlordSummary summary, Campaign campaign)
        {
            var subscriberRecord = new SubscriberRecord
            {
                ApplicationReference = summary.LandlordReference,
                CustomerReference = null,
                SubscriberEmail = summary.Email,
                SubscriberTelephoneNumber = summary.Mobile,
                SegmentType = campaign.SegmentType,
                EventType = campaign.Type
            };

            return subscriberRecord;
        }
        public static SubscriberRecord BuildTenantSubscriber(ApplicationSummary summary, Campaign campaign)
        {
            var tenant = summary.Customers.FirstOrDefault(c => EnumHelper<RoleType>.Parse(c.RoleType) == RoleType.MasterTenant);
            if (tenant == null)
                return null;

            var subscriberRecord = new SubscriberRecord
            {
                ApplicationReference = summary.ApplicationReference,
                CustomerReference = tenant.CustomerReference,
                SubscriberEmail = tenant.Email,
                SubscriberTelephoneNumber = tenant.TelephoneNumber,
                SegmentType = campaign.SegmentType,
                EventType = campaign.Type
            };

            return subscriberRecord;
        }
 public bool SetCampaignExecuteDate(Campaign campaign)
 {
     return _eventRepository.SetCampaignExecuted(campaign.CampaignId);
 }