Exemple #1
0
        public DataTable GetDatabaseDetails(GridConditions gridConditions, EnvironmentCheckDatabaseFilterConditions filterConditions, EnvironmentCheckDatabaseFilterOperands filterOperands)
        {
            using (var conn = (SqlConnection)this.connectionFactory.GetEddsPerformanceConnection())
            {
                var parameters = new[] {
                    //Grid conditions

                    //Filter conditions
                    new SqlParameter {
                        ParameterName = "@serverNameFilter", DbType = DbType.String, Value = GetNullableDBValue(filterConditions.ServerName)
                    },
                    new SqlParameter {
                        ParameterName = "@sqlVersionFilter", DbType = DbType.String, Value = GetNullableDBValue(filterConditions.SQLVersion)
                    },
                    new SqlParameter {
                        ParameterName = "@adhocWorkloadFilter", DbType = DbType.String, Value = GetNullableDBValue(filterConditions.AdHocWorkload)
                    },
                    new SqlParameter {
                        ParameterName = "@maxServerMemoryFilter", DbType = DbType.String, Value = GetNullableDBValue(filterConditions.MaxServerMemory)
                    },
                    new SqlParameter {
                        ParameterName = "@maxdegreeOfParallelismFilter", DbType = DbType.String, Value = GetNullableDBValue(filterConditions.MaxDegreeOfParallelism)
                    },
                    new SqlParameter {
                        ParameterName = "@tempDBDataFilesFilter", DbType = DbType.String, Value = GetNullableDBValue(filterConditions.tempDBDataFiles)
                    },
                    new SqlParameter {
                        ParameterName = "@lastSQLRestartFilter", DbType = DbType.String, Value = GetNullableDBValue(filterConditions.LastSqlRestart)
                    },
                    //Filter operands
                    new SqlParameter {
                        ParameterName = "@adhocWorkloadOperator", DbType = DbType.Int32, Value = (int)filterOperands.AdHocWorkload
                    },
                    new SqlParameter {
                        ParameterName = "@maxServerMemoryOperator", DbType = DbType.Int32, Value = (int)filterOperands.MaxServerMemory
                    },
                    new SqlParameter {
                        ParameterName = "@maxDegreeOfParallelismOperator", DbType = DbType.Int32, Value = (int)filterOperands.MaxDegreeOfParallelism
                    },
                    new SqlParameter {
                        ParameterName = "@tempDBDataFilesOperator", DbType = DbType.Int32, Value = (int)filterOperands.TempDBDataFiles
                    },
                    new SqlParameter {
                        ParameterName = "@lastSQLRestartOperator", DbType = DbType.Int32, Value = (int)filterOperands.LastSQLRestart
                    },
                    //Page-level filters
                };

                var data = SqlHelper.ExecuteDataset(conn, CommandType.Text, Resources.ReadEnvironmentCheckDatabaseDetails, parameters);

                if (false == String.IsNullOrEmpty(gridConditions.SortColumn) && false == String.IsNullOrEmpty(gridConditions.SortDirection))
                {
                    String sortExpression = $"{gridConditions.SortColumn} {gridConditions.SortDirection}";
                    data.Tables[0].DefaultView.Sort = sortExpression;
                    return(data.Tables[0].DefaultView.ToTable());
                }

                return(data.Tables[0]);
            }
        }
        public EnvironmentCheckViewModel()
        {
            GridConditions = new GridConditions();

            RecommendationFilterConditions = new EnvironmentCheckRecommendationFilterConditions();

            ServerFilterConditions = new EnvironmentCheckServerFilterConditions();
            ServerFilterOperands   = new EnvironmentCheckServerFilterOperands();

            DatabaseFilterConditions = new EnvironmentCheckDatabaseFilterConditions();
            DatabaseFilterOperands   = new EnvironmentCheckDatabaseFilterOperands();
        }
Exemple #3
0
        public void GetDatabaseDetails(EnvironmentCheckDatabaseColumns sortColumn)
        {
            //Arrange
            var gridCond = new GridConditions {
                SortColumn = sortColumn.ToString(), SortDirection = "asc",
            };
            var filterConds = new EnvironmentCheckDatabaseFilterConditions {
            };
            var filterOps   = new EnvironmentCheckDatabaseFilterOperands {
            };

            //Act
            var result = ecRepo.GetDatabaseDetails(gridCond, filterConds, filterOps);

            //Assert
            Assert.That(result, Is.Not.Null);
        }
Exemple #4
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);
        }