private bool IsValidBand() { if ((string.IsNullOrWhiteSpace(Band) || string.IsNullOrWhiteSpace(Band.ToLower().Replace("m", "")) || string.IsNullOrWhiteSpace(Band.ToLower().Replace("cm", ""))) && !string.IsNullOrWhiteSpace(Freq)) { Band = HolyLogParser.convertFreqToBand(Freq.Trim()); } if (!string.IsNullOrWhiteSpace(Band) && string.IsNullOrWhiteSpace(Freq)) { Freq = HolyLogParser.convertBandToFreq(Band); } bool isValid = false; if (IsAllowWARC) { isValid = !string.IsNullOrWhiteSpace(Band) && (Band.Contains("13CM") || Band.Contains("70CM") || Band.Contains("2M") || Band.Contains("6M") || Band.Contains("10M") || Band.Contains("12M") || Band.Contains("15M") || Band.Contains("17M") || Band.Contains("20M") || Band.Contains("30M") || Band.Contains("40M") || Band.Contains("80M") || Band.Contains("160M")); } else { isValid = !string.IsNullOrWhiteSpace(Band) && (Band.Contains("13CM") || Band.Contains("70CM") || Band.Contains("2M") || Band.Contains("10M") || Band.Contains("15M") || Band.Contains("20M") || Band.Contains("40M") || Band.Contains("80M") || Band.Contains("160M")); } if (!isValid) { this.ERROR += "Band is not valid: " + Band + " - "; } return(isValid); }
public void StandartizeQSO() { IsValid = false; IsIsraeli = HolyLogParser.IsIsraeliStation(DXCall); Hash(); string pattern = @"([a-zA-Z]{1,2})[-/\\_ ]*([0-9]{1,2})[-/\\_ ]*([a-zA-Z]{2})"; Regex regex = new Regex(pattern, RegexOptions.IgnoreCase); if (!string.IsNullOrWhiteSpace(SRX))//srx not empty -> good, try match { Match match = regex.Match(SRX); if (match.Success) //srx matches grid { this.SRX = match.Groups[1].Value + match.Groups[2].Value + match.Groups[3].Value; IsValid = IsValidCall() && IsValidBand() && IsValidMode() && IsValidSRX() && IsValidDXCC() && IsIsraeli; } else //srx does NOT matche grid { pattern = @"(\d+)"; regex = new Regex(pattern, RegexOptions.IgnoreCase); match = regex.Match(SRX); if (match.Success) { this.SRX = match.Groups[1].Value; IsValid = IsValidCall() && IsValidBand() && IsValidMode() && IsValidSRX() && IsValidDXCC() && !IsIsraeli; } else { IsValid = false; } } } else { IsValid = false; } }