Objekter fra en Liste hvor der indgår en session tilføjes til database via EF6
Hej :0)Jeg sidder og roder med et webshop demo projekt, og der har jeg en checkout side. Hvor jeg har listet alle produkter som kommer fra en session. Jeg leder efter en måde at smide alle objekter på Listen ind i en kolonne fra Database via EF6. Fx via for eller foreach loop.
Har ikke rigtigt gjort det før, så er lidt lost. Har i nogle ideer til hvordan det kan lade sig gøre? Er er min kode:
Model
public partial class Order
{
public int orderId { get; set; }
public DateTime? orderDate { get; set; }
[DisplayName("Ordre detaljer")]
public string orderText { get; set; }
[DisplayName("Fornavn")]
public string firstName { get; set; }
[DisplayName("Efternavn")]
public string lastName { get; set; }
[DisplayName("E-mail adresse")]
public string Email { get; set; }
[DisplayName("Telefon nr")]
public string phone { get; set; }
[DisplayName("Postnr")]
public string postalCode { get; set; }
[DisplayName("By")]
public string city { get; set; }
}
Controller
public ActionResult Order(Order ord)
{
List<Item> cart = (List<Item>)Session["cart"];
Session["cart"] = cart;
// et for loop eller foreach som løber alle items i
// gennem fra List Item cart.
// og smider det i databasen?
var order = new Order()
{
firstName = ord.firstName,
lastName = ord.lastName,
Email = ord.Email,
phone = ord.phone,
postalCode = ord.postalCode,
city = ord.city
};
db.Orders.Add(order);
db.SaveChanges();
return View();
}
View Sikkert ubruligt, men det er lige med for en sikkerheds skyld.
@model Outletshop.Models.Database.Order
@using Outletshop.Controllers
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>CheckOut</title>
</head>
<body>
@using (Html.BeginForm("Order", "Cart"))
{
<div class="col-md-6">
<h1>
Ordrer bestilling
</h1>
<br />
<div class="form-group">
@Html.EditorFor(model => model.firstName, new { htmlAttributes = new { @class = "form-control", @placeholder = "Fornavn" } })
</div>
<div class="form-group">
@Html.EditorFor(model => model.lastName, new { htmlAttributes = new { @class = "form-control", @placeholder = "Efternavn" } })
</div>
<div class="form-group">
@Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control", @placeholder = "E-mail adresse" } })
</div>
<div class="form-group">
@Html.EditorFor(model => model.phone, new { htmlAttributes = new { @class = "form-control", @placeholder = "Telefonnummer" } })
</div>
<div class="form-group">
@Html.EditorFor(model => model.postalCode, new { htmlAttributes = new { @class = "form-control", @placeholder = "Postnr" } })
</div>
<div class="form-group">
@Html.EditorFor(model => model.city, new { htmlAttributes = new { @class = "form-control", @placeholder = "By" } })
</div>
<div class="form-group">
@Html.EditorFor(model => model.orderText, new { htmlAttributes = new { @class = "form-control", @placeholder = "OrdreTekst" } })
</div>
</div>
<div class="col-md-6">
<h1>
Produkt beskrivelse
</h1>
<br />
@foreach (Item item in (List<Item>)Session["cart"])
{
@item.Product.productName <br />
}
</div>
<div class="col-md-12">
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</div>
}
</body>
</html>