Hi, Good morning all, I am new to asp.net core 6.0 and i have this issues...
I have this model Called OrderModel, inside it I have order class and orderDetails Class
public class Order { [Key] public int OrderId { get; set; } [Display(Name = "Customer Name")] [Required(ErrorMessage = "Please Select Customer Name")] public String CustomerName { get; set; } public ICollection<OrderDetail>? OrderDetails { get; set; } } public class OrderDetail { [Key] public int DetailId { get; set; } public int OrderId { get; set; } [Display(Name = "Service")] public string ServiceName { get; set; } [Display(Name = "Quantity")] public int Quantity { get; set; } [Display(Name ="Unit Price")] public float UnitPrice { get; set; } [ForeignKey("OrderId")] public Order? Order { get; set; } }
//On my view, I want to be able to display the Order Class as a form and the OrderDetails as an editable table with 10 rows ..
public IActionResult Customer_Order() { // I want to be able to display upto 10 rows.. List<OrderDetail> od = new List<OrderDetail>(); od.Add(new OrderDetail { DetailId = 0, Discount = 0, Quantity = 0, ServiceName = "Select Service", UnitPrice = 0, TotalAmount = 0 }); od.Add(new OrderDetail { DetailId = 0, Discount = 0, Quantity = 0, ServiceName = "Select Service", UnitPrice = 0, TotalAmount = 0 }); return View(od); }
On Post, I want to be able to save the data to both order table and orderdetails table
<!---- My Customer_Order View--> @model Customer.Models.Order <form asp-action="Customer_Order"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group row"> <div class="col-md-5"> <label asp-for="CustomerName" class="control-label"></label> <select asp-for="CustomerName" class="dropdown form-control" asp-items="ViewBag.CustomerID"> <option value="" selected disabled>---Customer---</option> </select> <span asp-validation-for="CustomerID" class="text-danger"></span> </div> <div class="form-group"> <table class="table table-striped table-bordered display"> <thead> <tr> <th> SN </th> <th> Services </th> <th> Qty/Hrs </th> <th> Unit Price </th> <th> Total </th> </tr> </thead> <tbody> int j = 0; @foreach (var item in Model.OrderDetails) { <tr> <td> </td> <td> @Html.DropDownListFor(model=>item.ServiceName, ViewBag.ServiceID as List<SelectListItem>, "Please Select", new{@class ="form-control dropdownlist select2"}) </td> <td> @Html.EditorFor(model=>item.Quantity) </td> <td> @Html.EditorFor(model=>item.UnitPrice) </td> <td> @Html.EditorFor(model=>item.TotalAmount) </td> </tr> } </tbody> </table> </div> <div class="form-group"> <input type="submit" value="Create" class="btn btn-primary" /> </div> </form>
How do i display data into
Thank you very much for your lovely time..