userApi.cs 226 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333
  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 Newtonsoft.Json.Linq;
  9. using System.Data;
  10. using System.Configuration;
  11. using Microsoft.AspNetCore.Mvc;
  12. using ApiProcess.Models;
  13. using CommonObj.model;
  14. using CommonObj.common;
  15. using Microsoft.Extensions.Caching.Memory;
  16. using ApiProcess.Models.balance;
  17. namespace ApiProcess.Controllers
  18. {
  19. [ApiController]
  20. [Route("api/[controller]/[action]/data")]
  21. public class userApi : ControllerBase
  22. {
  23. static readonly log4net.ILog logger = log4net.LogManager.GetLogger(typeof(userApi));
  24. private IMemoryCache memoryCache;
  25. public userApi(IMemoryCache memoryCache)
  26. {
  27. this.memoryCache = memoryCache;
  28. }
  29. // {"users":"1234","pass":"123","partnerCode":"123","channel":"WEB"}
  30. /*
  31. [HttpPost]
  32. public IActionResult getToken([FromBody] dynamic sendData)
  33. {
  34. ////log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  35. ////log4net.Config.XmlConfigurator.Configure();
  36. responseObjLogin response = new responseObjLogin();
  37. response.status = "-1";
  38. response.message = "Err unknow";
  39. var ip = HttpContext.Connection.RemoteIpAddress.ToString();
  40. try
  41. {
  42. var userObj = JObject.Parse(sendData.ToString());
  43. string users = Convert.ToString(userObj["users"]);
  44. string pass = Convert.ToString(userObj["pass"]);
  45. string partnerCode = Convert.ToString(userObj["partnerCode"]);
  46. string channel = Convert.ToString(userObj["channel"]);
  47. string language = Convert.ToString(userObj["language"]);
  48. if (string.IsNullOrEmpty(language)) language = "0";
  49. if (string.IsNullOrEmpty(users)) users = "1";
  50. if (string.IsNullOrEmpty(pass)) pass = "-1";
  51. if (string.IsNullOrEmpty(partnerCode)) partnerCode = "-1";
  52. if (string.IsNullOrEmpty(channel)) channel = "-1";
  53. if(users=="-1"|| pass == "-1" || partnerCode == "-1" || channel == "-1")
  54. {
  55. logger.Info("Authen false");
  56. response.status = "35";
  57. response.message = "Check Authen false";
  58. return Ok(response);
  59. }
  60. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  61. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  62. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  63. redisConnection _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  64. if(!_redis.connet())
  65. {
  66. logger.Info("Connect to redis false");
  67. response.status = "-2";
  68. response.message = "System Update";
  69. return Ok(response);
  70. }
  71. channelObj _channelObj =(channelObj) CommonFunction.getChannelObjFromRedis(_redis, channel);
  72. if (users != _channelObj.usersName || pass != _channelObj.password || partnerCode != _channelObj.partnerCode)
  73. {
  74. logger.Info("Authen false");
  75. response.status = "35";
  76. response.message = "Check Authen false";
  77. return Ok(response);
  78. }
  79. //truong hop con lai la thanh cong. Tien hanh lay token
  80. tokenObj _token = CommonFunction.createToken(_redis,users,pass,channel);
  81. response.status = "0";
  82. response.message = "Success";
  83. response.role = "";
  84. response.token = _token.token;
  85. return Ok(response);
  86. }
  87. catch (Exception ex)
  88. {
  89. logger.Info("Err:" + ex.ToString(),ex);
  90. }
  91. logger.Info("Responase to web: " + response.ToString());
  92. return Ok(response);
  93. }
  94. */
  95. // {"users":"123","pass":"123"}
  96. [HttpPost]
  97. public IActionResult usersAdminLogin([FromBody] dynamic sendData)
  98. {
  99. ////log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  100. ////log4net.Config.XmlConfigurator.Configure();
  101. ///
  102. logger.Info("New request income admin Login :" + sendData.ToString());
  103. responseObjLogin response = new responseObjLogin();
  104. response.status = "-1";
  105. response.message = "Err unknow";
  106. try
  107. {
  108. var userObj = JObject.Parse(sendData.ToString());
  109. string users = Convert.ToString(userObj["users"]);
  110. string pass = Convert.ToString(userObj["pass"]);
  111. string channel = Convert.ToString(userObj["channel"]);
  112. string language = Convert.ToString(userObj["language"]);
  113. if (string.IsNullOrEmpty(language)) language = "0";
  114. if (string.IsNullOrEmpty(users)) users = "1";
  115. if (string.IsNullOrEmpty(pass)) pass = "-1";
  116. if (string.IsNullOrEmpty(channel)) channel = "-1";
  117. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  118. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  119. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  120. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  121. redisConnection _redis;
  122. memoryCache.TryGetValue("redis", out _redis);
  123. if (_redis == null)
  124. {
  125. var cacheExpiryOptions = new MemoryCacheEntryOptions
  126. {
  127. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  128. Priority = CacheItemPriority.High,
  129. SlidingExpiration = TimeSpan.FromMinutes(2),
  130. Size = 1024,
  131. };
  132. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  133. _redis.connet();
  134. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  135. }
  136. if (!_redis.isConnet())
  137. {
  138. if (!_redis.connet())
  139. {
  140. logger.Info("Connect to redis false");
  141. response.status = "-2";
  142. response.message = "System Update";
  143. logger.Info("confirmTicket response : " + response.ToString());
  144. return Ok(response);
  145. }
  146. else
  147. {
  148. var cacheExpiryOptions = new MemoryCacheEntryOptions
  149. {
  150. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  151. Priority = CacheItemPriority.High,
  152. SlidingExpiration = TimeSpan.FromMinutes(2),
  153. Size = 1024,
  154. };
  155. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  156. }
  157. }
  158. //----------------------Ket thuc lay redis tu cache -------------------------------------
  159. if (users == "-1" || pass == "-1" || channel == "-1")
  160. {
  161. logger.Info("Authen false");
  162. response.status = "35";
  163. response.message = CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.status,"");// "Check Authen false";
  164. return Ok(response);
  165. }
  166. DataSet ds_regist = usersDataAccess.ADMIN_USERS_INFO(users, ResfullApi.Models.CustomEncryption.Encrypt(pass));
  167. logger.Info("Call database ADMIN_USERS_INFO success:");
  168. if (ds_regist == null || ds_regist.Tables[0].Rows.Count == 0)
  169. {
  170. response.status = "1";
  171. response.message = "Login false";
  172. response.role = "";
  173. response.token = "";
  174. return Ok(response);
  175. }
  176. else
  177. {
  178. string status= ds_regist.Tables[0].Rows[0]["status"].ToString();
  179. if(status=="0")
  180. {
  181. //Tiep tuc lay danh sach chu nang cua Role
  182. DataSet ds = usersDataAccess.ADMIN_USERS_FUNCTION(ds_regist.Tables[0].Rows[0]["role"].ToString());
  183. if(ds == null || ds.Tables[0].Rows.Count > 0)
  184. {
  185. response.function = new adminFunctionObj[ds.Tables[0].Rows.Count];
  186. for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
  187. {
  188. adminFunctionObj _obj = new adminFunctionObj();
  189. _obj.id = ds.Tables[0].Rows[j]["id"].ToString();
  190. _obj.role = ds.Tables[0].Rows[j]["ROLE"].ToString();
  191. _obj.name = ds.Tables[0].Rows[j]["NAME"].ToString();
  192. _obj.link = ds.Tables[0].Rows[j]["LINK"].ToString();
  193. _obj.note = ds.Tables[0].Rows[j]["NOTE"].ToString();
  194. response.function[j] = _obj;
  195. }
  196. }
  197. tokenObj _token = CommonFunction.createToken(_redis, users, pass, channel,"LOGIN_ADMIN","", ds_regist.Tables[0].Rows[0]["role"].ToString());
  198. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  199. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  200. response.role = ds_regist.Tables[0].Rows[0]["role"].ToString();
  201. response.token = _token.token;
  202. return Ok(response);
  203. }
  204. else
  205. {
  206. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  207. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  208. response.role = ds_regist.Tables[0].Rows[0]["role"].ToString();
  209. response.token = "";
  210. return Ok(response);
  211. }
  212. }
  213. }
  214. catch (Exception ex)
  215. {
  216. logger.Info("Err:" + ex.ToString());
  217. }
  218. logger.Info("Responase to web: " + response.ToString());
  219. return Ok(response);
  220. }
  221. // {"msisdn":"50940227941","users":"123","pass":"123","passnew":"123","serviceId":"23","channel":"WEB"}
  222. [HttpPost]
  223. public IActionResult usersRegister([FromBody] dynamic sendData)
  224. {
  225. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  226. //log4net.Config.XmlConfigurator.Configure();
  227. responseObjLogin response = new responseObjLogin();
  228. response.status = "-1";
  229. response.message = "Err unknow";
  230. var userObj = JObject.Parse(sendData.ToString());
  231. string language = Convert.ToString(userObj["language"]);
  232. if (string.IsNullOrEmpty(language)) language = "0";
  233. try
  234. {
  235. usersObjRegist data = JsonConvert.DeserializeObject<usersObjRegist>(sendData.ToString());
  236. logger.Info("New request income usersRegister :" + data.ToString());
  237. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  238. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  239. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  240. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  241. redisConnection _redis;
  242. memoryCache.TryGetValue("redis", out _redis);
  243. if (_redis == null)
  244. {
  245. var cacheExpiryOptions = new MemoryCacheEntryOptions
  246. {
  247. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  248. Priority = CacheItemPriority.High,
  249. SlidingExpiration = TimeSpan.FromMinutes(2),
  250. Size = 1024,
  251. };
  252. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  253. _redis.connet();
  254. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  255. }
  256. if (!_redis.isConnet())
  257. {
  258. if (!_redis.connet())
  259. {
  260. logger.Info("Connect to redis false");
  261. response.status = "-2";
  262. response.message = "System Update";
  263. logger.Info("confirmTicket response : " + response.ToString());
  264. return Ok(response);
  265. }
  266. else
  267. {
  268. var cacheExpiryOptions = new MemoryCacheEntryOptions
  269. {
  270. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  271. Priority = CacheItemPriority.High,
  272. SlidingExpiration = TimeSpan.FromMinutes(2),
  273. Size = 1024,
  274. };
  275. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  276. }
  277. }
  278. //----------------------Ket thuc lay redis tu cache -------------------------------------
  279. //Ngoai tru 2 lenh (data.command == "REGIST" || data.command=="LOGIN") thi cac lenh con lai deu phai check token
  280. if (!(data.command == "REGIST" || data.command == "LOGIN" || data.command == "RESETPASS"))
  281. {
  282. if (!CommonFunction.checkToken(clientIp,data.token, data.channel, _redis, logger))
  283. {
  284. logger.Info("Authen token false");
  285. response.status = "35";
  286. response.message = "Check Authen false";
  287. return Ok(response);
  288. }
  289. }
  290. DataSet ds_regist = usersDataAccess.USERS_API_DK_HUY(data.msisdn, data.users, data.pass,data.passnew, data.serviceid,data.command, data.channel,data.role);
  291. logger.Info("Call database USERS_API_DK_HUY success:");
  292. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  293. {
  294. string status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  295. if(status=="0" && (data.command == "REGIST" || data.command == "LOGIN"))
  296. {
  297. string _role = ds_regist.Tables[0].Rows[0]["role"].ToString();
  298. //string _msisdn = ds_regist.Tables[0].Rows[0]["msisdn"].ToString();
  299. string _msisdn = data.users;
  300. tokenObj _token = CommonFunction.createToken(_redis, data.users, data.pass, data.channel, "LOGIN_USER", _msisdn, _role);
  301. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  302. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  303. response.role = ds_regist.Tables[0].Rows[0]["role"].ToString();
  304. response.token = _token.token;
  305. logger.Info("Response :"+response.ToString());
  306. return Ok(response);
  307. }
  308. else
  309. {
  310. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  311. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  312. response.role = ds_regist.Tables[0].Rows[0]["role"].ToString();
  313. response.token = "";
  314. logger.Info("Response :" + response.ToString());
  315. return Ok(response);
  316. }
  317. }
  318. }
  319. catch (Exception ex)
  320. {
  321. logger.Info("Err:" + ex.ToString());
  322. }
  323. logger.Info("Responase to web: " + response.ToString());
  324. return Ok(response);
  325. }
  326. //Input
  327. //{"users":"50912345","serviceId":"30"}
  328. //Output
  329. // {"status":"1","id":"23","msisdn":"5091234","users":"23","pass":"23","serviceId":"23","dateregist":"01/01/2019 00:00:00","isactive":"1","channel":"web","best_coin":"0","cast_coin":"0"}
  330. [HttpPost]
  331. public IActionResult usersCheckStatus([FromBody] dynamic sendData)
  332. {
  333. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  334. //log4net.Config.XmlConfigurator.Configure();
  335. usersObjStatusResponse response = new usersObjStatusResponse();
  336. try
  337. {
  338. usersObjStatusRequest data = JsonConvert.DeserializeObject<usersObjStatusRequest>(sendData.ToString());
  339. logger.Info("New request income usersCheckStatus :" + data.ToString());
  340. //Check token
  341. var userObj = JObject.Parse(sendData.ToString());
  342. string token = Convert.ToString(userObj["token"]);
  343. string channel = Convert.ToString(userObj["channel"]);
  344. //var userObj = JObject.Parse(sendData.ToString());
  345. string language = Convert.ToString(userObj["language"]);
  346. if (string.IsNullOrEmpty(language)) language = "0";
  347. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  348. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  349. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  350. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  351. redisConnection _redis;
  352. memoryCache.TryGetValue("redis", out _redis);
  353. if (_redis == null)
  354. {
  355. var cacheExpiryOptions = new MemoryCacheEntryOptions
  356. {
  357. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  358. Priority = CacheItemPriority.High,
  359. SlidingExpiration = TimeSpan.FromMinutes(2),
  360. Size = 1024,
  361. };
  362. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  363. _redis.connet();
  364. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  365. }
  366. if (!_redis.isConnet())
  367. {
  368. if (!_redis.connet())
  369. {
  370. logger.Info("Connect to redis false");
  371. response.status = "-2";
  372. response.message = "System Update";
  373. logger.Info("confirmTicket response : " + response.ToString());
  374. return Ok(response);
  375. }
  376. else
  377. {
  378. var cacheExpiryOptions = new MemoryCacheEntryOptions
  379. {
  380. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  381. Priority = CacheItemPriority.High,
  382. SlidingExpiration = TimeSpan.FromMinutes(2),
  383. Size = 1024,
  384. };
  385. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  386. }
  387. }
  388. //----------------------Ket thuc lay redis tu cache -------------------------------------
  389. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  390. {
  391. logger.Info("Authen token false");
  392. response.status = "35";
  393. response.message = "Check Authen false";
  394. return Ok(response);
  395. }
  396. //Ket thuc check token
  397. DataSet ds_regist = usersDataAccess.USERS_GET_STATUS(data.users, data.serviceid);
  398. logger.Info("Call database USERS_GET_STATUS success:");
  399. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  400. {
  401. response.status = "0";
  402. response.id = ds_regist.Tables[0].Rows[0]["id"].ToString();
  403. response.msisdn = ds_regist.Tables[0].Rows[0]["msisdn"].ToString();
  404. response.users = ds_regist.Tables[0].Rows[0]["users"].ToString();
  405. response.pass = ds_regist.Tables[0].Rows[0]["pass"].ToString();
  406. response.serviceid = ds_regist.Tables[0].Rows[0]["serviceid"].ToString();
  407. response.dateregist = ds_regist.Tables[0].Rows[0]["dateregist"].ToString();
  408. response.isactive = ds_regist.Tables[0].Rows[0]["isactive"].ToString();
  409. response.channel = ds_regist.Tables[0].Rows[0]["channel"].ToString();
  410. response.bet_coin = ds_regist.Tables[0].Rows[0]["bet_coin"].ToString();
  411. response.cash_coin = ds_regist.Tables[0].Rows[0]["cash_coin"].ToString();
  412. response.role = ds_regist.Tables[0].Rows[0]["role"].ToString();
  413. response.ranking = ds_regist.Tables[0].Rows[0]["ranking"].ToString();
  414. response.language = ds_regist.Tables[0].Rows[0]["LANGUAGE"].ToString(); //0=global,1=local
  415. }
  416. }
  417. catch (Exception ex)
  418. {
  419. response.status = "-1";
  420. logger.Info("Err:" + ex.ToString());
  421. }
  422. logger.Info("Responase to web: " + response.ToString());
  423. return Ok(response);
  424. }
  425. //{"users":"50912345678","serviceId":"30","fullName":"Do thi Hong Hanh","sex":"Nam","address":"Yen nghia","provinceId":"2","cardNumber":"123","email":"quangbh@yahoo.com","company":"Viettech","description":"ha ha hehe","picture":"/data/quangbh.jpg","sexNeed":"Nu","birthday":"12/10/1980","height":"12","weight":"60","work":"Ke toan","lookingFor":"Ke toan truong"}
  426. [HttpPost]
  427. public IActionResult usersUpdateProfile([FromBody] dynamic sendData)
  428. {
  429. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  430. //log4net.Config.XmlConfigurator.Configure();
  431. responseObjUtil response = new responseObjUtil();
  432. response.status = "-1";
  433. response.message = "Err unknow";
  434. try
  435. {
  436. usersObjProfile data = JsonConvert.DeserializeObject<usersObjProfile>(sendData.ToString());
  437. logger.Info("New request income usersUpdateProfile :" + data.ToString());
  438. //Check token
  439. var userObj = JObject.Parse(sendData.ToString());
  440. string token = Convert.ToString(userObj["token"]);
  441. string channel = Convert.ToString(userObj["channel"]);
  442. //var userObj = JObject.Parse(sendData.ToString());
  443. string language = Convert.ToString(userObj["language"]);
  444. if (string.IsNullOrEmpty(language)) language = "0";
  445. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  446. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  447. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  448. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  449. redisConnection _redis;
  450. memoryCache.TryGetValue("redis", out _redis);
  451. if (_redis == null)
  452. {
  453. var cacheExpiryOptions = new MemoryCacheEntryOptions
  454. {
  455. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  456. Priority = CacheItemPriority.High,
  457. SlidingExpiration = TimeSpan.FromMinutes(2),
  458. Size = 1024,
  459. };
  460. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  461. _redis.connet();
  462. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  463. }
  464. if (!_redis.isConnet())
  465. {
  466. if (!_redis.connet())
  467. {
  468. logger.Info("Connect to redis false");
  469. response.status = "-2";
  470. response.message = "System Update";
  471. logger.Info("confirmTicket response : " + response.ToString());
  472. return Ok(response);
  473. }
  474. else
  475. {
  476. var cacheExpiryOptions = new MemoryCacheEntryOptions
  477. {
  478. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  479. Priority = CacheItemPriority.High,
  480. SlidingExpiration = TimeSpan.FromMinutes(2),
  481. Size = 1024,
  482. };
  483. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  484. }
  485. }
  486. //----------------------Ket thuc lay redis tu cache -------------------------------------
  487. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  488. {
  489. logger.Info("Authen token false");
  490. response.status = "35";
  491. response.message = "Check Authen false";
  492. return Ok(response);
  493. }
  494. //Ket thuc check token
  495. DataSet ds_regist = usersDataAccess.USERS_UPDATE_PROFILE(data.users, data.fullName, data.sex, data.address, data.provinceId, data.cardNumber, data.email, data.company,
  496. data.description, data.picture,data.sexNeed,data.birthday,data.height,data.weight,data.work,data.serviceid,data.lookingFor);
  497. logger.Info("Call database USERS_UPDATE_PROFILE success:");
  498. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  499. {
  500. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  501. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  502. }
  503. }
  504. catch (Exception ex)
  505. {
  506. response.status = "-1";
  507. logger.Info("Err:" + ex.ToString());
  508. }
  509. logger.Info("Responase to web: " + response.ToString());
  510. return Ok(response);
  511. }
  512. //{"users":"50912345678","serviceId":"30","language":"0"}
  513. [HttpPost]
  514. public IActionResult usersGetProfile([FromBody] dynamic sendData)
  515. {
  516. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  517. //log4net.Config.XmlConfigurator.Configure();
  518. usersObjProfile response = new usersObjProfile();
  519. try
  520. {
  521. var userObj = JObject.Parse(sendData.ToString());
  522. string uid = Convert.ToString(userObj["users"]);
  523. string uidQuery = Convert.ToString(userObj["usersQuery"]);
  524. string sid = Convert.ToString(userObj["serviceId"]);
  525. string language = Convert.ToString(userObj["language"]);
  526. //var userObj = JObject.Parse(sendData.ToString());
  527. //string language = Convert.ToString(userObj["language"]);
  528. if (string.IsNullOrEmpty(language)) language = "0";
  529. logger.Info("New request income usersGetProfile :" + sendData.ToString());
  530. //Check token
  531. string token = Convert.ToString(userObj["token"]);
  532. string channel = Convert.ToString(userObj["channel"]);
  533. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  534. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  535. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  536. redisConnection _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  537. if (!_redis.connet())
  538. {
  539. logger.Info("Connect to redis false");
  540. response.status = "-2";
  541. response.message = "System Update";
  542. return Ok(response);
  543. }
  544. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  545. {
  546. logger.Info("Authen token false");
  547. response.status = "35";
  548. response.message = "Check Authen false";
  549. return Ok(response);
  550. }
  551. //Ket thuc check token
  552. DataSet ds_regist = usersDataAccess.USERS_GET_PROFILE(uid,sid,uidQuery);
  553. logger.Info("Call database usersGetProfile success:");
  554. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  555. {
  556. response.id = ds_regist.Tables[0].Rows[0]["id"].ToString();
  557. response.usersId = ds_regist.Tables[0].Rows[0]["user_id"].ToString();
  558. response.users = ds_regist.Tables[0].Rows[0]["users"].ToString();
  559. response.serviceid = ds_regist.Tables[0].Rows[0]["serviceid"].ToString();
  560. response.fullName = ds_regist.Tables[0].Rows[0]["fullName"].ToString();
  561. response.sex = ds_regist.Tables[0].Rows[0]["sex"].ToString();
  562. response.address = ds_regist.Tables[0].Rows[0]["address"].ToString();
  563. response.provinceId = ds_regist.Tables[0].Rows[0]["provinceId"].ToString();
  564. response.cardNumber = ds_regist.Tables[0].Rows[0]["cardNumber"].ToString();
  565. response.email = ds_regist.Tables[0].Rows[0]["email"].ToString();
  566. response.company = ds_regist.Tables[0].Rows[0]["company"].ToString();
  567. response.description = ds_regist.Tables[0].Rows[0]["description"].ToString();
  568. response.picture = ds_regist.Tables[0].Rows[0]["picture"].ToString();
  569. response.sexNeed = ds_regist.Tables[0].Rows[0]["sexNeed"].ToString();
  570. response.birthday = ds_regist.Tables[0].Rows[0]["birthday"].ToString();
  571. response.height = ds_regist.Tables[0].Rows[0]["height"].ToString();
  572. response.weight = ds_regist.Tables[0].Rows[0]["weight"].ToString();
  573. response.work = ds_regist.Tables[0].Rows[0]["work"].ToString();
  574. response.isLike = ds_regist.Tables[0].Rows[0]["isLike"].ToString();
  575. response.totalLike = ds_regist.Tables[0].Rows[0]["totalLike"].ToString();
  576. response.totalPic = ds_regist.Tables[0].Rows[0]["totalPicture"].ToString();
  577. response.totalView = ds_regist.Tables[0].Rows[0]["TOTALVIEW"].ToString();
  578. response.lookingFor = ds_regist.Tables[0].Rows[0]["LOOKING_FOR"].ToString();
  579. DataSet dsInterests = new DataSet();
  580. dsInterests = usersDataAccess.USERS_GET_INTERESTS_BY_USER(language, uid, sid);
  581. if (dsInterests != null & dsInterests.Tables[0].Rows.Count > 0)
  582. {
  583. response.listInterests = new usersInterests[dsInterests.Tables[0].Rows.Count];
  584. for (int j = 0; j < dsInterests.Tables[0].Rows.Count; j++)
  585. {
  586. usersInterests obj = new usersInterests();
  587. obj.id = dsInterests.Tables[0].Rows[j]["id"].ToString();
  588. obj.code = dsInterests.Tables[0].Rows[j]["code"].ToString();
  589. obj.name = dsInterests.Tables[0].Rows[j]["name"].ToString();
  590. obj.picture = dsInterests.Tables[0].Rows[j]["PICTURE"].ToString();
  591. response.listInterests[j] = obj;
  592. }
  593. }
  594. DataSet dsGift = new DataSet();
  595. dsGift = usersDataAccess.USERS_GIFT_GET_BUY_TOTAL_USERS(uid, sid);
  596. if (dsGift != null & dsGift.Tables[0].Rows.Count > 0)
  597. {
  598. response.listGift = new usersGift[dsGift.Tables[0].Rows.Count];
  599. for (int j = 0; j < dsGift.Tables[0].Rows.Count; j++)
  600. {
  601. usersGift obj = new usersGift();
  602. obj.id = dsGift.Tables[0].Rows[j]["id"].ToString();
  603. obj.code = dsGift.Tables[0].Rows[j]["code"].ToString();
  604. obj.name = dsGift.Tables[0].Rows[j]["name"].ToString();
  605. obj.chargMoney = dsGift.Tables[0].Rows[j]["CHARGE_MONEY"].ToString();
  606. obj.chargeCode = dsGift.Tables[0].Rows[j]["CHARGE_CODE"].ToString();
  607. obj.coin = dsGift.Tables[0].Rows[j]["COIN"].ToString();
  608. obj.status = dsGift.Tables[0].Rows[j]["STATUS"].ToString();
  609. response.listGift[j] = obj;
  610. }
  611. }
  612. }
  613. }
  614. catch (Exception ex)
  615. {
  616. }
  617. logger.Info("Responase to web: " + response.ToString());
  618. return Ok(response);
  619. }
  620. //{"users":"50912345678","serviceId":"30","proviceId":"1","fromAge":"1","toAge":"50","rowsOnPage":"2","seqPage":"1","language":"0","isLike":"1","type":"0"}
  621. [HttpPost]
  622. public IActionResult usersSeachProfile([FromBody] dynamic sendData)
  623. {
  624. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  625. //log4net.Config.XmlConfigurator.Configure();
  626. usersObjProfileList response = new usersObjProfileList();
  627. try
  628. {
  629. var userObj = JObject.Parse(sendData.ToString());
  630. string uid = Convert.ToString(userObj["users"]);
  631. string sid = Convert.ToString(userObj["serviceId"]);
  632. string prid = Convert.ToString(userObj["proviceId"]);
  633. string fromAge = Convert.ToString(userObj["fromAge"]);
  634. string toAge = Convert.ToString(userObj["toAge"]);
  635. string rowsOnPage = Convert.ToString(userObj["rowsOnPage"]);
  636. string seqPage = Convert.ToString(userObj["seqPage"]);
  637. string language = Convert.ToString(userObj["language"]);
  638. string isLike = Convert.ToString(userObj["isLike"]);
  639. string type = Convert.ToString(userObj["type"]);
  640. string seek = Convert.ToString(userObj["seek"]);
  641. if (string.IsNullOrEmpty(isLike)) isLike = "-1";
  642. if (string.IsNullOrEmpty(seek)) seek = "-1";
  643. if (string.IsNullOrEmpty(prid)) prid = "-1";
  644. if (string.IsNullOrEmpty(fromAge)) fromAge = "-1";
  645. if (string.IsNullOrEmpty(toAge)) toAge = "-1";
  646. if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "100000000";
  647. if (string.IsNullOrEmpty(seqPage)) seqPage = "1";
  648. if (string.IsNullOrEmpty(type) || type=="-1") type = "0";
  649. //var userObj = JObject.Parse(sendData.ToString());
  650. //string language = Convert.ToString(userObj["language"]);
  651. if (string.IsNullOrEmpty(language)) language = "0";
  652. logger.Info("New request income usersSeachProfile :" + sendData.ToString());
  653. //Check token
  654. string token = Convert.ToString(userObj["token"]);
  655. string channel = Convert.ToString(userObj["channel"]);
  656. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  657. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  658. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  659. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  660. redisConnection _redis;
  661. memoryCache.TryGetValue("redis", out _redis);
  662. if (_redis == null)
  663. {
  664. var cacheExpiryOptions = new MemoryCacheEntryOptions
  665. {
  666. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  667. Priority = CacheItemPriority.High,
  668. SlidingExpiration = TimeSpan.FromMinutes(2),
  669. Size = 1024,
  670. };
  671. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  672. _redis.connet();
  673. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  674. }
  675. if (!_redis.isConnet())
  676. {
  677. if (!_redis.connet())
  678. {
  679. logger.Info("Connect to redis false");
  680. response.status = "-2";
  681. response.message = "System Update";
  682. logger.Info("confirmTicket response : " + response.ToString());
  683. return Ok(response);
  684. }
  685. else
  686. {
  687. var cacheExpiryOptions = new MemoryCacheEntryOptions
  688. {
  689. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  690. Priority = CacheItemPriority.High,
  691. SlidingExpiration = TimeSpan.FromMinutes(2),
  692. Size = 1024,
  693. };
  694. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  695. }
  696. }
  697. //----------------------Ket thuc lay redis tu cache -------------------------------------
  698. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  699. {
  700. logger.Info("Authen token false");
  701. response.status = "35";
  702. response.message = "Check Authen false";
  703. return Ok(response);
  704. }
  705. //Ket thuc check token
  706. DataSet ds_regist = usersDataAccess.USERS_SEARCHE_PROFILE(uid, sid, prid, fromAge, toAge, rowsOnPage, seqPage, isLike, type, seek);
  707. logger.Info("Call database usersSeachProfile success:");
  708. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  709. {
  710. response.status = "0";
  711. response.message = "Success";
  712. response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString();
  713. response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString();
  714. response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString();
  715. response.listProfile = new usersObjProfile[ds_regist.Tables[0].Rows.Count];
  716. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  717. {
  718. usersObjProfile obj = new usersObjProfile();
  719. obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString();
  720. obj.users = ds_regist.Tables[0].Rows[j]["users"].ToString();
  721. obj.serviceid = ds_regist.Tables[0].Rows[j]["serviceid"].ToString();
  722. obj.fullName = ds_regist.Tables[0].Rows[j]["fullName"].ToString();
  723. obj.sex = ds_regist.Tables[0].Rows[j]["sex"].ToString();
  724. obj.address = ds_regist.Tables[0].Rows[j]["address"].ToString();
  725. obj.provinceId = ds_regist.Tables[0].Rows[j]["provinceId"].ToString();
  726. obj.cardNumber = ds_regist.Tables[0].Rows[j]["cardNumber"].ToString();
  727. obj.email = ds_regist.Tables[0].Rows[j]["email"].ToString();
  728. obj.company = ds_regist.Tables[0].Rows[j]["company"].ToString();
  729. obj.description = ds_regist.Tables[0].Rows[j]["description"].ToString();
  730. obj.picture = ds_regist.Tables[0].Rows[j]["picture"].ToString();
  731. obj.sexNeed = ds_regist.Tables[0].Rows[j]["sexNeed"].ToString();
  732. obj.birthday = ds_regist.Tables[0].Rows[j]["birthday"].ToString();
  733. obj.height = ds_regist.Tables[0].Rows[j]["height"].ToString();
  734. obj.weight = ds_regist.Tables[0].Rows[j]["weight"].ToString();
  735. obj.work = ds_regist.Tables[0].Rows[j]["work"].ToString();
  736. obj.isLike = ds_regist.Tables[0].Rows[j]["isLike"].ToString();
  737. obj.usersId = ds_regist.Tables[0].Rows[j]["USER_ID"].ToString();
  738. obj.totalPic = ds_regist.Tables[0].Rows[j]["PIC_TOTAL"].ToString();
  739. obj.totalLike = ds_regist.Tables[0].Rows[j]["TOTALLIKE"].ToString();
  740. obj.totalView = ds_regist.Tables[0].Rows[j]["TOTALVIEW"].ToString();
  741. obj.lookingFor = ds_regist.Tables[0].Rows[j]["LOOKING_FOR"].ToString();
  742. DataSet dsInterests = new DataSet();
  743. dsInterests = usersDataAccess.USERS_GET_INTERESTS_BY_USER(language, obj.users, obj.serviceid);
  744. if (dsInterests != null & dsInterests.Tables[0].Rows.Count > 0)
  745. {
  746. obj.listInterests = new usersInterests[dsInterests.Tables[0].Rows.Count];
  747. for (int k = 0; k < dsInterests.Tables[0].Rows.Count; k++)
  748. {
  749. usersInterests obj1 = new usersInterests();
  750. obj1.id = dsInterests.Tables[0].Rows[k]["id"].ToString();
  751. obj1.code = dsInterests.Tables[0].Rows[k]["code"].ToString();
  752. obj1.name = dsInterests.Tables[0].Rows[k]["name"].ToString();
  753. obj1.picture = dsInterests.Tables[0].Rows[k]["PICTURE"].ToString();
  754. obj.listInterests[k] = obj1;
  755. }
  756. }
  757. DataSet dsGift = new DataSet();
  758. dsGift = usersDataAccess.USERS_GIFT_GET_BUY_TOTAL_USERS(uid, sid);
  759. if (dsGift != null & dsGift.Tables[0].Rows.Count > 0)
  760. {
  761. obj.listGift = new usersGift[dsGift.Tables[0].Rows.Count];
  762. for (int n = 0; n < dsGift.Tables[0].Rows.Count; n++)
  763. {
  764. usersGift obj2 = new usersGift();
  765. obj2.id = dsGift.Tables[0].Rows[n]["id"].ToString();
  766. obj2.code = dsGift.Tables[0].Rows[n]["code"].ToString();
  767. obj2.name = dsGift.Tables[0].Rows[n]["name"].ToString();
  768. obj2.chargMoney = dsGift.Tables[0].Rows[n]["CHARGE_MONEY"].ToString();
  769. obj2.chargeCode = dsGift.Tables[0].Rows[n]["CHARGE_CODE"].ToString();
  770. obj2.coin = dsGift.Tables[0].Rows[n]["COIN"].ToString();
  771. obj2.status = dsGift.Tables[0].Rows[n]["STATUS"].ToString();
  772. obj.listGift[n] = obj2;
  773. }
  774. }
  775. response.listProfile[j] = obj;
  776. }
  777. }
  778. else
  779. {
  780. response.status = "1";
  781. response.message = "No data";
  782. }
  783. }
  784. catch (Exception ex)
  785. {
  786. }
  787. logger.Info("Responase to web: " + response.ToString());
  788. return Ok(response);
  789. }
  790. // {"users":"50912345678","serviceId":"30","users_receved":"50912345671123"}
  791. [HttpPost]
  792. public IActionResult usersViewUpdate([FromBody] dynamic sendData)
  793. {
  794. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  795. //log4net.Config.XmlConfigurator.Configure();
  796. responseObjUtil response = new responseObjUtil();
  797. response.status = "-1";
  798. response.message = "Err unknow";
  799. try
  800. {
  801. var userObj = JObject.Parse(sendData.ToString());
  802. string users = Convert.ToString(userObj["users"]);
  803. string serviceId = Convert.ToString(userObj["serviceId"]);
  804. string users_receved = Convert.ToString(userObj["users_receved"]);
  805. //var userObj = JObject.Parse(sendData.ToString());
  806. string language = Convert.ToString(userObj["language"]);
  807. if (string.IsNullOrEmpty(language)) language = "0";
  808. logger.Info("New request income usersViewUpdate :" + sendData.ToString());
  809. //Check token
  810. string token = Convert.ToString(userObj["token"]);
  811. string channel = Convert.ToString(userObj["channel"]);
  812. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  813. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  814. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  815. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  816. redisConnection _redis;
  817. memoryCache.TryGetValue("redis", out _redis);
  818. if (_redis == null)
  819. {
  820. var cacheExpiryOptions = new MemoryCacheEntryOptions
  821. {
  822. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  823. Priority = CacheItemPriority.High,
  824. SlidingExpiration = TimeSpan.FromMinutes(2),
  825. Size = 1024,
  826. };
  827. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  828. _redis.connet();
  829. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  830. }
  831. if (!_redis.isConnet())
  832. {
  833. if (!_redis.connet())
  834. {
  835. logger.Info("Connect to redis false");
  836. response.status = "-2";
  837. response.message = "System Update";
  838. logger.Info("confirmTicket response : " + response.ToString());
  839. return Ok(response);
  840. }
  841. else
  842. {
  843. var cacheExpiryOptions = new MemoryCacheEntryOptions
  844. {
  845. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  846. Priority = CacheItemPriority.High,
  847. SlidingExpiration = TimeSpan.FromMinutes(2),
  848. Size = 1024,
  849. };
  850. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  851. }
  852. }
  853. //----------------------Ket thuc lay redis tu cache -------------------------------------
  854. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  855. {
  856. logger.Info("Authen token false");
  857. response.status = "35";
  858. response.message = "Check Authen false";
  859. return Ok(response);
  860. }
  861. //Ket thuc check token
  862. DataSet ds_regist = usersDataAccess.USERS_VIEW_UPDATE(users, serviceId, users_receved);
  863. logger.Info("Call database USERS_VIEW_UPDATE success:");
  864. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  865. {
  866. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  867. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  868. }
  869. }
  870. catch (Exception ex)
  871. {
  872. response.status = "-1";
  873. logger.Info("Err:" + ex.ToString());
  874. }
  875. logger.Info("Responase to web: " + response.ToString());
  876. return Ok(response);
  877. }
  878. //{"users":"50912345678","serviceId":"30","rowsOnPage":"2","seqPage":"1"}
  879. [HttpPost]
  880. public IActionResult usersChatGet_BK([FromBody] dynamic sendData)
  881. {
  882. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  883. //log4net.Config.XmlConfigurator.Configure();
  884. usersChatList response = new usersChatList();
  885. try
  886. {
  887. var userObj = JObject.Parse(sendData.ToString());
  888. string uid = Convert.ToString(userObj["users"]);
  889. string sid = Convert.ToString(userObj["serviceId"]);
  890. string rowsOnPage = Convert.ToString(userObj["rowsOnPage"]);
  891. string seqPage = Convert.ToString(userObj["seqPage"]);
  892. if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "100000000";
  893. if (string.IsNullOrEmpty(seqPage)) seqPage = "1";
  894. //var userObj = JObject.Parse(sendData.ToString());
  895. string language = Convert.ToString(userObj["language"]);
  896. if (string.IsNullOrEmpty(language)) language = "0";
  897. logger.Info("New request income usersChatGetList :" + sendData.ToString());
  898. //Check token
  899. string token = Convert.ToString(userObj["token"]);
  900. string channel = Convert.ToString(userObj["channel"]);
  901. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  902. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  903. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  904. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  905. redisConnection _redis;
  906. memoryCache.TryGetValue("redis", out _redis);
  907. if (_redis == null)
  908. {
  909. var cacheExpiryOptions = new MemoryCacheEntryOptions
  910. {
  911. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  912. Priority = CacheItemPriority.High,
  913. SlidingExpiration = TimeSpan.FromMinutes(2),
  914. Size = 1024,
  915. };
  916. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  917. _redis.connet();
  918. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  919. }
  920. if (!_redis.isConnet())
  921. {
  922. if (!_redis.connet())
  923. {
  924. logger.Info("Connect to redis false");
  925. response.status = "-2";
  926. response.message = "System Update";
  927. logger.Info("confirmTicket response : " + response.ToString());
  928. return Ok(response);
  929. }
  930. else
  931. {
  932. var cacheExpiryOptions = new MemoryCacheEntryOptions
  933. {
  934. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  935. Priority = CacheItemPriority.High,
  936. SlidingExpiration = TimeSpan.FromMinutes(2),
  937. Size = 1024,
  938. };
  939. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  940. }
  941. }
  942. //----------------------Ket thuc lay redis tu cache -------------------------------------
  943. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  944. {
  945. logger.Info("Authen token false");
  946. response.status = "35";
  947. response.message = "Check Authen false";
  948. return Ok(response);
  949. }
  950. //Ket thuc check token
  951. DataSet ds_regist = usersDataAccess.USERS_CHAT_GET(uid, sid, rowsOnPage, seqPage);
  952. logger.Info("Call database USERS_CHAT_GET success:");
  953. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  954. {
  955. response.status = "0";
  956. response.message = "Success";
  957. response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString();
  958. response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString();
  959. response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString();
  960. response.listUsersChat = new usersChat[ds_regist.Tables[0].Rows.Count];
  961. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  962. {
  963. usersChat obj = new usersChat();
  964. obj.seq = ds_regist.Tables[0].Rows[j]["SEQ"].ToString();
  965. obj.id = ds_regist.Tables[0].Rows[j]["CHAT_ID"].ToString();
  966. obj.title = ds_regist.Tables[0].Rows[j]["TITLE"].ToString();
  967. obj.createdDate = ds_regist.Tables[0].Rows[j]["vsysdate"].ToString();
  968. obj.lastUpdateDate = ds_regist.Tables[0].Rows[j]["LASTUPDATE"].ToString();
  969. obj.youId = ds_regist.Tables[0].Rows[j]["YOU_ID"].ToString();
  970. obj.youName = ds_regist.Tables[0].Rows[j]["YOU_NAME"].ToString();
  971. obj.youUsers = ds_regist.Tables[0].Rows[j]["YOU_USER"].ToString();
  972. obj.youPictrure = ds_regist.Tables[0].Rows[j]["YOU_PIC"].ToString();
  973. obj.frendId = ds_regist.Tables[0].Rows[j]["FREND_ID"].ToString();
  974. obj.frendName = ds_regist.Tables[0].Rows[j]["FREND_NAME"].ToString();
  975. obj.frendUsers = ds_regist.Tables[0].Rows[j]["FREND_USER"].ToString();
  976. obj.frendPicture = ds_regist.Tables[0].Rows[j]["FREND_PIC"].ToString();
  977. obj.totalNotCheck = ds_regist.Tables[0].Rows[j]["TOTAL_NOT_CHECK"].ToString();
  978. response.listUsersChat[j] = obj;
  979. }
  980. }
  981. else
  982. {
  983. response.status = "1";
  984. response.message = "No data";
  985. }
  986. }
  987. catch (Exception ex)
  988. {
  989. }
  990. logger.Info("Responase to web: " + response.ToString());
  991. return Ok(response);
  992. }
  993. //{"users":"50912345678","serviceId":"30","rowsOnPage":"2","seqPage":"1","keyword":"1123"}
  994. [HttpPost]
  995. public IActionResult usersChatGet([FromBody] dynamic sendData)
  996. {
  997. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  998. //log4net.Config.XmlConfigurator.Configure();
  999. usersChatList response = new usersChatList();
  1000. try
  1001. {
  1002. var userObj = JObject.Parse(sendData.ToString());
  1003. string uid = Convert.ToString(userObj["users"]);
  1004. string sid = Convert.ToString(userObj["serviceId"]);
  1005. string rowsOnPage = Convert.ToString(userObj["rowsOnPage"]);
  1006. string seqPage = Convert.ToString(userObj["seqPage"]);
  1007. string keyword = Convert.ToString(userObj["keyword"]);
  1008. if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "100000000";
  1009. if (string.IsNullOrEmpty(seqPage)) seqPage = "1";
  1010. if (string.IsNullOrEmpty(keyword)) keyword = "-1";
  1011. //var userObj = JObject.Parse(sendData.ToString());
  1012. string language = Convert.ToString(userObj["language"]);
  1013. if (string.IsNullOrEmpty(language)) language = "0";
  1014. logger.Info("New request income usersChatGetList :" + sendData.ToString());
  1015. //Check token
  1016. string token = Convert.ToString(userObj["token"]);
  1017. string channel = Convert.ToString(userObj["channel"]);
  1018. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1019. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1020. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1021. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1022. redisConnection _redis;
  1023. memoryCache.TryGetValue("redis", out _redis);
  1024. if (_redis == null)
  1025. {
  1026. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1027. {
  1028. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1029. Priority = CacheItemPriority.High,
  1030. SlidingExpiration = TimeSpan.FromMinutes(2),
  1031. Size = 1024,
  1032. };
  1033. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1034. _redis.connet();
  1035. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1036. }
  1037. if (!_redis.isConnet())
  1038. {
  1039. if (!_redis.connet())
  1040. {
  1041. logger.Info("Connect to redis false");
  1042. response.status = "-2";
  1043. response.message = "System Update";
  1044. logger.Info("confirmTicket response : " + response.ToString());
  1045. return Ok(response);
  1046. }
  1047. else
  1048. {
  1049. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1050. {
  1051. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1052. Priority = CacheItemPriority.High,
  1053. SlidingExpiration = TimeSpan.FromMinutes(2),
  1054. Size = 1024,
  1055. };
  1056. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1057. }
  1058. }
  1059. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1060. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1061. {
  1062. logger.Info("Authen token false");
  1063. response.status = "35";
  1064. response.message = "Check Authen false";
  1065. return Ok(response);
  1066. }
  1067. //Ket thuc check token
  1068. DataSet ds_regist = usersDataAccess.USERS_CHAT_GET(uid, sid, rowsOnPage, seqPage);
  1069. logger.Info("Call database USERS_CHAT_GET success:");
  1070. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1071. {
  1072. response.status = "0";
  1073. response.message = "Success";
  1074. response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString();
  1075. response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString();
  1076. response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString();
  1077. response.listUsersChat = new usersChat[ds_regist.Tables[0].Rows.Count];
  1078. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  1079. {
  1080. usersChat obj = new usersChat();
  1081. obj.seq = ds_regist.Tables[0].Rows[j]["SEQ"].ToString();
  1082. obj.id = ds_regist.Tables[0].Rows[j]["CHAT_ID"].ToString();
  1083. obj.title = ds_regist.Tables[0].Rows[j]["TITLE"].ToString();
  1084. obj.createdDate = ds_regist.Tables[0].Rows[j]["vsysdate"].ToString();
  1085. obj.lastUpdateDate = ds_regist.Tables[0].Rows[j]["LASTUPDATE"].ToString();
  1086. obj.youId = ds_regist.Tables[0].Rows[j]["YOU_ID"].ToString();
  1087. obj.youName = ds_regist.Tables[0].Rows[j]["YOU_NAME"].ToString();
  1088. obj.youUsers = ds_regist.Tables[0].Rows[j]["YOU_USER"].ToString();
  1089. obj.youPictrure = ds_regist.Tables[0].Rows[j]["YOU_PIC"].ToString();
  1090. obj.frendId = ds_regist.Tables[0].Rows[j]["FREND_ID"].ToString();
  1091. obj.frendName = ds_regist.Tables[0].Rows[j]["FREND_NAME"].ToString();
  1092. obj.frendUsers = ds_regist.Tables[0].Rows[j]["FREND_USER"].ToString();
  1093. obj.frendPicture = ds_regist.Tables[0].Rows[j]["FREND_PIC"].ToString();
  1094. obj.totalNotCheck = ds_regist.Tables[0].Rows[j]["TOTAL_NOT_CHECK"].ToString();
  1095. response.listUsersChat[j] = obj;
  1096. }
  1097. }
  1098. else
  1099. {
  1100. response.status = "1";
  1101. response.message = "No data";
  1102. }
  1103. }
  1104. catch (Exception ex)
  1105. {
  1106. }
  1107. logger.Info("Responase to web: " + response.ToString());
  1108. return Ok(response);
  1109. }
  1110. //{"chatId":"1","rowsOnPage":"2","seqPage":"1"}
  1111. [HttpPost]
  1112. public IActionResult usersChatDetailGet([FromBody] dynamic sendData)
  1113. {
  1114. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1115. //log4net.Config.XmlConfigurator.Configure();
  1116. usersChatDetailList response = new usersChatDetailList();
  1117. try
  1118. {
  1119. var userObj = JObject.Parse(sendData.ToString());
  1120. string chatId = Convert.ToString(userObj["chatId"]);
  1121. string uid = Convert.ToString(userObj["users"]);
  1122. string sid = Convert.ToString(userObj["serviceId"]);
  1123. string rowsOnPage = Convert.ToString(userObj["rowsOnPage"]);
  1124. string seqPage = Convert.ToString(userObj["seqPage"]);
  1125. if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "100000000";
  1126. if (string.IsNullOrEmpty(seqPage)) seqPage = "1";
  1127. //var userObj = JObject.Parse(sendData.ToString());
  1128. string language = Convert.ToString(userObj["language"]);
  1129. if (string.IsNullOrEmpty(language)) language = "0";
  1130. logger.Info("New request income usersChatDetailGet :" + sendData.ToString());
  1131. //Check token
  1132. string token = Convert.ToString(userObj["token"]);
  1133. string channel = Convert.ToString(userObj["channel"]);
  1134. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1135. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1136. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1137. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1138. redisConnection _redis;
  1139. memoryCache.TryGetValue("redis", out _redis);
  1140. if (_redis == null)
  1141. {
  1142. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1143. {
  1144. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1145. Priority = CacheItemPriority.High,
  1146. SlidingExpiration = TimeSpan.FromMinutes(2),
  1147. Size = 1024,
  1148. };
  1149. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1150. _redis.connet();
  1151. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1152. }
  1153. if (!_redis.isConnet())
  1154. {
  1155. if (!_redis.connet())
  1156. {
  1157. logger.Info("Connect to redis false");
  1158. response.status = "-2";
  1159. response.message = "System Update";
  1160. logger.Info("confirmTicket response : " + response.ToString());
  1161. return Ok(response);
  1162. }
  1163. else
  1164. {
  1165. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1166. {
  1167. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1168. Priority = CacheItemPriority.High,
  1169. SlidingExpiration = TimeSpan.FromMinutes(2),
  1170. Size = 1024,
  1171. };
  1172. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1173. }
  1174. }
  1175. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1176. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1177. {
  1178. logger.Info("Authen token false");
  1179. response.status = "35";
  1180. response.message = "Check Authen false";
  1181. return Ok(response);
  1182. }
  1183. //Ket thuc check token
  1184. DataSet ds_regist = usersDataAccess.USERS_CHAT_DETAIL_GET(chatId, rowsOnPage, seqPage, uid, sid);
  1185. logger.Info("Call database USERS_CHAT_DETAIL_GET success:");
  1186. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1187. {
  1188. response.status = "0";
  1189. response.message = "Success";
  1190. response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString();
  1191. response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString();
  1192. response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString();
  1193. response.listUsersChatDetail = new usersChatDetail[ds_regist.Tables[0].Rows.Count];
  1194. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  1195. {
  1196. usersChatDetail obj = new usersChatDetail();
  1197. obj.seq = ds_regist.Tables[0].Rows[j]["SEQ"].ToString();
  1198. obj.id = ds_regist.Tables[0].Rows[j]["ID"].ToString();
  1199. obj.message = ds_regist.Tables[0].Rows[j]["MESSAGE"].ToString();
  1200. obj.chatId = ds_regist.Tables[0].Rows[j]["CHAT_ID"].ToString();
  1201. obj.isCheck = ds_regist.Tables[0].Rows[j]["IS_CHECK"].ToString();
  1202. obj.createdDate = ds_regist.Tables[0].Rows[j]["vsysdate"].ToString();
  1203. obj.userIdSend = ds_regist.Tables[0].Rows[j]["USER_ID_SEND"].ToString();
  1204. obj.fullNamSend = ds_regist.Tables[0].Rows[j]["USER_NAME_SEND"].ToString();
  1205. obj.userIdReceived = ds_regist.Tables[0].Rows[j]["USER_ID_RECEIVED"].ToString();
  1206. obj.fullNamReceived = ds_regist.Tables[0].Rows[j]["USER_NAME_RECEIVED"].ToString();
  1207. response.listUsersChatDetail[j] = obj;
  1208. }
  1209. }
  1210. else
  1211. {
  1212. response.status = "1";
  1213. response.message = "No data";
  1214. }
  1215. }
  1216. catch (Exception ex)
  1217. {
  1218. }
  1219. logger.Info("Responase to web: " + response.ToString());
  1220. return Ok(response);
  1221. }
  1222. //{"users":"50912345678","serviceId":"30","users_receved":"509123456789","message":"Nam","title":"than gui ban","chatId":"123"}
  1223. [HttpPost]
  1224. public IActionResult usersChatSend([FromBody] dynamic sendData)
  1225. {
  1226. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1227. //log4net.Config.XmlConfigurator.Configure();
  1228. usersChatSend response = new usersChatSend();
  1229. response.status = "-1";
  1230. response.message = "Err unknow";
  1231. try
  1232. {
  1233. var userObj = JObject.Parse(sendData.ToString());
  1234. string users = Convert.ToString(userObj["users"]);
  1235. string serviceid = Convert.ToString(userObj["serviceId"]);
  1236. string users_receved = Convert.ToString(userObj["users_receved"]);
  1237. string message = Convert.ToString(userObj["message"]);
  1238. string title = Convert.ToString(userObj["title"]);
  1239. string chatId = Convert.ToString(userObj["chatId"]);
  1240. if (string.IsNullOrEmpty(chatId)) chatId = "-1";
  1241. //var userObj = JObject.Parse(sendData.ToString());
  1242. string language = Convert.ToString(userObj["language"]);
  1243. if (string.IsNullOrEmpty(language)) language = "0";
  1244. logger.Info("New request income usersChatSend :" + sendData.ToString());
  1245. //Check token
  1246. string token = Convert.ToString(userObj["token"]);
  1247. string channel = Convert.ToString(userObj["channel"]);
  1248. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1249. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1250. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1251. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1252. redisConnection _redis;
  1253. memoryCache.TryGetValue("redis", out _redis);
  1254. if (_redis == null)
  1255. {
  1256. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1257. {
  1258. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1259. Priority = CacheItemPriority.High,
  1260. SlidingExpiration = TimeSpan.FromMinutes(2),
  1261. Size = 1024,
  1262. };
  1263. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1264. _redis.connet();
  1265. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1266. }
  1267. if (!_redis.isConnet())
  1268. {
  1269. if (!_redis.connet())
  1270. {
  1271. logger.Info("Connect to redis false");
  1272. response.status = "-2";
  1273. response.message = "System Update";
  1274. logger.Info("confirmTicket response : " + response.ToString());
  1275. return Ok(response);
  1276. }
  1277. else
  1278. {
  1279. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1280. {
  1281. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1282. Priority = CacheItemPriority.High,
  1283. SlidingExpiration = TimeSpan.FromMinutes(2),
  1284. Size = 1024,
  1285. };
  1286. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1287. }
  1288. }
  1289. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1290. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1291. {
  1292. logger.Info("Authen token false");
  1293. response.status = "35";
  1294. response.message = "Check Authen false";
  1295. return Ok(response);
  1296. }
  1297. //Ket thuc check token
  1298. DataSet ds_regist = usersDataAccess.USERS_CHAT_SEND_MSG(users, serviceid, users_receved, message, title,chatId);
  1299. logger.Info("Call database USERS_CHAT_SEND_MSG success:");
  1300. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1301. {
  1302. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  1303. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  1304. response.chatId = ds_regist.Tables[0].Rows[0]["CHAT_ID"].ToString();
  1305. }
  1306. }
  1307. catch (Exception ex)
  1308. {
  1309. response.status = "-1";
  1310. logger.Info("Err:" + ex.ToString());
  1311. }
  1312. logger.Info("Responase to web: " + response.ToString());
  1313. return Ok(response);
  1314. }
  1315. //{"chatDetailId":"2"}
  1316. [HttpPost]
  1317. public IActionResult usersChatDetailUpCheck([FromBody] dynamic sendData)
  1318. {
  1319. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1320. //log4net.Config.XmlConfigurator.Configure();
  1321. responseObjUtil response = new responseObjUtil();
  1322. response.status = "-1";
  1323. response.message = "Err unknow";
  1324. try
  1325. {
  1326. var userObj = JObject.Parse(sendData.ToString());
  1327. string chatDetailId = Convert.ToString(userObj["chatDetailId"]);
  1328. //var userObj = JObject.Parse(sendData.ToString());
  1329. string language = Convert.ToString(userObj["language"]);
  1330. if (string.IsNullOrEmpty(language)) language = "0";
  1331. logger.Info("New request income usersChatDetailUpCheck :" + sendData.ToString());
  1332. //Check token
  1333. string token = Convert.ToString(userObj["token"]);
  1334. string channel = Convert.ToString(userObj["channel"]);
  1335. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1336. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1337. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1338. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1339. redisConnection _redis;
  1340. memoryCache.TryGetValue("redis", out _redis);
  1341. if (_redis == null)
  1342. {
  1343. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1344. {
  1345. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1346. Priority = CacheItemPriority.High,
  1347. SlidingExpiration = TimeSpan.FromMinutes(2),
  1348. Size = 1024,
  1349. };
  1350. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1351. _redis.connet();
  1352. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1353. }
  1354. if (!_redis.isConnet())
  1355. {
  1356. if (!_redis.connet())
  1357. {
  1358. logger.Info("Connect to redis false");
  1359. response.status = "-2";
  1360. response.message = "System Update";
  1361. logger.Info("confirmTicket response : " + response.ToString());
  1362. return Ok(response);
  1363. }
  1364. else
  1365. {
  1366. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1367. {
  1368. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1369. Priority = CacheItemPriority.High,
  1370. SlidingExpiration = TimeSpan.FromMinutes(2),
  1371. Size = 1024,
  1372. };
  1373. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1374. }
  1375. }
  1376. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1377. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1378. {
  1379. logger.Info("Authen token false");
  1380. response.status = "35";
  1381. response.message = "Check Authen false";
  1382. return Ok(response);
  1383. }
  1384. //Ket thuc check token
  1385. DataSet ds_regist = usersDataAccess.USERS_CHAT_DETAIL_CHECK(chatDetailId);
  1386. logger.Info("Call database USERS_CHAT_DETAIL_CHECK success:");
  1387. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1388. {
  1389. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  1390. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  1391. }
  1392. }
  1393. catch (Exception ex)
  1394. {
  1395. response.status = "-1";
  1396. logger.Info("Err:" + ex.ToString());
  1397. }
  1398. logger.Info("Responase to web: " + response.ToString());
  1399. return Ok(response);
  1400. }
  1401. //{"chatId":"2"}
  1402. [HttpPost]
  1403. public IActionResult usersChatDelete([FromBody] dynamic sendData)
  1404. {
  1405. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1406. //log4net.Config.XmlConfigurator.Configure();
  1407. responseObjUtil response = new responseObjUtil();
  1408. response.status = "-1";
  1409. response.message = "Err unknow";
  1410. try
  1411. {
  1412. var userObj = JObject.Parse(sendData.ToString());
  1413. string chatId = Convert.ToString(userObj["chatId"]);
  1414. //var userObj = JObject.Parse(sendData.ToString());
  1415. string language = Convert.ToString(userObj["language"]);
  1416. if (string.IsNullOrEmpty(language)) language = "0";
  1417. logger.Info("New request income usersChatDelete :" + sendData.ToString());
  1418. //Check token
  1419. string token = Convert.ToString(userObj["token"]);
  1420. string channel = Convert.ToString(userObj["channel"]);
  1421. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1422. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1423. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1424. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1425. redisConnection _redis;
  1426. memoryCache.TryGetValue("redis", out _redis);
  1427. if (_redis == null)
  1428. {
  1429. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1430. {
  1431. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1432. Priority = CacheItemPriority.High,
  1433. SlidingExpiration = TimeSpan.FromMinutes(2),
  1434. Size = 1024,
  1435. };
  1436. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1437. _redis.connet();
  1438. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1439. }
  1440. if (!_redis.isConnet())
  1441. {
  1442. if (!_redis.connet())
  1443. {
  1444. logger.Info("Connect to redis false");
  1445. response.status = "-2";
  1446. response.message = "System Update";
  1447. logger.Info("confirmTicket response : " + response.ToString());
  1448. return Ok(response);
  1449. }
  1450. else
  1451. {
  1452. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1453. {
  1454. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1455. Priority = CacheItemPriority.High,
  1456. SlidingExpiration = TimeSpan.FromMinutes(2),
  1457. Size = 1024,
  1458. };
  1459. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1460. }
  1461. }
  1462. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1463. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1464. {
  1465. logger.Info("Authen token false");
  1466. response.status = "35";
  1467. response.message = "Check Authen false";
  1468. return Ok(response);
  1469. }
  1470. //Ket thuc check token
  1471. DataSet ds_regist = usersDataAccess.USERS_CHAT_DEL(chatId);
  1472. logger.Info("Call database USERS_CHAT_DEL success:");
  1473. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1474. {
  1475. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  1476. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  1477. }
  1478. }
  1479. catch (Exception ex)
  1480. {
  1481. response.status = "-1";
  1482. logger.Info("Err:" + ex.ToString());
  1483. }
  1484. logger.Info("Responase to web: " + response.ToString());
  1485. return Ok(response);
  1486. }
  1487. //{"chatDetailId":"2"}
  1488. [HttpPost]
  1489. public IActionResult usersChatDetailDelete([FromBody] dynamic sendData)
  1490. {
  1491. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1492. //log4net.Config.XmlConfigurator.Configure();
  1493. responseObjUtil response = new responseObjUtil();
  1494. response.status = "-1";
  1495. response.message = "Err unknow";
  1496. try
  1497. {
  1498. var userObj = JObject.Parse(sendData.ToString());
  1499. string chatDetailId = Convert.ToString(userObj["chatDetailId"]);
  1500. //var userObj = JObject.Parse(sendData.ToString());
  1501. string language = Convert.ToString(userObj["language"]);
  1502. if (string.IsNullOrEmpty(language)) language = "0";
  1503. logger.Info("New request income usersChatDetailDelete :" + sendData.ToString());
  1504. //Check token
  1505. string token = Convert.ToString(userObj["token"]);
  1506. string channel = Convert.ToString(userObj["channel"]);
  1507. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1508. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1509. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1510. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1511. redisConnection _redis;
  1512. memoryCache.TryGetValue("redis", out _redis);
  1513. if (_redis == null)
  1514. {
  1515. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1516. {
  1517. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1518. Priority = CacheItemPriority.High,
  1519. SlidingExpiration = TimeSpan.FromMinutes(2),
  1520. Size = 1024,
  1521. };
  1522. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1523. _redis.connet();
  1524. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1525. }
  1526. if (!_redis.isConnet())
  1527. {
  1528. if (!_redis.connet())
  1529. {
  1530. logger.Info("Connect to redis false");
  1531. response.status = "-2";
  1532. response.message = "System Update";
  1533. logger.Info("confirmTicket response : " + response.ToString());
  1534. return Ok(response);
  1535. }
  1536. else
  1537. {
  1538. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1539. {
  1540. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1541. Priority = CacheItemPriority.High,
  1542. SlidingExpiration = TimeSpan.FromMinutes(2),
  1543. Size = 1024,
  1544. };
  1545. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1546. }
  1547. }
  1548. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1549. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1550. {
  1551. logger.Info("Authen token false");
  1552. response.status = "35";
  1553. response.message = "Check Authen false";
  1554. return Ok(response);
  1555. }
  1556. //Ket thuc check token
  1557. DataSet ds_regist = usersDataAccess.USERS_CHAT_DETAIL_DEL(chatDetailId);
  1558. logger.Info("Call database USERS_CHAT_DETAIL_DEL success:");
  1559. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1560. {
  1561. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  1562. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  1563. }
  1564. }
  1565. catch (Exception ex)
  1566. {
  1567. response.status = "-1";
  1568. logger.Info("Err:" + ex.ToString());
  1569. }
  1570. logger.Info("Responase to web: " + response.ToString());
  1571. return Ok(response);
  1572. }
  1573. //{"users":"50912345678","serviceId":"30","users_receved":"509123456789","message":"Nam","title":"than gui ban"}
  1574. [HttpPost]
  1575. public IActionResult usersMesageSend([FromBody] dynamic sendData)
  1576. {
  1577. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1578. //log4net.Config.XmlConfigurator.Configure();
  1579. responseObjUtil response = new responseObjUtil();
  1580. response.status = "-1";
  1581. response.message = "Err unknow";
  1582. try
  1583. {
  1584. var userObj = JObject.Parse(sendData.ToString());
  1585. string users = Convert.ToString(userObj["users"]);
  1586. string serviceid = Convert.ToString(userObj["serviceId"]);
  1587. string users_receved = Convert.ToString(userObj["users_receved"]);
  1588. string messageLocal = Convert.ToString(userObj["messageLocal"]);
  1589. string messageGlobal = Convert.ToString(userObj["messageGlobal"]);
  1590. string titleLocal = Convert.ToString(userObj["titleLocal"]);
  1591. string titleGlobal = Convert.ToString(userObj["titleGlobal"]);
  1592. //var userObj = JObject.Parse(sendData.ToString());
  1593. string language = Convert.ToString(userObj["language"]);
  1594. if (string.IsNullOrEmpty(language)) language = "0";
  1595. logger.Info("New request income usersMesageSend :" + sendData.ToString());
  1596. //Check token
  1597. //var userObj = JObject.Parse(sendData.ToString());
  1598. string token = Convert.ToString(userObj["token"]);
  1599. string channel = Convert.ToString(userObj["channel"]);
  1600. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1601. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1602. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1603. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1604. redisConnection _redis;
  1605. memoryCache.TryGetValue("redis", out _redis);
  1606. if (_redis == null)
  1607. {
  1608. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1609. {
  1610. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1611. Priority = CacheItemPriority.High,
  1612. SlidingExpiration = TimeSpan.FromMinutes(2),
  1613. Size = 1024,
  1614. };
  1615. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1616. _redis.connet();
  1617. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1618. }
  1619. if (!_redis.isConnet())
  1620. {
  1621. if (!_redis.connet())
  1622. {
  1623. logger.Info("Connect to redis false");
  1624. response.status = "-2";
  1625. response.message = "System Update";
  1626. logger.Info("confirmTicket response : " + response.ToString());
  1627. return Ok(response);
  1628. }
  1629. else
  1630. {
  1631. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1632. {
  1633. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1634. Priority = CacheItemPriority.High,
  1635. SlidingExpiration = TimeSpan.FromMinutes(2),
  1636. Size = 1024,
  1637. };
  1638. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1639. }
  1640. }
  1641. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1642. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1643. {
  1644. logger.Info("Authen token false");
  1645. response.status = "35";
  1646. response.message = "Check Authen false";
  1647. return Ok(response);
  1648. }
  1649. //Ket thuc check token
  1650. DataSet ds_regist = usersDataAccess.USERS_MSG_SEND(users, serviceid, users_receved, messageLocal, titleLocal, messageGlobal, titleGlobal);
  1651. logger.Info("Call database USERS_MSG_SEND success:");
  1652. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1653. {
  1654. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  1655. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  1656. }
  1657. }
  1658. catch (Exception ex)
  1659. {
  1660. response.status = "-1";
  1661. logger.Info("Err:" + ex.ToString());
  1662. }
  1663. logger.Info("Responase to web: " + response.ToString());
  1664. return Ok(response);
  1665. }
  1666. //{"messageId":"8"}
  1667. [HttpPost]
  1668. public IActionResult usersMesageCheck([FromBody] dynamic sendData)
  1669. {
  1670. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1671. //log4net.Config.XmlConfigurator.Configure();
  1672. responseObjUtil response = new responseObjUtil();
  1673. response.status = "-1";
  1674. response.message = "Err unknow";
  1675. try
  1676. {
  1677. var userObj = JObject.Parse(sendData.ToString());
  1678. string messageId = Convert.ToString(userObj["messageId"]);
  1679. //var userObj = JObject.Parse(sendData.ToString());
  1680. string language = Convert.ToString(userObj["language"]);
  1681. if (string.IsNullOrEmpty(language)) language = "0";
  1682. logger.Info("New request income usersMesageCheck :" + sendData.ToString());
  1683. //Check token
  1684. //var userObj = JObject.Parse(sendData.ToString());
  1685. string token = Convert.ToString(userObj["token"]);
  1686. string channel = Convert.ToString(userObj["channel"]);
  1687. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1688. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1689. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1690. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1691. redisConnection _redis;
  1692. memoryCache.TryGetValue("redis", out _redis);
  1693. if (_redis == null)
  1694. {
  1695. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1696. {
  1697. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1698. Priority = CacheItemPriority.High,
  1699. SlidingExpiration = TimeSpan.FromMinutes(2),
  1700. Size = 1024,
  1701. };
  1702. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1703. _redis.connet();
  1704. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1705. }
  1706. if (!_redis.isConnet())
  1707. {
  1708. if (!_redis.connet())
  1709. {
  1710. logger.Info("Connect to redis false");
  1711. response.status = "-2";
  1712. response.message = "System Update";
  1713. logger.Info("confirmTicket response : " + response.ToString());
  1714. return Ok(response);
  1715. }
  1716. else
  1717. {
  1718. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1719. {
  1720. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1721. Priority = CacheItemPriority.High,
  1722. SlidingExpiration = TimeSpan.FromMinutes(2),
  1723. Size = 1024,
  1724. };
  1725. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1726. }
  1727. }
  1728. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1729. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1730. {
  1731. logger.Info("Authen token false");
  1732. response.status = "35";
  1733. response.message = "Check Authen false";
  1734. return Ok(response);
  1735. }
  1736. //Ket thuc check token
  1737. DataSet ds_regist = usersDataAccess.USERS_MSG_CHECK(messageId);
  1738. logger.Info("Call database USERS_MSG_CHECK success:");
  1739. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1740. {
  1741. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  1742. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  1743. }
  1744. }
  1745. catch (Exception ex)
  1746. {
  1747. response.status = "-1";
  1748. logger.Info("Err:" + ex.ToString());
  1749. }
  1750. logger.Info("Responase to web: " + response.ToString());
  1751. return Ok(response);
  1752. }
  1753. //{"messageId":"8","users":"50912345678","serviceId":"30","isSend":"1","top":"10"}
  1754. [HttpPost]
  1755. public IActionResult usersMesageGet([FromBody] dynamic sendData)
  1756. {
  1757. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1758. //log4net.Config.XmlConfigurator.Configure();
  1759. usersMsgList response = new usersMsgList();
  1760. response.status = "-1";
  1761. response.message = "Err unknow";
  1762. try
  1763. {
  1764. var userObj = JObject.Parse(sendData.ToString());
  1765. string users = Convert.ToString(userObj["users"]);
  1766. string serviceid = Convert.ToString(userObj["serviceId"]);
  1767. string messageId = Convert.ToString(userObj["messageId"]);
  1768. string isSend = Convert.ToString(userObj["isSend"]);
  1769. string langegua = Convert.ToString(userObj["langegua"]);
  1770. string fromDate = Convert.ToString(userObj["fromDate"]);
  1771. string toDate = Convert.ToString(userObj["toDate"]);
  1772. string rowsOnPage = Convert.ToString(userObj["rowsOnPage"]);
  1773. string seqPage = Convert.ToString(userObj["seqPage"]);
  1774. //var userObj = JObject.Parse(sendData.ToString());
  1775. string language = Convert.ToString(userObj["language"]);
  1776. if (string.IsNullOrEmpty(language)) language = "0";
  1777. if (string.IsNullOrEmpty(users)) users = "-1";
  1778. if (string.IsNullOrEmpty(serviceid)) serviceid = "-1";
  1779. if (string.IsNullOrEmpty(messageId)) messageId = "-1";
  1780. if (string.IsNullOrEmpty(isSend)) isSend = "1";
  1781. if (string.IsNullOrEmpty(langegua)) langegua = "0";
  1782. if (string.IsNullOrEmpty(fromDate)) fromDate = "-1";
  1783. if(string.IsNullOrEmpty(toDate)) toDate = "-1";
  1784. if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "1000000";
  1785. if (string.IsNullOrEmpty(seqPage)) seqPage = "1";
  1786. logger.Info("New request income usersMesageSend :" + sendData.ToString());
  1787. //Check token
  1788. //var userObj = JObject.Parse(sendData.ToString());
  1789. string token = Convert.ToString(userObj["token"]);
  1790. string channel = Convert.ToString(userObj["channel"]);
  1791. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1792. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1793. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1794. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1795. redisConnection _redis;
  1796. memoryCache.TryGetValue("redis", out _redis);
  1797. if (_redis == null)
  1798. {
  1799. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1800. {
  1801. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1802. Priority = CacheItemPriority.High,
  1803. SlidingExpiration = TimeSpan.FromMinutes(2),
  1804. Size = 1024,
  1805. };
  1806. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1807. _redis.connet();
  1808. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1809. }
  1810. if (!_redis.isConnet())
  1811. {
  1812. if (!_redis.connet())
  1813. {
  1814. logger.Info("Connect to redis false");
  1815. response.status = "-2";
  1816. response.message = "System Update";
  1817. logger.Info("confirmTicket response : " + response.ToString());
  1818. return Ok(response);
  1819. }
  1820. else
  1821. {
  1822. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1823. {
  1824. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1825. Priority = CacheItemPriority.High,
  1826. SlidingExpiration = TimeSpan.FromMinutes(2),
  1827. Size = 1024,
  1828. };
  1829. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1830. }
  1831. }
  1832. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1833. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1834. {
  1835. logger.Info("Authen token false");
  1836. response.status = "35";
  1837. response.message = "Check Authen false";
  1838. return Ok(response);
  1839. }
  1840. //Ket thuc check token
  1841. DataSet ds_regist = usersDataAccess.USERS_MSG_GET(users, serviceid, isSend, messageId, language, fromDate, toDate, rowsOnPage, seqPage);
  1842. logger.Info("Call database USERS_MSG_SEND success:");
  1843. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1844. {
  1845. response.status = "0";
  1846. response.message = "Success";
  1847. response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString();
  1848. response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString();
  1849. response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString();
  1850. response.listMesage = new usersMsgObj[ds_regist.Tables[0].Rows.Count];
  1851. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  1852. {
  1853. usersMsgObj obj = new usersMsgObj();
  1854. obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString();
  1855. obj.usersFrom = ds_regist.Tables[0].Rows[j]["usersFrom"].ToString();
  1856. obj.userFromId = ds_regist.Tables[0].Rows[j]["userFromId"].ToString();
  1857. obj.usersFromName = ds_regist.Tables[0].Rows[j]["usersFromName"].ToString();
  1858. obj.usersTo = ds_regist.Tables[0].Rows[j]["usersTo"].ToString();
  1859. obj.usersToId = ds_regist.Tables[0].Rows[j]["usersToId"].ToString();
  1860. obj.usersToName = ds_regist.Tables[0].Rows[j]["usersToName"].ToString();
  1861. obj.serviceId = ds_regist.Tables[0].Rows[j]["serviceId"].ToString();
  1862. obj.message = ds_regist.Tables[0].Rows[j]["message"].ToString();
  1863. obj.dateSend = ds_regist.Tables[0].Rows[j]["dateSend"].ToString();
  1864. obj.isCheck = ds_regist.Tables[0].Rows[j]["isCheck"].ToString();
  1865. response.listMesage[j] = obj;
  1866. }
  1867. }
  1868. else
  1869. {
  1870. response.status = "1";
  1871. response.message = "No data";
  1872. }
  1873. }
  1874. catch (Exception ex)
  1875. {
  1876. response.status = "-1";
  1877. response.message = "Err unknow";
  1878. logger.Info("Err:" + ex.ToString());
  1879. }
  1880. logger.Info("Responase to web: " + response.ToString());
  1881. return Ok(response);
  1882. }
  1883. // {"users":"50912345678","serviceId":"30","url":"quangbh/abc.jpg","note":"1"}
  1884. [HttpPost]
  1885. public IActionResult usersPicUpload([FromBody] dynamic sendData)
  1886. {
  1887. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1888. //log4net.Config.XmlConfigurator.Configure();
  1889. responseObjUtil response = new responseObjUtil();
  1890. response.status = "-1";
  1891. response.message = "Err unknow";
  1892. try
  1893. {
  1894. var userObj = JObject.Parse(sendData.ToString());
  1895. string users = Convert.ToString(userObj["users"]);
  1896. string serviceId = Convert.ToString(userObj["serviceId"]);
  1897. string url = Convert.ToString(userObj["url"]);
  1898. string note = Convert.ToString(userObj["note"]);
  1899. //var userObj = JObject.Parse(sendData.ToString());
  1900. string language = Convert.ToString(userObj["language"]);
  1901. if (string.IsNullOrEmpty(language)) language = "0";
  1902. logger.Info("New request income usersPicUpload :" + sendData.ToString());
  1903. //Check token
  1904. //var userObj = JObject.Parse(sendData.ToString());
  1905. string token = Convert.ToString(userObj["token"]);
  1906. string channel = Convert.ToString(userObj["channel"]);
  1907. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1908. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1909. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  1910. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  1911. redisConnection _redis;
  1912. memoryCache.TryGetValue("redis", out _redis);
  1913. if (_redis == null)
  1914. {
  1915. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1916. {
  1917. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1918. Priority = CacheItemPriority.High,
  1919. SlidingExpiration = TimeSpan.FromMinutes(2),
  1920. Size = 1024,
  1921. };
  1922. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  1923. _redis.connet();
  1924. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1925. }
  1926. if (!_redis.isConnet())
  1927. {
  1928. if (!_redis.connet())
  1929. {
  1930. logger.Info("Connect to redis false");
  1931. response.status = "-2";
  1932. response.message = "System Update";
  1933. logger.Info("confirmTicket response : " + response.ToString());
  1934. return Ok(response);
  1935. }
  1936. else
  1937. {
  1938. var cacheExpiryOptions = new MemoryCacheEntryOptions
  1939. {
  1940. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  1941. Priority = CacheItemPriority.High,
  1942. SlidingExpiration = TimeSpan.FromMinutes(2),
  1943. Size = 1024,
  1944. };
  1945. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  1946. }
  1947. }
  1948. //----------------------Ket thuc lay redis tu cache -------------------------------------
  1949. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  1950. {
  1951. logger.Info("Authen token false");
  1952. response.status = "35";
  1953. response.message = "Check Authen false";
  1954. return Ok(response);
  1955. }
  1956. //Ket thuc check token
  1957. DataSet ds_regist = usersDataAccess.USERS_PIC_ADD(users,serviceId, url, note);
  1958. logger.Info("Call database USERS_PIC_ADD success:");
  1959. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  1960. {
  1961. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  1962. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  1963. }
  1964. }
  1965. catch (Exception ex)
  1966. {
  1967. response.status = "-1";
  1968. logger.Info("Err:" + ex.ToString());
  1969. }
  1970. logger.Info("Responase to web: " + response.ToString());
  1971. return Ok(response);
  1972. }
  1973. // {"users":"50912345678","serviceId":"30","usersLike":"509123456789","isLike":"1"}
  1974. [HttpPost]
  1975. public IActionResult usersLikeUpdate([FromBody] dynamic sendData)
  1976. {
  1977. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  1978. //log4net.Config.XmlConfigurator.Configure();
  1979. responseObjUtil response = new responseObjUtil();
  1980. response.status = "-1";
  1981. response.message = "Err unknow";
  1982. try
  1983. {
  1984. var userObj = JObject.Parse(sendData.ToString());
  1985. string users = Convert.ToString(userObj["users"]);
  1986. string serviceId = Convert.ToString(userObj["serviceId"]);
  1987. string usersLike = Convert.ToString(userObj["usersLike"]);
  1988. string isLike = Convert.ToString(userObj["isLike"]);
  1989. //var userObj = JObject.Parse(sendData.ToString());
  1990. string language = Convert.ToString(userObj["language"]);
  1991. if (string.IsNullOrEmpty(language)) language = "0";
  1992. logger.Info("New request income usersLikeUpdate :" + sendData.ToString());
  1993. //Check token
  1994. //var userObj = JObject.Parse(sendData.ToString());
  1995. string token = Convert.ToString(userObj["token"]);
  1996. string channel = Convert.ToString(userObj["channel"]);
  1997. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  1998. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  1999. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  2000. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  2001. redisConnection _redis;
  2002. memoryCache.TryGetValue("redis", out _redis);
  2003. if (_redis == null)
  2004. {
  2005. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2006. {
  2007. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2008. Priority = CacheItemPriority.High,
  2009. SlidingExpiration = TimeSpan.FromMinutes(2),
  2010. Size = 1024,
  2011. };
  2012. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  2013. _redis.connet();
  2014. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2015. }
  2016. if (!_redis.isConnet())
  2017. {
  2018. if (!_redis.connet())
  2019. {
  2020. logger.Info("Connect to redis false");
  2021. response.status = "-2";
  2022. response.message = "System Update";
  2023. logger.Info("confirmTicket response : " + response.ToString());
  2024. return Ok(response);
  2025. }
  2026. else
  2027. {
  2028. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2029. {
  2030. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2031. Priority = CacheItemPriority.High,
  2032. SlidingExpiration = TimeSpan.FromMinutes(2),
  2033. Size = 1024,
  2034. };
  2035. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2036. }
  2037. }
  2038. //----------------------Ket thuc lay redis tu cache -------------------------------------
  2039. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  2040. {
  2041. logger.Info("Authen token false");
  2042. response.status = "35";
  2043. response.message = "Check Authen false";
  2044. return Ok(response);
  2045. }
  2046. //Ket thuc check token
  2047. DataSet ds_regist = usersDataAccess.USERS_LIKE_UPDATE(users, serviceId, usersLike, isLike);
  2048. logger.Info("Call database USERS_LIKE_UPDATE success:");
  2049. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  2050. {
  2051. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  2052. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  2053. }
  2054. }
  2055. catch (Exception ex)
  2056. {
  2057. response.status = "-1";
  2058. logger.Info("Err:" + ex.ToString());
  2059. }
  2060. logger.Info("Responase to web: " + response.ToString());
  2061. return Ok(response);
  2062. }
  2063. //{"users":"50912345678","serviceId":"30","type":"1","rowsOnPage":"2","seqPage":"1","language":"0"}
  2064. // "type":"0" : danh sach nguoi dung da like cho users và serviceId truyen vao
  2065. // "type":"0" : danh sach nguoi dung ma users va serviceId truyen vao da like
  2066. [HttpPost]
  2067. public IActionResult usersGetListLike([FromBody] dynamic sendData)
  2068. {
  2069. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  2070. //log4net.Config.XmlConfigurator.Configure();
  2071. usersObjProfileList response = new usersObjProfileList();
  2072. try
  2073. {
  2074. var userObj = JObject.Parse(sendData.ToString());
  2075. string uid = Convert.ToString(userObj["users"]);
  2076. string sid = Convert.ToString(userObj["serviceId"]);
  2077. string type = Convert.ToString(userObj["type"]);
  2078. string rowsOnPage = Convert.ToString(userObj["rowsOnPage"]);
  2079. string seqPage = Convert.ToString(userObj["seqPage"]);
  2080. string language = Convert.ToString(userObj["language"]);
  2081. if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "100000000";
  2082. if (string.IsNullOrEmpty(seqPage)) seqPage = "1";
  2083. if (string.IsNullOrEmpty(language)) language = "-1";
  2084. logger.Info("New request income usersGetListLike :" + sendData.ToString());
  2085. //Check token
  2086. string token = Convert.ToString(userObj["token"]);
  2087. string channel = Convert.ToString(userObj["channel"]);
  2088. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  2089. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  2090. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  2091. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  2092. redisConnection _redis;
  2093. memoryCache.TryGetValue("redis", out _redis);
  2094. if (_redis == null)
  2095. {
  2096. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2097. {
  2098. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2099. Priority = CacheItemPriority.High,
  2100. SlidingExpiration = TimeSpan.FromMinutes(2),
  2101. Size = 1024,
  2102. };
  2103. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  2104. _redis.connet();
  2105. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2106. }
  2107. if (!_redis.isConnet())
  2108. {
  2109. if (!_redis.connet())
  2110. {
  2111. logger.Info("Connect to redis false");
  2112. response.status = "-2";
  2113. response.message = "System Update";
  2114. logger.Info("confirmTicket response : " + response.ToString());
  2115. return Ok(response);
  2116. }
  2117. else
  2118. {
  2119. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2120. {
  2121. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2122. Priority = CacheItemPriority.High,
  2123. SlidingExpiration = TimeSpan.FromMinutes(2),
  2124. Size = 1024,
  2125. };
  2126. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2127. }
  2128. }
  2129. //----------------------Ket thuc lay redis tu cache -------------------------------------
  2130. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  2131. {
  2132. logger.Info("Authen token false");
  2133. response.status = "35";
  2134. response.message = "Check Authen false";
  2135. return Ok(response);
  2136. }
  2137. //Ket thuc check token
  2138. DataSet ds_regist = usersDataAccess.USERS_GET_LIKE_PROFILE(uid, sid, type, rowsOnPage, seqPage);
  2139. logger.Info("Call database usersSeachProfile success:");
  2140. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  2141. {
  2142. response.status = "0";
  2143. response.message = "Success";
  2144. response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString();
  2145. response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString();
  2146. response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString();
  2147. response.listProfile = new usersObjProfile[ds_regist.Tables[0].Rows.Count];
  2148. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  2149. {
  2150. usersObjProfile obj = new usersObjProfile();
  2151. obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString();
  2152. obj.users = ds_regist.Tables[0].Rows[j]["users"].ToString();
  2153. obj.serviceid = ds_regist.Tables[0].Rows[j]["serviceid"].ToString();
  2154. obj.fullName = ds_regist.Tables[0].Rows[j]["fullName"].ToString();
  2155. obj.sex = ds_regist.Tables[0].Rows[j]["sex"].ToString();
  2156. obj.address = ds_regist.Tables[0].Rows[j]["address"].ToString();
  2157. obj.provinceId = ds_regist.Tables[0].Rows[j]["provinceId"].ToString();
  2158. obj.cardNumber = ds_regist.Tables[0].Rows[j]["cardNumber"].ToString();
  2159. obj.email = ds_regist.Tables[0].Rows[j]["email"].ToString();
  2160. obj.company = ds_regist.Tables[0].Rows[j]["company"].ToString();
  2161. obj.description = ds_regist.Tables[0].Rows[j]["description"].ToString();
  2162. obj.picture = ds_regist.Tables[0].Rows[j]["picture"].ToString();
  2163. obj.sexNeed = ds_regist.Tables[0].Rows[j]["sexNeed"].ToString();
  2164. obj.birthday = ds_regist.Tables[0].Rows[j]["birthday"].ToString();
  2165. obj.height = ds_regist.Tables[0].Rows[j]["height"].ToString();
  2166. obj.weight = ds_regist.Tables[0].Rows[j]["weight"].ToString();
  2167. obj.work = ds_regist.Tables[0].Rows[j]["work"].ToString();
  2168. obj.isLike = ds_regist.Tables[0].Rows[j]["isLike"].ToString();
  2169. obj.usersId = ds_regist.Tables[0].Rows[j]["USER_ID"].ToString();
  2170. obj.totalPic = ds_regist.Tables[0].Rows[j]["PIC_TOTAL"].ToString();
  2171. obj.lookingFor = ds_regist.Tables[0].Rows[j]["LOOKING_FOR"].ToString();
  2172. DataSet dsInterests = new DataSet();
  2173. dsInterests = usersDataAccess.USERS_GET_INTERESTS_BY_USER(language, uid, sid);
  2174. if (dsInterests != null & dsInterests.Tables[0].Rows.Count > 0)
  2175. {
  2176. obj.listInterests = new usersInterests[dsInterests.Tables[0].Rows.Count];
  2177. for (int k = 0; k < dsInterests.Tables[0].Rows.Count; k++)
  2178. {
  2179. usersInterests obj1 = new usersInterests();
  2180. obj1.id = dsInterests.Tables[0].Rows[k]["id"].ToString();
  2181. obj1.code = dsInterests.Tables[0].Rows[k]["code"].ToString();
  2182. obj1.name = dsInterests.Tables[0].Rows[k]["name"].ToString();
  2183. obj1.picture = dsInterests.Tables[0].Rows[k]["PICTURE"].ToString();
  2184. obj.listInterests[k] = obj1;
  2185. }
  2186. }
  2187. response.listProfile[j] = obj;
  2188. }
  2189. }
  2190. else
  2191. {
  2192. response.status = "1";
  2193. response.message = "No data";
  2194. }
  2195. }
  2196. catch (Exception ex)
  2197. {
  2198. }
  2199. logger.Info("Responase to web: " + response.ToString());
  2200. return Ok(response);
  2201. }
  2202. // {"picId":"123"}
  2203. [HttpPost]
  2204. public IActionResult usersPicDel([FromBody] dynamic sendData)
  2205. {
  2206. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  2207. //log4net.Config.XmlConfigurator.Configure();
  2208. responseObjUtil response = new responseObjUtil();
  2209. response.status = "-1";
  2210. response.message = "Err unknow";
  2211. try
  2212. {
  2213. var userObj = JObject.Parse(sendData.ToString());
  2214. string picId = Convert.ToString(userObj["picId"]);
  2215. //var userObj = JObject.Parse(sendData.ToString());
  2216. string language = Convert.ToString(userObj["language"]);
  2217. if (string.IsNullOrEmpty(language)) language = "0";
  2218. logger.Info("New request income usersPicDel :" + sendData.ToString());
  2219. //Check token
  2220. //var userObj = JObject.Parse(sendData.ToString());
  2221. string token = Convert.ToString(userObj["token"]);
  2222. string channel = Convert.ToString(userObj["channel"]);
  2223. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  2224. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  2225. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  2226. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  2227. redisConnection _redis;
  2228. memoryCache.TryGetValue("redis", out _redis);
  2229. if (_redis == null)
  2230. {
  2231. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2232. {
  2233. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2234. Priority = CacheItemPriority.High,
  2235. SlidingExpiration = TimeSpan.FromMinutes(2),
  2236. Size = 1024,
  2237. };
  2238. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  2239. _redis.connet();
  2240. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2241. }
  2242. if (!_redis.isConnet())
  2243. {
  2244. if (!_redis.connet())
  2245. {
  2246. logger.Info("Connect to redis false");
  2247. response.status = "-2";
  2248. response.message = "System Update";
  2249. logger.Info("confirmTicket response : " + response.ToString());
  2250. return Ok(response);
  2251. }
  2252. else
  2253. {
  2254. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2255. {
  2256. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2257. Priority = CacheItemPriority.High,
  2258. SlidingExpiration = TimeSpan.FromMinutes(2),
  2259. Size = 1024,
  2260. };
  2261. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2262. }
  2263. }
  2264. //----------------------Ket thuc lay redis tu cache -------------------------------------
  2265. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  2266. {
  2267. logger.Info("Authen token false");
  2268. response.status = "35";
  2269. response.message = "Check Authen false";
  2270. return Ok(response);
  2271. }
  2272. //Ket thuc check token
  2273. DataSet ds_regist = usersDataAccess.USERS_PIC_DEL(picId);
  2274. logger.Info("Call database USERS_LIKE_UPDATE success:");
  2275. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  2276. {
  2277. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  2278. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  2279. }
  2280. }
  2281. catch (Exception ex)
  2282. {
  2283. response.status = "-1";
  2284. logger.Info("Err:" + ex.ToString());
  2285. }
  2286. logger.Info("Responase to web: " + response.ToString());
  2287. return Ok(response);
  2288. }
  2289. //{"picId":"4","users":"50912345678","serviceId":"30","top":"10"}
  2290. [HttpPost]
  2291. public IActionResult usersPicGet([FromBody] dynamic sendData)
  2292. {
  2293. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  2294. //log4net.Config.XmlConfigurator.Configure();
  2295. usersPicList response = new usersPicList();
  2296. response.status = "-1";
  2297. response.message = "Err unknow";
  2298. try
  2299. {
  2300. var userObj = JObject.Parse(sendData.ToString());
  2301. string picId = Convert.ToString(userObj["picId"]);
  2302. string users = Convert.ToString(userObj["users"]);
  2303. string serviceId = Convert.ToString(userObj["serviceId"]);
  2304. string top = Convert.ToString(userObj["top"]);
  2305. //var userObj = JObject.Parse(sendData.ToString());
  2306. string language = Convert.ToString(userObj["language"]);
  2307. if (string.IsNullOrEmpty(language)) language = "0";
  2308. if (string.IsNullOrEmpty(picId)) picId = "-1";
  2309. logger.Info("New request income usersPicGet :" + sendData.ToString());
  2310. //Check token
  2311. //var userObj = JObject.Parse(sendData.ToString());
  2312. string token = Convert.ToString(userObj["token"]);
  2313. string channel = Convert.ToString(userObj["channel"]);
  2314. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  2315. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  2316. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  2317. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  2318. redisConnection _redis;
  2319. memoryCache.TryGetValue("redis", out _redis);
  2320. if (_redis == null)
  2321. {
  2322. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2323. {
  2324. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2325. Priority = CacheItemPriority.High,
  2326. SlidingExpiration = TimeSpan.FromMinutes(2),
  2327. Size = 1024,
  2328. };
  2329. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  2330. _redis.connet();
  2331. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2332. }
  2333. if (!_redis.isConnet())
  2334. {
  2335. if (!_redis.connet())
  2336. {
  2337. logger.Info("Connect to redis false");
  2338. response.status = "-2";
  2339. response.message = "System Update";
  2340. logger.Info("confirmTicket response : " + response.ToString());
  2341. return Ok(response);
  2342. }
  2343. else
  2344. {
  2345. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2346. {
  2347. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2348. Priority = CacheItemPriority.High,
  2349. SlidingExpiration = TimeSpan.FromMinutes(2),
  2350. Size = 1024,
  2351. };
  2352. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2353. }
  2354. }
  2355. //----------------------Ket thuc lay redis tu cache -------------------------------------
  2356. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  2357. {
  2358. logger.Info("Authen token false");
  2359. response.status = "35";
  2360. response.message = "Check Authen false";
  2361. return Ok(response);
  2362. }
  2363. //Ket thuc check token
  2364. DataSet ds_regist = usersDataAccess.USERS_PIC_GET(picId, users,serviceId, top);
  2365. logger.Info("Call database USERS_PIC_GET success:");
  2366. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  2367. {
  2368. response.status = "0";
  2369. response.message = "Success";
  2370. response.listPic = new usersPic[ds_regist.Tables[0].Rows.Count];
  2371. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  2372. {
  2373. usersPic obj = new usersPic();
  2374. obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString();
  2375. obj.usersId = ds_regist.Tables[0].Rows[j]["USER_ID"].ToString();
  2376. obj.url = ds_regist.Tables[0].Rows[j]["URL"].ToString();
  2377. obj.createdDate = ds_regist.Tables[0].Rows[j]["vsysdate"].ToString();
  2378. obj.note = ds_regist.Tables[0].Rows[j]["NOTE"].ToString();
  2379. response.listPic[j] = obj;
  2380. }
  2381. }
  2382. else
  2383. {
  2384. response.status = "1";
  2385. response.message = "No data";
  2386. }
  2387. }
  2388. catch (Exception ex)
  2389. {
  2390. response.status = "-1";
  2391. response.message = "Err unknow";
  2392. logger.Info("Err:" + ex.ToString());
  2393. }
  2394. logger.Info("Responase to web: " + response.ToString());
  2395. return Ok(response);
  2396. }
  2397. // {"users":"50912345678","serviceId":"30","language":"1"}
  2398. [HttpPost]
  2399. public IActionResult usersSetLanguage([FromBody] dynamic sendData)
  2400. {
  2401. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  2402. //log4net.Config.XmlConfigurator.Configure();
  2403. responseObjUtil response = new responseObjUtil();
  2404. response.status = "-1";
  2405. response.message = "Err unknow";
  2406. try
  2407. {
  2408. var userObj = JObject.Parse(sendData.ToString());
  2409. string users = Convert.ToString(userObj["users"]);
  2410. string serviceId = Convert.ToString(userObj["serviceId"]);
  2411. string language = Convert.ToString(userObj["language"]);
  2412. //var userObj = JObject.Parse(sendData.ToString());
  2413. //string language = Convert.ToString(userObj["language"]);
  2414. if (string.IsNullOrEmpty(language)) language = "0";
  2415. logger.Info("New request income usersSetLanguage :" + sendData.ToString());
  2416. //Check token
  2417. //var userObj = JObject.Parse(sendData.ToString());
  2418. string token = Convert.ToString(userObj["token"]);
  2419. string channel = Convert.ToString(userObj["channel"]);
  2420. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  2421. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  2422. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  2423. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  2424. redisConnection _redis;
  2425. memoryCache.TryGetValue("redis", out _redis);
  2426. if (_redis == null)
  2427. {
  2428. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2429. {
  2430. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2431. Priority = CacheItemPriority.High,
  2432. SlidingExpiration = TimeSpan.FromMinutes(2),
  2433. Size = 1024,
  2434. };
  2435. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  2436. _redis.connet();
  2437. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2438. }
  2439. if (!_redis.isConnet())
  2440. {
  2441. if (!_redis.connet())
  2442. {
  2443. logger.Info("Connect to redis false");
  2444. response.status = "-2";
  2445. response.message = "System Update";
  2446. logger.Info("confirmTicket response : " + response.ToString());
  2447. return Ok(response);
  2448. }
  2449. else
  2450. {
  2451. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2452. {
  2453. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2454. Priority = CacheItemPriority.High,
  2455. SlidingExpiration = TimeSpan.FromMinutes(2),
  2456. Size = 1024,
  2457. };
  2458. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2459. }
  2460. }
  2461. //----------------------Ket thuc lay redis tu cache -------------------------------------
  2462. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  2463. {
  2464. logger.Info("Authen token false");
  2465. response.status = "35";
  2466. response.message = "Check Authen false";
  2467. return Ok(response);
  2468. }
  2469. //Ket thuc check token
  2470. DataSet ds_regist = usersDataAccess.USERS_UPDATE_LANGUAGE(users, serviceId, language);
  2471. logger.Info("Call database USERS_UPDATE_LANGUAGE success:");
  2472. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  2473. {
  2474. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  2475. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  2476. }
  2477. }
  2478. catch (Exception ex)
  2479. {
  2480. response.status = "-1";
  2481. logger.Info("Err:" + ex.ToString());
  2482. }
  2483. logger.Info("Responase to web: " + response.ToString());
  2484. return Ok(response);
  2485. }
  2486. //{"type":"1"}
  2487. [HttpPost]
  2488. public IActionResult usersGetListService([FromBody] dynamic sendData)
  2489. {
  2490. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  2491. //log4net.Config.XmlConfigurator.Configure();
  2492. subServiceList response = new subServiceList();
  2493. response.status = "-1";
  2494. response.message = "Err unknow";
  2495. try
  2496. {
  2497. var userObj = JObject.Parse(sendData.ToString());
  2498. string type = Convert.ToString(userObj["type"]);
  2499. //var userObj = JObject.Parse(sendData.ToString());
  2500. string language = Convert.ToString(userObj["language"]);
  2501. if (string.IsNullOrEmpty(language)) language = "0";
  2502. logger.Info("New request income subGetListsubServiceCode :" + sendData.ToString());
  2503. //Check token
  2504. //var userObj = JObject.Parse(sendData.ToString());
  2505. string token = Convert.ToString(userObj["token"]);
  2506. string channel = Convert.ToString(userObj["channel"]);
  2507. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  2508. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  2509. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  2510. redisConnection _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  2511. if (!_redis.connet())
  2512. {
  2513. logger.Info("Connect to redis false");
  2514. response.status = "-2";
  2515. response.message = "System Update";
  2516. return Ok(response);
  2517. }
  2518. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  2519. {
  2520. logger.Info("Authen token false");
  2521. response.status = "35";
  2522. response.message = "Check Authen false";
  2523. return Ok(response);
  2524. }
  2525. //Ket thuc check token
  2526. DataSet ds_regist = subDataAccess.SUB_API_GET_SUBSEVICE(type);
  2527. logger.Info("Call database SUB_API_GET_SUBSEVICE success:");
  2528. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  2529. {
  2530. response.status = "0";
  2531. response.message = "Success";
  2532. response.listSubService = new subServiceObj[ds_regist.Tables[0].Rows.Count];
  2533. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  2534. {
  2535. subServiceObj obj = new subServiceObj();
  2536. obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString();
  2537. obj.code = ds_regist.Tables[0].Rows[j]["code"].ToString();
  2538. obj.name = ds_regist.Tables[0].Rows[j]["name"].ToString();
  2539. obj.country = ds_regist.Tables[0].Rows[j]["COUNTRY_CODE"].ToString();
  2540. obj.shortCode = ds_regist.Tables[0].Rows[j]["SHORT_CODE"].ToString();
  2541. response.listSubService[j] = obj;
  2542. }
  2543. }
  2544. else
  2545. {
  2546. response.status = "1";
  2547. response.message = "No data";
  2548. }
  2549. }
  2550. catch (Exception ex)
  2551. {
  2552. logger.Info("Err:" + ex.ToString());
  2553. }
  2554. logger.Info("Responase to web: " + response.ToString());
  2555. return Ok(response);
  2556. }
  2557. //{"language":"0","serviceId":"1"}
  2558. public IActionResult usersGetProvice([FromBody] dynamic sendData)
  2559. {
  2560. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  2561. //log4net.Config.XmlConfigurator.Configure();
  2562. usersProviceList response = new usersProviceList();
  2563. try
  2564. {
  2565. var userObj = JObject.Parse(sendData.ToString());
  2566. string language = Convert.ToString(userObj["language"]);
  2567. string serviceId = Convert.ToString(userObj["serviceId"]);
  2568. //var userObj = JObject.Parse(sendData.ToString());
  2569. //string language = Convert.ToString(userObj["language"]);
  2570. if (string.IsNullOrEmpty(language)) language = "0";
  2571. logger.Info("New request income usersGetProvice :" + sendData.ToString());
  2572. //Check token
  2573. //var userObj = JObject.Parse(sendData.ToString());
  2574. string token = Convert.ToString(userObj["token"]);
  2575. string channel = Convert.ToString(userObj["channel"]);
  2576. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  2577. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  2578. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  2579. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  2580. redisConnection _redis;
  2581. memoryCache.TryGetValue("redis", out _redis);
  2582. if (_redis == null)
  2583. {
  2584. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2585. {
  2586. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2587. Priority = CacheItemPriority.High,
  2588. SlidingExpiration = TimeSpan.FromMinutes(2),
  2589. Size = 1024,
  2590. };
  2591. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  2592. _redis.connet();
  2593. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2594. }
  2595. if (!_redis.isConnet())
  2596. {
  2597. if (!_redis.connet())
  2598. {
  2599. logger.Info("Connect to redis false");
  2600. response.status = "-2";
  2601. response.message = "System Update";
  2602. logger.Info("confirmTicket response : " + response.ToString());
  2603. return Ok(response);
  2604. }
  2605. else
  2606. {
  2607. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2608. {
  2609. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2610. Priority = CacheItemPriority.High,
  2611. SlidingExpiration = TimeSpan.FromMinutes(2),
  2612. Size = 1024,
  2613. };
  2614. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2615. }
  2616. }
  2617. //----------------------Ket thuc lay redis tu cache -------------------------------------
  2618. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  2619. {
  2620. logger.Info("Authen token false");
  2621. response.status = "35";
  2622. response.message = "Check Authen false";
  2623. return Ok(response);
  2624. }
  2625. //Ket thuc check token
  2626. DataSet ds_regist = usersDataAccess.USERS_GET_PROVICE(language,serviceId);
  2627. logger.Info("Call database usersGetProvice success:");
  2628. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  2629. {
  2630. response.status = "0";
  2631. response.message = "Success";
  2632. response.listProvice = new usersProvice[ds_regist.Tables[0].Rows.Count];
  2633. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  2634. {
  2635. usersProvice obj = new usersProvice();
  2636. obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString();
  2637. obj.code = ds_regist.Tables[0].Rows[j]["code"].ToString();
  2638. obj.name = ds_regist.Tables[0].Rows[j]["name"].ToString();
  2639. response.listProvice[j] = obj;
  2640. }
  2641. }
  2642. else
  2643. {
  2644. response.status = "1";
  2645. response.message = "No data";
  2646. }
  2647. }
  2648. catch (Exception ex)
  2649. {
  2650. }
  2651. logger.Info("Responase to web: " + response.ToString());
  2652. return Ok(response);
  2653. }
  2654. //{"language":"0","serviceId":"1"}
  2655. public IActionResult usersGetTopic([FromBody] dynamic sendData)
  2656. {
  2657. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  2658. //log4net.Config.XmlConfigurator.Configure();
  2659. usersTopicList response = new usersTopicList();
  2660. try
  2661. {
  2662. var userObj = JObject.Parse(sendData.ToString());
  2663. string language = Convert.ToString(userObj["language"]);
  2664. string serviceId = Convert.ToString(userObj["serviceId"]);
  2665. //var userObj = JObject.Parse(sendData.ToString());
  2666. //string language = Convert.ToString(userObj["language"]);
  2667. if (string.IsNullOrEmpty(language)) language = "0";
  2668. logger.Info("New request income usersGetTopic :" + sendData.ToString());
  2669. //Check token
  2670. //var userObj = JObject.Parse(sendData.ToString());
  2671. string token = Convert.ToString(userObj["token"]);
  2672. string channel = Convert.ToString(userObj["channel"]);
  2673. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  2674. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  2675. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  2676. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  2677. redisConnection _redis;
  2678. memoryCache.TryGetValue("redis", out _redis);
  2679. if (_redis == null)
  2680. {
  2681. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2682. {
  2683. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2684. Priority = CacheItemPriority.High,
  2685. SlidingExpiration = TimeSpan.FromMinutes(2),
  2686. Size = 1024,
  2687. };
  2688. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  2689. _redis.connet();
  2690. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2691. }
  2692. if (!_redis.isConnet())
  2693. {
  2694. if (!_redis.connet())
  2695. {
  2696. logger.Info("Connect to redis false");
  2697. response.status = "-2";
  2698. response.message = "System Update";
  2699. logger.Info("confirmTicket response : " + response.ToString());
  2700. return Ok(response);
  2701. }
  2702. else
  2703. {
  2704. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2705. {
  2706. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2707. Priority = CacheItemPriority.High,
  2708. SlidingExpiration = TimeSpan.FromMinutes(2),
  2709. Size = 1024,
  2710. };
  2711. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2712. }
  2713. }
  2714. //----------------------Ket thuc lay redis tu cache -------------------------------------
  2715. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  2716. {
  2717. logger.Info("Authen token false");
  2718. response.status = "35";
  2719. response.message = "Check Authen false";
  2720. return Ok(response);
  2721. }
  2722. //Ket thuc check token
  2723. DataSet ds_regist = usersDataAccess.USERS_GET_TOPIC(language, serviceId);
  2724. logger.Info("Call database usersGetProvice success:");
  2725. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  2726. {
  2727. response.status = "0";
  2728. response.message = "Success";
  2729. response.listTopic = new usersTopic[ds_regist.Tables[0].Rows.Count];
  2730. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  2731. {
  2732. usersTopic obj = new usersTopic();
  2733. obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString();
  2734. obj.code = ds_regist.Tables[0].Rows[j]["code"].ToString();
  2735. obj.name = ds_regist.Tables[0].Rows[j]["name"].ToString();
  2736. response.listTopic[j] = obj;
  2737. }
  2738. }
  2739. else
  2740. {
  2741. response.status = "1";
  2742. response.message = "No data";
  2743. }
  2744. }
  2745. catch (Exception ex)
  2746. {
  2747. }
  2748. logger.Info("Responase to web: " + response.ToString());
  2749. return Ok(response);
  2750. }
  2751. //{"language":"0"}
  2752. public IActionResult usersGiftGetList([FromBody] dynamic sendData)
  2753. {
  2754. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  2755. //log4net.Config.XmlConfigurator.Configure();
  2756. usersGiftList response = new usersGiftList();
  2757. try
  2758. {
  2759. var userObj = JObject.Parse(sendData.ToString());
  2760. string language = Convert.ToString(userObj["language"]);
  2761. if (string.IsNullOrEmpty(language)) language = "0";
  2762. string id = Convert.ToString(userObj["id"]);
  2763. string serviceId = Convert.ToString(userObj["serviceId"]);
  2764. if (string.IsNullOrEmpty(id)) id = "-1";
  2765. if (string.IsNullOrEmpty(serviceId)) serviceId = "-1";
  2766. //var userObj = JObject.Parse(sendData.ToString());
  2767. //string language = Convert.ToString(userObj["language"]);
  2768. if (string.IsNullOrEmpty(language)) language = "0";
  2769. logger.Info("New request income usersGetGift :" + sendData.ToString());
  2770. //Check token
  2771. //var userObj = JObject.Parse(sendData.ToString());
  2772. string token = Convert.ToString(userObj["token"]);
  2773. string channel = Convert.ToString(userObj["channel"]);
  2774. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  2775. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  2776. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  2777. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  2778. redisConnection _redis;
  2779. memoryCache.TryGetValue("redis", out _redis);
  2780. if (_redis == null)
  2781. {
  2782. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2783. {
  2784. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2785. Priority = CacheItemPriority.High,
  2786. SlidingExpiration = TimeSpan.FromMinutes(2),
  2787. Size = 1024,
  2788. };
  2789. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  2790. _redis.connet();
  2791. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2792. }
  2793. if (!_redis.isConnet())
  2794. {
  2795. if (!_redis.connet())
  2796. {
  2797. logger.Info("Connect to redis false");
  2798. response.status = "-2";
  2799. response.message = "System Update";
  2800. logger.Info("confirmTicket response : " + response.ToString());
  2801. return Ok(response);
  2802. }
  2803. else
  2804. {
  2805. var cacheExpiryOptions = new MemoryCacheEntryOptions
  2806. {
  2807. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  2808. Priority = CacheItemPriority.High,
  2809. SlidingExpiration = TimeSpan.FromMinutes(2),
  2810. Size = 1024,
  2811. };
  2812. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  2813. }
  2814. }
  2815. //----------------------Ket thuc lay redis tu cache -------------------------------------
  2816. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  2817. {
  2818. logger.Info("Authen token false");
  2819. response.status = "35";
  2820. response.message = "Check Authen false";
  2821. return Ok(response);
  2822. }
  2823. //Ket thuc check token
  2824. DataSet ds_regist = usersDataAccess.USERS_GIFT_GET(language, id,serviceId);
  2825. logger.Info("Call database USERS_GET_GIFT success:");
  2826. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  2827. {
  2828. response.status = "0";
  2829. response.message = "Success";
  2830. response.listGift = new usersGift[ds_regist.Tables[0].Rows.Count];
  2831. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  2832. {
  2833. usersGift obj = new usersGift();
  2834. obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString();
  2835. obj.code = ds_regist.Tables[0].Rows[j]["code"].ToString();
  2836. obj.name = ds_regist.Tables[0].Rows[j]["name"].ToString();
  2837. obj.chargMoney = ds_regist.Tables[0].Rows[j]["CHARGE_MONEY"].ToString();
  2838. obj.chargeCode = ds_regist.Tables[0].Rows[j]["CHARGE_CODE"].ToString();
  2839. obj.coin = ds_regist.Tables[0].Rows[j]["COIN"].ToString();
  2840. obj.status = ds_regist.Tables[0].Rows[j]["STATUS"].ToString();
  2841. response.listGift[j] = obj;
  2842. }
  2843. }
  2844. else
  2845. {
  2846. response.status = "1";
  2847. response.message = "No data";
  2848. }
  2849. }
  2850. catch (Exception ex)
  2851. {
  2852. }
  2853. logger.Info("Responase to web: " + response.ToString());
  2854. return Ok(response);
  2855. }
  2856. /*
  2857. public IActionResult usersGiftSendNotOtp([FromBody] dynamic sendData)
  2858. {
  2859. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  2860. //log4net.Config.XmlConfigurator.Configure();
  2861. responseObjUtil response = new responseObjUtil();
  2862. response.status = "-1";
  2863. response.message = "Err unknow";
  2864. logger.Info("New request income usersGiftSendNotOtp :" + sendData.ToString());
  2865. string mps_ip = ConfigurationSettings.AppSettings["MPS_IP"];
  2866. string mps_port = ConfigurationSettings.AppSettings["MPS_PORT"];
  2867. try
  2868. {
  2869. var userObj = JObject.Parse(sendData.ToString());
  2870. string users = Convert.ToString(userObj["users"]);
  2871. string serviceid = Convert.ToString(userObj["serviceId"]);
  2872. string users_receved = Convert.ToString(userObj["users_receved"]);
  2873. string giftId = Convert.ToString(userObj["giftId"]);
  2874. if (string.IsNullOrEmpty(giftId)) giftId = "-1";
  2875. DataSet ds_Gift = usersDataAccess.USERS_GIFT_GET("0", giftId);
  2876. if (ds_Gift == null || ds_Gift.Tables[0].Rows.Count > 0)
  2877. {
  2878. response.status = "-10";
  2879. response.message = "Invalid Gift";
  2880. return Ok(response);
  2881. }
  2882. else
  2883. {
  2884. logger.Info("Start call charg money");
  2885. string subServiceCode = ds_Gift.Tables[0].Rows[0]["CHARGE_CODE"].ToString();
  2886. string data = "requestId=" + "&msisdn=" + users + "&otp=" + "&serviceid=" + serviceid + "&subServiceCode=" + subServiceCode;
  2887. logger.Info("Request call charge: " + data);
  2888. string response111 = Common.SocketUnSyn(data, mps_ip, Convert.ToInt32(mps_port), 12000);
  2889. logger.Info("Result call charge: " + response111);
  2890. mpsResponse resCallMps = JsonConvert.DeserializeObject<mpsResponse>(response111);
  2891. if (resCallMps.responseCode=="0")
  2892. {
  2893. logger.Info("charge money success :" );
  2894. DataSet ds_regist = usersDataAccess.USERS_GIFT_SEND(users, serviceid, users_receved, giftId);
  2895. logger.Info("Call database USERS_GIFT_SEND success:");
  2896. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  2897. {
  2898. response.status = "0";
  2899. response.message = "Success";
  2900. return Ok(response);
  2901. }
  2902. }
  2903. else if (resCallMps.responseCode == "401")
  2904. {
  2905. response.status = "-11";
  2906. response.message = "Not enough money ";
  2907. return Ok(response);
  2908. }
  2909. else
  2910. {
  2911. response.status = "-12";
  2912. response.message = "System err";
  2913. return Ok(response);
  2914. }
  2915. }
  2916. }
  2917. catch (Exception ex)
  2918. {
  2919. logger.Info("Err:" + ex.ToString());
  2920. }
  2921. return Ok(response);
  2922. }
  2923. public IActionResult usersGiftSendOtp([FromBody] dynamic sendData)
  2924. {
  2925. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  2926. //log4net.Config.XmlConfigurator.Configure();
  2927. mpsResponseEx response = new mpsResponseEx();
  2928. response.status = "-1";
  2929. response.message = "Err unknow";
  2930. logger.Info("New request income usersGiftSendNotOtp :" + sendData.ToString());
  2931. string mps_ip = ConfigurationSettings.AppSettings["MPS_IP"];
  2932. string mps_port = ConfigurationSettings.AppSettings["MPS_PORT"];
  2933. try
  2934. {
  2935. var userObj = JObject.Parse(sendData.ToString());
  2936. string users = Convert.ToString(userObj["users"]);
  2937. string serviceid = Convert.ToString(userObj["serviceId"]);
  2938. string users_receved = Convert.ToString(userObj["users_receved"]);
  2939. string giftId = Convert.ToString(userObj["giftId"]);
  2940. if (string.IsNullOrEmpty(giftId)) giftId = "-1";
  2941. DataSet ds_Gift = usersDataAccess.USERS_GIFT_GET("0", giftId);
  2942. if (ds_Gift == null || ds_Gift.Tables[0].Rows.Count > 0)
  2943. {
  2944. response.status = "-10";
  2945. response.message = "Invalid Gift";
  2946. return Ok(response);
  2947. }
  2948. else
  2949. {
  2950. logger.Info("Start call charg money");
  2951. string subServiceCode = ds_Gift.Tables[0].Rows[0]["CHARGE_CODE"].ToString();
  2952. string data = "requestId=" + "&msisdn=" + users + "&otp=" + "&serviceid=" + serviceid + "&subServiceCode=" + subServiceCode;
  2953. logger.Info("Request call charge: " + data);
  2954. string response111 = Common.SocketUnSyn(data, mps_ip, Convert.ToInt32(mps_port), 12000);
  2955. logger.Info("Result call charge: " + response111);
  2956. mpsResponse resCallMps = JsonConvert.DeserializeObject<mpsResponse>(response111);
  2957. if (resCallMps.responseCode == "0")
  2958. {
  2959. logger.Info("charge money success :");
  2960. DataSet ds_regist = usersDataAccess.USERS_GIFT_SEND(users, serviceid, users_receved, giftId);
  2961. logger.Info("Call database USERS_GIFT_SEND success:");
  2962. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  2963. {
  2964. response.status = "0";
  2965. response.message = "Success";
  2966. response.message = resCallMps.requestID;
  2967. return Ok(response);
  2968. }
  2969. }
  2970. else if (resCallMps.responseCode == "401")
  2971. {
  2972. response.status = "-11";
  2973. response.message = "Not enough money ";
  2974. return Ok(response);
  2975. }
  2976. else
  2977. {
  2978. response.status = "-12";
  2979. response.message = "System err";
  2980. return Ok(response);
  2981. }
  2982. }
  2983. }
  2984. catch (Exception ex)
  2985. {
  2986. logger.Info("Err:" + ex.ToString());
  2987. }
  2988. return Ok(response);
  2989. }
  2990. */
  2991. //{"users":"50940240716","serviceId":"30","users_receved":"50912345678","giftId":"1","giftType":"1","requestId":"-1","otp":"-1"}
  2992. //giftType=1 charge va tang qua, giftType=2 la move qua cua user login sang cho users_receved;
  2993. public IActionResult usersGiftSend([FromBody] dynamic sendData)
  2994. {
  2995. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  2996. //log4net.Config.XmlConfigurator.Configure();
  2997. mpsResponseEx response = new mpsResponseEx();
  2998. response.status = "-1";
  2999. response.message = "Err unknow";
  3000. logger.Info("New request income usersGiftSendNotOtp :" + sendData.ToString());
  3001. string mps_ip = "127.0.0.1";
  3002. string mps_port = "0000";
  3003. try
  3004. {
  3005. var userObj = JObject.Parse(sendData.ToString());
  3006. string users = Convert.ToString(userObj["users"]);
  3007. string serviceid = Convert.ToString(userObj["serviceId"]);
  3008. string users_receved = Convert.ToString(userObj["users_receved"]);
  3009. string giftId = Convert.ToString(userObj["giftId"]);
  3010. string giftType = Convert.ToString(userObj["giftType"]);
  3011. string requestId = Convert.ToString(userObj["requestId"]);
  3012. string otp = Convert.ToString(userObj["otp"]);
  3013. //var userObj = JObject.Parse(sendData.ToString());
  3014. string language = Convert.ToString(userObj["language"]);
  3015. if (string.IsNullOrEmpty(language)) language = "0";
  3016. if (string.IsNullOrEmpty(giftId)) giftId = "-1";
  3017. if (string.IsNullOrEmpty(giftType)) giftType = "-1";
  3018. if (string.IsNullOrEmpty(requestId)) requestId = "-1";
  3019. if (string.IsNullOrEmpty(otp)) otp = "-1";
  3020. //Check token
  3021. //var userObj = JObject.Parse(sendData.ToString());
  3022. string token = Convert.ToString(userObj["token"]);
  3023. string channel = Convert.ToString(userObj["channel"]);
  3024. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  3025. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  3026. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  3027. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  3028. redisConnection _redis;
  3029. memoryCache.TryGetValue("redis", out _redis);
  3030. if (_redis == null)
  3031. {
  3032. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3033. {
  3034. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3035. Priority = CacheItemPriority.High,
  3036. SlidingExpiration = TimeSpan.FromMinutes(2),
  3037. Size = 1024,
  3038. };
  3039. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  3040. _redis.connet();
  3041. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3042. }
  3043. if (!_redis.isConnet())
  3044. {
  3045. if (!_redis.connet())
  3046. {
  3047. logger.Info("Connect to redis false");
  3048. response.status = "-2";
  3049. response.message = "System Update";
  3050. logger.Info("confirmTicket response : " + response.ToString());
  3051. return Ok(response);
  3052. }
  3053. else
  3054. {
  3055. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3056. {
  3057. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3058. Priority = CacheItemPriority.High,
  3059. SlidingExpiration = TimeSpan.FromMinutes(2),
  3060. Size = 1024,
  3061. };
  3062. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3063. }
  3064. }
  3065. //----------------------Ket thuc lay redis tu cache -------------------------------------
  3066. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  3067. {
  3068. logger.Info("Authen token false");
  3069. response.status = "35";
  3070. response.message = "Check Authen false";
  3071. return Ok(response);
  3072. }
  3073. //Ket thuc check token
  3074. if (giftId=="-1" || giftType=="-1")
  3075. {
  3076. response.status = "-11";
  3077. response.message = "GiftID or giftType param invalid";
  3078. return Ok(response);
  3079. }
  3080. DataSet ds_mps_info = DataAccess.MPS_GET_BY_ID(serviceid);
  3081. mps_ip = ds_mps_info.Tables[0].Rows[0]["MPS_IP"].ToString();
  3082. mps_port = ds_mps_info.Tables[0].Rows[0]["MPS_PORT"].ToString();
  3083. DataSet ds_subServiceCodeofGift = usersDataAccess.USERS_GIFT_GET_SUBSERVICECODE(users, serviceid, users_receved, giftId, giftType);
  3084. if (ds_subServiceCodeofGift == null || ds_subServiceCodeofGift.Tables[0].Rows.Count == 0)
  3085. {
  3086. response.status = "-11";
  3087. response.message = "Invalid Gift(No gift found)";
  3088. return Ok(response);
  3089. }
  3090. else
  3091. {
  3092. string status = ds_subServiceCodeofGift.Tables[0].Rows[0]["STATUS"].ToString();
  3093. logger.Info("Status when find subsserviceCode is: status" + status);
  3094. if(status=="0")
  3095. {
  3096. logger.Info("Send gift from acount coint success");
  3097. response.status = "0";
  3098. response.message = "Send gift from coin acount success";
  3099. return Ok(response);
  3100. }
  3101. else if(status=="1")
  3102. {
  3103. logger.Info("Khong ton tai gift trong acount cua coin");
  3104. response.status = "-11";
  3105. response.message = "Invalid Gift(No gift found in acount coin)";
  3106. return Ok(response);
  3107. }
  3108. else
  3109. {
  3110. logger.Info("Start call charg money");
  3111. string subServiceCode = ds_subServiceCodeofGift.Tables[0].Rows[0]["CHARGE_CODE"].ToString();
  3112. string data = "requestId=" + requestId + "&msisdn=" + users + "&otp=" + otp + "&serviceid=" + serviceid + "&subServiceCode=" + subServiceCode;
  3113. logger.Info("Request call charge: " + data);
  3114. string response111 = Common.SocketUnSyn(data, mps_ip, Convert.ToInt32(mps_port), 12000);
  3115. logger.Info("Result call charge: " + response111);
  3116. mpsResponse resCallMps = JsonConvert.DeserializeObject<mpsResponse>(response111);
  3117. if (resCallMps.responseCode == "0")
  3118. {
  3119. logger.Info("charge money success :");
  3120. DataSet ds_regist = usersDataAccess.USERS_GIFT_SEND(users, serviceid, users_receved, giftId);
  3121. logger.Info("Call database USERS_GIFT_SEND success:");
  3122. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  3123. {
  3124. response.status = "0";
  3125. response.message = "Success";
  3126. response.requestId = resCallMps.requestID;
  3127. return Ok(response);
  3128. }
  3129. }
  3130. else if (resCallMps.responseCode == "100")
  3131. {
  3132. response.status = "100";
  3133. response.message = "Send OTP success to user, pls send this function with OTP & requestID agian for finsh";
  3134. response.requestId = resCallMps.requestID;
  3135. return Ok(response);
  3136. }
  3137. else if (resCallMps.responseCode == "401")
  3138. {
  3139. response.status = "-12";
  3140. response.message = "Not enough money ";
  3141. return Ok(response);
  3142. }
  3143. else if (resCallMps.responseCode == "415")
  3144. {
  3145. response.status = "-13";
  3146. response.message = "Invalid OTP code";
  3147. return Ok(response);
  3148. }
  3149. else if (resCallMps.responseCode == "416")
  3150. {
  3151. response.status = "-14";
  3152. response.message = "Incorrect OTP code/ OTP code expired";
  3153. return Ok(response);
  3154. }
  3155. else if (resCallMps.responseCode == "417")
  3156. {
  3157. response.status = "-15";
  3158. response.message = "Confirm OTP via USSD time out";
  3159. return Ok(response);
  3160. }
  3161. else
  3162. {
  3163. response.status = "-10";
  3164. response.message = "System err";
  3165. return Ok(response);
  3166. }
  3167. }
  3168. }
  3169. }
  3170. catch (Exception ex)
  3171. {
  3172. logger.Info("Err:" + ex.ToString());
  3173. }
  3174. return Ok(response);
  3175. }
  3176. //{"users":"50912345678","serviceId":"30","rowsOnPage":"2","seqPage":"1","type":"0"}
  3177. //type: 0= user send,1= user receved (defualt)
  3178. [HttpPost]
  3179. public IActionResult usersGiftGetByUsers([FromBody] dynamic sendData)
  3180. {
  3181. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  3182. //log4net.Config.XmlConfigurator.Configure();
  3183. usersGiftSendList response = new usersGiftSendList();
  3184. try
  3185. {
  3186. var userObj = JObject.Parse(sendData.ToString());
  3187. string uid = Convert.ToString(userObj["users"]);
  3188. string sid = Convert.ToString(userObj["serviceId"]);
  3189. string type = Convert.ToString(userObj["type"]);
  3190. string rowsOnPage = Convert.ToString(userObj["rowsOnPage"]);
  3191. string seqPage = Convert.ToString(userObj["seqPage"]);
  3192. if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "100000000";
  3193. if (string.IsNullOrEmpty(seqPage)) seqPage = "1";
  3194. if (string.IsNullOrEmpty(type)) type = "1";
  3195. //var userObj = JObject.Parse(sendData.ToString());
  3196. string language = Convert.ToString(userObj["language"]);
  3197. if (string.IsNullOrEmpty(language)) language = "0";
  3198. logger.Info("New request income usersGiftGetByUsers :" + sendData.ToString());
  3199. //Check token
  3200. //var userObj = JObject.Parse(sendData.ToString());
  3201. string token = Convert.ToString(userObj["token"]);
  3202. string channel = Convert.ToString(userObj["channel"]);
  3203. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  3204. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  3205. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  3206. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  3207. redisConnection _redis;
  3208. memoryCache.TryGetValue("redis", out _redis);
  3209. if (_redis == null)
  3210. {
  3211. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3212. {
  3213. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3214. Priority = CacheItemPriority.High,
  3215. SlidingExpiration = TimeSpan.FromMinutes(2),
  3216. Size = 1024,
  3217. };
  3218. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  3219. _redis.connet();
  3220. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3221. }
  3222. if (!_redis.isConnet())
  3223. {
  3224. if (!_redis.connet())
  3225. {
  3226. logger.Info("Connect to redis false");
  3227. response.status = "-2";
  3228. response.message = "System Update";
  3229. logger.Info("confirmTicket response : " + response.ToString());
  3230. return Ok(response);
  3231. }
  3232. else
  3233. {
  3234. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3235. {
  3236. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3237. Priority = CacheItemPriority.High,
  3238. SlidingExpiration = TimeSpan.FromMinutes(2),
  3239. Size = 1024,
  3240. };
  3241. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3242. }
  3243. }
  3244. //----------------------Ket thuc lay redis tu cache -------------------------------------
  3245. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  3246. {
  3247. logger.Info("Authen token false");
  3248. response.status = "35";
  3249. response.message = "Check Authen false";
  3250. return Ok(response);
  3251. }
  3252. //Ket thuc check token
  3253. DataSet ds_regist = usersDataAccess.USERS_GIFT_GET_BUY_USERS( uid, sid, rowsOnPage, seqPage, type);
  3254. logger.Info("Call database USERS_GIFT_GET_BUY_USERS success:");
  3255. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  3256. {
  3257. response.status = "0";
  3258. response.message = "Success";
  3259. response.rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString();
  3260. response.seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString();
  3261. response.totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString();
  3262. response.listGiftSend = new usersGiftSend[ds_regist.Tables[0].Rows.Count];
  3263. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  3264. {
  3265. usersGiftSend obj = new usersGiftSend();
  3266. obj.seq = ds_regist.Tables[0].Rows[j]["SEQ"].ToString();
  3267. obj.giftSendId = ds_regist.Tables[0].Rows[j]["giftSendId"].ToString();
  3268. obj.usersSendId = ds_regist.Tables[0].Rows[j]["usersSendId"].ToString();
  3269. obj.usersSendName = ds_regist.Tables[0].Rows[j]["usersSendName"].ToString();
  3270. obj.usersRecevedId = ds_regist.Tables[0].Rows[j]["usersRecevedId"].ToString();
  3271. obj.usersRecevedName = ds_regist.Tables[0].Rows[j]["usersRecevedName"].ToString();
  3272. obj.dateSend = ds_regist.Tables[0].Rows[j]["dateSend"].ToString();
  3273. obj.giftId = ds_regist.Tables[0].Rows[j]["giftId"].ToString();
  3274. obj.code = ds_regist.Tables[0].Rows[j]["code"].ToString();
  3275. obj.name = ds_regist.Tables[0].Rows[j]["name"].ToString();
  3276. obj.chargMoney = ds_regist.Tables[0].Rows[j]["chargMoney"].ToString();
  3277. obj.chargeCode = ds_regist.Tables[0].Rows[j]["chargeCode"].ToString();
  3278. obj.coin = ds_regist.Tables[0].Rows[j]["coin"].ToString();
  3279. obj.status = ds_regist.Tables[0].Rows[j]["status"].ToString();
  3280. response.listGiftSend[j] = obj;
  3281. }
  3282. }
  3283. else
  3284. {
  3285. response.status = "1";
  3286. response.message = "No data";
  3287. }
  3288. }
  3289. catch (Exception ex)
  3290. {
  3291. }
  3292. logger.Info("Responase to web: " + response.ToString());
  3293. return Ok(response);
  3294. }
  3295. //{"language":"0"}
  3296. public IActionResult usersGetInterests([FromBody] dynamic sendData)
  3297. {
  3298. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  3299. //log4net.Config.XmlConfigurator.Configure();
  3300. usersInterestsList response = new usersInterestsList();
  3301. try
  3302. {
  3303. var userObj = JObject.Parse(sendData.ToString());
  3304. string language = Convert.ToString(userObj["language"]);
  3305. //var userObj = JObject.Parse(sendData.ToString());
  3306. //string language = Convert.ToString(userObj["language"]);
  3307. if (string.IsNullOrEmpty(language)) language = "0";
  3308. logger.Info("New request income usersGetInterests :" + sendData.ToString());
  3309. //Check token
  3310. //var userObj = JObject.Parse(sendData.ToString());
  3311. string token = Convert.ToString(userObj["token"]);
  3312. string channel = Convert.ToString(userObj["channel"]);
  3313. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  3314. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  3315. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  3316. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  3317. redisConnection _redis;
  3318. memoryCache.TryGetValue("redis", out _redis);
  3319. if (_redis == null)
  3320. {
  3321. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3322. {
  3323. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3324. Priority = CacheItemPriority.High,
  3325. SlidingExpiration = TimeSpan.FromMinutes(2),
  3326. Size = 1024,
  3327. };
  3328. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  3329. _redis.connet();
  3330. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3331. }
  3332. if (!_redis.isConnet())
  3333. {
  3334. if (!_redis.connet())
  3335. {
  3336. logger.Info("Connect to redis false");
  3337. response.status = "-2";
  3338. response.message = "System Update";
  3339. logger.Info("confirmTicket response : " + response.ToString());
  3340. return Ok(response);
  3341. }
  3342. else
  3343. {
  3344. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3345. {
  3346. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3347. Priority = CacheItemPriority.High,
  3348. SlidingExpiration = TimeSpan.FromMinutes(2),
  3349. Size = 1024,
  3350. };
  3351. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3352. }
  3353. }
  3354. //----------------------Ket thuc lay redis tu cache -------------------------------------
  3355. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  3356. {
  3357. logger.Info("Authen token false");
  3358. response.status = "35";
  3359. response.message = "Check Authen false";
  3360. return Ok(response);
  3361. }
  3362. //Ket thuc check token
  3363. DataSet ds_regist = usersDataAccess.USERS_GET_INTERESTS(language);
  3364. logger.Info("Call database USERS_GET_INTERESTS success:");
  3365. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  3366. {
  3367. response.status = "0";
  3368. response.message = "Success";
  3369. response.listInterests = new usersInterests[ds_regist.Tables[0].Rows.Count];
  3370. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  3371. {
  3372. usersInterests obj = new usersInterests();
  3373. obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString();
  3374. obj.code = ds_regist.Tables[0].Rows[j]["code"].ToString();
  3375. obj.name = ds_regist.Tables[0].Rows[j]["name"].ToString();
  3376. obj.picture = ds_regist.Tables[0].Rows[j]["PICTURE"].ToString();
  3377. response.listInterests[j] = obj;
  3378. }
  3379. }
  3380. else
  3381. {
  3382. response.status = "1";
  3383. response.message = "No data";
  3384. }
  3385. }
  3386. catch (Exception ex)
  3387. {
  3388. }
  3389. logger.Info("Responase to web: " + response.ToString());
  3390. return Ok(response);
  3391. }
  3392. //{"users":"50912345678","serviceId":"30","language":"0"}
  3393. public IActionResult usersGetInterestsByUser([FromBody] dynamic sendData)
  3394. {
  3395. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  3396. //log4net.Config.XmlConfigurator.Configure();
  3397. usersInterestsList response = new usersInterestsList();
  3398. try
  3399. {
  3400. var userObj = JObject.Parse(sendData.ToString());
  3401. string language = Convert.ToString(userObj["language"]);
  3402. string users = Convert.ToString(userObj["users"]);
  3403. string serviceId = Convert.ToString(userObj["serviceId"]);
  3404. //var userObj = JObject.Parse(sendData.ToString());
  3405. //string language = Convert.ToString(userObj["language"]);
  3406. if (string.IsNullOrEmpty(language)) language = "0";
  3407. logger.Info("New request income usersGetInterests :" + sendData.ToString());
  3408. //Check token
  3409. //var userObj = JObject.Parse(sendData.ToString());
  3410. string token = Convert.ToString(userObj["token"]);
  3411. string channel = Convert.ToString(userObj["channel"]);
  3412. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  3413. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  3414. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  3415. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  3416. redisConnection _redis;
  3417. memoryCache.TryGetValue("redis", out _redis);
  3418. if (_redis == null)
  3419. {
  3420. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3421. {
  3422. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3423. Priority = CacheItemPriority.High,
  3424. SlidingExpiration = TimeSpan.FromMinutes(2),
  3425. Size = 1024,
  3426. };
  3427. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  3428. _redis.connet();
  3429. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3430. }
  3431. if (!_redis.isConnet())
  3432. {
  3433. if (!_redis.connet())
  3434. {
  3435. logger.Info("Connect to redis false");
  3436. response.status = "-2";
  3437. response.message = "System Update";
  3438. logger.Info("confirmTicket response : " + response.ToString());
  3439. return Ok(response);
  3440. }
  3441. else
  3442. {
  3443. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3444. {
  3445. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3446. Priority = CacheItemPriority.High,
  3447. SlidingExpiration = TimeSpan.FromMinutes(2),
  3448. Size = 1024,
  3449. };
  3450. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3451. }
  3452. }
  3453. //----------------------Ket thuc lay redis tu cache -------------------------------------
  3454. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  3455. {
  3456. logger.Info("Authen token false");
  3457. response.status = "35";
  3458. response.message = "Check Authen false";
  3459. return Ok(response);
  3460. }
  3461. //Ket thuc check token
  3462. DataSet ds_regist = usersDataAccess.USERS_GET_INTERESTS_BY_USER(language, users,serviceId);
  3463. logger.Info("Call database USERS_GET_INTERESTS success:");
  3464. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  3465. {
  3466. response.status = "0";
  3467. response.message = "Success";
  3468. response.listInterests = new usersInterests[ds_regist.Tables[0].Rows.Count];
  3469. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  3470. {
  3471. usersInterests obj = new usersInterests();
  3472. obj.id = ds_regist.Tables[0].Rows[j]["id"].ToString();
  3473. obj.code = ds_regist.Tables[0].Rows[j]["code"].ToString();
  3474. obj.name = ds_regist.Tables[0].Rows[j]["name"].ToString();
  3475. obj.picture = ds_regist.Tables[0].Rows[j]["PICTURE"].ToString();
  3476. response.listInterests[j] = obj;
  3477. }
  3478. }
  3479. else
  3480. {
  3481. response.status = "1";
  3482. response.message = "No data";
  3483. }
  3484. }
  3485. catch (Exception ex)
  3486. {
  3487. }
  3488. logger.Info("Responase to web: " + response.ToString());
  3489. return Ok(response);
  3490. }
  3491. //{"users":"50912345678","serviceId":"30","listInterests":"1$2"}
  3492. public IActionResult usersInterestsUpdate([FromBody] dynamic sendData)
  3493. {
  3494. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  3495. //log4net.Config.XmlConfigurator.Configure();
  3496. responseObjUtil response = new responseObjUtil();
  3497. response.status = "-1";
  3498. response.message = "Err unknow";
  3499. try
  3500. {
  3501. var userObj = JObject.Parse(sendData.ToString());
  3502. string listInterests = Convert.ToString(userObj["listInterests"]);
  3503. string users = Convert.ToString(userObj["users"]);
  3504. string serviceId = Convert.ToString(userObj["serviceId"]);
  3505. //var userObj = JObject.Parse(sendData.ToString());
  3506. string language = Convert.ToString(userObj["language"]);
  3507. if (string.IsNullOrEmpty(language)) language = "0";
  3508. logger.Info("New request income usersInterestsUpdate :" + sendData.ToString());
  3509. //Check token
  3510. //var userObj = JObject.Parse(sendData.ToString());
  3511. string token = Convert.ToString(userObj["token"]);
  3512. string channel = Convert.ToString(userObj["channel"]);
  3513. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  3514. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  3515. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  3516. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  3517. redisConnection _redis;
  3518. memoryCache.TryGetValue("redis", out _redis);
  3519. if (_redis == null)
  3520. {
  3521. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3522. {
  3523. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3524. Priority = CacheItemPriority.High,
  3525. SlidingExpiration = TimeSpan.FromMinutes(2),
  3526. Size = 1024,
  3527. };
  3528. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  3529. _redis.connet();
  3530. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3531. }
  3532. if (!_redis.isConnet())
  3533. {
  3534. if (!_redis.connet())
  3535. {
  3536. logger.Info("Connect to redis false");
  3537. response.status = "-2";
  3538. response.message = "System Update";
  3539. logger.Info("confirmTicket response : " + response.ToString());
  3540. return Ok(response);
  3541. }
  3542. else
  3543. {
  3544. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3545. {
  3546. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3547. Priority = CacheItemPriority.High,
  3548. SlidingExpiration = TimeSpan.FromMinutes(2),
  3549. Size = 1024,
  3550. };
  3551. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3552. }
  3553. }
  3554. //----------------------Ket thuc lay redis tu cache -------------------------------------
  3555. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  3556. {
  3557. logger.Info("Authen token false");
  3558. response.status = "35";
  3559. response.message = "Check Authen false";
  3560. return Ok(response);
  3561. }
  3562. //Ket thuc check token
  3563. DataSet ds_regist = usersDataAccess.USERS_INTERESTS_UPDATE(users, serviceId, listInterests);
  3564. logger.Info("Call database USERS_INTERESTS_UPDATE success:");
  3565. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  3566. {
  3567. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  3568. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  3569. }
  3570. }
  3571. catch (Exception ex)
  3572. {
  3573. response.status = "-1";
  3574. logger.Info("Err:" + ex.ToString());
  3575. }
  3576. logger.Info("Responase to web: " + response.ToString());
  3577. return Ok(response);
  3578. }
  3579. // {"userId":"123","coin":"23","type":"1","tranCode":"ADD"}
  3580. [HttpPost]
  3581. public IActionResult usersUpdateCoin([FromBody] dynamic sendData)
  3582. {
  3583. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  3584. //log4net.Config.XmlConfigurator.Configure();
  3585. responseObjUtil response = new responseObjUtil();
  3586. response.status = "-1";
  3587. response.message = "Err unknow";
  3588. try
  3589. {
  3590. usersObjCoin data = JsonConvert.DeserializeObject<usersObjCoin>(sendData.ToString());
  3591. logger.Info("New request income usersUpdateCoin :" + data.ToString());
  3592. //Check token
  3593. var userObj = JObject.Parse(sendData.ToString());
  3594. string token = Convert.ToString(userObj["token"]);
  3595. string channel = Convert.ToString(userObj["channel"]);
  3596. //var userObj = JObject.Parse(sendData.ToString());
  3597. string language = Convert.ToString(userObj["language"]);
  3598. if (string.IsNullOrEmpty(language)) language = "0";
  3599. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  3600. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  3601. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  3602. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  3603. redisConnection _redis;
  3604. memoryCache.TryGetValue("redis", out _redis);
  3605. if (_redis == null)
  3606. {
  3607. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3608. {
  3609. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3610. Priority = CacheItemPriority.High,
  3611. SlidingExpiration = TimeSpan.FromMinutes(2),
  3612. Size = 1024,
  3613. };
  3614. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  3615. _redis.connet();
  3616. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3617. }
  3618. if (!_redis.isConnet())
  3619. {
  3620. if (!_redis.connet())
  3621. {
  3622. logger.Info("Connect to redis false");
  3623. response.status = "-2";
  3624. response.message = "System Update";
  3625. logger.Info("confirmTicket response : " + response.ToString());
  3626. return Ok(response);
  3627. }
  3628. else
  3629. {
  3630. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3631. {
  3632. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3633. Priority = CacheItemPriority.High,
  3634. SlidingExpiration = TimeSpan.FromMinutes(2),
  3635. Size = 1024,
  3636. };
  3637. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3638. }
  3639. }
  3640. //----------------------Ket thuc lay redis tu cache -------------------------------------
  3641. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  3642. {
  3643. logger.Info("Authen token false");
  3644. response.status = "35";
  3645. response.message = "Check Authen false";
  3646. return Ok(response);
  3647. }
  3648. //Ket thuc check token
  3649. DataSet ds_regist = usersDataAccess.USERS_UPDATE_COIN(data.userId, data.coin, data.type, data.tranCode);
  3650. logger.Info("Call database USERS_UPDATE_COIN success:");
  3651. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  3652. {
  3653. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  3654. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  3655. }
  3656. }
  3657. catch (Exception ex)
  3658. {
  3659. response.status = "-1";
  3660. logger.Info("Err:" + ex.ToString());
  3661. }
  3662. logger.Info("Responase to web: " + response.ToString());
  3663. return Ok(response);
  3664. }
  3665. //{"users":"50940227941","serviceId":"30","money":"10"}
  3666. [HttpPost]
  3667. public IActionResult ChangeCoinToMoney([FromBody] dynamic sendData)
  3668. {
  3669. //log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  3670. //log4net.Config.XmlConfigurator.Configure();
  3671. responseObjUtil response = new responseObjUtil();
  3672. try
  3673. {
  3674. usersObjChangeCoinRequest data = JsonConvert.DeserializeObject<usersObjChangeCoinRequest>(sendData.ToString());
  3675. logger.Info("New request income ChangeCoinToMoney :" + data.ToString());
  3676. //Check token
  3677. var userObj = JObject.Parse(sendData.ToString());
  3678. string token = Convert.ToString(userObj["token"]);
  3679. string channel = Convert.ToString(userObj["channel"]);
  3680. //var userObj = JObject.Parse(sendData.ToString());
  3681. string language = Convert.ToString(userObj["language"]);
  3682. if (string.IsNullOrEmpty(language)) language = "0";
  3683. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  3684. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  3685. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  3686. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  3687. redisConnection _redis;
  3688. memoryCache.TryGetValue("redis", out _redis);
  3689. if (_redis == null)
  3690. {
  3691. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3692. {
  3693. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3694. Priority = CacheItemPriority.High,
  3695. SlidingExpiration = TimeSpan.FromMinutes(2),
  3696. Size = 1024,
  3697. };
  3698. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  3699. _redis.connet();
  3700. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3701. }
  3702. if (!_redis.isConnet())
  3703. {
  3704. if (!_redis.connet())
  3705. {
  3706. logger.Info("Connect to redis false");
  3707. response.status = "-2";
  3708. response.message = "System Update";
  3709. logger.Info("confirmTicket response : " + response.ToString());
  3710. return Ok(response);
  3711. }
  3712. else
  3713. {
  3714. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3715. {
  3716. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3717. Priority = CacheItemPriority.High,
  3718. SlidingExpiration = TimeSpan.FromMinutes(2),
  3719. Size = 1024,
  3720. };
  3721. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3722. }
  3723. }
  3724. //----------------------Ket thuc lay redis tu cache -------------------------------------
  3725. if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  3726. {
  3727. logger.Info("Authen token false");
  3728. response.status = "35";
  3729. response.message = "Check Authen false";
  3730. return Ok(response);
  3731. }
  3732. //Ket thuc check token
  3733. DataSet ds_regist = usersDataAccess.ChangeCoinToMoney(data.userId, data.serviceid, data.money);
  3734. logger.Info("Call database ChangeCoinToMoney success:");
  3735. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  3736. {
  3737. response.status = ds_regist.Tables[0].Rows[0]["status"].ToString();
  3738. response.message = ds_regist.Tables[0].Rows[0]["message"].ToString();
  3739. }
  3740. }
  3741. catch (Exception ex)
  3742. {
  3743. response.status = "-1";
  3744. response.message = "Unknow";
  3745. logger.Info("Err:" + ex.ToString());
  3746. }
  3747. logger.Info("Responase to web: " + response.ToString());
  3748. return Ok(response);
  3749. }
  3750. //[HttpPost]
  3751. //public IActionResult blacklistInsertData([FromBody] dynamic sendData)
  3752. //{
  3753. // //Lay ve url va key voi muc dich post vao lay Message cua Errcode
  3754. // string _keyConfig = string.Empty;
  3755. // _keyConfig = Common.GetValuesAppSetting("webConfig", "key");
  3756. // responseObjUtil response = new responseObjUtil();
  3757. // response.status = "-1";
  3758. // response.message = "Err unknow";
  3759. // logger.Info("Request from UI : " + sendData.ToString());
  3760. // var obj = JObject.Parse(sendData.ToString());
  3761. // //Check token
  3762. // var userObj = JObject.Parse(sendData.ToString());
  3763. // string token = Convert.ToString(userObj["token"]);
  3764. // string channel = Convert.ToString(userObj["channel"]);
  3765. // //var userObj = JObject.Parse(sendData.ToString());
  3766. // string language = Convert.ToString(userObj["language"]);
  3767. // if (string.IsNullOrEmpty(language)) language = "0";
  3768. // string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  3769. // string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  3770. // string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  3771. // //---------------------Lay ra va luu mot redis tu cache-----------------------------
  3772. // redisConnection _redis;
  3773. // memoryCache.TryGetValue("redis", out _redis);
  3774. // if (_redis == null)
  3775. // {
  3776. // var cacheExpiryOptions = new MemoryCacheEntryOptions
  3777. // {
  3778. // AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3779. // Priority = CacheItemPriority.High,
  3780. // SlidingExpiration = TimeSpan.FromMinutes(2),
  3781. // Size = 1024,
  3782. // };
  3783. // _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  3784. // _redis.connet();
  3785. // memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3786. // }
  3787. // if (!_redis.isConnet())
  3788. // {
  3789. // if (!_redis.connet())
  3790. // {
  3791. // logger.Info("Connect to redis false");
  3792. // response.status = "-2";
  3793. // response.message = "System Update";
  3794. // logger.Info("confirmTicket response : " + response.ToString());
  3795. // return Ok(response);
  3796. // }
  3797. // else
  3798. // {
  3799. // var cacheExpiryOptions = new MemoryCacheEntryOptions
  3800. // {
  3801. // AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3802. // Priority = CacheItemPriority.High,
  3803. // SlidingExpiration = TimeSpan.FromMinutes(2),
  3804. // Size = 1024,
  3805. // };
  3806. // memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3807. // }
  3808. // }
  3809. // //----------------------Ket thuc lay redis tu cache -------------------------------------
  3810. // if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  3811. // {
  3812. // logger.Info("Authen token false");
  3813. // response.status = "35";
  3814. // response.message = "Check Authen false";
  3815. // return Ok(response);
  3816. // }
  3817. // //Ket thuc check token
  3818. // blackObjList _data = JsonConvert.DeserializeObject<blackObjList>(sendData.ToString());
  3819. // string user = Convert.ToString(obj["userName"]);
  3820. // if (string.IsNullOrEmpty(user)) user = "-1";
  3821. // try
  3822. // {
  3823. // //Check key for authencation
  3824. // /*
  3825. // string _keyDecrypt = CustomEncryption.Decrypt(key);
  3826. // if (_keyDecrypt != _keyConfig)
  3827. // {
  3828. // response.status = "-3";
  3829. // response.message = "Authentication is false";
  3830. // logger.Info("Responase to web: " + response.ToString());
  3831. // return Ok(response);
  3832. // }
  3833. // */
  3834. // List<List<string>> DataColumms = new List<List<string>>();
  3835. // var LIST_MSISDN = new List<string>();
  3836. // var LIST_TYPE = new List<string>();
  3837. // var USERS = new List<string>();
  3838. // foreach (blackObj eachData in _data.data)
  3839. // {
  3840. // LIST_MSISDN.Add(eachData.msisdn);
  3841. // LIST_TYPE.Add(eachData.isBlackList);
  3842. // USERS.Add(user);
  3843. // }
  3844. // DataColumms.Add(LIST_MSISDN);
  3845. // DataColumms.Add(LIST_TYPE);
  3846. // DataColumms.Add(USERS);
  3847. // usersDataAccess.InsertBulkBlackData("MPS_PKG.BLACKLIST_UPLOAD_DATA", DataColumms);
  3848. // logger.Info("Call database export_created success:");
  3849. // response.status = "0";
  3850. // response.message = "Success";
  3851. // }
  3852. // catch (Exception ex)
  3853. // {
  3854. // logger.Info("getResultOfTerm exception: " + ex.ToString());
  3855. // logger.Info("getParam exception: " + ex.ToString());
  3856. // response.status = "-2";
  3857. // response.message = "System upgrade";
  3858. // }
  3859. // return Ok(response);
  3860. //}
  3861. //[HttpPost]
  3862. //public IActionResult seachBlackList([FromBody] dynamic sendData)
  3863. //{
  3864. // //Lay ve url va key voi muc dich post vao lay Message cua Errcode
  3865. // //string _keyConfig = string.Empty;
  3866. // //_keyConfig = Common.GetValuesAppSetting("webConfig", "key");
  3867. // rpBlackList response = new rpBlackList();
  3868. // response.status = "-1";
  3869. // response.message = "Err unknow";
  3870. // logger.Info("Request from UI : " + sendData.ToString());
  3871. // var obj = JObject.Parse(sendData.ToString());
  3872. // string msisdn = Convert.ToString(obj["msisdn"]);
  3873. // //string key = Convert.ToString(obj["key"]);
  3874. // if (string.IsNullOrEmpty(msisdn)) msisdn = "-1";
  3875. // try
  3876. // {
  3877. // //Check token
  3878. // var userObj = JObject.Parse(sendData.ToString());
  3879. // string token = Convert.ToString(userObj["token"]);
  3880. // string channel = Convert.ToString(userObj["channel"]);
  3881. // //var userObj = JObject.Parse(sendData.ToString());
  3882. // string language = Convert.ToString(userObj["language"]);
  3883. // if (string.IsNullOrEmpty(language)) language = "0";
  3884. // string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  3885. // string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  3886. // string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  3887. // //---------------------Lay ra va luu mot redis tu cache-----------------------------
  3888. // redisConnection _redis;
  3889. // memoryCache.TryGetValue("redis", out _redis);
  3890. // if (_redis == null)
  3891. // {
  3892. // var cacheExpiryOptions = new MemoryCacheEntryOptions
  3893. // {
  3894. // AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3895. // Priority = CacheItemPriority.High,
  3896. // SlidingExpiration = TimeSpan.FromMinutes(2),
  3897. // Size = 1024,
  3898. // };
  3899. // _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  3900. // _redis.connet();
  3901. // memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3902. // }
  3903. // if (!_redis.isConnet())
  3904. // {
  3905. // if (!_redis.connet())
  3906. // {
  3907. // logger.Info("Connect to redis false");
  3908. // response.status = "-2";
  3909. // response.message = "System Update";
  3910. // logger.Info("confirmTicket response : " + response.ToString());
  3911. // return Ok(response);
  3912. // }
  3913. // else
  3914. // {
  3915. // var cacheExpiryOptions = new MemoryCacheEntryOptions
  3916. // {
  3917. // AbsoluteExpiration = DateTime.Now.AddMonths(12),
  3918. // Priority = CacheItemPriority.High,
  3919. // SlidingExpiration = TimeSpan.FromMinutes(2),
  3920. // Size = 1024,
  3921. // };
  3922. // memoryCache.Set("redis", _redis, cacheExpiryOptions);
  3923. // }
  3924. // }
  3925. // //----------------------Ket thuc lay redis tu cache -------------------------------------
  3926. // if (!CommonFunction.checkToken(clientIp,token, channel, _redis, logger))
  3927. // {
  3928. // logger.Info("Authen token false");
  3929. // response.status = "35";
  3930. // response.message = "Check Authen false";
  3931. // return Ok(response);
  3932. // }
  3933. // //Ket thuc check token
  3934. // DataSet ds_regist = usersDataAccess.GET_BLACKLIST(msisdn);
  3935. // logger.Info("Call database getMoney success:");
  3936. // if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  3937. // {
  3938. // response.status = "0";
  3939. // response.message = "Success";
  3940. // response.listData = new rpBlack[ds_regist.Tables[0].Rows.Count];
  3941. // for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  3942. // {
  3943. // rpBlack _obj = new rpBlack();
  3944. // _obj.msisdn = ds_regist.Tables[0].Rows[j]["MSISDN"].ToString();
  3945. // _obj.createDate = ds_regist.Tables[0].Rows[j]["createDate"].ToString();
  3946. // _obj.users = ds_regist.Tables[0].Rows[j]["USER_NAME"].ToString();
  3947. // _obj.type = ds_regist.Tables[0].Rows[j]["type"].ToString();
  3948. // response.listData[j] = _obj;
  3949. // }
  3950. // }
  3951. // else
  3952. // {
  3953. // response.status = "1";
  3954. // response.message = "Nodata";
  3955. // }
  3956. // }
  3957. // catch (Exception ex)
  3958. // {
  3959. // logger.Info("getParam exception: " + ex.ToString());
  3960. // response.status = "-2";
  3961. // response.message = "System upgrade";
  3962. // }
  3963. // return Ok(response);
  3964. //}
  3965. //{"id":"1","users":"quangbh","key":"jqB3Vi1fIlu+9a2ODQs65w=="}
  3966. [HttpPost]
  3967. public IActionResult blacklistGetList([FromBody] dynamic sendData)
  3968. {
  3969. logger.Info("New request income blacklistGetList :" + sendData.ToString());
  3970. blackListGetListArr response = new blackListGetListArr();
  3971. response.responseCode = "-1";
  3972. response.responseMessage = "Err unknow";
  3973. try
  3974. {
  3975. var userObj = JObject.Parse(sendData.ToString());
  3976. string msisdn = Convert.ToString(userObj["msisdn"]);
  3977. string type = Convert.ToString(userObj["type"]);
  3978. string serviceId = Convert.ToString(userObj["serviceId"]);
  3979. string users = Convert.ToString(userObj["users"]);
  3980. if (string.IsNullOrEmpty(users)) users = "-1";
  3981. if (string.IsNullOrEmpty(msisdn)) msisdn = "-1";
  3982. if (string.IsNullOrEmpty(type)) type = "-1";
  3983. if (string.IsNullOrEmpty(serviceId)) serviceId = "-1";
  3984. string token = Convert.ToString(userObj["token"]);
  3985. string channel = Convert.ToString(userObj["channel"]);
  3986. string language = Convert.ToString(userObj["language"]);
  3987. if (string.IsNullOrEmpty(language)) language = "-1";
  3988. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  3989. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  3990. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");
  3991. var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  3992. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  3993. redisConnection _redis;
  3994. memoryCache.TryGetValue("redis", out _redis);
  3995. if (_redis == null)
  3996. {
  3997. var cacheExpiryOptions = new MemoryCacheEntryOptions
  3998. {
  3999. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  4000. Priority = CacheItemPriority.High,
  4001. SlidingExpiration = TimeSpan.FromMinutes(2),
  4002. Size = 1024,
  4003. };
  4004. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  4005. _redis.connet();
  4006. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  4007. }
  4008. if (!_redis.isConnet())
  4009. {
  4010. if (!_redis.connet())
  4011. {
  4012. logger.Info("Connect to redis false");
  4013. response.responseCode = "-2";
  4014. response.responseMessage = "System Update";
  4015. logger.Info("confirmTicket response : " + response.ToString());
  4016. return Ok(response);
  4017. }
  4018. else
  4019. {
  4020. var cacheExpiryOptions = new MemoryCacheEntryOptions
  4021. {
  4022. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  4023. Priority = CacheItemPriority.High,
  4024. SlidingExpiration = TimeSpan.FromMinutes(2),
  4025. Size = 1024,
  4026. };
  4027. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  4028. }
  4029. }
  4030. //----------------------Ket thuc lay redis tu cache -------------------------------------
  4031. tokenObj _tokenObj = null;
  4032. if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger, out _tokenObj))
  4033. {
  4034. logger.Info("Authen token false");
  4035. response.responseCode = "35";
  4036. response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language);
  4037. logger.Info("confirmTicket response : " + response.ToString());
  4038. return Ok(response);
  4039. }
  4040. DataSet ds_regist = usersDataAccess.blackGettList(msisdn, type, serviceId, users);
  4041. logger.Info("Call database blackGettList success:");
  4042. response.responseCode = "0";
  4043. response.responseMessage = "Success";
  4044. if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
  4045. {
  4046. response.list = new blackListGetList[ds_regist.Tables[0].Rows.Count];
  4047. for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
  4048. {
  4049. blackListGetList _obj = new blackListGetList();
  4050. _obj.id = ds_regist.Tables[0].Rows[j]["ID"].ToString();
  4051. _obj.msisdn = ds_regist.Tables[0].Rows[j]["msisdn"].ToString();
  4052. _obj.type = ds_regist.Tables[0].Rows[j]["type"].ToString();
  4053. _obj.serviceId = ds_regist.Tables[0].Rows[j]["SV_ID"].ToString();
  4054. _obj.sysdate = ds_regist.Tables[0].Rows[j]["VSYSDATE"].ToString();
  4055. _obj.users = ds_regist.Tables[0].Rows[j]["USERS"].ToString();
  4056. response.list[j] = _obj;
  4057. }
  4058. }
  4059. }
  4060. catch (Exception ex)
  4061. {
  4062. logger.Info("exception: " + ex.ToString());
  4063. response.responseCode = "-2";
  4064. response.responseMessage = "System upgrade";
  4065. }
  4066. logger.Info("Responase to web: " + response.ToString());
  4067. return Ok(response);
  4068. }
  4069. //Import data vao Export
  4070. //--;
  4071. [HttpPost]
  4072. public IActionResult blacklistInsertData([FromBody] dynamic sendData)
  4073. {
  4074. Response response = new Response();
  4075. response.responseCode = "-1";
  4076. response.responseMessage = "Err unknow";
  4077. logger.Info("Request from UI blacklistInsertData: " + sendData.ToString());
  4078. var userObj = JObject.Parse(sendData.ToString());
  4079. blackImportDataList _data = JsonConvert.DeserializeObject<blackImportDataList>(sendData.ToString());
  4080. if (string.IsNullOrEmpty(_data.type)) _data.type = "-1";
  4081. if (string.IsNullOrEmpty(_data.serviceId)) _data.serviceId = "-1";
  4082. if (string.IsNullOrEmpty(_data.users)) _data.users = "-1";
  4083. try
  4084. {
  4085. //Check key for authencation
  4086. string token = Convert.ToString(userObj["token"]);
  4087. string channel = Convert.ToString(userObj["channel"]);
  4088. string language = Convert.ToString(userObj["language"]);
  4089. if (string.IsNullOrEmpty(language)) language = "-1";
  4090. string RedisIp = Common.GetValuesAppSetting("webConfig", "RedisIp");
  4091. string RedisPort = Common.GetValuesAppSetting("webConfig", "RedisPort");
  4092. string RedisPass = Common.GetValuesAppSetting("webConfig", "RedisPass");
  4093. var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();
  4094. //---------------------Lay ra va luu mot redis tu cache-----------------------------
  4095. redisConnection _redis;
  4096. memoryCache.TryGetValue("redis", out _redis);
  4097. if (_redis == null)
  4098. {
  4099. var cacheExpiryOptions = new MemoryCacheEntryOptions
  4100. {
  4101. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  4102. Priority = CacheItemPriority.High,
  4103. SlidingExpiration = TimeSpan.FromMinutes(2),
  4104. Size = 1024,
  4105. };
  4106. _redis = new redisConnection(RedisIp, RedisPort, RedisPass);
  4107. _redis.connet();
  4108. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  4109. }
  4110. if (!_redis.isConnet())
  4111. {
  4112. if (!_redis.connet())
  4113. {
  4114. logger.Info("Connect to redis false");
  4115. response.responseCode = "-2";
  4116. response.responseMessage = "System Update";
  4117. logger.Info("confirmTicket response : " + response.ToString());
  4118. return Ok(response);
  4119. }
  4120. else
  4121. {
  4122. var cacheExpiryOptions = new MemoryCacheEntryOptions
  4123. {
  4124. AbsoluteExpiration = DateTime.Now.AddMonths(12),
  4125. Priority = CacheItemPriority.High,
  4126. SlidingExpiration = TimeSpan.FromMinutes(2),
  4127. Size = 1024,
  4128. };
  4129. memoryCache.Set("redis", _redis, cacheExpiryOptions);
  4130. }
  4131. }
  4132. //----------------------Ket thuc lay redis tu cache -------------------------------------
  4133. tokenObj _tokenObj = null;
  4134. if (!CommonFunction.checkToken(clientIp, token, channel, _redis, logger, out _tokenObj))
  4135. {
  4136. logger.Info("Authen token false");
  4137. response.responseCode = "35";
  4138. response.responseMessage = CommonObj.common.CommonFunction.getErrCodeObjFromRedis(_redis, channel, response.responseCode, language);
  4139. logger.Info("confirmTicket response : " + response.ToString());
  4140. return Ok(response);
  4141. }
  4142. List<List<string>> DataColumms = new List<List<string>>();
  4143. var LIST_MSISDN = new List<string>();
  4144. var LIST_TYPE = new List<string>();
  4145. var LIST_SVID = new List<string>();
  4146. var LIST_ACTION = new List<string>();
  4147. var LIST_USERS = new List<string>();
  4148. foreach (blackListObj eachData in _data.data)
  4149. {
  4150. LIST_TYPE.Add(_data.type);
  4151. LIST_SVID.Add(_data.serviceId);
  4152. LIST_USERS.Add(_data.users);
  4153. LIST_MSISDN.Add(eachData.msisdn);
  4154. LIST_ACTION.Add(eachData.action);
  4155. }
  4156. DataColumms.Add(LIST_MSISDN);
  4157. DataColumms.Add(LIST_TYPE);
  4158. DataColumms.Add(LIST_SVID);
  4159. DataColumms.Add(LIST_ACTION);
  4160. DataColumms.Add(LIST_USERS);
  4161. usersDataAccess.InsertBulkBlackList("BALANCE_PKG.BLACK_INSERT", DataColumms);
  4162. logger.Info("Call database export_created success:");
  4163. response.responseCode = "0";
  4164. response.responseMessage = "Success";
  4165. }
  4166. catch (Exception ex)
  4167. {
  4168. logger.Info("getResultOfTerm exception: " + ex.ToString());
  4169. response.responseCode = "-2";
  4170. response.responseMessage = "System upgrade";
  4171. }
  4172. return Ok(response);
  4173. }
  4174. }
  4175. }