Ejemplo n.º 1
0
        public bool endreBok(int id, Boken innBok)
        {
            var db = new BokerContext();
            try
            {
                var bokSomSkalEndres = db.Boker.FirstOrDefault(p => p.ISBN == innBok.ISBN);

                if (bokSomSkalEndres == null)
                    return false;

                bokSomSkalEndres.Tittel = innBok.Tittel;
                bokSomSkalEndres.Pris = innBok.Pris;

                string forfatter = innBok.Forfatter;

                var funnetForfatter = db.Forfattere.FirstOrDefault(p => p.Navn == forfatter);

                if (funnetForfatter == null) // fant ikke forfatter, må legge inn
                {
                    var nyForfatter = new Forfatter();
                    nyForfatter.Navn = forfatter;
                    db.Forfattere.Add(nyForfatter);

                    bokSomSkalEndres.Forfatter = nyForfatter;
                }
                else
                {
                    bokSomSkalEndres.Forfatter = funnetForfatter;
                }

                string sjanger = innBok.Sjanger;

                var funnetSjanger = db.Sjangere.FirstOrDefault(p => p.Navn == sjanger);

                if (funnetSjanger == null) // fant ikke sjanger, må legge inn
                {
                    var nySjanger = new Sjanger();
                    nySjanger.Navn = sjanger;
                    db.Sjangere.Add(nySjanger);

                    bokSomSkalEndres.Sjanger = nySjanger;
                }
                else
                { // fant poststedet, legger det inn i den nye brukeren
                    bokSomSkalEndres.Sjanger = funnetSjanger;
                }

                db.SaveChanges();
                return true;
            }
            catch (Exception feil)
            {
                skrivTilFil(feil);
                return false;
            }
        }
Ejemplo n.º 2
0
        public bool settInnForfatter(Forfatteren innForfatter)
        {
            var nyForfatter = new Forfatter()
            {
                Navn = innForfatter.Navn,

            };

            var db = new BokerContext();
            try
            {
                db.Forfattere.Add(nyForfatter);
                db.SaveChanges();
                return true;
            }
            catch (Exception feil)
            {
                skrivTilFil(feil);
                return false;
            }
        }
Ejemplo n.º 3
0
        public bool settInnBok(Boken innBok)
        {
            var nyBok = new Bok()
            {
                ISBN = innBok.ISBN,
                Tittel = innBok.Tittel,
                Pris = innBok.Pris
            };

            var db = new BokerContext();
            try
            {
                var eksistererForfatter = db.Forfattere.FirstOrDefault(i => i.Navn == innBok.Forfatter);

                if (eksistererForfatter == null)
                {
                    var nyForfatter = new Forfatter()
                    {
                        Navn = innBok.Forfatter
                    };
                    nyBok.Forfatter = nyForfatter;
                    nyBok.ForfatterId = nyForfatter.ForfatterId;
                }
                else
                {
                    nyBok.Forfatter = eksistererForfatter;
                    nyBok.ForfatterId = eksistererForfatter.ForfatterId;
                }

                var eksistererSjanger = db.Sjangere.FirstOrDefault(i => i.Navn == innBok.Sjanger);

                if (eksistererSjanger == null)
                {
                    var nySjanger = new Sjanger()
                    {
                        Navn = innBok.Sjanger
                    };
                    nyBok.Sjanger = nySjanger;
                    nyBok.SjangerId = nySjanger.SjangerId;
                }
                else
                {
                    nyBok.Sjanger = eksistererSjanger;
                    nyBok.SjangerId = eksistererSjanger.SjangerId;
                }

                db.Boker.Add(nyBok);
                db.SaveChanges();
                return true;
            }
            catch (Exception feil)
            {
                skrivTilFil(feil);
                return false;
            }
        }