Advertisement
Guest User

Untitled

a guest
Jun 24th, 2015
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.15 KB | None | 0 0
  1. public class AddOrderItemModel
  2. {
  3. public int Id { get; set; }
  4. public int OrderId { get; set; }
  5. public int ProductId { get; set; }
  6. public int ProductNodeId { get; set; }
  7. public int Number { get; set; }
  8. public int ToolId { get; set; }
  9. public int AmountRequired { get; set; }
  10. }
  11.  
  12. public class OrderItemListModel
  13. {
  14. public int Id { get; set; }
  15. public string ProductTitle { get; set; }
  16. public string ProductNodeTitle { get; set; }
  17. public string ProductNodeDescription { get; set; }
  18. public string ProductNodeNumber { get; set; }
  19. public string ToolOrderCode { get; set; }
  20. public int AmountRequired { get; set; }
  21. }
  22.  
  23. //tabItems
  24. @using Web.Models.Orders;
  25. @model AddOrderItemModel
  26.  
  27. <div id="tabItems">
  28. @using (Ajax.BeginForm("AddOrderItem", "Order", new AjaxOptions { UpdateTargetId = "tabItems", HttpMethod = "Post" }))
  29. {
  30. @Html.AntiForgeryToken()
  31. <div class="nav">
  32. <div class="navbar-form navbar-left">
  33. @Html.ValidationSummary(true, "", new { @class = "text-danger" })
  34. @Html.HiddenFor(model => model.OrderId)
  35.  
  36. <div class="form-group">
  37. @Html.EditorFor(model => model.ProductId, new { htmlAttributes = new { @class = "form-control select2",
  38. data_url = @Url.Action("GetProductList", "Order") } })
  39. @Html.ValidationMessageFor(model => model.ProductId, "", new { @class = "text-danger" })
  40. </div>
  41.  
  42. <div class="form-group">
  43. @Html.EditorFor(model => model.ProductNodeId, new { htmlAttributes = new { @class = "form-control select2",
  44. data_url = @Url.Action("GetProductNodeList", "Order") } })
  45. @Html.ValidationMessageFor(model => model.ProductNodeId, "", new { @class = "text-danger" })
  46. </div>
  47.  
  48. <div class="form-group">
  49. @Html.EditorFor(model => model.ToolId, new { htmlAttributes = new { @class = "form-control select2",
  50. data_url = @Url.Action("GetToolList", "Order") } })
  51. @Html.ValidationMessageFor(model => model.ToolId, "", new { @class = "text-danger" })
  52. </div>
  53.  
  54. <div class="form-group">
  55. @Html.EditorFor(model => model.AmountRequired, new { htmlAttributes = new { @class = "form-control" } })
  56. @Html.ValidationMessageFor(model => model.AmountRequired, "", new { @class = "text-danger" })
  57. </div>
  58.  
  59. <div class="form-group">
  60. <input type="submit" class="btn btn-primary" value="Add" />
  61. </div>
  62. </div>
  63. </div>
  64. }
  65. @Html.Partial("_OrderItemList", (IEnumerable<OrderItemListModel>)ViewBag.OrderItems)
  66. </div>
  67.  
  68. //_OrderItemList
  69. @using Web.Models.Orders;
  70. @model IEnumerable<OrderItemListModel>
  71.  
  72. <table class="table">
  73. <tr>
  74. <th>@Html.DisplayNameFor(model => model.OrderItemProductNodeProductTitle)</th>
  75. <th>@Html.DisplayNameFor(model => model.OrderItemProductNodeTitle)</th>
  76. <th>@Html.DisplayNameFor(model => model.OrderItemProductNodeDescription)</th>
  77. <th>@Html.DisplayNameFor(model => model.OrderItemProductNodeNumber)</th>
  78. <th>@Html.DisplayNameFor(model => model.ToolOrderCode)</th>
  79. <th>@Html.DisplayNameFor(model => model.AmountRequired)</th>
  80. <th></th>
  81. </tr>
  82.  
  83. @foreach (var item in Model)
  84. {
  85. <tr>
  86. <td>@Html.DisplayFor(modelItem => item.OrderItemProductNodeProductTitle)</td>
  87. <td>@Html.DisplayFor(modelItem => item.OrderItemProductNodeTitle)</td>
  88. <td>@Html.DisplayFor(modelItem => item.OrderItemProductNodeDescription)</td>
  89. <td>@Html.DisplayFor(modelItem => item.OrderItemProductNodeNumber)</td>
  90. <td>@Html.DisplayFor(modelItem => item.ToolOrderCode)</td>
  91. <td>@Html.DisplayFor(modelItem => item.AmountRequired)</td>
  92. <td>
  93. <a href="@Url.Action("EditOrderItem", new { id = item.Id })" class="btn btn-warning"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></a>
  94. <a href="@Url.Action("DeleteOrderItem", new { id = item.Id })" class="btn btn-danger"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></a>
  95. </td>
  96. </tr>
  97. }
  98. </table>
  99.  
  100. [HttpPost]
  101. public ActionResult AddOrderItem(AddOrderItemModel model)
  102. {
  103. if (ModelState.IsValid)
  104. {
  105. Mapper.CreateMap<AddOrderItemModel, OrderItem>();
  106. var orderItem = Mapper.Map<AddOrderItemModel, OrderItem>(model);
  107. orderItem.Created = DateTime.Now;
  108. orderItem.CreatorId = 1;
  109. _orderService.AddOrderItem(orderItem);
  110. }
  111. return RedirectToAction("GetOrderItems", new { orderId = model.OrderId });
  112. }
  113.  
  114. public ActionResult GetOrderItems(int orderId)
  115. {
  116. ViewBag.OrderId = orderId;
  117. Mapper.CreateMap<OrderItem, OrderItemListModel>();
  118. var orderItems = Mapper.Map<IEnumerable<OrderItem>, IEnumerable<OrderItemListModel>>(_orderService.GetAllOrderItem(orderId));
  119. var model = new AddOrderItemModel { OrderId = orderId };
  120. ViewBag.OrderItems = orderItems;
  121. return PartialView("OrderItems", model);
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement