示例#1
0
        public bool EndreKundePassord(AdminEndreKundePassordView k, byte[] p)
        {
            using (var db = new WebshopContext())
            {
                try
                {
                    var dbKunde = db.Kunder.Find(k.kundeId);

                    dbKunde.mail = k.mail;
                    dbKunde.passord = p;

                    db.Entry(dbKunde).State = EntityState.Modified;
                    db.SaveChanges();
                    db.Dispose();

                    return true;

                }
                catch (Exception e)
                {
                    ExceptionWriter.LoggFeil(e, "EndreKundePassord");
                    return false;
                }
            }
        }
示例#2
0
        public bool EndreKundeAdmin(ViewKunde k)
        {
            using (var db = new WebshopContext())
            {
                try
                {
                    var dbKunde = db.Kunder.Find(k.kundeId);

                    dbKunde.mail = k.mail;
                    dbKunde.fornavn = k.fornavn;
                    dbKunde.etternavn = k.etternavn;
                    dbKunde.adresse = k.adresse;
                    dbKunde.tlf = k.tlf;
                    dbKunde.postnummer = k.postnummer;

                    db.Entry(dbKunde).State = EntityState.Modified;
                    db.SaveChanges();

                    return true;

                }
                catch (Exception e)
                {
                    ExceptionWriter.LoggFeil(e, "RegistrerKunde");
                    return false;
                }
            }
        }
示例#3
0
        public bool PlasserOrdre(int kundeId)
        {
            try
            {
                using (var db = new WebshopContext())
                {
                    var dbkunde = db.Kunder.Find(kundeId);

                    if (dbkunde == null || dbkunde.kurv == null || dbkunde.kurv.produkter == null || dbkunde.kurv.produkter.Count == 0)
                    {
                        return false;
                    }
                    if (dbkunde.ordre == null)
                    {
                        dbkunde.ordre = new List<Ordre>();
                    }

                    var nyOrdre = new Ordre()
                    {
                        dato = System.DateTime.Now,
                        kunde = dbkunde,
                        ordrelinjer = new List<OrdreLinje>()
                    };

                    var kurvP = dbkunde.kurv.produkter;
                    var tempsum = 0;

                    foreach (KurvProdukt kp in kurvP)
                    {
                        var ol = new OrdreLinje()
                        {
                            antall = kp.antall,
                            produkt = kp.produkt,
                            linjesum = kp.antall * kp.produkt.pris
                        };

                        //db.Produkter.Find(kp.produktId).lager -= kp.antall;
                        tempsum += (kp.antall * kp.produkt.pris);
                        nyOrdre.ordrelinjer.Add(ol);
                    }
                    nyOrdre.sum = tempsum;
                    dbkunde.kurv = null;
                    dbkunde.ordre.Add(nyOrdre);
                    db.SaveChanges();

                    return true;
                }
            }
            catch (Exception e)
            {
                ExceptionWriter.LoggFeil(e, "PlasserOrdre()");
                return false;
            }
        }
示例#4
0
 // henter kunde-id fra db for innlogging
 public int FinnKundeLoggInn(string mail, byte[] passordDb)
 {
     using (var db = new WebshopContext())
     {
         Kunde dbKunde = db.Kunder.FirstOrDefault
             (k => k.passord == passordDb && k.mail == mail);
         if (dbKunde == null)
         {
             return 0;
         }
         else
         {
             return dbKunde.kundeId;
         }
     }
 }
示例#5
0
        public bool LeggiKurv(int kundeId, int produktId)
        {
            using (var db = new WebshopContext())
            {
                var kunde = db.Kunder.Find(kundeId);
                var p1 = db.Produkter.Find(produktId);

                var kurvprodukter = new List<KurvProdukt>();
                var kp = new KurvProdukt();

                //hvis kunde eller produkt ikke finnes i database
                if (p1 == null || kunde == null)
                {
                    return false;
                }

                //oppretter kurv hvis den er null
                if (kunde.kurv == null)
                {
                    kunde.kurv = new Handlekurv();
                }

                //sjekk om handlekurven er tom
                if (kunde.kurv.produkter == null)
                {
                    kp = new KurvProdukt()
                    {
                        antall = 1,
                        produkt = p1,
                        produktId = p1.produktId,
                        kurvId = kunde.kurv.kurvId
                    };

                    db.KurvProdukter.Add(kp);
                }
                else //kurven er ikke tom
                {
                    // sjekk om varen allerede ligger i kurven
                    kp = db.KurvProdukter.SingleOrDefault(
                        kurvP => kurvP.produkt.produktId == p1.produktId
                        && kurvP.kurvId == kunde.kurv.kurvId);

                    if (kp == null) //varen er ikke i kurven
                    {
                        kp = new KurvProdukt
                        {
                            antall = 1,
                            produkt = p1,
                            produktId = p1.produktId,
                            kurvId = kunde.kurv.kurvId
                        };

                        db.KurvProdukter.Add(kp);
                    }
                    else //varen er i kurven - øker antall
                    {
                        kp.antall++;
                    }
                }

                db.SaveChanges();

                return true;

            }
        }
示例#6
0
        public Kunde FinnKunde(int id)
        {
            using (var db = new WebshopContext())
            {
                Kunde dbKunde = db.Kunder.FirstOrDefault
                    (k => k.kundeId == id);

                if (dbKunde != null)
                    return dbKunde;
                else
                    return null;
            }
        }
示例#7
0
        //henter kundekurven basert på kundeId, oppretter ny hvis kurven er null
        public List<KurvProduktView> ViewKurvFraId(int id)
        {
            using (var db = new WebshopContext())
            {
                var kurv = new Handlekurv();

                try
                {
                    Kunde dbKunde = db.Kunder.Find(id);

                    if (dbKunde != null)
                    {
                        if (dbKunde.kurv == null)
                        {
                            dbKunde.kurv = new Handlekurv();
                        }
                        if (dbKunde.kurv.produkter == null)
                        {
                            dbKunde.kurv.produkter = new List<KurvProdukt>();
                        }
                        db.SaveChanges();

                        var kpviewlist = new List<KurvProduktView>();

                        foreach (KurvProdukt kp in dbKunde.kurv.produkter)
                        {
                            var kpview = new KurvProduktView();

                            kpview.navn = kp.produkt.navn;
                            kpview.antall = kp.antall;
                            kpview.pris = kp.produkt.pris;

                            kpviewlist.Add(kpview);
                        }

                        return kpviewlist;
                    }
                    else
                        return null;
                }
                catch
                {
                    return null;
                }

            }
        }
示例#8
0
        /*public bool EndreKunde(int id, ViewKunde vk)
        {
            using (var db = new WebshopContext())
            {
                try
                {
                    var dbKunde = db.Kunder.Find(id);

                    dbKunde.mail = vk.mail;
                    dbKunde.fornavn = vk.fornavn;
                    dbKunde.etternavn = vk.etternavn;
                    dbKunde.adresse = vk.adresse;
                    dbKunde.tlf = vk.tlf;
                    dbKunde.postnummer = vk.postnummer;

                    db.Entry(dbKunde).State = EntityState.Modified;
                    db.SaveChanges();
                    db.Dispose();

                    return true;
                }
                catch
                {
                    return false;
                }
            }
        }*/
        public bool SlettKunde(int kundeId)
        {
            using (var db = new WebshopContext())
            {
                try
                {
                    var kunde = db.Kunder.Find(kundeId);
                    db.Kunder.Remove(kunde);
                    db.SaveChanges();
                    return true;
                }
                catch (Exception e)
                {
                    ExceptionWriter.LoggFeil(e, "SlettKunde");
                    return false;
                }
            }
        }
示例#9
0
 public bool RegistrerKunde(Kunde k)
 {
     using (var db = new WebshopContext())
     {
         try
         {
             db.Kunder.Add(k);
             db.SaveChanges();
             return true;
         }
         catch (Exception e)
         {
             ExceptionWriter.LoggFeil(e, "RegistrerKunde");
             return false;
         }
     }
 }
示例#10
0
        /* -------- NYTT I OPPGAVE 2 ---------- */
        public List<Kunde> HentKundeListe()
        {
            var dummy = new List<Kunde>();

            using (var db = new WebshopContext())
            {
                try
                {
                    var kunder = db.Kunder.ToList();
                    return kunder;
                }
                catch (Exception e)
                {
                    ExceptionWriter.LoggFeil(e, "HentKundeListe");
                    return dummy;
                }
            }
        }