Example #1
0
        public async Task <IActionResult> ExecuteAsync(int zoneId, SaveZone saveZone, CancellationToken cancellationToken)
        {
            var zone = await zoneRepository.Get(zoneId, cancellationToken);

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

            saveZoneToZoneMapper.Map(saveZone, zone);

            // add created by
            //var user = _httpContextAccessor.HttpContext.User;
            //if (user == null)
            //    return new NotFoundResult();

            //var claims = user.Claims.ToList();
            //if (claims.Count < 1)
            //    return new NotFoundResult();

            //var userId = claims.FirstOrDefault(claimRecord => claimRecord.Type == "sub").Value;

            //zone.ModifiedBy = userId;
            // end created by

            zone = await zoneRepository.Update(zone, cancellationToken);

            var zoneViewModel = zoneToZoneMapper.Map(zone);

            return(new OkObjectResult(zoneViewModel));
        }
Example #2
0
        public async Task <IActionResult> ExecuteAsync(int zoneId, CancellationToken cancellationToken)
        {
            var zone = await zoneRepository.Get(zoneId, cancellationToken);

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

            var httpContext = actionContextAccessor.ActionContext.HttpContext;

            if (httpContext.Request.Headers.TryGetValue(HeaderNames.IfModifiedSince, out var stringValues))
            {
                if (DateTimeOffset.TryParse(stringValues, out var modifiedSince) &&
                    (modifiedSince >= zone.ModifiedAt))
                {
                    return(new StatusCodeResult(StatusCodes.Status304NotModified));
                }
            }

            var zoneViewModel = zoneMapper.Map(zone);

            httpContext.Response.Headers.Add(HeaderNames.LastModified, zone.ModifiedAt.ToString());
            return(new OkObjectResult(zoneViewModel));
        }
Example #3
0
        public async Task <IActionResult> ExecuteAsync(int zoneId, CancellationToken cancellationToken)
        {
            var zone = await zoneRepository.Get(zoneId, cancellationToken);

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

            zone = await zoneRepository.ToggleStatus(zoneId, cancellationToken);

            var zoneViewModel = zoneToZoneMapper.Map(zone);

            return(new OkObjectResult(zoneViewModel));
        }
        public async Task <IActionResult> ExecuteAsync(
            int zoneId,
            JsonPatchDocument <SaveZone> patch,
            CancellationToken cancellationToken)
        {
            var zone = await zoneRepository.Get(zoneId, cancellationToken);

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

            var saveZone = zoneToSaveZoneMapper.Map(zone);



            var modelState = actionContextAccessor.ActionContext.ModelState;

            patch.ApplyTo(saveZone, modelState);
            objectModelValidator.Validate(
                actionContextAccessor.ActionContext,
                validationState: null,
                prefix: null,
                model: saveZone);
            if (!modelState.IsValid)
            {
                return(new BadRequestObjectResult(modelState));
            }

            saveZoneToZoneMapper.Map(saveZone, zone);
            await zoneRepository.Update(zone, cancellationToken);

            var zoneViewModel = zoneToZoneMapper.Map(zone);

            return(new OkObjectResult(zoneViewModel));
        }
Example #5
0
        public void DeleteZone(DeleteZoneInput input)
        {
            var zone = _zoneRepository.Get(input.Id);

            _zoneRepository.Delete(zone);
        }