Ejemplo n.º 1
0
        public static void UpdateSeason([Optional] int year, [Optional] bool forceOverwrite)
        {
            year = NhlModelHelper.SetDefaultYear(year);

            List <Nhl_Games_Rtss> models;

            using (SportsDataContext db = new SportsDataContext())
            {
                models = (from m in db.Nhl_Games_Rtss_DbSet
                          where
                          m.Year == year
                          select m).ToList();
            }

            // Retrieve the links of the blobs
            Dictionary <Uri, string> summaryItems = new Dictionary <Uri, string>();
            Dictionary <Uri, string> rosterItems  = new Dictionary <Uri, string>();

            foreach (Nhl_Games_Rtss m in models)
            {
                // Game Summary
                if (Uri.IsWellFormedUriString(m.GameLink, UriKind.Absolute))
                {
                    summaryItems.Add(new Uri(m.GameLink), m.Id.ToString());
                }

                // Roster
                if (Uri.IsWellFormedUriString(m.RosterLink, UriKind.Absolute))
                {
                    rosterItems.Add(new Uri(m.RosterLink), m.Id.ToString());
                }
            }
            HtmlBlob.GetAndStoreHtmlBlobs(HtmlBlobType.NhlGame, summaryItems, forceOverwrite);
            HtmlBlob.GetAndStoreHtmlBlobs(HtmlBlobType.NhlRoster, rosterItems, forceOverwrite);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Gets a list of all the results in a stat category on fromDate and later
        /// </summary>
        /// <remarks>
        /// This method assumes that rows are sorted in descending order by date (newest to oldest).
        ///
        /// year defaults to the current year
        /// fromDate defaults to DateTime.MinValue
        ///
        /// </remarks>
        protected virtual List <HtmlNode> GetResultsForSeasonType([Optional] int year, NhlSeasonType nhlSeasonType, [Optional] DateTime fromDate)
        {
            year = NhlModelHelper.SetDefaultYear(year);

            List <HtmlNode> results = new List <HtmlNode>();

            HtmlNode firstPageTableNode = this.ParseHtmlTableFromPage(year, nhlSeasonType, 1);

            int numberOfResults = NhlBaseClass.GetResultsCount(firstPageTableNode);

            if (numberOfResults <= 0)
            {
                return(results);
            }

            int numberOfPages = NhlBaseClass.GetPageCount(firstPageTableNode);

            // Handle the first page. Go through each row and add it to the list of results. When we encounter a result with a date earlier than fromDate then we stop.
            List <HtmlNode> firstPageRows = NhlBaseClass.ParseRowsFromTable(firstPageTableNode);

            foreach (HtmlNode row in firstPageRows)
            {
                DateTime resultDate = this.ParseDateFromHtmlRow(row);
                if (resultDate < fromDate)
                {
                    return(results);
                }
                else
                {
                    results.Add(row);
                }
            }

            // Now similar code to handle the rest of the pages. Go through each row, add it to the list, stop when we hit a date prior to fromDate.
            for (int i = 2; i < numberOfPages + 1; i++)
            {
                HtmlNode tableNode = this.ParseHtmlTableFromPage(year, nhlSeasonType, i);

                List <HtmlNode> rows = NhlBaseClass.ParseRowsFromTable(tableNode);
                foreach (HtmlNode row in rows)
                {
                    DateTime resultDate = this.ParseDateFromHtmlRow(row);
                    if (resultDate < fromDate)
                    {
                        return(results);
                    }
                    else
                    {
                        results.Add(row);
                    }
                }
            }

            return(results);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Get the NhlHtmlReportSummaryModels for the specified year
        /// </summary>
        private static List <Nhl_Games_Rtss_Summary> GetHtmlSummaryReports([Optional] int year, [Optional] DateTime fromDate)
        {
            year = NhlModelHelper.SetDefaultYear(year);

            List <Nhl_Games_Rtss_Summary> existingModels = new List <Nhl_Games_Rtss_Summary>();

            using (SportsDataContext db = new SportsDataContext())
            {
                existingModels = (from m in db.Nhl_Games_Rtss_Summary_DbSet
                                  where
                                  m.NhlRtssReportModel.Year == year &&
                                  m.NhlRtssReportModel.Date >= fromDate
                                  select m).ToList();
            }

            return(existingModels);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Get the RtssReports for the specified year
        /// </summary>
        public static List <Nhl_Games_Rtss> GetRtssReports([Optional] int year, [Optional] DateTime fromDate)
        {
            year = NhlModelHelper.SetDefaultYear(year);

            List <Nhl_Games_Rtss> models;

            using (SportsDataContext db = new SportsDataContext())
            {
                models = (from m in db.Nhl_Games_Rtss_DbSet
                          where
                          m.Year == year &&
                          m.Date >= fromDate
                          select m).ToList();
            }

            return(models);
        }