public Entities.ActionResponses.VoteToKick Execute(Entities.GamePlayerKickVote vote)
{
using (DbCommand cmd = _db.GetStoredProcCommand("GamePlayerKickVote_Insert"))
{
Entities.ActionResponses.VoteToKick response = new Entities.ActionResponses.VoteToKick();
_db.AddInParameter(cmd, "@GameID", DbType.Int32, vote.GameID);
_db.AddInParameter(cmd, "@KickUserId", DbType.Int32, vote.KickUserId);
_db.AddInParameter(cmd, "@VotedUserId", DbType.Int32, vote.VotedUserId);
_db.AddInParameter(cmd, "@Vote", DbType.Boolean, vote.Vote);
_db.AddOutParameter(cmd, "@VotesToStay", DbType.Int32, sizeof(Int32));
_db.AddOutParameter(cmd, "@VotesToKick", DbType.Int32, sizeof(Int32));
_db.AddOutParameter(cmd, "@TotalPlayers", DbType.Int32, sizeof(Int32));
using (IDataReader idr = _db.ExecuteReader(cmd))
{
while (idr.Read())
{
response.AlreadyVoted.Add(idr.GetValueByName<Int32>("VotedUserId"));
}
}
response.VotesToKick = Int32.Parse(_db.GetParameterValue(cmd, "@VotesToKick").ToString());
response.VotesToStay = Int32.Parse(_db.GetParameterValue(cmd, "@VotesToStay").ToString());
response.TotalPlayers = Int32.Parse(_db.GetParameterValue(cmd, "@TotalPlayers").ToString());
return response;
}
}