//public static async Task<MyMovieList> GetDataFromAPI(string souceCompany)
        public static async Task <List <MyMovieData> > GetDataFromAPI(string souceCompany)
        {
            string apiURL = GetUrlString(souceCompany, false);

            MyMovieList movieWorldData = await GetRequest(apiURL, souceCompany);

            MyMovieData        moviveDetailData = new MyMovieData();
            MyMovieData        detailData       = new MyMovieData();
            List <MyMovieData> movieFinalList   = new List <MyMovieData>();

            if (movieWorldData != null)
            {
                List <MyMovieData> movieList = movieWorldData.Movies;

                Parallel.ForEach(movieList, (item, loopState) =>

                {
                    moviveDetailData = item;

                    //Console.WriteLine("after to get movie detail");
                    detailData = Program.getDetailDataFromAPI(item, souceCompany).GetAwaiter().GetResult();
                    movieFinalList.Add(detailData);
                });
            }


            return(movieFinalList);
        }
        public static async Task <MyMovieData> getDetailDataFromAPI(MyMovieData item, string souceCompany)
        {
            string apiDetailURL = GetUrlString(souceCompany, true);

            try
            {
                var moviceIDURL = apiDetailURL + item.ID;
                HttpResponseMessage responseData = new HttpResponseMessage();
                int         numberOfRetry        = 0;
                MyMovieData movieFinalData       = new MyMovieData();
                using (HttpClient client = new HttpClient())
                {
                    do
                    {
                        using (var requestMessage = new HttpRequestMessage(HttpMethod.Get, moviceIDURL))
                        {
                            requestMessage.Headers.Add("x-access-token", "sjd1HfkjU83ksdsm3802k");
                            requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));


                            responseData = await client.SendAsync(requestMessage);

                            numberOfRetry++;

                            if (responseData.IsSuccessStatusCode)
                            {
                                using (HttpContent content = responseData.Content)
                                {
                                    MyMovieDetailData myMovieDetailData = new MyMovieDetailData();
                                    myMovieDetailData = await content.ReadAsAsync <MyMovieDetailData>();

                                    movieFinalData            = item;
                                    movieFinalData.Price      = myMovieDetailData.Price;
                                    movieFinalData.DataSource = souceCompany;
                                    if (movieFinalData.Price != "")
                                    {
                                        movieFinalData.PriceDecimal = Convert.ToDecimal(movieFinalData.Price);
                                    }
                                    return(movieFinalData);
                                }
                            }
                        }
                    } while (responseData.IsSuccessStatusCode == false & numberOfRetry < 5);
                }
                return(null);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(null);
            }
        }