Example #1
0
        public IEnumerable<ShowingDateModel> LoadDateTimeFromCinemaMovie(Stream s)
        {
            List<ShowingDateModel> result = new List<ShowingDateModel>();
            StreamReader reader = new StreamReader(s, Encoding.UTF8);
            HtmlDocument xdoc = new HtmlDocument();
            xdoc.Load(reader.BaseStream, true);
            HtmlNodeCollection dates = xdoc.DocumentNode.SelectNodes(DATECOLLECTION_MOVIE_SHOWTIME_XPATH);
            HtmlNodeCollection times = xdoc.DocumentNode.SelectNodes(TIMECOLLECTION_MOVIE_SHOWTIME_XPATH);

            if (dates != null && times != null)
            {
                foreach (HtmlNode date in dates)
                {
                    int index = dates.GetNodeIndex(date);
                    HtmlNode time = times[index];
                    HtmlNodeCollection sessions =
                        time.SelectNodes(string.Format(TIME_MOVIE_SHOWTIME_XPATH, time.XPath)) ??
                        time.SelectNodes(string.Format(TIMEREADONLY_MOVIE_SHOWTIME_XPATH, time.XPath));
                    ShowingDateModel dateTime = new ShowingDateModel { ShowingDate = HttpUtility.HtmlDecode(date.InnerText) };

                    foreach (HtmlNode session in sessions)
                    {
                        ShowingTimeModel sessionTime = new ShowingTimeModel
                                                           {
                                                               Id = "",
                                                               DateTime = HttpUtility.HtmlDecode(session.InnerText)
                                                           };
                        dateTime.ShowingTimes.Add(sessionTime);
                    }
                    result.Add(dateTime);
                }
            }
            return result;
        }
 public IEnumerable<ShowingDateModel> LoadDateTimeFromCinemaMovie(Stream s)
 {
     List<ShowingDateModel> result = new List<ShowingDateModel>();
     StreamReader reader = new StreamReader(s, Encoding.UTF8);
     HtmlDocument xdoc = new HtmlDocument();
     xdoc.Load(reader.BaseStream, true);
     HtmlNodeCollection dates = xdoc.DocumentNode.SelectNodes("//date[@*]");
     if (dates == null)
         return null;
     foreach (HtmlNode date in dates)
     {
         ShowingDateModel dateTime = new ShowingDateModel { ShowingDate = date.GetAttributeValue("name", string.Empty) };
         HtmlNodeCollection times = date.ChildNodes;
         foreach (HtmlNode time in times)
         {
             ShowingTimeModel sessionTime = new ShowingTimeModel
             {
                 Id = time.SelectSingleNode(time.XPath + "/id[1]").InnerText,
                 DateTime = time.SelectSingleNode(time.XPath + "/date[1]").InnerText
             };
             dateTime.ShowingTimes.Add(sessionTime);
         }
         result.Add(dateTime);
     }
     return result;
 }