newsWeb.cs 101 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Net;
  5. using System.Net.Http;
  6. using ResfullApi.Models;
  7. using Newtonsoft.Json;
  8. using System.Data;
  9. using Newtonsoft.Json.Linq;
  10. using System.Data;
  11. using System.Configuration;
  12. using Microsoft.AspNetCore.Mvc;
  13. using CommonObj.common;
  14. using Microsoft.Extensions.Caching.Memory;
  15. using CommonObj.model;
  16. namespace ApiProcess.Controllers
  17. {
  18. [ApiController]
  19. [Route("api/[controller]/[action]/data")]
  20. public class newsWeb : ControllerBase
  21. {
  22. static readonly log4net.ILog logger = log4net.LogManager.GetLogger(typeof(newsWeb));
  23. private IMemoryCache memoryCache;
  24. public newsWeb(IMemoryCache memoryCache)
  25. {
  26. this.memoryCache = memoryCache;
  27. }
  28. // {"USERS":"123","SV_ID":"1","USERS":"NEWS_ID"}
  29. [HttpPost]
  30. public IActionResult newsUpdateRead([FromBody] dynamic sendData)
  31. {
  32. ////log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  33. ////log4net.Config.XmlConfigurator.Configure();
  34. responseObjUtil response = new responseObjUtil();
  35. response.status = "-1";
  36. response.message = "Err unknow";
  37. try
  38. {
  39. logger.Info("New request income newsUpdateRead :" + sendData.ToString());
  40. var obj = JObject.Parse(sendData.ToString());
  41. string USERS = Convert.ToString(obj["users"]);
  42. string SV_ID = Convert.ToString(obj["serviceId"]);
  43. string NEWS_ID = Convert.ToString(obj["NEWS_ID"]);
  44. //var userObj = JObject.Parse(sendData.ToString());
  45. string language = Convert.ToString(obj["language"]);
  46. if (string.IsNullOrEmpty(language)) language = "0";
  47. //Check token
  48. //var userObj = JObject.Parse(sendData.ToString());
  49. string token = Convert.ToString(obj["token"]);
  50. string channel = Convert.ToString(obj["channel"]);
  51. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  52. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  53. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  54. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  55. redisConnection _redis;
  56. memoryCache.TryGetValue("redis", out _redis);
  57. if (_redis == null)
  58. {
  59. var cacheExpiryOptions = new MemoryCacheEntryOptions
  60. {
  61. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  62. Priority = CacheItemPriority.High,
  63. SlidingExpiration = TimeSpan.FromMinutes(2),
  64. Size = 1024,
  65. };
  66. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  67. _redis.connet();
  68. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  69. }
  70. if (!_redis.isConnet())
  71. {
  72. if (!_redis.connet())
  73. {
  74. logger.Info("Connect to redis false");
  75. response.status = "-2";
  76. response.message = "System Update";
  77. logger.Info("confirmTicket response : " + response.ToString());
  78. return Ok(response);
  79. }
  80. else
  81. {
  82. var cacheExpiryOptions = new MemoryCacheEntryOptions
  83. {
  84. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  85. Priority = CacheItemPriority.High,
  86. SlidingExpiration = TimeSpan.FromMinutes(2),
  87. Size = 1024,
  88. };
  89. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  90. }
  91. }
  92. //----------------------Ket thuc lay redis tu cache -------------------------------------
  93. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  94. {
  95. logger.Info("Authen token false");
  96. response.status = "35";
  97. response.message = "Check Authen false";
  98. return Ok(response);
  99. }
  100. //Ket thuc check token
  101. DataSet ds_regist = newsWebDataAccess.sv_news_up_read(USERS, SV_ID, NEWS_ID);
  102. logger.Info("Call database sv_news_up_read success:");
  103. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  104. {
  105. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  106. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  107. }
  108. }
  109. catch (Exception ex)
  110. {
  111. logger.Info("Err:" + ex.ToString());
  112. }
  113. logger.Info("Responase to web: " + response.ToString());
  114. return Ok(response);
  115. }
  116. // {"users":"123","serviceId":"1","NEWS_ID":"100029"}
  117. [HttpPost]
  118. public IActionResult newsSendMt([FromBody] dynamic sendData)
  119. {
  120. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  121. //log4net.Config.XmlConfigurator.Configure();
  122. responseObjUtil response = new responseObjUtil();
  123. response.status = "-1";
  124. response.message = "Err unknow";
  125. try
  126. {
  127. logger.Info("New request income newsUpdateRead :" + sendData.ToString());
  128. var obj = JObject.Parse(sendData.ToString());
  129. string USERS = Convert.ToString(obj["users"]);
  130. string SV_ID = Convert.ToString(obj["serviceId"]);
  131. string NEWS_ID = Convert.ToString(obj["NEWS_ID"]);
  132. //var obj = JObject.Parse(sendData.ToString());
  133. string language = Convert.ToString(obj["language"]);
  134. if (string.IsNullOrEmpty(language)) language = "0";
  135. //Check token
  136. //var userObj = JObject.Parse(sendData.ToString());
  137. string token = Convert.ToString(obj["token"]);
  138. string channel = Convert.ToString(obj["channel"]);
  139. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  140. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  141. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  142. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  143. redisConnection _redis;
  144. memoryCache.TryGetValue("redis", out _redis);
  145. if (_redis == null)
  146. {
  147. var cacheExpiryOptions = new MemoryCacheEntryOptions
  148. {
  149. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  150. Priority = CacheItemPriority.High,
  151. SlidingExpiration = TimeSpan.FromMinutes(2),
  152. Size = 1024,
  153. };
  154. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  155. _redis.connet();
  156. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  157. }
  158. if (!_redis.isConnet())
  159. {
  160. if (!_redis.connet())
  161. {
  162. logger.Info("Connect to redis false");
  163. response.status = "-2";
  164. response.message = "System Update";
  165. logger.Info("confirmTicket response : " + response.ToString());
  166. return Ok(response);
  167. }
  168. else
  169. {
  170. var cacheExpiryOptions = new MemoryCacheEntryOptions
  171. {
  172. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  173. Priority = CacheItemPriority.High,
  174. SlidingExpiration = TimeSpan.FromMinutes(2),
  175. Size = 1024,
  176. };
  177. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  178. }
  179. }
  180. //----------------------Ket thuc lay redis tu cache -------------------------------------
  181. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  182. {
  183. logger.Info("Authen token false");
  184. response.status = "35";
  185. response.message = "Check Authen false";
  186. return Ok(response);
  187. }
  188. //Ket thuc check token
  189. DataSet ds_regist = newsWebDataAccess.sv_news_sendMT(USERS, SV_ID, NEWS_ID);
  190. logger.Info("Call database sv_news_up_read success:");
  191. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  192. {
  193. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  194. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  195. }
  196. }
  197. catch (Exception ex)
  198. {
  199. logger.Info("Err:" + ex.ToString());
  200. }
  201. logger.Info("Responase to web: " + response.ToString());
  202. return Ok(response);
  203. }
  204. //{"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"}
  205. [HttpPost]
  206. public IActionResult newsInsert([FromBody] dynamic sendData)
  207. {
  208. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  209. //log4net.Config.XmlConfigurator.Configure();
  210. newsObjResponse response = new newsObjResponse();
  211. response.status = "-1";
  212. response.message = "Err unknow";
  213. try
  214. {
  215. logger.Info("New request income newsInsert :" + sendData.ToString());
  216. var obj = JObject.Parse(sendData.ToString());
  217. string USERS = Convert.ToString(obj["users"]);
  218. string SV_ID = Convert.ToString(obj["serviceId"]);
  219. string PARENT_ID = Convert.ToString(obj["PARENT_ID"]);
  220. string CODE = Convert.ToString(obj["CODE"]);
  221. string NAME_GLOBAL = Convert.ToString(obj["NAME_GLOBAL"]);
  222. string NAME_LOCAL = Convert.ToString(obj["NAME_LOCAL"]);
  223. string DESCRIPTION_GLOBAL = Convert.ToString(obj["DESCRIPTION_GLOBAL"]);
  224. string DESCRIPTION_LOCAL = Convert.ToString(obj["DESCRIPTION_LOCAL"]);
  225. string INTRODUCTION_GLOBAL = Convert.ToString(obj["INTRODUCTION_GLOBAL"]);
  226. string INTRODUCTION_LOCAL = Convert.ToString(obj["INTRODUCTION_LOCAL"]);
  227. string ICON = Convert.ToString(obj["ICON"]);
  228. string LOGO = Convert.ToString(obj["LOGO"]);
  229. string CONTENT = Convert.ToString(obj["CONTENT"]);
  230. string CONTENT_TYPE = Convert.ToString(obj["CONTENT_TYPE"]);
  231. string PROVINCE_ID = Convert.ToString(obj["PROVINCE_ID"]);
  232. string TOPIC_ID = Convert.ToString(obj["TOPIC_ID"]);
  233. string FROM_DATE = Convert.ToString(obj["FROM_DATE"]);
  234. string TO_DATE = Convert.ToString(obj["TO_DATE"]);
  235. string IS_SHOW = Convert.ToString(obj["IS_SHOW"]);
  236. string TYPE = Convert.ToString(obj["TYPE"]);
  237. string NOTE = Convert.ToString(obj["NOTE"]);
  238. if (string.IsNullOrEmpty(PARENT_ID)) PARENT_ID = "-1";
  239. if (string.IsNullOrEmpty(PROVINCE_ID)) PROVINCE_ID = "-1";
  240. if (string.IsNullOrEmpty(TOPIC_ID)) TOPIC_ID = "-1";
  241. if (string.IsNullOrEmpty(FROM_DATE)) FROM_DATE = "01/01/1900 00:00:00";
  242. if (string.IsNullOrEmpty(TO_DATE)) TO_DATE = "01/01/1900 00:00:00";
  243. if (string.IsNullOrEmpty(IS_SHOW)) IS_SHOW = "0";
  244. if (string.IsNullOrEmpty(TYPE)) TYPE = "0";
  245. if (string.IsNullOrEmpty(USERS)) USERS = "0";
  246. if (string.IsNullOrEmpty(NOTE)) NOTE = "null";
  247. string NAME_GLOBAL1 = Convert.ToString(obj["NAME_GLOBAL1"]);
  248. string NAME_GLOBAL2 = Convert.ToString(obj["NAME_GLOBAL2"]);
  249. string DESCRIPTION_GLOBAL1 = Convert.ToString(obj["DESCRIPTION_GLOBAL1"]);
  250. string DESCRIPTION_GLOBAL2 = Convert.ToString(obj["DESCRIPTION_GLOBAL2"]);
  251. string INTRODUCTION_GLOBAL1 = Convert.ToString(obj["INTRODUCTION_GLOBAL1"]);
  252. string INTRODUCTION_GLOBAL2 = Convert.ToString(obj["INTRODUCTION_GLOBAL2"]);
  253. string CONTENT_GLOBAL = Convert.ToString(obj["CONTENT_GLOBAL"]);
  254. string CONTENT_GLOBAL1 = Convert.ToString(obj["INTRODUCTION_GLOBAL2"]);
  255. string CONTENT_GLOBAL2 = Convert.ToString(obj["INTRODUCTION_GLOBAL2"]);
  256. //var obj = JObject.Parse(sendData.ToString());
  257. string language = Convert.ToString(obj["language"]);
  258. if (string.IsNullOrEmpty(language)) language = "0";
  259. //Check token
  260. //var userObj = JObject.Parse(sendData.ToString());
  261. string token = Convert.ToString(obj["token"]);
  262. string channel = Convert.ToString(obj["channel"]);
  263. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  264. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  265. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  266. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  267. redisConnection _redis;
  268. memoryCache.TryGetValue("redis", out _redis);
  269. if (_redis == null)
  270. {
  271. var cacheExpiryOptions = new MemoryCacheEntryOptions
  272. {
  273. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  274. Priority = CacheItemPriority.High,
  275. SlidingExpiration = TimeSpan.FromMinutes(2),
  276. Size = 1024,
  277. };
  278. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  279. _redis.connet();
  280. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  281. }
  282. if (!_redis.isConnet())
  283. {
  284. if (!_redis.connet())
  285. {
  286. logger.Info("Connect to redis false");
  287. response.status = "-2";
  288. response.message = "System Update";
  289. logger.Info("confirmTicket response : " + response.ToString());
  290. return Ok(response);
  291. }
  292. else
  293. {
  294. var cacheExpiryOptions = new MemoryCacheEntryOptions
  295. {
  296. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  297. Priority = CacheItemPriority.High,
  298. SlidingExpiration = TimeSpan.FromMinutes(2),
  299. Size = 1024,
  300. };
  301. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  302. }
  303. }
  304. //----------------------Ket thuc lay redis tu cache -------------------------------------
  305. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  306. {
  307. logger.Info("Authen token false");
  308. response.status = "35";
  309. response.message = "Check Authen false";
  310. return Ok(response);
  311. }
  312. //Ket thuc check token
  313. 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);
  314. DataSet ds_regist = newsWebDataAccess.sv_news_insert(SV_ID,PARENT_ID, CODE, NAME_GLOBAL, NAME_LOCAL,DESCRIPTION_GLOBAL,DESCRIPTION_LOCAL,
  315. INTRODUCTION_GLOBAL, INTRODUCTION_LOCAL, ICON, LOGO, CONTENT, CONTENT_TYPE, PROVINCE_ID, TOPIC_ID, FROM_DATE, TO_DATE, IS_SHOW, TYPE, USERS,NOTE,
  316. NAME_GLOBAL1, NAME_GLOBAL2, DESCRIPTION_GLOBAL1, DESCRIPTION_GLOBAL2, CONTENT_GLOBAL, CONTENT_GLOBAL1, CONTENT_GLOBAL2, INTRODUCTION_GLOBAL1, INTRODUCTION_GLOBAL2);
  317. logger.Info("Call database sv_news_insert success:");
  318. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  319. {
  320. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  321. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  322. response.newsId = ds_regist.Tables[0].Rows[0]["newsId"].ToString();
  323. }
  324. }
  325. catch (Exception ex)
  326. {
  327. logger.Info("Err:" + ex.ToString());
  328. }
  329. logger.Info("Responase to web: " + response.ToString());
  330. return Ok(response);
  331. }
  332. // {"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",
  333. //"INTRODUCTION_LOCAL":"New1","ICON":"New1","LOGO":"New1","CONTENT":"123","CONTENT_TYPE":"1","TYPE":"0"}
  334. [HttpPost]
  335. public IActionResult newsUpdate([FromBody] dynamic sendData)
  336. {
  337. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  338. //log4net.Config.XmlConfigurator.Configure();
  339. newsObjResponse response = new newsObjResponse();
  340. response.status = "-1";
  341. response.message = "Err unknow";
  342. try
  343. {
  344. logger.Info("New request income newsUpdate :" + sendData.ToString());
  345. var obj = JObject.Parse(sendData.ToString());
  346. string SV_ID = Convert.ToString(obj["serviceId"]);
  347. string PARENT_ID = Convert.ToString(obj["PARENT_ID"]);
  348. string CODE = Convert.ToString(obj["CODE"]);
  349. string NAME_GLOBAL = Convert.ToString(obj["NAME_GLOBAL"]);
  350. string NAME_LOCAL = Convert.ToString(obj["NAME_LOCAL"]);
  351. string DESCRIPTION_GLOBAL = Convert.ToString(obj["DESCRIPTION_GLOBAL"]);
  352. string DESCRIPTION_LOCAL = Convert.ToString(obj["DESCRIPTION_LOCAL"]);
  353. string INTRODUCTION_GLOBAL = Convert.ToString(obj["INTRODUCTION_GLOBAL"]);
  354. string INTRODUCTION_LOCAL = Convert.ToString(obj["INTRODUCTION_LOCAL"]);
  355. string ICON = Convert.ToString(obj["ICON"]);
  356. string LOGO = Convert.ToString(obj["LOGO"]);
  357. string CONTENT = Convert.ToString(obj["CONTENT"]);
  358. string CONTENT_TYPE = Convert.ToString(obj["CONTENT_TYPE"]);
  359. string PROVINCE_ID = Convert.ToString(obj["PROVINCE_ID"]);
  360. string TOPIC_ID = Convert.ToString(obj["TOPIC_ID"]);
  361. string FROM_DATE = Convert.ToString(obj["FROM_DATE"]);
  362. string TO_DATE = Convert.ToString(obj["TO_DATE"]);
  363. string IS_SHOW = Convert.ToString(obj["IS_SHOW"]);
  364. string TYPE = Convert.ToString(obj["TYPE"]); //0=delete,1=update
  365. string ID = Convert.ToString(obj["ID"]);
  366. string NOTE = Convert.ToString(obj["NOTE"]);
  367. string NAME_GLOBAL1 = Convert.ToString(obj["NAME_GLOBAL1"]);
  368. string NAME_GLOBAL2 = Convert.ToString(obj["NAME_GLOBAL2"]);
  369. string DESCRIPTION_GLOBAL1 = Convert.ToString(obj["DESCRIPTION_GLOBAL1"]);
  370. string DESCRIPTION_GLOBAL2 = Convert.ToString(obj["DESCRIPTION_GLOBAL2"]);
  371. string INTRODUCTION_GLOBAL1 = Convert.ToString(obj["INTRODUCTION_GLOBAL1"]);
  372. string INTRODUCTION_GLOBAL2 = Convert.ToString(obj["INTRODUCTION_GLOBAL2"]);
  373. string CONTENT_GLOBAL = Convert.ToString(obj["CONTENT_GLOBAL"]);
  374. string CONTENT_GLOBAL1 = Convert.ToString(obj["INTRODUCTION_GLOBAL2"]);
  375. string CONTENT_GLOBAL2 = Convert.ToString(obj["INTRODUCTION_GLOBAL2"]);
  376. if (string.IsNullOrEmpty(PARENT_ID)) PARENT_ID = "-1";
  377. if (string.IsNullOrEmpty(PROVINCE_ID)) PROVINCE_ID = "-1";
  378. if (string.IsNullOrEmpty(TOPIC_ID)) TOPIC_ID = "-1";
  379. if (string.IsNullOrEmpty(FROM_DATE)) FROM_DATE = "01/01/1900 00:00:00";
  380. if (string.IsNullOrEmpty(TO_DATE)) TO_DATE = "01/01/1900 00:00:00";
  381. if (string.IsNullOrEmpty(IS_SHOW)) IS_SHOW = "-1";
  382. //var obj = JObject.Parse(sendData.ToString());
  383. string language = Convert.ToString(obj["language"]);
  384. if (string.IsNullOrEmpty(language)) language = "0";
  385. //Check token
  386. //var userObj = JObject.Parse(sendData.ToString());
  387. string token = Convert.ToString(obj["token"]);
  388. string channel = Convert.ToString(obj["channel"]);
  389. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  390. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  391. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  392. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  393. redisConnection _redis;
  394. memoryCache.TryGetValue("redis", out _redis);
  395. if (_redis == null)
  396. {
  397. var cacheExpiryOptions = new MemoryCacheEntryOptions
  398. {
  399. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  400. Priority = CacheItemPriority.High,
  401. SlidingExpiration = TimeSpan.FromMinutes(2),
  402. Size = 1024,
  403. };
  404. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  405. _redis.connet();
  406. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  407. }
  408. if (!_redis.isConnet())
  409. {
  410. if (!_redis.connet())
  411. {
  412. logger.Info("Connect to redis false");
  413. response.status = "-2";
  414. response.message = "System Update";
  415. logger.Info("confirmTicket response : " + response.ToString());
  416. return Ok(response);
  417. }
  418. else
  419. {
  420. var cacheExpiryOptions = new MemoryCacheEntryOptions
  421. {
  422. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  423. Priority = CacheItemPriority.High,
  424. SlidingExpiration = TimeSpan.FromMinutes(2),
  425. Size = 1024,
  426. };
  427. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  428. }
  429. }
  430. //----------------------Ket thuc lay redis tu cache -------------------------------------
  431. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  432. {
  433. logger.Info("Authen token false");
  434. response.status = "35";
  435. response.message = "Check Authen false";
  436. return Ok(response);
  437. }
  438. //Ket thuc check token
  439. DataSet ds_regist = newsWebDataAccess.sv_news_update(SV_ID, PARENT_ID, CODE, NAME_GLOBAL, NAME_LOCAL, DESCRIPTION_GLOBAL, DESCRIPTION_LOCAL,
  440. INTRODUCTION_GLOBAL, INTRODUCTION_LOCAL, ICON, LOGO, CONTENT, CONTENT_TYPE, TYPE, ID, PROVINCE_ID, TOPIC_ID, FROM_DATE, TO_DATE, IS_SHOW, NOTE,
  441. NAME_GLOBAL1, NAME_GLOBAL2, DESCRIPTION_GLOBAL1, DESCRIPTION_GLOBAL2, CONTENT_GLOBAL, CONTENT_GLOBAL1,CONTENT_GLOBAL2, INTRODUCTION_GLOBAL1, INTRODUCTION_GLOBAL2
  442. );
  443. logger.Info("Call database sv_news_update success:");
  444. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  445. {
  446. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  447. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  448. response.newsId = ds_regist.Tables[0].Rows[0]["newsId"].ToString();
  449. }
  450. }
  451. catch (Exception ex)
  452. {
  453. logger.Info("Err:" + ex.ToString());
  454. }
  455. logger.Info("Responase to web: " + response.ToString());
  456. return Ok(response);
  457. }
  458. // {"ID":"123","SV_ID":"1","USERS":"1234"}
  459. [HttpPost]
  460. public IActionResult newsGetById([FromBody] dynamic sendData)
  461. {
  462. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  463. //log4net.Config.XmlConfigurator.Configure();
  464. svNewsList response = new svNewsList();
  465. response.status = "-1";
  466. response.message = "Err unknow";
  467. try
  468. {
  469. logger.Info("New request income newsGetById :" + sendData.ToString());
  470. var obj = JObject.Parse(sendData.ToString());
  471. string ID = Convert.ToString(obj["ID"]);
  472. string SV_ID = Convert.ToString(obj["serviceId"]);
  473. string USERS = Convert.ToString(obj["users"]);
  474. if (string.IsNullOrEmpty(ID)) ID = "-1";
  475. string language = Convert.ToString(obj["language"]);
  476. if (string.IsNullOrEmpty(language)) language = "0";
  477. //Check token
  478. //var userObj = JObject.Parse(sendData.ToString());
  479. string token = Convert.ToString(obj["token"]);
  480. string channel = Convert.ToString(obj["channel"]);
  481. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  482. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  483. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  484. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  485. redisConnection _redis;
  486. memoryCache.TryGetValue("redis", out _redis);
  487. if (_redis == null)
  488. {
  489. var cacheExpiryOptions = new MemoryCacheEntryOptions
  490. {
  491. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  492. Priority = CacheItemPriority.High,
  493. SlidingExpiration = TimeSpan.FromMinutes(2),
  494. Size = 1024,
  495. };
  496. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  497. _redis.connet();
  498. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  499. }
  500. if (!_redis.isConnet())
  501. {
  502. if (!_redis.connet())
  503. {
  504. logger.Info("Connect to redis false");
  505. response.status = "-2";
  506. response.message = "System Update";
  507. logger.Info("confirmTicket response : " + response.ToString());
  508. return Ok(response);
  509. }
  510. else
  511. {
  512. var cacheExpiryOptions = new MemoryCacheEntryOptions
  513. {
  514. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  515. Priority = CacheItemPriority.High,
  516. SlidingExpiration = TimeSpan.FromMinutes(2),
  517. Size = 1024,
  518. };
  519. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  520. }
  521. }
  522. //----------------------Ket thuc lay redis tu cache -------------------------------------
  523. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  524. {
  525. logger.Info("Authen token false");
  526. response.status = "35";
  527. response.message = "Check Authen false";
  528. return Ok(response);
  529. }
  530. //Ket thuc check token
  531. DataSet ds_regist = newsWebDataAccess.sv_news_getById(ID, SV_ID, USERS, language);
  532. logger.Info("Call database sv_news_getById success:");
  533. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  534. {
  535. response.status = "0";
  536. response.message = "Success";
  537. response.listNews = new svNews[ds_regist.Tables[0].Rows.Count];
  538. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  539. {
  540. svNews _obj = new svNews();
  541. _obj.ID = ds_regist.Tables[0].Rows[j]["ID"].ToString();
  542. _obj.PARENT_ID = ds_regist.Tables[0].Rows[j]["PARENT_ID"].ToString();
  543. _obj.SV_ID = ds_regist.Tables[0].Rows[j]["SV_ID"].ToString();
  544. _obj.CODE = ds_regist.Tables[0].Rows[j]["CODE"].ToString();
  545. _obj.NAME = ds_regist.Tables[0].Rows[j]["NAME"].ToString();
  546. _obj.NAME_GLOBAL = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL"].ToString();
  547. _obj.NAME_LOCAL = ds_regist.Tables[0].Rows[j]["NAME_LOCAL"].ToString();
  548. _obj.DESCRIPTION = ds_regist.Tables[0].Rows[j]["DESCRIPTION"].ToString();
  549. _obj.DESCRIPTION_GLOBAL = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL"].ToString();
  550. _obj.DESCRIPTION_LOCAL = ds_regist.Tables[0].Rows[j]["DESCRIPTION_LOCAL"].ToString();
  551. _obj.INTRODUCTION = ds_regist.Tables[0].Rows[j]["INTRODUCTION"].ToString();
  552. _obj.INTRODUCTION_GLOBAL = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL"].ToString();
  553. _obj.INTRODUCTION_LOCAL = ds_regist.Tables[0].Rows[j]["INTRODUCTION_LOCAL"].ToString();
  554. _obj.ICON = ds_regist.Tables[0].Rows[j]["ICON"].ToString();
  555. _obj.LOGO = ds_regist.Tables[0].Rows[j]["LOGO"].ToString();
  556. _obj.CONTENT = ds_regist.Tables[0].Rows[j]["CONTENT"].ToString();
  557. _obj.CONTENT_TYPE = ds_regist.Tables[0].Rows[j]["CONTENT_TYPE"].ToString();
  558. _obj.CREATED_DATE = ds_regist.Tables[0].Rows[j]["CREATED_DATE"].ToString();
  559. _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString();
  560. _obj.LEVEL = ds_regist.Tables[0].Rows[j]["LEVELS"].ToString();
  561. _obj.IS_READ = ds_regist.Tables[0].Rows[j]["IS_READ"].ToString();
  562. _obj.PROVINCE_ID = ds_regist.Tables[0].Rows[j]["PROVINCE_ID"].ToString();
  563. _obj.TOPIC_ID = ds_regist.Tables[0].Rows[j]["TOPIC_ID"].ToString();
  564. _obj.FROM_DATE = ds_regist.Tables[0].Rows[j]["FROM_DATE"].ToString();
  565. _obj.TO_DATE = ds_regist.Tables[0].Rows[j]["TO_DATE"].ToString();
  566. _obj.IS_SHOW = ds_regist.Tables[0].Rows[j]["IS_SHOW"].ToString();
  567. _obj.TYPE = ds_regist.Tables[0].Rows[j]["TYPE"].ToString();
  568. _obj.STATUS = ds_regist.Tables[0].Rows[j]["STATUS"].ToString();
  569. _obj.NOTE = ds_regist.Tables[0].Rows[j]["NOTE"].ToString();
  570. _obj.NAME_GLOBAL1 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL1"].ToString();
  571. _obj.NAME_GLOBAL2 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL2"].ToString();
  572. _obj.DESCRIPTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL1"].ToString();
  573. _obj.DESCRIPTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL2"].ToString();
  574. _obj.INTRODUCTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL1"].ToString();
  575. _obj.INTRODUCTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL2"].ToString();
  576. _obj.CONTENT_GLOBAL = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL"].ToString();
  577. _obj.CONTENT_GLOBAL1 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL1"].ToString();
  578. _obj.CONTENT_GLOBAL2 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL2"].ToString();
  579. response.listNews[j] = _obj;
  580. }
  581. }
  582. else
  583. {
  584. response.status = "1";
  585. response.message = "No data";
  586. }
  587. }
  588. catch (Exception ex)
  589. {
  590. logger.Info("Err:" + ex.ToString());
  591. }
  592. logger.Info("Responase to web: " + response.ToString());
  593. return Ok(response);
  594. }
  595. // {"ID":"1","serviceId":"1","users":"9540240715","rowsOnPage":"1","seqPage":"1","isGetContet":"1","isShow":"1","type":"1"}
  596. //isShow=-1 la all,0= khong show, 1= co show
  597. //type -1: all,0: cua user,1= cua admin
  598. [HttpPost]
  599. public IActionResult newsGetByParentId([FromBody] dynamic sendData)
  600. {
  601. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  602. //log4net.Config.XmlConfigurator.Configure();
  603. svNewsList response = new svNewsList();
  604. response.status = "-1";
  605. response.message = "Err unknow";
  606. logger.Info("haha:");
  607. try
  608. {
  609. logger.Info("bat dau:");
  610. logger.Info("New request income newsGetByParentId :" + sendData.ToString());
  611. logger.Info("ketthuc:");
  612. var obj = JObject.Parse(sendData.ToString());
  613. string ID = Convert.ToString(obj["ID"]);
  614. string SV_ID = Convert.ToString(obj["serviceId"]);
  615. string USERS = Convert.ToString(obj["users"]);
  616. string rowsOnPage = Convert.ToString(obj["rowsOnPage"]);
  617. string seqPage = Convert.ToString(obj["seqPage"]);
  618. string isGetContet = Convert.ToString(obj["isGetContet"]);
  619. string isShow = Convert.ToString(obj["isShow"]);
  620. string type = Convert.ToString(obj["type"]);
  621. string channel = Convert.ToString(obj["channel"]);
  622. string code = Convert.ToString(obj["code"]);
  623. string isGetChildById = Convert.ToString(obj["isGetChildById"]);
  624. if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "100000000";
  625. if (string.IsNullOrEmpty(seqPage)) seqPage = "1";
  626. if (string.IsNullOrEmpty(isGetContet)) isGetContet = "-1";
  627. if (string.IsNullOrEmpty(isShow)) isShow = "-1";
  628. if (string.IsNullOrEmpty(type)) type = "-1";
  629. if (string.IsNullOrEmpty(code)) code = "-1";
  630. if (string.IsNullOrEmpty(ID)) ID = "-1000";
  631. if (string.IsNullOrEmpty(channel)) channel = "APP";
  632. string language = Convert.ToString(obj["language"]);
  633. if (string.IsNullOrEmpty(language)) language = "0";
  634. if (string.IsNullOrEmpty(isGetChildById)) isGetChildById = "0";
  635. logger.Info("ID="+ID+" SV_ID="+SV_ID+" USERS="+USERS+" rowsOnPage="+rowsOnPage+" seqPage="+seqPage+" isGetContet="+isGetContet+" isShow="+isShow+" type="+type);
  636. //Check token
  637. //var userObj = JObject.Parse(sendData.ToString());
  638. string token = Convert.ToString(obj["token"]);
  639. //string channel = Convert.ToString(obj["channel"]);
  640. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  641. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  642. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  643. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  644. redisConnection _redis;
  645. memoryCache.TryGetValue("redis", out _redis);
  646. if (_redis == null)
  647. {
  648. var cacheExpiryOptions = new MemoryCacheEntryOptions
  649. {
  650. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  651. Priority = CacheItemPriority.High,
  652. SlidingExpiration = TimeSpan.FromMinutes(2),
  653. Size = 1024,
  654. };
  655. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  656. _redis.connet();
  657. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  658. }
  659. if (!_redis.isConnet())
  660. {
  661. if (!_redis.connet())
  662. {
  663. logger.Info("Connect to redis false");
  664. response.status = "-2";
  665. response.message = "System Update";
  666. logger.Info("confirmTicket response : " + response.ToString());
  667. return Ok(response);
  668. }
  669. else
  670. {
  671. var cacheExpiryOptions = new MemoryCacheEntryOptions
  672. {
  673. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  674. Priority = CacheItemPriority.High,
  675. SlidingExpiration = TimeSpan.FromMinutes(2),
  676. Size = 1024,
  677. };
  678. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  679. }
  680. }
  681. //----------------------Ket thuc lay redis tu cache -------------------------------------
  682. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  683. {
  684. logger.Info("Authen token false");
  685. response.status = "35";
  686. response.message = "Check Authen false";
  687. return Ok(response);
  688. }
  689. //Ket thuc check token
  690. DataSet ds_regist = newsWebDataAccess.sv_news_getByParentId(ID, SV_ID, USERS, rowsOnPage, seqPage, isGetContet,isShow,type, channel,language,code, isGetChildById);
  691. logger.Info("Call database sv_news_getByParentId success:");
  692. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  693. {
  694. response.status = "0";
  695. response.message = "Success";
  696. response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString();
  697. response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString();
  698. response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString();
  699. response.totalSub = ds_regist.Tables[0].Rows[0]["TOTAL_SUB"].ToString();
  700. response.totalNotRead = ds_regist.Tables[0].Rows[0]["TOTAL_NOT_READ"].ToString();
  701. response.listNews = new svNews[ds_regist.Tables[0].Rows.Count];
  702. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  703. {
  704. svNews _obj = new svNews();
  705. _obj.ID = ds_regist.Tables[0].Rows[j]["ID"].ToString();
  706. _obj.PARENT_ID = ds_regist.Tables[0].Rows[j]["PARENT_ID"].ToString();
  707. _obj.SV_ID = ds_regist.Tables[0].Rows[j]["SV_ID"].ToString();
  708. _obj.CODE = ds_regist.Tables[0].Rows[j]["CODE"].ToString();
  709. _obj.NAME = ds_regist.Tables[0].Rows[j]["NAME"].ToString();
  710. _obj.NAME_GLOBAL = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL"].ToString();
  711. _obj.NAME_LOCAL = ds_regist.Tables[0].Rows[j]["NAME_LOCAL"].ToString();
  712. _obj.DESCRIPTION = ds_regist.Tables[0].Rows[j]["DESCRIPTION"].ToString();
  713. _obj.DESCRIPTION_GLOBAL = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL"].ToString();
  714. _obj.DESCRIPTION_LOCAL = ds_regist.Tables[0].Rows[j]["DESCRIPTION_LOCAL"].ToString();
  715. _obj.INTRODUCTION = ds_regist.Tables[0].Rows[j]["INTRODUCTION"].ToString();
  716. _obj.INTRODUCTION_GLOBAL = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL"].ToString();
  717. _obj.INTRODUCTION_LOCAL = ds_regist.Tables[0].Rows[j]["INTRODUCTION_LOCAL"].ToString();
  718. _obj.ICON = ds_regist.Tables[0].Rows[j]["ICON"].ToString();
  719. _obj.LOGO = ds_regist.Tables[0].Rows[j]["LOGO"].ToString();
  720. _obj.CONTENT = ds_regist.Tables[0].Rows[j]["CONTENT"].ToString();
  721. _obj.CONTENT_TYPE = ds_regist.Tables[0].Rows[j]["CONTENT_TYPE"].ToString();
  722. _obj.CREATED_DATE = ds_regist.Tables[0].Rows[j]["CREATED_DATE"].ToString();
  723. _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString();
  724. _obj.LEVEL = ds_regist.Tables[0].Rows[j]["LEVELS"].ToString();
  725. _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString();
  726. _obj.IS_READ = ds_regist.Tables[0].Rows[j]["IS_READ"].ToString();
  727. _obj.PROVINCE_ID = ds_regist.Tables[0].Rows[j]["PROVINCE_ID"].ToString();
  728. _obj.TOPIC_ID = ds_regist.Tables[0].Rows[j]["TOPIC_ID"].ToString();
  729. _obj.FROM_DATE = ds_regist.Tables[0].Rows[j]["FROM_DATE"].ToString();
  730. _obj.TO_DATE = ds_regist.Tables[0].Rows[j]["TO_DATE"].ToString();
  731. _obj.IS_SHOW = ds_regist.Tables[0].Rows[j]["IS_SHOW"].ToString();
  732. _obj.TYPE = ds_regist.Tables[0].Rows[j]["TYPE"].ToString();
  733. _obj.STATUS = ds_regist.Tables[0].Rows[j]["STATUS"].ToString();
  734. _obj.NOTE = ds_regist.Tables[0].Rows[j]["NOTE"].ToString();
  735. _obj.NAME_GLOBAL1 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL1"].ToString();
  736. _obj.NAME_GLOBAL2 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL2"].ToString();
  737. _obj.DESCRIPTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL1"].ToString();
  738. _obj.DESCRIPTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL2"].ToString();
  739. _obj.INTRODUCTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL1"].ToString();
  740. _obj.INTRODUCTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL2"].ToString();
  741. _obj.CONTENT_GLOBAL = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL"].ToString();
  742. _obj.CONTENT_GLOBAL1 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL1"].ToString();
  743. _obj.CONTENT_GLOBAL2 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL2"].ToString();
  744. response.listNews[j] = _obj;
  745. }
  746. }
  747. else
  748. {
  749. response.status = "1";
  750. response.message = "No data";
  751. }
  752. }
  753. catch (Exception ex)
  754. {
  755. logger.Info("Err: loi roi" + ex.ToString());
  756. }
  757. logger.Info("Responase to web: " + response.ToString());
  758. return Ok(response);
  759. }
  760. // {"serviceId":"4","users":"9540240715","rowsOnPage":"1","seqPage":"1","isGetContet":"1","isShow":"1"}
  761. //isShow=-1 la all,0= khong show, 1= co show
  762. //type -1: all,0: cua user,1= cua admin
  763. [HttpPost]
  764. public IActionResult newsGetByUsers([FromBody] dynamic sendData)
  765. {
  766. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  767. //log4net.Config.XmlConfigurator.Configure();
  768. svNewsList response = new svNewsList();
  769. response.status = "-1";
  770. response.message = "Err unknow";
  771. try
  772. {
  773. logger.Info("New request income newsGetByUsers :" + sendData.ToString());
  774. var obj = JObject.Parse(sendData.ToString());
  775. string SV_ID = Convert.ToString(obj["serviceId"]);
  776. string USERS = Convert.ToString(obj["users"]);
  777. string rowsOnPage = Convert.ToString(obj["rowsOnPage"]);
  778. string seqPage = Convert.ToString(obj["seqPage"]);
  779. string isGetContet = Convert.ToString(obj["isGetContet"]);
  780. string isShow = Convert.ToString(obj["isShow"]);
  781. string type = Convert.ToString(obj["type"]);
  782. if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "100000000";
  783. if (string.IsNullOrEmpty(seqPage)) seqPage = "1";
  784. if (string.IsNullOrEmpty(isGetContet)) isGetContet = "-1";
  785. if (string.IsNullOrEmpty(isShow)) isShow = "-1";
  786. string language = Convert.ToString(obj["language"]);
  787. if (string.IsNullOrEmpty(language)) language = "0";
  788. logger.Info( " SV_ID=" + SV_ID + " USERS=" + USERS + " rowsOnPage=" + rowsOnPage + " seqPage=" + seqPage + " isGetContet=" + isGetContet + " isShow=" + isShow );
  789. //Check token
  790. //var userObj = JObject.Parse(sendData.ToString());
  791. string token = Convert.ToString(obj["token"]);
  792. string channel = Convert.ToString(obj["channel"]);
  793. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  794. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  795. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  796. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  797. redisConnection _redis;
  798. memoryCache.TryGetValue("redis", out _redis);
  799. if (_redis == null)
  800. {
  801. var cacheExpiryOptions = new MemoryCacheEntryOptions
  802. {
  803. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  804. Priority = CacheItemPriority.High,
  805. SlidingExpiration = TimeSpan.FromMinutes(2),
  806. Size = 1024,
  807. };
  808. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  809. _redis.connet();
  810. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  811. }
  812. if (!_redis.isConnet())
  813. {
  814. if (!_redis.connet())
  815. {
  816. logger.Info("Connect to redis false");
  817. response.status = "-2";
  818. response.message = "System Update";
  819. logger.Info("confirmTicket response : " + response.ToString());
  820. return Ok(response);
  821. }
  822. else
  823. {
  824. var cacheExpiryOptions = new MemoryCacheEntryOptions
  825. {
  826. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  827. Priority = CacheItemPriority.High,
  828. SlidingExpiration = TimeSpan.FromMinutes(2),
  829. Size = 1024,
  830. };
  831. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  832. }
  833. }
  834. //----------------------Ket thuc lay redis tu cache -------------------------------------
  835. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  836. {
  837. logger.Info("Authen token false");
  838. response.status = "35";
  839. response.message = "Check Authen false";
  840. return Ok(response);
  841. }
  842. //Ket thuc check token
  843. DataSet ds_regist = newsWebDataAccess.sv_news_getByUsers( SV_ID, USERS, rowsOnPage, seqPage, isGetContet, isShow,language);
  844. logger.Info("Call database sv_news_getByUsers success:");
  845. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  846. {
  847. response.status = "0";
  848. response.message = "Success";
  849. response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString();
  850. response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString();
  851. response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString();
  852. response.totalSub = ds_regist.Tables[0].Rows[0]["TOTAL_SUB"].ToString();
  853. response.listNews = new svNews[ds_regist.Tables[0].Rows.Count];
  854. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  855. {
  856. svNews _obj = new svNews();
  857. _obj.ID = ds_regist.Tables[0].Rows[j]["ID"].ToString();
  858. _obj.PARENT_ID = ds_regist.Tables[0].Rows[j]["PARENT_ID"].ToString();
  859. _obj.SV_ID = ds_regist.Tables[0].Rows[j]["SV_ID"].ToString();
  860. _obj.CODE = ds_regist.Tables[0].Rows[j]["CODE"].ToString();
  861. _obj.NAME = ds_regist.Tables[0].Rows[j]["NAME"].ToString();
  862. _obj.NAME_GLOBAL = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL"].ToString();
  863. _obj.NAME_LOCAL = ds_regist.Tables[0].Rows[j]["NAME_LOCAL"].ToString();
  864. _obj.DESCRIPTION = ds_regist.Tables[0].Rows[j]["DESCRIPTION"].ToString();
  865. _obj.DESCRIPTION_GLOBAL = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL"].ToString();
  866. _obj.DESCRIPTION_LOCAL = ds_regist.Tables[0].Rows[j]["DESCRIPTION_LOCAL"].ToString();
  867. _obj.INTRODUCTION = ds_regist.Tables[0].Rows[j]["INTRODUCTION"].ToString();
  868. _obj.INTRODUCTION_GLOBAL = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL"].ToString();
  869. _obj.INTRODUCTION_LOCAL = ds_regist.Tables[0].Rows[j]["INTRODUCTION_LOCAL"].ToString();
  870. _obj.ICON = ds_regist.Tables[0].Rows[j]["ICON"].ToString();
  871. _obj.LOGO = ds_regist.Tables[0].Rows[j]["LOGO"].ToString();
  872. _obj.CONTENT = ds_regist.Tables[0].Rows[j]["CONTENT"].ToString();
  873. _obj.CONTENT_TYPE = ds_regist.Tables[0].Rows[j]["CONTENT_TYPE"].ToString();
  874. _obj.CREATED_DATE = ds_regist.Tables[0].Rows[j]["CREATED_DATE"].ToString();
  875. _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString();
  876. _obj.LEVEL = ds_regist.Tables[0].Rows[j]["LEVELS"].ToString();
  877. _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString();
  878. _obj.IS_READ = ds_regist.Tables[0].Rows[j]["IS_READ"].ToString();
  879. _obj.PROVINCE_ID = ds_regist.Tables[0].Rows[j]["PROVINCE_ID"].ToString();
  880. _obj.TOPIC_ID = ds_regist.Tables[0].Rows[j]["TOPIC_ID"].ToString();
  881. _obj.FROM_DATE = ds_regist.Tables[0].Rows[j]["FROM_DATE"].ToString();
  882. _obj.TO_DATE = ds_regist.Tables[0].Rows[j]["TO_DATE"].ToString();
  883. _obj.IS_SHOW = ds_regist.Tables[0].Rows[j]["IS_SHOW"].ToString();
  884. _obj.TYPE = ds_regist.Tables[0].Rows[j]["TYPE"].ToString();
  885. _obj.STATUS = ds_regist.Tables[0].Rows[j]["STATUS"].ToString();
  886. _obj.NOTE = ds_regist.Tables[0].Rows[j]["NOTE"].ToString();
  887. obj.NAME_GLOBAL1 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL1"].ToString();
  888. _obj.NAME_GLOBAL2 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL2"].ToString();
  889. _obj.DESCRIPTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL1"].ToString();
  890. _obj.DESCRIPTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL2"].ToString();
  891. _obj.INTRODUCTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL1"].ToString();
  892. _obj.INTRODUCTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL2"].ToString();
  893. _obj.CONTENT_GLOBAL = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL"].ToString();
  894. _obj.CONTENT_GLOBAL1 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL1"].ToString();
  895. _obj.CONTENT_GLOBAL2 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL2"].ToString();
  896. response.listNews[j] = _obj;
  897. }
  898. }
  899. else
  900. {
  901. response.status = "1";
  902. response.message = "No data";
  903. }
  904. }
  905. catch (Exception ex)
  906. {
  907. logger.Info("Err:" + ex.ToString());
  908. }
  909. logger.Info("Responase to web: " + response.ToString());
  910. return Ok(response);
  911. }
  912. // {"serviceId":"1","users":"9540240715","proviceId":"1","topicId":"1","fromDate":"01/07/2020","toDate":"30/07/2020","rowsOnPage":"1","seqPage":"1",isGetContet":"1"}
  913. [HttpPost]
  914. public IActionResult newsSearchProTopDate([FromBody] dynamic sendData)
  915. {
  916. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  917. //log4net.Config.XmlConfigurator.Configure();
  918. svNewsList response = new svNewsList();
  919. response.status = "-1";
  920. response.message = "Err unknow";
  921. try
  922. {
  923. logger.Info("New request income newsSearchProTopDate :" + sendData.ToString());
  924. var obj = JObject.Parse(sendData.ToString());
  925. string SV_ID = Convert.ToString(obj["serviceId"]);
  926. string USERS = Convert.ToString(obj["users"]);
  927. string proviceId = Convert.ToString(obj["proviceId"]);
  928. string topicId = Convert.ToString(obj["topicId"]);
  929. string fromDate = Convert.ToString(obj["fromDate"]);
  930. string toDate = Convert.ToString(obj["toDate"]);
  931. string name = Convert.ToString(obj["name"]);
  932. string rowsOnPage = Convert.ToString(obj["rowsOnPage"]);
  933. string seqPage = Convert.ToString(obj["seqPage"]);
  934. string isGetContet = Convert.ToString(obj["isGetContet"]);
  935. if (string.IsNullOrEmpty(proviceId)) proviceId = "-1";
  936. if (string.IsNullOrEmpty(topicId)) topicId = "-1";
  937. if (string.IsNullOrEmpty(fromDate)) fromDate = "01/01/1990";
  938. if (string.IsNullOrEmpty(toDate)) toDate = "01/01/5050";
  939. if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "100000000";
  940. if (string.IsNullOrEmpty(seqPage)) seqPage = "1";
  941. if (string.IsNullOrEmpty(seqPage)) seqPage = "1";
  942. if (string.IsNullOrEmpty(isGetContet)) isGetContet = "-1";
  943. if (string.IsNullOrEmpty(name)) name = "-1";
  944. string language = Convert.ToString(obj["language"]);
  945. if (string.IsNullOrEmpty(language)) language = "0";
  946. //Check token
  947. //var userObj = JObject.Parse(sendData.ToString());
  948. string token = Convert.ToString(obj["token"]);
  949. string channel = Convert.ToString(obj["channel"]);
  950. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  951. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  952. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  953. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  954. redisConnection _redis;
  955. memoryCache.TryGetValue("redis", out _redis);
  956. if (_redis == null)
  957. {
  958. var cacheExpiryOptions = new MemoryCacheEntryOptions
  959. {
  960. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  961. Priority = CacheItemPriority.High,
  962. SlidingExpiration = TimeSpan.FromMinutes(2),
  963. Size = 1024,
  964. };
  965. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  966. _redis.connet();
  967. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  968. }
  969. if (!_redis.isConnet())
  970. {
  971. if (!_redis.connet())
  972. {
  973. logger.Info("Connect to redis false");
  974. response.status = "-2";
  975. response.message = "System Update";
  976. logger.Info("confirmTicket response : " + response.ToString());
  977. return Ok(response);
  978. }
  979. else
  980. {
  981. var cacheExpiryOptions = new MemoryCacheEntryOptions
  982. {
  983. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  984. Priority = CacheItemPriority.High,
  985. SlidingExpiration = TimeSpan.FromMinutes(2),
  986. Size = 1024,
  987. };
  988. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  989. }
  990. }
  991. //----------------------Ket thuc lay redis tu cache -------------------------------------
  992. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  993. {
  994. logger.Info("Authen token false");
  995. response.status = "35";
  996. response.message = "Check Authen false";
  997. return Ok(response);
  998. }
  999. //Ket thuc check token
  1000. DataSet ds_regist = newsWebDataAccess.newsSearchProTopDate(SV_ID, USERS, proviceId, topicId, fromDate, toDate, rowsOnPage, seqPage, isGetContet,name,language);
  1001. logger.Info("Call database newsSearchProTopDate success:");
  1002. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1003. {
  1004. response.status = "0";
  1005. response.message = "Success";
  1006. response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString();
  1007. response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString();
  1008. response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString();
  1009. response.listNews = new svNews[ds_regist.Tables[0].Rows.Count];
  1010. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  1011. {
  1012. svNews _obj = new svNews();
  1013. _obj.ID = ds_regist.Tables[0].Rows[j]["ID"].ToString();
  1014. _obj.PARENT_ID = ds_regist.Tables[0].Rows[j]["PARENT_ID"].ToString();
  1015. _obj.SV_ID = ds_regist.Tables[0].Rows[j]["SV_ID"].ToString();
  1016. _obj.CODE = ds_regist.Tables[0].Rows[j]["CODE"].ToString();
  1017. _obj.NAME = ds_regist.Tables[0].Rows[j]["NAME"].ToString();
  1018. _obj.DESCRIPTION = ds_regist.Tables[0].Rows[j]["DESCRIPTION"].ToString();
  1019. _obj.INTRODUCTION = ds_regist.Tables[0].Rows[j]["INTRODUCTION"].ToString();
  1020. _obj.ICON = ds_regist.Tables[0].Rows[j]["ICON"].ToString();
  1021. _obj.LOGO = ds_regist.Tables[0].Rows[j]["LOGO"].ToString();
  1022. _obj.CONTENT = ds_regist.Tables[0].Rows[j]["CONTENT"].ToString();
  1023. _obj.CONTENT_TYPE = ds_regist.Tables[0].Rows[j]["CONTENT_TYPE"].ToString();
  1024. _obj.CREATED_DATE = ds_regist.Tables[0].Rows[j]["CREATED_DATE"].ToString();
  1025. _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString();
  1026. _obj.LEVEL = ds_regist.Tables[0].Rows[j]["LEVELS"].ToString();
  1027. _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString();
  1028. _obj.IS_READ = ds_regist.Tables[0].Rows[j]["IS_READ"].ToString();
  1029. _obj.PROVINCE_ID = ds_regist.Tables[0].Rows[j]["PROVINCE_ID"].ToString();
  1030. _obj.TOPIC_ID = ds_regist.Tables[0].Rows[j]["TOPIC_ID"].ToString();
  1031. _obj.FROM_DATE = ds_regist.Tables[0].Rows[j]["FROM_DATE"].ToString();
  1032. _obj.TO_DATE = ds_regist.Tables[0].Rows[j]["TO_DATE"].ToString();
  1033. _obj.IS_SHOW = ds_regist.Tables[0].Rows[j]["IS_SHOW"].ToString();
  1034. _obj.TYPE = ds_regist.Tables[0].Rows[j]["TYPE"].ToString();
  1035. _obj.STATUS = ds_regist.Tables[0].Rows[j]["STATUS"].ToString();
  1036. _obj.NOTE = ds_regist.Tables[0].Rows[j]["NOTE"].ToString();
  1037. obj.NAME_GLOBAL1 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL1"].ToString();
  1038. _obj.NAME_GLOBAL2 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL2"].ToString();
  1039. _obj.DESCRIPTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL1"].ToString();
  1040. _obj.DESCRIPTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL2"].ToString();
  1041. _obj.INTRODUCTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL1"].ToString();
  1042. _obj.INTRODUCTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL2"].ToString();
  1043. _obj.CONTENT_GLOBAL = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL"].ToString();
  1044. _obj.CONTENT_GLOBAL1 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL1"].ToString();
  1045. _obj.CONTENT_GLOBAL2 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL2"].ToString();
  1046. response.listNews[j] = _obj;
  1047. }
  1048. }
  1049. else
  1050. {
  1051. response.status = "1";
  1052. response.message = "No data";
  1053. }
  1054. }
  1055. catch (Exception ex)
  1056. {
  1057. logger.Info("Err:" + ex.ToString());
  1058. }
  1059. logger.Info("Responase to web: " + response.ToString());
  1060. return Ok(response);
  1061. }
  1062. // {"serviceId":"1","users":"9540240715","top":"10",isGetContet":"1"}
  1063. [HttpPost]
  1064. public IActionResult newsGetTop([FromBody] dynamic sendData)
  1065. {
  1066. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1067. //log4net.Config.XmlConfigurator.Configure();
  1068. svNewsList response = new svNewsList();
  1069. response.status = "-1";
  1070. response.message = "Err unknow";
  1071. try
  1072. {
  1073. logger.Info("New request income newsGetTop :" + sendData.ToString());
  1074. var obj = JObject.Parse(sendData.ToString());
  1075. string SV_ID = Convert.ToString(obj["serviceId"]);
  1076. string USERS = Convert.ToString(obj["users"]);
  1077. string top = Convert.ToString(obj["top"]);
  1078. string level = Convert.ToString(obj["level"]);
  1079. string isGetContet = Convert.ToString(obj["isGetContet"]);
  1080. if (string.IsNullOrEmpty(top)) top = "100";
  1081. if (string.IsNullOrEmpty(isGetContet)) isGetContet = "-1";
  1082. if (string.IsNullOrEmpty(level)) level = "-1";
  1083. string language = Convert.ToString(obj["language"]);
  1084. if (string.IsNullOrEmpty(language)) language = "0";
  1085. //Check token
  1086. //var userObj = JObject.Parse(sendData.ToString());
  1087. string token = Convert.ToString(obj["token"]);
  1088. string channel = Convert.ToString(obj["channel"]);
  1089. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1090. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1091. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1092. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1093. redisConnection _redis;
  1094. memoryCache.TryGetValue("redis", out _redis);
  1095. if (_redis == null)
  1096. {
  1097. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1098. {
  1099. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1100. Priority = CacheItemPriority.High,
  1101. SlidingExpiration = TimeSpan.FromMinutes(2),
  1102. Size = 1024,
  1103. };
  1104. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1105. _redis.connet();
  1106. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1107. }
  1108. if (!_redis.isConnet())
  1109. {
  1110. if (!_redis.connet())
  1111. {
  1112. logger.Info("Connect to redis false");
  1113. response.status = "-2";
  1114. response.message = "System Update";
  1115. logger.Info("confirmTicket response : " + response.ToString());
  1116. return Ok(response);
  1117. }
  1118. else
  1119. {
  1120. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1121. {
  1122. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1123. Priority = CacheItemPriority.High,
  1124. SlidingExpiration = TimeSpan.FromMinutes(2),
  1125. Size = 1024,
  1126. };
  1127. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1128. }
  1129. }
  1130. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1131. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1132. {
  1133. logger.Info("Authen token false");
  1134. response.status = "35";
  1135. response.message = "Check Authen false";
  1136. return Ok(response);
  1137. }
  1138. //Ket thuc check token
  1139. DataSet ds_regist = newsWebDataAccess.newsGetTop(SV_ID, USERS, top, isGetContet, level,language);
  1140. logger.Info("Call database newsGetTop success:");
  1141. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1142. {
  1143. response.status = "0";
  1144. response.message = "Success";
  1145. response.rowsOnPage = "-1";
  1146. response.seqPage = "-1";
  1147. response.totalPage = "-1";
  1148. response.listNews = new svNews[ds_regist.Tables[0].Rows.Count];
  1149. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  1150. {
  1151. svNews _obj = new svNews();
  1152. _obj.ID = ds_regist.Tables[0].Rows[j]["ID"].ToString();
  1153. _obj.PARENT_ID = ds_regist.Tables[0].Rows[j]["PARENT_ID"].ToString();
  1154. _obj.SV_ID = ds_regist.Tables[0].Rows[j]["SV_ID"].ToString();
  1155. _obj.CODE = ds_regist.Tables[0].Rows[j]["CODE"].ToString();
  1156. _obj.NAME = ds_regist.Tables[0].Rows[j]["NAME"].ToString();
  1157. _obj.DESCRIPTION = ds_regist.Tables[0].Rows[j]["DESCRIPTION"].ToString();
  1158. _obj.INTRODUCTION = ds_regist.Tables[0].Rows[j]["INTRODUCTION"].ToString();
  1159. _obj.ICON = ds_regist.Tables[0].Rows[j]["ICON"].ToString();
  1160. _obj.LOGO = ds_regist.Tables[0].Rows[j]["LOGO"].ToString();
  1161. _obj.CONTENT = ds_regist.Tables[0].Rows[j]["CONTENT"].ToString();
  1162. _obj.CONTENT_TYPE = ds_regist.Tables[0].Rows[j]["CONTENT_TYPE"].ToString();
  1163. _obj.CREATED_DATE = ds_regist.Tables[0].Rows[j]["CREATED_DATE"].ToString();
  1164. _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString();
  1165. _obj.LEVEL = ds_regist.Tables[0].Rows[j]["LEVELS"].ToString();
  1166. _obj.UPDATE_DATE = ds_regist.Tables[0].Rows[j]["UPDATE_DATE"].ToString();
  1167. _obj.IS_READ = ds_regist.Tables[0].Rows[j]["IS_READ"].ToString();
  1168. _obj.PROVINCE_ID = ds_regist.Tables[0].Rows[j]["PROVINCE_ID"].ToString();
  1169. _obj.TOPIC_ID = ds_regist.Tables[0].Rows[j]["TOPIC_ID"].ToString();
  1170. _obj.FROM_DATE = ds_regist.Tables[0].Rows[j]["FROM_DATE"].ToString();
  1171. _obj.TO_DATE = ds_regist.Tables[0].Rows[j]["TO_DATE"].ToString();
  1172. _obj.IS_SHOW = ds_regist.Tables[0].Rows[j]["IS_SHOW"].ToString();
  1173. _obj.TYPE = ds_regist.Tables[0].Rows[j]["TYPE"].ToString();
  1174. _obj.STATUS = ds_regist.Tables[0].Rows[j]["STATUS"].ToString();
  1175. _obj.NOTE = ds_regist.Tables[0].Rows[j]["NOTE"].ToString();
  1176. obj.NAME_GLOBAL1 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL1"].ToString();
  1177. _obj.NAME_GLOBAL2 = ds_regist.Tables[0].Rows[j]["NAME_GLOBAL2"].ToString();
  1178. _obj.DESCRIPTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL1"].ToString();
  1179. _obj.DESCRIPTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["DESCRIPTION_GLOBAL2"].ToString();
  1180. _obj.INTRODUCTION_GLOBAL1 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL1"].ToString();
  1181. _obj.INTRODUCTION_GLOBAL2 = ds_regist.Tables[0].Rows[j]["INTRODUCTION_GLOBAL2"].ToString();
  1182. _obj.CONTENT_GLOBAL = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL"].ToString();
  1183. _obj.CONTENT_GLOBAL1 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL1"].ToString();
  1184. _obj.CONTENT_GLOBAL2 = ds_regist.Tables[0].Rows[j]["CONTENT_GLOBAL2"].ToString();
  1185. response.listNews[j] = _obj;
  1186. }
  1187. }
  1188. else
  1189. {
  1190. response.status = "1";
  1191. response.message = "No data";
  1192. }
  1193. }
  1194. catch (Exception ex)
  1195. {
  1196. logger.Info("Err:" + ex.ToString());
  1197. }
  1198. logger.Info("Responase to web: " + response.ToString());
  1199. return Ok(response);
  1200. }
  1201. //{"users":"50940240716","serviceId":"30","newsId":"1","codeBuy":"1","requestId":"-1","otp":"-1"}
  1202. public IActionResult newsBuy([FromBody] dynamic sendData)
  1203. {
  1204. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1205. //log4net.Config.XmlConfigurator.Configure();
  1206. mpsResponseEx response = new mpsResponseEx();
  1207. response.status = "-1";
  1208. response.message = "Err unknow";
  1209. logger.Info("New request income newsBuy :" + sendData.ToString());
  1210. string mps_ip = "127.0.0.1";
  1211. string mps_port = "0000";
  1212. try
  1213. {
  1214. var userObj = JObject.Parse(sendData.ToString());
  1215. string users = Convert.ToString(userObj["users"]);
  1216. string serviceid = Convert.ToString(userObj["serviceId"]);
  1217. string newsId = Convert.ToString(userObj["newsId"]);
  1218. string codeBuy = Convert.ToString(userObj["codeBuy"]);
  1219. string requestId = Convert.ToString(userObj["requestId"]);
  1220. string otp = Convert.ToString(userObj["otp"]);
  1221. if (string.IsNullOrEmpty(newsId)) newsId = "-1";
  1222. if (string.IsNullOrEmpty(requestId)) requestId = "-1";
  1223. if (string.IsNullOrEmpty(otp)) otp = "-1";
  1224. //var obj = JObject.Parse(sendData.ToString());
  1225. string language = Convert.ToString(userObj["language"]);
  1226. if (string.IsNullOrEmpty(language)) language = "0";
  1227. //Check token
  1228. //var userObj = JObject.Parse(sendData.ToString());
  1229. string token = Convert.ToString(userObj["token"]);
  1230. string channel = Convert.ToString(userObj["channel"]);
  1231. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1232. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1233. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1234. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1235. redisConnection _redis;
  1236. memoryCache.TryGetValue("redis", out _redis);
  1237. if (_redis == null)
  1238. {
  1239. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1240. {
  1241. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1242. Priority = CacheItemPriority.High,
  1243. SlidingExpiration = TimeSpan.FromMinutes(2),
  1244. Size = 1024,
  1245. };
  1246. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1247. _redis.connet();
  1248. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1249. }
  1250. if (!_redis.isConnet())
  1251. {
  1252. if (!_redis.connet())
  1253. {
  1254. logger.Info("Connect to redis false");
  1255. response.status = "-2";
  1256. response.message = "System Update";
  1257. logger.Info("confirmTicket response : " + response.ToString());
  1258. return Ok(response);
  1259. }
  1260. else
  1261. {
  1262. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1263. {
  1264. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1265. Priority = CacheItemPriority.High,
  1266. SlidingExpiration = TimeSpan.FromMinutes(2),
  1267. Size = 1024,
  1268. };
  1269. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1270. }
  1271. }
  1272. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1273. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1274. {
  1275. logger.Info("Authen token false");
  1276. response.status = "35";
  1277. response.message = "Check Authen false";
  1278. return Ok(response);
  1279. }
  1280. //Ket thuc check token
  1281. DataSet ds_mps_info = DataAccess.MPS_GET_BY_ID(serviceid);
  1282. mps_ip = ds_mps_info.Tables[0].Rows[0]["MPS_IP"].ToString();
  1283. mps_port = ds_mps_info.Tables[0].Rows[0]["MPS_PORT"].ToString();
  1284. logger.Info("Start call charg money");
  1285. string data = "requestId=" + requestId + "&msisdn=" + users + "&otp=" + otp + "&serviceid=" + serviceid + "&subServiceCode=" + codeBuy;
  1286. logger.Info("Request call charge: " + data);
  1287. string response111 = Common.SocketUnSyn(data, mps_ip, Convert.ToInt32(mps_port), 12000);
  1288. logger.Info("Result call charge: " + response111);
  1289. mpsResponse resCallMps = JsonConvert.DeserializeObject<mpsResponse>(response111);
  1290. if (resCallMps.responseCode == "0")
  1291. {
  1292. logger.Info("charge money success :");
  1293. DataSet ds_regist = newsWebDataAccess.newsBuy(users, serviceid, newsId, codeBuy);
  1294. logger.Info("Call database newsBuy success:");
  1295. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1296. {
  1297. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  1298. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  1299. response.requestId = resCallMps.requestID;
  1300. return Ok(response);
  1301. }
  1302. }
  1303. else if (resCallMps.responseCode == "100")
  1304. {
  1305. response.status = "100";
  1306. response.message = "Send OTP success to user, pls send this function with OTP & requestID agian for finsh";
  1307. response.requestId = resCallMps.requestID;
  1308. return Ok(response);
  1309. }
  1310. else if (resCallMps.responseCode == "401")
  1311. {
  1312. response.status = "-12";
  1313. response.message = "Not enough money ";
  1314. return Ok(response);
  1315. }
  1316. else if (resCallMps.responseCode == "415")
  1317. {
  1318. response.status = "-13";
  1319. response.message = "Invalid OTP code";
  1320. return Ok(response);
  1321. }
  1322. else if (resCallMps.responseCode == "416")
  1323. {
  1324. response.status = "-14";
  1325. response.message = "Incorrect OTP code/ OTP code expired";
  1326. return Ok(response);
  1327. }
  1328. else if (resCallMps.responseCode == "417")
  1329. {
  1330. response.status = "-15";
  1331. response.message = "Confirm OTP via USSD time out";
  1332. return Ok(response);
  1333. }
  1334. else
  1335. {
  1336. response.status = "-10";
  1337. response.message = "System err";
  1338. return Ok(response);
  1339. }
  1340. }
  1341. catch (Exception ex)
  1342. {
  1343. logger.Info("Err:" + ex.ToString());
  1344. }
  1345. return Ok(response);
  1346. }
  1347. // {"title":"xxxx","serviceId":"30","content":"cong hoa xa hoi chu nghia","description":"vi du 1","urlPicture":"http://123.jpg"}
  1348. [HttpPost]
  1349. public IActionResult Insert([FromBody] dynamic sendData)
  1350. {
  1351. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1352. //log4net.Config.XmlConfigurator.Configure();
  1353. newsObjResponse response = new newsObjResponse();
  1354. response.status = "-1";
  1355. response.message = "Err unknow";
  1356. try
  1357. {
  1358. newsWebObjRequest data = JsonConvert.DeserializeObject<newsWebObjRequest>(sendData.ToString());
  1359. logger.Info("New request income news_insert :" + data.ToString());
  1360. //Check token
  1361. var userObj = JObject.Parse(sendData.ToString());
  1362. string token = Convert.ToString(userObj["token"]);
  1363. string channel = Convert.ToString(userObj["channel"]);
  1364. //var obj = JObject.Parse(sendData.ToString());
  1365. string language = Convert.ToString(userObj["language"]);
  1366. if (string.IsNullOrEmpty(language)) language = "0";
  1367. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1368. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1369. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1370. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1371. redisConnection _redis;
  1372. memoryCache.TryGetValue("redis", out _redis);
  1373. if (_redis == null)
  1374. {
  1375. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1376. {
  1377. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1378. Priority = CacheItemPriority.High,
  1379. SlidingExpiration = TimeSpan.FromMinutes(2),
  1380. Size = 1024,
  1381. };
  1382. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1383. _redis.connet();
  1384. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1385. }
  1386. if (!_redis.isConnet())
  1387. {
  1388. if (!_redis.connet())
  1389. {
  1390. logger.Info("Connect to redis false");
  1391. response.status = "-2";
  1392. response.message = "System Update";
  1393. logger.Info("confirmTicket response : " + response.ToString());
  1394. return Ok(response);
  1395. }
  1396. else
  1397. {
  1398. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1399. {
  1400. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1401. Priority = CacheItemPriority.High,
  1402. SlidingExpiration = TimeSpan.FromMinutes(2),
  1403. Size = 1024,
  1404. };
  1405. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1406. }
  1407. }
  1408. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1409. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1410. {
  1411. logger.Info("Authen token false");
  1412. response.status = "35";
  1413. response.message = "Check Authen false";
  1414. return Ok(response);
  1415. }
  1416. //Ket thuc check token
  1417. DataSet ds_regist = newsWebDataAccess.web_news_insert(data.title, data.serviceid, data.content, data.description,data.urlPicture);
  1418. logger.Info("Call database news_insert success:");
  1419. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1420. {
  1421. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  1422. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  1423. response.newsId = ds_regist.Tables[0].Rows[0]["newsId"].ToString();
  1424. }
  1425. }
  1426. catch (Exception ex)
  1427. {
  1428. logger.Info("Err:" + ex.ToString());
  1429. }
  1430. logger.Info("Responase to web: " + response.ToString());
  1431. return Ok(response);
  1432. }
  1433. // {"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"}
  1434. //--0=delete,1=update
  1435. [HttpPost]
  1436. public IActionResult Update([FromBody] dynamic sendData)
  1437. {
  1438. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1439. //log4net.Config.XmlConfigurator.Configure();
  1440. responseObjUtil response = new responseObjUtil();
  1441. response.status = "-1";
  1442. response.message = "Err unknow";
  1443. try
  1444. {
  1445. newsWebObjUpdateRequest data = JsonConvert.DeserializeObject<newsWebObjUpdateRequest>(sendData.ToString());
  1446. logger.Info("New request income Update :" + data.ToString());
  1447. //Check token
  1448. var userObj = JObject.Parse(sendData.ToString());
  1449. string token = Convert.ToString(userObj["token"]);
  1450. string channel = Convert.ToString(userObj["channel"]);
  1451. //var obj = JObject.Parse(sendData.ToString());
  1452. string language = Convert.ToString(userObj["language"]);
  1453. if (string.IsNullOrEmpty(language)) language = "0";
  1454. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1455. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1456. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1457. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1458. redisConnection _redis;
  1459. memoryCache.TryGetValue("redis", out _redis);
  1460. if (_redis == null)
  1461. {
  1462. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1463. {
  1464. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1465. Priority = CacheItemPriority.High,
  1466. SlidingExpiration = TimeSpan.FromMinutes(2),
  1467. Size = 1024,
  1468. };
  1469. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1470. _redis.connet();
  1471. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1472. }
  1473. if (!_redis.isConnet())
  1474. {
  1475. if (!_redis.connet())
  1476. {
  1477. logger.Info("Connect to redis false");
  1478. response.status = "-2";
  1479. response.message = "System Update";
  1480. logger.Info("confirmTicket response : " + response.ToString());
  1481. return Ok(response);
  1482. }
  1483. else
  1484. {
  1485. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1486. {
  1487. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1488. Priority = CacheItemPriority.High,
  1489. SlidingExpiration = TimeSpan.FromMinutes(2),
  1490. Size = 1024,
  1491. };
  1492. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1493. }
  1494. }
  1495. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1496. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1497. {
  1498. logger.Info("Authen token false");
  1499. response.status = "35";
  1500. response.message = "Check Authen false";
  1501. return Ok(response);
  1502. }
  1503. //Ket thuc check token
  1504. DataSet ds_regist = newsWebDataAccess.web_news_update(data.id, data.title, data.serviceid, data.content, data.description,data.urlPicture,data.type);
  1505. logger.Info("Call database Update success:");
  1506. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1507. {
  1508. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  1509. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  1510. }
  1511. }
  1512. catch (Exception ex)
  1513. {
  1514. logger.Info("Err:" + ex.ToString());
  1515. }
  1516. logger.Info("Responase to web: " + response.ToString());
  1517. return Ok(response);
  1518. }
  1519. [HttpPost]
  1520. //{"id":"10","serviceId":"30","status":"-1","date":"13/02/2020" }
  1521. public IActionResult GetList([FromBody] dynamic sendData)
  1522. {
  1523. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1524. //log4net.Config.XmlConfigurator.Configure();
  1525. newsWebObjGetResponse response = new newsWebObjGetResponse();
  1526. response.status = "-1";
  1527. response.message = "Err unknow";
  1528. string vTop = "-1";
  1529. try
  1530. {
  1531. newsObjGetRequest data = JsonConvert.DeserializeObject<newsObjGetRequest>(sendData.ToString());
  1532. logger.Info("New request income Get :" + data.ToString());
  1533. if (!string.IsNullOrEmpty(data.top)) vTop = data.top;
  1534. //Check token
  1535. var userObj = JObject.Parse(sendData.ToString());
  1536. string token = Convert.ToString(userObj["token"]);
  1537. string channel = Convert.ToString(userObj["channel"]);
  1538. //var obj = JObject.Parse(sendData.ToString());
  1539. string language = Convert.ToString(userObj["language"]);
  1540. if (string.IsNullOrEmpty(language)) language = "0";
  1541. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1542. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1543. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1544. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1545. redisConnection _redis;
  1546. memoryCache.TryGetValue("redis", out _redis);
  1547. if (_redis == null)
  1548. {
  1549. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1550. {
  1551. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1552. Priority = CacheItemPriority.High,
  1553. SlidingExpiration = TimeSpan.FromMinutes(2),
  1554. Size = 1024,
  1555. };
  1556. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1557. _redis.connet();
  1558. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1559. }
  1560. if (!_redis.isConnet())
  1561. {
  1562. if (!_redis.connet())
  1563. {
  1564. logger.Info("Connect to redis false");
  1565. response.status = "-2";
  1566. response.message = "System Update";
  1567. logger.Info("confirmTicket response : " + response.ToString());
  1568. return Ok(response);
  1569. }
  1570. else
  1571. {
  1572. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1573. {
  1574. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1575. Priority = CacheItemPriority.High,
  1576. SlidingExpiration = TimeSpan.FromMinutes(2),
  1577. Size = 1024,
  1578. };
  1579. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1580. }
  1581. }
  1582. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1583. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1584. {
  1585. logger.Info("Authen token false");
  1586. response.status = "35";
  1587. response.message = "Check Authen false";
  1588. return Ok(response);
  1589. }
  1590. //Ket thuc check token
  1591. DataSet ds_regist = newsWebDataAccess.web_news_get(data.serviceid, data.status, data.date, data.id, vTop, data.isGetContent);
  1592. logger.Info("Call database Get success:");
  1593. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1594. {
  1595. response.status = "0";
  1596. response.message = "Success";
  1597. response.listNewsWeb = new newsWebObj[ds_regist.Tables[0].Rows.Count];
  1598. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  1599. {
  1600. newsWebObj obj = new newsWebObj();
  1601. obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString();
  1602. obj.serviceid = ds_regist.Tables[0].Rows[j]["serviceid"].ToString();
  1603. obj.status = ds_regist.Tables[0].Rows[j]["newsStatus"].ToString();
  1604. obj.title = ds_regist.Tables[0].Rows[j]["title"].ToString();
  1605. obj.content = ds_regist.Tables[0].Rows[j]["content"].ToString();
  1606. obj.description = ds_regist.Tables[0].Rows[j]["description"].ToString();
  1607. obj.urlPicture = ds_regist.Tables[0].Rows[j]["urlPicture"].ToString();
  1608. obj.sysdate = ds_regist.Tables[0].Rows[j]["vsysdate"].ToString();
  1609. response.listNewsWeb[j] = obj;
  1610. }
  1611. }
  1612. else
  1613. {
  1614. response.status = "1";
  1615. response.message = "No data";
  1616. }
  1617. }
  1618. catch (Exception ex)
  1619. {
  1620. logger.Info("Err:" + ex.ToString());
  1621. }
  1622. logger.Info("Responase to web: " + response.ToString());
  1623. return Ok(response);
  1624. }
  1625. [HttpPost]
  1626. //{"fromDate":"01/02/2020","toDate":"20/02/2020"}
  1627. public IActionResult GetLotteryList([FromBody] dynamic sendData)
  1628. {
  1629. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1630. //log4net.Config.XmlConfigurator.Configure();
  1631. newsWebLotteryResponse response = new newsWebLotteryResponse();
  1632. response.status = "-1";
  1633. response.message = "Err unknow";
  1634. try
  1635. {
  1636. newsWebLotteryRequest data = JsonConvert.DeserializeObject<newsWebLotteryRequest>(sendData.ToString());
  1637. logger.Info("New request income GetLotteryList :" + data.ToString());
  1638. //Check token
  1639. var userObj = JObject.Parse(sendData.ToString());
  1640. string token = Convert.ToString(userObj["token"]);
  1641. string channel = Convert.ToString(userObj["channel"]);
  1642. //var obj = JObject.Parse(sendData.ToString());
  1643. string language = Convert.ToString(userObj["language"]);
  1644. if (string.IsNullOrEmpty(language)) language = "0";
  1645. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1646. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1647. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1648. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1649. redisConnection _redis;
  1650. memoryCache.TryGetValue("redis", out _redis);
  1651. if (_redis == null)
  1652. {
  1653. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1654. {
  1655. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1656. Priority = CacheItemPriority.High,
  1657. SlidingExpiration = TimeSpan.FromMinutes(2),
  1658. Size = 1024,
  1659. };
  1660. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1661. _redis.connet();
  1662. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1663. }
  1664. if (!_redis.isConnet())
  1665. {
  1666. if (!_redis.connet())
  1667. {
  1668. logger.Info("Connect to redis false");
  1669. response.status = "-2";
  1670. response.message = "System Update";
  1671. logger.Info("confirmTicket response : " + response.ToString());
  1672. return Ok(response);
  1673. }
  1674. else
  1675. {
  1676. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1677. {
  1678. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1679. Priority = CacheItemPriority.High,
  1680. SlidingExpiration = TimeSpan.FromMinutes(2),
  1681. Size = 1024,
  1682. };
  1683. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1684. }
  1685. }
  1686. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1687. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1688. {
  1689. logger.Info("Authen token false");
  1690. response.status = "35";
  1691. response.message = "Check Authen false";
  1692. return Ok(response);
  1693. }
  1694. //Ket thuc check token
  1695. DataSet ds_regist = newsWebDataAccess.web_lettery_get(data.fromDate,data.toDate);
  1696. logger.Info("Call database GetLotteryList success:");
  1697. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1698. {
  1699. response.status = "0";
  1700. response.message = "Success";
  1701. response.listLottery = new newsWebLotteryObj[ds_regist.Tables[0].Rows.Count];
  1702. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  1703. {
  1704. newsWebLotteryObj obj = new newsWebLotteryObj();
  1705. obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString();
  1706. obj.sysdate = ds_regist.Tables[0].Rows[j]["VSYSDATE"].ToString();
  1707. obj.numberMorning = ds_regist.Tables[0].Rows[j]["NUMBER_MORNING"].ToString();
  1708. obj.numberEvening = ds_regist.Tables[0].Rows[j]["NUMBER_EVENING"].ToString();
  1709. obj.win4Morning = ds_regist.Tables[0].Rows[j]["WIN4_MORNING"].ToString();
  1710. obj.win4Evening = ds_regist.Tables[0].Rows[j]["WIN4_EVENING"].ToString();
  1711. response.listLottery[j] = obj;
  1712. }
  1713. }
  1714. else
  1715. {
  1716. response.status = "1";
  1717. response.message = "No data";
  1718. }
  1719. }
  1720. catch (Exception ex)
  1721. {
  1722. logger.Info("Err:" + ex.ToString());
  1723. }
  1724. logger.Info("Responase to web: " + response.ToString());
  1725. return Ok(response);
  1726. }
  1727. }
  1728. }