/
AstroJohn
/
MailRobot
Обзор
Документация
Войти
/
AstroJohn
/
MailRobot
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Common/PrefixResolvingExtensions.cs
195 строк
4 KB
AstroJohn
X-RUSOBL
19 апр 2025, 19:11
19 апр 2025, 19:11
3b43839
Код
Авторство
О чём код?
using System.Linq; using System.Text.RegularExpressions; namespace Common { public static class PrefixResolvingExtensions { public static readonly string[] SpLo = { "SP", "LO" }; public static bool IsSpLo(this string regionId) { return regionId != null && SpLo.Contains(regionId); } public static bool IsRussianCallsign(this string callsign) { return callsign != null && callsign.Length > 1 && callsign.Left(1) == "R" || string.CompareOrdinal(callsign.Left(2), "UA") >= 0 && string.CompareOrdinal(callsign.Left(2), "UI") <= 0 || callsign.Left(2) == "U1" || callsign.Left(2) == "U3" || callsign.Left(2) == "D0" || callsign.Left(2) == "D1" || callsign.Left(2) == "UR7MZ" || callsign.Left(2) == "UW1M"; } public static bool IsRussianPrefix(this string countryId) { return RussianCountryIds.Contains(countryId); } public static bool IsOblId(this string oblId) { return OblIds.Contains(oblId); } public static bool IsRda(this string rda) { if (rda.IsNullOrEmpty()) return false; rda = rda.Replace("-", ""); if (rda.Length != 4) return false; var oblId = rda.Left(2); var nrId = rda.Right(2); if (!oblId.IsOblId()) return false; if (!Regex.IsMatch(nrId, "[0-9][0-9]")) return false; return OblIds.Contains(oblId); } public static readonly string[] RussianCountryIds = { "UA", "UA9", "UA2", "R1G", "R1N", "R1FJ", "R1MV", "RA", "RA9", "R2F", "R4P", "R4S", "R4U", "R4W", "R4Y", "R6E", "R6I", "R6J", "R6K", "R6R", "R6P", "R6Q", "R6W", "R6X", "R6Y", "R9W", "R9X", "R9Z", "R0O", "R0Q", "R0W", "R0Y" }; public static readonly string[] OblIds = { "KK", "HK", "EA", "SL", "MG", "AM", "CK", "PK", "BU", "YA", "IR", "ZK", "HA", "TU", "KT", "SP", "LO", "HE", "KL", "AR", "NO", "VO", "NV", "PS", "KO", "MU", "KA", "MA", "MO", "OR", "LP", "TV", "SM", "YR", "KS", "TL", "VR", "TB", "RA", "NN", "IV", "VL", "KU", "KG", "BR", "BO", "VG", "SA", "PE", "SR", "UL", "KI", "TA", "MR", "MD", "UD", "CU", "KR", "KC", "ST", "KM", "SO", "RK", "RO", "DO", "CN", "IN", "SE", "ZP", "AO", "DA", "KB", "AD", "LU", "CB", "SV", "PM", "TO", "HM", "YN", "TN", "OM", "NS", "KN", "OB", "KE", "BA", "AL", "GA" }; } }