Advertisement
Guest User

Untitled

a guest
Apr 4th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.26 KB | None | 0 0
  1. @using PartsUnlimited
  2. @model PartsUnlimited.ViewModels.ShoppingCartViewModel
  3. @inject Microsoft.AspNetCore.Antiforgery.IAntiforgery Xsrf
  4. @{
  5. ViewBag.Title = "Shopping Cart";
  6. }
  7.  
  8. @functions
  9. {
  10. public string GetAntiXsrfToken()
  11. {
  12. return Xsrf.GetAndStoreTokens(Context).RequestToken;
  13. }
  14. }
  15.  
  16. @section Scripts {
  17. <script type="text/javascript">
  18. // Document.ready -> link up remove event handler
  19. $(".remove-link")
  20. .click(function () {
  21. // Get the id from the link
  22. var recordToDelete = $(this).attr("data-id");
  23. var postToUrl = $(this).attr("data-url");
  24. if (recordToDelete !== '') {
  25.  
  26. // Start telemetry timer for post
  27. if (window.appInsights !== undefined)
  28. window.appInsights.startTrackEvent('Remove.Item.' + recordToDelete);
  29.  
  30. // Perform the ajax post
  31. var success = function (data) {
  32.  
  33. console.log(data);
  34. // Successful requests get here
  35. // Update the page elements
  36. if (data.cartCount === 0) {
  37. $('#cart-summary').hide();
  38. $('#cart-count').hide();
  39. $('#empty-cart').show();
  40. } else {
  41.  
  42. if (data.ItemCount === 0) {
  43. $('#row-' + data.deleteId).fadeOut('slow');
  44. } else {
  45. $('#item-count-' + data.deleteId).text(data.itemCount);
  46. }
  47. }
  48. $('#cart-sub-total').text(data.cartSubTotal);
  49. $('#cart-shipping').text(data.cartShipping);
  50. $('#cart-tax').text(data.cartTax);
  51. $('#cart-total').text(data.cartTotal);
  52. $('#update-message').text(data.message);
  53. $('#cart-status').text('Cart (' + data.cartCount + ')');
  54. $('#cart-count').text(data.cartCount);
  55.  
  56. if (window.appInsights !== undefined)
  57. window.appInsights.stopTrackEvent('Remove.Item.' + recordToDelete);
  58. };
  59.  
  60. $.ajax({
  61. type: 'POST',
  62. url: postToUrl,
  63. data: { Id: recordToDelete, CancelationToken: '@GetAntiXsrfToken()' },
  64. success,
  65. headers: {
  66. 'RequestVerificationToken': '@GetAntiXsrfToken()'
  67. }
  68. });
  69. }
  70. });
  71.  
  72. </script>
  73. }
  74. <div id="shopping-cart-page">
  75. <section>
  76. <h2>Review your Cart</h2>
  77. <div id="update-message">
  78. </div>
  79. @if (Model.CartCount > 0)
  80. {
  81. <div id="cart-summary">
  82. <div class="hidden-xs cart-summary-header">
  83. <div class="row">
  84. <div class="col-sm-8 col-md-8 no-gutter-md-left no-gutter-sm-left">Product Description</div>
  85. <div class="col-sm-2 col-md-2 text-center">Quantity</div>
  86. <div class="col-sm-2 col-md-2 text-center">Price</div>
  87. </div>
  88. </div>
  89.  
  90. @foreach (var item in Model.CartItems)
  91. {
  92. <div id="row-@item.CartItemId" class="cart-item">
  93. <div class="row">
  94. <div class="col-xs-1 no-gutter-xs-right text-center-xs col-sm-2 col-sm-push-8 text-center-sm">
  95. <div class="item-label item-inventory">@item.Count</div>
  96. </div>
  97. <div class="col-xs-3 col-sm-3 col-sm-pull-2 col-md-2"><img src="/images/@item.Product.ProductArtUrl" /></div>
  98. <div class="col-xs-6 col-sm-2 col-sm-push-5 text-center-sm col-md-push-6">
  99. <div class="visible-xs item-label">@item.Product.Title</div>
  100. <div class="item-price">@item.Product.Price.ToString("C")</div>
  101. </div>
  102. <div class="visible-xs col-xs-2 text-right no-gutter-xs-left">
  103. <a href="#" class="remove-link" data-id="@item.CartItemId"
  104. data-url='@Url.Content("~/ShoppingCart/RemoveFromCart")'>
  105. <img src="/images/remove_icon.png"/>
  106. </a>
  107. </div>
  108. <div class="col-xs-12 col-sm-5 col-sm-pull-4 col-md-6 description">
  109. <div class="hidden-xs">
  110. <strong>@Html.ActionLink(item.Product.Title, "Details", "Store", new { id = item.ProductId }, null)</strong>
  111. </div>
  112. <div class="visible-xs item-label">Description</div>
  113. <p class="text-content">@item.Product.Description</p>
  114. </div>
  115. <div class="hidden-xs remove-cart-item">
  116. <a href="#" class="remove-link btn" data-id="@item.CartItemId"
  117. data-url='@Url.Content("~/ShoppingCart/RemoveFromCart")'>
  118. Remove
  119. </a>
  120. </div>
  121. </div>
  122. </div>
  123. }
  124.  
  125. <partial name="_OrderCostSummary", for="OrderCostSummary" />
  126. <div class="row">
  127. <div class="col-xs-12 col-sm-6 col-sm-offset-6 col-md-4 col-md-offset-8">
  128. <div>
  129. @Html.ActionLink("Checkout", "AddressAndPayment", "Checkout", null, new { @class = "btn pull-right checkout" })
  130. </div>
  131. </div>
  132. </div>
  133. </div>
  134. }
  135. <h4 id="empty-cart" @if (Model.CartCount > 0) { <text> style="display: none;" </text> }>
  136. Your cart is currently empty
  137. </h4>
  138. </section>
  139. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement