Guest User

Untitled

a guest
Feb 19th, 2019
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 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>
Add Comment
Please, Sign In to add comment