Avatar billede ReneDahl Praktikant
27. maj 2016 - 14:21

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>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester