/// <summary> /// Pulls query parameters from the request and converts them to grid and filter conditions for the Server View /// </summary> /// <returns></returns> private SystemLoadServerViewModel PopulateServerModelSettings() { var model = new SystemLoadServerViewModel(); var queryParams = this.requestService.GetQueryParamsDecoded(Request); //Grid conditions model.GridConditions = PopulateCommonGridConditions(queryParams); var iSortCol = queryParams.FirstOrDefault(k => k.Key == "iSortCol_0"); var sSortDir = queryParams.FirstOrDefault(k => k.Key == "sSortDir_0"); var sortColumn = string.IsNullOrEmpty(iSortCol.Value) ? null : (LoadViewColumns?)System.Enum.Parse(typeof(LoadViewColumns), iSortCol.Value); var sortBy = sortColumn?.ToString(); model.GridConditions.SortIndex = iSortCol.Value; model.GridConditions.SortColumn = sortBy; model.GridConditions.SortDirection = sSortDir.Value; //Filter conditions var hourFilter = queryParams.FirstOrDefault(k => k.Key == "sSearch_0"); var serverFilter = queryParams.FirstOrDefault(k => k.Key == "sSearch_1"); var typeFilter = queryParams.FirstOrDefault(k => k.Key == "sSearch_2"); var scoreFilter = queryParams.FirstOrDefault(k => k.Key == "sSearch_3"); var cpuFilter = queryParams.FirstOrDefault(k => k.Key == "sSearch_4"); var ramFilter = queryParams.FirstOrDefault(k => k.Key == "sSearch_5"); var memSignalFilter = queryParams.FirstOrDefault(k => k.Key == "sSearch_6"); var waitsFilter = queryParams.FirstOrDefault(k => k.Key == "sSearch_7"); var vlfFilter = queryParams.FirstOrDefault(k => k.Key == "sSearch_8"); var latencyFilter = queryParams.FirstOrDefault(k => k.Key == "sSearch_9"); var weeklyFilter = queryParams.FirstOrDefault(k => k.Key == "sSearch_10"); int score, cpu, ram, pages, waits, vlf, latency; DateTime hour; model.FilterConditions = new LoadViewFilterConditions() { SummaryDayHour = DateTime.TryParse(HttpUtility.UrlDecode(hourFilter.Value), out hour) ? hour : (DateTime?)null, Server = serverFilter.Value, ServerType = typeFilter.Value, OverallScore = int.TryParse(scoreFilter.Value, out score) ? score : (int?)null, CPUScore = int.TryParse(cpuFilter.Value, out cpu) ? cpu : (int?)null, RAMScore = int.TryParse(ramFilter.Value, out ram) ? ram : (int?)null, MemorySignalScore = int.TryParse(memSignalFilter.Value, out pages) ? pages : (int?)null, WaitsScore = int.TryParse(waitsFilter.Value, out waits) ? waits : (int?)null, VirtualLogFilesScore = int.TryParse(vlfFilter.Value, out vlf) ? vlf : (int?)null, LatencyScore = int.TryParse(latencyFilter.Value, out latency) ? latency : (int?)null, IsActiveWeeklySample = string.IsNullOrEmpty(weeklyFilter.Value) ? null : (bool?)weeklyFilter.Value.Equals("yes", StringComparison.CurrentCultureIgnoreCase) }; //Filter operands System.Enum.TryParse <FilterOperand>(queryParams.FirstOrDefault(k => k.Key == "sOperand_3").Value, out model.FilterOperands.OverallScore); System.Enum.TryParse <FilterOperand>(queryParams.FirstOrDefault(k => k.Key == "sOperand_4").Value, out model.FilterOperands.CPUUtilizationScore); System.Enum.TryParse <FilterOperand>(queryParams.FirstOrDefault(k => k.Key == "sOperand_5").Value, out model.FilterOperands.RAMUtilizationScore); System.Enum.TryParse <FilterOperand>(queryParams.FirstOrDefault(k => k.Key == "sOperand_6").Value, out model.FilterOperands.MemorySignalScore); System.Enum.TryParse <FilterOperand>(queryParams.FirstOrDefault(k => k.Key == "sOperand_7").Value, out model.FilterOperands.WaitsScore); System.Enum.TryParse <FilterOperand>(queryParams.FirstOrDefault(k => k.Key == "sOperand_8").Value, out model.FilterOperands.VirtualLogFilesScore); System.Enum.TryParse <FilterOperand>(queryParams.FirstOrDefault(k => k.Key == "sOperand_9").Value, out model.FilterOperands.LatencyScore); return(model); }