// get : api/Actor?n={actor/actress/producer...etc name}
        protected override string ProcessRequest()
        {
            JavaScriptSerializer json = new JavaScriptSerializer();

            try
            {
                var tableMgr = new TableManager();

                // get query string parameters
                var qpParam = HttpUtility.ParseQueryString(this.Request.RequestUri.Query);

                if (string.IsNullOrEmpty(qpParam["n"]))
                {
                    throw new ArgumentException(Constants.API_EXC_SEARCH_TEXT_NOT_EXIST);
                }

                string actorName = qpParam["n"].ToString();

                // get movies by actor(roles like actor, actress, producer, director... etc)
                var movies = tableMgr.SearchMoviesByActor(actorName);

                // serialize movie list and return
                return json.Serialize(movies);
            }
            catch (Exception ex)
            {
                // if any error occured then return User friendly message with system error message
                return json.Serialize(new { Status = "Error", UserMessage = Constants.UM_WHILE_SEARCHING_MOVIES, ActualError = ex.Message });
            }
        }
        //Give the all unique actor name.
        protected override string ProcessRequest()
        {
            JavaScriptSerializer json = new JavaScriptSerializer();
            try
            {
                var tblMgr = new TableManager();

                //var movies = tblMgr.GetAllMovies();
                 var qpParam = HttpUtility.ParseQueryString(this.Request.RequestUri.Query);

                if (string.IsNullOrEmpty(qpParam["query"]))
                {
                    throw new ArgumentException(Constants.API_EXC_SEARCH_TEXT_NOT_EXIST);
                }

                string actorName = qpParam["query"].ToString();

                // get movies by actor(roles like actor, actress, producer, director... etc)
                var movies = tblMgr.SearchMoviesByActor(actorName);

                List<Object> allCast = new List<Object>();
                List<Cast> tempCast = new List<Cast>();
                int counter = 0;
                foreach (var movie in movies)
                {
                    List<Cast> castList = json.Deserialize(movie.Cast, typeof(List<Cast>)) as List<Cast>;
                    if (castList != null)
                    {

                        foreach (var cast in castList)
                        {
                            if (!tempCast.Exists(c => c.name == cast.name))
                            {
                                tempCast.Add(cast);
                                allCast.Add(new { id = ++counter, name = cast.name });
                            }
                        }

                    }
                }
                return json.Serialize(allCast);
            }
            catch (Exception ex)
            {
                return json.Serialize(new { staus = "Error", UserMessage = Constants.UM_WHILE_GETTING_CURRENT_MOVIES, ActualError = ex.Message });
                //throw new ArgumentException();
            }
        }