You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Index.cshtml 9.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. @addTagHelper *, LazZiya.TagHelpers
  2. @using Karsha_Site.Application.Services.Costomers.Queries.GetCustomers;
  3. @model ResultAboutAddressDto
  4. @{
  5. ViewData["Title"] = "Index";
  6. Layout = "~/Areas/Admin/Views/Shared/_AdminLayout.cshtml";
  7. }
  8. <div class="content container-fluid">
  9. <!-- Page Header -->
  10. <div class="page-header">
  11. <div class="row">
  12. <div class="col-sm-11 col-auto">
  13. <ul class="breadcrumb">
  14. <li class="breadcrumb-item"><a href="index.html">داشبورد</a></li>
  15. <li class="breadcrumb-item active">مشتریان</li>
  16. </ul>
  17. </div>
  18. </div>
  19. </div>
  20. <!-- /Page Header -->
  21. <div class="row">
  22. <div class="col-sm-12">
  23. <div class="card">
  24. <div class="card-body">
  25. <div class="table-responsive">
  26. <div id="DataTables_Table_0_wrapper" class="dataTables_wrapper dt-bootstrap4 no-footer">
  27. <div ><div class="col-sm-12 col-md-6"><div class="dataTables_length" id="DataTables_Table_0_length"><label>Show <select name="DataTables_Table_0_length" aria-controls="DataTables_Table_0" class="custom-select custom-select-sm form-control form-control-sm"><option value="10">10</option><option value="25">25</option><option value="50">50</option><option value="100">100</option></select> entries</label></div></div><div class="col-sm-12 col-md-6"></div></div><div>
  28. <div class="col-sm-12">
  29. <table class="datatable table table-hover table-center mb-0 dataTable no-footer" id="DataTables_Table_0" role="grid" aria-describedby="DataTables_Table_0_info">
  30. <thead>
  31. <tr>
  32. <th class="sorting_asc" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-sort="ascending" aria-label="#: activate to sort column descending" >#</th>
  33. <th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-label="مشتری : activate to sort column ascending" >مشتری </th>
  34. <th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-label="لینک : activate to sort column ascending">لینک </th>
  35. <th class="text-right sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-label="عملیات: activate to sort column ascending" >عملیات</th></tr>
  36. </thead>
  37. <tbody>
  38. @{var i = 0;
  39. string classNmae = "odd";
  40. }
  41. @foreach (var item in Model.CustomersDtos)
  42. {
  43. i++;
  44. if(i%2 == 0)
  45. {
  46. classNmae = "even";
  47. }
  48. else
  49. {
  50. classNmae = "odd";
  51. }
  52. <tr class="@classNmae">
  53. <td class="sorting_1">@item.Code</td>
  54. <td>
  55. <h2 class="table-avatar">
  56. <a href="@item.Link" class="avatar avatar-sm ml-2">
  57. <img class="avatar-img" src="~/@item.Image" alt="@item.FullName">
  58. </a>
  59. <a href="@item.Link">@item.FullName</a>
  60. </h2>
  61. </td>
  62. <td>
  63. <h2 class="table-avatar">
  64. <a href="@item.Link">@item.Link</a>
  65. </h2>
  66. </td>
  67. <td class="text-right">
  68. <div class="actions">
  69. <a class="btn btn-sm bg-success-light" onclick="ShowModalEditCustomer('@item.ID' , '@item.FullName', '@item.Link', '@item.Address')">
  70. <i class="fe fe-pencil"></i> ویرایش
  71. </a>
  72. <a class="btn btn-sm bg-danger-light" onclick="DeleteCustomer('@item.ID')">
  73. <i class="fe fe-trash"></i> حذف
  74. </a>
  75. </div>
  76. </td>
  77. </tr>
  78. }
  79. </tbody>
  80. </table>
  81. </div>
  82. </div>
  83. </div>
  84. </div>
  85. </div>
  86. <div class=" text-center">
  87. <paging total-records="Model.Rows"
  88. page-no="Model.CurrentPage"
  89. page-size="Model.PageSize"
  90. show-prev-next="true"
  91. show-total-pages="false"
  92. show-total-records="false"
  93. show-page-size-nav="true"
  94. show-first-numbered-page="true"
  95. show-last-numbered-page="true"
  96. query-string-key-page-no="Page"
  97. query-string-key-page-size="PageSize"
  98. text-page-size="نمایش سطر ها"
  99. gap-size="2">
  100. </paging>
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. @section Scripts
  107. {
  108. <link href="~/Sweetalert2/sweetalert2.min.css" rel="stylesheet" />
  109. <script src="~/Sweetalert2/sweetalert2.min.js"></script>
  110. <script>
  111. function DeleteCustomer(CustomerId) {
  112. swal.fire({
  113. title: 'حذف مشتری',
  114. text: "کاربر گرامی از حذف مشتری مطمئن هستید؟",
  115. icon: 'warning',
  116. showCancelButton: true,
  117. confirmButtonColor: '#d33',
  118. cancelButtonColor: '#7cacbe',
  119. confirmButtonText: 'بله ، مشتری حذف شود',
  120. cancelButtonText: 'خیر'
  121. }).then((result) => {
  122. if (result.value) {
  123. var postData = {
  124. 'CustomerId': CustomerId,
  125. };
  126. $.ajax({
  127. contentType: 'application/x-www-form-urlencoded',
  128. dataType: 'json',
  129. type: "POST",
  130. url: "Delete",
  131. data: postData,
  132. success: function (data) {
  133. if (data.isSuccess == true) {
  134. swal.fire(
  135. 'موفق!',
  136. data.message,
  137. 'success'
  138. ).then(function (isConfirm) {
  139. location.reload();
  140. });
  141. }
  142. else {
  143. swal.fire(
  144. 'هشدار!',
  145. data.message,
  146. 'warning'
  147. );
  148. }
  149. },
  150. error: function (request, status, error) {
  151. alert(request.responseText);
  152. }
  153. });
  154. }
  155. })
  156. }
  157. function EditCustomer() {
  158. var CustomerId = $("#Edit_CustomerId").val();
  159. var fullname = $("#Edit_Fullname").val();
  160. var Link = $("#Edit_Link").val();
  161. var Address = $("#Edit_Address").val();
  162. var postData = {
  163. 'CustomerId': CustomerId,
  164. 'Fullname': fullname,
  165. 'Address': Address,
  166. 'Link': Link
  167. };
  168. $.ajax({
  169. contentType: 'application/x-www-form-urlencoded',
  170. dataType: 'json',
  171. type: "POST",
  172. url: "Edit",
  173. data: postData,
  174. success: function (data) {
  175. if (data.isSuccess == true) {
  176. swal.fire(
  177. 'موفق!',
  178. data.message,
  179. 'success'
  180. ).then(function (isConfirm) {
  181. location.reload();
  182. });
  183. }
  184. else {
  185. swal.fire(
  186. 'هشدار!',
  187. data.message,
  188. 'warning'
  189. );
  190. }
  191. },
  192. error: function (request, status, error) {
  193. alert(request.responseText);
  194. }
  195. });
  196. $('#EditCustomer').modal('hide');
  197. }
  198. function ShowModalEditCustomer(CustomerId, fullName, link, address) {
  199. debugger;
  200. $('#Edit_Fullname').val(fullName);
  201. $('#Edit_CustomerId').val(CustomerId);
  202. $('#Edit_Link').val(link);
  203. $('#Edit_Address').val(address);
  204. $('#EditCustomer').modal('show');
  205. }
  206. </script>
  207. }
  208. @section Modals
  209. {
  210. <!-- Modal Edit Customer -->
  211. <div class="modal fade" id="EditCustomer" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
  212. <div class="modal-dialog modal-dialog-centered" role="document">
  213. <div class="modal-content">
  214. <div class="modal-header">
  215. <h5 class="modal-title" id="exampleModalLongTitle">ویرایش مشتری</h5>
  216. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  217. <span aria-hidden="true">&times;</span>
  218. </button>
  219. </div>
  220. <div class="modal-body">
  221. <div class="col-xl-6 col-lg-12 col-md-12 mb-1">
  222. <fieldset class="form-group">
  223. <input type="hidden" id="Edit_CustomerId" />
  224. <label for="basicInput">نام و نام خانوادگی</label>
  225. <input type="text" class="form-control" id="Edit_Fullname">
  226. </fieldset>
  227. </div>
  228. <div class="col-xl-6 col-lg-12 col-md-12 mb-1">
  229. <fieldset class="form-group">
  230. <label for="basicInput">لینک</label>
  231. <input type="text" class="form-control" id="Edit_Link">
  232. </fieldset>
  233. </div>
  234. <div class="col-xl-12 col-lg-12 col-md-12 mb-1">
  235. <fieldset class="form-group">
  236. <label for="basicInput">آدرس</label>
  237. <input type="text" class="form-control" id="Edit_Address">
  238. </fieldset>
  239. </div>
  240. </div>
  241. <div class="modal-footer">
  242. <a class="btn btn-secondary" data-dismiss="modal">بستن</a>
  243. <a class="btn btn-primary" onclick="EditCustomer()">اعمال تغییرات</a>
  244. </div>
  245. </div>
  246. </div>
  247. </div>
  248. }