void betFormAdd() { JToken result = new JObject(); if (glbf.GetLoginStatus() != 2) { result["result"] = "fail"; result["msg"] = "未完成登入程序"; result["column"] = "session"; Response.Write(JsonConvert.SerializeObject(result)); return; } Model.Member.Define memberDefine = new Model.Member.Define(); Model.BetForm.Define betFormDefine = new Model.BetForm.Define(); int memberId = (int)Session["id"]; int parentId = (int)Session["parentId"]; string ip = glbf.GetClientIP(); string periodId = betFormDefine.GetLotteryPeriodId(); JObject chooseBallObj; string betType; string betBranch; string betRemark = null; decimal betAmount; int combo; decimal rate; decimal totalBet; decimal walletAmount = memberDefine.GetMemberWalletAmount(memberId); string betType_s = (req["betType"] ?? "").ToString(); var checkBetTypeExit = Model.BetForm.Define.BetTypesLangMap.ContainsKey(betType_s); if (checkBetTypeExit == false) { result["result"] = "fail"; result["msg"] = "找不到此BetType"; result["column"] = "betType"; Response.Write(JsonConvert.SerializeObject(result)); return; } betType = betType_s; string betBranch_s = (req["betBranch"] ?? "").ToString(); int betBranchTemp; var chkBetBranchTempFmt = int.TryParse(betBranch_s, out betBranchTemp); if (chkBetBranchTempFmt == false) { result["result"] = "fail"; result["msg"] = "betBranch格式錯誤"; result["column"] = "betBranch"; Response.Write(JsonConvert.SerializeObject(result)); return; } betBranch = betBranch_s; string betRemark_s = (req["betRemark"] ?? "").ToString(); if (betRemark_s != "") { var checkBetRemark = memberDefine.TitleValidate(betRemark_s); if (checkBetRemark == 2) { result["result"] = "fail"; result["msg"] = "只能輸入中文或英數"; result["column"] = "betRemark"; Response.Write(JsonConvert.SerializeObject(result)); return; } else if (checkBetRemark == 1) { result["result"] = "fail"; result["msg"] = "字串長度錯誤"; result["column"] = "betRemark"; Response.Write(JsonConvert.SerializeObject(result)); return; } } betRemark = betRemark_s; string betAmount_s = (req["betAmount"] ?? "").ToString(); bool chkBetBetAmountFmt = decimal.TryParse(betAmount_s, out betAmount); if (chkBetBetAmountFmt == false) { result["result"] = "fail"; result["msg"] = "BetAmount格式錯誤"; result["column"] = "betAmount"; Response.Write(JsonConvert.SerializeObject(result)); return; } decimal singleBetMinValue = memberDefine.GetMemberSingleBetMinValue(memberId, betType); if (betAmount < singleBetMinValue) { result["result"] = "fail"; result["msg"] = "小於玩法單注限額"; result["column"] = "betAmount"; Response.Write(JsonConvert.SerializeObject(result)); return; } decimal singleBetMaxValue = memberDefine.GetMemberSingleBetMaxValue(memberId, betType); if (betAmount > singleBetMaxValue) { result["result"] = "fail"; result["msg"] = "大於玩法單注限額"; result["column"] = "betAmount"; Response.Write(JsonConvert.SerializeObject(result)); return; } //bool checkBetTime = define.CheckBetTime(); //if (checkBalance == false) //{ // result["result"] = "fail"; // result["msg"] = "超過時間"; // result["errorcode"] = ApiErrorCodes.OverTime; // Response.Write(JsonConvert.SerializeObject(result)); // return; //} string chooseBall_s = (req["chooseBall"] ?? "").ToString().TrimEnd(',').Replace("\r\n", "").Replace(" ", ""); try { chooseBallObj = JsonConvert.DeserializeObject <JObject>(chooseBall_s); } catch (Exception excep) { result["result"] = "fail"; result["msg"] = "chooseBall轉換json失敗"; result["column"] = "chooseBall"; Response.Write(JsonConvert.SerializeObject(result)); return; } var checkChooseBallCntCorrect = betFormDefine.CheckChooseBallCntCorrect(chooseBallObj, betType); if (checkChooseBallCntCorrect == false) { result["result"] = "fail"; result["msg"] = "chooseBall數量錯誤"; result["column"] = "chooseBall"; Response.Write(JsonConvert.SerializeObject(result)); return; } var chkChooseBallItem = betFormDefine.CheckChooseBallItemCorrect(chooseBallObj, betType, parentId); if (chkChooseBallItem == false) { result["result"] = "fail"; result["msg"] = "賠率異常或球號異常"; result["column"] = "chooseBall"; Response.Write(JsonConvert.SerializeObject(result)); return; } string rate_s = (req["rate"] ?? "").ToString(); var chkRateFmt = decimal.TryParse(rate_s, out rate); if (chkRateFmt == false) { result["result"] = "fail"; result["msg"] = "rate格式錯誤"; result["column"] = "rate"; Response.Write(JsonConvert.SerializeObject(result)); return; } if (rate != betFormDefine.CalcBetFormRate(chooseBallObj, betType)) { result["result"] = "fail"; result["msg"] = "rate錯誤"; result["column"] = "rate"; Response.Write(JsonConvert.SerializeObject(result)); return; } string combo_s = (req["combo"] ?? "").ToString(); int comboTemp; var chkComboFmt = int.TryParse(combo_s, out comboTemp); if (chkComboFmt == false) { result["result"] = "fail"; result["msg"] = "combo格式錯誤"; result["column"] = "combo"; Response.Write(JsonConvert.SerializeObject(result)); return; } if (betFormDefine.CalcBetFormCombo(chooseBallObj, betType) != comboTemp) { result["result"] = "fail"; result["msg"] = "combo錯誤"; result["column"] = "combo"; Response.Write(JsonConvert.SerializeObject(result)); return; } combo = comboTemp; string totalBet_s = (req["totalBet"] ?? "").ToString(); var chkTotalBetFmt = decimal.TryParse(totalBet_s, out totalBet); if (chkTotalBetFmt == false) { result["result"] = "fail"; result["msg"] = "totalBet格式錯誤"; result["column"] = "totalBet"; Response.Write(JsonConvert.SerializeObject(result)); return; } if (totalBet != betAmount * combo) { result["result"] = "fail"; result["msg"] = "totalBet錯誤"; result["column"] = "totalBet"; Response.Write(JsonConvert.SerializeObject(result)); return; } decimal betMaxValueByBetType = memberDefine.GetMemberBetMaxValueByBetType(memberId, betType); decimal agentBetMaxValue = memberDefine.GetMemberAgentBetMaxValue(memberId, betType); decimal totalBetByMember = betFormDefine.GetTotalBetByMember(memberId, periodId, betType); decimal totalBetByAgent = betFormDefine.GetTotalBetByAgent(parentId, periodId); if (totalBet + totalBetByMember > betMaxValueByBetType) { result["result"] = "fail"; result["msg"] = "超過單一玩法限制最大總計金額"; result["column"] = "totalBet"; Response.Write(JsonConvert.SerializeObject(result)); return; } if (totalBet + totalBetByAgent > agentBetMaxValue) { result["result"] = "fail"; result["msg"] = "超過代理限制最大總計金額"; result["column"] = ""; Response.Write(JsonConvert.SerializeObject(result)); return; } if (totalBet > walletAmount) { result["result"] = "fail"; result["msg"] = "餘額不足"; result["column"] = ""; Response.Write(JsonConvert.SerializeObject(result)); return; } walletAmount -= totalBet; // 錢包餘額扣掉下注總金額 bool checkBetFormExist = betFormDefine.CheckBetFormExist(memberId, chooseBallObj, betType); if (checkBetFormExist == true) { result["result"] = "fail"; result["msg"] = "重複下注"; result["column"] = ""; Response.Write(JsonConvert.SerializeObject(result)); return; } Model.BetForm.Add betFormAdd = new Model.BetForm.Add(); Model.BetForm.Add.BetFormStruct b = new Model.BetForm.Add.BetFormStruct(); b.memberId = memberId; b.BetType = betType; b.BetBranch = betBranch; // 暫時未使用 b.ChooseBall = JsonConvert.SerializeObject(chooseBallObj); b.Rate = rate; b.Combo = combo; b.BetAmount = betAmount; b.TotalBet = totalBet; b.IP = ip; b.PeriodId = periodId; b.BetRemark = betRemark; betFormAdd.BetFormStructtHandle(b); // add 注單 Model.Member.Edit memberEdit = new Model.Member.Edit(); Model.Member.Edit.BalanceTransferStruct eb = new Model.Member.Edit.BalanceTransferStruct(); eb.MemberId = memberId; eb.WalletAmount = totalBet; memberEdit.BalanceTransferStructHandle(eb); // 修改 walletAmount result["result"] = "success"; result["msg"] = "第" + periodId + "期下注成功,下注金額為:" + totalBet.ToString() + "賠率為:" + rate.ToString() + " ,剩餘金額:" + walletAmount.ToString(); result["column"] = ""; Response.Write(JsonConvert.SerializeObject(result)); }
void AddAgent() { JToken result = new JObject(); if (glbf.GetLoginStatus() != 1) { result["result"] = "fail"; result["msg"] = "未完成登入程序"; result["column"] = "session"; Response.Write(JsonConvert.SerializeObject(result)); return; } if ((int)Session["levelId"] < 8) { result["result"] = "fail"; result["msg"] = "無新增代理權限"; result["column"] = "authorization"; Response.Write(JsonConvert.SerializeObject(result)); return; } Model.Member.Define memberDefine = new Model.Member.Define(); int agentId = (int)Session["id"]; string username; string password; string title; string nickname; string username_s = (req["username"] ?? "").ToString(); var chkUsernameFmt = memberDefine.UsernameValidate(username_s); if (chkUsernameFmt == 1) { result["result"] = "fail"; result["msg"] = "username長度必須為4~10"; result["column"] = "username"; Response.Write(JsonConvert.SerializeObject(result)); return; } else if (chkUsernameFmt == 2) { result["result"] = "fail"; result["msg"] = "username字元須為英數"; result["column"] = "username"; Response.Write(JsonConvert.SerializeObject(result)); return; } var chkUsernameExist = memberDefine.CheckMemberUsernameExist(username_s); if (chkUsernameExist == true) { result["result"] = "fail"; result["msg"] = "帳號重複"; result["column"] = "username"; Response.Write(JsonConvert.SerializeObject(result)); return; } username = username_s; string password_s = (req["password"] ?? "").ToString(); var chkpassword = memberDefine.PasswordValidate(password_s); if (chkpassword == 1) { result["result"] = "fail"; result["msg"] = "password長度必須為4~10"; result["column"] = "password"; Response.Write(JsonConvert.SerializeObject(result)); return; } else if (chkpassword == 2) { result["result"] = "fail"; result["msg"] = "password字元須為英數"; result["column"] = "password"; Response.Write(JsonConvert.SerializeObject(result)); return; } password = password_s; string title_s = (req["title"] ?? "").ToString(); var chkTitleFmt = memberDefine.TitleValidate(title_s); if (chkTitleFmt == 1) { result["result"] = "fail"; result["msg"] = "title長度必須為1~15"; result["column"] = "title"; Response.Write(JsonConvert.SerializeObject(result)); return; } else if (chkTitleFmt == 2) { result["result"] = "fail"; result["msg"] = "title字元須為中文英數"; result["column"] = "title"; Response.Write(JsonConvert.SerializeObject(result)); return; } title = title_s; string nickname_s = (req["nickname"] ?? "").ToString(); var chkNicknameFmt = memberDefine.TitleValidate(nickname_s); if (chkNicknameFmt == 1) { result["result"] = "fail"; result["msg"] = "nickname長度必須為1~15"; result["column"] = "title"; Response.Write(JsonConvert.SerializeObject(result)); return; } else if (chkNicknameFmt == 2) { result["result"] = "fail"; result["msg"] = "nickname字元須為中文英數"; result["column"] = "title"; Response.Write(JsonConvert.SerializeObject(result)); return; } nickname = nickname_s; Model.Member.Add add = new Model.Member.Add(); Model.Member.Add.AgentStruct s = new Model.Member.Add.AgentStruct(); s.Username = username; s.Password = password; s.ParentId = agentId; s.Title = title; s.Nickname = nickname; add.AgentStructHandle(s); result["result"] = "success"; result["msg"] = "新增完成"; result["column"] = ""; Response.Write(JsonConvert.SerializeObject(result)); }
void Edit() { JToken result = new JObject(); if (glbf.GetLoginStatus() != 1) { result["result"] = "fail"; result["msg"] = "未完成登入程序"; result["column"] = "session"; Response.Write(JsonConvert.SerializeObject(result)); return; } Model.Member.Define memberDefine = new Model.Member.Define(); int targetAgentId; string password = null; string title = null; string nickname = null; string targetAgentStatus = null; int targetAgentLevelId; int agentId = (int)Session["id"];; int agentLevelId = (int)Session["levelId"]; string targetAgentId_s = (req["agentId"] ?? "").ToString(); var chkAgentIdFmt = int.TryParse(targetAgentId_s, out targetAgentId); if (chkAgentIdFmt == false) { result["result"] = "fail"; result["msg"] = "代理帳號格式錯誤"; result["errorCode"] = ApiErrorCodes.AgentIdExistFalse; Response.Write(JsonConvert.SerializeObject(result)); return; } var chkAgentIdExit = memberDefine.CheckMemberIdExist(targetAgentId); if (chkAgentIdExit == false) { result["result"] = "fail"; result["msg"] = "代理帳號不存在"; result["errorCode"] = ApiErrorCodes.AgentIdExistFalse; Response.Write(JsonConvert.SerializeObject(result)); return; } targetAgentLevelId = memberDefine.GetMemberLevelId(targetAgentId); if (targetAgentLevelId < 7) { result["result"] = "fail"; result["msg"] = "修改對象非代理帳號"; result["column"] = "AgentId"; Response.Write(JsonConvert.SerializeObject(result)); return; } string password_s = (req["password"] ?? "").ToString(); if (password_s != "") { var chkpassword = memberDefine.PasswordValidate(password_s); if (chkpassword == 1) { result["result"] = "fail"; result["msg"] = "password長度必須為4~10"; result["column"] = "password"; Response.Write(JsonConvert.SerializeObject(result)); return; } else if (chkpassword == 2) { result["result"] = "fail"; result["msg"] = "password字元須為英數"; result["column"] = "password"; Response.Write(JsonConvert.SerializeObject(result)); return; } targetAgentStatus = Model.Member.Define.MemberStauts.NeedToChangePassword; password = password_s; } string title_s = (req["title"] ?? "").ToString(); if (title_s != "") { var chktitle = memberDefine.TitleValidate(title_s); if (chktitle == 1) { result["result"] = "fail"; result["msg"] = "title長度必須為1~15"; result["column"] = "title"; Response.Write(JsonConvert.SerializeObject(result)); return; } else if (chktitle == 2) { result["result"] = "fail"; result["msg"] = "title字元須為英數"; result["column"] = "title"; Response.Write(JsonConvert.SerializeObject(result)); return; } title = title_s; } string nickname_s = (req["nickname"] ?? "").ToString(); if (nickname_s != "") { var chkNicknameFmt = memberDefine.TitleValidate(nickname_s); if (chkNicknameFmt == 1) { result["result"] = "fail"; result["msg"] = "nickname長度必須為1~15"; result["column"] = "nickname"; Response.Write(JsonConvert.SerializeObject(result)); return; } else if (chkNicknameFmt == 2) { result["result"] = "fail"; result["msg"] = "nickname字元須為英數"; result["column"] = "nickname"; Response.Write(JsonConvert.SerializeObject(result)); return; } nickname = nickname_s; } int?targetAgentLN = memberDefine.GetMemberLN(targetAgentId, agentLevelId); if (agentId != targetAgentLN || agentId == targetAgentId) { result["result"] = "fail"; result["msg"] = "無修改權限"; result["column"] = "levelId"; Response.Write(JsonConvert.SerializeObject(result)); return; } Model.Member.Edit.AgentStruct s = new Model.Member.Edit.AgentStruct(); Model.Member.Edit update = new Model.Member.Edit(); s.AgentId = targetAgentId; s.Password = password; s.Title = title; s.Nickname = nickname; s.UpdateUserId = agentId; s.Stauts = targetAgentStatus; update.AgentStructHandle(s); result["result"] = "success"; result["msg"] = "更新成功"; result["column"] = ""; Response.Write(JsonConvert.SerializeObject(result)); }