namespace CodeRefactoringTest
public static void Main(string[] args)
Page contentPage = new Page();
contentPage.Title = "About LeasePlan";
contentPage.PublishedDate = DateTime.Now.AddDays(-2);
contentPage.pageType = "contentPage";
Page newsPage = new Page();
newsPage.Title = "Electric vehicles Sales are increasing";
newsPage.PublishedDate = DateTime.Now.AddDays(-2);
newsPage.pageType = "newsArticlePage";
newsPage.NewsArticleGoLiveDate = DateTime.Now.AddDays(-2);
Page vehiclePage = new Page();
vehiclePage.Title = "tesla Model 3";
vehiclePage.PublishedDate = DateTime.Now.AddDays(-2);
vehiclePage.pageType = "vehiclePage";
vehiclePage.IsVehicleLaunched = true;
Console.WriteLine("Indexing starting");
IndexUpdater indexUpdater = new IndexUpdater();
indexUpdater.AddToIndex(contentPage);
indexUpdater.AddToIndex(newsPage);
indexUpdater.AddToIndex(vehiclePage);
Console.WriteLine("indexing finished");
public string pageType { get; set; }
public string Title { get; set; }
public DateTime PublishedDate { get; set; }
public DateTime NewsArticleGoLiveDate { get; set; }
public bool IsVehicleLaunched { get; set; }
public class IndexUpdater
public bool AddToIndex(Page page)
if (string.IsNullOrEmpty(page.Title) || page.PublishedDate >= DateTime.Now)
if (page.pageType == "newsArticlePage")
if (page.NewsArticleGoLiveDate >= DateTime.Now)
if (page.pageType == "vehiclePage")
if (!page.IsVehicleLaunched)
public void AddtoSolrIndex()