private int CheckSum()
        {
            int    checksum  = 0;
            int    value     = 1;
            string groupCode = GroupCode.ToString();

            foreach (var letter in groupCode)
            {
                var number = int.Parse(letter.ToString());
                checksum += number * value;
                value     = value == 1 ? 3 : 1;
            }
            string editorCode = EditorCode.ToString();

            foreach (var letter in editorCode)
            {
                var number = int.Parse(letter.ToString());
                checksum += number * value;
                value     = value == 1 ? 3 : 1;
            }
            string published = Published.ToString();

            foreach (var letter in editorCode)
            {
                var number = int.Parse(letter.ToString());
                checksum += number * value;
                value     = value == 1 ? 3 : 1;
            }
            return(checksum = 10 - (checksum % 10));
        }
        private string PublishedWithZeros()
        {
            int    length             = 3 + GroupCode.ToString().Length + EditorCode.ToString().Length + Published.ToString().Length;
            string publishedWithZeros = "";

            for (int i = 0; i < 12 - length; i++)
            {
                publishedWithZeros += "0";
            }
            return(publishedWithZeros + Published);
        }