private static void SeedCategoryMenuItems() { FoxEbookDbService foxEbookDbService = new FoxEbookDbService(); FoxEbookCrawlerService foxEbookCrawlerService = new FoxEbookCrawlerService(); var categories = foxEbookCrawlerService.GetCategoryItems(); foreach (var category in categories) { var productsCount = foxEbookCrawlerService.GetNetProductsCountUnderCategory(category); int i; if (category.PageCount > 1) { for (i = 1; i < category.PageCount; i++) { category.Pages.Add(new FoxePage() { PageNo = i, Category = category, CreatedOn = DateTime.Now, DownloadableProductsCount = category.FirstPageProductCount }); } category.Pages.Add(new FoxePage() { PageNo = i, Category = category, CreatedOn = DateTime.Now, DownloadableProductsCount = category.LastPageProductCount }); } else { category.Pages.Add(new FoxePage() { PageNo = 1, Category = category, CreatedOn = DateTime.Now, DownloadableProductsCount = category.FirstPageProductCount }); } LogManager.WriteToLog(new LogMessage() { Message = string.Format("{0} has #{1} Products under #{2} Pages", category.Name, category.ProductCount, category.PageCount) }); } var rootCategory = new FoxeCategory() { Name = "FoxeWeb", SEOFriendlyName = "foxeweb", ParentCategoryId = null, CreatedOn = DateTime.Now, Rank = 0, Weight = 0 }; rootCategory.ChildCategories = categories; foxEbookDbService.AddCategoryMenuItem(rootCategory); }
private static void SeedSortmenuItems() { FoxEbookDbService foxEbookDbService = new FoxEbookDbService(); FoxEbookCrawlerService foxEbookCrawlerService = new FoxEbookCrawlerService(); var sortItems = foxEbookCrawlerService.GetSortMenuItems(); foxEbookDbService.AddSortMenuItems(sortItems); }
private static void ExceuteJob(Job j) { try { IFoxEbookCrawlerService foxEbookCrawlerService = new FoxEbookCrawlerService(); j.StartTime = DateTime.Now; j.JobStatus = JobStatus.Running; j.JobNotifications.OnJobRunning(new JobRunningEventArgs() { Job = j }); string msg = String.Format("Fetching Products Under Category: {0} In Page #{1}", j.FoxePage.Category.SEOFriendlyName, j.FoxePage.PageNo); LogManager.WriteToLog(new LogMessage() { Message = msg }); IList <FoxeProduct> foxeProducts = foxEbookCrawlerService.GetProductsUnderPage(j.FoxePage); msg = String.Format("Found '{0}' Products Under Category: {1} In Page #{2}", foxeProducts.Count, j.FoxePage.Category.SEOFriendlyName, j.FoxePage.PageNo); LogManager.WriteToLog(new LogMessage() { Message = msg }); j.JobStatus = JobStatus.Completed; j.EndTime = DateTime.Now; j.DownloadedProductsCount = foxeProducts.Count; j.FoxePage.DownloadedProductsCount = foxeProducts.Count; j.JobNotifications.OnJobCompleted(new JobCompletedEventArgs() { Job = j, FoxeProducts = foxeProducts }); if (JobScheduler.State == SchedulerState.Paused) { LogManager.WriteToLog(new LogMessage() { Message = "Scheduler Paused." }); } } catch (Exception e) { j.EndTime = DateTime.Now; j.JobStatus = JobStatus.Faulted; LogManager.WriteToLog(new LogMessage() { Message = "e.ToString()", Level = LogLevel.Critical }); j.JobNotifications.OnJobFauled(new JobFauledEventArgs() { Job = j, Exception = e }); } }