public async Task <ActionResult> DoMoveAsync([FromRoute] string roomId, [FromBody] Move move) { var login = GetLogin(); if (login == null) { return(Unauthorized()); } try { await _roundService.DoMoveAsync(login, roomId, move); return(Ok()); } catch (MoveException ex) { return(BadRequest(ex.Message)); } catch (GameFinishedException ex) { await _sessionService.FinishSessionAsync(roomId); return(Conflict(ex.Status.ToString())); } }