public WebOK sp_runPublicHandGame(int gameID, string gameFlag_right1, string memberNick_right , string gameMemo_right, int whoWinner) { WebOK resultValue = new WebOK(); int spError = -1; List <DBREQ_PARAM> dbParams = new List <DBREQ_PARAM>(); dbParams.Add(new DBREQ_PARAM("gameID", DbType.Int32, gameID)); dbParams.Add(new DBREQ_PARAM("gameFlag_right1", DbType.String, gameFlag_right1)); dbParams.Add(new DBREQ_PARAM("memberNick_right", DbType.String, memberNick_right)); dbParams.Add(new DBREQ_PARAM("gameMemo_right", DbType.String, gameMemo_right)); dbParams.Add(new DBREQ_PARAM("whoWinner", DbType.Int32, whoWinner)); DataTable result = RunSP("sp_runPublicHandGame", CreateDB(), dbParams); spError = result.Rows[0].Field <int>("Result"); if (spError == 0) { resultValue.statusCode = 200; } else { resultValue.statusCode = spError; } return(resultValue); }
public WebOK sp_RunPublicQHoldem(int gameID, int joinerGameData, string commCardData, string joinerMemo, int whoWinner, string creatorHandStr, string joinerHandStr, string joinerNick, string joinerAvatar) { WebOK resultValue = new WebOK(); int spError = -1; List <DBREQ_PARAM> dbParams = new List <DBREQ_PARAM>(); dbParams.Add(new DBREQ_PARAM("gameID", DbType.Int32, gameID)); dbParams.Add(new DBREQ_PARAM("joinerGameData", DbType.Int32, joinerGameData)); dbParams.Add(new DBREQ_PARAM("joinerMemo", DbType.String, joinerMemo)); dbParams.Add(new DBREQ_PARAM("commCardData", DbType.String, commCardData)); dbParams.Add(new DBREQ_PARAM("whoWinner", DbType.Int32, whoWinner)); dbParams.Add(new DBREQ_PARAM("creatorHandStr", DbType.String, creatorHandStr)); dbParams.Add(new DBREQ_PARAM("joinerHandStr", DbType.String, joinerHandStr)); dbParams.Add(new DBREQ_PARAM("joinerNick", DbType.String, joinerNick)); dbParams.Add(new DBREQ_PARAM("joinerAvatar", DbType.String, joinerAvatar)); DataTable result = RunSP("sp_RunPublicQHoldem", CreateDB(), dbParams); spError = result.Rows[0].Field <int>("Result"); if (spError == 0) { resultValue.statusCode = 200; } else { resultValue.statusCode = spError; } return(resultValue); }
public WebOK sp_RunIndianHoldem(int gameID, string joinerGameData, string joinerMemo, string joinerAuthToken, int whoWinner, int gameAction, string creatorHandStr, string joinerHandStr, string userIP) { WebOK resultValue = new WebOK(); int spError = -1; List <DBREQ_PARAM> dbParams = new List <DBREQ_PARAM>(); dbParams.Add(new DBREQ_PARAM("gameID", DbType.Int32, gameID)); dbParams.Add(new DBREQ_PARAM("joinerGameData", DbType.String, joinerGameData)); dbParams.Add(new DBREQ_PARAM("joinerMemo", DbType.String, joinerMemo)); dbParams.Add(new DBREQ_PARAM("joinerAuthToken", DbType.String, joinerAuthToken)); dbParams.Add(new DBREQ_PARAM("whoWinner", DbType.Int32, whoWinner)); dbParams.Add(new DBREQ_PARAM("gameAction", DbType.Int32, gameAction)); dbParams.Add(new DBREQ_PARAM("creatorHandStr", DbType.String, creatorHandStr)); dbParams.Add(new DBREQ_PARAM("joinerHandStr", DbType.String, joinerHandStr)); dbParams.Add(new DBREQ_PARAM("userIP", DbType.String, userIP)); DataTable result = RunSP("sp_RunIndianHoldem", CreateDB(), dbParams); spError = result.Rows[0].Field <int>("Result"); if (spError == 0) { resultValue.statusCode = 200; } else { resultValue.statusCode = spError; } return(resultValue); }
public WebOK sp_EdtIndianHoldem(int gameID, int gameAction, string creatorAuthToken) { WebOK resultValue = new WebOK(); int spError = -1; List <DBREQ_PARAM> dbParams = new List <DBREQ_PARAM>(); dbParams.Add(new DBREQ_PARAM("gameID", DbType.Int32, gameID)); dbParams.Add(new DBREQ_PARAM("gameAction", DbType.Int32, gameAction)); dbParams.Add(new DBREQ_PARAM("creatorAuthToken", DbType.String, creatorAuthToken)); DataTable result = RunSP("sp_EdtIndianHoldem", CreateDB(), dbParams); spError = result.Rows[0].Field <int>("Result"); if (spError == 0) { resultValue.statusCode = 200; } else { resultValue.statusCode = spError; } return(resultValue); }
//가위바위보게임 public WebOK sp_creategame(int mainType, int gameType, string gameTitle, string gameMemo_left, int gameCount , int gameMoneyAmount, string gameFlag_left1, int appendtime, string creatorAuthToken) { WebOK resultValue = new WebOK(); int spError = -1; //Default Value for Reserved.. int authType = 0; int gameState = 0; string gameToken = "NAN"; List <DBREQ_PARAM> dbParams = new List <DBREQ_PARAM>(); dbParams.Add(new DBREQ_PARAM("mainType", DbType.Int32, mainType)); dbParams.Add(new DBREQ_PARAM("gameType", DbType.Int32, gameType)); dbParams.Add(new DBREQ_PARAM("authType", DbType.Int32, authType)); dbParams.Add(new DBREQ_PARAM("gameState", DbType.Int32, gameState)); dbParams.Add(new DBREQ_PARAM("gameTitle", DbType.String, gameTitle)); dbParams.Add(new DBREQ_PARAM("gameMemo_left", DbType.String, gameMemo_left)); dbParams.Add(new DBREQ_PARAM("gameToken", DbType.String, gameToken)); dbParams.Add(new DBREQ_PARAM("gameCount", DbType.Int32, gameCount)); dbParams.Add(new DBREQ_PARAM("gameMoneyAmount", DbType.Int32, gameMoneyAmount)); dbParams.Add(new DBREQ_PARAM("gameFlag_left1", DbType.String, gameFlag_left1)); dbParams.Add(new DBREQ_PARAM("addendtime", DbType.Int32, appendtime)); dbParams.Add(new DBREQ_PARAM("creatorAuthToken", DbType.String, creatorAuthToken)); DataTable result = RunSP("sp_creategame", CreateDB(), dbParams); spError = result.Rows[0].Field <int>("Result"); if (spError == 0) { resultValue.statusCode = 200; } else { resultValue.statusCode = spError; } return(resultValue); }
public GameController() { parentSpace = "/api/game"; dbhandler = new DBGameHandler(ConfigurationManager.AppSettings.Get("ConectionDBString")); Post[parentSpace + "/tabbonus", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); string playerAuthToken = (string)payload["playerAuthToken"]; BonusOK info = null; Task t = Task.Run(() => { info = dbhandler.sp_tabbonus(playerAuthToken); }); await t; if (info == null) { return(new WebException("rungame failed", 401)); } if (info.statusCode != 200) { return(new WebException("rungame failed", info.statusCode)); } return(info); }; Post[parentSpace + "/daybonus", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); string playerAuthToken = (string)payload["playerAuthToken"]; BonusOK info = null; Task t = Task.Run(() => { info = dbhandler.sp_daybonus(playerAuthToken); }); await t; if (info == null) { return(new WebException("rungame failed", 401)); } if (info.statusCode != 200) { return(new WebException("rungame failed", info.statusCode)); } return(info); }; //가위바위보게임 Post[parentSpace + "/creategame", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int mainType = (int)payload["mainType"]; int gameType = (int)payload["gameType"]; string gameTitle = (string)payload["gameTitle"]; string gameMemo_left = (string)payload["gameMemo_left"]; int gameCount = (int)payload["gameCount"]; int gameMoneyAmount = (int)payload["gameMoneyAmount"]; string gameFlag_left1 = (string)payload["gameFlag_left1"]; int appendtime = (int)payload["appendtime"]; string creatorAuthToken = (string)payload["creatorAuthToken"]; if (mainType == 0) { if (gameCount > 5 || gameCount < 1) { return(new WebException("gameCount Limit", 10)); } if (gameMoneyAmount > 1000 || gameMoneyAmount < 1) { return(new WebException("gameMoneyAmount Limit", 11)); } } else { if (gameCount > 20 || gameCount < 1) { return(new WebException("gameCount Limit", 20)); } if (gameMoneyAmount > 1000000000 || gameMoneyAmount < 1) { return(new WebException("gameMoneyAmount Limit", 11)); } } WebOK info = null; Task t = Task.Run(() => { info = dbhandler.sp_creategame(mainType, gameType, gameTitle, gameMemo_left, gameCount, gameMoneyAmount, gameFlag_left1, appendtime, creatorAuthToken); }); await t; if (info == null) { return(new WebException("creategame failed", 401)); } return(info.ToString()); }; Post[parentSpace + "/rungame", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int gameID = (int)payload["gameID"]; string gameFlag_right1 = (string)payload["gameFlag_right1"]; string playerAuthToken = (string)payload["playerAuthToken"]; string gameMemo_right = (string)payload["gameMemo_right"]; GameInfo gameInfo = dbhandler.getGameInfo(0, gameID); string result1 = "", result2 = ""; int whoWinner = GameReferee.GetWinner(gameInfo.gameType, gameInfo.gameData, gameFlag_right1, ref result1, ref result2); WebOK info = null; string userIp = Request.UserHostAddress; Task t = Task.Run(() => { info = dbhandler.sp_rungame(gameID, gameFlag_right1, playerAuthToken, gameMemo_right, whoWinner, userIp); }); await t; if (info == null) { return(new WebException("rungame failed", 401)); } if (info.statusCode != 200) { return(new WebException("rungame failed", info.statusCode)); } GameResult gameResult = new GameResult(); gameResult.whoWinner = whoWinner; gameResult.gameFlag_left1 = gameInfo.gameData; gameResult.gameFlag_right1 = gameFlag_right1; gameResult.gameMoneyAmount = gameInfo.gameMoneyAmount; return(gameResult); }; Post[parentSpace + "/runpublichandgame", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int gameID = (int)payload["gameID"]; string gameFlag_right1 = (string)payload["gameFlag_right1"]; string memberNick_right = (string)payload["memberNick_right"]; string gameMemo_right = (string)payload["gameMemo_right"]; GameInfo gameInfo = null; Task t = Task.Run(() => { gameInfo = dbhandler.getGameInfo(0, gameID); }); await t; if (gameInfo == null) { return(new WebException("rungame failed", 401)); } string result1 = "", result2 = ""; int whoWinner = GameReferee.GetWinner(gameInfo.gameType, gameInfo.gameData, gameFlag_right1, ref result1, ref result2); WebOK info = null; Task t2 = Task.Run(() => { info = dbhandler.sp_runPublicHandGame(gameID, gameFlag_right1, memberNick_right, gameMemo_right, whoWinner); }); await t2; if (info == null) { return(new WebException("rungame failed", 401)); } if (info.statusCode != 200) { return(new WebException("rungame failed", info.statusCode)); } GameResult gameResult = new GameResult(); gameResult.whoWinner = whoWinner; gameResult.gameFlag_left1 = gameInfo.gameData; gameResult.gameFlag_right1 = gameFlag_right1; gameResult.gameMoneyAmount = gameInfo.gameMoneyAmount; return(gameResult); }; //인디언홀덤 Post[parentSpace + "/createIndianHoldem", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int mainType = (int)payload["mainType"]; string gameTitle = (string)payload["gameTitle"]; //string gameData = (string)payload["gameData"]; int gameCount = (int)payload["gameCount"]; int gameMoneyAmount = (int)payload["gameMoneyAmount"]; string creatorAuthToken = (string)payload["creatorAuthToken"]; //Get Card string gameData = GameReferee.GetIndianGameCard(null); if (mainType == 0) { if (gameCount > 5 || gameCount < 1) { return(new WebException("gameCount Limit", 10)); } if (gameMoneyAmount > 1000 || gameMoneyAmount < 1) { return(new WebException("gameMoneyAmount Limit", 11)); } } else { if (gameCount > 20 || gameCount < 1) { return(new WebException("gameCount Limit", 10)); } if (gameMoneyAmount > 1000000 || gameMoneyAmount < 1) { return(new WebException("gameMoneyAmount Limit", 11)); } } GameInfo info = null; Task t = Task.Run(() => { info = dbhandler.sp_CreateIndianHoldem(mainType, gameTitle, gameData, gameCount, gameMoneyAmount, creatorAuthToken); }); await t; if (info == null) { return(new WebException("creategame failed", 401)); } return(info); }; Post[parentSpace + "/editIndianHoldem", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int gameAction = (int)payload["gameAction"]; // 0:half 1:call 2:double string creatorAuthToken = (string)payload["creatorAuthToken"]; int gameID = (int)payload["gameID"]; WebOK info = null; Task t = Task.Run(() => { info = dbhandler.sp_EdtIndianHoldem(gameID, gameAction, creatorAuthToken); }); await t; if (info == null) { return(new WebException("rungame failed", 401)); } if (info.statusCode != 200) { return(new WebException("rungame failed", info.statusCode)); } return(info); }; Post[parentSpace + "/runIndianHoldem", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int gameID = (int)payload["gameID"]; //string joinerGameData = (string)payload["joinerGameData"]; string joinerMemo = (string)payload["joinerMemo"]; string joinerAuthToken = (string)payload["joinerAuthToken"]; int gameAction = (int)payload["gameAction"]; GameInfo gameInfo = dbhandler.getGameInfo(1, gameID); string joinerGameData = GameReferee.GetIndianGameCard(gameInfo.gameData); string joinerHandStr = ""; string cratorHandStr = ""; int whoWinner = GameReferee.GetWinner(gameInfo.gameType, gameInfo.gameData, joinerGameData, ref cratorHandStr, ref joinerHandStr); //Super Fold if (gameAction == 2) { if (whoWinner == 1) { whoWinner = 2; } else if (whoWinner == 2) { whoWinner = 1; } } string userIp = Request.UserHostAddress; WebOK info = null; Task t = Task.Run(() => { info = dbhandler.sp_RunIndianHoldem(gameID, joinerGameData, joinerMemo, joinerAuthToken, whoWinner, gameAction, cratorHandStr, joinerHandStr, userIp); }); await t; if (info == null) { return(new WebException("rungame failed", 401)); } if (info.statusCode != 200) { return(new WebException("rungame failed", info.statusCode)); } GameResult gameResult = new GameResult(); gameResult.whoWinner = whoWinner; gameResult.gameFlag_left1 = gameInfo.gameData; gameResult.gameFlag_right1 = joinerGameData; int fixGameMoneyAmount = gameInfo.gameMoneyAmount; if (gameAction == 0) { fixGameMoneyAmount = fixGameMoneyAmount / 2; } gameResult.gameMoneyAmount = fixGameMoneyAmount; gameResult.result_left = cratorHandStr; gameResult.result_right = joinerHandStr; return(gameResult); }; //Todo:Remove(네이밍 잘못함) Post[parentSpace + "/runIndpublicianHoldem", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int gameID = (int)payload["gameID"]; //string joinerGameData = (string)payload["joinerGameData"]; string joinerMemo = (string)payload["joinerMemo"]; int gameAction = (int)payload["gameAction"]; string joinerNick = (string)payload["joinerNick"]; string joinerAvatar = (string)payload["joinerAvatar"]; GameInfo gameInfo = dbhandler.getGameInfo(1, gameID); string joinerGameData = GameReferee.GetIndianGameCard(gameInfo.gameData); string joinerHandStr = ""; string cratorHandStr = ""; int whoWinner = GameReferee.GetWinner(gameInfo.gameType, gameInfo.gameData, joinerGameData, ref cratorHandStr, ref joinerHandStr); //Super Fold if (gameAction == 2) { if (whoWinner == 1) { whoWinner = 2; } else if (whoWinner == 2) { whoWinner = 1; } } WebOK info = null; Task t = Task.Run(() => { //sp_RunPublicIndianHoldem info = dbhandler.sp_RunPublicIndianHoldem(gameID, joinerGameData, joinerMemo, whoWinner, gameAction, cratorHandStr, joinerHandStr, joinerNick, joinerAvatar); }); await t; if (info == null) { return(new WebException("rungame failed", 401)); } if (info.statusCode != 200) { return(new WebException("rungame failed", info.statusCode)); } GameResult gameResult = new GameResult(); gameResult.whoWinner = whoWinner; gameResult.gameFlag_left1 = gameInfo.gameData; gameResult.gameFlag_right1 = joinerGameData; int fixGameMoneyAmount = gameInfo.gameMoneyAmount; if (gameAction == 0) { fixGameMoneyAmount = fixGameMoneyAmount / 2; } gameResult.gameMoneyAmount = fixGameMoneyAmount; gameResult.result_left = cratorHandStr; gameResult.result_right = joinerHandStr; return(gameResult); }; Post[parentSpace + "/runPublicIndianHoldem", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int gameID = (int)payload["gameID"]; //string joinerGameData = (string)payload["joinerGameData"]; string joinerMemo = (string)payload["joinerMemo"]; int gameAction = (int)payload["gameAction"]; string joinerNick = (string)payload["joinerNick"]; string joinerAvatar = (string)payload["joinerAvatar"]; GameInfo gameInfo = dbhandler.getGameInfo(1, gameID); string joinerGameData = GameReferee.GetIndianGameCard(gameInfo.gameData); string joinerHandStr = ""; string cratorHandStr = ""; int whoWinner = GameReferee.GetWinner(gameInfo.gameType, gameInfo.gameData, joinerGameData, ref cratorHandStr, ref joinerHandStr); //Super Fold if (gameAction == 2) { if (whoWinner == 1) { whoWinner = 2; } else if (whoWinner == 2) { whoWinner = 1; } } WebOK info = null; Task t = Task.Run(() => { //sp_RunPublicIndianHoldem info = dbhandler.sp_RunPublicIndianHoldem(gameID, joinerGameData, joinerMemo, whoWinner, gameAction, cratorHandStr, joinerHandStr, joinerNick, joinerAvatar); }); await t; if (info == null) { return(new WebException("rungame failed", 401)); } if (info.statusCode != 200) { return(new WebException("rungame failed", info.statusCode)); } GameResult gameResult = new GameResult(); gameResult.whoWinner = whoWinner; gameResult.gameFlag_left1 = gameInfo.gameData; gameResult.gameFlag_right1 = joinerGameData; int fixGameMoneyAmount = gameInfo.gameMoneyAmount; if (gameAction == 0) { fixGameMoneyAmount = fixGameMoneyAmount / 2; } gameResult.gameMoneyAmount = fixGameMoneyAmount; gameResult.result_left = cratorHandStr; gameResult.result_right = joinerHandStr; return(gameResult); }; //QHoldem Post[parentSpace + "/getPokerCards", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int cardCnt = (int)payload["cardCnt"]; string result = GameReferee.GetPokerCard(cardCnt, null); return(result); }; Post[parentSpace + "/createQHoldem", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int mainType = (int)payload["mainType"]; string gameTitle = (string)payload["gameTitle"]; string gameData = (string)payload["gameData"]; int gameCount = (int)payload["gameCount"]; int gameMoneyAmount = (int)payload["gameMoneyAmount"]; string creatorAuthToken = (string)payload["creatorAuthToken"]; //Get Card //string gameData = GameReferee.GetIndianGameCard(null); if (mainType == 0) { if (gameCount > 5 || gameCount < 1) { return(new WebException("gameCount Limit", 10)); } if (gameMoneyAmount > 1000 || gameMoneyAmount < 1) { return(new WebException("gameMoneyAmount Limit", 11)); } } else { if (gameCount > 20 || gameCount < 1) { return(new WebException("gameCount Limit", 10)); } if (gameMoneyAmount > 1000000 || gameMoneyAmount < 1) { return(new WebException("gameMoneyAmount Limit", 11)); } } GameInfo info = null; Task t = Task.Run(() => { info = dbhandler.sp_CreateQHoldem(mainType, gameTitle, gameData, gameCount, gameMoneyAmount, creatorAuthToken); }); await t; if (info == null) { return(new WebException("creategame failed", 401)); } return(info); }; Post[parentSpace + "/runQHoldem", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int gameID = (int)payload["gameID"]; int joinerGameData = (int)payload["joinerGameData"]; string joinerMemo = (string)payload["joinerMemo"]; string joinerAuthToken = (string)payload["joinerAuthToken"]; GameInfo gameInfo = dbhandler.getGameInfo((int)eGameType.QHoldem, gameID); int delPos = gameInfo.gameData.IndexOf('-'); string commCardData = GameReferee.GetPokerCard(5, gameInfo.gameData.Remove(delPos, 1)); string[] userCardInfo = gameInfo.gameData.Split('-'); //"1:2-3:4" string pulishCards = ""; string myCards = ""; pulishCards = commCardData + ":" + userCardInfo[0] + "-" + userCardInfo[0]; myCards = commCardData + ":" + userCardInfo[1] + "-" + userCardInfo[1]; string cratorHandStr = ""; string joinerHandStr = ""; int whoWinner = GameReferee.GetWinner(gameInfo.gameType, pulishCards, myCards, ref cratorHandStr, ref joinerHandStr); if (joinerGameData == 0) { if (whoWinner == 1) { whoWinner = 2; } else if (whoWinner == 2) { whoWinner = 1; } } WebOK info = null; Task t = Task.Run(() => { info = dbhandler.sp_RunQHoldem(gameID, joinerGameData, commCardData, joinerMemo, joinerAuthToken, whoWinner, cratorHandStr, joinerHandStr); }); await t; if (info == null) { return(new WebException("rungame failed", 401)); } if (info.statusCode != 200) { return(new WebException("rungame failed", info.statusCode)); } GameResult gameResult = new GameResult(); gameResult.whoWinner = whoWinner; gameResult.gameFlag_left1 = pulishCards; gameResult.gameFlag_right1 = myCards; gameResult.gameMoneyAmount = gameInfo.gameMoneyAmount; gameResult.result_left = cratorHandStr; gameResult.result_right = joinerHandStr; return(gameResult); }; Post[parentSpace + "/runPublicQHoldem", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int gameID = (int)payload["gameID"]; int joinerGameData = (int)payload["joinerGameData"]; string joinerMemo = (string)payload["joinerMemo"]; string joinerNick = (string)payload["joinerNick"]; string joinerAvatar = (string)payload["joinerAvatar"]; GameInfo gameInfo = dbhandler.getGameInfo((int)eGameType.QHoldem, gameID); int delPos = gameInfo.gameData.IndexOf('-'); string commCardData = GameReferee.GetPokerCard(5, gameInfo.gameData.Remove(delPos, 1)); string[] userCardInfo = gameInfo.gameData.Split('-'); //"1:2-3:4" string pulishCards = ""; string myCards = ""; pulishCards = commCardData + ":" + userCardInfo[0] + "-" + userCardInfo[0]; myCards = commCardData + ":" + userCardInfo[1] + "-" + userCardInfo[1]; string cratorHandStr = ""; string joinerHandStr = ""; int whoWinner = GameReferee.GetWinner(gameInfo.gameType, pulishCards, myCards, ref cratorHandStr, ref joinerHandStr); if (joinerGameData == 0) { if (whoWinner == 1) { whoWinner = 2; } else if (whoWinner == 2) { whoWinner = 1; } } WebOK info = null; Task t = Task.Run(() => { info = dbhandler.sp_RunPublicQHoldem(gameID, joinerGameData, commCardData, joinerMemo, whoWinner, cratorHandStr, joinerHandStr, joinerNick, joinerAvatar); }); await t; if (info == null) { return(new WebException("rungame failed", 401)); } if (info.statusCode != 200) { return(new WebException("rungame failed", info.statusCode)); } GameResult gameResult = new GameResult(); gameResult.whoWinner = whoWinner; gameResult.gameFlag_left1 = pulishCards; gameResult.gameFlag_right1 = myCards; gameResult.gameMoneyAmount = gameInfo.gameMoneyAmount; gameResult.result_left = cratorHandStr; gameResult.result_right = joinerHandStr; return(gameResult); }; }
public InfomationController() { parentSpace = "/api/info"; dbhandler = new DBInfomationHandler(ConfigurationManager.AppSettings.Get("ConectionDBString")); Get["Event/{id}", true] = async(parameters, ct) => { FBSahareModel model = new FBSahareModel(); model.appid = "588833947973720"; model.pageID = parameters.id; model.pageUrl = "http://game.webnori.com/Event/" + parameters.id; model.pageImg = "http://game.webnori.com/img/event/" + parameters.id + "/fbshare.jpg"; model.popupurl = string.Format("https://www.facebook.com/sharer/sharer.php?u={0}&src=sdkpreparse", model.pageUrl); string pageName = string.Format("views/event/page_{0}", parameters.id); return(View[pageName, model]); }; Get["/PublicDetail/{id}", true] = async(parameters, ct) => { FBSahareModel model = new FBSahareModel(); model.pageID = int.Parse(parameters.id); model.appid = "588833947973720"; model.langcode = "ko_KR"; model.langfile = string.Format("/js/lang/ko_KR.js"); List <HandGameListInfo> gameList1 = new List <HandGameListInfo>(); Task t = Task.Run(() => { gameList1 = dbhandler.GetHandGameList(0, 5, 1, model.pageID, 0); }); await t; List <HandGameListInfoCompleted> gameList2 = new List <HandGameListInfoCompleted>(); Task t2 = Task.Run(() => { gameList2 = dbhandler.GetHandGameListCompleted(0, 5, 1, model.pageID, 0); }); await t2; if (gameList1.Count > 0) { model.pageTitle = gameList1[0].memberNick_left + " 의 가위바위보게임"; model.pageContent = gameList1[0].gameMemo_left; } if (gameList2.Count > 0) { model.pageTitle = gameList2[0].memberNick_left + " 의 가위바위보게임"; model.pageContent = gameList2[0].gameMemo_left; } model.pageUrl = "http://game.webnori.com/PublicDetail/" + parameters.id; model.pageImg = "http://game.webnori.com/img/share_handimg.png"; model.popupurl = string.Format("https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fgame.webnori.com%2FPublicDetail%2F{0}&src=sdkpreparse", model.pageID); return(View["views/HandGameShareDetail.html", model]); //return View["public/index.html", model]; }; Get["/PublicIholdemDetail/{id}", true] = async(parameters, ct) => { FBSahareModel model = new FBSahareModel(); model.pageID = int.Parse(parameters.id); model.appid = "588833947973720"; model.langcode = "ko_KR"; model.langfile = string.Format("/js/lang/ko_KR.js"); List <IndianHoldemListInfo> gameList1 = new List <IndianHoldemListInfo>(); Task t = Task.Run(() => { gameList1 = dbhandler.GetIndianHoldemGameList(0, 5, 1, 0, model.pageID, 0); }); await t; List <IndianHoldemListInfo> gameList2 = new List <IndianHoldemListInfo>(); Task t2 = Task.Run(() => { gameList2 = dbhandler.GetIndianHoldemGameList(0, 5, 1, 1, model.pageID, 0); }); await t2; if (gameList1.Count > 0) { model.pageTitle = gameList1[0].creatorNick + " 의 인디언홀덤 게임"; model.pageContent = gameList1[0].gameTitle; } if (gameList2.Count > 0) { model.pageTitle = gameList2[0].creatorNick + " 의 인디언홀덤 게임"; model.pageContent = gameList2[0].gameTitle; } model.pageUrl = "http://game.webnori.com/PublicIholdemDetail/" + parameters.id; model.pageImg = "http://game.webnori.com/img/share_iholdem.png"; model.popupurl = string.Format("https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fgame.webnori.com%2FPublicIholdemDetail%2F{0}&src=sdkpreparse", model.pageID); return(View["views/IHoldemGameShareDetail.html", model]); //return View["public/index.html", model]; }; Get["/PublicDetail/{id}/{langID}", true] = async(parameters, ct) => { FBSahareModel model = new FBSahareModel(); model.pageID = int.Parse(parameters.id); model.appid = "588833947973720"; model.langcode = parameters.langID; model.langfile = string.Format("/js/lang/{0}.js", parameters.langID); List <HandGameListInfo> gameList1 = new List <HandGameListInfo>(); Task t = Task.Run(() => { gameList1 = dbhandler.GetHandGameList(0, 5, 1, model.pageID, 0); }); await t; List <HandGameListInfoCompleted> gameList2 = new List <HandGameListInfoCompleted>(); Task t2 = Task.Run(() => { gameList2 = dbhandler.GetHandGameListCompleted(0, 5, 1, model.pageID, 0); }); await t2; string titleEnd = ""; switch (model.langcode.ToLower()) { case "en_en": titleEnd = "'s Rock Paper Scissors Game"; break; case "ko_kr": titleEnd = "의 가위바위보게임 게임"; break; } if (gameList1.Count > 0) { model.pageTitle = gameList1[0].memberNick_left + titleEnd; model.pageContent = gameList1[0].gameMemo_left; } if (gameList2.Count > 0) { model.pageTitle = gameList2[0].memberNick_left + titleEnd; model.pageContent = gameList2[0].gameMemo_left; } model.pageUrl = "http://game.webnori.com/PublicDetail/" + parameters.id + "/" + parameters.langID; model.pageImg = "http://game.webnori.com/img/share_handimg.png"; model.popupurl = string.Format("https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fgame.webnori.com%2FPublicDetail%2F{0}%2F{1}&src=sdkpreparse", model.pageID, parameters.langID); return(View["views/HandGameShareDetail.html", model]); //return View["public/index.html", model]; }; Get["/PublicIholdemDetail/{id}/{langID}", true] = async(parameters, ct) => { FBSahareModel model = new FBSahareModel(); model.pageID = int.Parse(parameters.id); model.appid = "588833947973720"; model.langcode = parameters.langID; model.langfile = string.Format("/js/lang/{0}.js", parameters.langID); List <IndianHoldemListInfo> gameList1 = new List <IndianHoldemListInfo>(); Task t = Task.Run(() => { gameList1 = dbhandler.GetIndianHoldemGameList(0, 5, 1, 0, model.pageID, 0); }); await t; List <IndianHoldemListInfo> gameList2 = new List <IndianHoldemListInfo>(); Task t2 = Task.Run(() => { gameList2 = dbhandler.GetIndianHoldemGameList(0, 5, 1, 1, model.pageID, 0); }); await t2; string titleEnd = ""; switch (model.langcode.ToLower()) { case "en_en": titleEnd = "'s IndianHodem Game"; break; case "ko_kr": titleEnd = "의 인디언홀덤 게임"; break; } if (gameList1.Count > 0) { model.pageTitle = gameList1[0].creatorNick + titleEnd; model.pageContent = gameList1[0].gameTitle; } if (gameList2.Count > 0) { model.pageTitle = gameList2[0].creatorNick + titleEnd; model.pageContent = gameList2[0].gameTitle; } model.pageUrl = "http://game.webnori.com/PublicIholdemDetail/" + parameters.id + "/" + parameters.langID; model.pageImg = "http://game.webnori.com/img/share_iholdem.png"; model.popupurl = string.Format("https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fgame.webnori.com%2FPublicIholdemDetail%2F{0}%2F{1}&src=sdkpreparse", model.pageID, parameters.langID); return(View["views/IHoldemGameShareDetail.html", model]); //return View["public/index.html", model]; }; Get["/PublicQHoldemDetail/{id}/{langID}", true] = async(parameters, ct) => { FBSahareModel model = new FBSahareModel(); model.pageID = int.Parse(parameters.id); model.appid = "588833947973720"; model.langcode = parameters.langID; model.langfile = string.Format("/js/lang/{0}.js", parameters.langID); List <QHoldemListInfo> gameList1 = new List <QHoldemListInfo>(); Task t = Task.Run(() => { gameList1 = dbhandler.GetQHoldemGameList(0, 5, 1, 0, model.pageID, 0); }); await t; List <QHoldemListInfo> gameList2 = new List <QHoldemListInfo>(); Task t2 = Task.Run(() => { gameList2 = dbhandler.GetQHoldemGameList(0, 5, 1, 1, model.pageID, 0); }); await t2; string titleEnd = ""; switch (model.langcode.ToLower()) { case "en_en": titleEnd = "'s Hodelm hand Game"; break; case "ko_kr": titleEnd = "의 홀덤 핸드게임"; break; } if (gameList1.Count > 0) { model.pageTitle = gameList1[0].creatorNick + titleEnd; model.pageContent = gameList1[0].gameTitle; } if (gameList2.Count > 0) { model.pageTitle = gameList2[0].creatorNick + titleEnd; model.pageContent = gameList2[0].gameTitle; } model.pageUrl = "http://game.webnori.com/PublicQHoldemDetail/" + parameters.id + "/" + parameters.langID; model.pageImg = "http://game.webnori.com/img/share_qholdem.png"; model.popupurl = string.Format("https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fgame.webnori.com%2FPublicQHoldemDetail%2F{0}%2F{1}&src=sdkpreparse", model.pageID, parameters.langID); return(View["views/QHoldemGameShareDetail.html", model]); //return View["public/index.html", model]; }; Post[parentSpace + "/me", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); string authToken = (string)payload["authtoken"]; UserInfo info = null; Task t = Task.Run(() => { info = dbhandler.sp_userinfo(authToken); }); await t; string argMonth = string.Format("{0}-{1:D2}-01", DateTime.Now.Year, DateTime.Now.Month); int earnPoint = 0; Task t2 = Task.Run(() => { earnPoint = dbhandler.sp_earnpoint("", info.MemberID, argMonth); }); await t2; info.MonthPoint = earnPoint; if (info == null) { return(new WebException("Login failed", 401)); } return(info); }; Post[parentSpace + "/avatar/getlist", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); string authToken = (string)payload["authtoken"]; List <AvartarInfo> avarTartList = new List <AvartarInfo>(); UserInfo info = null; Task t = Task.Run(() => { info = dbhandler.sp_userinfo(authToken); }); await t; if (info == null) { return(new WebException("check auth failed", 401)); } for (int idx = 1; idx < 71; idx++) { string imgUrl = string.Format("/img/avatar/default/avartar_{0:00}.png", idx); int itemNo = idx; avarTartList.Add(new AvartarInfo(itemNo, imgUrl)); } return(avarTartList); }; Post[parentSpace + "/avatar/set", true] = async(parameters, ct) => { WebOK result = new WebOK(); IDictionary <string, object> payload = GetPayLoad(); string authToken = (string)payload["authtoken"]; int itemNo = (int)payload["itemNo"]; string imgUrl = string.Format("/img/avatar/default/avartar_{0:00}.png", itemNo); List <AvartarInfo> avarTartList = new List <AvartarInfo>(); UserInfo info = null; Task t = Task.Run(() => { info = dbhandler.sp_userinfo(authToken); }); await t; if (info == null) { return(new WebException("check auth failed", 401)); } Task taskUpdateAvatar = Task.Run(() => { string sqltext = string.Format("update tblmember set picurl='{0}' where memberID={1};", imgUrl, info.MemberID); dbhandler.RunSQL(sqltext, false); }); await taskUpdateAvatar; return(result); }; Post[parentSpace + "/user", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int userNo = (int)payload["userNo"]; UserInfo info = null; Task t = Task.Run(() => { info = dbhandler.sp_userinfo("NAN", userNo); }); await t; info.GamePoint = 0; info.CoinCount = 0; if (info == null) { return(new WebException("Login failed", 401)); } return(info.ToString()); }; Post[parentSpace + "/game/playlist", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int startidx = (int)payload["startidx"]; int endidx = (int)payload["endidx"]; List <HandGameListInfo> gameList2 = new List <HandGameListInfo>(); Task t = Task.Run(() => { gameList2 = dbhandler.GetHandGameList(startidx, endidx); }); await t; List <HandGamePlayList> gameList = new List <HandGamePlayList>(); List <HandGameListInfo> detailList = new List <HandGameListInfo>(); int curGameID = 0; HandGamePlayList addData = new HandGamePlayList(); foreach (HandGameListInfo dbdata in gameList2) { //New Header if (curGameID != dbdata.gameID) { addData = new HandGamePlayList(); detailList = new List <HandGameListInfo>(); addData.header = dbdata; addData.list = detailList; curGameID = dbdata.gameID; gameList.Add(addData); } if (curGameID == dbdata.gameID) { if (dbdata.subGameID > -1) { addData.list.Add(dbdata); } } } return(gameList); }; Post[parentSpace + "/game/completelist", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int startidx = (int)payload["startidx"]; int endidx = (int)payload["endidx"]; //List<GameListInfoCompleted> gameList2 = dbhandler.GetGameListCompleted(startidx, endidx); List <HandGameListInfoCompleted> gameList2 = new List <HandGameListInfoCompleted>(); Task t = Task.Run(() => { gameList2 = dbhandler.GetHandGameListCompleted(startidx, endidx); }); await t; List <HandGamePlayCompletedList> gameList = new List <HandGamePlayCompletedList>(); List <HandGameListInfoCompleted> detailList = new List <HandGameListInfoCompleted>(); int curGameID = 0; HandGamePlayCompletedList addData = new HandGamePlayCompletedList(); foreach (HandGameListInfoCompleted dbdata in gameList2) { //New Header if (curGameID != dbdata.gameID) { addData = new HandGamePlayCompletedList(); detailList = new List <HandGameListInfoCompleted>(); addData.header = dbdata; addData.list = detailList; curGameID = dbdata.gameID; gameList.Add(addData); } if (curGameID == dbdata.gameID) { if (dbdata.subGameID > -1) { addData.list.Add(dbdata); } } } return(gameList); }; Post[parentSpace + "/game/handplaylist", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int startidx = (int)payload["startidx"]; int endidx = (int)payload["endidx"]; int mainType = (int)payload["mainType"]; int gameID = (int)payload["gameID"]; int creatorID = (int)payload["creatorID"]; List <HandGameListInfo> gameList2 = new List <HandGameListInfo>(); Task t = Task.Run(() => { gameList2 = dbhandler.GetHandGameList(startidx, endidx, mainType, gameID, creatorID); }); await t; List <HandGamePlayList> gameList = new List <HandGamePlayList>(); List <HandGameListInfo> detailList = new List <HandGameListInfo>(); int curGameID = 0; HandGamePlayList addData = new HandGamePlayList(); foreach (HandGameListInfo dbdata in gameList2) { //New Header if (curGameID != dbdata.gameID) { addData = new HandGamePlayList(); detailList = new List <HandGameListInfo>(); addData.header = dbdata; addData.list = detailList; curGameID = dbdata.gameID; gameList.Add(addData); } if (curGameID == dbdata.gameID) { if (dbdata.subGameID > -1) { addData.list.Add(dbdata); } } } return(gameList); }; Post[parentSpace + "/game/handcompletelist", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int startidx = (int)payload["startidx"]; int endidx = (int)payload["endidx"]; int mainType = (int)payload["mainType"]; int gameID = (int)payload["gameID"]; int creatorID = (int)payload["creatorID"]; //List<GameListInfoCompleted> gameList2 = dbhandler.GetGameListCompleted(startidx, endidx); List <HandGameListInfoCompleted> gameList2 = new List <HandGameListInfoCompleted>(); Task t = Task.Run(() => { gameList2 = dbhandler.GetHandGameListCompleted(startidx, endidx, mainType, gameID, creatorID); }); await t; List <HandGamePlayCompletedList> gameList = new List <HandGamePlayCompletedList>(); List <HandGameListInfoCompleted> detailList = new List <HandGameListInfoCompleted>(); int curGameID = 0; HandGamePlayCompletedList addData = new HandGamePlayCompletedList(); foreach (HandGameListInfoCompleted dbdata in gameList2) { //New Header if (curGameID != dbdata.gameID) { addData = new HandGamePlayCompletedList(); detailList = new List <HandGameListInfoCompleted>(); addData.header = dbdata; addData.list = detailList; curGameID = dbdata.gameID; gameList.Add(addData); } if (curGameID == dbdata.gameID) { if (dbdata.subGameID > -1) { addData.list.Add(dbdata); } } } return(gameList); }; //GetQHoldemGameList Post[parentSpace + "/game/indianholdemlist", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int startidx = (int)payload["startidx"]; int endidx = (int)payload["endidx"]; int mainType = (int)payload["mainType"]; int gameState = (int)payload["gameState"]; int gameID = (int)payload["gameID"]; int creatorID = (int)payload["creatorID"]; List <IndianHoldemListInfo> gameList2 = new List <IndianHoldemListInfo>(); Task t = Task.Run(() => { gameList2 = dbhandler.GetIndianHoldemGameList(startidx, endidx, mainType, gameState, gameID, creatorID); }); await t; List <IndianHoldemListInfoList> gameList = new List <IndianHoldemListInfoList>(); List <IndianHoldemListInfo> detailList = new List <IndianHoldemListInfo>(); int curGameID = 0; IndianHoldemListInfoList addData = new IndianHoldemListInfoList(); foreach (IndianHoldemListInfo dbdata in gameList2) { //New Header if (curGameID != dbdata.gameID) { addData = new IndianHoldemListInfoList(); detailList = new List <IndianHoldemListInfo>(); addData.header = dbdata; addData.list = detailList; curGameID = dbdata.gameID; gameList.Add(addData); } if (curGameID == dbdata.gameID) { if (dbdata.subGameID > -1) { addData.list.Add(dbdata); } } } return(gameList); }; Post[parentSpace + "/game/QHoldemlist", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); int startidx = (int)payload["startidx"]; int endidx = (int)payload["endidx"]; int mainType = (int)payload["mainType"]; int gameState = (int)payload["gameState"]; int gameID = (int)payload["gameID"]; int creatorID = (int)payload["creatorID"]; List <QHoldemListInfo> gameList2 = new List <QHoldemListInfo>(); Task t = Task.Run(() => { gameList2 = dbhandler.GetQHoldemGameList(startidx, endidx, mainType, gameState, gameID, creatorID); }); await t; List <QHoldemListInfoList> gameList = new List <QHoldemListInfoList>(); List <QHoldemListInfo> detailList = new List <QHoldemListInfo>(); int curGameID = 0; QHoldemListInfoList addData = new QHoldemListInfoList(); foreach (QHoldemListInfo dbdata in gameList2) { //New Header if (curGameID != dbdata.gameID) { addData = new QHoldemListInfoList(); detailList = new List <QHoldemListInfo>(); addData.header = dbdata; addData.list = detailList; curGameID = dbdata.gameID; gameList.Add(addData); } if (curGameID == dbdata.gameID) { if (dbdata.subGameID > -1) { addData.list.Add(dbdata); } } } return(gameList); }; Post[parentSpace + "/earnpoint/rank", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); string monthData = string.Format("{0}-{1:D2}-01", DateTime.Now.Year, DateTime.Now.Month); int gameType = (int)payload["gameType"]; RankListInfoList resultValue = new RankListInfoList(); resultValue.currentMonth = string.Format("{0}-{1}", DateTime.Now.Year, DateTime.Now.Month); Task t = Task.Run(() => { resultValue.list = dbhandler.sp_earnpointList(monthData, gameType); }); await t; return(resultValue); }; Post[parentSpace + "/adver/getlist", true] = async(parameters, ct) => { IDictionary <string, object> payload = GetPayLoad(); string authToken = (string)payload["authtoken"]; List <AdverInfo> adverList = new List <AdverInfo>(); Task t = Task.Run(() => { adverList = dbhandler.GetAdverList(); }); await t; return(adverList); }; }