private static bool CheckSerialType(SerialModule sm) { int pos = 1; var parts = sm.SerialNo.Split(new char[] { '-' }); if (sm.SerialType.HasFlag(SerialType.LICENSE_NAME)) { if (parts[pos++] != ConvertString(SerialData.License)) { return(false); } } if (sm.SerialType.HasFlag(SerialType.MAC_ADDRESS)) { if (parts[pos++] != ConvertMacAddress(macAddres)) { return(false); } } //if (sm.SerialType.HasFlag(SerialType.EXPIRATION_DATE)) // if (ConvertFromString(parts[pos++]) < (UInt64)(GlobalInfo.CurrentDate.Year * 365 + GlobalInfo.CurrentDate.Month * 31 + GlobalInfo.CurrentDate.Day)) // return false; if (sm.SerialType.HasFlag(SerialType.PEN_DRIVE)) { string letter = USBSerialNumber.GetDriveLetterFromName(SerialData.PenDrive); if (letter == string.Empty || parts[pos++] != ConvertSerialNumber(USBSerialNumber.getSerialNumberFromDriveLetter(letter))) { return(false); } } return(true); }