Mucho bardo...
Códigos como el descripto pueden generarse automáticamente por medio de TRIGGERS en la base de datos, independizando la aplicación del problema.
Generarlos en la aplicación implica un
exceso de acoplamiento entre aplicación y base, lo que se considera un error en diseño de software.
Esto sería un ejemplo. No he tenido en cuenta elcomportamiento y obtención del codigo unico, que a partir de esto debería ingresar como "CODIGO-0000" solamente.
Esto es únicamente un EJEMPLO de como se construiria un trigger que cumpla con lo dicho:
Tabla:
Nota que he cambiado la definicion del campo numerico, que pasa a ser sin signo. Asi se usan los AI.
Tambien he cambiado el tipo de columna del codigo unico. NO USES TEXT para tipos de datos de esta clase. No es esa su función, y no podrás luego indexarlos, lo que generará errores de consultas y baja performance.
TRigger: