internal static RecoverabilityIntegrityViewFilterOperands PopulateRecoverabilityIntegrityHoursFilterOperands(List <KeyValuePair <string, string> > queryParams) { var filterOperands = new RecoverabilityIntegrityViewFilterOperands(); System.Enum.TryParse <FilterOperand>(queryParams.FirstOrDefault(k => k.Key == "sOperand_1").Value, out filterOperands.RecoverabilityIntegrityScore); System.Enum.TryParse <FilterOperand>(queryParams.FirstOrDefault(k => k.Key == "sOperand_2").Value, out filterOperands.BackupFrequencyScore); System.Enum.TryParse <FilterOperand>(queryParams.FirstOrDefault(k => k.Key == "sOperand_3").Value, out filterOperands.BackupCoverageScore); System.Enum.TryParse <FilterOperand>(queryParams.FirstOrDefault(k => k.Key == "sOperand_4").Value, out filterOperands.DbccFrequencyScore); System.Enum.TryParse <FilterOperand>(queryParams.FirstOrDefault(k => k.Key == "sOperand_5").Value, out filterOperands.DbccCoverageScore); System.Enum.TryParse <FilterOperand>(queryParams.FirstOrDefault(k => k.Key == "sOperand_6").Value, out filterOperands.RPOScore); System.Enum.TryParse <FilterOperand>(queryParams.FirstOrDefault(k => k.Key == "sOperand_7").Value, out filterOperands.RTOScore); return(filterOperands); }
public void GetRecoverabilityIntegrityDetails(RecoverabilityIntegrityViewColumns sortColumn) { //Arrange var gridConditions = new GridConditions(); var filterConditions = new RecoverabilityIntegrityViewFilterConditions(); var filterOperands = new RecoverabilityIntegrityViewFilterOperands(); //Grid conditions gridConditions.SortColumn = sortColumn.ToString(); gridConditions.SortDirection = "ASC"; gridConditions.TimezoneOffset = 0; gridConditions.StartRow = 1; gridConditions.EndRow = 25; //Filter conditions //Filter operands filterOperands.RecoverabilityIntegrityScore = FilterOperand.Equals; filterOperands.BackupFrequencyScore = FilterOperand.Equals; filterOperands.BackupCoverageScore = FilterOperand.Equals; filterOperands.DbccFrequencyScore = FilterOperand.Equals; filterOperands.DbccCoverageScore = FilterOperand.Equals; filterOperands.RPOScore = FilterOperand.Equals; filterOperands.RTOScore = FilterOperand.Equals; //Page-level filters gridConditions.StartDate = DateTime.Now.AddYears(-1); gridConditions.EndDate = DateTime.Now.AddDays(1); //Act var result = this.reportRepository.GetRecoverabilityIntegrityDetails(gridConditions, filterConditions, filterOperands); //Assert Assert.That(result, Is.Not.Null); Assert.That(result, Is.Not.Empty); }
/// <summary> /// Retrieves data for the Recoverability/Integrity View /// </summary> /// <param name="gridConditions"></param> /// <param name="filterConditions"></param> /// <returns></returns> public DataTableCollection GetRecoverabilityIntegrityDetails(GridConditions gridConditions, RecoverabilityIntegrityViewFilterConditions filterConditions, RecoverabilityIntegrityViewFilterOperands filterOperands) { using (var conn = (SqlConnection)this.connectionFactory.GetEddsPerformanceConnection()) { using (var command = new SqlCommand()) { var parameters = new SqlParameter[] { //Grid conditions new SqlParameter { ParameterName = "@SortColumn", DbType = DbType.String, Value = gridConditions.SortColumn }, new SqlParameter { ParameterName = "@SortDirection", DbType = DbType.String, Value = gridConditions.SortDirection }, new SqlParameter { ParameterName = "@TimezoneOffset", DbType = DbType.Int32, Value = gridConditions.TimezoneOffset }, new SqlParameter { ParameterName = "@StartRow", DbType = DbType.Int32, Value = gridConditions.StartRow }, new SqlParameter { ParameterName = "@EndRow", DbType = DbType.Int32, Value = gridConditions.EndRow }, //Filter conditions new SqlParameter { ParameterName = "@SummaryDayHour", DbType = DbType.DateTime, Value = filterConditions.SummaryDayHour }, new SqlParameter { ParameterName = "@RecoverabilityIntegrityScore", DbType = DbType.Int32, Value = filterConditions.RecoverabilityIntegrityScore }, new SqlParameter { ParameterName = "@BackupFrequencyScore", DbType = DbType.Int32, Value = filterConditions.BackupFrequencyScore }, new SqlParameter { ParameterName = "@BackupCoverageScore", DbType = DbType.Int32, Value = filterConditions.BackupCoverageScore }, new SqlParameter { ParameterName = "@DbccFrequencyScore", DbType = DbType.Int32, Value = filterConditions.DbccFrequencyScore }, new SqlParameter { ParameterName = "@DbccCoverageScore", DbType = DbType.Int32, Value = filterConditions.DbccCoverageScore }, new SqlParameter { ParameterName = "@RPOScore", DbType = DbType.Int32, Value = filterConditions.RPOScore }, new SqlParameter { ParameterName = "@RTOScore", DbType = DbType.Int32, Value = filterConditions.RTOScore }, //Filter operands new SqlParameter { ParameterName = "@RecoverabilityIntegrityScoreOperand", DbType = DbType.String, Value = filterOperands.RecoverabilityIntegrityScore.GetSqlOperation() }, new SqlParameter { ParameterName = "@BackupFrequencyScoreOperand", DbType = DbType.String, Value = filterOperands.BackupFrequencyScore.GetSqlOperation() }, new SqlParameter { ParameterName = "@BackupCoverageScoreOperand", DbType = DbType.String, Value = filterOperands.BackupCoverageScore.GetSqlOperation() }, new SqlParameter { ParameterName = "@DbccFrequencyScoreOperand", DbType = DbType.String, Value = filterOperands.DbccFrequencyScore.GetSqlOperation() }, new SqlParameter { ParameterName = "@DbccCoverageScoreOperand", DbType = DbType.String, Value = filterOperands.DbccCoverageScore.GetSqlOperation() }, new SqlParameter { ParameterName = "@RPOScoreOperand", DbType = DbType.String, Value = filterOperands.RPOScore.GetSqlOperation() }, new SqlParameter { ParameterName = "@RTOScoreOperand", DbType = DbType.String, Value = filterOperands.RTOScore.GetSqlOperation() }, //Page-level filters new SqlParameter { ParameterName = "@StartHour", DbType = DbType.DateTime, Value = gridConditions.StartDate }, new SqlParameter { ParameterName = "@EndHour", DbType = DbType.DateTime, Value = gridConditions.EndDate } }; var data = SqlHelper.ExecuteDataset(conn, CommandType.StoredProcedure, "eddsdbo.QoS_RecoverabilityIntegrityReport", parameters); return(data.Tables); } } }
public virtual RecoverabilityIntegrityViewGrid RecoverabilityIntegritySummary(GridConditions gridConditions, RecoverabilityIntegrityViewFilterConditions filterConditions, RecoverabilityIntegrityViewFilterOperands filterOperands) { var grid = new RecoverabilityIntegrityViewGrid(); var dt = this.reportRepository.GetRecoverabilityIntegrityDetails(gridConditions, filterConditions, filterOperands); if (dt.Count > 1) { var searchUsers = dt[0]; grid.Data = (from DataRow d in searchUsers.Rows select new RecoverabilityIntegrityScoreInfo { Index = d.Field <int>("RowNumber"), SummaryDayHour = d.Field <DateTime?>("SummaryDayHour").GetValueOrDefault(DateTime.UtcNow), RecoverabilityIntegrityScore = d.Field <int?>("RecoverabilityIntegrityScore").GetValueOrDefault(100), BackupFrequencyScore = d.Field <int?>("BackupFrequencyScore").GetValueOrDefault(100), BackupCoverageScore = d.Field <int?>("BackupCoverageScore").GetValueOrDefault(100), DbccFrequencyScore = d.Field <int?>("DbccFrequencyScore").GetValueOrDefault(100), DbccCoverageScore = d.Field <int?>("DbccCoverageScore").GetValueOrDefault(100), RPOScore = d.Field <int?>("RPOScore").GetValueOrDefault(100), RTOScore = d.Field <int?>("RTOScore").GetValueOrDefault(100), WorstRPODatabase = d.Field <string>("WorstRPODatabase"), WorstRTODatabase = d.Field <string>("WorstRTODatabase"), PotentialDataLossMinutes = d.Field <int?>("PotentialDataLossMinutes").GetValueOrDefault(0), EstimatedTimeToRecoverHours = d.Field <int?>("EstimatedTimeToRecoverHours").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 RecoverabilityIntegrityViewModel() { GridConditions = new GridConditions(); FilterConditions = new RecoverabilityIntegrityViewFilterConditions(); FilterOperands = new RecoverabilityIntegrityViewFilterOperands(); }