using DTS.Common.SharedResource.Strings; using System.Globalization; using System.Windows.Controls; namespace DTS.Common.Validators { [System.Diagnostics.CodeAnalysis.SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "acronyms")] public class UARTBAUDRateValidator : ValidationRule { public override ValidationResult Validate(object value, CultureInfo cultureInfo) { if (value is string s) { if (!long.TryParse(s, out var temp)) { return new ValidationResult(false, StringResources.InvalidFormat); } else { if (temp > Constant.EmbeddedSensors.BAUD_RATE_MAX) { return new ValidationResult(false, $"{StringResources.MaxValueIs}{Constant.EmbeddedSensors.BAUD_RATE_MAX}"); } if ( temp < Constant.EmbeddedSensors.BAUD_RATE_MIN) { return new ValidationResult(false, $"{StringResources.MinValueIs}{Constant.EmbeddedSensors.BAUD_RATE_MIN}"); } return new ValidationResult(true, null); } } return new ValidationResult(false, StringResources.InvalidFormat); } } }