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()); }
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), }); }