Exemple #1
0
        /// <summary>
        /// Insert a vote to kick a user <paramref name="vote"/>
        /// </summary>
        /// <param name="vote">The user's vote to kick</param>
        /// <returns></returns>
        public Entities.ActionResponses.VoteToKick Execute(Entities.GamePlayerKickVote vote)
        {
            Entities.ActionResponses.VoteToKick response = new Entities.ActionResponses.VoteToKick();

            Entities.Filters.Game.Select filter = new Entities.Filters.Game.Select();
            filter.DataToSelect = Entities.Enums.Game.Select.None;
            filter.GameID       = vote.GameID;

            Entities.Game game = _selectGame.Execute(filter);

            if (game.IsCurrentPlayer(vote.VotedUserId))
            {
                response = _insert.Execute(vote);
                response.ResponseCode = Entities.ActionResponses.Enums.VoteToKick.VoteSuccessful;
                response.Game         = game;

                if (vote.Vote)
                {
                    response.VotesToKick++;
                }
                else
                {
                    response.VotesToStay++;
                }

                return(response);
            }
            else
            {
                response.ResponseCode = Entities.ActionResponses.Enums.VoteToKick.IneligiblePlayerToVote;
                return(response);
            }
        }