using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using ResfullApi.Models; using Newtonsoft.Json; using System.Data; using Newtonsoft.Json.Linq; using System.Data; using System.Configuration; using Microsoft.AspNetCore.Mvc; using CommonObj.common; using Microsoft.Extensions.Caching.Memory; using CommonObj.model; namespace ApiProcess.Controllers { [ApiController] [Route("api/[controller]/[action]/data")] public class newsWeb : ControllerBase { static readonly log4net.ILog logger = log4net.LogManager.GetLogger(typeof(newsWeb)); private IMemoryCache memoryCache; public newsWeb(IMemoryCache memoryCache) { this.memoryCache = memoryCache; } // {"USERS":"123","SV_ID":"1","USERS":"NEWS_ID"} [HttpPost] public IActionResult newsUpdateRead([FromBody] dynamic sendData) { ////log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); ////log4net.Config.XmlConfigurator.Configure(); responseObjUtil response = new responseObjUtil(); response.status = "-1"; response.message = "Err unknow"; try { logger.Info("New request income newsUpdateRead :" + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string USERS = Convert.ToString(obj["users"]); string SV_ID = Convert.ToString(obj["serviceId"]); string NEWS_ID = Convert.ToString(obj["NEWS_ID"]); //var userObj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //Check token //var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(obj["token"]); string channel = Convert.ToString(obj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------Lay ra va luu mot redis tu cache----------------------------- redisConnection _redis; memoryCache.TryGetValue("redis", out _redis); if (_redis == null) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _redis = new redisConnection(RedisIp, RedisPort, RedisPass); _redis.connet(); memoryCache.Set("redis", _redis, cacheExpiryOptions); } if (!_redis.isConnet()) { if (!_redis.connet()) { logger.Info("Connect to redis false"); response.status = "-2"; response.message = "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 ------------------------------------- if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = newsWebDataAccess.sv_news_up_read(USERS, SV_ID, NEWS_ID); logger.Info("Call database sv_news_up_read success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = ds_regist.Tables[0].Rows[0]["status"].ToString(); response.message = ds_regist.Tables[0].Rows[0]["message"].ToString(); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } // {"users":"123","serviceId":"1","NEWS_ID":"100029"} [HttpPost] public IActionResult newsSendMt([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); responseObjUtil response = new responseObjUtil(); response.status = "-1"; response.message = "Err unknow"; try { logger.Info("New request income newsUpdateRead :" + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string USERS = Convert.ToString(obj["users"]); string SV_ID = Convert.ToString(obj["serviceId"]); string NEWS_ID = Convert.ToString(obj["NEWS_ID"]); //var obj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //Check token //var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(obj["token"]); string channel = Convert.ToString(obj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------Lay ra va luu mot redis tu cache----------------------------- redisConnection _redis; memoryCache.TryGetValue("redis", out _redis); if (_redis == null) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _redis = new redisConnection(RedisIp, RedisPort, RedisPass); _redis.connet(); memoryCache.Set("redis", _redis, cacheExpiryOptions); } if (!_redis.isConnet()) { if (!_redis.connet()) { logger.Info("Connect to redis false"); response.status = "-2"; response.message = "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 ------------------------------------- if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = newsWebDataAccess.sv_news_sendMT(USERS, SV_ID, NEWS_ID); logger.Info("Call database sv_news_up_read success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = ds_regist.Tables[0].Rows[0]["status"].ToString(); response.message = ds_regist.Tables[0].Rows[0]["message"].ToString(); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } //{"PARENT_ID":"-1","serviceId":"4","CODE":"1234","NAME_GLOBAL":"New1","NAME_LOCAL":"New1","DESCRIPTION_GLOBAL":"New1","DESCRIPTION_LOCAL":"New1","INTRODUCTION_GLOBAL":"New1","INTRODUCTION_LOCAL":"New1","ICON":"New1","LOGO":"New1","CONTENT":"123","CONTENT_TYPE":"1","PROVINCE_ID":"1","TOPIC_ID":"1","FROM_DATE":"01/07/2020","TO_DATE":"16/07/2020","IS_SHOW":"0","TYPE":"1","users":"346464534"} [HttpPost] public IActionResult newsInsert([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); newsObjResponse response = new newsObjResponse(); response.status = "-1"; response.message = "Err unknow"; try { logger.Info("New request income newsInsert :" + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string USERS = Convert.ToString(obj["users"]); string SV_ID = Convert.ToString(obj["serviceId"]); string PARENT_ID = Convert.ToString(obj["PARENT_ID"]); string CODE = Convert.ToString(obj["CODE"]); string NAME_GLOBAL = Convert.ToString(obj["NAME_GLOBAL"]); string NAME_LOCAL = Convert.ToString(obj["NAME_LOCAL"]); string DESCRIPTION_GLOBAL = Convert.ToString(obj["DESCRIPTION_GLOBAL"]); string DESCRIPTION_LOCAL = Convert.ToString(obj["DESCRIPTION_LOCAL"]); string INTRODUCTION_GLOBAL = Convert.ToString(obj["INTRODUCTION_GLOBAL"]); string INTRODUCTION_LOCAL = Convert.ToString(obj["INTRODUCTION_LOCAL"]); string ICON = Convert.ToString(obj["ICON"]); string LOGO = Convert.ToString(obj["LOGO"]); string CONTENT = Convert.ToString(obj["CONTENT"]); string CONTENT_TYPE = Convert.ToString(obj["CONTENT_TYPE"]); string PROVINCE_ID = Convert.ToString(obj["PROVINCE_ID"]); string TOPIC_ID = Convert.ToString(obj["TOPIC_ID"]); string FROM_DATE = Convert.ToString(obj["FROM_DATE"]); string TO_DATE = Convert.ToString(obj["TO_DATE"]); string IS_SHOW = Convert.ToString(obj["IS_SHOW"]); string TYPE = Convert.ToString(obj["TYPE"]); string NOTE = Convert.ToString(obj["NOTE"]); if (string.IsNullOrEmpty(PARENT_ID)) PARENT_ID = "-1"; if (string.IsNullOrEmpty(PROVINCE_ID)) PROVINCE_ID = "-1"; if (string.IsNullOrEmpty(TOPIC_ID)) TOPIC_ID = "-1"; if (string.IsNullOrEmpty(FROM_DATE)) FROM_DATE = "01/01/1900 00:00:00"; if (string.IsNullOrEmpty(TO_DATE)) TO_DATE = "01/01/1900 00:00:00"; if (string.IsNullOrEmpty(IS_SHOW)) IS_SHOW = "0"; if (string.IsNullOrEmpty(TYPE)) TYPE = "0"; if (string.IsNullOrEmpty(USERS)) USERS = "0"; if (string.IsNullOrEmpty(NOTE)) NOTE = "null"; string NAME_GLOBAL1 = Convert.ToString(obj["NAME_GLOBAL1"]); string NAME_GLOBAL2 = Convert.ToString(obj["NAME_GLOBAL2"]); string DESCRIPTION_GLOBAL1 = Convert.ToString(obj["DESCRIPTION_GLOBAL1"]); string DESCRIPTION_GLOBAL2 = Convert.ToString(obj["DESCRIPTION_GLOBAL2"]); string INTRODUCTION_GLOBAL1 = Convert.ToString(obj["INTRODUCTION_GLOBAL1"]); string INTRODUCTION_GLOBAL2 = Convert.ToString(obj["INTRODUCTION_GLOBAL2"]); string CONTENT_GLOBAL = Convert.ToString(obj["CONTENT_GLOBAL"]); string CONTENT_GLOBAL1 = Convert.ToString(obj["INTRODUCTION_GLOBAL2"]); string CONTENT_GLOBAL2 = Convert.ToString(obj["INTRODUCTION_GLOBAL2"]); //var obj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //Check token //var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(obj["token"]); string channel = Convert.ToString(obj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------Lay ra va luu mot redis tu cache----------------------------- redisConnection _redis; memoryCache.TryGetValue("redis", out _redis); if (_redis == null) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _redis = new redisConnection(RedisIp, RedisPort, RedisPass); _redis.connet(); memoryCache.Set("redis", _redis, cacheExpiryOptions); } if (!_redis.isConnet()) { if (!_redis.connet()) { logger.Info("Connect to redis false"); response.status = "-2"; response.message = "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 ------------------------------------- if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token logger.Info("SV_ID=" + SV_ID + " PARENT_ID=" + PARENT_ID + " CODE=" + CODE + " PROVINCE_ID=" + PROVINCE_ID + " TOPIC_ID=" + TOPIC_ID + " IS_SHOW=" + IS_SHOW + " TYPE=" + TYPE); DataSet ds_regist = newsWebDataAccess.sv_news_insert(SV_ID,PARENT_ID, CODE, NAME_GLOBAL, NAME_LOCAL,DESCRIPTION_GLOBAL,DESCRIPTION_LOCAL, INTRODUCTION_GLOBAL, INTRODUCTION_LOCAL, ICON, LOGO, CONTENT, CONTENT_TYPE, PROVINCE_ID, TOPIC_ID, FROM_DATE, TO_DATE, IS_SHOW, TYPE, USERS,NOTE, NAME_GLOBAL1, NAME_GLOBAL2, DESCRIPTION_GLOBAL1, DESCRIPTION_GLOBAL2, CONTENT_GLOBAL, CONTENT_GLOBAL1, CONTENT_GLOBAL2, INTRODUCTION_GLOBAL1, INTRODUCTION_GLOBAL2); logger.Info("Call database sv_news_insert success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = ds_regist.Tables[0].Rows[0]["status"].ToString(); response.message = ds_regist.Tables[0].Rows[0]["message"].ToString(); response.newsId = ds_regist.Tables[0].Rows[0]["newsId"].ToString(); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } // {"ID":"123","PARENT_ID":"-1","SV_ID":"1","CODE":"1234","NAME_GLOBAL":"New1","NAME_LOCAL":"New1","DESCRIPTION_GLOBAL":"New1","DESCRIPTION_LOCAL":"New1","INTRODUCTION_GLOBAL":"New1", //"INTRODUCTION_LOCAL":"New1","ICON":"New1","LOGO":"New1","CONTENT":"123","CONTENT_TYPE":"1","TYPE":"0"} [HttpPost] public IActionResult newsUpdate([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); newsObjResponse response = new newsObjResponse(); response.status = "-1"; response.message = "Err unknow"; try { logger.Info("New request income newsUpdate :" + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string SV_ID = Convert.ToString(obj["serviceId"]); string PARENT_ID = Convert.ToString(obj["PARENT_ID"]); string CODE = Convert.ToString(obj["CODE"]); string NAME_GLOBAL = Convert.ToString(obj["NAME_GLOBAL"]); string NAME_LOCAL = Convert.ToString(obj["NAME_LOCAL"]); string DESCRIPTION_GLOBAL = Convert.ToString(obj["DESCRIPTION_GLOBAL"]); string DESCRIPTION_LOCAL = Convert.ToString(obj["DESCRIPTION_LOCAL"]); string INTRODUCTION_GLOBAL = Convert.ToString(obj["INTRODUCTION_GLOBAL"]); string INTRODUCTION_LOCAL = Convert.ToString(obj["INTRODUCTION_LOCAL"]); string ICON = Convert.ToString(obj["ICON"]); string LOGO = Convert.ToString(obj["LOGO"]); string CONTENT = Convert.ToString(obj["CONTENT"]); string CONTENT_TYPE = Convert.ToString(obj["CONTENT_TYPE"]); string PROVINCE_ID = Convert.ToString(obj["PROVINCE_ID"]); string TOPIC_ID = Convert.ToString(obj["TOPIC_ID"]); string FROM_DATE = Convert.ToString(obj["FROM_DATE"]); string TO_DATE = Convert.ToString(obj["TO_DATE"]); string IS_SHOW = Convert.ToString(obj["IS_SHOW"]); string TYPE = Convert.ToString(obj["TYPE"]); //0=delete,1=update string ID = Convert.ToString(obj["ID"]); string NOTE = Convert.ToString(obj["NOTE"]); string NAME_GLOBAL1 = Convert.ToString(obj["NAME_GLOBAL1"]); string NAME_GLOBAL2 = Convert.ToString(obj["NAME_GLOBAL2"]); string DESCRIPTION_GLOBAL1 = Convert.ToString(obj["DESCRIPTION_GLOBAL1"]); string DESCRIPTION_GLOBAL2 = Convert.ToString(obj["DESCRIPTION_GLOBAL2"]); string INTRODUCTION_GLOBAL1 = Convert.ToString(obj["INTRODUCTION_GLOBAL1"]); string INTRODUCTION_GLOBAL2 = Convert.ToString(obj["INTRODUCTION_GLOBAL2"]); string CONTENT_GLOBAL = Convert.ToString(obj["CONTENT_GLOBAL"]); string CONTENT_GLOBAL1 = Convert.ToString(obj["INTRODUCTION_GLOBAL2"]); string CONTENT_GLOBAL2 = Convert.ToString(obj["INTRODUCTION_GLOBAL2"]); if (string.IsNullOrEmpty(PARENT_ID)) PARENT_ID = "-1"; if (string.IsNullOrEmpty(PROVINCE_ID)) PROVINCE_ID = "-1"; if (string.IsNullOrEmpty(TOPIC_ID)) TOPIC_ID = "-1"; if (string.IsNullOrEmpty(FROM_DATE)) FROM_DATE = "01/01/1900 00:00:00"; if (string.IsNullOrEmpty(TO_DATE)) TO_DATE = "01/01/1900 00:00:00"; if (string.IsNullOrEmpty(IS_SHOW)) IS_SHOW = "-1"; //var obj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //Check token //var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(obj["token"]); string channel = Convert.ToString(obj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------Lay ra va luu mot redis tu cache----------------------------- redisConnection _redis; memoryCache.TryGetValue("redis", out _redis); if (_redis == null) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _redis = new redisConnection(RedisIp, RedisPort, RedisPass); _redis.connet(); memoryCache.Set("redis", _redis, cacheExpiryOptions); } if (!_redis.isConnet()) { if (!_redis.connet()) { logger.Info("Connect to redis false"); response.status = "-2"; response.message = "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 ------------------------------------- if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = newsWebDataAccess.sv_news_update(SV_ID, PARENT_ID, CODE, NAME_GLOBAL, NAME_LOCAL, DESCRIPTION_GLOBAL, DESCRIPTION_LOCAL, INTRODUCTION_GLOBAL, INTRODUCTION_LOCAL, ICON, LOGO, CONTENT, CONTENT_TYPE, TYPE, ID, PROVINCE_ID, TOPIC_ID, FROM_DATE, TO_DATE, IS_SHOW, NOTE, NAME_GLOBAL1, NAME_GLOBAL2, DESCRIPTION_GLOBAL1, DESCRIPTION_GLOBAL2, CONTENT_GLOBAL, CONTENT_GLOBAL1,CONTENT_GLOBAL2, INTRODUCTION_GLOBAL1, INTRODUCTION_GLOBAL2 ); logger.Info("Call database sv_news_update success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = ds_regist.Tables[0].Rows[0]["status"].ToString(); response.message = ds_regist.Tables[0].Rows[0]["message"].ToString(); response.newsId = ds_regist.Tables[0].Rows[0]["newsId"].ToString(); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } // {"ID":"123","SV_ID":"1","USERS":"1234"} [HttpPost] public IActionResult newsGetById([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); svNewsList response = new svNewsList(); response.status = "-1"; response.message = "Err unknow"; try { logger.Info("New request income newsGetById :" + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string ID = Convert.ToString(obj["ID"]); string SV_ID = Convert.ToString(obj["serviceId"]); string USERS = Convert.ToString(obj["users"]); if (string.IsNullOrEmpty(ID)) ID = "-1"; string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //Check token //var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(obj["token"]); string channel = Convert.ToString(obj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------Lay ra va luu mot redis tu cache----------------------------- redisConnection _redis; memoryCache.TryGetValue("redis", out _redis); if (_redis == null) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _redis = new redisConnection(RedisIp, RedisPort, RedisPass); _redis.connet(); memoryCache.Set("redis", _redis, cacheExpiryOptions); } if (!_redis.isConnet()) { if (!_redis.connet()) { logger.Info("Connect to redis false"); response.status = "-2"; response.message = "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 ------------------------------------- if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = newsWebDataAccess.sv_news_getById(ID, SV_ID, USERS, language); logger.Info("Call database sv_news_getById success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = "0"; response.message = "Success"; response.listNews = new svNews[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { svNews _obj = new svNews(); _obj.ID = ds_regist.Tables[0].Rows[j]["ID"].ToString(); _obj.PARENT_ID = ds_regist.Tables[0].Rows[j]["PARENT_ID"].ToString(); _obj.SV_ID = ds_regist.Tables[0].Rows[j]["SV_ID"].ToString(); _obj.CODE = ds_regist.Tables[0].Rows[j]["CODE"].ToString(); _obj.NAME = ds_regist.Tables[0].Rows[j]["NAME"].ToString(); _obj.NAME_GLOBAL = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL"].ToString(); _obj.NAME_LOCAL = ds_regist.Tables[0].Rows[j]["NAME_LOCAL"].ToString(); _obj.DESCRIPTION = ds_regist.Tables[0].Rows[j]["DESCRIPTION"].ToString(); _obj.DESCRIPTION_GLOBAL = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL"].ToString(); _obj.DESCRIPTION_LOCAL = ds_regist.Tables[0].Rows[j]["DESCRIPTION_LOCAL"].ToString(); _obj.INTRODUCTION = ds_regist.Tables[0].Rows[j]["INTRODUCTION"].ToString(); _obj.INTRODUCTION_GLOBAL = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL"].ToString(); _obj.INTRODUCTION_LOCAL = ds_regist.Tables[0].Rows[j]["INTRODUCTION_LOCAL"].ToString(); _obj.ICON = ds_regist.Tables[0].Rows[j]["ICON"].ToString(); _obj.LOGO = ds_regist.Tables[0].Rows[j]["LOGO"].ToString(); _obj.CONTENT = ds_regist.Tables[0].Rows[j]["CONTENT"].ToString(); _obj.CONTENT_TYPE = ds_regist.Tables[0].Rows[j]["CONTENT_TYPE"].ToString(); _obj.CREATED_DATE = ds_regist.Tables[0].Rows[j]["CREATED_DATE"].ToString(); _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString(); _obj.LEVEL = ds_regist.Tables[0].Rows[j]["LEVELS"].ToString(); _obj.IS_READ = ds_regist.Tables[0].Rows[j]["IS_READ"].ToString(); _obj.PROVINCE_ID = ds_regist.Tables[0].Rows[j]["PROVINCE_ID"].ToString(); _obj.TOPIC_ID = ds_regist.Tables[0].Rows[j]["TOPIC_ID"].ToString(); _obj.FROM_DATE = ds_regist.Tables[0].Rows[j]["FROM_DATE"].ToString(); _obj.TO_DATE = ds_regist.Tables[0].Rows[j]["TO_DATE"].ToString(); _obj.IS_SHOW = ds_regist.Tables[0].Rows[j]["IS_SHOW"].ToString(); _obj.TYPE = ds_regist.Tables[0].Rows[j]["TYPE"].ToString(); _obj.STATUS = ds_regist.Tables[0].Rows[j]["STATUS"].ToString(); _obj.NOTE = ds_regist.Tables[0].Rows[j]["NOTE"].ToString(); _obj.NAME_GLOBAL1 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL1"].ToString(); _obj.NAME_GLOBAL2 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL2"].ToString(); _obj.DESCRIPTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL1"].ToString(); _obj.DESCRIPTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL2"].ToString(); _obj.INTRODUCTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL1"].ToString(); _obj.INTRODUCTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL2"].ToString(); _obj.CONTENT_GLOBAL = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL"].ToString(); _obj.CONTENT_GLOBAL1 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL1"].ToString(); _obj.CONTENT_GLOBAL2 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL2"].ToString(); response.listNews[j] = _obj; } } else { response.status = "1"; response.message = "No data"; } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } // {"ID":"1","serviceId":"1","users":"9540240715","rowsOnPage":"1","seqPage":"1","isGetContet":"1","isShow":"1","type":"1"} //isShow=-1 la all,0= khong show, 1= co show //type -1: all,0: cua user,1= cua admin [HttpPost] public IActionResult newsGetByParentId([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); svNewsList response = new svNewsList(); response.status = "-1"; response.message = "Err unknow"; logger.Info("haha:"); try { logger.Info("bat dau:"); logger.Info("New request income newsGetByParentId :" + sendData.ToString()); logger.Info("ketthuc:"); var obj = JObject.Parse(sendData.ToString()); string ID = Convert.ToString(obj["ID"]); string SV_ID = Convert.ToString(obj["serviceId"]); string USERS = Convert.ToString(obj["users"]); string rowsOnPage = Convert.ToString(obj["rowsOnPage"]); string seqPage = Convert.ToString(obj["seqPage"]); string isGetContet = Convert.ToString(obj["isGetContet"]); string isShow = Convert.ToString(obj["isShow"]); string type = Convert.ToString(obj["type"]); string channel = Convert.ToString(obj["channel"]); string code = Convert.ToString(obj["code"]); string isGetChildById = Convert.ToString(obj["isGetChildById"]); if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "100000000"; if (string.IsNullOrEmpty(seqPage)) seqPage = "1"; if (string.IsNullOrEmpty(isGetContet)) isGetContet = "-1"; if (string.IsNullOrEmpty(isShow)) isShow = "-1"; if (string.IsNullOrEmpty(type)) type = "-1"; if (string.IsNullOrEmpty(code)) code = "-1"; if (string.IsNullOrEmpty(ID)) ID = "-1000"; if (string.IsNullOrEmpty(channel)) channel = "APP"; string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; if (string.IsNullOrEmpty(isGetChildById)) isGetChildById = "0"; logger.Info("ID="+ID+" SV_ID="+SV_ID+" USERS="+USERS+" rowsOnPage="+rowsOnPage+" seqPage="+seqPage+" isGetContet="+isGetContet+" isShow="+isShow+" type="+type); //Check token //var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(obj["token"]); //string channel = Convert.ToString(obj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------Lay ra va luu mot redis tu cache----------------------------- redisConnection _redis; memoryCache.TryGetValue("redis", out _redis); if (_redis == null) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _redis = new redisConnection(RedisIp, RedisPort, RedisPass); _redis.connet(); memoryCache.Set("redis", _redis, cacheExpiryOptions); } if (!_redis.isConnet()) { if (!_redis.connet()) { logger.Info("Connect to redis false"); response.status = "-2"; response.message = "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 ------------------------------------- if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = newsWebDataAccess.sv_news_getByParentId(ID, SV_ID, USERS, rowsOnPage, seqPage, isGetContet,isShow,type, channel,language,code, isGetChildById); logger.Info("Call database sv_news_getByParentId success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = "0"; response.message = "Success"; response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString(); response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString(); response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString(); response.totalSub = ds_regist.Tables[0].Rows[0]["TOTAL_SUB"].ToString(); response.totalNotRead = ds_regist.Tables[0].Rows[0]["TOTAL_NOT_READ"].ToString(); response.listNews = new svNews[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { svNews _obj = new svNews(); _obj.ID = ds_regist.Tables[0].Rows[j]["ID"].ToString(); _obj.PARENT_ID = ds_regist.Tables[0].Rows[j]["PARENT_ID"].ToString(); _obj.SV_ID = ds_regist.Tables[0].Rows[j]["SV_ID"].ToString(); _obj.CODE = ds_regist.Tables[0].Rows[j]["CODE"].ToString(); _obj.NAME = ds_regist.Tables[0].Rows[j]["NAME"].ToString(); _obj.NAME_GLOBAL = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL"].ToString(); _obj.NAME_LOCAL = ds_regist.Tables[0].Rows[j]["NAME_LOCAL"].ToString(); _obj.DESCRIPTION = ds_regist.Tables[0].Rows[j]["DESCRIPTION"].ToString(); _obj.DESCRIPTION_GLOBAL = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL"].ToString(); _obj.DESCRIPTION_LOCAL = ds_regist.Tables[0].Rows[j]["DESCRIPTION_LOCAL"].ToString(); _obj.INTRODUCTION = ds_regist.Tables[0].Rows[j]["INTRODUCTION"].ToString(); _obj.INTRODUCTION_GLOBAL = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL"].ToString(); _obj.INTRODUCTION_LOCAL = ds_regist.Tables[0].Rows[j]["INTRODUCTION_LOCAL"].ToString(); _obj.ICON = ds_regist.Tables[0].Rows[j]["ICON"].ToString(); _obj.LOGO = ds_regist.Tables[0].Rows[j]["LOGO"].ToString(); _obj.CONTENT = ds_regist.Tables[0].Rows[j]["CONTENT"].ToString(); _obj.CONTENT_TYPE = ds_regist.Tables[0].Rows[j]["CONTENT_TYPE"].ToString(); _obj.CREATED_DATE = ds_regist.Tables[0].Rows[j]["CREATED_DATE"].ToString(); _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString(); _obj.LEVEL = ds_regist.Tables[0].Rows[j]["LEVELS"].ToString(); _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString(); _obj.IS_READ = ds_regist.Tables[0].Rows[j]["IS_READ"].ToString(); _obj.PROVINCE_ID = ds_regist.Tables[0].Rows[j]["PROVINCE_ID"].ToString(); _obj.TOPIC_ID = ds_regist.Tables[0].Rows[j]["TOPIC_ID"].ToString(); _obj.FROM_DATE = ds_regist.Tables[0].Rows[j]["FROM_DATE"].ToString(); _obj.TO_DATE = ds_regist.Tables[0].Rows[j]["TO_DATE"].ToString(); _obj.IS_SHOW = ds_regist.Tables[0].Rows[j]["IS_SHOW"].ToString(); _obj.TYPE = ds_regist.Tables[0].Rows[j]["TYPE"].ToString(); _obj.STATUS = ds_regist.Tables[0].Rows[j]["STATUS"].ToString(); _obj.NOTE = ds_regist.Tables[0].Rows[j]["NOTE"].ToString(); _obj.NAME_GLOBAL1 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL1"].ToString(); _obj.NAME_GLOBAL2 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL2"].ToString(); _obj.DESCRIPTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL1"].ToString(); _obj.DESCRIPTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL2"].ToString(); _obj.INTRODUCTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL1"].ToString(); _obj.INTRODUCTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL2"].ToString(); _obj.CONTENT_GLOBAL = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL"].ToString(); _obj.CONTENT_GLOBAL1 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL1"].ToString(); _obj.CONTENT_GLOBAL2 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL2"].ToString(); response.listNews[j] = _obj; } } else { response.status = "1"; response.message = "No data"; } } catch (Exception ex) { logger.Info("Err: loi roi" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } // {"serviceId":"4","users":"9540240715","rowsOnPage":"1","seqPage":"1","isGetContet":"1","isShow":"1"} //isShow=-1 la all,0= khong show, 1= co show //type -1: all,0: cua user,1= cua admin [HttpPost] public IActionResult newsGetByUsers([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); svNewsList response = new svNewsList(); response.status = "-1"; response.message = "Err unknow"; try { logger.Info("New request income newsGetByUsers :" + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string SV_ID = Convert.ToString(obj["serviceId"]); string USERS = Convert.ToString(obj["users"]); string rowsOnPage = Convert.ToString(obj["rowsOnPage"]); string seqPage = Convert.ToString(obj["seqPage"]); string isGetContet = Convert.ToString(obj["isGetContet"]); string isShow = Convert.ToString(obj["isShow"]); string type = Convert.ToString(obj["type"]); if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "100000000"; if (string.IsNullOrEmpty(seqPage)) seqPage = "1"; if (string.IsNullOrEmpty(isGetContet)) isGetContet = "-1"; if (string.IsNullOrEmpty(isShow)) isShow = "-1"; string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; logger.Info( " SV_ID=" + SV_ID + " USERS=" + USERS + " rowsOnPage=" + rowsOnPage + " seqPage=" + seqPage + " isGetContet=" + isGetContet + " isShow=" + isShow ); //Check token //var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(obj["token"]); string channel = Convert.ToString(obj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------Lay ra va luu mot redis tu cache----------------------------- redisConnection _redis; memoryCache.TryGetValue("redis", out _redis); if (_redis == null) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _redis = new redisConnection(RedisIp, RedisPort, RedisPass); _redis.connet(); memoryCache.Set("redis", _redis, cacheExpiryOptions); } if (!_redis.isConnet()) { if (!_redis.connet()) { logger.Info("Connect to redis false"); response.status = "-2"; response.message = "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 ------------------------------------- if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = newsWebDataAccess.sv_news_getByUsers( SV_ID, USERS, rowsOnPage, seqPage, isGetContet, isShow,language); logger.Info("Call database sv_news_getByUsers success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = "0"; response.message = "Success"; response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString(); response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString(); response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString(); response.totalSub = ds_regist.Tables[0].Rows[0]["TOTAL_SUB"].ToString(); response.listNews = new svNews[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { svNews _obj = new svNews(); _obj.ID = ds_regist.Tables[0].Rows[j]["ID"].ToString(); _obj.PARENT_ID = ds_regist.Tables[0].Rows[j]["PARENT_ID"].ToString(); _obj.SV_ID = ds_regist.Tables[0].Rows[j]["SV_ID"].ToString(); _obj.CODE = ds_regist.Tables[0].Rows[j]["CODE"].ToString(); _obj.NAME = ds_regist.Tables[0].Rows[j]["NAME"].ToString(); _obj.NAME_GLOBAL = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL"].ToString(); _obj.NAME_LOCAL = ds_regist.Tables[0].Rows[j]["NAME_LOCAL"].ToString(); _obj.DESCRIPTION = ds_regist.Tables[0].Rows[j]["DESCRIPTION"].ToString(); _obj.DESCRIPTION_GLOBAL = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL"].ToString(); _obj.DESCRIPTION_LOCAL = ds_regist.Tables[0].Rows[j]["DESCRIPTION_LOCAL"].ToString(); _obj.INTRODUCTION = ds_regist.Tables[0].Rows[j]["INTRODUCTION"].ToString(); _obj.INTRODUCTION_GLOBAL = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL"].ToString(); _obj.INTRODUCTION_LOCAL = ds_regist.Tables[0].Rows[j]["INTRODUCTION_LOCAL"].ToString(); _obj.ICON = ds_regist.Tables[0].Rows[j]["ICON"].ToString(); _obj.LOGO = ds_regist.Tables[0].Rows[j]["LOGO"].ToString(); _obj.CONTENT = ds_regist.Tables[0].Rows[j]["CONTENT"].ToString(); _obj.CONTENT_TYPE = ds_regist.Tables[0].Rows[j]["CONTENT_TYPE"].ToString(); _obj.CREATED_DATE = ds_regist.Tables[0].Rows[j]["CREATED_DATE"].ToString(); _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString(); _obj.LEVEL = ds_regist.Tables[0].Rows[j]["LEVELS"].ToString(); _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString(); _obj.IS_READ = ds_regist.Tables[0].Rows[j]["IS_READ"].ToString(); _obj.PROVINCE_ID = ds_regist.Tables[0].Rows[j]["PROVINCE_ID"].ToString(); _obj.TOPIC_ID = ds_regist.Tables[0].Rows[j]["TOPIC_ID"].ToString(); _obj.FROM_DATE = ds_regist.Tables[0].Rows[j]["FROM_DATE"].ToString(); _obj.TO_DATE = ds_regist.Tables[0].Rows[j]["TO_DATE"].ToString(); _obj.IS_SHOW = ds_regist.Tables[0].Rows[j]["IS_SHOW"].ToString(); _obj.TYPE = ds_regist.Tables[0].Rows[j]["TYPE"].ToString(); _obj.STATUS = ds_regist.Tables[0].Rows[j]["STATUS"].ToString(); _obj.NOTE = ds_regist.Tables[0].Rows[j]["NOTE"].ToString(); obj.NAME_GLOBAL1 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL1"].ToString(); _obj.NAME_GLOBAL2 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL2"].ToString(); _obj.DESCRIPTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL1"].ToString(); _obj.DESCRIPTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL2"].ToString(); _obj.INTRODUCTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL1"].ToString(); _obj.INTRODUCTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL2"].ToString(); _obj.CONTENT_GLOBAL = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL"].ToString(); _obj.CONTENT_GLOBAL1 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL1"].ToString(); _obj.CONTENT_GLOBAL2 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL2"].ToString(); response.listNews[j] = _obj; } } else { response.status = "1"; response.message = "No data"; } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } // {"serviceId":"1","users":"9540240715","proviceId":"1","topicId":"1","fromDate":"01/07/2020","toDate":"30/07/2020","rowsOnPage":"1","seqPage":"1",isGetContet":"1"} [HttpPost] public IActionResult newsSearchProTopDate([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); svNewsList response = new svNewsList(); response.status = "-1"; response.message = "Err unknow"; try { logger.Info("New request income newsSearchProTopDate :" + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string SV_ID = Convert.ToString(obj["serviceId"]); string USERS = Convert.ToString(obj["users"]); string proviceId = Convert.ToString(obj["proviceId"]); string topicId = Convert.ToString(obj["topicId"]); string fromDate = Convert.ToString(obj["fromDate"]); string toDate = Convert.ToString(obj["toDate"]); string name = Convert.ToString(obj["name"]); string rowsOnPage = Convert.ToString(obj["rowsOnPage"]); string seqPage = Convert.ToString(obj["seqPage"]); string isGetContet = Convert.ToString(obj["isGetContet"]); if (string.IsNullOrEmpty(proviceId)) proviceId = "-1"; if (string.IsNullOrEmpty(topicId)) topicId = "-1"; if (string.IsNullOrEmpty(fromDate)) fromDate = "01/01/1990"; if (string.IsNullOrEmpty(toDate)) toDate = "01/01/5050"; if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "100000000"; if (string.IsNullOrEmpty(seqPage)) seqPage = "1"; if (string.IsNullOrEmpty(seqPage)) seqPage = "1"; if (string.IsNullOrEmpty(isGetContet)) isGetContet = "-1"; if (string.IsNullOrEmpty(name)) name = "-1"; string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //Check token //var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(obj["token"]); string channel = Convert.ToString(obj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------Lay ra va luu mot redis tu cache----------------------------- redisConnection _redis; memoryCache.TryGetValue("redis", out _redis); if (_redis == null) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _redis = new redisConnection(RedisIp, RedisPort, RedisPass); _redis.connet(); memoryCache.Set("redis", _redis, cacheExpiryOptions); } if (!_redis.isConnet()) { if (!_redis.connet()) { logger.Info("Connect to redis false"); response.status = "-2"; response.message = "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 ------------------------------------- if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = newsWebDataAccess.newsSearchProTopDate(SV_ID, USERS, proviceId, topicId, fromDate, toDate, rowsOnPage, seqPage, isGetContet,name,language); logger.Info("Call database newsSearchProTopDate success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = "0"; response.message = "Success"; response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString(); response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString(); response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString(); response.listNews = new svNews[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { svNews _obj = new svNews(); _obj.ID = ds_regist.Tables[0].Rows[j]["ID"].ToString(); _obj.PARENT_ID = ds_regist.Tables[0].Rows[j]["PARENT_ID"].ToString(); _obj.SV_ID = ds_regist.Tables[0].Rows[j]["SV_ID"].ToString(); _obj.CODE = ds_regist.Tables[0].Rows[j]["CODE"].ToString(); _obj.NAME = ds_regist.Tables[0].Rows[j]["NAME"].ToString(); _obj.DESCRIPTION = ds_regist.Tables[0].Rows[j]["DESCRIPTION"].ToString(); _obj.INTRODUCTION = ds_regist.Tables[0].Rows[j]["INTRODUCTION"].ToString(); _obj.ICON = ds_regist.Tables[0].Rows[j]["ICON"].ToString(); _obj.LOGO = ds_regist.Tables[0].Rows[j]["LOGO"].ToString(); _obj.CONTENT = ds_regist.Tables[0].Rows[j]["CONTENT"].ToString(); _obj.CONTENT_TYPE = ds_regist.Tables[0].Rows[j]["CONTENT_TYPE"].ToString(); _obj.CREATED_DATE = ds_regist.Tables[0].Rows[j]["CREATED_DATE"].ToString(); _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString(); _obj.LEVEL = ds_regist.Tables[0].Rows[j]["LEVELS"].ToString(); _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString(); _obj.IS_READ = ds_regist.Tables[0].Rows[j]["IS_READ"].ToString(); _obj.PROVINCE_ID = ds_regist.Tables[0].Rows[j]["PROVINCE_ID"].ToString(); _obj.TOPIC_ID = ds_regist.Tables[0].Rows[j]["TOPIC_ID"].ToString(); _obj.FROM_DATE = ds_regist.Tables[0].Rows[j]["FROM_DATE"].ToString(); _obj.TO_DATE = ds_regist.Tables[0].Rows[j]["TO_DATE"].ToString(); _obj.IS_SHOW = ds_regist.Tables[0].Rows[j]["IS_SHOW"].ToString(); _obj.TYPE = ds_regist.Tables[0].Rows[j]["TYPE"].ToString(); _obj.STATUS = ds_regist.Tables[0].Rows[j]["STATUS"].ToString(); _obj.NOTE = ds_regist.Tables[0].Rows[j]["NOTE"].ToString(); obj.NAME_GLOBAL1 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL1"].ToString(); _obj.NAME_GLOBAL2 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL2"].ToString(); _obj.DESCRIPTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL1"].ToString(); _obj.DESCRIPTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL2"].ToString(); _obj.INTRODUCTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL1"].ToString(); _obj.INTRODUCTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL2"].ToString(); _obj.CONTENT_GLOBAL = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL"].ToString(); _obj.CONTENT_GLOBAL1 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL1"].ToString(); _obj.CONTENT_GLOBAL2 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL2"].ToString(); response.listNews[j] = _obj; } } else { response.status = "1"; response.message = "No data"; } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } // {"serviceId":"1","users":"9540240715","top":"10",isGetContet":"1"} [HttpPost] public IActionResult newsGetTop([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); svNewsList response = new svNewsList(); response.status = "-1"; response.message = "Err unknow"; try { logger.Info("New request income newsGetTop :" + sendData.ToString()); var obj = JObject.Parse(sendData.ToString()); string SV_ID = Convert.ToString(obj["serviceId"]); string USERS = Convert.ToString(obj["users"]); string top = Convert.ToString(obj["top"]); string level = Convert.ToString(obj["level"]); string isGetContet = Convert.ToString(obj["isGetContet"]); if (string.IsNullOrEmpty(top)) top = "100"; if (string.IsNullOrEmpty(isGetContet)) isGetContet = "-1"; if (string.IsNullOrEmpty(level)) level = "-1"; string language = Convert.ToString(obj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //Check token //var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(obj["token"]); string channel = Convert.ToString(obj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------Lay ra va luu mot redis tu cache----------------------------- redisConnection _redis; memoryCache.TryGetValue("redis", out _redis); if (_redis == null) { var cacheExpiryOptions = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now.AddMonths(12), Priority = CacheItemPriority.High, SlidingExpiration = TimeSpan.FromMinutes(2), Size = 1024, }; _redis = new redisConnection(RedisIp, RedisPort, RedisPass); _redis.connet(); memoryCache.Set("redis", _redis, cacheExpiryOptions); } if (!_redis.isConnet()) { if (!_redis.connet()) { logger.Info("Connect to redis false"); response.status = "-2"; response.message = "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 ------------------------------------- if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = newsWebDataAccess.newsGetTop(SV_ID, USERS, top, isGetContet, level,language); logger.Info("Call database newsGetTop success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = "0"; response.message = "Success"; response.rowsOnPage = "-1"; response.seqPage = "-1"; response.totalPage = "-1"; response.listNews = new svNews[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { svNews _obj = new svNews(); _obj.ID = ds_regist.Tables[0].Rows[j]["ID"].ToString(); _obj.PARENT_ID = ds_regist.Tables[0].Rows[j]["PARENT_ID"].ToString(); _obj.SV_ID = ds_regist.Tables[0].Rows[j]["SV_ID"].ToString(); _obj.CODE = ds_regist.Tables[0].Rows[j]["CODE"].ToString(); _obj.NAME = ds_regist.Tables[0].Rows[j]["NAME"].ToString(); _obj.DESCRIPTION = ds_regist.Tables[0].Rows[j]["DESCRIPTION"].ToString(); _obj.INTRODUCTION = ds_regist.Tables[0].Rows[j]["INTRODUCTION"].ToString(); _obj.ICON = ds_regist.Tables[0].Rows[j]["ICON"].ToString(); _obj.LOGO = ds_regist.Tables[0].Rows[j]["LOGO"].ToString(); _obj.CONTENT = ds_regist.Tables[0].Rows[j]["CONTENT"].ToString(); _obj.CONTENT_TYPE = ds_regist.Tables[0].Rows[j]["CONTENT_TYPE"].ToString(); _obj.CREATED_DATE = ds_regist.Tables[0].Rows[j]["CREATED_DATE"].ToString(); _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString(); _obj.LEVEL = ds_regist.Tables[0].Rows[j]["LEVELS"].ToString(); _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString(); _obj.IS_READ = ds_regist.Tables[0].Rows[j]["IS_READ"].ToString(); _obj.PROVINCE_ID = ds_regist.Tables[0].Rows[j]["PROVINCE_ID"].ToString(); _obj.TOPIC_ID = ds_regist.Tables[0].Rows[j]["TOPIC_ID"].ToString(); _obj.FROM_DATE = ds_regist.Tables[0].Rows[j]["FROM_DATE"].ToString(); _obj.TO_DATE = ds_regist.Tables[0].Rows[j]["TO_DATE"].ToString(); _obj.IS_SHOW = ds_regist.Tables[0].Rows[j]["IS_SHOW"].ToString(); _obj.TYPE = ds_regist.Tables[0].Rows[j]["TYPE"].ToString(); _obj.STATUS = ds_regist.Tables[0].Rows[j]["STATUS"].ToString(); _obj.NOTE = ds_regist.Tables[0].Rows[j]["NOTE"].ToString(); obj.NAME_GLOBAL1 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL1"].ToString(); _obj.NAME_GLOBAL2 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL2"].ToString(); _obj.DESCRIPTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL1"].ToString(); _obj.DESCRIPTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL2"].ToString(); _obj.INTRODUCTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL1"].ToString(); _obj.INTRODUCTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL2"].ToString(); _obj.CONTENT_GLOBAL = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL"].ToString(); _obj.CONTENT_GLOBAL1 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL1"].ToString(); _obj.CONTENT_GLOBAL2 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL2"].ToString(); response.listNews[j] = _obj; } } else { response.status = "1"; response.message = "No data"; } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } //{"users":"50940240716","serviceId":"30","newsId":"1","codeBuy":"1","requestId":"-1","otp":"-1"} public IActionResult newsBuy([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); mpsResponseEx response = new mpsResponseEx(); response.status = "-1"; response.message = "Err unknow"; logger.Info("New request income newsBuy :" + sendData.ToString()); string mps_ip = "127.0.0.1"; string mps_port = "0000"; try { var userObj = JObject.Parse(sendData.ToString()); string users = Convert.ToString(userObj["users"]); string serviceid = Convert.ToString(userObj["serviceId"]); string newsId = Convert.ToString(userObj["newsId"]); string codeBuy = Convert.ToString(userObj["codeBuy"]); string requestId = Convert.ToString(userObj["requestId"]); string otp = Convert.ToString(userObj["otp"]); if (string.IsNullOrEmpty(newsId)) newsId = "-1"; if (string.IsNullOrEmpty(requestId)) requestId = "-1"; if (string.IsNullOrEmpty(otp)) otp = "-1"; //var obj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; //Check token //var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------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.status = "-2"; response.message = "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 ------------------------------------- if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_mps_info = DataAccess.MPS_GET_BY_ID(serviceid); mps_ip = ds_mps_info.Tables[0].Rows[0]["MPS_IP"].ToString(); mps_port = ds_mps_info.Tables[0].Rows[0]["MPS_PORT"].ToString(); logger.Info("Start call charg money"); string data = "requestId=" + requestId + "&msisdn=" + users + "&otp=" + otp + "&serviceid=" + serviceid + "&subServiceCode=" + codeBuy; logger.Info("Request call charge: " + data); string response111 = Common.SocketUnSyn(data, mps_ip, Convert.ToInt32(mps_port), 12000); logger.Info("Result call charge: " + response111); mpsResponse resCallMps = JsonConvert.DeserializeObject(response111); if (resCallMps.responseCode == "0") { logger.Info("charge money success :"); DataSet ds_regist = newsWebDataAccess.newsBuy(users, serviceid, newsId, codeBuy); logger.Info("Call database newsBuy success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = ds_regist.Tables[0].Rows[0]["status"].ToString(); response.message = ds_regist.Tables[0].Rows[0]["message"].ToString(); response.requestId = resCallMps.requestID; return Ok(response); } } else if (resCallMps.responseCode == "100") { response.status = "100"; response.message = "Send OTP success to user, pls send this function with OTP & requestID agian for finsh"; response.requestId = resCallMps.requestID; return Ok(response); } else if (resCallMps.responseCode == "401") { response.status = "-12"; response.message = "Not enough money "; return Ok(response); } else if (resCallMps.responseCode == "415") { response.status = "-13"; response.message = "Invalid OTP code"; return Ok(response); } else if (resCallMps.responseCode == "416") { response.status = "-14"; response.message = "Incorrect OTP code/ OTP code expired"; return Ok(response); } else if (resCallMps.responseCode == "417") { response.status = "-15"; response.message = "Confirm OTP via USSD time out"; return Ok(response); } else { response.status = "-10"; response.message = "System err"; return Ok(response); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } return Ok(response); } // {"title":"xxxx","serviceId":"30","content":"cong hoa xa hoi chu nghia","description":"vi du 1","urlPicture":"http://123.jpg"} [HttpPost] public IActionResult Insert([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); newsObjResponse response = new newsObjResponse(); response.status = "-1"; response.message = "Err unknow"; try { newsWebObjRequest data = JsonConvert.DeserializeObject(sendData.ToString()); logger.Info("New request income news_insert :" + data.ToString()); //Check token var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); //var obj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------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.status = "-2"; response.message = "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 ------------------------------------- if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = newsWebDataAccess.web_news_insert(data.title, data.serviceid, data.content, data.description,data.urlPicture); logger.Info("Call database news_insert success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = ds_regist.Tables[0].Rows[0]["status"].ToString(); response.message = ds_regist.Tables[0].Rows[0]["message"].ToString(); response.newsId = ds_regist.Tables[0].Rows[0]["newsId"].ToString(); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } // {"id":"2","title":"xxxx","serviceId":"30","content":"cong hoa xa hoi chu nghia","description":"01/12/2020 01:01:10","urlPicture":"http://quangbh.jpg","type":"1"} //--0=delete,1=update [HttpPost] public IActionResult Update([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); responseObjUtil response = new responseObjUtil(); response.status = "-1"; response.message = "Err unknow"; try { newsWebObjUpdateRequest data = JsonConvert.DeserializeObject(sendData.ToString()); logger.Info("New request income Update :" + data.ToString()); //Check token var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); //var obj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------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.status = "-2"; response.message = "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 ------------------------------------- if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = newsWebDataAccess.web_news_update(data.id, data.title, data.serviceid, data.content, data.description,data.urlPicture,data.type); logger.Info("Call database Update success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = ds_regist.Tables[0].Rows[0]["status"].ToString(); response.message = ds_regist.Tables[0].Rows[0]["message"].ToString(); } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } [HttpPost] //{"id":"10","serviceId":"30","status":"-1","date":"13/02/2020" } public IActionResult GetList([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); newsWebObjGetResponse response = new newsWebObjGetResponse(); response.status = "-1"; response.message = "Err unknow"; string vTop = "-1"; try { newsObjGetRequest data = JsonConvert.DeserializeObject(sendData.ToString()); logger.Info("New request income Get :" + data.ToString()); if (!string.IsNullOrEmpty(data.top)) vTop = data.top; //Check token var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); //var obj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------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.status = "-2"; response.message = "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 ------------------------------------- if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = newsWebDataAccess.web_news_get(data.serviceid, data.status, data.date, data.id, vTop, data.isGetContent); logger.Info("Call database Get success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = "0"; response.message = "Success"; response.listNewsWeb = new newsWebObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { newsWebObj obj = new newsWebObj(); obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString(); obj.serviceid = ds_regist.Tables[0].Rows[j]["serviceid"].ToString(); obj.status = ds_regist.Tables[0].Rows[j]["newsStatus"].ToString(); obj.title = ds_regist.Tables[0].Rows[j]["title"].ToString(); obj.content = ds_regist.Tables[0].Rows[j]["content"].ToString(); obj.description = ds_regist.Tables[0].Rows[j]["description"].ToString(); obj.urlPicture = ds_regist.Tables[0].Rows[j]["urlPicture"].ToString(); obj.sysdate = ds_regist.Tables[0].Rows[j]["vsysdate"].ToString(); response.listNewsWeb[j] = obj; } } else { response.status = "1"; response.message = "No data"; } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } [HttpPost] //{"fromDate":"01/02/2020","toDate":"20/02/2020"} public IActionResult GetLotteryList([FromBody] dynamic sendData) { //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log4net.Config.XmlConfigurator.Configure(); newsWebLotteryResponse response = new newsWebLotteryResponse(); response.status = "-1"; response.message = "Err unknow"; try { newsWebLotteryRequest data = JsonConvert.DeserializeObject(sendData.ToString()); logger.Info("New request income GetLotteryList :" + data.ToString()); //Check token var userObj = JObject.Parse(sendData.ToString()); string token = Convert.ToString(userObj["token"]); string channel = Convert.ToString(userObj["channel"]); //var obj = JObject.Parse(sendData.ToString()); string language = Convert.ToString(userObj["language"]); if (string.IsNullOrEmpty(language)) language = "0"; string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp"); string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort"); string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString(); //---------------------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.status = "-2"; response.message = "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 ------------------------------------- if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger)) { logger.Info("Authen token false"); response.status = "35"; response.message = "Check Authen false"; return Ok(response); } //Ket thuc check token DataSet ds_regist = newsWebDataAccess.web_lettery_get(data.fromDate,data.toDate); logger.Info("Call database GetLotteryList success:"); if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0) { response.status = "0"; response.message = "Success"; response.listLottery = new newsWebLotteryObj[ds_regist.Tables[0].Rows.Count]; for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++) { newsWebLotteryObj obj = new newsWebLotteryObj(); obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString(); obj.sysdate = ds_regist.Tables[0].Rows[j]["VSYSDATE"].ToString(); obj.numberMorning = ds_regist.Tables[0].Rows[j]["NUMBER_MORNING"].ToString(); obj.numberEvening = ds_regist.Tables[0].Rows[j]["NUMBER_EVENING"].ToString(); obj.win4Morning = ds_regist.Tables[0].Rows[j]["WIN4_MORNING"].ToString(); obj.win4Evening = ds_regist.Tables[0].Rows[j]["WIN4_EVENING"].ToString(); response.listLottery[j] = obj; } } else { response.status = "1"; response.message = "No data"; } } catch (Exception ex) { logger.Info("Err:" + ex.ToString()); } logger.Info("Responase to web: " + response.ToString()); return Ok(response); } } }