using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Caching.Memory; using Newtonsoft.Json.Linq; using ResfullApi.Models; using System.Data; using System.Net; using System.Net.Http; using ApiProcess.Models.bet; using Newtonsoft.Json; using System.Collections; using System.Web; using System.Text; using System.Security.Cryptography; using ResfullApi.Models.bet; using System.Globalization; using System.IO; using System.Xml; using CommonObj.common; using CommonObj.model; namespace ApiProcess.Controllers { [ApiController] [Route("api/[controller]/[action]/data")] public class luckyGame : ControllerBase { static readonly log4net.ILog logger = log4net.LogManager.GetLogger(typeof(luckyGame)); private IMemoryCache memoryCache; public luckyGame(IMemoryCache memoryCache) { this.memoryCache = memoryCache; } [HttpPost] public IActionResult getCurentAndPreviousTerm([FromBody] dynamic sendData) { objCurentTerm response = new objCurentTerm(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); string serviceId = string.Empty, gameId = string.Empty, language = string.Empty, key = string.Empty,channel=string.Empty; //Lay ve url va key voi muc dich post vao lay Message cua Errcode string urlPostGetErrCodeMessage=string.Empty, keyPostGetErrCodeMessage = string.Empty, _keyConfig=string.Empty; memoryCache.TryGetValue("urlPostGetErrCodeMessage", out urlPostGetErrCodeMessage); if (string.IsNullOrEmpty(urlPostGetErrCodeMessage)) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; urlPostGetErrCodeMessage = Common.GetValuesAppSetting("webConfig", "urlPostGetErrCodeMessage"); memoryCache.Set("urlPostGetErrCodeMessage", urlPostGetErrCodeMessage, cacheExpiryOptions); } memoryCache.TryGetValue("keyPostGetErrCodeMessage", out keyPostGetErrCodeMessage); if (string.IsNullOrEmpty(keyPostGetErrCodeMessage)) { var cacheExpiryOptions1 = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; keyPostGetErrCodeMessage = Common.GetValuesAppSetting("webConfig", "keyPostGetErrCodeMessage"); memoryCache.Set("keyPostGetErrCodeMessage", keyPostGetErrCodeMessage, cacheExpiryOptions1); } memoryCache.TryGetValue("_keyConfig", out _keyConfig); if (string.IsNullOrEmpty(_keyConfig)) { var cacheExpiryOptions2 = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _keyConfig = Common.GetValuesAppSetting("webConfig", "key"); memoryCache.Set("_keyConfig", _keyConfig, cacheExpiryOptions2); } try { var obj = JObject.Parse(sendData.ToString()); serviceId = Convert.ToString(obj["serviceId"]); gameId = Convert.ToString(obj["gameId"]); language = Convert.ToString(obj["language"]); channel = Convert.ToString(obj["channel"]); key = Convert.ToString(obj["key"]); if (string.IsNullOrEmpty(gameId)) gameId = "1"; if (string.IsNullOrEmpty(key)) key = "-1"; if (string.IsNullOrEmpty(language)) language = "0"; if (string.IsNullOrEmpty(channel)) channel = "APP"; //Check token var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); //string channel = Convert.ToString(userObj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); redisConnection _redis = new redisConnection(RedisIp, RedisPort, RedisPass); if (!_redis.connet()) { logger.Info("Connect to redis false"); response.responseCode = "-2"; response.responseMessage = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.responseCode = "35"; response.responseMessage = "Check Authen false"; return Ok(response); } //Ket thuc check token //Check key for authencation string _keyDecrypt =ResfullApi.Models.CustomEncryption.Decrypt(key); if (_keyDecrypt != _keyConfig) { response.responseCode = "-3"; //response.responseMessage = "Authentication is false"; response.responseMessage = Common.GetErrMessageFromErrCode(response.responseCode, language, urlPostGetErrCodeMessage, keyPostGetErrCodeMessage, channel); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } DataSet ds_regist = ResfullApi.Models.bet.lotoDataAccess.getCurentTerm(serviceId, gameId, language); logger.Info("Call database getCurentTerm success:"); response.responseCode = "0"; response.responseMessage = "Success"; if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { objTerm _term = new objTerm(); _term.dateStart = ds_regist.Tables[0].Rows[0]["DATE_START"].ToString(); _term.dateEnd = ds_regist.Tables[0].Rows[0]["DATE_END"].ToString(); _term.dateRandom = ds_regist.Tables[0].Rows[0]["DATE_RANDOM"].ToString(); _term.termId = ds_regist.Tables[0].Rows[0]["id"].ToString(); _term.money = ds_regist.Tables[0].Rows[0]["money"].ToString(); response.curentTerm = _term; } else { response.responseCode = "1"; response.responseMessage = "Nodata"; } } catch (Exception ex) { logger.Info("getCurentTerm exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; response.responseMessage = Common.GetErrMessageFromErrCode(response.responseCode, language, urlPostGetErrCodeMessage, keyPostGetErrCodeMessage, channel); } //response.responseMessage = Common.GetErrMessageFromErrCode(response.responseCode, language, urlPostGetErrCodeMessage,keyPostGetErrCodeMessage); return Ok(response); } [HttpPost] public IActionResult getParam([FromBody] dynamic sendData) { //Lay ve url va key voi muc dich post vao lay Message cua Errcode string urlPostGetErrCodeMessage = string.Empty, keyPostGetErrCodeMessage = string.Empty, _keyConfig = string.Empty; memoryCache.TryGetValue("urlPostGetErrCodeMessage", out urlPostGetErrCodeMessage); if (string.IsNullOrEmpty(urlPostGetErrCodeMessage)) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; urlPostGetErrCodeMessage = Common.GetValuesAppSetting("webConfig", "urlPostGetErrCodeMessage"); memoryCache.Set("urlPostGetErrCodeMessage", urlPostGetErrCodeMessage, cacheExpiryOptions); } memoryCache.TryGetValue("keyPostGetErrCodeMessage", out keyPostGetErrCodeMessage); if (string.IsNullOrEmpty(keyPostGetErrCodeMessage)) { var cacheExpiryOptions1 = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; keyPostGetErrCodeMessage = Common.GetValuesAppSetting("webConfig", "keyPostGetErrCodeMessage"); memoryCache.Set("keyPostGetErrCodeMessage", keyPostGetErrCodeMessage, cacheExpiryOptions1); } memoryCache.TryGetValue("_keyConfig", out _keyConfig); if (string.IsNullOrEmpty(_keyConfig)) { var cacheExpiryOptions2 = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _keyConfig = Common.GetValuesAppSetting("webConfig", "key"); memoryCache.Set("_keyConfig", _keyConfig, cacheExpiryOptions2); } objParams response = new objParams(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getMoney: " + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string serviceId = Convert.ToString(obj["serviceId"]); string gameId = Convert.ToString(obj["gameId"]); string groupCode = Convert.ToString(obj["groupCode"]); string code = Convert.ToString(obj["code"]); string language = Convert.ToString(obj["language"]); string key = Convert.ToString(obj["key"]); string channel = Convert.ToString(obj["channel"]); if (string.IsNullOrEmpty(gameId)) gameId = "-1"; if (string.IsNullOrEmpty(key)) key = "-1"; if (string.IsNullOrEmpty(language)) language = "0"; if (string.IsNullOrEmpty(groupCode)) groupCode = "-1"; if (string.IsNullOrEmpty(code)) code = "-1"; if (string.IsNullOrEmpty(channel)) channel = "APP"; /* if (_isCheckToken == "1") { string token = Convert.ToString(obj["token"]); logger.Info("****************************Xu ly check token*****************************"); string _msisdnfromToken = "", _resultCheckToken = "1", _msgCheckToken = ""; if (true) { _resultCheckToken = Common.checkToken("", "WEB", token, out _msisdnfromToken, out _msgCheckToken); if (_resultCheckToken != "0") { logger.Info("the command: check token false with code: " + _resultCheckToken + " and message" + _msgCheckToken + " and msisdn: " + _msisdnfromToken); response.responseCode = "35"; response.responseMessage = "check token false"; return Ok(response); } else { logger.Info("check token success"); } } logger.Info("****************************Het xu ly check token*****************************"); } */ try { //Check key for authencation string _keyDecrypt =ResfullApi.Models.CustomEncryption.Decrypt(key); if (_keyDecrypt != _keyConfig) { response.responseCode = "-3"; //response.responseMessage = "Authentication is false"; response.responseMessage = Common.GetErrMessageFromErrCode(response.responseCode, language, urlPostGetErrCodeMessage, keyPostGetErrCodeMessage, channel); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } DataSet ds_regist = ResfullApi.Models.bet.lotoDataAccess.getParams(serviceId, gameId, language, groupCode, code); logger.Info("Call database getMoney success:"); response.responseCode = "0"; response.responseMessage = "Success"; if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.paramList = new objParam[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { objParam _obj = new objParam(); _obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString(); _obj.code = ds_regist.Tables[0].Rows[j]["code"].ToString(); _obj.codeGroup = ds_regist.Tables[0].Rows[j]["CODE_GROUP"].ToString(); _obj.values = ds_regist.Tables[0].Rows[j]["SVALUES"].ToString(); _obj.display = ds_regist.Tables[0].Rows[j]["display"].ToString(); response.paramList[j] = _obj; } } else { response.responseCode = "1"; response.responseMessage = "Nodata"; } } catch (Exception ex) { logger.Info("getParam exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; response.responseMessage = Common.GetErrMessageFromErrCode(response.responseCode, language, urlPostGetErrCodeMessage, keyPostGetErrCodeMessage, channel); } return Ok(response); } [HttpPost] public IActionResult getMoney([FromBody] dynamic sendData) { //Lay ve url va key voi muc dich post vao lay Message cua Errcode string urlPostGetErrCodeMessage = string.Empty, keyPostGetErrCodeMessage = string.Empty, _keyConfig = string.Empty; memoryCache.TryGetValue("urlPostGetErrCodeMessage", out urlPostGetErrCodeMessage); if (string.IsNullOrEmpty(urlPostGetErrCodeMessage)) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; urlPostGetErrCodeMessage = Common.GetValuesAppSetting("webConfig", "urlPostGetErrCodeMessage"); memoryCache.Set("urlPostGetErrCodeMessage", urlPostGetErrCodeMessage, cacheExpiryOptions); } memoryCache.TryGetValue("keyPostGetErrCodeMessage", out keyPostGetErrCodeMessage); if (string.IsNullOrEmpty(keyPostGetErrCodeMessage)) { var cacheExpiryOptions1 = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; keyPostGetErrCodeMessage = Common.GetValuesAppSetting("webConfig", "keyPostGetErrCodeMessage"); memoryCache.Set("keyPostGetErrCodeMessage", keyPostGetErrCodeMessage, cacheExpiryOptions1); } memoryCache.TryGetValue("_keyConfig", out _keyConfig); if (string.IsNullOrEmpty(_keyConfig)) { var cacheExpiryOptions2 = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _keyConfig = Common.GetValuesAppSetting("webConfig", "key"); memoryCache.Set("_keyConfig", _keyConfig, cacheExpiryOptions2); } betMoneyObjList response = new betMoneyObjList(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getMoney: " + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string serviceId = Convert.ToString(obj["serviceId"]); string gameId = Convert.ToString(obj["gameId"]); string language = Convert.ToString(obj["language"]); string key = Convert.ToString(obj["key"]); string channel = Convert.ToString(obj["channel"]); if (string.IsNullOrEmpty(gameId)) gameId = "-1"; if (string.IsNullOrEmpty(key)) key = "-1"; if (string.IsNullOrEmpty(language)) language = "0"; if (string.IsNullOrEmpty(channel)) channel = "APP"; //Check token var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); //string channel = Convert.ToString(userObj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); redisConnection _redis = new redisConnection(RedisIp, RedisPort, RedisPass); if (!_redis.connet()) { logger.Info("Connect to redis false"); response.responseCode = "-2"; response.responseMessage = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.responseCode = "35"; response.responseMessage = "Check Authen false"; return Ok(response); } //Ket thuc check token try { //Check key for authencation string _keyDecrypt =ResfullApi.Models.CustomEncryption.Decrypt(key); if (_keyDecrypt != _keyConfig) { response.responseCode = "-3"; //response.responseMessage = "Authentication is false"; response.responseMessage = Common.GetErrMessageFromErrCode(response.responseCode, language, urlPostGetErrCodeMessage, keyPostGetErrCodeMessage, channel); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } DataSet ds_regist = ResfullApi.Models.bet.lotoDataAccess.getMoney(serviceId, gameId, language); logger.Info("Call database getMoney success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.responseCode = "0"; response.responseMessage = "Success"; response.gameId = gameId; response.listMoney = new betMoneyObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { betMoneyObj _obj = new betMoneyObj(); _obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString(); _obj.code = ds_regist.Tables[0].Rows[j]["code"].ToString(); _obj.money = ds_regist.Tables[0].Rows[j]["money"].ToString(); response.listMoney[j] = _obj; } } else { response.responseCode = "1"; response.responseMessage = "Nodata"; } } catch (Exception ex) { logger.Info("getMoney exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; response.responseMessage = Common.GetErrMessageFromErrCode(response.responseCode, language, urlPostGetErrCodeMessage, keyPostGetErrCodeMessage, channel); } return Ok(response); } //Chuyen doi trang thai cua mot export //--;0=delete data ,1=start upload data,2=finish upload data xong, doi duyet,3=reject,4= duyet;5=delete export [HttpPost] public IActionResult actionViaSms([FromBody] dynamic sendData) { //Lay ve url va key voi muc dich post vao lay Message cua Errcode string urlPostGetErrCodeMessage = string.Empty, keyPostGetErrCodeMessage = string.Empty, _keyConfig = string.Empty; memoryCache.TryGetValue("urlPostGetErrCodeMessage", out urlPostGetErrCodeMessage); if (string.IsNullOrEmpty(urlPostGetErrCodeMessage)) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; urlPostGetErrCodeMessage = Common.GetValuesAppSetting("webConfig", "urlPostGetErrCodeMessage"); memoryCache.Set("urlPostGetErrCodeMessage", urlPostGetErrCodeMessage, cacheExpiryOptions); } memoryCache.TryGetValue("keyPostGetErrCodeMessage", out keyPostGetErrCodeMessage); if (string.IsNullOrEmpty(keyPostGetErrCodeMessage)) { var cacheExpiryOptions1 = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; keyPostGetErrCodeMessage = Common.GetValuesAppSetting("webConfig", "keyPostGetErrCodeMessage"); memoryCache.Set("keyPostGetErrCodeMessage", keyPostGetErrCodeMessage, cacheExpiryOptions1); } memoryCache.TryGetValue("_keyConfig", out _keyConfig); if (string.IsNullOrEmpty(_keyConfig)) { var cacheExpiryOptions2 = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _keyConfig = Common.GetValuesAppSetting("webConfig", "key"); memoryCache.Set("_keyConfig", _keyConfig, cacheExpiryOptions2); } ResCommnon response = new ResCommnon(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI export_created: " + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string serviceId = Convert.ToString(obj["serviceId"]); string gameId = Convert.ToString(obj["gameId"]); string users = Convert.ToString(obj["users"]); string type = Convert.ToString(obj["type"]); string param = Convert.ToString(obj["param"]); string language = Convert.ToString(obj["language"]); string channel = Convert.ToString(obj["channel"]); string key = Convert.ToString(obj["key"]); if (string.IsNullOrEmpty(serviceId)) serviceId = "-1"; if (string.IsNullOrEmpty(gameId)) gameId = "-1"; if (string.IsNullOrEmpty(users)) users = "-1"; if (string.IsNullOrEmpty(type)) type = "-1"; if (string.IsNullOrEmpty(param)) param = "-1"; if (string.IsNullOrEmpty(language)) language = "0"; if (string.IsNullOrEmpty(channel)) channel = "APP"; if (string.IsNullOrEmpty(key)) key = "-1"; //Check token var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); //string channel = Convert.ToString(userObj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); redisConnection _redis = new redisConnection(RedisIp, RedisPort, RedisPass); if (!_redis.connet()) { logger.Info("Connect to redis false"); response.responseCode = "-2"; response.responseMessage = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.responseCode = "35"; response.responseMessage = "Check Authen false"; return Ok(response); } //Ket thuc check token try { //Check key for authencation string _keyDecrypt = ResfullApi.Models.CustomEncryption.Decrypt(key); if (_keyDecrypt != _keyConfig) { response.responseCode = "-3"; //response.responseMessage = "Authentication is false"; response.responseMessage = Common.GetErrMessageFromErrCode(response.responseCode, "0", urlPostGetErrCodeMessage, keyPostGetErrCodeMessage, "APP"); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } DataSet ds_regist = ResfullApi.Models.bet.lotoDataAccess.searchBySms(serviceId, gameId, users, type, param, language, channel); ; logger.Info("Call database export_created success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.responseCode = ds_regist.Tables[0].Rows[0]["status"].ToString(); response.responseMessage = ds_regist.Tables[0].Rows[0]["msg"].ToString(); } else { response.responseCode = "1"; response.responseMessage = "Nodata"; } } catch (Exception ex) { logger.Info("getResultOfTerm exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; response.responseMessage = Common.GetErrMessageFromErrCode(response.responseCode, "0", urlPostGetErrCodeMessage, keyPostGetErrCodeMessage, "APP"); } return Ok(response); } [HttpPost] public IActionResult getResultOfTerm([FromBody] dynamic sendData) { betGetTermList response = new betGetTermList(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getRerultOfTerm: " + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string serviceId ="1"; string gameId = Convert.ToString(obj["gameId"]); string id = Convert.ToString(obj["id"]); string type = Convert.ToString(obj["type"]); // 0= chua quay so,1=da quay so ;-1: all string order = Convert.ToString(obj["order"]); // ASC= tang dan theo ID ticket,DESC= giam dan theo Id ticket string rowsOnPage = Convert.ToString(obj["rowsOnPage"]); string seqPage = Convert.ToString(obj["seqPage"]); string channel = Convert.ToString(obj["channel"]); string fromDate = Convert.ToString(obj["fromDate"]); string toDate = Convert.ToString(obj["toDate"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "1000000000"; if (string.IsNullOrEmpty(seqPage)) seqPage = "1"; if (string.IsNullOrEmpty(id)) id = "-1"; if (string.IsNullOrEmpty(gameId)) gameId = "-1"; if (string.IsNullOrEmpty(type)) type = "-1"; if (string.IsNullOrEmpty(order)) order = "ASC"; if (string.IsNullOrEmpty(fromDate)) fromDate = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; if (string.IsNullOrEmpty(channel)) channel = "APP"; //Check token string token = Convert.ToString(obj["token"]); //string channel = Convert.ToString(userObj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass"); var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); redisConnection _redis = new redisConnection(RedisIp, RedisPort, RedisPass); if (!_redis.connet()) { logger.Info("Connect to redis false"); response.responseCode = "-2"; response.responseMessage = "System Update"; logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } tokenObj _tokenObj = null; if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger, out _tokenObj)) { logger.Info("Authen token false"); response.responseCode = "35"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } //Ket thuc check token try { DataSet ds_regist = ResfullApi.Models.bet.lotoDataAccess.getRerultOfTerm(serviceId, gameId, type, order, rowsOnPage, seqPage, id, language, fromDate, toDate); logger.Info("Call database getRerultOfTerm success:"); response.responseCode = "0"; response.responseMessage = "Success"; if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString(); response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString(); response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString(); response.totalRow = ds_regist.Tables[0].Rows[0]["TOTAL_ROW"].ToString(); response.listTerm = new betGetTerm[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { betGetTerm _obj = new betGetTerm(); _obj.seq = ds_regist.Tables[0].Rows[j]["seq"].ToString(); _obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString(); _obj.status = ds_regist.Tables[0].Rows[j]["status"].ToString(); _obj.date_start = ds_regist.Tables[0].Rows[j]["date_start"].ToString(); _obj.date_end = ds_regist.Tables[0].Rows[j]["date_end"].ToString(); _obj.date_random = ds_regist.Tables[0].Rows[j]["date_random"].ToString(); _obj.gameId = ds_regist.Tables[0].Rows[j]["gameId"].ToString(); _obj.result = ds_regist.Tables[0].Rows[j]["result"].ToString(); _obj.split = ds_regist.Tables[0].Rows[j]["split"].ToString(); try { _obj.money_winner = ds_regist.Tables[0].Rows[j]["money_win"].ToString(); } catch (Exception) { } _obj.isEvening = ds_regist.Tables[0].Rows[j]["IS_EVENING"].ToString(); _obj.numberGame = ds_regist.Tables[0].Rows[j]["vNUMBER"].ToString(); _obj.win4Game = ds_regist.Tables[0].Rows[j]["vWin4"].ToString(); _obj.bolet = ds_regist.Tables[0].Rows[j]["vBolet"].ToString(); _obj.mariaj = ds_regist.Tables[0].Rows[j]["vMariaj"].ToString(); _obj.lotto3 = ds_regist.Tables[0].Rows[j]["vLotto3"].ToString(); response.listTerm[j] = _obj; } } } catch (Exception ex) { logger.Info("getResultOfTerm exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System Update"; logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } return Ok(response); } [HttpPost] public IActionResult getPrizeOfCurrentTerm([FromBody] dynamic sendData) { moneyPrizeOfTerm response = new moneyPrizeOfTerm(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getRerultOfTerm: " + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string serviceId = "1"; string gameId = Convert.ToString(obj["gameId"]); string channel = Convert.ToString(obj["channel"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(gameId)) gameId = "-1"; if (string.IsNullOrEmpty(channel)) channel = "-1"; //Check token string token = Convert.ToString(obj["token"]); //string channel = Convert.ToString(userObj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass"); var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); redisConnection _redis = new redisConnection(RedisIp, RedisPort, RedisPass); if (!_redis.connet()) { logger.Info("Connect to redis false"); response.responseCode = "-2"; response.responseMessage = "System Update"; logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } tokenObj _tokenObj = null; if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger, out _tokenObj)) { logger.Info("Authen token false"); response.responseCode = "35"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } //Ket thuc check token try { DataSet ds_regist = ResfullApi.Models.bet.lotoDataAccess.getPrizeOfCurrentTerm( gameId); logger.Info("Call database getPrizeOfCurrentTerm success:"); response.responseCode = "0"; response.responseMessage = "Success"; if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.id = ds_regist.Tables[0].Rows[0]["id"].ToString(); response.startDate = ds_regist.Tables[0].Rows[0]["DATE_START"].ToString(); response.endDate = ds_regist.Tables[0].Rows[0]["DATE_END"].ToString(); response.randomDate = ds_regist.Tables[0].Rows[0]["DATE_RANDOM"].ToString(); response.money = ds_regist.Tables[0].Rows[0]["MONEY_WIN_7"].ToString(); response.status = ds_regist.Tables[0].Rows[0]["status"].ToString(); return Ok(response); } } catch (Exception ex) { logger.Info("getResultOfTerm exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System Update"; logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } return Ok(response); } [HttpPost] public IActionResult getPrizeList([FromBody] dynamic sendData) { prizeList response = new prizeList(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getRerultOfTerm: " + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string serviceId = "1"; string gameId = Convert.ToString(obj["gameId"]); string channel = Convert.ToString(obj["channel"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(gameId)) gameId = "-1"; if (string.IsNullOrEmpty(channel)) channel = "-1"; //Check token string token = Convert.ToString(obj["token"]); //string channel = Convert.ToString(userObj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass"); var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); redisConnection _redis = new redisConnection(RedisIp, RedisPort, RedisPass); if (!_redis.connet()) { logger.Info("Connect to redis false"); response.responseCode = "-2"; response.responseMessage = "System Update"; logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } tokenObj _tokenObj = null; if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger, out _tokenObj)) { logger.Info("Authen token false"); response.responseCode = "35"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } //Ket thuc check token try { DataSet ds_regist = ResfullApi.Models.bet.lotoDataAccess.getPrizeList(gameId); logger.Info("Call database getPrizeList success:"); response.responseCode = "0"; response.responseMessage = "Success"; if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.list = new prizeObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { prizeObj _obj = new prizeObj(); _obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString(); _obj.name = ds_regist.Tables[0].Rows[j]["name"].ToString(); _obj.money = ds_regist.Tables[0].Rows[j]["money"].ToString(); _obj.code = ds_regist.Tables[0].Rows[j]["code"].ToString(); response.list[j] = _obj; } } } catch (Exception ex) { logger.Info("getPrizeList exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System Update"; logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } return Ok(response); } [HttpPost] public IActionResult getTopResultOfTermSendSms([FromBody] dynamic sendData) { ResCommnon response = new ResCommnon(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getTopResultOfTermSendSms: " + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string serviceId = "1"; string gameId = Convert.ToString(obj["gameId"]); string msisdn = Convert.ToString(obj["msisdn"]); string totalRows = Convert.ToString(obj["totalRows"]); string channel = Convert.ToString(obj["channel"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(totalRows)) totalRows = "1"; //Check token string token = Convert.ToString(obj["token"]); //string channel = Convert.ToString(userObj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass"); var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------Lay ra va luu mot redis tu cache----------------------------- redisConnection _redis; memoryCache.TryGetValue("redis", out _redis); if (_redis == null) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _redis = new redisConnection(RedisIp, RedisPort, RedisPass); _redis.connet(); memoryCache.Set("redis", _redis, cacheExpiryOptions); } if (!_redis.isConnet()) { if (!_redis.connet()) { logger.Info("Connect to redis false"); response.responseCode = "-2"; response.responseMessage = "System Update"; logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } else { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; memoryCache.Set("redis", _redis, cacheExpiryOptions); } } //----------------------Ket thuc lay redis tu cache ------------------------------------- tokenObj _tokenObj = null; if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger, out _tokenObj)) { logger.Info("Authen token false"); response.responseCode = "35"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } //Ket thuc check token try { DataSet ds_regist = ResfullApi.Models.bet.lotoDataAccess.getRerultTopSendSms(serviceId, gameId, msisdn, totalRows, channel); logger.Info("Call database getRerultTopSendSms success:"); response.responseCode = "0"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); } catch (Exception ex) { logger.Info("getResultOfTerm exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System Update"; logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } return Ok(response); } [HttpPost] public IActionResult getExecuteSendSms([FromBody] dynamic sendData) { ResCommnon response = new ResCommnon(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getExecuteSendSms: " + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string serviceId = "1"; string gameId = Convert.ToString(obj["gameId"]); string msisdn = Convert.ToString(obj["msisdn"]); string totalRows = Convert.ToString(obj["totalRows"]); string channel = Convert.ToString(obj["channel"]); string type = Convert.ToString(obj["type"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(totalRows)) totalRows = "1"; if (string.IsNullOrEmpty(type)) type = "-1"; //Check token string token = Convert.ToString(obj["token"]); //string channel = Convert.ToString(userObj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass"); var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------Lay ra va luu mot redis tu cache----------------------------- redisConnection _redis; memoryCache.TryGetValue("redis", out _redis); if (_redis == null) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _redis = new redisConnection(RedisIp, RedisPort, RedisPass); _redis.connet(); memoryCache.Set("redis", _redis, cacheExpiryOptions); } if (!_redis.isConnet()) { if (!_redis.connet()) { logger.Info("Connect to redis false"); response.responseCode = "-2"; response.responseMessage = "System Update"; logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } else { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; memoryCache.Set("redis", _redis, cacheExpiryOptions); } } //----------------------Ket thuc lay redis tu cache ------------------------------------- tokenObj _tokenObj = null; if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger, out _tokenObj)) { logger.Info("Authen token false"); response.responseCode = "35"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } //Ket thuc check token try { DataSet ds_regist = ResfullApi.Models.bet.lotoDataAccess.getExecuteSendSms(serviceId, gameId, msisdn, totalRows, channel,type); logger.Info("Call database getRerultTopSendSms success:"); response.responseCode = "0"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); } catch (Exception ex) { logger.Info("getResultOfTerm exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System Update"; logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } return Ok(response); } [HttpPost] public IActionResult getTotalWinnerByBet([FromBody] dynamic sendData) { //Lay ve url va key voi muc dich post vao lay Message cua Errcode string urlPostGetErrCodeMessage = string.Empty, keyPostGetErrCodeMessage = string.Empty, _keyConfig = string.Empty; memoryCache.TryGetValue("urlPostGetErrCodeMessage", out urlPostGetErrCodeMessage); if (string.IsNullOrEmpty(urlPostGetErrCodeMessage)) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; urlPostGetErrCodeMessage = Common.GetValuesAppSetting("webConfig", "urlPostGetErrCodeMessage"); memoryCache.Set("urlPostGetErrCodeMessage", urlPostGetErrCodeMessage, cacheExpiryOptions); } memoryCache.TryGetValue("keyPostGetErrCodeMessage", out keyPostGetErrCodeMessage); if (string.IsNullOrEmpty(keyPostGetErrCodeMessage)) { var cacheExpiryOptions1 = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; keyPostGetErrCodeMessage = Common.GetValuesAppSetting("webConfig", "keyPostGetErrCodeMessage"); memoryCache.Set("keyPostGetErrCodeMessage", keyPostGetErrCodeMessage, cacheExpiryOptions1); } memoryCache.TryGetValue("_keyConfig", out _keyConfig); if (string.IsNullOrEmpty(_keyConfig)) { var cacheExpiryOptions2 = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _keyConfig = Common.GetValuesAppSetting("webConfig", "key"); memoryCache.Set("_keyConfig", _keyConfig, cacheExpiryOptions2); } prizeOfTermList response = new prizeOfTermList(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getTotalWinnerByBet: " + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string serviceId = Convert.ToString(obj["serviceId"]); string gameId = Convert.ToString(obj["gameId"]); string betId = Convert.ToString(obj["betId"]); string users = Convert.ToString(obj["users"]); string ticket = Convert.ToString(obj["ticket"]); string key = Convert.ToString(obj["key"]); string channel = Convert.ToString(obj["channel"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; if (string.IsNullOrEmpty(betId)) betId = "-1"; if (string.IsNullOrEmpty(gameId)) gameId = "-1"; if (string.IsNullOrEmpty(users)) users = "-1"; if (string.IsNullOrEmpty(ticket)) ticket = "-1"; if (string.IsNullOrEmpty(key)) key = "-1"; if (string.IsNullOrEmpty(channel)) channel = "APP"; //Check token var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); //string channel = Convert.ToString(userObj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); redisConnection _redis = new redisConnection(RedisIp, RedisPort, RedisPass); if (!_redis.connet()) { logger.Info("Connect to redis false"); response.responseCode = "-2"; response.responseMessage = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.responseCode = "35"; response.responseMessage = "Check Authen false"; return Ok(response); } //Ket thuc check token try { //Check key for authencation string _keyDecrypt = ResfullApi.Models.CustomEncryption.Decrypt(key); if (_keyDecrypt != _keyConfig) { response.responseCode = "-3"; //response.responseMessage = "Authentication is false"; response.responseMessage = Common.GetErrMessageFromErrCode(response.responseCode, language, urlPostGetErrCodeMessage, keyPostGetErrCodeMessage, channel); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } DataSet ds_regist = ResfullApi.Models.bet.lotoDataAccess.getTotalWinnerByBet(serviceId, gameId, betId, users, ticket, channel, language); logger.Info("Call database getRerultOfTerm success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.responseCode = "0"; response.responseMessage = "Success"; response.listPrize = new prizeOfTerm[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { prizeOfTerm _obj = new prizeOfTerm(); _obj.result = ds_regist.Tables[0].Rows[j]["result"].ToString(); _obj.prizeName = ds_regist.Tables[0].Rows[j]["name"].ToString(); _obj.prizeDisplay = ds_regist.Tables[0].Rows[j]["DISPLAY"].ToString(); _obj.prizeMoney = ds_regist.Tables[0].Rows[j]["svalues"].ToString(); _obj.prizeTotal = ds_regist.Tables[0].Rows[j]["total"].ToString(); response.listPrize[j] = _obj; } } else { response.responseCode = "1"; response.responseMessage = "Nodata"; } } catch (Exception ex) { logger.Info("getResultOfTerm exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; response.responseMessage = Common.GetErrMessageFromErrCode(response.responseCode, language, urlPostGetErrCodeMessage, keyPostGetErrCodeMessage, channel); } return Ok(response); } /* -1:unknow -2: he thong dang nang cap */ [HttpPost] public IActionResult getTicketByUser([FromBody] dynamic sendData) { betTicketObjList response = new betTicketObjList(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getTicketByUser: " + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string serviceId = "1"; string gameId = Convert.ToString(obj["gameId"]); string msisdn = Convert.ToString(obj["msisdn"]); string id = Convert.ToString(obj["id"]); string type = Convert.ToString(obj["type"]); // 0= chua quay so,1=da quay so ;-1: all string order= Convert.ToString(obj["order"]); // ASC= tang dan theo ID ticket,DESC= giam dan theo Id ticket string rowsOnPage = Convert.ToString(obj["rowsOnPage"]); string seqPage = Convert.ToString(obj["seqPage"]); string token = Convert.ToString(obj["token"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; string channel = Convert.ToString(obj["channel"]); if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "1000000000"; if (string.IsNullOrEmpty(seqPage)) seqPage = "1"; if (string.IsNullOrEmpty(id)) id = "-1"; if (string.IsNullOrEmpty(gameId)) gameId = "-1"; if (string.IsNullOrEmpty(msisdn)) msisdn = "-1"; if (string.IsNullOrEmpty(type)) type = "-1"; if (string.IsNullOrEmpty(order)) order = "ASC"; string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass"); var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------Lay ra va luu mot redis tu cache----------------------------- redisConnection _redis; memoryCache.TryGetValue("redis", out _redis); if (_redis == null) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _redis = new redisConnection(RedisIp, RedisPort, RedisPass); _redis.connet(); memoryCache.Set("redis", _redis, cacheExpiryOptions); } if (!_redis.isConnet()) { if (!_redis.connet()) { logger.Info("Connect to redis false"); response.responseCode = "-2"; response.responseMessage = "System Update"; logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } else { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; memoryCache.Set("redis", _redis, cacheExpiryOptions); } } //----------------------Ket thuc lay redis tu cache ------------------------------------- tokenObj _tokenObj = null; if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger, out _tokenObj)) { logger.Info("Authen token false"); response.responseCode = "35"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } //Chu y: // Voi nhung ham quan trong thi neu out _tokenObj !=null thi ta len kiem tra msisdn trong body voi msisdn trong token //if (_tokenObj != null && _tokenObj.role == "USER") //{ // if (_tokenObj.msisdn != msisdn) // { // logger.Info("Authen token false"); // response.responseCode = "35"; // response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); // return Ok(response); // } //} //Ket thuc check token try { DataSet ds_regist = ResfullApi.Models.bet.lotoDataAccess.getTicketByUser(serviceId, gameId, msisdn, type, order, rowsOnPage, seqPage, id, language); logger.Info("Call database getTicketByUser success:"); response.responseCode = "0"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { logger.Info("Co da ta roi nha:"); response.responseCode = "0"; response.responseMessage = "Success"; response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString(); response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString(); response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString(); response.listTicket = new betTicketObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { betTicketObj _obj = new betTicketObj(); _obj.seq = ds_regist.Tables[0].Rows[j]["seq"].ToString(); _obj.status = ds_regist.Tables[0].Rows[j]["status"].ToString(); _obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString(); _obj.money = ds_regist.Tables[0].Rows[j]["money"].ToString(); _obj.code = ds_regist.Tables[0].Rows[j]["code"].ToString(); _obj.createDate = ds_regist.Tables[0].Rows[j]["createDate"].ToString(); _obj.termId = ds_regist.Tables[0].Rows[j]["termId"].ToString(); _obj.paymentCode = ds_regist.Tables[0].Rows[j]["paymentCode"].ToString(); _obj.paymentMessage = ds_regist.Tables[0].Rows[j]["paymentMessage"].ToString(); _obj.split = ds_regist.Tables[0].Rows[j]["split"].ToString(); _obj.billCode = ds_regist.Tables[0].Rows[j]["BILL_CODE"].ToString(); _obj.channel = ds_regist.Tables[0].Rows[j]["CHANNEL"].ToString(); _obj.channelPayment = ds_regist.Tables[0].Rows[j]["CHANNEL_PAYMENT"].ToString(); _obj.termStartDate = ds_regist.Tables[0].Rows[j]["term_startdate"].ToString(); _obj.termEndDate = ds_regist.Tables[0].Rows[j]["term_endate"].ToString(); _obj.termRandomDate = ds_regist.Tables[0].Rows[j]["term_randomfate"].ToString(); _obj.termResult = ds_regist.Tables[0].Rows[j]["random_result"].ToString(); _obj.isEvening = ds_regist.Tables[0].Rows[j]["IS_EVENING"].ToString(); _obj.moneyWin = ds_regist.Tables[0].Rows[j]["MONEY_WIN"].ToString(); _obj.gameId = ds_regist.Tables[0].Rows[j]["GAME_ID"].ToString(); response.listTicket[j] = _obj; } logger.Info("Hoan thanhf goi:"); } } catch (Exception ex) { logger.Info("search ticket by user false"); response.responseCode = "-2"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } return Ok(response); } [HttpPost] public IActionResult getTicketWinByUser([FromBody] dynamic sendData) { betTicketWinObjList response = new betTicketWinObjList(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getTicketWinByUser: " + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string serviceId = "1"; string gameId = Convert.ToString(obj["gameId"]); string prizeCode = Convert.ToString(obj["prizeCode"]); string msisdn = Convert.ToString(obj["msisdn"]); // string order = Convert.ToString(obj["order"]); // ASC= tang dan theo ID ticket,DESC= giam dan theo Id ticket string rowsOnPage = Convert.ToString(obj["rowsOnPage"]); string seqPage = Convert.ToString(obj["seqPage"]); string channel = Convert.ToString(obj["channel"]); string fromDate = Convert.ToString(obj["fromDate"]); string toDate = Convert.ToString(obj["toDate"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "1000000000"; if (string.IsNullOrEmpty(seqPage)) seqPage = "1"; if (string.IsNullOrEmpty(prizeCode)) prizeCode = "-1"; if (string.IsNullOrEmpty(gameId)) gameId = "-1"; if (string.IsNullOrEmpty(msisdn)) msisdn = "-1"; if (string.IsNullOrEmpty(order)) order = "ASC"; if (string.IsNullOrEmpty(fromDate)) fromDate = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; if (string.IsNullOrEmpty(channel)) channel = "APP"; //Check token string token = Convert.ToString(obj["token"]); //string channel = Convert.ToString(userObj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass"); var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); redisConnection _redis = new redisConnection(RedisIp, RedisPort, RedisPass); if (!_redis.connet()) { logger.Info("Connect to redis false"); response.responseCode = "-2"; response.responseMessage = "System Update"; logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } tokenObj _tokenObj = null; if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger, out _tokenObj)) { logger.Info("Authen token false"); response.responseCode = "35"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } //Ket thuc check token try { DataSet ds_regist = ResfullApi.Models.bet.lotoDataAccess.getTicketWinByUser(serviceId, gameId, msisdn, prizeCode, order, rowsOnPage, seqPage,language, fromDate, toDate); logger.Info("Call database getRerultOfTerm success:"); response.responseCode = "0"; response.responseMessage = "Success"; if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString(); response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString(); response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString(); response.totalRow = ds_regist.Tables[0].Rows[0]["TOTAL_ROW"].ToString(); response.list = new betTicketWinObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { betTicketWinObj _obj = new betTicketWinObj(); _obj.seq = ds_regist.Tables[0].Rows[j]["seq"].ToString(); _obj.msisdn = ds_regist.Tables[0].Rows[j]["users"].ToString(); _obj.tiket = ds_regist.Tables[0].Rows[j]["tiket"].ToString(); _obj.ticketDate = ds_regist.Tables[0].Rows[j]["ticket_date"].ToString(); _obj.ticketMoney = ds_regist.Tables[0].Rows[j]["ticket_money"].ToString(); _obj.winnerCode = ds_regist.Tables[0].Rows[j]["winner_code"].ToString(); _obj.winnerDetail = ds_regist.Tables[0].Rows[j]["winner_detail"].ToString(); _obj.randomId = ds_regist.Tables[0].Rows[j]["random_id"].ToString(); _obj.termDateStart = ds_regist.Tables[0].Rows[j]["date_start"].ToString(); _obj.termDateEnd = ds_regist.Tables[0].Rows[j]["date_end"].ToString(); _obj.termDateRandom = ds_regist.Tables[0].Rows[j]["date_random"].ToString(); _obj.eCreateDate = ds_regist.Tables[0].Rows[j]["e_create_date"].ToString(); _obj.eExpireDate = ds_regist.Tables[0].Rows[j]["e_expire_date"].ToString(); _obj.evoucher = ds_regist.Tables[0].Rows[j]["evoucher"].ToString(); _obj.emoney = ds_regist.Tables[0].Rows[j]["money"].ToString(); response.list[j] = _obj; } } } catch (Exception ex) { logger.Info("getResultOfTerm exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System Update"; logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } return Ok(response); } //key=jqB3Vi1fIlu+9a2ODQs65w== //{"requestId":"1234","users":"50912345678","serviceId":"2","code":"12$12%34$34","money":"10","key":"jqB3Vi1fIlu+9a2ODQs65w=="} [HttpPost] public IActionResult executes([FromBody] dynamic sendData) { //Lay ve url va key voi muc dich post vao lay Message cua Errcode string urlPostGetErrCodeMessage = string.Empty, keyPostGetErrCodeMessage = string.Empty, _keyConfig = string.Empty , _url_vaa = string.Empty; memoryCache.TryGetValue("urlPostGetErrCodeMessage", out urlPostGetErrCodeMessage); if (string.IsNullOrEmpty(urlPostGetErrCodeMessage)) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; urlPostGetErrCodeMessage = Common.GetValuesAppSetting("webConfig", "urlPostGetErrCodeMessage"); memoryCache.Set("urlPostGetErrCodeMessage", urlPostGetErrCodeMessage, cacheExpiryOptions); } memoryCache.TryGetValue("keyPostGetErrCodeMessage", out keyPostGetErrCodeMessage); if (string.IsNullOrEmpty(keyPostGetErrCodeMessage)) { var cacheExpiryOptions1 = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; keyPostGetErrCodeMessage = Common.GetValuesAppSetting("webConfig", "keyPostGetErrCodeMessage"); memoryCache.Set("keyPostGetErrCodeMessage", keyPostGetErrCodeMessage, cacheExpiryOptions1); } memoryCache.TryGetValue("_keyConfig", out _keyConfig); if (string.IsNullOrEmpty(_keyConfig)) { var cacheExpiryOptions2 = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _keyConfig = Common.GetValuesAppSetting("webConfig", "key"); memoryCache.Set("_keyConfig", _keyConfig, cacheExpiryOptions2); } memoryCache.TryGetValue("_url_vaa", out _url_vaa); if (string.IsNullOrEmpty(_url_vaa)) { var cacheExpiryOptions3 = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _url_vaa = Common.GetValuesAppSetting("webConfig", "url_vaa"); memoryCache.Set("_url_vaa", _url_vaa, cacheExpiryOptions3); } ResCommnon _return = new ResCommnon(); _return.responseCode = "-1"; _return.responseMessage = "Err unknow"; string jSonFromApp = "{\"responseCode\": \"-1\", \"responseMessage\": \"Err unknow\"}"; string requestId = "1", cmd = "-1", key = "-1", serviceId = "-1", gameId = "-1", data = "-1",channel="0", HeaderIpRemote="-1", HeaderIsdn="-1"; lotoDataObj _dataObj = null; try { var userObj = JObject.Parse(sendData.ToString()); requestId = Convert.ToString(userObj["requestId"]); key = Convert.ToString(userObj["key"]); cmd = Convert.ToString(userObj["cmd"]); serviceId = Convert.ToString(userObj["serviceId"]); gameId = Convert.ToString(userObj["gameId"]); channel = Convert.ToString(userObj["channel"]); data = Convert.ToString(userObj["data"]); HeaderIpRemote = Convert.ToString(userObj["HeaderIpRemote"]); HeaderIsdn = Convert.ToString(userObj["HeaderIsdn"]); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; logger.Info("Request from UI: " + sendData.ToString()); if (string.IsNullOrEmpty(requestId)) requestId = "-1"; if (string.IsNullOrEmpty(key)) key = "-1"; if (string.IsNullOrEmpty(cmd)) cmd = "-1"; if (string.IsNullOrEmpty(serviceId)) serviceId = "-1"; if (string.IsNullOrEmpty(gameId)) gameId = "1"; if (string.IsNullOrEmpty(data)) data = "-1"; //Check token //var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); //string channel = Convert.ToString(userObj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); redisConnection _redis = new redisConnection(RedisIp, RedisPort, RedisPass); if (!_redis.connet()) { logger.Info("Connect to redis false"); _return.responseCode = "-2"; _return.responseMessage = "System Update"; return Ok(_return); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); _return.responseCode = "35"; _return.responseMessage = "Check Authen false"; return Ok(_return); } //Ket thuc check token logger.Info("HeaderIpRemote of body: " + HeaderIpRemote); logger.Info("HeaderIsdn of body: " + sendData.ToString()); /* logger.Info("Full hearder are: "); foreach (var header in Request.Headers) { logger.Info("hearder key : "+ header.Key +" values: "+ header.Value); } bool tryGetValue = Request.Headers.TryGetValue("msisdn", out var headerValue); logger.Info("Msisd from hearder : "+ headerValue); bool tryGetValue1 = Request.Headers.TryGetValue("ip", out var clinetIp); logger.Info("IP from hearder : " + clinetIp); var ip = HttpContext.Connection.RemoteIpAddress.ToString(); var ip2 = HttpContext.Connection.LocalIpAddress.ToString(); logger.Info("IP remote : " + ip +" IP client: "+ip2); _dataObj = JsonConvert.DeserializeObject(data); logger.Info("Msisdn from Data of body : "+_dataObj.users); if(_dataObj.users!= headerValue) { logger.Info("Msisdn from Data of body != from hearder so exit "); //system update betResponseObj _returnObj = new betResponseObj(); _returnObj.responseCode = "-2"; _returnObj.responseMessage = "System upgrade(err msisdn)"; return Ok(_returnObj); } //logger.Info("Goood !!!!!!! Msisdn from Data of body == from hearder "); */ //goi VAAA string request = ""; request = request + @" "; request = request + @" "; request = request + @""; request = request + @""; request = request + @"wap3g"; request = request + @"wap3g!@#"; request = request + @"{?ip}"; request = request + @""; request = request + @""; request = request + @""; request = request.Replace("{?ip}", HeaderIpRemote); string resultPost = getContent(_url_vaa, "12000", request); logger.Info("URL of VAAA: " + _url_vaa); logger.Info("Request to VAAA: "+ request); logger.Info("Response from VAAA: " + resultPost); if (!string.IsNullOrEmpty(resultPost)) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(resultPost); string err_code = xmlDoc.GetElementsByTagName("code").Item(0).InnerText; string desc = xmlDoc.GetElementsByTagName("desc").Item(0).InnerText; logger.Info("Errcode & msisdn from VAAA: " + err_code +", "+desc); if (err_code!="0") { logger.Info("VAAA code return !=0 so exit "); betResponseObj _returnObj = new betResponseObj(); _returnObj.responseCode = "-2"; _returnObj.responseMessage = "System upgrade(err msisdn)"; return Ok(_returnObj); } else { if(desc!= HeaderIsdn) { logger.Info("VAAA msisdn != hearder so exit "); betResponseObj _returnObj = new betResponseObj(); _returnObj.responseCode = "-2"; _returnObj.responseMessage = "System upgrade(err msisdn)"; return Ok(_returnObj); } logger.Info("check msisdn success! gooooooood. set msisdn to data of json"); logger.Info("Old data: "+data); _dataObj.users = desc; data = _dataObj.ToString(); logger.Info("New data: " + data); } } else { logger.Info("VAAA return null so exit "); //system update betResponseObj _returnObj = new betResponseObj(); _returnObj.responseCode = "-2"; _returnObj.responseMessage = "System upgrade(err msisdn)"; return Ok(_returnObj); } //Check key for authencation string _keyDecrypt =ResfullApi.Models.CustomEncryption.Decrypt(key); if (_keyDecrypt != _keyConfig) { _return.responseCode = "-3"; _return.responseMessage = "Authentication is false"; logger.Info("Responase to web: " + _return.ToString()); return Ok(_return); } string key_memory = "id_process"; string values = string.Empty; memoryCache.TryGetValue(key_memory, out values); if (string.IsNullOrEmpty(values)) { values = "-1"; } string key_memory_arr = "arr_process"; ArrayList values1 = null; memoryCache.TryGetValue(key_memory_arr, out values1); ArrayList _arrProcessNow = null; betProcessObj _obj = Common.GetBetProcess(Convert.ToInt32(values), gameId, values1, out _arrProcessNow); if (_obj == null) { _return.responseCode = "-2"; _return.responseMessage = "System upgrade"; logger.Info("Responase to web: " + _return.ToString()); return Ok(_return); } //set cache var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMinutes(5), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; //set cache tin trinh dang xu lý memoryCache.Set(key_memory, _obj.seq, cacheExpiryOptions); //set cache mang cac tien trinh dang hoat dong tot memoryCache.Set(key_memory_arr, _arrProcessNow, cacheExpiryOptions); //string request_process = Guid.NewGuid().ToString(); Random _rd = new Random(); string strRandom = _rd.Next(1, 999999).ToString("000000"); //string strRandom = Guid.NewGuid().ToString(); string request_process = strRandom + DateTime.Now.ToString("ddMMyyyyhhmmssfff"); logger.Info("Reqeust from UI: " + requestId + " map to request : " + request_process); string query = "cmd=" + cmd + "&requestIdUi=" + requestId + "&requestIdApi=" + request_process + "&serviceId=" + serviceId + "&gameId=" + gameId + "&language=" + language + "&channel=" + channel + "&data=" + data; logger.Info("Send Process Bet ip :" + _obj.ip + " port: " + _obj.port + " data: " + query); if (cmd == "bet") { DataSet ds_regist = null; string s_sys_key = ""; DateTime sys_date; try { ds_regist = ResfullApi.Models.bet.lotoDataAccess.getParams("9", "1", "0", "SYS_KEY", "SYS_KEY"); } catch (Exception ex) { } if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { s_sys_key = ds_regist.Tables[0].Rows[0]["SVALUES"].ToString(); string s_sys_key_Descrip =ResfullApi.Models.CustomEncryption.Decrypt(s_sys_key); logger.Info("ds_regist not null encode s_sys_skey : " + s_sys_key_Descrip); if(!string.IsNullOrEmpty(s_sys_key_Descrip)) { logger.Info("s_sys_key_Descrip not null"); try { sys_date = DateTime.ParseExact(s_sys_key_Descrip, "dd/MM/yyyy", CultureInfo.InvariantCulture); logger.Info("Convert date success"); } catch (Exception wx) { sys_date = DateTime.ParseExact("01/01/2019", "dd/MM/yyyy", CultureInfo.InvariantCulture); logger.Info("Convert date false and 01/01/2019"); } } else { logger.Info("s_sys_key_Descrip null"); //system update betResponseObj _returnObj = new betResponseObj(); _returnObj.responseCode = "-2"; _returnObj.responseMessage = "System upgrade"; return Ok(_returnObj); } if (DateTime.Now > sys_date) { //system update betResponseObj _returnObj = new betResponseObj(); _returnObj.responseCode = "-2"; _returnObj.responseMessage = "System upgrade"; return Ok(_returnObj); } } else { logger.Info("ds_regist skey null"); //system update betResponseObj _returnObj = new betResponseObj(); _returnObj.responseCode = "-2"; _returnObj.responseMessage = "System upgrade"; return Ok(_returnObj); } } logger.Info("Start ..... "); string response111 = Common.SocketUnSyn(query, _obj.ip, Convert.ToInt32(_obj.port), Convert.ToInt32(_obj.timeout)); if (response111 == "-1000") { //Remove key id_process & arr_process, for reset cache memoryCache.Remove(key_memory); memoryCache.Remove(key_memory_arr); _return.responseCode = "-2"; _return.responseMessage = "System upgrade"; logger.Info("Responase to web: " + _return.ToString()); return Ok(_return); } //jSonFromApp = response111.Replace("\t", "\\t").Replace("\n", "\\n").Replace("\r", "\\r").Replace("\r","\\r").Replace(@"\","\\"); jSonFromApp = response111; } catch (Exception ex) { _return.responseCode = "-1"; _return.responseMessage = "Err unknow"; logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + jSonFromApp); //dynamic parsedJson = JsonConvert.DeserializeObject(jSonFromApp); //return Ok(JsonConvert.SerializeObject(parsedJson, Formatting.Indented)); //betResponseObj _betrp = JsonConvert.DeserializeObject(jSonFromApp); //dynamic json = JsonConvert.DeserializeObject(jSonFromApp); //string _js = json.ToString(); //string output = JsonConvert.SerializeObject(jSonFromApp); //return Ok(jSonFromApp); //return Ok(_betrp); if(cmd=="bet") { betResponseObj _returnObj = JsonConvert.DeserializeObject(jSonFromApp); return Ok(_returnObj); } if (cmd == "getTernList") { betGetTermList _returnObj = JsonConvert.DeserializeObject(jSonFromApp); return Ok(_returnObj); } else if (cmd == "IsExistWallet") { betResWalletCheckExist _returnObj = JsonConvert.DeserializeObject(jSonFromApp); return Ok(_returnObj); } else if (cmd == "CustomerSync") { betResWalletCusExtenV2 _returnObj = JsonConvert.DeserializeObject(jSonFromApp); return Ok(_returnObj); } else if (cmd == "checkPin") { ResCommnon _returnObj = JsonConvert.DeserializeObject(jSonFromApp); //cap nhat ket qua check Pin return Ok(_returnObj); } else if (cmd == "sendOtp") { ResCommnon _returnObj = JsonConvert.DeserializeObject(jSonFromApp); return Ok(_returnObj); } else if (cmd == "confirmOtp") { ResCommnon _returnObj = JsonConvert.DeserializeObject(jSonFromApp); return Ok(_returnObj); } else if (cmd == "confirmCus") { ResCommnon _returnObj = JsonConvert.DeserializeObject(jSonFromApp); return Ok(_returnObj); } else if (cmd == "getErrCodeToMessage") { ResCommnon _returnObj = JsonConvert.DeserializeObject(jSonFromApp); return Ok(_returnObj); } else if (cmd == "getMsisdn") { betRes3GMsisdn _returnObj = JsonConvert.DeserializeObject(jSonFromApp); return Ok(_returnObj); } else if (cmd == "SyncChannel") { betResWalletAcount _returnObj = JsonConvert.DeserializeObject(jSonFromApp); return Ok(_returnObj); } else if (cmd == "getParam") { objParams _returnObj = JsonConvert.DeserializeObject(jSonFromApp); return Ok(_returnObj); } else if (cmd == "resultPreviousTerm") { ResCommnon _returnObj = JsonConvert.DeserializeObject(jSonFromApp); return Ok(_returnObj); } else if (cmd == "checkCus") { ResCommnon _returnObj = JsonConvert.DeserializeObject(jSonFromApp); return Ok(_returnObj); } return Ok(_return); } private string getContent(string api_path, string timeout, string xml) { string rp = ""; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(api_path); byte[] bytes; bytes = System.Text.Encoding.UTF8.GetBytes(xml); request.ContentType = "text/xml; encoding='utf-8'"; request.ContentLength = bytes.Length; request.Method = "POST"; request.Timeout = Convert.ToInt32(timeout); Stream requestStream = request.GetRequestStream(); requestStream.Write(bytes, 0, bytes.Length); requestStream.Close(); HttpWebResponse response; response = (HttpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); rp = new StreamReader(responseStream).ReadToEnd(); } catch (Exception ex) { logger.Info("Err when post: " + ex.ToString()); } return rp; } } }