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; } } }
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; } } }
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; } } }
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; } } }
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; } } }
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; } } }
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; } } }
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; } } }
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; } } }
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; } } }
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; } }
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; } } }
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; } } }
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; } } }
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; } }
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; } } }
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; } } }
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; } } }
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; } } }
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; } } }
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; } } }
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; } } }