示例#1
0
        public async Task <IActionResult> UpdateStateAsync([FromBody] LockUpdateModel model, [FromRoute] string lockid)
        {
            if (!Guid.TryParse(lockid, out var id))
            {
                return(BadRequest(new ErrorResponse {
                    Error = "Invalid lock id"
                }));
            }

            if (model.State == null || model.State.Value.Equals(LockState.Created))
            {
                return(BadRequest(new ErrorResponse {
                    Error = "Invalid state"
                }));
            }

            var userId = _identityService.GetUserIdentity();
            var @lock  = await _locksService.ChangeStateAsync(id, userId, model.State.Value).ConfigureAwait(false);

            if (@lock == null)
            {
                return(NotFound());
            }

            return(NoContent());
        }