コード例 #1
0
        public ActionResult GetActorInformation(string name)
        {
            List <FullActor> allActorsMatchingName = new List <FullActor>();
            NpgsqlConnection conn      = OpenConnection();
            string           sql_actor = string.Format(@"SELECT idactors as Id, fname as FirstName, lname as LastName, gender 
                                                from public.actors where (fname ~* '{0}' or lname ~* '{0}')", name);
            var actorInfo = conn.Query <ActorInfo>(sql_actor).ToList();

            foreach (ActorInfo actor in actorInfo)
            {
                string sql_movies = string.Format(@"select m.idmovies as id, m.title, m.year  
                                                from public.movies m where m.idmovies in 
                                                (select ai.idmovies from acted_in ai where ai.idactors  = {0})", actor.Id);
                var    moviesInfo = conn.Query <MovieInfo>(sql_movies).ToList();

                FullActor fullActor = new FullActor()
                {
                    ActorDetails = actor,
                    MovieDetails = moviesInfo
                };
                allActorsMatchingName.Add(fullActor);
            }

            JsonResult result = new JsonResult(allActorsMatchingName);

            conn.Close();
            return(result);
        }
コード例 #2
0
        public ActionResult GetActorInformation(string name)
        {
            Cluster  cluster = Cluster.Builder().AddContactPoint("127.0.0.1").Build();
            ISession session = cluster.Connect("imdb");

            string query  = string.Format("SELECT id, aka, fname, lname, mname, gender, movies_title FROM tbl_actors_by_name WHERE name = '{0}'", name);
            Row    result = session.Execute(query).First();
            IEnumerable <string>    movies     = result["movies_title"] as IEnumerable <string>;
            IEnumerable <MovieInfo> moviesInfo = new List <MovieInfo>();

            moviesInfo = movies.Select(m => new MovieInfo()
            {
                Title = m
            });

            FullActor actor = new FullActor
            {
                ActorDetails = new ActorInfo
                {
                    Id        = Int32.Parse(result["id"].ToString()),
                    FirstName = result["fname"] == null ? null : result["fname"].ToString(),
                    LastName  = result["lname"] == null ? null : result["lname"].ToString(),
                    Gender    = result["gender"] == null ? null : result["gender"].ToString()
                },
                MovieDetails = moviesInfo
            };
            JsonResult json_result = new JsonResult(actor);

            return(json_result);
        }
コード例 #3
0
        public ActionResult GetActorInformation(long id)
        {
            NpgsqlConnection conn      = OpenConnection();
            string           sql_actor = string.Format("SELECT idactors as Id, fname as FirstName, lname as LastName, gender from public.actors where idactors = {0}", id);
            var actorInfo = conn.Query <ActorInfo>(sql_actor).ToList().FirstOrDefault();

            string sql_movies = string.Format(@"select m.idmovies as id, m.title, m.year  
                                                from public.movies m where m.idmovies in 
                                                (select ai.idmovies from acted_in ai where ai.idactors  = {0})", id);
            var    moviesInfo = conn.Query <MovieInfo>(sql_movies).ToList();

            FullActor actor = new FullActor()
            {
                ActorDetails = actorInfo,
                MovieDetails = moviesInfo
            };
            JsonResult result = new JsonResult(actor);

            conn.Close();
            return(result);
        }