Пример #1
0
        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;
                }
            }
        }
Пример #2
0
        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;
                }
            }
        }
Пример #3
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;
                }
            }
        }
Пример #4
0
        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;
                }
            }
        }
Пример #5
0
 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;
         }
     }
 }
Пример #6
0
        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;
                }
            }
        }
Пример #7
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;
         }
     }
 }
Пример #8
0
 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;
         }
     }
 }
Пример #9
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;
         }
     }
 }
Пример #10
0
        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;
                }
            }
        }
Пример #11
0
        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;
                }
            }
        }
Пример #12
0
 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;
         }
     }
 }
Пример #13
0
        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;
                }
            }
        }
Пример #14
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;
         }
     }
 }
Пример #15
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;
         }
     }
 }
Пример #16
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;
         }
     }
 }
Пример #17
0
        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;
                }
            }
        }
Пример #18
0
 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;
         }
     }
 }
Пример #19
0
 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;
         }
     }
 }
Пример #20
0
 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;
         }
     }
 }
Пример #21
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;
                }
            }
        }
Пример #22
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;
         }
     }
 }
Пример #23
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;
         }
     }
 }
Пример #24
0
 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;
         }
     }
 }
Пример #25
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;
                }
            }
        }
Пример #26
0
        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;
                }
            }
        }
Пример #27
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;
         }
     }
 }
Пример #28
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;
         }
     }
 }
Пример #29
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;
                }
            }
        }
Пример #30
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;
         }
     }
 }