private bool CheckISBN() { if (string.IsNullOrWhiteSpace(ISBN)) { return(true); } var pure = ISBN.Replace("-", ""); try { if (PublishYear >= 2007) { if (pure.Length != Const.DigitsInISBN) { return(false); } var sum = 0; for (var i = 1; i < 12; i = i + 2) { var first = int.Parse(pure[i - 1].ToString()); var second = int.Parse(pure[i].ToString()); sum = sum + first + 3 * second; } var last = int.Parse(pure[12].ToString()); var reminder = sum % 10; return(10 - reminder == last); } else { if (pure.Length != Const.DigitsInISBNBefore2007) { return(false); } var sum = 0; for (var i = 0; i <= 9; i++) { sum = sum + int.Parse(pure[i].ToString()) * (10 - i); } return(sum % 11 == 0); } } catch { return(false); } }