예제 #1
0
 public ActionResult Betal()
 {
     if (Session[LOGGET_INN] != null)
     {
         HandleKurv kurv = HentHandlekurv();
         if (kurv != null && kurv.Antall > 0)
         {
             var kID = (int)Session[KID];
             var ordreBLL = new OrdreBLL();
             var OK = ordreBLL.OpprettOrdre(kurv, kID);
             if (OK)
             {
                 Session[HANDLEKURV] = null;
                 return RedirectToAction("Bestillinger");
             }
             TempData["Error"] = "Du har ingenting i handlekurven.";
             return RedirectToAction("Kassen");
         }
         else
         {
             TempData["Error"] = "Du har ingenting i handlekurven.";
             return RedirectToAction("Kassen");
         }   
     }
     else
     {
         return RedirectToAction("Login", "Kunde", new { area = "" });
     }
 }
예제 #2
0
        public HandleKurv FjernFilm(HandleKurv kurv, int filmID)
        {
            try
            {
                foreach (var vareLinje in kurv.HandleKurvLinjer)
                {
                    if (vareLinje.Film.ID == filmID)
                    {
                        if (vareLinje.Antall > 1)
                        {
                            vareLinje.Antall -= 1;
                        }
                        else
                        {
                            kurv.HandleKurvLinjer.Remove(vareLinje);
                        }
                        kurv.Antall -= 1;
                        vareLinje.KalkulerPris();
                        kurv.KalkulerTotalPris();

                        return(kurv);
                    }
                }
                return(kurv);
            }
            catch (Exception e)
            {
                DBLog.ErrorToFile("Feil oppstått når en film skulle fjernes fra handlekurven", "DBKunde:FjernFilm", e);
                return(null);
            }
        }
예제 #3
0
        public bool OpprettOrdre(HandleKurv kurv, int kID)
        {
            try
            {
                if (kurv != null)
                {
                    using (var db = new DB())
                    {
                        var dbKunde = db.Kunder.Find(kID);
                        // Lager ordre
                        var ordre = new DBOrdre();
                        ordre.Dato = DateTime.Now;
                        // Lager ordrelinjer som blir satt inn i OrdeLinje senere
                        var ordreLinjer = new List <DBOrdrelinje>();


                        foreach (var vareLinje in kurv.HandleKurvLinjer)
                        {
                            var ordreLinje = new DBOrdrelinje();
                            var dbFilm     = db.Filmer.Find(vareLinje.Film.ID);
                            ordreLinje.Film   = dbFilm;
                            ordreLinje.Antall = vareLinje.Antall;
                            ordreLinje.Pris   = vareLinje.Pris;
                            ordreLinjer.Add(ordreLinje);

                            //Legger ordrelinje i databasen
                            db.OrdreLinjer.Add(ordreLinje);
                        }
                        ordre.TotalPris   = kurv.TotalPris;
                        ordre.OrdreLinjer = ordreLinjer;
                        var kundeOrdrer = new List <DBOrdre>();
                        kundeOrdrer.Add(ordre);

                        var endring = new DBEndring()
                        {
                            Tidspunkt        = DateTime.Now,
                            EndringOperasjon = "En ny ordre har blitt opprettet av kunde med følgende ID: ",
                            endring          = $"{kID}"
                        };

                        dbKunde.Ordrer = kundeOrdrer;
                        db.Endringer.Add(endring);
                        db.Ordrer.Add(ordre);
                        db.SaveChanges();
                        return(true);
                    }
                }
                return(false);
            }
            catch (Exception e)
            {
                DBLog.ErrorToFile("Feil oppstått når en ordre skulle opprettes", "DBKunde:OpprettOrdre", e);
                return(false);
            }
        }
예제 #4
0
        public bool OpprettOrdre(HandleKurv kurv, int kID)
        {
            var OK = dbOrdre.OpprettOrdre(kurv, kID);

            if (OK)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #5
0
        public HandleKurv LagHandleKurv(int kID)
        {
            var handleKurv = new HandleKurv();

            handleKurv.Antall    = 0;
            handleKurv.Dato      = DateTime.Now;
            handleKurv.TotalPris = 0;
            var handleKurvLinjer = new List <HandleKurvLinje>();

            handleKurv.HandleKurvLinjer = handleKurvLinjer;

            return(handleKurv);
        }
예제 #6
0
        public bool LeggTilHandleKurv(HandleKurv kurv, int filmID)
        {
            try
            {
                var handleKurvLinje = new HandleKurvLinje();
                using (var db = new DB())
                {
                    var film = db.Filmer.Find(filmID);
                    kurv.Antall += 1;
                    if (kurv.HandleKurvLinjer != null)
                    {
                        bool duplikat = false;
                        foreach (var vareLinje in kurv.HandleKurvLinjer)
                        {
                            if (vareLinje.Film.ID == film.ID)
                            {
                                vareLinje.Antall += 1;
                                vareLinje.KalkulerPris();
                                kurv.KalkulerTotalPris();

                                duplikat = true;
                            }
                        }
                        if (!duplikat)
                        {
                            handleKurvLinje.Film   = Mapper.Map <Film>(film);
                            handleKurvLinje.Antall = 1;
                            handleKurvLinje.Pris   = film.Pris;
                            handleKurvLinje.KalkulerPris();
                            kurv.HandleKurvLinjer.Add(handleKurvLinje);
                            kurv.KalkulerTotalPris();


                            duplikat = false;
                        }
                    }
                }
                return(true);
            }
            catch (Exception e)
            {
                DBLog.ErrorToFile("Feil oppstått når en film skulle legges til handlekurv", "DBKunde:LeggTilHandleKurv", e);
                return(false);
            }
        }
예제 #7
0
 public HandleKurv FjernFilm(HandleKurv kurv, int filmID)
 {
     throw new NotImplementedException();
 }
예제 #8
0
 public bool OpprettOrdre(HandleKurv kurv, int kID)
 {
     throw new NotImplementedException();
 }
예제 #9
0
 public bool LeggTilHandleKurv(HandleKurv kurv, int filmID)
 {
     throw new NotImplementedException();
 }
예제 #10
0
 public void FjernFraHandleKurv(HandleKurv kurv, int filmID)
 {
     dbOrdre.FjernFilm(kurv, filmID);
 }
예제 #11
0
 public void LeggTilHandleKurv(HandleKurv kurv, int filmID)
 {
     dbOrdre.LeggTilHandleKurv(kurv, filmID);
 }