public virtual WaitsViewGrid Waits(GridConditions gridConditions, WaitsViewFilterConditions filterConditions, WaitsViewFilterOperands filterOperands) { var grid = new WaitsViewGrid(); var dt = this.reportRepository.GetSystemLoadWaitsDetails(gridConditions, filterConditions, filterOperands); if (dt.Count > 1) { var searchUsers = dt[0]; grid.Data = (from DataRow d in searchUsers.Rows select new SystemLoadWaitsInfo { Index = d.Field <int>("RowNumber"), ServerId = d.Field <int>("ServerArtifactId"), Server = d.Field <string>("Server"), WaitType = d.Field <string>("WaitType"), SummaryDayHour = d.Field <DateTime>("SummaryDayHour"), OverallScore = d.Field <int?>("WaitsScore").GetValueOrDefault(100), SignalWaitsRatio = d.Field <int?>("SignalWaitsRatio").GetValueOrDefault(0), SignalWaitTime = d.Field <long?>("SignalWaitTime").GetValueOrDefault(0), TotalWaitTime = d.Field <long?>("TotalWaitTime").GetValueOrDefault(0), IsPoisonWait = d.Field <bool>("IsPoisonWait"), IsActiveWeeklySample = d.Field <bool>("IsActiveArrivalRateSample"), PercentOfCPUThreshold = d.Field <decimal?>("PercentOfCPUThreshold").GetValueOrDefault(0), DifferentialWaitingTasksCount = d.Field <Int64?>("DifferentialWaitingTasksCount").GetValueOrDefault(0), }).AsQueryable(); var resultInfo = dt[1]; grid.Count = resultInfo.Rows.Count > 0 ? resultInfo.Rows[0].Field <int?>("FilteredCount").GetValueOrDefault(0) : 0; } return(grid); }
public void GetSystemLoadWaitsDetails(WaitsViewColumns sortColumn) { //Arrange var gridConditions = new GridConditions(); var filterConditions = new WaitsViewFilterConditions(); var filterOperands = new WaitsViewFilterOperands(); //Grid conditions gridConditions.SortColumn = sortColumn.ToString(); gridConditions.SortDirection = "ASC"; gridConditions.TimezoneOffset = 0; gridConditions.StartRow = 1; gridConditions.EndRow = 25; //Filter conditions filterConditions.Server = ""; filterConditions.WaitType = ""; //Filter operands filterOperands.OverallScore = FilterOperand.Equals; filterOperands.SignalWaitsRatio = FilterOperand.Equals; filterOperands.SignalWaitTime = FilterOperand.Equals; filterOperands.TotalWaitTime = FilterOperand.Equals; filterOperands.PercentOfCPUThreshold = FilterOperand.Equals; filterOperands.DifferentialWaitingTasksCount = FilterOperand.Equals; //Page-level filters gridConditions.StartDate = DateTime.Now.AddYears(-1); gridConditions.EndDate = DateTime.Now.AddDays(1); //Act var result = this.reportRepository.GetSystemLoadWaitsDetails(gridConditions, filterConditions, filterOperands); //Assert Assert.That(result, Is.Not.Null); Assert.That(result, Is.Not.Empty); }
public SystemLoadWaitsViewModel() { GridConditions = new GridConditions(); FilterConditions = new WaitsViewFilterConditions(); FilterOperands = new WaitsViewFilterOperands(); }