Ejemplo n.º 1
0
    public object Get(Do request)
    {
        var  cached    = Cache.Get <GameObject>(request.target);
        var  v         = new Vector3(request.x, request.y, request.z);
        var  transform = default(MoveResponse);
        bool move      = request.action == "move";

        Exec.OnMain(() =>
        {
            if (cached == null)
            {
                cached = GameObject.Find(request.target);
                Cache.Set <GameObject>(request.target, cached);
                Debug.Log("not cached");
            }

            if (move)
            {
                cached.transform.position = Vector3.MoveTowards(cached.transform.position, v, 0.1f);
            }

            transform = new MoveResponse
            {
                x = cached.transform.position.x,
                y = cached.transform.position.y,
                z = cached.transform.position.z
            };
        }, true);

        return(transform);
    }
Ejemplo n.º 2
0
        public async Task <MoveResponse> MakeMove(int playerId, int column)
        {
            MoveResponse response;

            Logger.Info("Player{0} moved in column {1}", playerId, column);
            IGame game = Logic.GetGameByPlayerId(playerId);

            game.MakeMove(column);
            if (game.Board.LastMove.IsConnected)
            {
                Logger.Info("Player{0} won!", playerId);
                Logic.RunningGames.Remove(game);
                response = new MoveResponse(null);
            }
            else
            {
                bool timeout = game.WaitForNextPlayer(1 * 10 * 1000);
                if (!timeout)
                {
                    Logger.Info("Timeout! Player{0} move timed out!", game.NextPlayer.OnlineId);
                }
                response = new MoveResponse(game.Board.LastMove, timeout);
            }
            return(await Task.Factory.StartNew(() => response));
        }
Ejemplo n.º 3
0
        public void TestMoveDown()
        {
            int[,] testTiles = new int[4, 4];
            testTiles[0, 0]  = 2;
            testTiles[0, 1]  = 0;
            testTiles[0, 2]  = 0;
            testTiles[0, 3]  = 0;
            testTiles[1, 0]  = 0;
            testTiles[1, 1]  = 2;
            testTiles[1, 2]  = 0;
            testTiles[1, 3]  = 0;
            testTiles[2, 0]  = 0;
            testTiles[2, 1]  = 0;
            testTiles[2, 2]  = 2;
            testTiles[2, 3]  = 0;
            testTiles[3, 0]  = 0;
            testTiles[3, 1]  = 0;
            testTiles[3, 2]  = 0;
            testTiles[3, 3]  = 2;
            MoveResponse response = game.RegisterDirection(Direction.DOWN);

            Assert.AreEqual(MoveResponse.CAN_MOVE, response);
            Assert.AreEqual(2, testTiles[0, 3]);
            Assert.AreEqual(2, testTiles[1, 3]);
            Assert.AreEqual(2, testTiles[2, 3]);
            Assert.AreEqual(2, testTiles[3, 3]);
        }
Ejemplo n.º 4
0
        public void MoveResponse_Cstr()
        {
            const int Expected_NumberOfSteps = 101;
            var       sut = new MoveResponse(Expected_NumberOfSteps);

            Assert.Equal(Expected_NumberOfSteps, sut.CleanedVertices);
        }
Ejemplo n.º 5
0
        public MoveResponse PostMove(MoveRequest moveRequest)
        {
            var strategy   = ResolveGameModeStrategy(moveRequest.GameMode);
            var move       = new Move(moveRequest.Row, moveRequest.Column, moveRequest.PlayerNumber);
            var moveResult = strategy.OnMove(move, moveRequest.MatchId, moveRequest.Gameboard);

            moveRequest.Players.ForEach(p =>
                                        p.Score = ScoreKeeper.GetScoreForPlayer(p.Number, moveResult.Gameboard)
                                        );

            var response = new MoveResponse
            {
                Result  = moveResult,
                Players = moveRequest.Players
            };

            if (moveResult.IsEndOfMatch)
            {
                response.Winner = moveRequest
                                  .Players
                                  .OrderByDescending(p => p.Score)
                                  .First( );
            }

            return(response);
        }
Ejemplo n.º 6
0
        private async void GetFirstMove(int playerId)
        {
            try
            {
                MoveResponse moveResponse = await proxy.GetFirstMove(playerId);

                if (moveResponse?.MoveMade != null)
                {
                    CurrentGame.MakeMove(moveResponse.MoveMade);
                    SendMove(moveResponse.MoveMade);
                }
            }
            catch (TimeoutException ex)
            {
                string exceptionMessage = StringResources.TimeoutExceptionOccured("GetFirstMove", ex.Message);
                logger?.Error(exceptionMessage);

                throw new GameServerException(exceptionMessage, ex);
            }
            catch (FaultException ex)
            {
                string exceptionMessage = StringResources.ExceptionOccuredOnServerSide("GetFirstMove", ex.Message);
                logger?.Error(exceptionMessage);

                throw new GameServerException(exceptionMessage, ex);
            }
            catch (CommunicationException ex)
            {
                string exceptionMessage = StringResources.CommunicationProblemOccured("GetFirstMove", ex.Message);
                logger?.Error(exceptionMessage);

                throw new GameServerException(exceptionMessage, ex);
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="response"></param>
        internal void OnMoveResponse(MoveResponse response)
        {
            if (response.MoveStatus == MoveStatus.Accepted)
            {
                var mv = new GameMove()
                {
                    Index  = ++this.index,
                    Row    = response.Row,
                    Column = response.Column,
                    Color  = CurrentPlayer.Color
                };

                // stores the move
                this.Move(mv);

                //
                this.Status = response.GameStatus;
                this.Winner = response.Player;

                if (response.GameStatus != GameStatus.Continue)
                {
                    this.GameOver?.Invoke(this,
                                          new GameOverEventArgs()
                    {
                        Status            = this.Status,
                        Winner            = this.Winner,
                        WinningLine       = response.WinningLine,
                        WinningLineCoords = response.WinningLineCoords,
                        Row    = response.Row,
                        Column = response.Column
                    });
                }
            }
        }
Ejemplo n.º 8
0
    public object Get(Do request)
    {
        var cached = Cache.Get<GameObject>(request.target);
        var v = new Vector3(request.x, request.y, request.z);
        var transform = default(MoveResponse);
        bool move = request.action == "move";

        Exec.OnMain(() =>
        {
            if (cached == null)
            {
                cached = GameObject.Find(request.target);
                Cache.Set<GameObject>(request.target, cached);
                Debug.Log("not cached");
            }

            if (move)
            {
                cached.transform.position = Vector3.MoveTowards(cached.transform.position, v, 0.1f);
            }

            transform = new MoveResponse
            {
                x = cached.transform.position.x,
                y = cached.transform.position.y,
                z = cached.transform.position.z
            };
        }, true);

        return transform;
    }
        public void ShouldInsertMoveResponses()
        {
            //arrange
            var moveResponses = new MoveResponse[]
            {
                new MoveResponse()
                {
                    Board    = "____X____",
                    Outcome  = GameState.XWin,
                    Player   = Player.X,
                    Response = Move.Southern
                },
                new MoveResponse()
                {
                    Board    = "X__XX__OO",
                    Outcome  = GameState.OWin,
                    Player   = Player.O,
                    Response = Move.Northern
                }
            };

            IEnumerable <MoveResponseRecord> responsesReceived = null;

            MockLiteDatabase
            .Setup(a => a.InsertBulk(It.IsAny <IEnumerable <MoveResponseRecord> >()))
            .Callback <IEnumerable <MoveResponseRecord> >(a => responsesReceived = a);

            //act
            MoveResponseRepository.InsertMoveResponses(moveResponses);

            //assert
            var expectedMoveResponses = new MoveResponseRecord[]
            {
                new MoveResponseRecord()
                {
                    Board    = "____X____",
                    Outcome  = GameState.XWin,
                    Player   = Player.X,
                    Response = Move.Southern
                },
                new MoveResponseRecord()
                {
                    Board    = "X__XX__OO",
                    Outcome  = GameState.OWin,
                    Player   = Player.O,
                    Response = Move.Northern
                }
            };

            MockLiteDatabase
            .Verify(a => a.InsertBulk(It.IsAny <IEnumerable <MoveResponseRecord> >()), Times.Once());

            MockLiteDatabase
            .Verify(a => a.EnsureIndex(It.IsAny <Expression <Func <MoveResponseRecord, string> > >(), false), Times.Once());

            expectedMoveResponses.ShouldAllBeEquivalentTo(responsesReceived);
        }
Ejemplo n.º 10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="message"></param>
        private void HandleMoveResponse(MoveResponse message)
        {
            if (this.isCancelling)
            {
                return;
            }

            this.game.OnMoveResponse(message);
        }
Ejemplo n.º 11
0
        public ActionResult MoveDown(string id)
        {
            MoveRequest request = new MoveRequest();

            request.ID = Guid.Parse(id);

            MoveResponse response = _suctionModeService.MoveDown(request);

            return(RedirectToAction("Index"));
        }
Ejemplo n.º 12
0
        public void MakeMoveShouldMakeWinningMoveForX()
        {
            //arrange
            GameMock
            .Setup(a => a.GameIsOver)
            .Returns(false);

            GameMock
            .Setup(a => a.GameBoardString)
            .Returns(AGameBoardString);

            GameMock
            .Setup(a => a.CurrentPlayer)
            .Returns(Player.X);

            var moveResponses = new MoveResponse[]
            {
                new MoveResponse()
                {
                    Response = Move.Northern,
                    Outcome  = GameState.XWin,
                    Board    = "_________",
                    Player   = Player.X
                },
                new MoveResponse()
                {
                    Response = Move.Center,
                    Outcome  = GameState.OWin,
                    Board    = "_________",
                    Player   = Player.X
                },
                new MoveResponse()
                {
                    Response = Move.Southern,
                    Outcome  = GameState.Tie,
                    Board    = "_________",
                    Player   = Player.X
                }
            };

            MoveDataAccessMock
            .Setup(a => a.FindMoveResponses(AGameBoardString, Player.X))
            .Returns(moveResponses);

            RandomMock
            .Setup(a => a.Next(It.IsAny <int>()))
            .Returns(0);

            //act
            OmniscientGod.MakeMove(GameMock.Object);

            //assert
            GameMock
            .Verify(a => a.Move(Move.Northern), Times.Once());
        }
Ejemplo n.º 13
0
        public ActionResult UncreditService_MoveUp(string ID)
        {
            GeneralResponse response = new GeneralResponse();
            MoveRequest     request  = new MoveRequest();

            request.ID = Guid.Parse(ID);

            MoveResponse move = _uncreditServiceService.MoveUp(request);

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 14
0
        public void ShouldFindMoveResults()
        {
            //arrange
            GameMock
            .Setup(a => a.GameBoardString)
            .Returns(AGameBoardString);

            GameMock
            .Setup(a => a.CurrentPlayer)
            .Returns(Player.X);

            var moveResponses = new MoveResponse[]
            {
                new MoveResponse()
                {
                    Response = Move.Northern,
                    Outcome  = GameState.XWin,
                    Board    = "_________",
                    Player   = Player.X
                },
                new MoveResponse()
                {
                    Response = Move.Center,
                    Outcome  = GameState.OWin,
                    Board    = "_________",
                    Player   = Player.X
                },
                new MoveResponse()
                {
                    Response = Move.Southern,
                    Outcome  = GameState.Tie,
                    Board    = "_________",
                    Player   = Player.X
                }
            };

            MoveDataAccessMock
            .Setup(a => a.FindMoveResponses(AGameBoardString, Player.X))
            .Returns(moveResponses);

            //act
            var results = OmniscientGod.FindMoveResults(GameMock.Object);

            //assert
            var expectedMoveResults = new MoveResult[]
            {
                new MoveResult(Move.Northern, GameState.XWin),
                new MoveResult(Move.Center, GameState.OWin),
                new MoveResult(Move.Southern, GameState.Tie)
            };

            results.ShouldAllBeEquivalentTo(expectedMoveResults);
        }
Ejemplo n.º 15
0
        public JsonResult DocumentStatus_MoveDown(Guid ID)
        {
            GeneralResponse response = new GeneralResponse();

            MoveResponse move = new MoveResponse();

            move = _documentStatusService.MoveDown(new MoveRequest()
            {
                ID = ID
            });

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 16
0
        public JsonResult CreditService_MoveDown(Guid ID)
        {
            GeneralResponse response = new GeneralResponse();

            MoveResponse move = new MoveResponse();

            move = _creditServiceService.MoveDown(new MoveRequest()
            {
                ID = ID
            });

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
        public JsonResult MoneyAccount_MoveDown(Guid ID)
        {
            GeneralResponse response = new GeneralResponse();

            MoveResponse move = new MoveResponse();

            move = _networkCenterPriorityService.MoveDown(new MoveRequest()
            {
                ID = ID
            });

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 18
0
        public JsonResult MoneyAccount_MoveUp(Guid ID)
        {
            GeneralResponse response = new GeneralResponse();

            MoveResponse move = new MoveResponse();

            move = _moneyAccountService.MoveUp(new MoveRequest()
            {
                ID = ID
            });

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 19
0
        public JsonResult SuctionModeDetail_MoveDown(Guid ID)
        {
            GeneralResponse response = new GeneralResponse();

            MoveResponse move = new MoveResponse();

            move = _suctionModeService.MoveDown(new MoveRequest()
            {
                ID = ID
            });

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 20
0
        public JsonResult ProductPrices_MoveUp(Guid ID)
        {
            GeneralResponse response = new GeneralResponse();

            MoveResponse move = new MoveResponse();

            move = _productPriceService.MoveUp(new MoveRequest()
            {
                ID = ID
            });

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 21
0
        public void KeyPress(Direction direction)
        {
            MoveResponse response = game.RegisterDirection(direction);

            if (response == MoveResponse.END_GAME)
            {
                EndGame();
            }

            if (response == MoveResponse.CAN_MOVE)
            {
                DrawGame();
            }
        }
Ejemplo n.º 22
0
        public MoveResponse MoveDown(MoveRequest request)
        {
            MoveResponse response = new MoveResponse();

            // Current Agency is the Request
            UncreditService currentUncreditService = new UncreditService();

            currentUncreditService = _uncreditServiceRepository.FindBy(request.ID);

            // Find the Previews Agency
            UncreditService nextUncreditService = new UncreditService();

            try
            {
                nextUncreditService = _uncreditServiceRepository.FindAll()
                                      .Where(s => s.SortOrder > currentUncreditService.SortOrder)
                                      .OrderBy(s => s.SortOrder)
                                      .First();
            }
            catch (Exception ex)
            {
            }

            if (currentUncreditService != null && nextUncreditService != null)
            {
                try
                {
                    // replacing SortOrders
                    int current  = (int)currentUncreditService.SortOrder;
                    int previews = (int)nextUncreditService.SortOrder;

                    currentUncreditService.SortOrder = previews;
                    nextUncreditService.SortOrder    = current;

                    _uncreditServiceRepository.Save(currentUncreditService);
                    _uncreditServiceRepository.Save(nextUncreditService);
                    _uow.Commit();
                }
                catch (Exception ex)
                {
                    response.ErrorMessages.Add(ex.Message);
                    return(response);
                }

                ////response.success = true;
            }


            return(response);
        }
Ejemplo n.º 23
0
        public MoveResponse MoveDown(MoveRequest request)
        {
            MoveResponse response = new MoveResponse();

            // Current Agency is the Request
            DocumentStatus currentDocumentStatus = new DocumentStatus();

            currentDocumentStatus = _documentStatusRepository.FindBy(request.ID);

            // Find the Previews Agency
            DocumentStatus nextDocumentStatus = new DocumentStatus();

            try
            {
                nextDocumentStatus = _documentStatusRepository.FindAll()
                                     .Where(s => s.SortOrder > currentDocumentStatus.SortOrder)
                                     .OrderBy(s => s.SortOrder)
                                     .FirstOrDefault();
            }
            catch (Exception ex)
            {
            }

            if (currentDocumentStatus != null && nextDocumentStatus != null)
            {
                try
                {
                    // replacing SortOrders
                    int current  = (int)currentDocumentStatus.SortOrder;
                    int previews = (int)nextDocumentStatus.SortOrder;

                    currentDocumentStatus.SortOrder = previews;
                    nextDocumentStatus.SortOrder    = current;

                    _documentStatusRepository.Save(currentDocumentStatus);
                    _documentStatusRepository.Save(nextDocumentStatus);
                    _uow.Commit();
                }
                catch (Exception ex)
                {
                    response.ErrorMessages.Add(ex.Message);
                    return(response);
                }

                ////response.success = true;
            }

            return(response);
        }
Ejemplo n.º 24
0
        public MoveResponse MoveUp(MoveRequest request)
        {
            MoveResponse response = new MoveResponse();

            // Current Price is the Request
            Product currentProduct = new Product();

            currentProduct = _productRepository.FindBy(request.ID);

            // Find the Previews Price
            Product previewsProduct = new Product();

            try
            {
                previewsProduct = _productRepository.FindAll()
                                  .Where(s => s.SortOrder < currentProduct.SortOrder)
                                  .OrderByDescending(s => s.SortOrder)
                                  .First();
            }
            catch (Exception ex)
            {
            }

            if (currentProduct != null && previewsProduct != null)
            {
                try
                {
                    // replacing SortOrders
                    int current  = (int)currentProduct.SortOrder;
                    int previews = (int)previewsProduct.SortOrder;

                    currentProduct.SortOrder  = previews;
                    previewsProduct.SortOrder = current;

                    _productRepository.Save(currentProduct);
                    _productRepository.Save(previewsProduct);
                    _uow.Commit();
                }
                catch (Exception ex)
                {
                    response.ErrorMessages.Add(ex.Message);
                    return(response);
                }

                ////response.success = true;
            }

            return(response);
        }
Ejemplo n.º 25
0
        public MoveResponse MoveUp(MoveRequest request)
        {
            MoveResponse response = new MoveResponse();

            // Current Agency is the Request
            SuctionModeDetail currentSuctionModeDetail = new SuctionModeDetail();

            currentSuctionModeDetail = _suctionModeDetailRepository.FindBy(request.ID);

            // Find the Previews Agency
            SuctionModeDetail previewsSuctionModedetail = new SuctionModeDetail();

            try
            {
                previewsSuctionModedetail = _suctionModeDetailRepository.FindAll()
                                            .Where(s => s.SortOrder < currentSuctionModeDetail.SortOrder)
                                            .OrderByDescending(s => s.SortOrder)
                                            .First();
            }
            catch (Exception ex)
            {
            }

            if (currentSuctionModeDetail != null && previewsSuctionModedetail != null)
            {
                try
                {
                    // replacing SortOrders
                    int current  = (int)currentSuctionModeDetail.SortOrder;
                    int previews = (int)previewsSuctionModedetail.SortOrder;

                    currentSuctionModeDetail.SortOrder  = previews;
                    previewsSuctionModedetail.SortOrder = current;

                    _suctionModeDetailRepository.Save(currentSuctionModeDetail);
                    _suctionModeDetailRepository.Save(previewsSuctionModedetail);
                    _uow.Commit();
                }
                catch (Exception ex)
                {
                    response.ErrorMessages.Add(ex.Message);
                    return(response);
                }

                ////response.success = true;
            }

            return(response);
        }
Ejemplo n.º 26
0
        public MoveResponse MoveDown(MoveRequest request)
        {
            MoveResponse response = new MoveResponse();

            // Current Price is the Request
            Level currentLevel = new Level();

            currentLevel = _levelRepository.FindBy(request.ID);

            // Find the Previews Price
            Level nextLevel = new Level();

            try
            {
                nextLevel = _levelRepository.FindAll()
                            .Where(s => s.SortOrder > currentLevel.SortOrder)
                            .OrderBy(s => s.SortOrder)
                            .First();
            }
            catch (Exception ex)
            {
            }

            if (currentLevel != null && nextLevel != null)
            {
                try
                {
                    // replacing SortOrders
                    int current  = (int)currentLevel.SortOrder;
                    int previews = (int)nextLevel.SortOrder;

                    currentLevel.SortOrder = previews;
                    nextLevel.SortOrder    = current;

                    _levelRepository.Save(currentLevel);
                    _levelRepository.Save(nextLevel);
                    _uow.Commit();
                }
                catch (Exception ex)
                {
                    response.ErrorMessages.Add(ex.Message);
                    return(response);
                }

                ////response.success = true;
            }

            return(response);
        }
Ejemplo n.º 27
0
        public MoveResponse MoveUp(MoveRequest request)
        {
            MoveResponse response = new MoveResponse();

            // Current Agency is the Request
            CreditService currentCreditService = new CreditService();

            currentCreditService = _creditServiceRepository.FindBy(request.ID);

            // Find the Previews Agency
            CreditService previewsCreditService = new CreditService();

            try
            {
                previewsCreditService = _creditServiceRepository.FindAll()
                                        .Where(s => s.SortOrder < currentCreditService.SortOrder)
                                        .OrderByDescending(s => s.SortOrder)
                                        .First();
            }
            catch (Exception ex)
            {
            }

            if (currentCreditService != null && previewsCreditService != null)
            {
                try
                {
                    // replacing SortOrders
                    int current  = currentCreditService.SortOrder;
                    int previews = previewsCreditService.SortOrder;

                    currentCreditService.SortOrder  = previews;
                    previewsCreditService.SortOrder = current;

                    _creditServiceRepository.Save(currentCreditService);
                    _creditServiceRepository.Save(previewsCreditService);
                    _uow.Commit();
                }
                catch (Exception ex)
                {
                    response.ErrorMessages.Add(ex.Message);
                    return(response);
                }

                ////response.success = true;
            }

            return(response);
        }
Ejemplo n.º 28
0
        public MoveResponse MoveDown(MoveRequest request)
        {
            MoveResponse response = new MoveResponse();

            // Current Agency is the Request
            Network currentNetwork = new Network();

            currentNetwork = _networkRepository.FindBy(request.ID);

            // Find the Previews Agency
            Network nextNetwork = new Network();

            try
            {
                nextNetwork = _networkRepository.FindAll()
                              .Where(s => s.SortOrder > currentNetwork.SortOrder)
                              .OrderBy(s => s.SortOrder)
                              .First();
            }
            catch (Exception ex)
            {
            }

            if (currentNetwork != null && nextNetwork != null)
            {
                try
                {
                    // replacing SortOrders
                    int current  = currentNetwork.SortOrder;
                    int previews = nextNetwork.SortOrder;

                    currentNetwork.SortOrder = previews;
                    nextNetwork.SortOrder    = current;

                    _networkRepository.Save(currentNetwork);
                    _networkRepository.Save(nextNetwork);
                    _uow.Commit();
                }
                catch (Exception ex)
                {
                    response.ErrorMessages.Add(ex.Message);
                    return(response);
                }

                ////response.success = true;
            }

            return(response);
        }
Ejemplo n.º 29
0
 public void TestMoveStrategyAction()
 {
     //given
     Strategy strategy = new MyAbstractStrategy(width, height, teamId, goalAreaSize);
     MoveResponse moveResponse = new MoveResponse()
     {
         ClosestPiece = 4,
         CurrentPosition = new Position() { X = position.X, Y = position.Y },
         MadeMove = true
     };
     //when
     strategy.UpdateMap(new Message<MoveResponse>(moveResponse), position);
     //then
     Assert.AreEqual(moveResponse.ClosestPiece, strategy.Board.Board[position.X, position.Y].DistToPiece);
 }
Ejemplo n.º 30
0
        public MoveResponse MakeMove(Guid gameId, Move move, string promotionType = null)
        {
            var game           = gamesRepo.GetGame(gameId);
            var variantService = gameTypeDispatcher.GetVariantService(game.GameType);

            var moveCommand = variantService.MakeMove(game, move, promotionType);

            var moveResponse = new MoveResponse
            {
                GameStatusModel = game.GameStatusModel,
                MoveCommand     = moveCommand
            };

            return(moveResponse);
        }
        public IActionResult Move(GameStatusRequest gameStatusRequest)
        {
            var direction = new List <string> {
                "down", "left", "right", "up"
            };
            var rng = new Random();

            var response = new MoveResponse
            {
                Move  = direction[rng.Next(direction.Count)],
                Shout = "I am moving!"
            };

            return(Ok(response));
        }