using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using CommonObj.common; using CommonObj.lotoModel; using CommonObj.model; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Caching.Memory; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using ResfullApi.Models; using System.Data; using ResfullApi.Models.bet; namespace ApiProcessToken.Controllers { [ApiController] [Route("api/[controller]/[action]/data")] public class loto : ControllerBase { static readonly log4net.ILog logger = log4net.LogManager.GetLogger(typeof(loto)); private IMemoryCache memoryCache; public loto(IMemoryCache memoryCache) { this.memoryCache = memoryCache; } [HttpPost] public IActionResult buyTicket([FromBody] dynamic sendData) { buyTicketResponse response = new buyTicketResponse(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; try { buyTicketObj data = JsonConvert.DeserializeObject(sendData.ToString()); if (data.language != "0" || data.language != "1") data.language = "0"; logger.Info("New request income bet :" + data.ToString()); 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("buyTicket 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, data.token, data.channel, _redis, logger, out _tokenObj)) { logger.Info("Authen token false"); response.responseCode = "35"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, data.channel, response.responseCode, data.language); logger.Info("buyTicket 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) { if (_tokenObj.msisdn != data.msisdn) { logger.Info("Authen token false"); response.responseCode = "35"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, data.channel, response.responseCode, data.language); logger.Info("buyTicket response : " + response.ToString()); return Ok(response); } } //Ket thuc check token //Kiem tra xem co blaclist hay ko? Tham thoi dung voi muc dich whiteList blacklistObj _blackObj = CommonFunction.getBlackListFromRedis(_redis, "2", "-1", data.msisdn); if(_blackObj!=null) { logger.Info("Blacklist roi"+ data.msisdn); response.responseCode = "26"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, data.channel, response.responseCode, data.language); logger.Info("buyTicket response : " + response.ToString()); return Ok(response); } logger.Info("So nay ko blacklist" + data.msisdn); if (data.channel != "WALLET") { logger.Info("Channel !=WALLET tuc la mua ve qua tai khoan goc cua thue bao: " + data.msisdn); string _pakage = CommonFunction.chargeGWGetPackage(_redis, CommonFunction.getGuiId(), data.msisdn, logger); if(_pakage=="unknow") { logger.Info("View :" + data.msisdn +" loi nen exit with update system"); response.responseCode = "-2"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, data.channel, response.responseCode, data.language); logger.Info("buyTicket response : " + response.ToString()); return Ok(response); } string _listThueBaoTraSau = CommonFunction.getParamObjFromRedis(_redis, "THUEBAO_TRASAU", "THUEBAO_TRASAU", "SYSTEM").values; if(_listThueBaoTraSau.IndexOf(","+_pakage+",")>0) { logger.Info("Thue bao :" + data.msisdn + " la tra sau--> not play on ussd or web channel. Tra ma loi 23"); response.responseCode = "23"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, data.channel, response.responseCode, data.language); logger.Info("buyTicket response : " + response.ToString()); return Ok(response); } } int is_promotion = 0, status_prompotion = 0; long totalMoney = 0, totalPromotionMoney = 0, id_promotion = -1, totalPaymentMoney = 0; //1. DUA VAO GAMEID DE KIEM TRA KY QUAY ID VA THOI GIAN QUAY THUONG termObj _termObj = CommonFunction.getTermObjObjFromRedis(_redis, data.gameId); //Kiem tra thoi gian hien tai > thoi gian dong cong + 10 phut thi exit DateTime _endDate = new DateTime(); try { _endDate = DateTime.ParseExact(_termObj.endDate, "dd/MM/yyyy HH:mm:ss", null); } catch { } logger.Info("_endDate chua add 10 phut: "+ _endDate.ToString()); TimeSpan _addMore = new TimeSpan(0, 10, 0); _endDate = _endDate + _addMore; logger.Info("_endDate da add 10 phut: " + _endDate.ToString()); DateTime dNow = DateTime.Now; logger.Info("dNow : " + dNow.ToString()); if (dNow > _endDate) { logger.Info("He thong bi loi, het thoi gian choi cua ky nay roi nhe"); response.responseCode = "-2"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, data.channel, response.responseCode, data.language); logger.Info("buyTicket response : " + response.ToString()); return Ok(response); } logger.Info("Check thoi gian da OK, xin moi tiep tuc"); //2. KIEM TRA TICKET NAY CO HOP LE VE TIEN HAY KO? //Tinh tong tien cua ve if (!CommonFunction.checkTicket(data, out totalMoney)) { //Ticke sai formart logger.Info("Check ticket false"); response.responseCode = "3"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, data.channel, response.responseCode, data.language); logger.Info("buyTicket response : " + response.ToString()); return Ok(response); } if (!string.IsNullOrEmpty(data.promotionCode)) { DataSet _ds = lotoDataAccess.getPromotionByCode(data.promotionCode, data.msisdn); if (_ds != null && _ds.Tables[0].Rows.Count > 0) { id_promotion = Convert.ToUInt32(_ds.Tables[0].Rows[0]["ID"].ToString()); totalPromotionMoney = Convert.ToUInt32(_ds.Tables[0].Rows[0]["MONEY"].ToString()); status_prompotion = Convert.ToUInt16(_ds.Tables[0].Rows[0]["STATUS"].ToString()); if (status_prompotion == 2) { //Ma code khuyen mai da su dung roi logger.Info("Promotion code have use"); response.responseCode = "38"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, data.channel, response.responseCode, data.language); logger.Info("buyTicket response : " + response.ToString()); return Ok(response); } else if (status_prompotion == 0) { //Ma code khuyen mai chua send logger.Info("Promotion is not active"); response.responseCode = "40"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, data.channel, response.responseCode, data.language); logger.Info("buyTicket response : " + response.ToString()); return Ok(response); } else if (status_prompotion == 1) { logger.Info("Promotion code OK"); is_promotion = 1; } } else { //Promotion code ko hop le logger.Info("Promotion code invalid"); response.responseCode = "39"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, data.channel, response.responseCode, data.language); logger.Info("buyTicket response : " + response.ToString()); return Ok(response); } } if (totalPromotionMoney >= totalMoney) totalPaymentMoney = 0; else totalPaymentMoney = totalMoney - totalPromotionMoney; response.responseCode = "0"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, data.channel, response.responseCode, data.language); response.termObj = _termObj; response.requestId = data.requestId; response.transId = CommonFunction.getGuiId(); response.isPromotion = is_promotion.ToString(); response.totalMoney = totalMoney.ToString(); response.totalMoneyPromotion = totalPromotionMoney.ToString(); response.totalMoneyPayment = totalPaymentMoney.ToString(); response.promotionId = id_promotion.ToString(); data.buyTicketResponse = response; //Ghi request nay vao select 2 cua DB //ghi lai token vao DB(1) int _token_timeout = Convert.ToInt16(((paramObj)CommonFunction.getParamObjFromRedis(_redis, "TICKET_CONFIRM_TIMEOUT", "TICKET_CONFIRM_TIMEOUT", "SYSTEM")).values); TimeSpan _timeSpam = new TimeSpan(0, 0, _token_timeout); _redis.setByKey(_redis.DB_INDEX_DATA_USER, response.transId, data.ToString(), _timeSpam); } catch (Exception ex) { logger.Info("getCurentTerm exception: " + ex.ToString()); } logger.Info("buyTicket response : " + response.ToString()); return Ok(response); } [HttpPost] public IActionResult confirmTicket([FromBody] dynamic sendData) { confirmTiketResponse response = new confirmTiketResponse(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; response.transId = CommonFunction.getGuiId(); logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); string paymentTransCode = ""; string requestId = string.Empty, language = string.Empty, transIdByTicket = string.Empty, paymentCode = string.Empty, token = string.Empty, channel = string.Empty; try { var obj = JObject.Parse(sendData.ToString()); requestId = Convert.ToString(obj["requestId"]); transIdByTicket = Convert.ToString(obj["transIdByTicket"]); paymentCode = Convert.ToString(obj["paymentCode"]); token = Convert.ToString(obj["token"]); channel = Convert.ToString(obj["channel"]); paymentTransCode = paymentCode; response.requestId = requestId; /* if (string.IsNullOrEmpty(requestId)) requestId = ""; if (string.IsNullOrEmpty(transIdByTicket)) transIdByTicket = ""; if (string.IsNullOrEmpty(paymentCode)) paymentCode = ""; if (string.IsNullOrEmpty(token)) token = ""; */ 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 //Lay thong tin cua requetByTicket ve if (!_redis.existsByKey(Convert.ToInt16(_redis.DB_INDEX_DATA_USER), transIdByTicket)) { logger.Info("Request buy ticket not exits"); response.responseCode = "41"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } else { buyTicketObj data = JsonConvert.DeserializeObject(_redis.getByKey(_redis.DB_INDEX_DATA_USER, transIdByTicket)); _redis.delByKey(_redis.DB_INDEX_DATA_USER, transIdByTicket); string _resultCharge = "-2"; if (channel != "WALLET") { //Tien hanh charge tien, gui ve ma loi va ma giao dich _resultCharge = CommonFunction.chargeGW(_redis,response.transId, data.msisdn, data.buyTicketResponse.totalMoneyPayment, logger); paymentTransCode = response.transId; if (_resultCharge != "0") { logger.Info("Charge false so exit"); response.responseCode = _resultCharge; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } } //truong hop con lai thi da tru tien thanh cong va insert ve nay vao DB bool _resultInsert = false; try { //tao chuoi ticket co format: termId1#money#ticket1*termId2#money#tiket2*....... string _tiketformat = ""; for (int i = 0; i < data.ticket.Length; i++) { if (i == 0) _tiketformat = data.buyTicketResponse.termObj.id + "#" + data.ticket[i].money + "#" + data.ticket[i].code; else _tiketformat = _tiketformat + "*" + data.buyTicketResponse.termObj.id + "#" + data.ticket[i].money + "#" + data.ticket[i].code; } DataSet _ds = lotoDataAccess.lotoInsertBet(data.msisdn, data.buyTicketResponse.promotionId, _tiketformat, data.buyTicketResponse.totalMoneyPayment, data.requestId, data.buyTicketResponse.transId, response.requestId, response.transId, paymentTransCode, "Success", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") , DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), "0", data.gameId, data.channel, data.language); if (_ds != null && _ds.Tables[0].Rows.Count > 0) { //lay ve ma don hang, list betId response.orderId = _ds.Tables[0].Rows[0]["bill_code"].ToString(); response.listTiketId = _ds.Tables[0].Rows[0]["tran_code"].ToString(); response.responseCode = "0"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } else { } } catch (Exception ex) { logger.Info("Insert bet into Database errr " + ex.Message, ex); _resultInsert = false; } if (!_resultInsert) { //Ghi lai log cua giao dich con hoan lai tien logger.Info("Insert bet into Database err so write log for revert"); //Ghi log response.responseCode = "-2"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } } } catch (Exception ex) { logger.Info("getCurentTerm exception: " + ex.ToString()); } logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } [HttpPost] public IActionResult sendOtp([FromBody] dynamic sendData) { Response response = new Response(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); string msisdn = string.Empty, language = string.Empty, transIdByTicket = string.Empty, paymentCode = string.Empty, token = string.Empty, channel = string.Empty; try { var obj = JObject.Parse(sendData.ToString()); msisdn = Convert.ToString(obj["msisdn"]); token = Convert.ToString(obj["token"]); channel = Convert.ToString(obj["channel"]); language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "-1"; /* if (string.IsNullOrEmpty(requestId)) requestId = ""; if (string.IsNullOrEmpty(transIdByTicket)) transIdByTicket = ""; if (string.IsNullOrEmpty(paymentCode)) paymentCode = ""; if (string.IsNullOrEmpty(token)) token = ""; */ 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) { if (_tokenObj.msisdn != msisdn && _tokenObj.role == "USER") { logger.Info("Authen token false"); response.responseCode = "35"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("buyTicket response : " + response.ToString()); return Ok(response); } } //Ket thuc check token DataSet ds = lotoDataAccess.otpSend(msisdn, "1", channel, language); if (ds != null && ds.Tables[0].Rows.Count > 0) { logger.Info("Send OTP success"); response.responseCode = "0"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } else { logger.Info("Send OTP not sucess"); response.responseCode = "-2"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } } catch (Exception ex) { logger.Info("sendOtp exception: " + ex.ToString()); } logger.Info("sendOtp response : " + response.ToString()); return Ok(response); } [HttpPost] public IActionResult confirmOtp([FromBody] dynamic sendData) { Response response = new Response(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); string msisdn = string.Empty, language = string.Empty, otp = string.Empty, token = string.Empty, channel = string.Empty; try { var obj = JObject.Parse(sendData.ToString()); msisdn = Convert.ToString(obj["msisdn"]); token = Convert.ToString(obj["token"]); channel = Convert.ToString(obj["channel"]); otp = Convert.ToString(obj["otp"]); language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "-1"; /* if (string.IsNullOrEmpty(requestId)) requestId = ""; if (string.IsNullOrEmpty(transIdByTicket)) transIdByTicket = ""; if (string.IsNullOrEmpty(paymentCode)) paymentCode = ""; if (string.IsNullOrEmpty(token)) token = ""; */ 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); logger.Info("buyTicket response : " + response.ToString()); return Ok(response); } } //Ket thuc check token DataSet ds = lotoDataAccess.otpConfirm(msisdn, "1", channel, otp, language); if (ds != null && ds.Tables[0].Rows.Count > 0) { string status = ds.Tables[0].Rows[0]["status"].ToString(); string msg = ds.Tables[0].Rows[0]["mesage"].ToString(); logger.Info("Send OTP success"); response.responseCode = status; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } else { logger.Info("Send OTP not sucess"); response.responseCode = "-2"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } } catch (Exception ex) { logger.Info("sendOtp exception: " + ex.ToString()); } logger.Info("sendOtp response : " + response.ToString()); return Ok(response); } [HttpPost] public IActionResult convertMoneyByUser([FromBody] dynamic sendData) { convertMoneyResponseObj response = new convertMoneyResponseObj(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); string msisdn = string.Empty, msisdnReceive = string.Empty, money = string.Empty, language = string.Empty, channelPayment = string.Empty, token = string.Empty, channel = string.Empty, serviceId = string.Empty, otp = string.Empty; try { var obj = JObject.Parse(sendData.ToString()); serviceId = Convert.ToString(obj["serviceId"]); msisdn = Convert.ToString(obj["msisdn"]); msisdnReceive = Convert.ToString(obj["msisdnReceive"]); token = Convert.ToString(obj["token"]); channel = Convert.ToString(obj["channel"]); channelPayment = Convert.ToString(obj["channelPayment"]); money = Convert.ToString(obj["money"]); language = Convert.ToString(obj["language"]); otp = Convert.ToString(obj["otp"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(money)) money = "0"; if (string.IsNullOrEmpty(channelPayment)) channelPayment = "-1"; if (string.IsNullOrEmpty(channelPayment)) serviceId = "1"; 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("_tokenObj.msisdn != msisdn Authen token false"); response.responseCode = "35"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); return Ok(response); } } //Ket thuc check token if (!(channelPayment == "1" || channelPayment == "2")) { //He thong nang cap logger.Info("Tham so sai"); response.responseCode = "4"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); return Ok(response); } if (channelPayment=="2") { //Kiem tra su ton tai cua vi string _reqeustCheckWallet = CommonFunction.getGuiId(); //-1: He thong nang cap,1= Vi ton tai va active,2=Khong ton tai vi,3= Vi khong active string _isexitsWallet = CommonFunction.checkExistsWallet(_redis, _reqeustCheckWallet, msisdnReceive, logger); if (_isexitsWallet == "-1") { //He thong nang cap logger.Info("Khong check vi duoc"); response.responseCode = "-2"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); return Ok(response); } if (_isexitsWallet == "2") { //Vi khong ton tai logger.Info("Vi khong ton tai"); response.responseCode = "20"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); return Ok(response); } if (_isexitsWallet == "3") { //Vi khong active logger.Info("Vi khong active"); response.responseCode = "21"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); return Ok(response); } } /* //Kiem tra them OTP neu ko phai kenh ussd if (channel != "USSD") { DataSet ds_otp = lotoDataAccess.otpConfirm(msisdn, "1", channel, otp, language); if (ds_otp != null && ds_otp.Tables[0].Rows.Count > 0) { string status = ds_otp.Tables[0].Rows[0]["status"].ToString(); string msg = ds_otp.Tables[0].Rows[0]["mesage"].ToString(); if (status != "0") { logger.Info("Confirm OTP not sucess"); response.responseCode = status; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } } else { logger.Info("Confirm OTP not sucess"); response.responseCode = "-2"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } } */ //Kiem tra them vai dieu kien if (string.IsNullOrEmpty(msisdnReceive)) { logger.Info("msisdnReceive is null"); response.responseCode = "4"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); return Ok(response); } int _money = 0; if (int.TryParse(money, out _money)) { if (_money <= 0) { logger.Info("msisdnReceive is null"); response.responseCode = "4"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); return Ok(response); } } else { logger.Info("msisdnReceive is null"); response.responseCode = "4"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); return Ok(response); } DataSet ds = lotoDataAccess.convertMoney(msisdn, msisdnReceive, channel, channelPayment, money, language, serviceId); if (ds != null && ds.Tables[0].Rows.Count > 0) { logger.Info("Chuyen tien thanh cong"); response.responseCode = ds.Tables[0].Rows[0]["status"].ToString(); response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); response.paymentCode = ds.Tables[0].Rows[0]["paymentCode"].ToString(); return Ok(response); } else { logger.Info("Send convert coins to money not sucess"); response.responseCode = "-2"; response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language); logger.Info("confirmTicket response : " + response.ToString()); return Ok(response); } } catch (Exception ex) { logger.Info("sendOtp exception: " + ex.ToString()); } logger.Info("sendOtp response : " + response.ToString()); return Ok(response); } [HttpPost] public IActionResult getListConvertByUser([FromBody] dynamic sendData) { convertMoneyListObj response = new convertMoneyListObj(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); try { var obj = JObject.Parse(sendData.ToString()); string serviceId = Convert.ToString(obj["serviceId"]); string msisdn = Convert.ToString(obj["msisdn"]); string id = Convert.ToString(obj["id"]); string type = Convert.ToString(obj["type"]); // --0=dang thuc hien,1=thuc hien thanh cong,2=pending,3=revert 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 channelPayment = Convert.ToString(obj["channelPayment"]); string token = Convert.ToString(obj["token"]); 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(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 = "-1"; if (string.IsNullOrEmpty(channelPayment)) channelPayment = "-1"; 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); } } DataSet ds_regist = lotoDataAccess.getListConvertByUser(serviceId, msisdn, type, order, rowsOnPage, seqPage, id, language, fromDate, toDate, channelPayment); 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) { 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 convertMoneyObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { convertMoneyObj _obj = new convertMoneyObj(); _obj.seq = ds_regist.Tables[0].Rows[j]["SEQ"].ToString(); _obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString(); _obj.acountSend = ds_regist.Tables[0].Rows[j]["ACOUNT_SEND"].ToString(); _obj.acountRecieve = ds_regist.Tables[0].Rows[j]["ACOUNT_RECEIVE"].ToString(); _obj.timeRequest = ds_regist.Tables[0].Rows[j]["TIMEREQUEST"].ToString(); _obj.timeTopup = ds_regist.Tables[0].Rows[j]["TIMETOPUP"].ToString(); _obj.status = ds_regist.Tables[0].Rows[j]["STATUS"].ToString(); _obj.money = ds_regist.Tables[0].Rows[j]["MONEY"].ToString(); _obj.channelRequest = ds_regist.Tables[0].Rows[j]["CHANNEL_REQUEST"].ToString(); _obj.channelPayment = ds_regist.Tables[0].Rows[j]["CHANNEL_PAYMENT"].ToString(); _obj.reqeustId = ds_regist.Tables[0].Rows[j]["REQEUST_ID"].ToString(); _obj.responseId = ds_regist.Tables[0].Rows[j]["RESPONSE_ID"].ToString(); _obj.errCode = ds_regist.Tables[0].Rows[j]["ERR_CODE"].ToString(); _obj.errMsg = ds_regist.Tables[0].Rows[j]["ERR_MSG"].ToString(); _obj.serviceId = ds_regist.Tables[0].Rows[j]["SERVICE_ID"].ToString(); response.list[j] = _obj; } return Ok(response); } } catch (Exception ex) { logger.Info("sendOtp exception: " + ex.ToString()); } logger.Info("sendOtp response : " + response.ToString()); return Ok(response); } //{"id":"1","users":"quangbh","key":"jqB3Vi1fIlu+9a2ODQs65w=="} [HttpPost] public IActionResult paramGetList([FromBody] dynamic sendData) { logger.Info("New request income balanceGetList :" + sendData.ToString()); paramObjList response = new paramObjList(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; try { var userObj = JObject.Parse(sendData.ToString()); string users = Convert.ToString(userObj["users"]); string id = Convert.ToString(userObj["id"]); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(users)) users = "-1"; if (string.IsNullOrEmpty(id)) id = "-1"; 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); } DataSet ds_regist = lotoDataAccess.paramGetList(id, users); logger.Info("Call database balGetList success:"); response.responseCode = "0"; response.responseMessage = "Success"; if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.list = new paramObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { paramObj _obj = new paramObj(); _obj.id = ds_regist.Tables[0].Rows[j]["ID"].ToString(); _obj.code = ds_regist.Tables[0].Rows[j]["CODE"].ToString(); _obj.values = ds_regist.Tables[0].Rows[j]["SVALUES"].ToString(); _obj.note = ds_regist.Tables[0].Rows[j]["NOTE"].ToString(); _obj.status = ds_regist.Tables[0].Rows[j]["STATUS"].ToString(); _obj.codeGroup = ds_regist.Tables[0].Rows[j]["CODE_GROUP"].ToString(); _obj.display0 = ds_regist.Tables[0].Rows[j]["DISPLAY0"].ToString(); _obj.display1 = ds_regist.Tables[0].Rows[j]["DISPLAY1"].ToString(); _obj.display2 = ds_regist.Tables[0].Rows[j]["DISPLAY2"].ToString(); _obj.display3 = ds_regist.Tables[0].Rows[j]["DISPLAY3"].ToString(); _obj.display4 = ds_regist.Tables[0].Rows[j]["DISPLAY4"].ToString(); _obj.display5 = ds_regist.Tables[0].Rows[j]["DISPLAY5"].ToString(); _obj.gameId = ds_regist.Tables[0].Rows[j]["GAME_ID"].ToString(); _obj.channel = ds_regist.Tables[0].Rows[j]["CHANNEL"].ToString(); response.list[j] = _obj; } } } catch (Exception ex) { logger.Info("exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } /* {"code":"124","values":"Cty Viettech 1","note":"0","status":"1","codeGroup":"quangbh","display0":"display0","display1":"display1","display2":"display2","display3":"display3","display4":"display4","display5":"display5","gameId":"1","channel":"channel","users":"haha","key":"jqB3Vi1fIlu+9a2ODQs65w=="} */ public IActionResult paramInsert([FromBody] dynamic sendData) { logger.Info("New request income balanceInsert :" + sendData.ToString()); Response response = new Response(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; try { var userObj = JObject.Parse(sendData.ToString()); string code = Convert.ToString(userObj["code"]); string values = Convert.ToString(userObj["values"]); string note = Convert.ToString(userObj["note"]); string status = Convert.ToString(userObj["status"]); string codeGroup = Convert.ToString(userObj["codeGroup"]); string display0 = Convert.ToString(userObj["display0"]); string display1 = Convert.ToString(userObj["display1"]); string display2 = Convert.ToString(userObj["display2"]); string display3 = Convert.ToString(userObj["display3"]); string display4 = Convert.ToString(userObj["display4"]); string display5 = Convert.ToString(userObj["display5"]); string gameId = Convert.ToString(userObj["gameId"]); string channel = Convert.ToString(userObj["channel"]); string token = Convert.ToString(userObj["token"]); string users = Convert.ToString(userObj["users"]); string key = Convert.ToString(userObj["key"]); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(code)) code = "-1"; if (string.IsNullOrEmpty(codeGroup)) codeGroup = "-1"; if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(users)) users = "-1"; if (string.IsNullOrEmpty(key)) key = "-1"; 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); } DataSet ds_regist = lotoDataAccess.paramInsert(code, values, note, status, codeGroup, display0, display1, display2, display3, display4, display5, gameId, channel, users); logger.Info("Call database balInsert success:"); response.responseCode = "0"; response.responseMessage = "Success"; } catch (Exception ex) { logger.Info("exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } /* {"id":"1","code":"124","values":"Cty Viettech 1","note":"0","status":"1","codeGroup":"quangbh","display0":"display0","display1":"display1","display2":"displayso 3","display3":"display3","display4":"display4","display5":"display5","gameId":"1","channel":"channel","type":"0","users":"quangbh","key":"jqB3Vi1fIlu+9a2ODQs65w=="} */ public IActionResult paramUpdate([FromBody] dynamic sendData) { logger.Info("New request income companyGetList :" + sendData.ToString()); Response response = new Response(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; try { var userObj = JObject.Parse(sendData.ToString()); string id = Convert.ToString(userObj["id"]); string code = Convert.ToString(userObj["code"]); string values = Convert.ToString(userObj["values"]); string note = Convert.ToString(userObj["note"]); string status = Convert.ToString(userObj["status"]); string codeGroup = Convert.ToString(userObj["codeGroup"]); string display0 = Convert.ToString(userObj["display0"]); string display1 = Convert.ToString(userObj["display1"]); string display2 = Convert.ToString(userObj["display2"]); string display3 = Convert.ToString(userObj["display3"]); string display4 = Convert.ToString(userObj["display4"]); string display5 = Convert.ToString(userObj["display5"]); string gameId = Convert.ToString(userObj["gameId"]); string channel = Convert.ToString(userObj["channel"]); string type = Convert.ToString(userObj["type"]); string users = Convert.ToString(userObj["users"]); string token = Convert.ToString(userObj["token"]); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(id)) id = "-1"; if (string.IsNullOrEmpty(type)) type = "0"; if (string.IsNullOrEmpty(language)) language = "1"; 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); } DataSet ds_regist = lotoDataAccess.paramUpdate(id, code, values, note, status, codeGroup, display0, display1, display2, display3, display4, display5, gameId, channel, users, type); logger.Info("Call database comInsert success:"); response.responseCode = "0"; response.responseMessage = "Success"; } catch (Exception ex) { logger.Info("exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } [HttpPost] public IActionResult rpTotalByDay([FromBody] dynamic sendData) { rpTotalByDayListObj response = new rpTotalByDayListObj(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); try { var obj = JObject.Parse(sendData.ToString()); string msisdn = Convert.ToString(obj["msisdn"]); string gameId = Convert.ToString(obj["gameId"]); string gameType = Convert.ToString(obj["gameType"]); // --1=Newyork,2=Florida string isEvening = Convert.ToString(obj["isEvening"]); // --1=evening,0= not evening string channel = Convert.ToString(obj["channel"]); string fromDate = Convert.ToString(obj["fromDate"]); string toDate = Convert.ToString(obj["toDate"]); string token = Convert.ToString(obj["token"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(msisdn)) msisdn = "-1"; if (string.IsNullOrEmpty(gameId)) gameId = "-1"; if (string.IsNullOrEmpty(gameType)) gameType = "-1"; if (string.IsNullOrEmpty(isEvening)) isEvening = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; if (string.IsNullOrEmpty(channel)) channel = "-1"; if (string.IsNullOrEmpty(fromDate)) fromDate = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; string channelPayment = Convert.ToString(obj["channelPayment"]); if (string.IsNullOrEmpty(channelPayment)) channelPayment = "-1"; 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); // } //} DataSet ds_regist = lotoDataAccess.reTotalByDay(msisdn, fromDate, toDate, gameId, gameType, isEvening, channelPayment); 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) { response.list = new rpTotalByDayObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { rpTotalByDayObj _obj = new rpTotalByDayObj(); _obj.date = ds_regist.Tables[0].Rows[j]["ngay"].ToString(); _obj.player = ds_regist.Tables[0].Rows[j]["player"].ToString(); _obj.ticket = ds_regist.Tables[0].Rows[j]["ticket"].ToString(); _obj.money = ds_regist.Tables[0].Rows[j]["money"].ToString(); _obj.palyerWin = ds_regist.Tables[0].Rows[j]["player_win"].ToString(); _obj.ticketWin = ds_regist.Tables[0].Rows[j]["ticket_win"].ToString(); _obj.moneyWin = ds_regist.Tables[0].Rows[j]["money_win"].ToString(); _obj.benefit = ds_regist.Tables[0].Rows[j]["benefit"].ToString(); _obj.sharing = ds_regist.Tables[0].Rows[j]["sharing"].ToString(); response.list[j] = _obj; } return Ok(response); } } catch (Exception ex) { logger.Info("sendOtp exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; } logger.Info("sendOtp response : " + response.ToString()); return Ok(response); } [HttpPost] public IActionResult rpTotalByDayLkps([FromBody] dynamic sendData) { rpTotalByDayListObj response = new rpTotalByDayListObj(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); try { var obj = JObject.Parse(sendData.ToString()); string msisdn = Convert.ToString(obj["msisdn"]); string channel = Convert.ToString(obj["channel"]); string fromDate = Convert.ToString(obj["fromDate"]); string toDate = Convert.ToString(obj["toDate"]); string token = Convert.ToString(obj["token"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(msisdn)) msisdn = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; if (string.IsNullOrEmpty(channel)) channel = "-1"; if (string.IsNullOrEmpty(fromDate)) fromDate = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; string channelPayment = Convert.ToString(obj["channelPayment"]); if (string.IsNullOrEmpty(channelPayment)) channelPayment = "-1"; 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); // } //} DataSet ds_regist = lotoDataAccess.reTotalByDayLkps(msisdn, fromDate, toDate, channelPayment); 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) { response.list = new rpTotalByDayObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { rpTotalByDayObj _obj = new rpTotalByDayObj(); _obj.date = ds_regist.Tables[0].Rows[j]["ngay"].ToString(); _obj.player = ds_regist.Tables[0].Rows[j]["player"].ToString(); _obj.ticket = ds_regist.Tables[0].Rows[j]["ticket"].ToString(); _obj.money = ds_regist.Tables[0].Rows[j]["money"].ToString(); _obj.palyerWin = ds_regist.Tables[0].Rows[j]["player_win"].ToString(); _obj.ticketWin = ds_regist.Tables[0].Rows[j]["ticket_win"].ToString(); _obj.moneyWin = ds_regist.Tables[0].Rows[j]["money_win"].ToString(); _obj.benefit = ds_regist.Tables[0].Rows[j]["benefit"].ToString(); _obj.sharing = ds_regist.Tables[0].Rows[j]["sharing"].ToString(); response.list[j] = _obj; } return Ok(response); } } catch (Exception ex) { logger.Info("sendOtp exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; } logger.Info("sendOtp response : " + response.ToString()); return Ok(response); } [HttpPost] public IActionResult rpTotalByDayConvertMoney([FromBody] dynamic sendData) { rpTotalByDayConvetMoneyListObj response = new rpTotalByDayConvetMoneyListObj(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); try { var obj = JObject.Parse(sendData.ToString()); string channel = Convert.ToString(obj["channel"]); string fromDate = Convert.ToString(obj["fromDate"]); string toDate = Convert.ToString(obj["toDate"]); string token = Convert.ToString(obj["token"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; if (string.IsNullOrEmpty(channel)) channel = "-1"; if (string.IsNullOrEmpty(fromDate)) fromDate = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; string channelPayment = Convert.ToString(obj["channelPayment"]); if (string.IsNullOrEmpty(channelPayment)) channelPayment = "-1"; 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); // } //} DataSet ds_regist = lotoDataAccess.reTotalByDayConvertMoney(fromDate, toDate, channelPayment); 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) { response.list = new rpTotalByDayConvetMoneyObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { rpTotalByDayConvetMoneyObj _obj = new rpTotalByDayConvetMoneyObj(); _obj.date = ds_regist.Tables[0].Rows[j]["ngay"].ToString(); _obj.total = ds_regist.Tables[0].Rows[j]["total"].ToString(); _obj.money = ds_regist.Tables[0].Rows[j]["money"].ToString(); _obj.totalSuccess = ds_regist.Tables[0].Rows[j]["totalSucces"].ToString(); _obj.moneySuccess = ds_regist.Tables[0].Rows[j]["moneySuccess"].ToString(); _obj.totalRevert = ds_regist.Tables[0].Rows[j]["totalRevert"].ToString(); _obj.moneyRevert = ds_regist.Tables[0].Rows[j]["moneyRevert"].ToString(); _obj.totalPending = ds_regist.Tables[0].Rows[j]["totalPending"].ToString(); _obj.moneyPending = ds_regist.Tables[0].Rows[j]["moneyPending"].ToString(); response.list[j] = _obj; } return Ok(response); } } catch (Exception ex) { logger.Info("sendOtp exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; } logger.Info("sendOtp response : " + response.ToString()); return Ok(response); } [HttpPost] public IActionResult rpTotalByPrizeBolet([FromBody] dynamic sendData) { rpTotalByDayPrizwBoletListObj response = new rpTotalByDayPrizwBoletListObj(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); try { var obj = JObject.Parse(sendData.ToString()); string msisdn = Convert.ToString(obj["msisdn"]); string gameType = Convert.ToString(obj["gameType"]); // --1=Newyork,2=Florida string isEvening = Convert.ToString(obj["isEvening"]); // --1=evening,0= not evening string channel = Convert.ToString(obj["channel"]); string fromDate = Convert.ToString(obj["fromDate"]); string toDate = Convert.ToString(obj["toDate"]); string token = Convert.ToString(obj["token"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(msisdn)) msisdn = "-1"; if (string.IsNullOrEmpty(gameType)) gameType = "-1"; if (string.IsNullOrEmpty(isEvening)) isEvening = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; if (string.IsNullOrEmpty(channel)) channel = "-1"; if (string.IsNullOrEmpty(fromDate)) fromDate = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; string channelPayment = Convert.ToString(obj["channelPayment"]); if (string.IsNullOrEmpty(channelPayment)) channelPayment = "-1"; 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); // } //} DataSet ds_regist = lotoDataAccess.reTotalByDayPrizeBolet(msisdn, fromDate, toDate, gameType, isEvening, channelPayment); 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) { response.list = new rpTotalByDayPrizeBoletObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { rpTotalByDayPrizeBoletObj _obj = new rpTotalByDayPrizeBoletObj(); _obj.date = ds_regist.Tables[0].Rows[j]["ngay"].ToString(); _obj.player = ds_regist.Tables[0].Rows[j]["player"].ToString(); _obj.ticket = ds_regist.Tables[0].Rows[j]["ticket"].ToString(); _obj.money = ds_regist.Tables[0].Rows[j]["money"].ToString(); _obj.palyerWin = ds_regist.Tables[0].Rows[j]["player_win"].ToString(); _obj.ticketWin = ds_regist.Tables[0].Rows[j]["ticket_win"].ToString(); _obj.moneyWin = ds_regist.Tables[0].Rows[j]["money_win"].ToString(); _obj.ticketWinLot1 = ds_regist.Tables[0].Rows[j]["ticket_win_lot1"].ToString(); _obj.moneyWinLot1 = ds_regist.Tables[0].Rows[j]["money_win_lot1"].ToString(); _obj.ticketWinLot2 = ds_regist.Tables[0].Rows[j]["ticket_win_lot2"].ToString(); _obj.moneyWinLot2 = ds_regist.Tables[0].Rows[j]["money_win_lot2"].ToString(); _obj.ticketWinLot3 = ds_regist.Tables[0].Rows[j]["ticket_win_lot3"].ToString(); _obj.moneyWinLot3 = ds_regist.Tables[0].Rows[j]["money_win_lot3"].ToString(); response.list[j] = _obj; } return Ok(response); } } catch (Exception ex) { logger.Info("sendOtp exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; } logger.Info("sendOtp response : " + response.ToString()); return Ok(response); } [HttpPost] public IActionResult rpSearchDetailTicket([FromBody] dynamic sendData) { reSearchDetailBetListObj response = new reSearchDetailBetListObj(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); try { var obj = JObject.Parse(sendData.ToString()); string msisdn = Convert.ToString(obj["msisdn"]); string gameId = Convert.ToString(obj["gameId"]); string gameType = Convert.ToString(obj["gameType"]); // --1=Newyork,2=Florida string isEvening = Convert.ToString(obj["isEvening"]); // --1=evening,0= not evening string channel = Convert.ToString(obj["channel"]); string fromDate = Convert.ToString(obj["fromDate"]); string toDate = Convert.ToString(obj["toDate"]); string isWin = Convert.ToString(obj["isWin"]); string token = Convert.ToString(obj["token"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(msisdn)) msisdn = "-1"; if (string.IsNullOrEmpty(gameId)) gameId = "-1"; if (string.IsNullOrEmpty(gameType)) gameType = "-1"; if (string.IsNullOrEmpty(isEvening)) isEvening = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; if (string.IsNullOrEmpty(channel)) channel = "-1"; if (string.IsNullOrEmpty(fromDate)) fromDate = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; if (string.IsNullOrEmpty(isWin)) isWin = "-1"; string channelPayment = Convert.ToString(obj["channelPayment"]); if (string.IsNullOrEmpty(channelPayment)) channelPayment = "-1"; 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); // } //} DataSet ds_regist = lotoDataAccess.reSearDeatailBet(msisdn, fromDate, toDate, gameId, gameType, isEvening, channelPayment, isWin); 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) { response.list = new reSearchDetailBetObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { reSearchDetailBetObj _obj = new reSearchDetailBetObj(); _obj.msisdn = ds_regist.Tables[0].Rows[j]["USERS"].ToString(); _obj.lottery = ds_regist.Tables[0].Rows[j]["LOTTERY"].ToString(); _obj.game = ds_regist.Tables[0].Rows[j]["GAME"].ToString(); _obj.channel = ds_regist.Tables[0].Rows[j]["CHANNEL"].ToString(); _obj.ticketId = ds_regist.Tables[0].Rows[j]["ticketID"].ToString(); _obj.ticketCode = ds_regist.Tables[0].Rows[j]["ticketCode"].ToString(); _obj.buyTime = ds_regist.Tables[0].Rows[j]["vsysdate"].ToString(); _obj.isEvening = ds_regist.Tables[0].Rows[j]["IS_EVENING"].ToString(); _obj.drawTime = ds_regist.Tables[0].Rows[j]["DATE_RANDOM"].ToString(); _obj.money = ds_regist.Tables[0].Rows[j]["MONEY"].ToString(); _obj.moneyWin = ds_regist.Tables[0].Rows[j]["MONEY_WIN"].ToString(); _obj.result = ds_regist.Tables[0].Rows[j]["str"].ToString(); response.list[j] = _obj; } return Ok(response); } } catch (Exception ex) { logger.Info("sendOtp exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; } logger.Info("sendOtp response : " + response.ToString()); return Ok(response); } [HttpPost] public IActionResult rpSearchDetailTicketLkps([FromBody] dynamic sendData) { reSearchDetailBetListObj response = new reSearchDetailBetListObj(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); try { var obj = JObject.Parse(sendData.ToString()); string msisdn = Convert.ToString(obj["msisdn"]); string channel = Convert.ToString(obj["channel"]); string fromDate = Convert.ToString(obj["fromDate"]); string toDate = Convert.ToString(obj["toDate"]); string isWin = Convert.ToString(obj["isWin"]); string token = Convert.ToString(obj["token"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(msisdn)) msisdn = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; if (string.IsNullOrEmpty(channel)) channel = "-1"; if (string.IsNullOrEmpty(fromDate)) fromDate = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; if (string.IsNullOrEmpty(isWin)) isWin = "-1"; string channelPayment = Convert.ToString(obj["channelPayment"]); if (string.IsNullOrEmpty(channelPayment)) channelPayment = "-1"; 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); // } //} DataSet ds_regist = lotoDataAccess.reSearDeatailBetLkps(msisdn, fromDate, toDate, channelPayment, isWin); 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) { response.list = new reSearchDetailBetObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { reSearchDetailBetObj _obj = new reSearchDetailBetObj(); _obj.msisdn = ds_regist.Tables[0].Rows[j]["USERS"].ToString(); _obj.channel = ds_regist.Tables[0].Rows[j]["CHANNEL"].ToString(); _obj.ticketId = ds_regist.Tables[0].Rows[j]["ticketID"].ToString(); _obj.ticketCode = ds_regist.Tables[0].Rows[j]["ticketCode"].ToString(); _obj.buyTime = ds_regist.Tables[0].Rows[j]["vsysdate"].ToString(); _obj.drawTime = ds_regist.Tables[0].Rows[j]["DATE_RANDOM"].ToString(); _obj.money = ds_regist.Tables[0].Rows[j]["MONEY"].ToString(); _obj.moneyWin = ds_regist.Tables[0].Rows[j]["MONEY_WIN"].ToString(); _obj.result = ds_regist.Tables[0].Rows[j]["str"].ToString(); response.list[j] = _obj; } return Ok(response); } } catch (Exception ex) { logger.Info("sendOtp exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; } logger.Info("sendOtp response : " + response.ToString()); return Ok(response); } [HttpPost] public IActionResult rpSearchDetailTicketUniqueMsisdn([FromBody] dynamic sendData) { reSearchDetailBetListObj response = new reSearchDetailBetListObj(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); try { var obj = JObject.Parse(sendData.ToString()); string msisdn = Convert.ToString(obj["msisdn"]); string gameId = Convert.ToString(obj["gameId"]); string gameType = Convert.ToString(obj["gameType"]); // --1=Newyork,2=Florida string isEvening = Convert.ToString(obj["isEvening"]); // --1=evening,0= not evening string channel = Convert.ToString(obj["channel"]); string fromDate = Convert.ToString(obj["fromDate"]); string toDate = Convert.ToString(obj["toDate"]); string isWin = Convert.ToString(obj["isWin"]); string token = Convert.ToString(obj["token"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(msisdn)) msisdn = "-1"; if (string.IsNullOrEmpty(gameId)) gameId = "-1"; if (string.IsNullOrEmpty(gameType)) gameType = "-1"; if (string.IsNullOrEmpty(isEvening)) isEvening = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; if (string.IsNullOrEmpty(channel)) channel = "-1"; if (string.IsNullOrEmpty(fromDate)) fromDate = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; if (string.IsNullOrEmpty(isWin)) isWin = "-1"; string channelPayment = Convert.ToString(obj["channelPayment"]); if (string.IsNullOrEmpty(channelPayment)) channelPayment = "-1"; 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); // } //} DataSet ds_regist = lotoDataAccess.reSearDeatailBetUniqueMsisdn(msisdn, fromDate, toDate, gameId, gameType, isEvening, channelPayment, isWin); 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) { response.list = new reSearchDetailBetObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { reSearchDetailBetObj _obj = new reSearchDetailBetObj(); _obj.msisdn = ds_regist.Tables[0].Rows[j]["USERS"].ToString(); _obj.lottery = ds_regist.Tables[0].Rows[j]["LOTTERY"].ToString(); _obj.game = ds_regist.Tables[0].Rows[j]["GAME"].ToString(); _obj.channel = ds_regist.Tables[0].Rows[j]["CHANNEL"].ToString(); _obj.ticketId = ds_regist.Tables[0].Rows[j]["ticketID"].ToString(); _obj.ticketCode = ds_regist.Tables[0].Rows[j]["ticketCode"].ToString(); _obj.buyTime = ds_regist.Tables[0].Rows[j]["vsysdate"].ToString(); _obj.isEvening = ds_regist.Tables[0].Rows[j]["IS_EVENING"].ToString(); _obj.drawTime = ds_regist.Tables[0].Rows[j]["DATE_RANDOM"].ToString(); _obj.money = ds_regist.Tables[0].Rows[j]["MONEY"].ToString(); _obj.moneyWin = ds_regist.Tables[0].Rows[j]["MONEY_WIN"].ToString(); _obj.result = ds_regist.Tables[0].Rows[j]["str"].ToString(); response.list[j] = _obj; } return Ok(response); } } catch (Exception ex) { logger.Info("sendOtp exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; } logger.Info("sendOtp response : " + response.ToString()); return Ok(response); } [HttpPost] public IActionResult updateResultManua([FromBody] dynamic sendData) { Response response = new Response(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); try { var obj = JObject.Parse(sendData.ToString()); string termId = Convert.ToString(obj["termId"]); string result = Convert.ToString(obj["result"]); string users = Convert.ToString(obj["users"]); string channel = Convert.ToString(obj["channel"]); string token = Convert.ToString(obj["token"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(termId)) termId = "-1"; if (string.IsNullOrEmpty(result)) result = "-1"; if (string.IsNullOrEmpty(users)) users = "-1"; if (string.IsNullOrEmpty(channel)) channel = "-1"; 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); } DataSet ds_regist = lotoDataAccess.resultUpdateManual(termId,result,users); logger.Info("Call database resultUpdateManual 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]["message"].ToString(); } else { response.responseCode = "0"; response.responseMessage = "nodata"; } } catch (Exception ex) { logger.Info("sendOtp exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; } logger.Info("sendOtp response : " + response.ToString()); return Ok(response); } [HttpPost] public IActionResult rpSearchDetailMtBuyMsisdn([FromBody] dynamic sendData) { mtList response = new mtList(); response.responseCode = "-1"; response.responseMessage = "Err unknow"; logger.Info("Request from UI getCurentTerm: " + sendData.ToString()); try { var obj = JObject.Parse(sendData.ToString()); string msisdn = Convert.ToString(obj["msisdn"]); string channel = Convert.ToString(obj["channel"]); string fromDate = Convert.ToString(obj["fromDate"]); string toDate = Convert.ToString(obj["toDate"]); string token = Convert.ToString(obj["token"]); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "1"; if (string.IsNullOrEmpty(msisdn)) msisdn = "-1"; if (string.IsNullOrEmpty(channel)) channel = "-1"; if (string.IsNullOrEmpty(fromDate)) fromDate = "-1"; if (string.IsNullOrEmpty(toDate)) toDate = "-1"; 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); // } //} DataSet ds_regist = lotoDataAccess.reSearDeatailMt(msisdn, fromDate, toDate); 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) { response.list = new mtObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { mtObj _obj = new mtObj(); _obj.id = ds_regist.Tables[0].Rows[j]["MT_HIS_ID"].ToString(); _obj.msisdn = ds_regist.Tables[0].Rows[j]["MSISDN"].ToString(); _obj.message = ds_regist.Tables[0].Rows[j]["MESSAGE"].ToString(); _obj.sendTime = ds_regist.Tables[0].Rows[j]["SENT_TIME"].ToString(); _obj.receiveTime = ds_regist.Tables[0].Rows[j]["RECEIVE_TIME"].ToString(); _obj.status = ds_regist.Tables[0].Rows[j]["STATUS"].ToString(); _obj.channel = ds_regist.Tables[0].Rows[j]["CHANNEL"].ToString(); response.list[j] = _obj; } return Ok(response); } } catch (Exception ex) { logger.Info("sendOtp exception: " + ex.ToString()); response.responseCode = "-2"; response.responseMessage = "System upgrade"; } logger.Info("sendOtp response : " + response.ToString()); return Ok(response); } } }