public async Task <EntityEntry <CampaignConfiguration> > UpdateConfiguration(CampaignConfiguration configuration, CancellationToken cancellationToken)
        {
            var updatedConfiguration = _context.CampaignConfigurations.Update(configuration);
            await _context.SaveChangesAsync(cancellationToken);

            return(updatedConfiguration);
        }
Beispiel #2
0
        public Campaign(CampaignConfiguration ic_campaign, bool resolve_members = true)
        {
            id          = ic_campaign.ConfigurationId.Id;
            DisplayName = ic_campaign.ConfigurationId.DisplayName;
            PolicySets  = new List <PolicySet>();
            SkillSets   = new List <SkillSet>();
            if (resolve_members)
            {
                if (!string.IsNullOrEmpty(ic_campaign.AcdWorkgroup.Value.Id))
                {
                    try
                    {
                        AcdWorkgroup = Workgroup.find(ic_campaign.AcdWorkgroup.Value.Id);
                    }
                    catch (KeyNotFoundException)
                    {
                        //TODO: Trace/Warn?
                    }
                }
                if (!string.IsNullOrEmpty(ic_campaign.ContactList.Value.Id))
                {
                    try
                    {
                        ContactList = ContactList.find(ic_campaign.ContactList.Value.Id);
                    }
                    catch (KeyNotFoundException)
                    {
                        //TODO: Trace/Warn?
                    }
                }

                foreach (var ic_policyset in ic_campaign.PolicySets.Value)
                {
                    try
                    {
                        PolicySets.Add(PolicySet.find(ic_policyset.Id));
                    }
                    catch (KeyNotFoundException)
                    {
                        //TODO: Trace/Warn?
                    }
                }

                foreach (var ic_skillset in ic_campaign.SkillSets.Value)
                {
                    try
                    {
                        SkillSets.Add(SkillSet.find(ic_skillset.Id));
                    }
                    catch (KeyNotFoundException)
                    {
                        //TODO: Trace/Warn?
                    }
                }
            }
            configuration = ic_campaign;
        }
Beispiel #3
0
 public Campaign()
 {
     id            = string.Empty;
     DisplayName   = string.Empty;
     AcdWorkgroup  = null;
     ContactList   = null;
     PolicySets    = new List <PolicySet>();
     configuration = null;
 }
Beispiel #4
0
        public Campaign(CampaignConfiguration ic_campaign, bool resolve_members = true)
        {
            id = ic_campaign.ConfigurationId.Id;
            DisplayName = ic_campaign.ConfigurationId.DisplayName;
            PolicySets = new List<PolicySet>();
            SkillSets = new List<SkillSet>();
            if (resolve_members)
            {
                if (! string.IsNullOrEmpty(ic_campaign.AcdWorkgroup.Value.Id))
                {
                    try
                    {
                        AcdWorkgroup = Workgroup.find(ic_campaign.AcdWorkgroup.Value.Id);
                    }
                    catch(KeyNotFoundException)
                    {
                        //TODO: Trace/Warn?
                    }
                }
                if (! string.IsNullOrEmpty(ic_campaign.ContactList.Value.Id))
                {
                    try
                    {
                        ContactList = ContactList.find(ic_campaign.ContactList.Value.Id);
                    }
                    catch(KeyNotFoundException)
                    {
                        //TODO: Trace/Warn?
                    }
                }

                foreach (var ic_policyset in ic_campaign.PolicySets.Value)
                {
                    try
                    {
                        PolicySets.Add(PolicySet.find(ic_policyset.Id));
                    }
                    catch (KeyNotFoundException)
                    {
                        //TODO: Trace/Warn?
                    }
                }

                foreach (var ic_skillset in ic_campaign.SkillSets.Value)
                {
                    try
                    {
                        SkillSets.Add(SkillSet.find(ic_skillset.Id));
                    }
                    catch (KeyNotFoundException)
                    {
                        //TODO: Trace/Warn?
                    }
                }
            }
            configuration = ic_campaign;
        }
Beispiel #5
0
 public GetAdvertsQueryHandler(
     IFindApprenticeshipApiClient <FindApprenticeshipApiConfiguration> findApprenticeshipApiClient,
     ICourseService courseService,
     ILocationLookupService locationLookupService,
     IOptions <CampaignConfiguration> configuration)
 {
     _findApprenticeshipApiClient = findApprenticeshipApiClient;
     _courseService         = courseService;
     _locationLookupService = locationLookupService;
     _configuration         = configuration.Value;
 }
Beispiel #6
0
        public static async Task <byte[]> Create(DateTime targetTime, CampaignConfiguration configuration)
        {
            var width           = configuration.TimerWidth;
            var height          = configuration.TimerHeight;
            var fontSize        = configuration.FontSize;
            var backgroundColor = configuration.Transparent ?  Color.Transparent : Color.FromHex(configuration.BackgroundColor);
            var fontColor       = Color.FromHex(configuration.FontColor);
            var timeoutText     = configuration.TimeoutText;

            using var gif      = new Image <Rgba32>(width, height);
            await using var ms = new MemoryStream();
            var                 scopedTime          = targetTime;
            FontCollection      fonts               = new FontCollection();
            var                 fontFamily          = fonts.Install("Fonts/Montserrat-Bold.ttf");
            TextGraphicsOptions textGraphicsOptions = new TextGraphicsOptions(!configuration.Transparent);

            if (DateTime.Now > targetTime)
            {
                using Image <Rgba32> image = new Image <Rgba32>(width, height);
                image.Mutate(x => x
                             .BackgroundColor(backgroundColor)
                             .DrawText(textGraphicsOptions, timeoutText, fontFamily.CreateFont(fontSize), fontColor, new SixLabors.Primitives.PointF(5, 1)));
                gif.Frames.AddFrame(image.Frames[0]);
                gif.Metadata.GetFormatMetadata(GifFormat.Instance).ColorTableMode = GifColorTableMode.Global;
                gif.Frames.RemoveFrame(0);
                gif.SaveAsGif(ms, new GifEncoder());
                return(ms.ToArray());
            }

            for (int i = 1; i < 61; i++)
            {
                var currentTime  = scopedTime.AddSeconds(-i);
                var delta        = (currentTime - DateTime.Now);
                var daysDelta    = (int)delta.TotalDays;
                var hoursDelta   = delta.Hours;
                var minutesDelta = delta.Minutes;
                var secondsDelta = delta.Seconds;
                var subs         =
                    $"{daysDelta}d {hoursDelta}h {minutesDelta}m {secondsDelta}s";
                using Image <Rgba32> image = new Image <Rgba32>(width, height);
                image.Mutate(x => x
                             .BackgroundColor(backgroundColor)
                             .DrawText(textGraphicsOptions, subs, fontFamily.CreateFont(fontSize), fontColor, new SixLabors.Primitives.PointF(1, 1)));
                var frameMetaData = image.Frames.RootFrame.Metadata.GetFormatMetadata(GifFormat.Instance);
                frameMetaData.DisposalMethod = GifDisposalMethod.RestoreToBackground;
                frameMetaData.FrameDelay     = 100;
                gif.Frames.AddFrame(image.Frames[0]);
                gif.Metadata.GetFormatMetadata(GifFormat.Instance).ColorTableMode = GifColorTableMode.Global;
            }
            gif.Frames.RemoveFrame(0);
            gif.SaveAsGif(ms, new GifEncoder());
            return(ms.ToArray());
        }
        public async Task <IActionResult> PostCampaignConfiguration([FromBody] CampaignConfiguration campaignConfiguration)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.CampaignConfiguration.Add(campaignConfiguration);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetCampaignConfiguration", new { id = campaignConfiguration.Id }, campaignConfiguration));
        }
Beispiel #8
0
        public static void ConfigureSfaConfigurations(this IServiceCollection services, IConfiguration configuration)
        {
            var campaignConfiguration = new CampaignConfiguration();

            configuration.Bind("CampaignConfiguration", campaignConfiguration);

            services.Configure <CampaignConfiguration>(configuration.GetSection("CampaignConfiguration"));

            services.AddSingleton <CampaignConfiguration>(campaignConfiguration);

            services.Configure <UserDataCryptography>(configuration.GetSection("CampaignConfiguration:UserDataCryptography"));
            services.Configure <UserDataQueueNames>(configuration.GetSection("CampaignConfiguration:UserDataQueueNames"));

            var mappingConfig = new MappingConfiguration();

            configuration.Bind("CampaignConfiguration:Mapping", mappingConfig);

            services.AddSingleton <IMappingConfiguration>(mappingConfig);

            services.Configure <MappingConfiguration>(configuration.GetSection("CampaignConfiguration:Mapping"));
        }
Beispiel #9
0
        private void HandleCampaignGate(ActionExecutingContext filterContext, CampaignConfiguration config)
        {
            var excludedList = _configurationService.GetNotRedirectedPages().Select(p => p.GetPath());

            if (filterContext.RequestContext.HttpContext.Request.Url == null ||
                excludedList.Any(filterContext.RequestContext.HttpContext.Request.Url.AbsoluteUri.Contains))
            {
                return;
            }

            if (DateTime.UtcNow < config.StartDate)
            {
                filterContext.Result = new RedirectResult(
                    _configurationService.GetStaticPagePathByName("Holding"));
                return;
            }

            if (config.EndDate < DateTime.UtcNow)
            {
                filterContext.Result = new RedirectResult(
                    _configurationService.GetStaticPagePathByName("End Of Campaign"));
                return;
            }
        }
Beispiel #10
0
 public TrainingProviderController(IOptions <CampaignConfiguration> configuration)
 {
     _configuration = configuration.Value;
 }
Beispiel #11
0
 public FatController(IOptions <CampaignConfiguration> configuration)
 {
     _configuration = configuration.Value;
 }
 public CreateAccountController(IOptions <CampaignConfiguration> configuration)
 {
     _configuration = configuration.Value;
 }
        public async Task <IActionResult> PutCampaignConfiguration([FromRoute] int id, [FromBody] CampaignConfiguration campaignConfiguration)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != campaignConfiguration.Id)
            {
                return(BadRequest());
            }

            _context.Entry(campaignConfiguration).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CampaignConfigurationExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }