// GET: Genre
        public ActionResult Index()
        {
            var liste = db.Genre.Include(a => a.Movies).ToList();

            try
            {
                var response = ElasticsearchHelper.EsClient().Search <Genre>(s => s
                                                                             .Index("genres")
                                                                             .Type("genre")
                                                                             .From(0)
                                                                             .Size(1000)
                                                                             .Query(a => a.MatchAll())

                                                                             );



                ViewBag.Genre = response.Documents;
            }
            catch (Exception ex)
            {
                throw;
            }


            return(View(ViewBag.Genre));
        }
Esempio n. 2
0
 public MovieController()
 {
     if (!ElasticsearchHelper.EsClient().IndexExists("movies").Exists)
     {
         ElasticsearchHelper.CreateMovieIndex();
     }
 }
 public GenreController()
 {
     if (!ElasticsearchHelper.EsClient().IndexExists("genres").Exists)
     {
         ElasticsearchHelper.CreateGenreIndex();
     }
 }
Esempio n. 4
0
        // GET: Movie
        public ActionResult Index(string q)
        {
            if (!String.IsNullOrEmpty(q))
            {
                try
                {
                    var response = ElasticsearchHelper.EsClient().Search <Movie>(p => p
                                                                                 .Index("movies")
                                                                                 .Type("movie")
                                                                                 .Query(a => a.Term(t => t.Description, q))
                                                                                 .Query(a => a.MatchPhrasePrefix(mq => mq.Field(f => f.Title).Query(q)))
                                                                                 );



                    var datasend = (from hits in response.Hits
                                    select hits.Source).ToList();

                    ViewBag.Data = datasend;


                    return(View(ViewBag.Data));
                }
                catch (Exception ex)
                {
                    throw;
                }
            }
            else
            {
                try
                {
                    var response = ElasticsearchHelper.EsClient().Search <Movie>(s => s
                                                                                 .Index("movies")
                                                                                 .Type("movie")
                                                                                 .From(0)
                                                                                 .Size(1000)
                                                                                 .Source(a => a.IncludeAll())
                                                                                 .Query(a => a.MatchAll())
                                                                                 );



                    ViewBag.Data = response.Documents;
                }
                catch (Exception ex)
                {
                    throw;
                }


                return(View(ViewBag.Data));
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Genre genre = db.Genre.Find(id);

            db.Genre.Remove(genre);
            db.SaveChanges();
            var response = ElasticsearchHelper.EsClient().Delete <Genre>(id, d => d
                                                                         .Index("genres")
                                                                         .Type("genre")
                                                                         .Refresh(Elasticsearch.Net.Refresh.True));

            return(RedirectToAction("Index"));
        }
        public ActionResult Create([Bind(Include = "Id,Name,Description")] Genre genre)
        {
            if (ModelState.IsValid)
            {
                db.Genre.Add(genre);
                db.SaveChanges();
                ElasticsearchHelper.EsClient().Index <Genre>(genre,
                                                             id => id.Index("genres")
                                                             .Type(TypeName.From <Genre>())
                                                             .Id(genre.Id)
                                                             .Refresh(Elasticsearch.Net.Refresh.True));
                return(RedirectToAction("Index"));
            }

            return(View(genre));
        }
Esempio n. 7
0
        public ActionResult Create([Bind(Include = "Id,Title,Description,CreatedDate,GenreId")] Movie movie)
        {
            if (ModelState.IsValid)
            {
                movie.CreatedDate = DateTime.Now;
                db.Movie.Add(movie);
                db.SaveChanges();

                ElasticsearchHelper.EsClient().Index <Movie>(movie,
                                                             id => id.Index("movies")
                                                             .Type(TypeName.From <Movie>())
                                                             .Id(movie.Id)
                                                             .Refresh(Elasticsearch.Net.Refresh.True));

                return(RedirectToAction("Index"));
            }
            ViewBag.GenreID = new SelectList(db.Genre, "ID", "Name", movie.GenreId);
            return(View(movie));
        }
        public ActionResult Edit([Bind(Include = "Id,Name,Description")] Genre genre)
        {
            if (ModelState.IsValid)
            {
                db.Entry(genre).State = EntityState.Modified;
                db.SaveChanges();

                var response = ElasticsearchHelper.EsClient().Update <Genre, Genre>(genre.Id, d => d
                                                                                    .Index("genres")
                                                                                    .Type("genre")
                                                                                    .Refresh(Elasticsearch.Net.Refresh.True)
                                                                                    .Doc(new Genre
                {
                    Id          = genre.Id,
                    Name        = genre.Name,
                    Description = genre.Description
                }));
                return(RedirectToAction("edit"));
            }
            return(View(genre));
        }
Esempio n. 9
0
 public ActionResult Edit([Bind(Include = "Id,Title,Description,CreatedDate,GenreId")] Movie movie)
 {
     if (ModelState.IsValid)
     {
         db.Entry(movie).State = EntityState.Modified;
         db.SaveChanges();
         var response = ElasticsearchHelper.EsClient().Update <Movie, Movie>(movie.Id, d => d
                                                                             .Index("movies")
                                                                             .Type("movie")
                                                                             .Refresh(Elasticsearch.Net.Refresh.True)
                                                                             .Doc(new Movie
         {
             Id          = movie.Id,
             Title       = movie.Title,
             Description = movie.Description,
             GenreId     = movie.GenreId,
             CreatedDate = DateTime.Now
         }));
         return(RedirectToAction("Index"));
     }
     ViewBag.GenreID = new SelectList(db.Genre, "ID", "Name", movie.GenreId);
     return(View(movie));
 }