private void VerifyChecksum(string filename, bool showQuestion, bool showInfo) { string chkType = string.Empty; barChecksum.Caption = "---"; ChecksumResultDetails result = new ChecksumResultDetails(); if (m_appSettings.AutoChecksum) { result = Tools.Instance.UpdateChecksum(filename, false); if (showInfo) { if (result.CalculationOk) { if (result.TypeResult == ChecksumType.VAG_EDC15P_V41) chkType = " V4.1"; else if (result.TypeResult == ChecksumType.VAG_EDC15P_V41V2) chkType = " V4.1v2"; else if (result.TypeResult == ChecksumType.VAG_EDC15P_V41_2002) chkType = " V4.1 2002"; else if (result.TypeResult != ChecksumType.Unknown) chkType = result.TypeResult.ToString(); frmInfoBox info = new frmInfoBox("Checksums are correct [" + chkType + "]"); } else { if (result.TypeResult == ChecksumType.VAG_EDC15P_V41) chkType = " V4.1"; else if (result.TypeResult == ChecksumType.VAG_EDC15P_V41V2) chkType = " V4.1v2"; else if (result.TypeResult == ChecksumType.VAG_EDC15P_V41_2002) chkType = " V4.1 2002"; else if (result.TypeResult != ChecksumType.Unknown) chkType = result.TypeResult.ToString(); frmInfoBox info = new frmInfoBox("Checksums are INCORRECT [" + chkType + "]"); } } } else { result = Tools.Instance.UpdateChecksum(filename, true); if (!result.CalculationOk) { if (showQuestion && result.TypeResult != ChecksumType.Unknown) { if (result.TypeResult == ChecksumType.VAG_EDC15P_V41) chkType = " V4.1"; else if (result.TypeResult == ChecksumType.VAG_EDC15P_V41V2) chkType = " V4.1v2"; else if (result.TypeResult == ChecksumType.VAG_EDC15P_V41_2002) chkType = " V4.1 2002"; else if (result.TypeResult != ChecksumType.Unknown) chkType = result.TypeResult.ToString(); frmChecksumIncorrect frmchk = new frmChecksumIncorrect(); frmchk.ChecksumType = chkType; frmchk.NumberChecksums = result.NumberChecksumsTotal; frmchk.NumberChecksumsFailed = result.NumberChecksumsFail; frmchk.NumberChecksumsPassed = result.NumberChecksumsOk; if(frmchk.ShowDialog() == DialogResult.OK) //if (MessageBox.Show("Checksums are invalid. Do you wish to correct them?", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes) { result = Tools.Instance.UpdateChecksum(filename, false); } } else if (showInfo && result.TypeResult == ChecksumType.Unknown) { frmInfoBox info = new frmInfoBox("Checksum for this filetype is not yet implemented"); } } else { if (showInfo) { if (result.TypeResult == ChecksumType.VAG_EDC15P_V41) chkType = " V4.1"; else if (result.TypeResult == ChecksumType.VAG_EDC15P_V41V2) chkType = " V4.1v2"; else if (result.TypeResult == ChecksumType.VAG_EDC15P_V41_2002) chkType = " V4.1 2002"; else if (result.TypeResult != ChecksumType.Unknown) chkType = result.TypeResult.ToString(); frmInfoBox info = new frmInfoBox("Checksums are correct [" + chkType + "]"); } } } if (result.TypeResult == ChecksumType.VAG_EDC15P_V41) chkType = " V4.1"; else if (result.TypeResult == ChecksumType.VAG_EDC15P_V41V2) chkType = " V4.1v2"; else if (result.TypeResult == ChecksumType.VAG_EDC15P_V41_2002) chkType = " V4.1 2002"; if (!result.CalculationOk) { barChecksum.Caption = "Checksum failed" + chkType; } else { barChecksum.Caption = "Checksum Ok" + chkType; } Application.DoEvents(); }