Example #1
0
        public void GlobalToggle_should_mapped_to_GlobalToggleVM_model()
        {
            string       serviceId = "ABC";
            string       toggleId  = "isButtonBlue";
            GlobalToggle toggle    = new GlobalToggle
            {
                Id               = toggleId,
                Value            = true,
                Created          = DateTime.UtcNow,
                ExcludedServices = new List <ExcludedService> {
                    new ExcludedService {
                        ToggleId = toggleId, ServiceId = serviceId
                    }
                },
                Modified = DateTime.UtcNow
            };


            GlobalToggleVM result = _fixture.Mapper.Map <GlobalToggleVM>(toggle);

            result.Id.Should().Be(toggle.Id);
            result.Value.Should().Be(toggle.Value);
            result.Created.Should().Be(toggle.Created);
            result.ExcludedServices.Should().HaveCount(1);
            result.ExcludedServices.Should().OnlyHaveUniqueItems();
            result.ExcludedServices.Should().OnlyContain(e => e == serviceId);
            result.Modified.Should().Be(toggle.Modified);
        }
Example #2
0
        public async Task <IActionResult> ExecuteAsync(string toggleId, CancellationToken cancellationToken)
        {
            GlobalToggle toggle = await _globalToggleRepository.GetById(toggleId, cancellationToken);

            if (toggle == null)
            {
                return(new NotFoundResult());
            }

            HttpContext httpContext = _actionContextAccessor.ActionContext.HttpContext;

            if (httpContext.Request.Headers.TryGetValue(HeaderNames.IfModifiedSince, out Microsoft.Extensions.Primitives.StringValues stringValues))
            {
                if (DateTimeOffset.TryParse(stringValues, out DateTimeOffset modifiedSince) &&
                    (modifiedSince >= toggle.Modified))
                {
                    return(new StatusCodeResult(StatusCodes.Status304NotModified));
                }
            }

            GlobalToggleVM toggleViewModel = _mapper.Map <GlobalToggle, GlobalToggleVM>(toggle);

            httpContext.Response.Headers.Add(HeaderNames.LastModified, toggle.Modified.ToString("R", CultureInfo.InvariantCulture));
            return(new OkObjectResult(toggleViewModel));
        }
Example #3
0
        public List <ExcludedService> Resolve(GlobalToggleVM source, GlobalToggle destination, HashSet <string> sourceMember, List <ExcludedService> destMember, ResolutionContext context)
        {
            destMember = new List <ExcludedService>();

            foreach (var item in sourceMember)
            {
                destMember.Add(new ExcludedService {
                    ServiceId = item, ToggleId = source.Id
                });
            }

            return(destMember);
        }
        public async Task <IActionResult> ExecuteAsync(SaveGlobalToggleVM createToggle, CancellationToken cancellationToken)
        {
            GlobalToggle toggle = _mapper.Map <SaveGlobalToggleVM, GlobalToggle>(createToggle);

            toggle = await _globalToggleRepository.Add(toggle, cancellationToken);

            GlobalToggleVM toggleViewModel = _mapper.Map <GlobalToggle, GlobalToggleVM>(toggle);

            return(new CreatedAtRouteResult(
                       GlobalControllerRoute.GetGlobalToggle,
                       new { toggleId = toggleViewModel.Id },
                       toggleViewModel));
        }
        public async Task <IActionResult> ExecuteAsync(string toggleId, SaveGlobalToggleVM saveToggle, CancellationToken cancellationToken)
        {
            GlobalToggle toggle = await _globalToggleRepository.GetById(toggleId, cancellationToken);

            if (toggle == null)
            {
                return(new NotFoundResult());
            }

            _mapper.Map(saveToggle, toggle);
            toggle = await _globalToggleRepository.Update(toggle, cancellationToken);

            GlobalToggleVM toggleViewModel = _mapper.Map <GlobalToggle, GlobalToggleVM>(toggle);

            return(new OkObjectResult(toggleViewModel));
        }
Example #6
0
        public void Apply(Schema model, SchemaFilterContext context)
        {
            var toggle = new GlobalToggleVM()
            {
                Id               = "isButtonBlue",
                Value            = true,
                ExcludedServices = new HashSet <string> {
                    "ABC"
                },
                Created  = DateTime.UtcNow,
                Modified = DateTime.UtcNow
            };

            model.Default = toggle;
            model.Example = toggle;
        }