Choose.cshtml 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. @{
  2. ViewData["Title"] = "ChooseNumber";
  3. Layout = "~/Views/Shared/_NothingLayout.cshtml";
  4. }
  5. @using LotteryWebApp.Languages;
  6. @using LotteryWebApp.Controllers;
  7. @using LotteryWebApp.Common;
  8. @using System.Globalization;
  9. @model BuyTicketChoose_ViewModel
  10. @{
  11. String dateTo = DateTime.Now.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
  12. }
  13. <div class="app-content content" style="position:relative">
  14. <div class="card-title text-center ">
  15. <div class="news-button-header-container" style="text-align: start; margin: 0 10px;">
  16. @await Component.InvokeAsync("SmallHeader", new { title = Lang.buy_ticket })
  17. </div>
  18. </div>
  19. <div class="content-wrapper" style="margin-top:80px; margin-bottom:70px;">
  20. <div class="content-body">
  21. <section class="flexbox-container">
  22. <div class="col-12 align-items-center justify-content-center">
  23. <div class="header-choose-container">
  24. <div class="row">
  25. <div class="col-6 date-choose-box">
  26. <span>@Lang.date_purchase</span>
  27. </div>
  28. <div class="col-6 date-choose-box">
  29. <div class="date-choose">
  30. @* <input type="date" value="@dateTo" style="font-size:16px; pointer-events: none;" /> *@
  31. <span>@dateTo <i class="fa fa-calendar"></i></span>
  32. </div>
  33. </div>
  34. <div class="col-6 date-choose-box">
  35. <span>@Lang.type</span>
  36. </div>
  37. <div class="col-6 date-choose-box">
  38. <div class="date-choose">
  39. @* <span>@dateTo <i class="fa fa-calendar"></i></span> *@
  40. <select id="gameType">
  41. <option value="@Constants.GameType.Direct" selected>Direct</option>
  42. </select>
  43. </div>
  44. </div>
  45. <div class="col-6 button-choose-box">
  46. <button type="button" class="btn btn-outline-primary btn-block button-style-3"
  47. onclick="cleanAllTicket_Click()">
  48. <img src="~/img/broom 1.png" /> @Lang.clean_all.ToUpper()
  49. </button>
  50. </div>
  51. <div class="col-6 button-choose-box">
  52. <button type="button" class="btn btn-outline-primary btn-block button-style-3"
  53. onclick="autoFillAllTicket_Click('@Model.ticketType')">
  54. <img src="~/img/autofill.png" /> @Lang.auto_fill.ToUpper()
  55. </button>
  56. </div>
  57. </div>
  58. </div>
  59. <div class="ticket-list">
  60. <div>
  61. @await Component.InvokeAsync("ChooseForm", new {ticketType = Model.ticketType })
  62. </div>
  63. @* <div>
  64. @await Component.InvokeAsync("ChooseForm", new {ticketType = Model.ticketType })
  65. </div>
  66. <div>
  67. @await Component.InvokeAsync("ChooseForm", new {ticketType = Model.ticketType })
  68. </div>
  69. <div>
  70. @await Component.InvokeAsync("ChooseForm", new {ticketType = Model.ticketType })
  71. </div>*@
  72. </div>
  73. <div class="row button-on-footer" style="margin-top:50px;">
  74. <div class="col-6">
  75. <button type="button" class="btn btn-outline-primary btn-block button-style-2 button-add-more"
  76. onclick="addTicket_Click('@Model.ticketType')">
  77. <i class="ft-unlock"></i> @Lang.add_more_order.ToUpper()
  78. </button>
  79. </div>
  80. <div class="col-6">
  81. <form class="form-horizontal" action="@ViewBag.MyConfig.MyValue/BuyTicket/Payment" method="post">
  82. @Html.AntiForgeryToken()
  83. <button type="button" class="btn btn-outline-primary btn-block login-button"
  84. onclick="buyTicketConfirmButton_Click('@Model.ticketType')">
  85. <i class="ft-unlock"></i> @Lang.payment.ToUpper()
  86. </button>
  87. </form>
  88. </div>
  89. </div>
  90. </div>
  91. </section>
  92. </div>
  93. </div>
  94. </div>
  95. <script>
  96. stopLoading();
  97. </script>
  98. <script>
  99. function addTicket_Click(ticketType) {
  100. console.log("add");
  101. // kiem tra toi da 5 ve
  102. var elements = document.getElementsByClassName("ticket-buy-number");
  103. if (elements.length >= 5) {
  104. toastr.error('@Lang.max_5_tickets');
  105. $(".button-add-more").prop('disabled', true);
  106. $(".button-add-more").addClass('prevent-click');
  107. } else {
  108. $(".button-add-more").prop('disabled', false);
  109. $(".button-add-more").removeClass('prevent-click');
  110. let subDomain = $("#subDomain").val();
  111. let otpUrl = subDomain + '/BuyTicket/AddTicket_Action'
  112. startLoading();
  113. $.ajax({
  114. type: "POST",
  115. url: otpUrl,
  116. headers: { 'RequestVerificationToken': $('input[name=__RequestVerificationToken]').val() },
  117. data: {
  118. "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val(),
  119. ticketType: ticketType,
  120. },
  121. success: function(data) {
  122. stopLoading();
  123. $(".ticket-list").append(data)
  124. },
  125. failure: function(data) {
  126. stopLoading();
  127. },
  128. error: function(data) {
  129. stopLoading();
  130. }
  131. });
  132. }
  133. }
  134. </script>