private async Task AllCheck(MonitorDataProvider dbContext, HttpService http)
        {
            foreach (var item in dbContext.MonitorRules)
            {
                _logger.LogInformation($"Checking status for: {item.ProjectName}");
                try
                {
                    var content = await http.Get(new AiurUrl(item.CheckAddress));

                    var success = content.Contains(item.ExpectedContent);
                    if (!success)
                    {
                        var errorMessage = $"Status check for {item.ProjectName} did not pass. Expected: {item.ExpectedContent}. Got content: {content}";
                        _logger.LogError(errorMessage);
                    }
                    item.LastHealthStatus = success;
                    item.LastCheckTime    = DateTime.UtcNow;
                }
                catch (Exception e)
                {
                    var errorMessage = $"Status check for {item.ProjectName} did not pass. Expected: {item.ExpectedContent}. Got error: {e.Message}";
                    _logger.LogError(errorMessage);
                    item.LastHealthStatus = false;
                    item.LastCheckTime    = DateTime.UtcNow;
                }
            }
        }
 public HomeController(MonitorDataProvider dbContext)
 {
     dataProvider = dbContext;
 }