public async Task <GeneralCheckGrid <MaintenanceWindow> > GetFilteredMaintenanceWindowsAsync(MaintenanceWindowDataTableQuery query)
        {
            var grid    = new GeneralCheckGrid <MaintenanceWindow>();
            var results = await this.maintenanceWindowRepository.ReadSortedAsync(query);

            var resultList = results as IList <MaintenanceWindow> ?? results.ToList();

            // Sort
            resultList = SortResults(resultList, query);

            // paging (start row/end row)
            // Add sort/ start row/end row to MWDataTableQuery
            var gridCount = resultList.Count;

            grid.Data = resultList.AsQueryable();

            if (0 < query.StartRow)
            {
                grid.Data = grid.Data.Skip(query.StartRow - 1);
            }
            if (0 < query.EndRow)
            {
                grid.Data = grid.Data.Take(query.EndRow - query.StartRow + 1);
            }

            grid.Count = gridCount;

            return(grid);
        }
コード例 #2
0
        public virtual GeneralCheckGrid <FileLatency> FileLatencies(GridConditions gridConditions, Dictionary <FileLatency.Columns, String> filterConditions, Dictionary <FileLatency.Columns, FilterOperand> filterOperands)
        {
            var grid     = new GeneralCheckGrid <FileLatency>();
            var dt       = this.fileLatencyRepository.GetFileLevelLatencyDetails(gridConditions, filterConditions, filterOperands);
            var gridData = (from DataRow d in dt.Rows
                            select new FileLatency
            {
                ServerName = d.GetField <String>("ServerName"),
                DatabaseName = d.GetField <String>("DatabaseName"),
                Score = d.GetField <decimal?>("Score"),
                DataReadLatency = d.GetField <long?>("DataReadLatency"),
                DataWriteLatency = d.GetField <long?>("DataWriteLatency"),
                LogReadLatency = d.GetField <long?>("LogReadLatency"),
                LogWriteLatency = d.GetField <long?>("LogWriteLatency"),
            }).ToList();

            grid.Count = gridData.Count();

            grid.Data = gridData.AsQueryable();

            if (0 < gridConditions.StartRow)
            {
                grid.Data = grid.Data.Skip(gridConditions.StartRow - 1);
            }
            if (0 < gridConditions.EndRow)
            {
                grid.Data = grid.Data.Take(gridConditions.EndRow - gridConditions.StartRow + 1);
            }

            return(grid);
        }
コード例 #3
0
        public virtual GeneralCheckGrid <EnvironmentCheckDatabaseDetails> DatabaseDetails(GridConditions gridConditions, EnvironmentCheckDatabaseFilterConditions filterConditions, EnvironmentCheckDatabaseFilterOperands filterOperands)
        {
            var grid     = new GeneralCheckGrid <EnvironmentCheckDatabaseDetails>();
            var dt       = this.environmentCheckRepository.GetDatabaseDetails(gridConditions, filterConditions, filterOperands);
            var gridData = (from DataRow d in dt.Rows
                            select new EnvironmentCheckDatabaseDetails
            {
                AdHocWorkLoad = d.Field <Int32?>("AdHocWorkLoad") ?? 0,
                LastSQLRestart = d.Field <DateTime?>("LastSQLRestart") ?? DateTime.MinValue,
                MaxDegreeOfParallelism = d.Field <Int32?>("MaxDegreeOfParallelism") ?? 0,
                MaxServerMemory = Convert.ToDouble(d["MaxServerMemory"]),
                ServerName = d.Field <String>("ServerName"),
                SQLVersion = d.Field <String>("SQLVersion"),
                TempDBDataFiles = d.Field <Int32?>("TempDBDataFiles") ?? 0,
            }).ToList();

            grid.Count = gridData.Count();

            grid.Data = gridData.AsQueryable();

            if (0 < gridConditions.StartRow)
            {
                grid.Data = grid.Data.Skip(gridConditions.StartRow - 1);
            }
            if (0 < gridConditions.EndRow)
            {
                grid.Data = grid.Data.Take(gridConditions.EndRow - gridConditions.StartRow + 1);
            }

            return(grid);
        }
コード例 #4
0
        public virtual GeneralCheckGrid <EnvironmentCheckServerDetails> ServerDetails(GridConditions gridConditions, EnvironmentCheckServerFilterConditions filterConditions, EnvironmentCheckServerFilterOperands filterOperands)
        {
            var grid     = new GeneralCheckGrid <EnvironmentCheckServerDetails>();
            var dt       = this.environmentCheckRepository.GetServerDetails(gridConditions, filterConditions, filterOperands);
            var gridData = (from DataRow d in dt.Rows
                            select new EnvironmentCheckServerDetails
            {
                Hyperthreaded = d.Field <Boolean>("Hyperthreaded"),
                LogicalProcessors = d.Field <Int32>("LogicalProcessors"),
                OSName = d.Field <String>("OSName"),
                OSVersion = d.Field <String>("OSVersion"),
                ServerName = d.Field <String>("ServerName"),
            }).ToList();

            grid.Count = gridData.Count();

            grid.Data = gridData.AsQueryable();

            if (0 < gridConditions.StartRow)
            {
                grid.Data = grid.Data.Skip(gridConditions.StartRow - 1);
            }
            if (0 < gridConditions.EndRow)
            {
                grid.Data = grid.Data.Take(gridConditions.EndRow - gridConditions.StartRow + 1);
            }

            return(grid);
        }
コード例 #5
0
        public virtual GeneralCheckGrid <EnvironmentCheckRecommendation> Recommendations(GridConditions gridConditions, EnvironmentCheckRecommendationFilterConditions filterConditions)
        {
            var grid     = new GeneralCheckGrid <EnvironmentCheckRecommendation>();
            var dt       = this.environmentCheckRepository.GetRecomendations(gridConditions, filterConditions);
            var gridData = (from DataRow d in dt.Rows
                            select new EnvironmentCheckRecommendation
            {
                Recommendation = d.Field <String>("Recommendation"),
                Scope = d.Field <String>("Scope"),
                Section = d.Field <String>("Section"),
                Status = d.Field <String>("Status"),
                Description = d.Field <String>("Description"),
                Name = d.Field <String>("Name"),
                Value = d.Field <String>("Value"),
            }).ToList();

            grid.Count = gridData.Count();

            grid.Data = gridData.AsQueryable();

            if (0 < gridConditions.StartRow)
            {
                grid.Data = grid.Data.Skip(gridConditions.StartRow - 1);
            }
            if (0 < gridConditions.EndRow)
            {
                grid.Data = grid.Data.Take(gridConditions.EndRow - gridConditions.StartRow + 1);
            }

            return(grid);
        }
        public async Task GenerateCSV_Success()
        {
            //Arrange
            var queryParams = new List <KeyValuePair <string, string> >();

            this.requestServiceMock.Setup(mock => mock.GetQueryParams(this.maintenanceWindowSchedulerController.Request))
            .Returns(queryParams);

            var windows = new List <MaintenanceWindow>
            {
            };
            var grid = new GeneralCheckGrid <MaintenanceWindow>
            {
                Data = windows.AsQueryable()
            };

            this.maintenanceWindowSchedulingServiceMock.Setup(mock => mock.GetFilteredMaintenanceWindowsAsync(It.IsAny <MaintenanceWindowDataTableQuery>()))
            .ReturnsAsync(grid);

            //Act
            var result = await this.maintenanceWindowSchedulerController.GenerateCSV();

            //Assert
            Assert.That(result, Is.Not.Null);
            Assert.That(result.StatusCode, Is.EqualTo(HttpStatusCode.OK));
        }
        public async Task GetFilteredMaintenanceWindows_Success()
        {
            //Arrange
            var queryParams = new List <KeyValuePair <string, string> >();
            var windows     = new List <MaintenanceWindow>
            {
                new MaintenanceWindow
                {
                    StartTime = DateTime.UtcNow,
                    EndTime   = DateTime.UtcNow.AddHours(1),
                    Reason    = MaintenanceWindowReason.Other,
                    Comments  = "Unit Test"
                }
            };
            var grid = new GeneralCheckGrid <MaintenanceWindow>
            {
                Data = windows.AsQueryable()
            };

            this.requestServiceMock.Setup(mock => mock.GetQueryParams(this.maintenanceWindowSchedulerController.Request))
            .Returns(queryParams);
            this.maintenanceWindowSchedulingServiceMock.Setup(mock => mock.GetFilteredMaintenanceWindowsAsync(It.IsAny <MaintenanceWindowDataTableQuery>()))
            .ReturnsAsync(grid);

            //Act
            var result = await this.maintenanceWindowSchedulerController.GetListOfSchedules();

            //Assert
            Assert.That(result, Is.Not.Null);
        }