using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using ResfullApi.Models; using Newtonsoft.Json; using System.Data; using Newtonsoft.Json.Linq; using System.Configuration; using Microsoft.AspNetCore.Mvc; using CommonObj.common; using CommonObj.model; using System.Threading.Channels; namespace ApiProcess.Controllers { [ApiController] [Route("api/[controller]/[action]/data")] public class subApi : ControllerBase { static readonly log4net.ILog logger = log4net.LogManager.GetLogger(typeof(subApi)); // {"msisdn":"50940227941","serviceId":"20","subServiceCode":"1","requestId":"-1","otp":"-1"} [HttpPost] public IActionResult mpsRequest([FromBody] dynamic sendData) { ////log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); ////log4net.Config.XmlConfigurator.Configure(); mpsResponse response = new mpsResponse(); response.responseCode = "-1"; string mps_ip = "127.0.0.1"; string mps_port = "0000"; try { var userObj = JObject.Parse(sendData.ToString()); string msisdn = Convert.ToString(userObj["msisdn"]); string serviceid = Convert.ToString(userObj["serviceId"]); string subServiceCode = Convert.ToString(userObj["subServiceCode"]); string requestId = Convert.ToString(userObj["requestId"]); if (string.IsNullOrEmpty(requestId)) requestId = "-1"; string otp = Convert.ToString(userObj["otp"]); if (string.IsNullOrEmpty(otp)) otp = "-1"; //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //Check token //var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); 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.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); return Ok(response); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.responseCode = "35"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); return Ok(response); } //Ket thuc check token //Truong hop nay ko can goi sang MPS, update thang vao DB voi truong hop DK, HUY, Tru tien ..vv //string freefix = ConfigurationSettings.AppSettings["PREFIX"]; string freefix = Common.GetValuesAppSetting("webConfig", "PREFIX"); //Voi thi truong Metphone thi luon vao case nay, vi tai thi truong nay Ko goi thang vao MPS if (freefix == "855") { //Truong hop nay ko can goi sang MPS va boc tach subServiceCode de lay tien ngay trong commnand //neu dang nhap qua web của CAMID thi minh sẽ đưa thẳng vào DB string moneyCharge = "0"; string subesrviceNew = ""; try { logger.Info("subServiceCode: " + subServiceCode); subesrviceNew = subServiceCode.Split('|')[0]; moneyCharge = subServiceCode.Split('|')[1]; logger.Info("subesrviceNew: " + subesrviceNew); logger.Info("moneyCharge: " + moneyCharge); } catch (Exception ee) { logger.Info("loi: " + ee.ToString()); } DataSet ds_UpdateMps = DataAccess.UPDATE_MPS_DB(msisdn, serviceid, subesrviceNew, requestId, otp, "0", moneyCharge, ""); response.responseCode = "0"; logger.Info("Responase to web: " + response.ToString()); return Ok(response); } if(otp=="-1") { //Neu khong thay OTP thi minh se tu gui OTP DataSet ds_sendOtp = DataAccess.SEND_OTP(msisdn, serviceid, channel, language); if (ds_sendOtp == null || ds_sendOtp.Tables[0].Rows.Count == 0) { logger.Info("Check send OTP err"); response.responseCode = "-2"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); return Ok(response); } string check_send_otp = ds_sendOtp.Tables[0].Rows[0]["status"].ToString(); if (check_send_otp != "0") { string checksendOTPMsg = ds_sendOtp.Tables[0].Rows[0]["mesage"].ToString(); response.responseCode = check_send_otp; response.message = checksendOTPMsg; logger.Info("Check send OTP result: " + check_send_otp + " msg: " + checksendOTPMsg); return Ok(response); } logger.Info("Check send OTP success!!!"); response.responseCode = "100"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); ; return Ok(response); } else { //Truong hop nay la co truyền OTP để kiểm tra DataSet ds_confirmOtp = DataAccess.CONFIRM_OTP(msisdn, serviceid, channel, language,otp); if (ds_confirmOtp == null || ds_confirmOtp.Tables[0].Rows.Count == 0) { logger.Info("Check send OTP err"); response.responseCode = "-2"; response.message =Common.GetErrMsgByCode(response.responseCode, serviceid,channel,language); return Ok(response); } string check_confirm_otp = ds_confirmOtp.Tables[0].Rows[0]["status"].ToString(); if (check_confirm_otp != "0") { string checkConfirmOTPMsg = ds_confirmOtp.Tables[0].Rows[0]["mesage"].ToString(); response.responseCode = check_confirm_otp; response.message = checkConfirmOTPMsg; logger.Info("Check send OTP result: " + check_confirm_otp + " msg: " + check_confirm_otp); return Ok(response); } logger.Info("Check confirm OTP success!!!"); } //truong hop con lai xu ly binh thuong DataSet ds_mps_info = DataAccess.MPS_GET_BY_ID(serviceid); mps_ip = ds_mps_info.Tables[0].Rows[0]["MPS_IP"].ToString(); mps_port = ds_mps_info.Tables[0].Rows[0]["MPS_PORT"].ToString(); string data = "requestId=" + requestId + "&msisdn=" + msisdn + "&otp=" + otp + "&serviceid=" + serviceid + "&subServiceCode=" + subServiceCode; logger.Info("Send MPS Thuc ip :" + mps_ip + " port: " + mps_port + " data: " + data); string response111 = Common.SocketUnSyn(data, mps_ip, Convert.ToInt32(mps_port), 12000); //string response111 = "{\"requestID\":\"1_25765600004_202409251833450855\",\"responseCode\":\"0\",\"msisdn\":\"65600004\",\"cmd\":\"CHARGE\",\"money\":\"200\",\"source\":\"CLIENT\",\"otpType\":\"1\"}"; logger.Info("New request income usersGetInterests :" + sendData.ToString()); response = JsonConvert.DeserializeObject(response111); if (response.responseCode == "0") { response.message=Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else if (response.responseCode == "100") { response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else if (response.responseCode == "401") { response.responseCode = "-12"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else if (response.responseCode == "415") { response.responseCode = "8001"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else if (response.responseCode == "416") { response.responseCode = "8001"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else if (response.responseCode == "417") { response.responseCode = "-15"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else if (response.responseCode == "408") { response.responseCode = "2"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else if (response.responseCode == "411" || response.responseCode == "412" || response.responseCode == "414" || response.responseCode == "204" || response.responseCode == "205") { response.responseCode = "0"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else { response.responseCode = "-10"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } // {"msisdn":"50940227941","serviceId":"20","subServiceCode":"1","requestId":"-1","otp":"-1"} [HttpPost] public IActionResult mpsRequestNotAuthen151080([FromBody] dynamic sendData) { ////log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); ////log4net.Config.XmlConfigurator.Configure(); mpsResponse response = new mpsResponse(); response.responseCode = "-1"; string mps_ip = "127.0.0.1"; string mps_port = "0000"; try { var userObj = JObject.Parse(sendData.ToString()); string msisdn = Convert.ToString(userObj["msisdn"]); string serviceid = Convert.ToString(userObj["serviceId"]); string subServiceCode = Convert.ToString(userObj["subServiceCode"]); string requestId = Convert.ToString(userObj["requestId"]); if (string.IsNullOrEmpty(requestId)) requestId = "-1"; string otp = Convert.ToString(userObj["otp"]); if (string.IsNullOrEmpty(otp)) otp = "-1"; //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //Check token //var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); 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.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); // return Ok(response); //} //if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger)) //{ // logger.Info("Authen token false"); // response.responseCode = "35"; // response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); // return Ok(response); //} //Ket thuc check token //Truong hop nay ko can goi sang MPS, update thang vao DB voi truong hop DK, HUY, Tru tien ..vv //string freefix = ConfigurationSettings.AppSettings["PREFIX"]; string freefix = Common.GetValuesAppSetting("webConfig", "PREFIX"); //Voi thi truong Metphone thi luon vao case nay, vi tai thi truong nay Ko goi thang vao MPS if (otp == "-1") { //Neu khong thay OTP thi minh se tu gui OTP DataSet ds_sendOtp = DataAccess.SEND_OTP(msisdn, serviceid, channel, language); if (ds_sendOtp == null || ds_sendOtp.Tables[0].Rows.Count == 0) { logger.Info("Check send OTP err"); response.responseCode = "-2"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); return Ok(response); } string check_send_otp = ds_sendOtp.Tables[0].Rows[0]["status"].ToString(); if (check_send_otp != "0") { string checksendOTPMsg = ds_sendOtp.Tables[0].Rows[0]["mesage"].ToString(); response.responseCode = check_send_otp; response.message = checksendOTPMsg; logger.Info("Check send OTP result: " + check_send_otp + " msg: " + checksendOTPMsg); return Ok(response); } logger.Info("Check send OTP success!!!"); response.responseCode = "100"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); ; return Ok(response); } else { //Truong hop nay la co truyền OTP để kiểm tra DataSet ds_confirmOtp = DataAccess.CONFIRM_OTP(msisdn, serviceid, channel, language, otp); if (ds_confirmOtp == null || ds_confirmOtp.Tables[0].Rows.Count == 0) { logger.Info("Check send OTP err"); response.responseCode = "-2"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); return Ok(response); } string check_confirm_otp = ds_confirmOtp.Tables[0].Rows[0]["status"].ToString(); if (check_confirm_otp != "0") { string checkConfirmOTPMsg = ds_confirmOtp.Tables[0].Rows[0]["mesage"].ToString(); response.responseCode = check_confirm_otp; response.message = checkConfirmOTPMsg; logger.Info("Check send OTP result: " + check_confirm_otp + " msg: " + check_confirm_otp); return Ok(response); } logger.Info("Check confirm OTP success!!!"); } //truong hop con lai xu ly binh thuong DataSet ds_mps_info = DataAccess.MPS_GET_BY_ID(serviceid); mps_ip = ds_mps_info.Tables[0].Rows[0]["MPS_IP"].ToString(); mps_port = ds_mps_info.Tables[0].Rows[0]["MPS_PORT"].ToString(); string data = "requestId=" + requestId + "&msisdn=" + msisdn + "&otp=" + otp + "&serviceid=" + serviceid + "&subServiceCode=" + subServiceCode; logger.Info("Send MPS Thuc ip :" + mps_ip + " port: " + mps_port + " data: " + data); string response111 = Common.SocketUnSyn(data, mps_ip, Convert.ToInt32(mps_port), 12000); //string response111 = "{\"requestID\":\"1_25765600004_202409251833450855\",\"responseCode\":\"0\",\"msisdn\":\"65600004\",\"cmd\":\"CHARGE\",\"money\":\"200\",\"source\":\"CLIENT\",\"otpType\":\"1\"}"; logger.Info("New request income usersGetInterests :" + sendData.ToString()); response = JsonConvert.DeserializeObject(response111); if (response.responseCode == "0") { response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else if (response.responseCode == "100") { response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else if (response.responseCode == "401") { response.responseCode = "-12"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else if (response.responseCode == "415") { response.responseCode = "8001"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else if (response.responseCode == "416") { response.responseCode = "8001"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else if (response.responseCode == "417") { response.responseCode = "-15"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else if (response.responseCode == "408") { response.responseCode = "2"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else if (response.responseCode == "411" || response.responseCode == "412" || response.responseCode == "414" || response.responseCode == "204" || response.responseCode == "205") { response.responseCode = "0"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } else { response.responseCode = "-10"; response.message = Common.GetErrMsgByCode(response.responseCode, serviceid, channel, language); logger.Info("Responase to web: " + response.ToString()); return Ok(response); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } //{"users":"50940240716","serviceId":"30","codeCoins":"1","requestId":"-1","otp":"-1"} public IActionResult buyCoins([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); mpsResponseEx response = new mpsResponseEx(); response.status = "-1"; response.message = "Err unknow"; logger.Info("New request income newsBuy :" + sendData.ToString()); string mps_ip = "127.0.0.1"; string mps_port = "0000"; try { var userObj = JObject.Parse(sendData.ToString()); string users = Convert.ToString(userObj["users"]); string serviceid = Convert.ToString(userObj["serviceId"]); string codeBuy = Convert.ToString(userObj["codeCoins"]); string requestId = Convert.ToString(userObj["requestId"]); string otp = Convert.ToString(userObj["otp"]); if (string.IsNullOrEmpty(requestId)) requestId = "-1"; if (string.IsNullOrEmpty(otp)) otp = "-1"; //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //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.status = "-2"; response.message = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_mps_info = DataAccess.MPS_GET_BY_ID(serviceid); mps_ip = ds_mps_info.Tables[0].Rows[0]["MPS_IP"].ToString(); mps_port = ds_mps_info.Tables[0].Rows[0]["MPS_PORT"].ToString(); logger.Info("Start call charg money"); string data = "requestId=" + requestId + "&msisdn=" + users + "&otp=" + otp + "&serviceid=" + serviceid + "&subServiceCode=" + codeBuy; logger.Info("Request call charge: " + data); string response111 = Common.SocketUnSyn(data, mps_ip, Convert.ToInt32(mps_port), 12000); logger.Info("Result call charge: " + response111); mpsResponse resCallMps = JsonConvert.DeserializeObject(response111); if (resCallMps.responseCode == "0") { logger.Info("charge money success :"); DataSet ds_regist = subDataAccess.subBuyCoins(users, serviceid, codeBuy); logger.Info("Call database newsBuy success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = ds_regist.Tables[0].Rows[0]["status"].ToString(); response.message = ds_regist.Tables[0].Rows[0]["message"].ToString(); response.requestId = resCallMps.requestID; return Ok(response); } } else if (resCallMps.responseCode == "100") { response.status = "100"; response.message = "Send OTP success to user, pls send this function with OTP & requestID agian for finsh"; response.requestId = resCallMps.requestID; return Ok(response); } else if (resCallMps.responseCode == "401") { response.status = "-12"; response.message = "Not enough money "; return Ok(response); } else if (resCallMps.responseCode == "415") { response.status = "-13"; response.message = "Invalid OTP code"; return Ok(response); } else if (resCallMps.responseCode == "416") { response.status = "-14"; response.message = "Incorrect OTP code/ OTP code expired"; return Ok(response); } else if (resCallMps.responseCode == "417") { response.status = "-15"; response.message = "Confirm OTP via USSD time out"; return Ok(response); } else { response.status = "-10"; response.message = "System err"; return Ok(response); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } return Ok(response); } [HttpPost] //{"users":"10","serviceId":"30","codeCoins":"123","type":"0" } //type 1=Topup,2=The public IActionResult changeCoins([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); responseObjUtil response = new responseObjUtil(); response.status = "-1"; response.message = "Err unknow"; logger.Info("New request income changeCoins :" + sendData.ToString()); try { var userObj = JObject.Parse(sendData.ToString()); string users = Convert.ToString(userObj["users"]); string serviceid = Convert.ToString(userObj["serviceId"]); string codeChange = Convert.ToString(userObj["codeCoins"]); string type = Convert.ToString(userObj["type"]); if (string.IsNullOrEmpty(users)) users = "-1"; if (string.IsNullOrEmpty(serviceid)) serviceid = "-1"; if (string.IsNullOrEmpty(codeChange)) codeChange = "-1"; if (string.IsNullOrEmpty(type)) type = "-1"; //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //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.status = "-2"; response.message = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = subDataAccess.subChangeCoins(users, serviceid, codeChange, type); logger.Info("Call database subChangeCoins success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = ds_regist.Tables[0].Rows[0]["status"].ToString(); response.message = ds_regist.Tables[0].Rows[0]["message"].ToString(); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } [HttpPost] //{"users":"10","serviceId":"30","codeCoins":"123","totalCoins":"123","type":"0" } //type 1=Topup,2=The public IActionResult updateCoins([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); responseObjUtil response = new responseObjUtil(); response.status = "-1"; response.message = "Err unknow"; logger.Info("New request income updateCoins :" + sendData.ToString()); try { var userObj = JObject.Parse(sendData.ToString()); string users = Convert.ToString(userObj["users"]); string serviceid = Convert.ToString(userObj["serviceId"]); string codeChange = Convert.ToString(userObj["codeCoins"]); string totalCoins = Convert.ToString(userObj["totalCoins"]); string type = Convert.ToString(userObj["type"]); if (string.IsNullOrEmpty(users)) users = "-1"; if (string.IsNullOrEmpty(serviceid)) serviceid = "-1"; if (string.IsNullOrEmpty(codeChange)) codeChange = "-1"; if (string.IsNullOrEmpty(type)) type = "-1"; //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //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.status = "-2"; response.message = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = subDataAccess.subUpdateCoins(users, serviceid, codeChange,totalCoins, type); logger.Info("Call database subChangeCoins success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = ds_regist.Tables[0].Rows[0]["status"].ToString(); response.message = ds_regist.Tables[0].Rows[0]["message"].ToString(); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } [HttpPost] //{"users":"10","serviceId":"30","type":"0" } public IActionResult listChangeCoins([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); subCoinsList response = new subCoinsList(); response.status = "-1"; response.message = "Err unknow"; logger.Info("New request income changeCoins :" + sendData.ToString()); try { var userObj = JObject.Parse(sendData.ToString()); string users = Convert.ToString(userObj["users"]); string serviceid = Convert.ToString(userObj["serviceId"]); string type = Convert.ToString(userObj["type"]); if (string.IsNullOrEmpty(users)) users = "-1"; if (string.IsNullOrEmpty(serviceid)) serviceid = "-1"; if (string.IsNullOrEmpty(type)) type = "-1"; //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //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.status = "-2"; response.message = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = subDataAccess.subGetListChangeCoins(users, serviceid, type); logger.Info("Call database subGetListChangeCoins success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = "0"; response.message = "Success"; response.listChangeCoin = new subCoins[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { subCoins obj = new subCoins(); obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString(); obj.codeCoins = ds_regist.Tables[0].Rows[j]["codeCoins"].ToString(); obj.name = ds_regist.Tables[0].Rows[j]["name"].ToString(); response.listChangeCoin[j] = obj; } } else { response.status = "1"; response.message = "No data"; } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } [HttpPost] //{"users":"10","serviceId":"30","type":"0" ,"fromDate":"01/08/2020","toDate":"01/09/2020"} public IActionResult listHisCoins([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); coinsHisList response = new coinsHisList(); response.status = "-1"; response.message = "Err unknow"; logger.Info("New request income listHisCoins :" + sendData.ToString()); try { var userObj = JObject.Parse(sendData.ToString()); string users = Convert.ToString(userObj["users"]); string serviceid = Convert.ToString(userObj["serviceId"]); string type = Convert.ToString(userObj["type"]); string fromdate = Convert.ToString(userObj["fromDate"]); string todate = Convert.ToString(userObj["toDate"]); if (string.IsNullOrEmpty(users)) users = "-1"; if (string.IsNullOrEmpty(serviceid)) serviceid = "-1"; if (string.IsNullOrEmpty(type)) type = "-1"; if (string.IsNullOrEmpty(fromdate)) fromdate = "01/01/1990"; if (string.IsNullOrEmpty(todate)) todate = "01/01/1990"; //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //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.status = "-2"; response.message = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = subDataAccess.subGetListHisCoins(users, serviceid, type, fromdate, todate); logger.Info("Call database subGetListHisCoins success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = "0"; response.message = "Success"; response.listHisCoin = new coinsHis[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { coinsHis obj = new coinsHis(); obj.users = ds_regist.Tables[0].Rows[j]["USERS"].ToString(); obj.buyDate = ds_regist.Tables[0].Rows[j]["BUY_DATE"].ToString(); obj.money = ds_regist.Tables[0].Rows[j]["MONEY"].ToString(); obj.coins = ds_regist.Tables[0].Rows[j]["COINS"].ToString(); obj.type = ds_regist.Tables[0].Rows[j]["TYPE"].ToString(); response.listHisCoin[j] = obj; } } else { response.status = "1"; response.message = "No data"; } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } //{"msisdn":"50940227949","serviceId":"24"} [HttpPost] public IActionResult subCheckStatus([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); responseObjUtil response = new responseObjUtil(); response.status = "-1"; response.message = "Err unknow"; try { subObjCheckStatus data = JsonConvert.DeserializeObject(sendData.ToString()); logger.Debug("New request income subCheckStatus:" + data.ToString()); //Check token var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; 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.status = "-2"; response.message = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds = subDataAccess.SUB_API_CHECK_STATUS(data.msisdn, data.serviceid); logger.Info("Call database SUB_API_CHECK_STATUS success:"); if (ds != null & ds.Tables[0].Rows.Count > 0) { response.status = ds.Tables[0].Rows[0]["status"].ToString(); response.message = ds.Tables[0].Rows[0]["message"].ToString(); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } //{"msisdn":"50940227949","serviceId":"24"} [HttpPost] public IActionResult subGetList([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); subList response = new subList(); response.status = "-1"; response.message = "Err unknow"; try { subObjCheckStatus data = JsonConvert.DeserializeObject(sendData.ToString()); logger.Debug("New request income subGetList:" + data.ToString()); //Check token var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; 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.status = "-2"; response.message = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = subDataAccess.SUB_API_GET_LIST(data.msisdn, data.serviceid); logger.Info("Call database SUB_API_GET_LIST success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = "0"; response.message = "success"; response.list = new subObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { subObj obj = new subObj(); obj.msisdn = ds_regist.Tables[0].Rows[j]["msisdn"].ToString(); obj.isactive = ds_regist.Tables[0].Rows[j]["isactive"].ToString(); obj.registerChannel = ds_regist.Tables[0].Rows[j]["kenh_dk"].ToString(); obj.registerDate = ds_regist.Tables[0].Rows[j]["ngay_dk"].ToString(); obj.cancelChannel = ds_regist.Tables[0].Rows[j]["kenh_huy"].ToString(); obj.cancelDate = ds_regist.Tables[0].Rows[j]["ngay_huy"].ToString(); obj.chargeDate = ds_regist.Tables[0].Rows[j]["ngay_update_cuoc"].ToString(); obj.serviceCode = ds_regist.Tables[0].Rows[j]["sv_code"].ToString(); obj.serviceName = ds_regist.Tables[0].Rows[j]["sv_name"].ToString(); obj.serviceId = ds_regist.Tables[0].Rows[j]["serviceid"].ToString(); obj.subserviceId= ds_regist.Tables[0].Rows[j]["subserviceid"].ToString(); response.list[j] = obj; } } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } //{"msisdn":"50940227949","serviceId":"24"} [HttpPost] public IActionResult subGetListsubServiceCode([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); subServiceCodeList response = new subServiceCodeList(); response.status = "-1"; response.message = "Err unknow"; try { var userObj = JObject.Parse(sendData.ToString()); string msisdn = Convert.ToString(userObj["msisdn"]); string sid = Convert.ToString(userObj["serviceId"]); logger.Info("New request income subGetListsubServiceCode :" + sendData.ToString()); //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //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.status = "-2"; response.message = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = subDataAccess.SUB_API_GET_SUBSEVICECODE(msisdn, sid); logger.Info("Call database SUB_API_GET_SUBSEVICECODE success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = "0"; response.message = "Success"; response.listSubServiceCode = new subServiceCodeObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { subServiceCodeObj obj = new subServiceCodeObj(); obj.subServiceCode = ds_regist.Tables[0].Rows[j]["subServiceCode"].ToString(); obj.subServiceName = ds_regist.Tables[0].Rows[j]["subServiceName"].ToString(); obj.dateRigister = ds_regist.Tables[0].Rows[j]["NGAY_DK"].ToString(); obj.channelRegister = ds_regist.Tables[0].Rows[j]["KENH_DK"].ToString(); response.listSubServiceCode[j] = obj; } } else { response.status = "1"; response.message = "No data"; } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } //{"msisdn":"50940227941","serviceId":"24","message":"sms for test"} [HttpPost] public IActionResult subSendMt([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); responseObjUtil response = new responseObjUtil(); response.status = "-1"; response.message = "Err unknow"; try { subObjSendMt data = JsonConvert.DeserializeObject(sendData.ToString()); logger.Debug("New request income subSendMt:" + data.ToString()); //Check token var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; 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.status = "-2"; response.message = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds = subDataAccess.API_SEND_MT(data.msisdn, data.serviceid, data.message); logger.Info("Call database API_SEND_MT success:"); if (ds != null & ds.Tables[0].Rows.Count > 0) { response.status = ds.Tables[0].Rows[0]["status"].ToString(); response.message = ds.Tables[0].Rows[0]["message"].ToString(); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } //{"msisdn":"50940227941","serviceId":"24",”money”:”1000”,"message":"chuc mung ban ban da duoc cong tien"} [HttpPost] public IActionResult subTopup([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); responseObjUtil response = new responseObjUtil(); response.status = "-1"; response.message = "Err unknow"; try { subObjTopup data = JsonConvert.DeserializeObject(sendData.ToString()); logger.Debug("New request income Topup:" + data.ToString()); //Check token var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; 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.status = "-2"; response.message = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds = subDataAccess.API_TOPUP(data.msisdn, data.serviceid, data.money, data.message); logger.Info("Call database Topup success:"); if (ds != null & ds.Tables[0].Rows.Count > 0) { response.status = ds.Tables[0].Rows[0]["status"].ToString(); response.message = ds.Tables[0].Rows[0]["message"].ToString(); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } //{"msisdn":"50940227941","serviceId":"24"} [HttpPost] public IActionResult playGameCheck([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); subCheckPlayGame response = new subCheckPlayGame(); response.status = "-1"; response.message = "Err unknow"; try { subObjTopup data = JsonConvert.DeserializeObject(sendData.ToString()); logger.Debug("New request income playGameCheck:" + data.ToString()); //Check token var userObj = JObject.Parse(sendData.ToString()); string users = Convert.ToString(userObj["users"]); string serviceId = Convert.ToString(userObj["serviceId"]); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; 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.status = "-2"; response.message = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds = subDataAccess.PLAYGAME_CHECK(users,serviceId); logger.Info("Call database Topup success:"); if (ds != null & ds.Tables[0].Rows.Count > 0) { response.status = ds.Tables[0].Rows[0]["errCode"].ToString(); response.message = ds.Tables[0].Rows[0]["errMesage"].ToString(); response.word = ds.Tables[0].Rows[0]["vword"].ToString(); response.description = ds.Tables[0].Rows[0]["description"].ToString(); response.playId = ds.Tables[0].Rows[0]["playId"].ToString(); response.playKey = ds.Tables[0].Rows[0]["playKey"].ToString(); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } //{"msisdn":"50940227941","serviceId":"24"} [HttpPost] public IActionResult playGameUpdate([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); responseObjUtil response = new responseObjUtil(); response.status = "-1"; response.message = "Err unknow"; try { subObjTopup data = JsonConvert.DeserializeObject(sendData.ToString()); logger.Debug("New request income playGameCheck:" + data.ToString()); //Check token var userObj = JObject.Parse(sendData.ToString()); string playId = Convert.ToString(userObj["playId"]); string playKey = Convert.ToString(userObj["playKey"]); string score = Convert.ToString(userObj["score"]); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(playId)) language = "0"; if (string.IsNullOrEmpty(score)) language = "0"; 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.status = "-2"; response.message = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds = subDataAccess.PLAYGAME_UPDATE(playId, score, playKey); logger.Info("Call database PLAYGAME_UPDATE success:"); if (ds != null & ds.Tables[0].Rows.Count > 0) { response.status = ds.Tables[0].Rows[0]["errCode"].ToString(); response.message = ds.Tables[0].Rows[0]["errMesage"].ToString(); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } public IActionResult playTop([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); playTopList response = new playTopList(); response.status = "-1"; response.message = "Err unknow"; try { subObjTopup data = JsonConvert.DeserializeObject(sendData.ToString()); logger.Debug("New request income playTop:" + data.ToString()); //Check token var userObj = JObject.Parse(sendData.ToString()); string fromdate = Convert.ToString(userObj["fromdate"]); string todate = Convert.ToString(userObj["todate"]); string serviceId = Convert.ToString(userObj["serviceId"]); string top = Convert.ToString(userObj["top"]); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(serviceId)) serviceId = "-1"; if (string.IsNullOrEmpty(top)) top = "100"; 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.status = "-2"; response.message = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = subDataAccess.PLAYGAME_TOP(fromdate, todate, top,serviceId); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = "0"; response.message = "Success"; response.listTop = new playTop[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { playTop obj = new playTop(); obj.msisdn = ds_regist.Tables[0].Rows[j]["msisdn"].ToString(); obj.totalScore = ds_regist.Tables[0].Rows[j]["total_score"].ToString(); obj.totalTime = ds_regist.Tables[0].Rows[j]["total_time"].ToString(); response.listTop[j] = obj; } } else { response.status = "1"; response.message = "No data"; } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } public IActionResult getWin([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); playWinList response = new playWinList(); response.status = "-1"; response.message = "Err unknow"; try { subObjTopup data = JsonConvert.DeserializeObject(sendData.ToString()); logger.Debug("New request income playTop:" + data.ToString()); //Check token var userObj = JObject.Parse(sendData.ToString()); string fromdate = Convert.ToString(userObj["fromdate"]); string todate = Convert.ToString(userObj["todate"]); string serviceId = Convert.ToString(userObj["serviceId"]); string top = Convert.ToString(userObj["top"]); string msisdn = Convert.ToString(userObj["msisdn"]); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(msisdn)) msisdn = "-1"; if (string.IsNullOrEmpty(serviceId)) serviceId = "-1"; if (string.IsNullOrEmpty(top)) top = "100"; 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.status = "-2"; response.message = "System Update"; return Ok(response); } if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = subDataAccess.PLAYGAME_WIN(fromdate, todate, top, serviceId, msisdn); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = "0"; response.message = "Success"; response.list = new playWin[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { playWin obj = new playWin(); obj.msisdn = ds_regist.Tables[0].Rows[j]["msisdn"].ToString(); obj.date = ds_regist.Tables[0].Rows[j]["VSYSDATE"].ToString(); obj.status = ds_regist.Tables[0].Rows[j]["STATUS"].ToString(); obj.errCode = ds_regist.Tables[0].Rows[j]["ERR_CODE"].ToString(); obj.errMsg = ds_regist.Tables[0].Rows[j]["ERR_MSG"].ToString(); obj.money = ds_regist.Tables[0].Rows[j]["MONEY"].ToString(); obj.transCode = ds_regist.Tables[0].Rows[j]["TRANSCODE"].ToString(); obj.transDate = ds_regist.Tables[0].Rows[j]["TRANSDATE"].ToString(); obj.transAmount = ds_regist.Tables[0].Rows[j]["TRANSAMOUNT"].ToString(); obj.transFee = ds_regist.Tables[0].Rows[j]["TRANSFEE"].ToString(); obj.serviceId = ds_regist.Tables[0].Rows[j]["SERVICE_ID"].ToString(); response.list[j] = obj; } } else { response.status = "1"; response.message = "No data"; } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } } }