public EDCFileType DetermineFileType(string fileName, bool isPrimaryFile)
{
byte[] allBytes = File.ReadAllBytes(fileName);
string boschnumber = ExtractBoschPartnumber(allBytes);
//Console.WriteLine("Bosch number: " + boschnumber);
partNumberConverter pnc = new partNumberConverter();
ECUInfo info = pnc.ConvertPartnumber(boschnumber, allBytes.Length);
if (info.EcuType.Contains("EDC15P-6"))
{
if (isPrimaryFile) m_currentFileType = EDCFileType.EDC15P6;
return EDCFileType.EDC15P6;
}
else if (info.EcuType.Contains("EDC15P"))
{
if (isPrimaryFile) m_currentFileType = EDCFileType.EDC15P;
return EDCFileType.EDC15P;
}
else if (info.EcuType.Contains("EDC15M"))
{
if (isPrimaryFile) m_currentFileType = EDCFileType.EDC15M;
return EDCFileType.EDC15M;
}
else if (info.EcuType.Contains("MSA15") || info.EcuType.Contains("EDC15V-5"))
{
if (isPrimaryFile) m_currentFileType = EDCFileType.MSA15;
return EDCFileType.MSA15;
}
else if (info.EcuType.Contains("MSA12"))
{
if (isPrimaryFile) m_currentFileType = EDCFileType.MSA12;
return EDCFileType.MSA12;
}
else if (info.EcuType.Contains("MSA11"))
{
if (isPrimaryFile) m_currentFileType = EDCFileType.MSA11;
return EDCFileType.MSA11;
}
else if (info.EcuType.Contains("MSA6"))
{
if (isPrimaryFile) m_currentFileType = EDCFileType.MSA6;
return EDCFileType.MSA6;
}
else if (info.EcuType.Contains("EDC15V"))
{
if (isPrimaryFile) m_currentFileType = EDCFileType.EDC15V;
return EDCFileType.EDC15V;
}
if (info.EcuType.Contains("EDC15C"))
{
if (isPrimaryFile) m_currentFileType = EDCFileType.EDC15C;
return EDCFileType.EDC15C;
}
else if (info.EcuType.Contains("EDC16"))
{
if (isPrimaryFile) m_currentFileType = EDCFileType.EDC16;
return EDCFileType.EDC16;
}
else if (info.EcuType.Contains("EDC17"))
{
if (isPrimaryFile) m_currentFileType = EDCFileType.EDC17;
return EDCFileType.EDC17;
}
else if (IsEDC16Partnumber(boschnumber))
{
if (isPrimaryFile) m_currentFileType = EDCFileType.EDC16;
return EDCFileType.EDC16;
}
else if (boschnumber != string.Empty)
{
if (allBytes.Length == 1024 * 1024 * 2)
{
if (isPrimaryFile) m_currentFileType = EDCFileType.EDC17;
return EDCFileType.EDC17;
}
else if (boschnumber.StartsWith("EDC17"))
{
if (isPrimaryFile) m_currentFileType = EDCFileType.EDC17;
return EDCFileType.EDC17;
}
else
{
if (isPrimaryFile) m_currentFileType = EDCFileType.EDC15V;
return EDCFileType.EDC15V;
}
}
else
{
if (isPrimaryFile) m_currentFileType = EDCFileType.EDC16;
return EDCFileType.EDC16; // default to EDC16???
}
}