private static List <string> ValidateStochasticVariableMeanParameter(StructuresParameterRow row, bool meanMustBeGreaterThanZero) { var messages = new List <string>(); const string numericalValueColumn = StructureFilesKeywords.NumericalValueColumnName; messages.AddRange(meanMustBeGreaterThanZero ? ValidateGreaterThanZeroDoubleParameter(row, numericalValueColumn) : ValidateDoubleParameter(row, numericalValueColumn)); return(messages); }
private static List <string> StabilityPointStructureInflowModelTypeRule(StructuresParameterRow row) { var messages = new List <string>(); string value = row.AlphanumericValue.ToLower(); if (!stabilityPointStructureInflowModelTypeRuleKeywords.Contains(value)) { messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_structure_type_invalid, row.ParameterId, row.LineNumber, StructureFilesKeywords.AlphanumericalValueColumnName.FirstToUpper())); } return(messages); }
private static List <string> IdenticalApertures(StructuresParameterRow row) { var messages = new List <string>(); double value = row.NumericalValue; if (!IsValueWholeNumber(value) || value < 1) { messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_value_must_be_whole_number_greater_or_equal_to_one, row.ParameterId, row.LineNumber, StructureFilesKeywords.NumericalValueColumnName.FirstToUpper())); } return(messages); }
private static double GetValueFromRowForColumn(StructuresParameterRow row, string columnName) { switch (columnName) { case StructureFilesKeywords.NumericalValueColumnName: return(row.NumericalValue); case StructureFilesKeywords.VariationValueColumnName: return(row.VarianceValue); default: throw new NotSupportedException(); } }
private static List <string> ValidateGreaterThanZeroDoubleParameter(StructuresParameterRow row, string columnName) { var messages = new List <string>(); double value = GetValueFromRowForColumn(row, columnName); if (double.IsNaN(value) || double.IsInfinity(value) || value <= 0) { messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ValidatePositiveDoubleParameter_ParameterId_0_Line_1_ColumnName_2_must_be_greater_than_zero, row.ParameterId, row.LineNumber, columnName.FirstToUpper())); } return(messages); }
private static List <string> ValidatePositiveIntParameter(StructuresParameterRow row, string columnName) { var messages = new List <string>(); double value = GetValueFromRowForColumn(row, columnName); if (!IsValueWholeNumber(value) || value < 0) { messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_value_must_be_positive_whole_number, row.ParameterId, row.LineNumber, columnName.FirstToUpper())); } return(messages); }
private static List <string> StructureNormalOrientation(StructuresParameterRow row) { var messages = new List <string>(); double orientation = row.NumericalValue; if (!orientationValidityRange.InRange(orientation)) { messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_orientation_out_of_Range_3_, row.ParameterId, row.LineNumber, StructureFilesKeywords.NumericalValueColumnName.FirstToUpper(), orientationValidityRange.ToString(FormattableConstants.ShowAtLeastOneDecimal, CultureInfo.CurrentCulture))); } return(messages); }
private static List <string> ValidateStochasticVariableParameters(StructuresParameterRow row, bool meanMustBeGreaterThanZero, bool variationAsStandardDeviation) { List <string> messages = ValidateStochasticVariableMeanParameter(row, meanMustBeGreaterThanZero); VarianceType type = row.VarianceType; if (type != VarianceType.StandardDeviation && type != VarianceType.CoefficientOfVariation) { messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_invalid_variancetype_value, row.ParameterId, row.LineNumber, StructureFilesKeywords.VariationTypeColumnName.FirstToUpper())); } messages.AddRange(ValidatePositiveDoubleParameter(row, StructureFilesKeywords.VariationValueColumnName)); double mean = row.NumericalValue; double absoluteMean = Math.Abs(mean); if (variationAsStandardDeviation) { if (row.VarianceType == VarianceType.CoefficientOfVariation && absoluteMean < valueTooCloseToZero) { messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_mean_too_small_for_reliable_variation_value_conversion, row.ParameterId, row.LineNumber, StructureFilesKeywords.NumericalValueColumnName.FirstToUpper())); } } else { if (row.VarianceType == VarianceType.StandardDeviation && absoluteMean < valueTooCloseToZero) { messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_mean_too_small_for_reliable_variation_value_conversion, row.ParameterId, row.LineNumber, StructureFilesKeywords.NumericalValueColumnName.FirstToUpper())); } } return(messages); }
private static List <string> NormalDistributionMeanRule(StructuresParameterRow row) { return(ValidateStochasticVariableMeanParameter(row, false)); }
private static List <string> VariationCoefficientLogNormalDistributionRule(StructuresParameterRow row) { return(ValidateStochasticVariableParameters(row, true, false)); }
private static List <string> PositiveIntRule(StructuresParameterRow row) { return(ValidatePositiveIntParameter(row, StructureFilesKeywords.NumericalValueColumnName)); }
private static List <string> DoubleRule(StructuresParameterRow row) { return(ValidateDoubleParameter(row, StructureFilesKeywords.NumericalValueColumnName)); }