Ejemplo n.º 1
0
        public static bool arkiverOrdre(string sessionId, int kundeId)
        {
            var nyOrdre = DbHandlevogn.lagOrdre(sessionId, kundeId);
            using (var db = new NettbutikkContext())
            {
                try
                {
                    //Må sette relasjonene i ordrer og ordredetaljer til entiteter i databasen ellers forsøkes sko og kunde å lagres på nytt i databasen.
                    foreach (var detalj in nyOrdre.OrdreDetaljer)
                    {
                        detalj.Sko = db.Sko.Find(detalj.SkoId);
                    }
                    nyOrdre.Kunder = db.Kunder.Find(nyOrdre.KundeId);

                    db.Ordrer.Add(nyOrdre);
                    db.SaveChanges();
                    return true;
                }
                catch (Exception feil)
                {
                    ErrorHandler.logError(feil);
                    return false;
                }
            }
        }
Ejemplo n.º 2
0
 public static bool fjernVare(int vareId)
 {
     using (var db = new NettbutikkContext())
     {
         try
         {
             db.Kundevogner.Remove(db.Kundevogner.Find(vareId));
             db.SaveChanges();
             return true;
         }
         catch (Exception feil)
         {
             ErrorHandler.logError(feil);
             return false;
         }
     }
 }
Ejemplo n.º 3
0
 public static bool fjernAlleVarer( string sessionId)
 {
     using (var db = new NettbutikkContext())
     {
         try
         {
             db.Kundevogner.RemoveRange(db.Kundevogner.Where(k => k.SessionId == sessionId ));
             db.SaveChanges();
             return true;
         }
         catch (Exception feil)
         {
             ErrorHandler.logError(feil);
             return false;
         }
     }
 }
Ejemplo n.º 4
0
 public Merke addMerke(string merkeNavn)
 {
     var ny = new Merker
     {
         Navn = merkeNavn
     };
     using (var db = new NettbutikkContext())
     {
         try
         {
             db.Merker.Add(ny);
             db.SaveChanges();
             var lagret = db.Merker.SingleOrDefault(f => f.Navn == merkeNavn);
             return new Merke { merkeId = lagret.MerkerId, navn = lagret.Navn };
         }
         catch (Exception feil)
         {
             DAL.ErrorHandler.logError(feil);
             return null;
         }
     }
 }
Ejemplo n.º 5
0
 public Kategori addKategori(string kategoriNavn)
 {
     var ny = new Kategorier
     {
         Navn = kategoriNavn
     };
     using (var db = new NettbutikkContext())
     {
         try
         {
             db.Kategorier.Add(ny);
             db.SaveChanges();
             var lagret = db.Kategorier.SingleOrDefault(k => k.Navn == kategoriNavn);
             return new Kategori {  kategoriId = lagret.KategoriId, navn = lagret.Navn };
         }
         catch (Exception feil)
         {
             DAL.ErrorHandler.logError(feil);
             return null;
         }
     }
 }
Ejemplo n.º 6
0
 public ForHvem addFor(string forNavn)
 {
     var ny = new For
     {
         Navn = forNavn
     };
     using (var db = new NettbutikkContext())
     {
         try
         {
             db.For.Add(ny);
             db.SaveChanges();
             var lagret = db.For.SingleOrDefault(f => f.Navn == forNavn);
             return new ForHvem { forId = lagret.ForId, navn = lagret.Navn };
         }
         catch(Exception feil)
         {
             DAL.ErrorHandler.logError(feil);
             return null;
         }
     }
 }
Ejemplo n.º 7
0
        public Skoen slett(int id)
        {
            using(var db = new NettbutikkContext())
            {
                try
                {
                    var enSko = db.Sko.Find(id);
                    if (enSko == null)
                        return null;

                    enSko.Slettet = true;
                    var slettet =  new Skoen {
                        skoId = enSko.SkoId,
                        navn = enSko.Navn,
                        kategori = enSko.Kategori.Navn,
                        merke = enSko.Merke.Navn,
                        forHvem = enSko.ForHvem.Navn,
                        pris = enSko.Pris.OrderByDescending(p => p.Dato).FirstOrDefault().Pris,
                        farge = enSko.Farge,
                        beskrivelse = enSko.Beskrivelse,
                        storlekar = enSko.Storlekar.Select(t => new Storlek()
                        {
                            storlekId = t.StorlekId,
                            storlek = t.Storlek,
                            antall = t.Antall
                        }).ToList(),
                        bilder = enSko.Bilder.Select(b => new Bilde()
                        {
                            bildeId = b.BildeId,
                            bildeUrl = b.BildeUrl
                        }).ToList()
                    };
                    db.SaveChanges();

                    return slettet;
                }
                catch(Exception feil)
                {
                    DAL.ErrorHandler.logError(feil);
                    return null;
                }
            }
        }
Ejemplo n.º 8
0
 public Storlek leggTilStorlek(int skoId, Storlek innStr)
 {
     using (var db = new NettbutikkContext())
     {
         try
         {
             var nyStr = new Storlekar
             {
                 Storlek = innStr.storlek,
                 Sko = db.Sko.Find(skoId),
                 Antall = innStr.antall
             };
             var lagretStr = db.Storlekar.Add(nyStr);
             db.SaveChanges();
             var utStr = new Storlek
             {
                 storlekId = lagretStr.StorlekId,
                 storlek = lagretStr.Storlek,
                 antall = lagretStr.Antall
             };
             return utStr;
         }
         catch (Exception feil)
         {
             DAL.ErrorHandler.logError(feil);
             return null;
         }
     }
 }
Ejemplo n.º 9
0
 public Bilde leggTilBilde(int skoId, Bilde innBilde)
 {
     using (var db = new NettbutikkContext())
     {
         try
         {
             var nyttBilde = new Bilder
             {
                 BildeUrl = innBilde.bildeUrl,
                 Sko = db.Sko.Find(skoId)
             };
             var lagretBilde = db.Bilder.Add(nyttBilde);
             db.SaveChanges();
             var utBilde = new Bilde
             {
                 bildeId = lagretBilde.BildeId,
                 bildeUrl = lagretBilde.BildeUrl
             };
             return utBilde;
         }
         catch (Exception feil)
         {
             DAL.ErrorHandler.logError(feil);
             return null;
         }
     }
 }
Ejemplo n.º 10
0
        public Skoen lagreSko(Skoen innsko)
        {
            using (var db = new NettbutikkContext())
            {
                try
                {
                    var nySko = new Sko {
                        Navn = innsko.navn,
                        Farge = innsko.farge,
                        Beskrivelse = innsko.beskrivelse,

                    };
                    var lagretSko = db.Sko.Add(nySko);
                    //Sjekk om merke eksisterer og legger til merke.
                    var eksistererMerke = db.Merker.SingleOrDefault(m => m.Navn == innsko.merke);
                    if(eksistererMerke == null)
                    {
                        var lagtTilMerke = db.Merker.Add(new Merker { Navn = innsko.merke });
                        lagretSko.Merke = lagtTilMerke;
                    }
                    else
                    {
                        lagretSko.Merke = eksistererMerke;
                    }

                    //Sjekk om kategori eksisterer og legger til kategori.
                    var eksistererKategori = db.Kategorier.SingleOrDefault(k => k.Navn == innsko.kategori);
                    if(eksistererKategori == null)
                    {
                        var lagtTilKategori = db.Kategorier.Add(new Kategorier { Navn = innsko.kategori });
                        lagretSko.Kategori = lagtTilKategori;
                    }
                    else
                    {
                        lagretSko.Kategori = eksistererKategori;
                    }

                    //Sjekk om ForHvem eksisterer og legger til ForHvem.
                    var eksistererFor = db.For.SingleOrDefault(f => f.Navn == innsko.forHvem);
                    if(eksistererFor == null)
                    {
                        var lagtTilFor = db.For.Add(new For { Navn = innsko.forHvem });
                        lagretSko.ForHvem = lagtTilFor;
                    }
                    else
                    {
                        lagretSko.ForHvem = eksistererFor;
                    }

                    //Legger til pris
                    db.Priser.Add(new Priser { Pris = innsko.pris, Sko = lagretSko, Dato = DateTime.Now });

                    db.SaveChanges();
                    var utSko = new Skoen
                    {
                        skoId = lagretSko.SkoId,
                        navn = lagretSko.Navn,
                        merke = lagretSko.Merke.Navn,
                        farge = lagretSko.Farge,
                        kategori = lagretSko.Kategori.Navn,
                        forHvem = lagretSko.ForHvem.Navn,
                        beskrivelse = lagretSko.Beskrivelse,
                        pris = lagretSko.Pris.OrderByDescending( p => p.Dato).FirstOrDefault().Pris
                    };
                    return utSko;

                }
                catch (Exception feil)
                {
                    DAL.ErrorHandler.logError(feil);
                    return null;
                }
            }
        }
Ejemplo n.º 11
0
        public static bool redigerKundePassord(RedigerKundePassordModell innPassord)
        {
            bool sparadPassord = false;

            using (var db = new NettbutikkContext())
            {
                try
                {
                    var upPassord = db.Passorden.Where(p => p.PassordId == innPassord.passordId).SingleOrDefault();

                    if (upPassord != null)
                    {
                        byte[] gammeltpassordDb = lagHash(innPassord.gammeltPassord);
                        byte[] passordDb = lagHash(innPassord.nyttPassord);
                        //Sjekker om det er skrevet riktig gammelt passord.
                        if (!gammeltpassordDb.SequenceEqual(upPassord.Passord))
                        {
                            return false;
                        }

                        upPassord.Passord = passordDb;

                        db.SaveChanges();

                        sparadPassord = true;
                    }
                }
                catch(Exception feil)
                {
                    ErrorHandler.logError(feil);
                    sparadPassord = false;
                }
                return sparadPassord;
            }
        }
Ejemplo n.º 12
0
        public static bool registrerKunde(RegistrerKundeModell innKunde)
        {
            using (var db = new NettbutikkContext())
            {
                try
                {
                    //Test för att göra Email unikt. Vet inte om detta är det bästa sättet.
                    var finnesKunde = db.Kunder.FirstOrDefault(k => k.Epost == innKunde.epost);
                    if (finnesKunde == null)
                    {
                        var nyKunde = new Kunder();
                        nyKunde.Fornavn = innKunde.fornavn;
                        nyKunde.Etternavn = innKunde.etternavn;
                        nyKunde.Adresse = innKunde.adresse;
                        nyKunde.Postnr = innKunde.postnr;
                        var eksisterandePostnr = db.Poststeder.Find(innKunde.postnr);
                        if (eksisterandePostnr == null)
                        {
                            var nyttPoststed = new Poststeder()
                            {
                                Postnr = innKunde.postnr,
                                Poststed = innKunde.poststed
                            };
                            nyKunde.Poststeder = nyttPoststed;
                        }
                        nyKunde.Epost = innKunde.epost;
                        byte[] passordDb = lagHash(innKunde.passord);
                        var passord = new Passorden()
                        {
                            Passord = passordDb,
                            Kunde = nyKunde,
                        };
                        nyKunde.Passorden = passord;
                        db.Kunder.Add(nyKunde);
                        db.SaveChanges();

                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
                catch (Exception feil)
                {
                    ErrorHandler.logError(feil);
                    return false;
                }
            }
        }
Ejemplo n.º 13
0
 public Merke deleteMerke(int id)
 {
     using (var db = new NettbutikkContext())
     {
         try
         {
             var slettet = db.Merker.Remove(db.Merker.Find(id));
             db.SaveChanges();
             return new Merke() { merkeId = slettet.MerkerId, navn = slettet.Navn };
         }
         catch (Exception feil)
         {
             DAL.ErrorHandler.logError(feil);
             return null;
         }
     }
 }
Ejemplo n.º 14
0
 public ForHvem deleteFor(int id)
 {
     using(var db = new NettbutikkContext())
     {
         try
         {
             var slettet = db.For.Remove(db.For.Find(id));
             db.SaveChanges();
             return new ForHvem() { forId = slettet.ForId, navn = slettet.Navn};
         }
         catch(Exception feil)
         {
             DAL.ErrorHandler.logError(feil);
             return null;
         }
     }
 }
Ejemplo n.º 15
0
        public static bool redigerKunde(RedigerKundeModell innKunde)
        {
            bool sparadKunde = false;

            using (var db = new NettbutikkContext())
            {
                try
                {
                    var upKunde = db.Kunder.Where(k => k.Id == innKunde.id).SingleOrDefault();
                    var finnesKunde = db.Kunder.FirstOrDefault(k => k.Epost == innKunde.epost);

                    if (finnesKunde.Id == innKunde.id)
                    {
                        finnesKunde = null;
                    }

                    if (finnesKunde == null && upKunde != null)
                    {
                        upKunde.Fornavn = innKunde.fornavn;
                        upKunde.Etternavn = innKunde.etternavn;
                        upKunde.Adresse = innKunde.adresse;
                        upKunde.Postnr = innKunde.postnr;
                        var eksisterandePostnr = db.Poststeder.Find(innKunde.postnr);
                        if (eksisterandePostnr == null)
                        {
                            var nyttPoststed = new Poststeder()
                            {
                                Postnr = innKunde.postnr,
                                Poststed = innKunde.poststed
                            };
                            upKunde.Poststeder = nyttPoststed;
                        }
                        upKunde.Epost = innKunde.epost;
                        db.SaveChanges();

                        sparadKunde = true;
                    }
                }
                catch (Exception feil)
                {
                    ErrorHandler.logError(feil);
                    sparadKunde = false;
                }
                return sparadKunde;
            }
        }
Ejemplo n.º 16
0
 public Merke updateMerke(Merke merke)
 {
     using (var db = new NettbutikkContext())
     {
         try
         {
             var funnet = db.Merker.Find(merke.merkeId);
             funnet.Navn = merke.navn;
             db.SaveChanges();
             return merke;
         }
         catch (Exception feil)
         {
             DAL.ErrorHandler.logError(feil);
             return null;
         }
     }
 }
Ejemplo n.º 17
0
 public Kategori updateKategori(Kategori kategori)
 {
     using (var db = new NettbutikkContext())
     {
         try
         {
             var funnet = db.Kategorier.Find(kategori.kategoriId);
             funnet.Navn = kategori.navn;
             db.SaveChanges();
             return kategori;
         }
         catch (Exception feil)
         {
             DAL.ErrorHandler.logError(feil);
             return null;
         }
     }
 }
Ejemplo n.º 18
0
 public ForHvem updateFor(ForHvem forhvem)
 {
     using (var db = new NettbutikkContext())
     {
         try
         {
             var funnet = db.For.Find(forhvem.forId);
             funnet.Navn = forhvem.navn;
             db.SaveChanges();
             return forhvem;
         }
         catch (Exception feil)
         {
             DAL.ErrorHandler.logError(feil);
             return null;
         }
     }
 }
Ejemplo n.º 19
0
 public Bilde slettBilde(int id)
 {
     using (var db = new NettbutikkContext())
     {
         try
         {
             var slettet = db.Bilder.Remove(db.Bilder.Find(id));
             db.SaveChanges();
             return new Bilde() { bildeId = slettet.BildeId, bildeUrl = slettet.BildeUrl };
         }
         catch (Exception feil)
         {
             DAL.ErrorHandler.logError(feil);
             return null;
         }
     }
 }
Ejemplo n.º 20
0
 public static bool leggTilVare(string sessionId, int skoId, int skoStr)
 {
     Kundevogner nyVare = new Kundevogner()
     {
         SessionId = sessionId,
         Dato = DateTime.Now,
         SkoId = skoId,
         Storlek = skoStr
     };
     using (var db = new NettbutikkContext())
     {
         try
         {
             db.Kundevogner.Add(nyVare);
             db.SaveChanges();
             return true;
         }
         catch (Exception feil)
         {
             ErrorHandler.logError(feil);
             return false;
         }
     }
 }
Ejemplo n.º 21
0
 public Storlek slettStorlek(int id)
 {
     using (var db = new NettbutikkContext())
     {
         try
         {
             var slettet = db.Storlekar.Remove(db.Storlekar.Find(id));
             db.SaveChanges();
             return new Storlek() { storlekId = slettet.StorlekId, storlek = slettet.Storlek };
         }
         catch (Exception feil)
         {
             DAL.ErrorHandler.logError(feil);
             return null;
         }
     }
 }
Ejemplo n.º 22
0
 public Kategori deleteKategori(int id)
 {
     using (var db = new NettbutikkContext())
     {
         try
         {
             var slettet = db.Kategorier.Remove(db.Kategorier.Find(id));
             db.SaveChanges();
             return new Kategori() { kategoriId = slettet.KategoriId, navn = slettet.Navn };
         }
         catch (Exception feil)
         {
             DAL.ErrorHandler.logError(feil);
             return null;
         }
     }
 }