Exemple #1
0
 public ContentManager(IWarmingRepository warmingRepository, IOenRepository oenRepository, IRedirectLinkService redirectLinkService, IStatsProvider statsProvider)
 {
     _warmingRepository = warmingRepository;
     _oenRepository = oenRepository;
     _redirectLinkService = redirectLinkService;
     _statsProvider = statsProvider;
 }
Exemple #2
0
 public DomainsController
 (
     IOenRepository oenRepository
 )
 {
     _oenRepository = oenRepository;
 }
Exemple #3
0
        public JobsRunner
        (
            AwpContext awpContext,
            IOenRepository oenRepository,
            IWarmingManager warmingManager, 
            BaseStatsProvider statsProvider)
        {
            _awpContext = awpContext;
            _statsProvider = statsProvider;
            _oenRepository = oenRepository as OenRepository;

            _warmingManager = warmingManager as WarmingManager;
            _warmingManager.OnStart += (s, e) => OnJobEventStart(s, e);
            _warmingManager.OnEnd += (s, e) => OnJobEventEnd(s, e);
            _warmingManager.OnError += (s, e) => OnJobEventError(s, e);
            _warmingManager.OnReport += (s, e) => OnJobEventReport(s, e);
            _warmingManager.OnProgressReport += (s, e) =>
            {
                OnStatsReport(s,new DataEventArgs<IEnumerable<StatsResult>>(statsProvider.GetResults(true)));
                OnJobProgressReport(s, e);
            };

            ProcessesToSkip = new List<string>();
        }
Exemple #4
0
        public WarmingManager
        (
           IWarmingWordsProvider wordsProvider,
           IWarmingService warmingService,
           IUsedWordsRepository usedWordsRepository,
           IWarmingRepository warmingRepository,
           IOenRepository oenRepository,
           IHeatRepository heatRepository,
           IContentManager contentManager,
            IStatsProvider statsProvider)
        {
            _wordsProvider = wordsProvider;

            _warmingService = warmingService;
            _warmingService.OnReport += NotificationReport;
            _warmingService.OnError += NotificationError;

            _usedWordsRepository = usedWordsRepository;
            _warmingRepository = warmingRepository;
            _oenRepository = oenRepository;
            _heatRepository = heatRepository;
            _contentManager = contentManager;
            _statsProvider = statsProvider;
        }
Exemple #5
0
 public RedirectLinkService(IOenRepository oenRepository)
 {
     _oenRepository = oenRepository;
 }
Exemple #6
0
        public void Cancel(JobCancellation.CancelReason reason, string userName, string comment, IOenRepository oenRepository)
        {
            if (!TerminatingStatuses.Contains(Status))
            {
                var targets = oenRepository.Retrieve<JobTarget>().Where(t => t.job_id == job_id).ToList();

                var blendingJobs = oenRepository.GetBlendingJobs(this);

                targets.AddRange(from j in blendingJobs
                                 join t in oenRepository.Retrieve<JobTarget>() on j.job_id equals t.job_id
                                 select t);

                targets.ForEach(t => t.jobtargetstatus_id = 4);

                oenRepository.AddJobCancellation(new JobCancellation()
                {
                    Comment = comment,
                    JobId = job_id,
                    Reason = reason,
                    StatusWhenCancelled = Status,
                    User = userName
                });

                Status = Statuses.Cancelled;
            }
        }
Exemple #7
0
 public WarmingService(OenContext context, IOenRepository oenRepository, IStatsProvider statsProvider)
 {
     _context = context;
     _oenRepository = oenRepository;
     _statsProvider = statsProvider;
 }
Exemple #8
0
        public void UpdateTrackingDomains(IEnumerable<string> hostNames, IOenRepository repository)
        {

            if (!domaingroup_id.HasValue)
            {
                throw new Exception("No Domain Group assigned");
            }

            var trackingDomains = (from td in repository.Retrieve<TrackingDomain>().Where(t => t.DeliveryGroupId == deliveryGroup_id)
                                   join d in repository.GetDomains() on td.DomainId equals d.domain_id
                                   select new
                                   {
                                       TrackingDomain = td,
                                       Domain = d
                                   }).ToList();

            trackingDomains.ForEach(t =>
            {
                t.TrackingDomain.Enabled = hostNames.Any(vt => vt.ToLower() == t.Domain.host.ToLower());
            });

            var existingHostNames = trackingDomains.Where(t => t.Domain != null).Select(t => t.Domain.host.ToLower()).Distinct();
            var trackingDomainsToInsert = hostNames.Where(t => !existingHostNames.Contains(t.ToLower())).ToList();

            // Once for validation so none are created unless all are valid
            trackingDomainsToInsert.ForEach(t =>
            {
                var domain = repository.GetDomains().FirstOrDefault(d => d.host == t && d.domainGroup_id != domaingroup_id);

                if (domain != null)
                {
                    throw new Exception("Tracking Domain in use by a different group");
                }
            });

            trackingDomainsToInsert.ForEach(t =>
            {
                var domain = repository.GetDomains().FirstOrDefault(d => d.host == t);

                if (domain == null)
                {
                    domain = repository.AddDomain(new Domain { host = t, domainGroup_id = domaingroup_id, enabled = true });
                    repository.SaveChanges();
                }

                repository.AddTrackingDomain(new TrackingDomain()
                {
                    Enabled = true,
                    DeliveryGroupId = deliveryGroup_id,
                    DomainId = domain.domain_id
                });

            });

        }
Exemple #9
0
        /////////////////////////////////////////////////////////////////////////////

        public void UpdateDomain(string domainName, IOenRepository repository)
        {

            if (!domaingroup_id.HasValue)
            {
                throw new Exception("No Domain Group assigned");
            }

            var domain = repository.GetDomains().FirstOrDefault(d => d.domainGroup_id == domaingroup_id && d.enabled);

            if (domain == null || !String.Equals(domain.host, domainName, StringComparison.CurrentCultureIgnoreCase))
            {
                var newDomain = repository.GetDomains().FirstOrDefault(d => d.host == domainName);

                if (newDomain != null && newDomain.domainGroup_id.HasValue && newDomain.domainGroup_id != domaingroup_id)
                {
                    throw new Exception("Domain is in use");
                }
                
                if (domain != null)
                {
                    domain.enabled = false;
                    domain.domainGroup_id = null;
                }

                if (newDomain == null)
                {
                    repository.AddDomain(new Domain { host = domainName, domainGroup_id = domaingroup_id, enabled = true });
                }
                else
                {
                    newDomain.enabled = true;
                }

            }
        }
 public RetargetingController(IOenRepository oen)
 {
     Oen = oen;
 }