//private List<MovieDictionaryItem> MoviesDictionary { get; set; } private void LookupMovieAtCinemas(INode cinemasNode, MovieDictionaryItem movieDictionaryItem) { foreach (INode cityNode in cinemasNode.ChildrenAsList) { var cityDictionary = new CityDictionaryItem(); cityDictionary.Cinemas = new List<CinemaDictionaryItem>(); cityDictionary.CityName = cityNode.Name; foreach (INode cinemaNode in cityNode.ChildrenAsList) { var cinema = ModelFactory.CreateModel<Cinema>(cinemaNode); foreach (var program in cinema.MoviePrograms) { if (program.MovieLink.NodeId == movieDictionaryItem.MovieNodeId) { cityDictionary.Cinemas.Add(new CinemaDictionaryItem() { Name = cinema.Name, NodeUrl = cinema.NodeUrl }); break; } } } if (cityDictionary.Cinemas.Count > 0) { if (movieDictionaryItem.Cities == null) movieDictionaryItem.Cities = new List<CityDictionaryItem>(); movieDictionaryItem.Cities.Add(cityDictionary); } } }
private List<MovieDictionaryItem> Initialize() { INode cinemasNode = Node.GetNodeByXpath("//HomePage/Cinemas"); INode moviesNode = Node.GetNodeByXpath("//HomePage/Movies"); var moviesDictionary = new List<MovieDictionaryItem>(); foreach (INode movieNode in moviesNode.ChildrenAsList) { var movieItem = new MovieDictionaryItem(); movieItem.MovieNodeId = movieNode.Id; LookupMovieAtCinemas(cinemasNode, movieItem); moviesDictionary.Add(movieItem); } return moviesDictionary; }