public static void Main(){
ExecUpdateSSCCFromPackageId(221138);
ExecUpdateSSCCFromPackageId(221139);
UpdateSSCCFromPackageId(218590);
static public int SSCCCheckDigit (long sscc){
char[] ssccNumberArray = sscc.ToString().ToCharArray();
if(ssccNumberArray.Length != 17){
for (int i = 0; i < 17; i++)
odd += (Convert.ToInt32(ssccNumberArray.GetValue(i))) * 3;
odd += (Convert.ToInt32(ssccNumberArray.GetValue(i))) * 1;
int checksum = 10 - ((odd) % 10);
static public bool IsValidSSCC (long sscc){
if(sscc < 100000000000000000){
if(SSCCCheckDigit(sscc/10) != sscc%10){
static public bool IsValidCLDSSCC (long sscc){
if(sscc < 854250255900000000){
if(SSCCCheckDigit(sscc/10) != sscc%10){
static public long GenerateSSCCFromPackageId (long PackageId){
long sscc = 85425025590000000 + PackageId ;
sscc = sscc * 10 + SSCCCheckDigit(sscc) ;
static public void UpdateSSCCFromPackageId (long PackageId){
Console.WriteLine("update packing.Package set scc = " + GenerateSSCCFromPackageId(PackageId).ToString() + " where id = " + PackageId.ToString());
static public void ExecUpdateSSCCFromPackageId (long PackageId){
Console.WriteLine("EXEC [packing].[CLD_DevTools_Set_SCC] @id = " + PackageId.ToString() + ", @scc = " + GenerateSSCCFromPackageId(PackageId).ToString());