public List <Sjanger> HentSjangereForFilm(int id)
        {
            if (id == 1)
            {
                List <Sjanger> sjangere = new List <Sjanger>();
                Sjanger        sjanger  = new Sjanger()
                {
                    id      = 1,
                    sjanger = "Action"
                };
                sjangere.Add(sjanger);
                sjangere.Add(sjanger);
                sjangere.Add(sjanger);

                return(sjangere);
            }
            else
            {
                List <Sjanger> sjangere = new List <Sjanger>();
                var            sjanger  = new Sjanger();
                sjanger.id = 0;
                sjangere.Add(sjanger);
                sjangere.Add(sjanger);
                sjangere.Add(sjanger);

                return(sjangere);
            }
        }
Beispiel #2
0
        public void OpprettFilmFeilIDB()
        {
            // Arrange
            var controller  = new AdminController(new AdminLogikk(new AdminRepositoryStub()));
            var SessionMock = new TestControllerBuilder();

            SessionMock.InitializeController(controller);
            controller.Session["Admin"] = "admin";

            var innFilm = new Film()
            {
                id            = 0,
                Navn          = "Film01",
                Bilde         = "bilde1",
                Beskrivelse   = "Dette er en film",
                Gjennomsnitt  = 3,
                Kontinent     = "USA",
                Pris          = 20,
                Studio        = "Studio01",
                Produksjonsår = 1999,
                Visninger     = 16,
                ReleaseDate   = "12/12/2014",
                Sjanger       = new List <Sjanger>(),
                Skuespillere  = new List <Skuespiller>(),
                Kommentarer   = new List <Kommentar>()
            };
            var skuespiller = new Skuespiller()
            {
                id        = 1,
                Fornavn   = "Per",
                Etternavn = "Persen",
                Bilde     = "bilde02",
                Alder     = 48,
                Land      = "Norge"
            };
            var sjanger = new Sjanger()
            {
                id      = 1,
                sjanger = "Action"
            };
            var kommentar = new Kommentar()
            {
                Dato    = "12/12/2018",
                id      = 1,
                Melding = "Dette er en kommentar"
            };

            innFilm.Skuespillere.Add(skuespiller);
            innFilm.Sjanger.Add(sjanger);
            innFilm.Kommentarer.Add(kommentar);

            TestBilde testBilde = new TestBilde();

            // Act
            var actionResult = (ViewResult)controller.OpprettFilm(innFilm, testBilde);

            // Assert
            Assert.AreEqual(actionResult.ViewName, "");
            Assert.AreEqual(actionResult.ViewData["OpprettStatus"], "Klarte ikke å opprette film");
        }
Beispiel #3
0
 public bool LagSjanger(Sjanger sjanger)
 {
     try
     {
         using (var db = new DB())
         {
             var funnetSjanger = (from s in db.Sjangre
                                  where s.sjanger == sjanger.sjanger
                                  select s).FirstOrDefault();
             if (funnetSjanger != null)
             {
                 return(false);
             }
             else
             {
                 var nySjanger = new DBSjanger();
                 nySjanger.sjanger = sjanger.sjanger;
                 db.Sjangre.Add(nySjanger);
                 db.SaveChanges();
                 return(true);
             }
         }
     }
     catch (Exception ex)
     {
         DBLog.ErrorToFile("Feil oppstått når en sjanger skulle lages", "DBSjanger:LagSjanger", ex);
         return(false);
     }
 }
Beispiel #4
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);
            }
        }
Beispiel #5
0
        public void TestHentFilmerForAjax()
        {
            // Arrange
            var controller = new AdminController(new AdminLogikk(new AdminRepositoryStub()));
            var filmer     = new List <Film>();
            var film       = new Film()
            {
                id            = 1,
                Navn          = "Film01",
                Bilde         = "bilde1",
                Beskrivelse   = "Dette er en film",
                Gjennomsnitt  = 3,
                Kontinent     = "USA",
                Pris          = 20,
                Studio        = "Studio01",
                Produksjonsår = 1999,
                Visninger     = 16,
                ReleaseDate   = "12/12/2014",
                Sjanger       = new List <Sjanger>(),
                Skuespillere  = new List <Skuespiller>(),
                Kommentarer   = new List <Kommentar>()
            };
            var skuespiller = new Skuespiller()
            {
                id        = 1,
                Fornavn   = "Per",
                Etternavn = "Persen",
                Bilde     = "bilde02",
                Alder     = 48,
                Land      = "Norge"
            };
            var sjanger = new Sjanger()
            {
                id      = 1,
                sjanger = "Action"
            };
            var kommentar = new Kommentar()
            {
                Dato    = "12/12/2018",
                id      = 1,
                Melding = "Dette er en kommentar"
            };

            film.Skuespillere.Add(skuespiller);
            film.Sjanger.Add(sjanger);
            film.Kommentarer.Add(kommentar);
            filmer.Add(film);
            filmer.Add(film);
            filmer.Add(film);
            var jsonSerializer    = new JavaScriptSerializer();
            var forventetResultat = jsonSerializer.Serialize(filmer);

            // Act
            var resultat = controller.HentFilmerForAjax();

            // Assert
            Assert.AreEqual(forventetResultat, resultat);
        }
Beispiel #6
0
 public ActionResult OpprettSjanger()
 {
     if (SjekkAdmin())
     {
         var sjanger = new Sjanger();
         return(View(sjanger));
     }
     return(RedirectToAction("Login", "Kunde"));
 }
Beispiel #7
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);
            }
        }
        public Film HentFilm(int id)
        {
            if (id == 1)
            {
                Film enFilm = new Film()
                {
                    id            = 1,
                    Navn          = "Film01",
                    Bilde         = "bilde1",
                    Beskrivelse   = "Dette er en film",
                    Gjennomsnitt  = 3,
                    Kontinent     = "USA",
                    Pris          = 20,
                    Studio        = "Studio01",
                    Produksjonsår = 1999,
                    Visninger     = 16,
                    ReleaseDate   = "12/12/2014",
                    Sjanger       = new List <Sjanger>(),
                    Skuespillere  = new List <Skuespiller>(),
                    Kommentarer   = new List <Kommentar>()
                };
                var skuespiller = new Skuespiller()
                {
                    id        = 1,
                    Fornavn   = "Per",
                    Etternavn = "Persen",
                    Bilde     = "bilde02",
                    Alder     = 48,
                    Land      = "Norge"
                };
                var sjanger = new Sjanger()
                {
                    id      = 1,
                    sjanger = "Action"
                };
                var kommentar = new Kommentar()
                {
                    Dato    = "12/12/2018",
                    id      = 1,
                    Melding = "Dette er en kommentar"
                };
                enFilm.Sjanger.Add(sjanger);
                enFilm.Skuespillere.Add(skuespiller);
                enFilm.Kommentarer.Add(kommentar);

                return(enFilm);
            }
            else
            {
                Film utFilm = new Film();
                utFilm.id = 0;
                return(utFilm);
            }
        }
Beispiel #9
0
        public void OpprettSjanger_Feil_Post()
        {
            //Arrange
            var controller = AdminControllerSession(true);
            var sjanger    = new Sjanger();

            //Act
            var result = (ViewResult)controller.OpprettSjanger(sjanger);

            //Assert
            Assert.AreEqual("", result.ViewName);
        }
Beispiel #10
0
        public void OpprettSjanger_Ikke_Admin_Post()
        {
            //Arrange
            var controller = AdminControllerSession(false);
            var sjanger    = new Sjanger();

            sjanger.sjanger = "Komedie";
            //Act
            var result = (RedirectToRouteResult)controller.OpprettSjanger(sjanger);

            //Assert
            Assert.AreEqual("Login", result.RouteValues["action"]);
        }
Beispiel #11
0
        public void OpprettSjanger_Riktig_Post()
        {
            //Arrange
            var controller = AdminControllerSession(true);
            var sjanger    = new Sjanger();

            sjanger.sjanger = "Komedie";
            //Act
            var result = (RedirectToRouteResult)controller.OpprettSjanger(sjanger);

            //Assert
            Assert.AreEqual("Sjanger opprettet", controller.TempData["Melding"]);
            Assert.AreEqual("Dashboard", result.RouteValues["action"]);
        }
Beispiel #12
0
        public void OpprettSjanger_Feil_Validering_Post()
        {
            //Arrange
            var controller = AdminControllerSession(true);
            var sjanger    = new Sjanger();

            controller.ViewData.ModelState.AddModelError("Sjanger", "Ikke oppgitt sjanger");


            //Act
            var result = (ViewResult)controller.OpprettSjanger(sjanger);

            //Assert
            Assert.AreEqual("", result.ViewName);
        }
        public List <Sjanger> HentSjangere()
        {
            List <Sjanger> sjangere = new List <Sjanger>();
            Sjanger        sjanger  = new Sjanger()
            {
                id      = 1,
                sjanger = "Action"
            };

            sjangere.Add(sjanger);
            sjangere.Add(sjanger);
            sjangere.Add(sjanger);

            return(sjangere);
        }
Beispiel #14
0
 public bool LagSjanger(Sjanger sjanger)
 {
     if (sjanger.sjanger != null)
     {
         var funnetSjanger = sjangre.Find(s => s.sjanger == sjanger.sjanger);
         if (funnetSjanger != null)
         {
             return(false);
         }
         else
         {
             var nySjanger = new Sjanger();
             nySjanger.ID      = sjanger.ID;
             nySjanger.sjanger = sjanger.sjanger;
             return(true);
         }
     }
     return(false);
 }
Beispiel #15
0
        public List <Sjanger> HentSjangere()
        {
            using (var db = new DBContext())
            {
                List <Sjanger> alleSjangere = new List <Sjanger>();
                var            dbSjangere   = db.Sjangere.ToList();
                foreach (var sjanger in dbSjangere)
                {
                    Sjanger nySjanger = new Sjanger()
                    {
                        id      = sjanger.id,
                        sjanger = sjanger.sjanger
                    };
                    alleSjangere.Add(nySjanger);
                }

                return(alleSjangere);
            }
        }
Beispiel #16
0
        public bool settInnSjanger(Sjangeren innSjanger)
        {
            var nySjanger = new Sjanger()
            {
                Navn = innSjanger.Navn,
            };

            var db = new BokerContext();

            try
            {
                db.Sjangere.Add(nySjanger);
                db.SaveChanges();
                return(true);
            }
            catch (Exception feil)
            {
                skrivTilFil(feil);
                return(false);
            }
        }
Beispiel #17
0
        public List <Sjanger> HentSjangereForFilm(int id)
        {
            var            db       = new DBContext();
            List <Sjanger> sjangere = new List <Sjanger>();
            var            film     = db.Filmer.Find(id);

            if (film != null)
            {
                for (int i = 0; i < film.Sjanger.Count(); i++)
                {
                    Sjanger sjanger = new Sjanger()
                    {
                        id      = film.Sjanger[i].id,
                        sjanger = film.Sjanger[i].sjanger
                    };
                    sjangere.Add(sjanger);
                }

                return(sjangere);
            }
            return(null);
        }
        // Henter ut 3 filmer fra en tilfeldig sjanger som brukeren har sett før - vises som filmforslag på brukersiden
        public List <ForeslåttFilm> ForeslåFilm(string Brukernavn)
        {
            using (var db = new DBContext())
            {
                var Kunde = db.Kunder.FirstOrDefault(k => k.Brukernavn == Brukernavn);
                if (Kunde != null && Kunde.Filmer.Any())
                {
                    var     tilfeldigTall    = new Random();
                    int     antallSjangere   = Kunde.Filmer.Count();
                    int     tilfeldigSjanger = tilfeldigTall.Next(0, antallSjangere);
                    Sjanger sjanger          = Kunde.Filmer[tilfeldigSjanger].Sjanger[0];
                    List <ForeslåttFilm> foreslåtteFilmer = new List <ForeslåttFilm>();

                    int teller = 0;
                    foreach (var film in sjanger.Filmer)
                    {
                        ForeslåttFilm nyFilm = new ForeslåttFilm()
                        {
                            Bilde   = film.Bilde,
                            Navn    = film.Navn,
                            Pris    = film.Pris,
                            id      = film.id,
                            Sjanger = sjanger.sjanger
                        };
                        foreslåtteFilmer.Add(nyFilm);
                        teller++;
                        if (teller == 3)
                        {
                            break;
                        }
                    }
                    return(foreslåtteFilmer);
                }
                else
                {
                    return(null);
                }
            }
        }
Beispiel #19
0
 public ActionResult OpprettSjanger(Sjanger nySjanger)
 {
     if (SjekkAdmin())
     {
         if (ModelState.IsValid)
         {
             var Opprettet = _sjangerBLL.LagSjanger(nySjanger);
             if (Opprettet)
             {
                 TempData["Melding"] = "Sjanger opprettet";
                 return(RedirectToAction("Dashboard"));
             }
             else
             {
                 ViewBag.Error = "Denne sjangeren eksisterer allerede";
                 return(View());
             }
         }
         ViewBag.Error = "Noe gikk galt under opprettelsen av sjangeren, vennligst prøv igjen.";
         return(View());
     }
     return(RedirectToAction("Login", "Kunde"));
 }
Beispiel #20
0
        public void HentSjangereForFilmFeil()
        {
            // Arrange
            var            controller = new AdminController(new AdminLogikk(new AdminRepositoryStub()));
            List <Sjanger> sjangere   = new List <Sjanger>();
            Sjanger        sjanger    = new Sjanger()
            {
                id = 0,
            };

            sjangere.Add(sjanger);
            sjangere.Add(sjanger);
            sjangere.Add(sjanger);

            var jsonSerializer    = new JavaScriptSerializer();
            var forventetResultat = jsonSerializer.Serialize(sjangere);

            // Act
            var resultat = controller.HentSjangereForFilm(0);

            // Assert
            Assert.AreEqual(forventetResultat, resultat);
        }
Beispiel #21
0
        public bool slettSjanger(int slettId)
        {
            var db = new BokerContext();

            try
            {
                Sjanger slettSjanger = db.Sjangere.Find(slettId);
                var     boker        = db.Boker.Where(c => c.Sjanger.SjangerId == slettSjanger.SjangerId);

                foreach (var u in boker)
                {
                    db.Boker.Remove(u);
                }

                db.Sjangere.Remove(slettSjanger);
                db.SaveChanges();
                return(true);
            }
            catch (Exception feil)
            {
                skrivTilFil(feil);
                return(false);
            }
        }
Beispiel #22
0
 public bool LagSjanger(Sjanger sjanger)
 {
     return(_dbSjanger.LagSjanger(sjanger));
 }
Beispiel #23
0
        public void RedigerFilmerViewOK()
        {
            // Arrange
            var controller  = new AdminController(new AdminLogikk(new AdminRepositoryStub()));
            var SessionMock = new TestControllerBuilder();

            SessionMock.InitializeController(controller);
            controller.Session["Admin"] = "admin";
            var forventetResultat = new List <Film>();
            var film = new Film()
            {
                id            = 1,
                Navn          = "Film01",
                Bilde         = "bilde1",
                Beskrivelse   = "Dette er en film",
                Gjennomsnitt  = 3,
                Kontinent     = "USA",
                Pris          = 20,
                Studio        = "Studio01",
                Produksjonsår = 1999,
                Visninger     = 16,
                ReleaseDate   = "12/12/2014",
                Sjanger       = new List <Sjanger>(),
                Skuespillere  = new List <Skuespiller>(),
                Kommentarer   = new List <Kommentar>()
            };
            var skuespiller = new Skuespiller()
            {
                id        = 1,
                Fornavn   = "Per",
                Etternavn = "Persen",
                Bilde     = "bilde02",
                Alder     = 48,
                Land      = "Norge"
            };
            var sjanger = new Sjanger()
            {
                id      = 1,
                sjanger = "Action"
            };
            var kommentar = new Kommentar()
            {
                Dato    = "12/12/2018",
                id      = 1,
                Melding = "Dette er en kommentar"
            };

            film.Skuespillere.Add(skuespiller);
            film.Sjanger.Add(sjanger);
            film.Kommentarer.Add(kommentar);

            forventetResultat.Add(film);
            forventetResultat.Add(film);
            forventetResultat.Add(film);

            // Act
            var actionResult = (ViewResult)controller.RedigerFilmer();
            var resultat     = (List <Film>)actionResult.Model;

            // Assert
            Assert.AreEqual(actionResult.ViewName, "");

            for (var i = 0; i < resultat.Count; i++)
            {
                Assert.AreEqual(forventetResultat[i].id, resultat[i].id);
                Assert.AreEqual(forventetResultat[i].Navn, resultat[i].Navn);
                Assert.AreEqual(forventetResultat[i].Gjennomsnitt, resultat[i].Gjennomsnitt);
                Assert.AreEqual(forventetResultat[i].Bilde, resultat[i].Bilde);
                Assert.AreEqual(forventetResultat[i].Studio, resultat[i].Studio);
                Assert.AreEqual(forventetResultat[i].Pris, resultat[i].Pris);
                Assert.AreEqual(forventetResultat[i].Produksjonsår, resultat[i].Produksjonsår);
                Assert.AreEqual(forventetResultat[i].Beskrivelse, resultat[i].Beskrivelse);
                Assert.AreEqual(forventetResultat[i].Kontinent, resultat[i].Kontinent);
                Assert.AreEqual(forventetResultat[i].Visninger, resultat[i].Visninger);
                Assert.AreEqual(forventetResultat[i].ReleaseDate, resultat[i].ReleaseDate);
                Assert.AreEqual(forventetResultat[i].Skuespillere[0].Fornavn, resultat[i].Skuespillere[0].Fornavn);
                Assert.AreEqual(forventetResultat[i].Sjanger[0].sjanger, resultat[i].Sjanger[0].sjanger);
                Assert.AreEqual(forventetResultat[i].Kommentarer[0].Melding, resultat[i].Kommentarer[0].Melding);
            }
        }