示例#1
0
        public static void GetInfoFromWeb(Artist objItem, bool usePartialMatch, Provider provider, out string errorMessage, bool log)
        {
            errorMessage = String.Empty;
            //Fix 2.6.7.0
            if (objItem != null)
            {
                errorMessage = String.Empty;
                string    strSearch  = (objItem.FirstName + " " + objItem.LastName).Trim();
                Hashtable objResults = null;
                Artist    results    = null;

                if (log == true)
                {
                    Task.Factory.StartNew(() => Util.NotifyEvent("getInfoFromWeb:Artist " + provider + " " + strSearch));
                }

                try
                {
                    switch (provider)
                    {
                    case Provider.Bing:
                        objResults = BingServices.SearchPortrait(strSearch, usePartialMatch);
                        break;

                    case Provider.Iafd:
                        objResults = IafdServices.SearchPortrait(strSearch, usePartialMatch);
                        break;

                    case Provider.Tmdb:
                        results = TheMovieDbServices.SearchPortrait(strSearch, usePartialMatch, LanguageType.EN);
                        break;

                    case Provider.AlloCine:
                        results = AlloCineServices.SearchPortrait(strSearch, usePartialMatch, LanguageType.FR);
                        break;

                    case Provider.AduldtDvdEmpire:
                        objResults = AdultdvdempireServices.SearchPortrait(strSearch, usePartialMatch);
                        break;
                    }
                    if (objResults != null)
                    {
                        Fill(objResults, objItem, strSearch);
                    }

                    #region Artist

                    if (results != null)
                    {
                        if (results.Picture != null)
                        {
                            if (objItem.Picture == null || objItem.Picture.Length < results.Picture.Length)
                            {
                                objItem.Picture = results.Picture;
                            }
                        }

                        //FIX 2.8.0.0
                        if (results.ArtistCredits != null)
                        {
                            if (objItem.ArtistCredits == null)
                            {
                                objItem.ArtistCredits = new List <ArtistCredits>();
                            }

                            for (int i = 0; i < results.ArtistCredits.Count; i++)
                            {
                                ArtistCredits item = results.ArtistCredits.ElementAt(i);
                                if (
                                    objItem.ArtistCredits.Any(
                                        x => x.Title.ToUpperInvariant() == item.Title.ToUpperInvariant()) == false)
                                {
                                    objItem.ArtistCredits.Add(item);
                                }
                            }
                        }

                        if (results.BirthDay != null)
                        {
                            objItem.BirthDay = results.BirthDay;
                        }

                        if (String.IsNullOrWhiteSpace(results.Bio) == false)
                        {
                            objItem.Bio = results.Bio;
                        }

                        if (String.IsNullOrWhiteSpace(results.Breast) == false)
                        {
                            objItem.Breast = results.Breast;
                        }

                        if (String.IsNullOrWhiteSpace(results.Ethnicity) == false)
                        {
                            objItem.Ethnicity = results.Ethnicity;
                        }

                        objItem.FulleName = strSearch;

                        if (String.IsNullOrWhiteSpace(results.PlaceBirth) == false)
                        {
                            objItem.PlaceBirth = results.PlaceBirth;
                        }

                        if (String.IsNullOrWhiteSpace(results.WebSite) == false)
                        {
                            objItem.WebSite = results.WebSite;
                        }

                        if (String.IsNullOrWhiteSpace(results.YearsActive) == false)
                        {
                            objItem.YearsActive = results.YearsActive;
                        }
                    }

                    #endregion
                }
                catch (Exception ex)
                {
                    Util.LogException(ex);
                }
            }
        }