예제 #1
0
 private static IReadOnlyCollection <string> GetCreators(FilmDetailViewDataContract data, string professionKey)
 {
     return(data.Creators
            .SelectMany(x => x)
            .Where(x => x.ProfessionKey == professionKey)
            .Select(x => x.Name)
            .Where(x => x != null)
            .ToList());
 }
예제 #2
0
        public MovieInfoModel Convert(FilmDetailViewDataContract data)
        {
            return(new()
            {
                Title = data.NameInRussian,
                Year = data.Year,
                MovieUri = CreateHttpsUrl(data.WebUrl),
                Directors = GetCreators(data, "director"),
                Cast = GetCreators(data, "actor"),
                Rating = ParseFilmRating(data.RatingData),
                Duration = ParseFilmLength(data.FilmLength),
                Genres = data.Genre.Split(", ").Select(x => x.Trim()).ToList(),
                Countries = data.Country.Split(", ").Select(x => x.Trim()).ToList(),

                // Sequence "\n\r" is quite strange but it happens for some movies, e.g. https://www.kinopoisk.ru/film/342/
                SummaryParagraphs = data.Description?.Split(new[] { "\r\n\r\n", "\n\n", "\n\r" }, StringSplitOptions.None),
            });
        }