public BuildStatusViewModel(IBuildStatusProvider buildStatusProvider)
        {
            var status = buildStatusProvider.Status();
            CurrentBuildStatus = status.ToString();
            DetailsViewModel = new BuildDetailsViewModel(buildStatusProvider);
            ServiceDetails = buildStatusProvider.DataServiceDetails().ToList();

            if (status == BuildState.NotConnected) 
                return;

            BrokenProjects = buildStatusProvider.BrokenProjects().ToList();
            BuildingProjects = buildStatusProvider.BuildingProjects().ToList();
        
            BrokenProjectCount = buildStatusProvider.BrokenProjectCount.ToString();
            TotalProjectCount = buildStatusProvider.TotalProjectCount.ToString();
        }
 public BuildDetailsViewModel(IBuildStatusProvider buildStatusProvider)
 {
     Details = buildStatusProvider.GetBuildDetails().OrderByDescending(d => d.Date).Take(13).ToList();
     DailySummary = buildStatusProvider.DailySummary(DateTime.Today.AddDays(-1));
 }
 public void Build_Is_Building()
 {
     var serviceDetails = new DataServiceDetails("File", @"..\..\ExampleData\BuildingScreen.html");
     StatusProvider = new BuildStatusProvider(new FileScraperDataService(serviceDetails));
     Assert.IsTrue(StatusProvider.Status() == BuildState.Building);
 }
 public void Build_Is_NotConnected()
 {
     var serviceDetails = new DataServiceDetails("File", @"..\..\ExampleData\NotConnected.html");
     StatusProvider = new BuildStatusProvider(new FileScraperDataService(serviceDetails));
     Assert.IsTrue(StatusProvider.Status() == BuildState.NotConnected);
 }
 public HomeController(IBuildStatusProvider buildStatusProvider)
 {
     BuildStatusProvider = buildStatusProvider;
 }