Пример #1
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));
        }
Пример #2
0
        public async Task <IActionResult> ExecuteAsync(string toggleId, CancellationToken cancellationToken)
        {
            GlobalToggle toggle = await _globalToggleRepository.GetById(toggleId, cancellationToken);

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

            await _globalToggleRepository.Delete(toggle, cancellationToken);

            return(new NoContentResult());
        }
        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));
        }