ArmedCards.BusinessLogic.DomainServices.GamePlayerKickVote.Insert.Execute C# (CSharp) Method

Execute() public method

Insert a vote to kick a user vote
public Execute ( Entities vote ) : Entities.ActionResponses.VoteToKick
vote Entities The user's vote to kick
return Entities.ActionResponses.VoteToKick
        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;
            }
        }