public List<Skoen> getAktuelleSko() { using (var db = new NettbutikkContext()) { try { var liste = db.Sko.Where(s => !s.Slettet).Select(s => new Skoen { skoId = s.SkoId, navn = s.Navn, merke = s.Merke.Navn, kategori = s.Kategori.Navn, forHvem = s.ForHvem.Navn, beskrivelse = s.Beskrivelse, farge = s.Farge, pris = s.Pris.OrderByDescending(p => p.Dato).FirstOrDefault().Pris }).ToList(); return liste; } catch (Exception feil) { DAL.ErrorHandler.logError(feil); return null; } } }
public static List<HandlevognVare> getAlleKundevognvarer(string sessionId) { using (var db = new NettbutikkContext()) { try { List<HandlevognVare> alleVarer = db.Kundevogner.Include("Sko").Include("Merke") .Where(k => k.SessionId == sessionId).Select(k => new HandlevognVare{ vognId = k.KundevognId, skoId = k.SkoId, storlek = k.Storlek, skoNavn = k.Sko.Navn, merke = k.Sko.Merke.Navn, farge = k.Sko.Farge, pris = k.Sko.Pris.OrderByDescending(p => p.Dato).FirstOrDefault().Pris, bildeUrl = k.Sko.Bilder.Where( b => b.BildeUrl.Contains("/Medium/")).FirstOrDefault().BildeUrl }).ToList(); return alleVarer; } catch (Exception feil) { ErrorHandler.logError(feil); return null; } } }
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 List<Pris> getPrishistorikk(int skoId) { using (var db = new NettbutikkContext()) { try { var priser = db.Priser.Where(p => p.SkoId == skoId) .OrderByDescending(p => p.Dato).Select(p => new Pris { skoId = p.SkoId, skoNavn = p.Sko.Navn, dato = p.Dato, pris = p.Pris }).ToList(); return priser; } catch (Exception feil) { DAL.ErrorHandler.logError(feil); return null; } } }
public Kunde getKunde(int id) { using (var db = new NettbutikkContext()) { try { var funnet = db.Kunder.Find(id); return new Kunde() { id = funnet.Id, fornavn = funnet.Fornavn, etternavn = funnet.Etternavn, adresse = funnet.Adresse, postnr = funnet.Postnr, poststed = funnet.Poststeder.Poststed, epost = funnet.Epost }; } catch (Exception feil) { ErrorHandler.logError(feil); return null; } } }
public Skoen getSko(int id) { using (var db = new NettbutikkContext()) { try { var enSko = db.Sko.SingleOrDefault(s => s.SkoId == id); if (enSko != null) { Skoen hentetSko = 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(), slettet = enSko.Slettet }; return hentetSko; } else { return null; } } catch (Exception feil) { DAL.ErrorHandler.logError(feil); return null; } } }
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 bool adminIDb(LoggInn innAdmin) { using (var db = new NettbutikkContext()) { byte[] passordDb = lagHash(innAdmin.passord); Nettbutikk.Admin funnetAdmin = db.Admin.FirstOrDefault (a => a.Passord == passordDb && a.Brukernavn == innAdmin.Brukernavn); if (funnetAdmin == null) { return false; } else { return true; } } }
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 static List<ForHvem> hentAlleForHvem() { using (var db = new NettbutikkContext()) { try { List<ForHvem> forHvem= db.For.Select( f => new ForHvem() { forId = f.ForId, navn = f.Navn }).ToList(); return forHvem; } catch (Exception feil) { ErrorHandler.logError(feil); return null; } } }
public static List<Kategori> hentAlleKategorierForHvem(int forHvemId) { using (var db = new NettbutikkContext()) { try { List<Kategori> kategorier = db.Sko.Where(s => s.ForId == forHvemId) .Select( s => s.Kategori).Distinct().Select( k => new Kategori() { kategoriId = k.KategoriId, navn = k.Navn }).ToList(); return kategorier; } catch (Exception feil) { ErrorHandler.logError(feil); return null; } } }
public static Kategori getKategori(int kategoriId) { using (var db = new NettbutikkContext()) { try { Kategorier temp = db.Kategorier.Find(kategoriId); Kategori kategori = new Kategori() { kategoriId = temp.KategoriId, navn = temp.Navn }; return kategori; } catch (Exception feil) { ErrorHandler.logError(feil); return null; } } }
public static ForHvem getFor(int forId) { using (var db = new NettbutikkContext()) { try { For temp = db.For.Find(forId); ForHvem forHvem = new ForHvem() { forId = temp.ForId, navn = temp.Navn }; return forHvem; } catch (Exception feil) { 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 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 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 static int antallHandlevognVarer(string sessionId) { using (var db = new NettbutikkContext()) { try { int antall = 0; var varer = db.Kundevogner.Where(k => k.SessionId == sessionId).ToList(); foreach(var vare in varer) { antall++; } return antall; } catch (Exception feil) { ErrorHandler.logError(feil); return -1; } } }
public static Ordre finnSisteOrdre(int KundeId) { using (var db = new NettbutikkContext()) { try { Ordrer sisteOrdre = db.Ordrer.Include("OrdreDetaljer.Sko.Merke").Include("OrdreDetaljer.Sko.Bilder").Include("Kunder.Poststeder") .Where(o => o.KundeId == KundeId).OrderByDescending(o => o.OrdreDato).FirstOrDefault(); var ordre = new Ordre() { ordreId = sisteOrdre.OrdreId, ordreDato = sisteOrdre.OrdreDato, kundeId = sisteOrdre.KundeId, kundeNavn = sisteOrdre.Kunder.Fornavn + " " + sisteOrdre.Kunder.Etternavn, adresse = sisteOrdre.Kunder.Adresse, postnr = sisteOrdre.Kunder.Postnr, poststed = sisteOrdre.Kunder.Poststeder.Poststed, varer = sisteOrdre.OrdreDetaljer.Select(d => new HandlevognVare { skoId = d.Sko.SkoId, skoNavn = d.Sko.Navn, merke = d.Sko.Merke.Navn, farge = d.Sko.Farge, storlek = d.Storlek, pris = d.Pris, bildeUrl = d.Sko.Bilder.Where(b => b.BildeUrl.Contains("/Medium/")).FirstOrDefault().BildeUrl, }).ToList(), totalBelop = sisteOrdre.TotalBelop }; return ordre; } catch (Exception feil) { ErrorHandler.logError(feil); return null; } } }
public List<Ordre> getOrdrer() { using (var db = new NettbutikkContext()) { try { List<Ordre> alleOrdre = db.Ordrer.Select(o => new Ordre() { ordreId = o.OrdreId, ordreDato = o.OrdreDato, kundeId = o.KundeId, kundeNavn = o.Kunder.Fornavn + " " + o.Kunder.Etternavn, adresse = o.Kunder.Adresse, postnr = o.Kunder.Postnr, poststed = o.Kunder.Poststeder.Poststed, varer = o.OrdreDetaljer.Select(d => new HandlevognVare { skoId = d.Sko.SkoId, skoNavn = d.Sko.Navn, merke = d.Sko.Merke.Navn, farge = d.Sko.Farge, storlek = d.Storlek, pris = d.Pris, bildeUrl = d.Sko.Bilder.Where(b => b.BildeUrl.Contains("/Medium/")).FirstOrDefault().BildeUrl, }).ToList(), totalBelop = o.TotalBelop }).ToList(); return alleOrdre; } catch (Exception feil) { ErrorHandler.logError(feil); return null; } } }
public List<Kunde> getKunder() { using (var db = new NettbutikkContext()) { try { return db.Kunder.Select(k => new Kunde() { id = k.Id, fornavn = k.Fornavn, etternavn = k.Etternavn, adresse = k.Adresse, postnr = k.Postnr, poststed = k.Poststeder.Poststed, epost = k.Epost }).ToList(); } catch (Exception feil) { 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 static decimal getTotalpris(string sessionId) { using (var db = new NettbutikkContext()) { try { decimal total = 0; foreach(var vare in db.Kundevogner.Include("Sko").Where(k => k.SessionId == sessionId)) { total += vare.Sko.Pris.OrderByDescending(p => p.Dato).FirstOrDefault().Pris; } return total; } catch (Exception feil) { ErrorHandler.logError(feil); return 0; } } }
public static Ordrer lagOrdre(string sessionId, int kundeId) { using (var db = new NettbutikkContext()) { try { //Måtte dele opp databasekallet og laging av new OrdreDetaljer. //Det var ikke lov å opprette OrdreDetaljer i entity til Linq forespørsel. List<Kundevogner> temp = db.Kundevogner.Include("Sko.Merke").Include("Sko.Bilder") .Where(k => k.SessionId == sessionId).ToList(); List<OrdreDetaljer> enkeltVarer = temp.Select( v => new OrdreDetaljer { Antall = 1, SkoId = v.SkoId, Sko = v.Sko, Pris = v.Sko.Pris.OrderByDescending(p => p.Dato).FirstOrDefault().Pris, Storlek = v.Storlek }).ToList(); decimal total = 0; foreach (var vare in enkeltVarer) total += vare.Pris * vare.Antall; Ordrer tempOrdre = new Ordrer() { KundeId = kundeId, OrdreDato = DateTime.Now, OrdreDetaljer = enkeltVarer, TotalBelop = total }; tempOrdre.Kunder = db.Kunder.Include("Poststeder").FirstOrDefault(k => k.Id == tempOrdre.KundeId); return tempOrdre; } catch (Exception feil) { ErrorHandler.logError(feil); return null; } } }
public static List<Skoen> hentAlleSkoFor(int forHvemId, int kategoriId) { using (var db = new NettbutikkContext()) { try { List<Skoen> alleSko = db.Sko.Where(s => s.ForId == forHvemId && s.KategoriId == kategoriId).Distinct().Select(s => new Skoen() { skoId = s.SkoId, navn = s.Navn, kategori = s.Kategori.Navn, merke = s.Merke.Navn, forHvem = s.ForHvem.Navn, pris = s.Pris.OrderByDescending(p => p.Dato).FirstOrDefault().Pris, farge = s.Farge, beskrivelse = s.Beskrivelse, storlekar = s.Storlekar.Select(t => new Storlek() { storlekId = t.StorlekId, storlek = t.Storlek, antall = t.Antall }).ToList(), bilder = s.Bilder.Select(b => new Bilde() { bildeId = b.BildeId, bildeUrl = b.BildeUrl }).ToList() }).ToList(); return alleSko; } catch (Exception feil) { 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 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 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 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; } } }