protected string GetGlobalFilmTitle(HtmlAgilityPack.HtmlNode info)
 {
     var globalFilmTitle = info.QuerySelector("span.gray").InnerText;
     var filmTitleParts = globalFilmTitle.Split(',');
     if (filmTitleParts.Count() == 2)
     {
         return filmTitleParts[0].Trim();
     }
     return GetLocalFilmTitle(info);
 }
        protected MovieResult GetMovieResult(HtmlAgilityPack.HtmlNode filmNode)
        {
            var idPattern = new Regex(@"\/film\/(\d+)\/");
            var titlePattern = new Regex("[А-Яа-я]+");

            string confirmMovieTitle = null,
                   confirmMovieYear = null,
                   confirmMovieIDs = null,
                   filmId;

            try
            {
                // define whether film title is local
                confirmMovieTitle = titlePattern.Match(FilmTitle).Success ? GetLocalFilmTitle(filmNode) : GetGlobalFilmTitle(filmNode);
                confirmMovieYear = filmNode.QuerySelector("p.name span.year").InnerText;
                filmId = filmNode.QuerySelector("a").Attributes["href"].Value;
            }
            catch (Exception)
            {
                filmId = confirmMovieTitle = confirmMovieYear = null;
            }
            if (!string.IsNullOrEmpty(filmId) )
            {
                var matches = idPattern.Match(filmId);
                if (matches.Groups.Count == 2)
                {
                    confirmMovieIDs = matches.Groups[1].Value;
                }
            }
            if (confirmMovieIDs != null && confirmMovieTitle != null && confirmMovieYear != null)
                return new MovieResult() {ID = confirmMovieIDs, Title = confirmMovieTitle, Year = confirmMovieYear};
            return null;
        }
 protected string GetLocalFilmTitle(HtmlAgilityPack.HtmlNode info)
 {
     return info.QuerySelector("a").InnerText;
 }