Exemplo n.º 1
0
        public ActionResult AdresseOgBetaling(FormCollection verdier)
        {
            var ordre = new Ordre();
            TryUpdateModel(ordre);

            try
            {
                if (string.Equals(verdier["PromoKode"], PromoKode,
                    StringComparison.OrdinalIgnoreCase) == false)
                {
                    return View(ordre);
                }
                else
                {
                    ordre.BrukerNavn = BrukereNavnet();
                    ordre.OrdreDato = DateTime.Now;

                    //Lagre Ordre
                    bokhandelContext.Ordres.Add(ordre);
                    bokhandelContext.SaveChanges();

                    //Behnadl ordret
                    var kurv = HandleKurv.GetKurv(this.HttpContext);
                    kurv.OpprettOrdre(ordre);

                    return RedirectToAction("Fulfort", new {id = ordre.Id});
                }
            }
            catch (Exception)
            {
                //Ugyldig
                return View(ordre);
            }
        }
Exemplo n.º 2
0
        public int OpprettOrdre(Ordre ordre)
        {
            decimal ordreTotal = 0;

            var kurvEnheter = GetKurvEnheter();

            //Gå gjennom enhetene i kurven mens du legger ordre detaljene for hver enhet
            foreach (var enhet in kurvEnheter)
            {
                var ordreLinje = new Ordrelinje
                {
                    BokId = enhet.BokId,
                    OrdreId = ordre.Id,
                    PrisPrEnhet = enhet.Bok.Pris,
                    Antall = enhet.Tell
                };

                // Angi ordrets total sum av handlekurven
                ordreTotal += (enhet.Tell*enhet.Bok.Pris);
                bokhandelContext.Ordrelinjes.Add(ordreLinje);
            }

            // Angi ordrets total sum av ordreTotal tell
            ordre.Total = ordreTotal;

            bokhandelContext.SaveChanges();
            TømKurv();
            return ordre.Id;
        }