using System; using System.Globalization; namespace Sony.Filtr.Contracts.Entities { public class ISRC { public static ISRC Parse(string isrc) { if (isrc == null) return null; isrc = isrc.Replace("-", string.Empty); if (!IsValidIsrc(isrc)) { return null; } return new ISRC(isrc); } private ISRC(string isrc) { CountryCode = isrc.Substring(0, 2); Issuer = isrc.Substring(2, 3); IsrcRegistrationYear = isrc.Substring(5, 2); RecordingId = isrc.Substring(7, 5); } private static bool IsValidIsrc(string isrc) { if (isrc.Length != 12) return false; return true; } public string CountryCode { get; private set; } public string Issuer { get; private set; } public string IsrcRegistrationYear { get; private set; } public string RecordingId { get; private set; } public bool IsFrontline => (IsrcRegistrationYear == "16" || IsrcRegistrationYear == "15"); } }