Example #1
0
        public string HandlePlayingSession(ISession session)
        {
            var   currentPlayer = _playerService.GetCurrentPlayer(session.Id);
            IMove moveToUpdate  = _moveService.GetAll(currentPlayer.Id).OrderBy(t => t.Start).LastOrDefault();

            moveToUpdate = moveToUpdate.WithEnd(DateTime.Now);

            _moveService.Update(moveToUpdate);

            currentPlayer = _playerService.UpdateCurrentPlayer(session.Id);

            //TODO: refactor this
            _moveService.Add(new Move
            {
                Player   = (Player)currentPlayer,
                PlayerId = currentPlayer.Id,
                Start    = DateTime.Now,
            });

            return($"Отлично. {currentPlayer.Name}, теперь ваш ход.");
        }
        public IActionResult Edit(int id, [FromBody] AddRequestModel requestModel, [FromHeader] string displayLanguage)
        {
            var responseModel = new ApiResponseModel <Move>();

            responseModel.DisplayLanguage = displayLanguage;
            try
            {
                var record = _moveService.GetById(id);
                record.ExitDate = DateTime.Now;
                var dbResult = _moveService.Update(record);
                if (dbResult > 0)
                {
                    var lab = _labService.GetById(record.LabId);
                    lab.CurrentApplianceCapacity--;
                    _labService.Update(lab);
                    responseModel.Data                = record;
                    responseModel.ResultStatusCode    = ResultStatusCodeStatic.Success;
                    responseModel.ResultStatusMessage = "Success";
                    return(Ok(responseModel));
                }
                else
                {
                    responseModel.ResultStatusCode    = ResultStatusCodeStatic.Error;
                    responseModel.ResultStatusMessage = "Could Not Be Saved";
                    responseModel.Data = null;
                    return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
                }
            }
            catch (Exception ex)
            {
                responseModel.ResultStatusCode    = ResultStatusCodeStatic.Error;
                responseModel.ResultStatusMessage = ex.Message;
                responseModel.Data = null;
                return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
            }
        }