public async Task <MediaItem> GetByID(string id)
        {
            using (var client = new HttpClient())
            {
                var result = await client.GetStringAsync("http://www.omdbapi.com/?apikey=24ad60e9&i=" + id);

                var movie = JsonConvert.DeserializeObject <MovieSearchResult>(result);
                return(MovieToMediaItemConverter.Convert(movie, result));

                //dynamic movie = JsonConvert.DeserializeObject(result);
                //return new MediaItem()
                //{
                //     Extra = result,
                //     id = movie.imdbID,
                //     mediaType = MediaType.Video,
                //     image = movie.Poster,
                //     name = movie.Title,
                //     Year = movie.Year
                //};
            }
        }
        public async Task <MediaItem[]> Search(string query)
        {
            using (var client = new HttpClient()) //we are creating a web client
            {
                //we are querying the apis to search for movies
                var result = await client.GetStringAsync("http://www.omdbapi.com/?apikey=24ad60e9&s=" + query);

                //we are converting the response in an object (on JS was like response.json())
                var searchResult = JsonConvert.DeserializeObject <SearchResult>(result);
                //we are creating a new empty array with the size of the search result
                var transformedItems = new MediaItem[searchResult.Search.Count];

                var i = 0;                                      //keeping the count
                foreach (var searchItem in searchResult.Search) //foreach each search result
                {
                    transformedItems[i] = MovieToMediaItemConverter.Convert(searchItem);
                    i++;//keeping the count
                }

                return(transformedItems); //return the array with the result
            }
        }