Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.19 KB | None | 0 0
  1. @model IEnumerable<GloriousCore.Models.CartLine>
  2. @{
  3. ViewData["Title"] = "Корзина";
  4. Layout = "~/Views/Shared/_Layout.cshtml";
  5. }
  6.  
  7. <div class="container min-h">
  8. <br />
  9.  
  10. <h3>Корзина</h3>
  11. @if (TempData["SM"] != null)
  12. {
  13. <div class="alert alert-success">
  14. @TempData["SM"]
  15. </div>
  16. }
  17. <div class=" cart d-flex align-items-center row justify-content-center">
  18. <table class="cart-tbl row " align="center">
  19. @try
  20. {
  21. @foreach (var item in Model)
  22. {
  23. <tr>
  24. <td>
  25. <div class="tbl-item">
  26. <a asp-action="del" asp-controller="cart" asp-route-id="@item.Product.Id">X</a>
  27. </div>
  28. </td>
  29. <td>
  30. <div class="tbl-item tbl-item-img">
  31. <img src="/getpreview/?id=@item.Product.Id" enctype="multipart/form-data" />
  32. </div>
  33. </td>
  34. <td>
  35. <div class="tbl-item">
  36. <a href="/product/@item.Product.ProductCode">@item.Product.Name</a>
  37. </div>
  38. </td>
  39. <td>
  40. <div class="tbl-item">
  41. <p>@item.Product.Price</p>
  42. </div>
  43. </td>
  44. <td>
  45. <div class="tbl-item">
  46. <input id="productId" type="hidden" value="@item.Product.Id" />
  47. <input min="1" id="amount" type="number" value="@item.Quantity">
  48. </div>
  49. </td>
  50. <td>
  51. <div class="tbl-item">
  52. @if (item.Product.Discount == 0)
  53. {
  54. <p>@((item.Quantity * item.Product.Price).ToString("0.00 ₴"))</p>
  55. }
  56. else
  57. {
  58. <p>@((item.Quantity * item.Product.Discount).ToString("0.00 ₴")) </p>
  59. }
  60. </div>
  61. </td>
  62. </tr>
  63. }
  64. }
  65. catch
  66. {
  67. <tr>
  68. <td style="border: none;">
  69. <div class="tbl-total">
  70. <p>Корзина пуста.</p>
  71. </div>
  72. </td>
  73. </tr>
  74. }
  75.  
  76.  
  77. <tr>
  78. <td colspan="5" style="border: none;">
  79. <div class="tbl-total">
  80. <p>Итог: </p>
  81. </div>
  82. </td>
  83. <td style="border: none;">
  84. <div class="tbl-total">
  85. @Model.Sum(p => p.Product.Price * p.Quantity)
  86. @*<p>@ViewBag.Total.ToString("0.00 ₴")</p>*@
  87. </div>
  88. </td>
  89. </tr>
  90. </table>
  91. <form asp-action="Buy" asp-controller="cart" method="post">
  92. <div class="row d-flex justify-content-center align-items-center box-shadow">
  93. <div class="form-item col-md-12 col-lg-6 ">
  94. <label>ФИО:<span>*</span> </label><br>
  95. <input id="name" required type="text" name="name" pattern="^[A-zА-яёЁЇїІіЄєҐґ '.-]*$">
  96. </div>
  97.  
  98. <div class="form-item col-md-12 col-lg-6">
  99. <label>Телефон:<span>*</span> </label><br>
  100. <div class="num">
  101. <p class="num-itm">+380</p>
  102. <input id="num" name="num" required type="text" pattern="[0-9-()+]{3,20}">
  103. </div>
  104. </div>
  105.  
  106. <div class="form-item col-md-12 col-lg-6">
  107. <label>Email:<span>*</span> </label><br>
  108. <input id="mail" required type="text" name="email" pattern="^([a-z0-9_-]+\.)*[a-z0-9_-]+@("@")[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$">
  109. </div>
  110. <div class="form-item col-md-12 col-lg-6">
  111. <label>Город:<span>*</span> </label><br>
  112. <input id="city" required type="text" name="city" pattern="^[0-9A-zА-яёЁЇїІіЄєҐґ '.,-/]*$">
  113. </div>
  114.  
  115. <div class="form-item col-md-12 col-lg-6">
  116. <label>Служба доставки:<span>*</span> </label><br>
  117. <select name="post" id="post">
  118. <option>Новая почта</option>
  119. <option>Ин Тайм</option>
  120. <option>Украпочта</option>
  121. <option>Самовывоз</option>
  122. </select>
  123. </div>
  124.  
  125. <div class="form-item col-md-12 col-lg-6">
  126. <label>Адрес/отделение/почтовый индекс:<span>*</span> </label><br>
  127. <input id="address" required type="text" name="adres" value="" pattern="^[0-9A-zА-яёЁЇїІіЄєҐґ '.,-/]*$">
  128. </div>
  129.  
  130. <div class="form-item col-md-12 col-lg-6">
  131. <label>Дополнительна информация (по-желанию): </label><br>
  132. <textarea id="note" name="note"></textarea>
  133. </div>
  134. </div>
  135. <div class="submin row">
  136. <div class="col-md-12">
  137. <input required type="checkbox">
  138. <label class="col-md-11">
  139. Я прочитал(а) и соглашаюсь с правилами сайта <a asp-action="Terms" asp-controller="Shop">правила и условия</a> <span>*</span>
  140. </label>
  141. </div>
  142.  
  143. <div class="col-md-12">
  144. <input id="sub" type="submit" value="Оформить заказ">
  145. </div>
  146. </div>
  147. </form>
  148. </div>
  149. </div>
  150. <script src="~/js/jquery-3.3.1.min.js"></script>
  151. <script>
  152.  
  153. $('textarea').on('input', (function () {
  154. var pattern = "^[0-9A-zА-яЁё '.,-/*/!/?/(/)/]*$";
  155. if ($(this).val().match(pattern)) {
  156. this.classList.remove('nono');
  157. $('#sub').removeAttr('disabled');
  158. } else {
  159. this.classList.add('nono');
  160. $('#sub').attr('disabled', 'disabled');
  161. }
  162. }));
  163.  
  164. $('input[type=text]').on('input', (function () {
  165. this.addEventListener('input', function () {
  166. if (this.validity.valid) {
  167. this.classList.remove('nono');
  168. $('#sub').removeAttr('disabled');
  169. }
  170. else {
  171. this.classList.add('nono');
  172. $('#sub').attr('disabled', 'disabled');
  173. }
  174. });
  175. }));
  176.  
  177. $(function () {
  178. $("select").on("change", function () {
  179. var option = $("#post").val();
  180. if (option == "Самовывоз") {
  181. $('#address').css('background-color', '#c3c3c3');
  182. $('#address').val('Самовывоз');
  183. $('#address').attr('readonly', 'readonly');
  184. } else {
  185. $('#address').removeAttr('readonly');
  186. $('#address').css('background-color', '#fff');
  187. $('#address').val('');
  188. }
  189. });
  190.  
  191. $("[id=amount]").on('change', function () {
  192. var amount = $(this).val();
  193. var id = $(this).parent('div').find('#productId').val();
  194. $.post('/cart/edit', { id: id, amount: amount }, function () {
  195. location.reload();
  196.  
  197. });
  198. });
  199. });
  200. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement