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)); }
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)); }
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)); }
public void DeleteZone(DeleteZoneInput input) { var zone = _zoneRepository.Get(input.Id); _zoneRepository.Delete(zone); }