Transfer.cshtml 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405
  1. @{
  2. ViewData["Title"] = "Transfer";
  3. Layout = "~/Views/Shared/_NothingLayout.cshtml";
  4. }
  5. @using LotteryWebApp.Languages;
  6. @using LotteryWebApp.Controllers;
  7. @using LotteryWebApp.Common;
  8. @using LotteryWebApp.Extensions;
  9. @using LotteryWebApp.Service;
  10. @using System.Globalization;
  11. @model HomeTransfer_ViewModel
  12. @{
  13. if (Model.transferData != null)
  14. {
  15. }
  16. }
  17. <div class="app-content content" style="position:relative">
  18. <div class="card-title text-center ">
  19. <div class="news-button-header-container" style="text-align: start; margin: 0 10px;">
  20. @await Component.InvokeAsync("SmallHeader", new { title = Lang.transfer.ToUpper()})
  21. </div>
  22. </div>
  23. <div class="content-wrapper" style="margin-top:80px; padding-bottom: 60px !important;">
  24. <div class="content-body">
  25. <section class="flexbox-container">
  26. <div class="col-12 align-items-center justify-content-center">
  27. <div class="">
  28. @{
  29. if (Model.step != Constants.TRANSFER_RESULT)
  30. {
  31. <div class="row">
  32. <div class="col-6">
  33. <a>
  34. <h5>
  35. @Lang.bee_account
  36. </h5>
  37. </a>
  38. </div>
  39. <div class="col-6" style="text-align:end;">
  40. <h4 class="text-bold-700 text-cash">
  41. @double.Parse(Model.userStatus.bet_coin).ToString("N0",new CultureInfo("en-US")) HTG
  42. </h4>
  43. </div>
  44. </div>
  45. <hr class="line2" style="margin-top:0px;" />
  46. }
  47. }
  48. <form class="form-horizontal" action="@ViewBag.MyConfig.MyValue/Home/Transfer" method="post">
  49. @Html.AntiForgeryToken()
  50. <input type="hidden" name="walletType" class="walletType" id="walletType" value="@Model.walletType" />
  51. <input type="hidden" name="content" class="content" id="content" value="" />
  52. @{
  53. if (Model.step == Constants.TRANSFER_SHOW || Model.step == Constants.TRANSFER_CONFIRM)
  54. {
  55. // for choosing
  56. <div>
  57. <h6>@Lang.select_an_account</h6>
  58. </div>
  59. if (Model.step == Constants.TRANSFER_SHOW)
  60. {
  61. <div class="scroll-item-container" style="margin-bottom:20px;">
  62. <div class="item-box-large">
  63. <a class="@(Model.walletType == Constants.BASIC_WALLET_TRANSFER ? "active": "")"
  64. href="@ViewBag.MyConfig.MyValue/Home/Transfer?walletType=@Constants.BASIC_WALLET_TRANSFER">
  65. <img style=" width: 100px;" src="~/img/natcom.png" />
  66. </a>
  67. </div>
  68. <div class="item-box-large">
  69. <a class="@(Model.walletType == Constants.NATCASH_WALLET_TRANSFER ? "active": "")"
  70. href="@ViewBag.MyConfig.MyValue/Home/Transfer?walletType=@Constants.NATCASH_WALLET_TRANSFER">
  71. <img style=" width: 100px;" src="~/img/Logo Natcash.png" />
  72. </a>
  73. </div>
  74. </div>
  75. }
  76. else
  77. {
  78. if (Model.walletType == Constants.BASIC_WALLET_TRANSFER)
  79. {
  80. <div class="scroll-item-container" style="margin-bottom:20px;">
  81. <div class="item-box-large">
  82. <a class="active"
  83. href="@ViewBag.MyConfig.MyValue/Home/Transfer?walletType=@Constants.BASIC_WALLET_TRANSFER">
  84. <img style=" width: 100px;" src="~/img/natcom.png" />
  85. </a>
  86. </div>
  87. </div>
  88. }
  89. else
  90. {
  91. <div class="scroll-item-container" style="margin-bottom:20px;">
  92. <div class="item-box-large">
  93. <a class="active"
  94. href="@ViewBag.MyConfig.MyValue/Home/Transfer?walletType=@Constants.NATCASH_WALLET_TRANSFER"
  95. style="padding-top: 5px;">
  96. <img style=" width: 100px;" src="~/img/Logo Natcash.png" />
  97. </a>
  98. </div>
  99. </div>
  100. }
  101. }
  102. //<fieldset class="form-group position-relative has-icon-left">
  103. // <label>@Lang.sender_phone</label>
  104. // <input type="number" class="data-input-box form-control" id="sendernumber" placeholder="@Lang.from_your_number" name="sendernumber" required disabled value="@Model.profile.users">
  105. // <div class="form-control-position" style="top: 32px;">
  106. // <img src="~/img/icons8-user-30.png" style="width:20px;" />
  107. // </div>
  108. //</fieldset>
  109. //if (Model.walletType == Constants.NATCASH_WALLET_TRANSFER)
  110. //{
  111. // <fieldset class="form-group position-relative has-icon-left">
  112. // <label>@Lang.receiver_phone</label>
  113. // <input type="number" class="data-input-box form-control" id="receivernumber" placeholder="@Lang.to_other_natcom_number" name="receivernumber" required
  114. // @(Model.step == Constants.TRANSFER_CONFIRM ? "disabled" : "") value="@(Model.transferData != null ? Model.transferData.msisdnReceive : "")">
  115. // <div class="form-control-position" style="top: 35px;">
  116. // <i class="fa fa-key"></i>
  117. // </div>
  118. // </fieldset>
  119. //}
  120. <fieldset class="form-group position-relative has-icon-left">
  121. <label>@Lang.money_on</label>
  122. <input type="text" class="data-input-line form-control" id="moneyon" placeholder="@Lang.enter_amount" name="moneyon" required
  123. @(Model.step == Constants.TRANSFER_CONFIRM ? "disabled" : "") value="@(Model.transferData != null ? Model.transferData.money : "")">
  124. </fieldset>
  125. if (Model.step == Constants.TRANSFER_SHOW)
  126. {
  127. //<div class="scroll-item-container" style="margin-bottom:20px;">
  128. // <div class="item-box">
  129. // <a href="#" class="value-10" onclick="chooseBox_Click(20)">
  130. // 20
  131. // </a>
  132. // </div>
  133. // <div class="item-box">
  134. // <a href="#" class="value-10" onclick="chooseBox_Click(50)">
  135. // 50
  136. // </a>
  137. // </div>
  138. // <div class="item-box">
  139. // <a href="#" class="value-10" onclick="chooseBox_Click(100)">
  140. // 100
  141. // </a>
  142. // </div>
  143. // <div class="item-box">
  144. // <a href="#" class="value-1000" onclick="chooseBox_Click(200)">
  145. // 200
  146. // </a>
  147. // </div>
  148. // <div class="item-box">
  149. // <a href="#" class="value-5000" onclick="chooseBox_Click(500)">
  150. // 500
  151. // </a>
  152. // </div>
  153. //</div>
  154. <h6>
  155. @Lang.or_select
  156. </h6>
  157. <div class="row">
  158. <div class="col-4">
  159. <div class="box-coin-choose" onclick="chooseBox_Click(20)">
  160. 20
  161. </div>
  162. </div>
  163. <div class="col-4">
  164. <div class="box-coin-choose" onclick="chooseBox_Click(50)">
  165. 50
  166. </div>
  167. </div>
  168. <div class="col-4">
  169. <div class="box-coin-choose" onclick="chooseBox_Click(100)">
  170. 100
  171. </div>
  172. </div>
  173. <div class="col-4">
  174. <div class="box-coin-choose" onclick="chooseBox_Click(200)">
  175. 200
  176. </div>
  177. </div>
  178. <div class="col-4">
  179. <div class="box-coin-choose" onclick="chooseBox_Click(300)">
  180. 300
  181. </div>
  182. </div>
  183. <div class="col-4">
  184. <div class="box-coin-choose" onclick="chooseBox_Click(500)">
  185. 500
  186. </div>
  187. </div>
  188. </div>
  189. <script>
  190. function chooseBox_Click(value){
  191. $("#moneyon").val(value);
  192. }
  193. </script>
  194. }
  195. else if (Model.step == Constants.TRANSFER_CONFIRM)
  196. {
  197. <div>
  198. <h6>@Lang.fee_tranfer</h6>
  199. <h5>@Lang.free</h5>
  200. </div>
  201. }
  202. }
  203. else if (Model.step == Constants.TRANSFER_RESULT)
  204. {
  205. <div class="card-header border-0 card-box">
  206. <div class="card-title text-center ">
  207. <div>
  208. <div style=" margin-top: 50px;">
  209. <img class="logo-app" src="~/img/Group854.png" />
  210. </div>
  211. <div style="position: relative; margin-top: 10px;">
  212. <h2 class="text-style-main-large">
  213. @Lang.success
  214. </h2>
  215. </div>
  216. <div style="position: relative; margin-top: 10px;">
  217. <h4 class="text-style-blue-normal">
  218. @Lang.transfer_success
  219. </h4>
  220. </div>
  221. <hr class="line-2">
  222. <div>
  223. <div class="row text-box-row">
  224. <div class="col-6 text-start">
  225. <h6>@Lang.amount_transfered</h6>
  226. </div>
  227. <div class="col-6 text-end-bold">
  228. @double.Parse(Model.transaction.money).ToString("N0",new CultureInfo("en-US")) HTG
  229. </div>
  230. </div>
  231. <div class="row text-box-row">
  232. <div class="col-6 text-start">
  233. <h6>@Lang.transfer_method</h6>
  234. </div>
  235. @{
  236. if (Model.walletType == Constants.BASIC_WALLET_TRANSFER)
  237. {
  238. <div class="col-6 text-end-bold">
  239. @Lang.basic_account
  240. </div>
  241. }
  242. else
  243. {
  244. <div class="col-6 text-end-bold">
  245. @Lang.NatCash
  246. </div>
  247. }
  248. }
  249. </div>
  250. <div class="row text-box-row">
  251. <div class="col-4 text-start">
  252. <h6>@Lang.sender</h6>
  253. </div>
  254. <div class="col-8 text-end-bold">
  255. @Model.transaction.acountSend
  256. </div>
  257. </div>
  258. <div class="row text-box-row">
  259. <div class="col-4 text-start">
  260. <h6>@Lang.receiver</h6>
  261. </div>
  262. <div class="col-8 text-end-bold">
  263. @Model.transaction.acountRecieve
  264. </div>
  265. </div>
  266. <div class="row text-box-row">
  267. <div class="col-4 text-start">
  268. <h6>@Lang.fee</h6>
  269. </div>
  270. <div class="col-8 text-end-bold">
  271. 0 HTG
  272. </div>
  273. </div>
  274. <hr class="line-2">
  275. <div class="row text-box-row">
  276. <div class="col-4 text-start">
  277. <h6>@Lang.time</h6>
  278. </div>
  279. <div class="col-8 text-end-bold">
  280. @Model.transaction.timeRequest
  281. </div>
  282. </div>
  283. </div>
  284. </div>
  285. </div>
  286. </div>
  287. }
  288. }
  289. <div class="row button-on-footer" style="margin-top:50px;">
  290. <div class="col-12">
  291. <button type="button" class="btn btn-outline-primary btn-block login-button"
  292. onclick="@(Model.step == Constants.TRANSFER_SHOW ? "transactionConfirmButtonAction_Click(" + Model.walletType + ")" :
  293. Model.step == Constants.TRANSFER_CONFIRM ? "transactionConfirmOtpButtonAction_Click()": "transactionRedirectButtonAction_Click()")">
  294. <i class="ft-unlock"></i> @(Model.step == Constants.TRANSFER_SHOW ? Lang._continue.ToUpper() :
  295. Model.step == Constants.TRANSFER_CONFIRM ? Lang.confirm : Lang.return_home_page)
  296. </button>
  297. </div>
  298. </div>
  299. </form>
  300. </div>
  301. </div>
  302. </section>
  303. </div>
  304. </div>
  305. </div>
  306. <script>
  307. stopLoading();
  308. </script>
  309. <script>
  310. var walletTypeG = null;
  311. function transactionConfirmButtonAction_Click(walletType) {
  312. let check = 1;
  313. let receivernumber = null;
  314. walletTypeG = walletType;
  315. //if (walletType == natcash_wallet_transfer) {
  316. // receivernumber = $("#receivernumber").val();
  317. // if (receivernumber == null || receivernumber == "") {
  318. // check *= 0;
  319. // $("#receivernumber").addClass("error-note-box");
  320. // }
  321. //}
  322. let moneyon = $("#moneyon").val();
  323. if (moneyon == null || moneyon == "" || moneyon > 10000) {
  324. check *= 0;
  325. $("#moneyon").addClass("error-note-line");
  326. if (moneyon > 10000) {
  327. toastr.error('@Lang.max_transfer_1000HTG');
  328. }
  329. }
  330. if (check == 1) {
  331. let subDomain = $("#subDomain").val();
  332. // show modal to enter otp
  333. let otpUrl = subDomain + '/Home/TransactionConfirm_Action'
  334. startLoading();
  335. $.ajax({
  336. type: "POST",
  337. url: otpUrl,
  338. headers: { 'RequestVerificationToken': $('input[name=__RequestVerificationToken]').val() },
  339. data: {
  340. "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val(),
  341. walletType: walletType,
  342. receivernumber: receivernumber,
  343. moneyon: moneyon
  344. },
  345. success: function (data) {
  346. stopLoading();
  347. if (data.code == success) {
  348. // redirect to success
  349. window.location.href = subDomain + '/Home/Transfer?step=2&walletType=' + walletType;
  350. } else if (data.code == session_expired) {
  351. window.location.href = subDomain + '/Account/Login';
  352. } else {
  353. toastr.error(data.message);
  354. }
  355. },
  356. failure: function (data) {
  357. stopLoading();
  358. },
  359. error: function (data) {
  360. stopLoading();
  361. }
  362. });
  363. }
  364. }
  365. </script>