buon anno anche a te.
Venendo al tuo problema, diciamo che, senza pensarci troppo, hai due soluzioni principali:
1. uso del web.config
nell'area appsetting aggiungi tanti elementi quanti sono quelli memorizzati a db impostando il valore della proprietà "Key" con il valore contenuto nel db e il valore della proprietà "value" con quella dello stato che devi recuperare.
Es.
<add key="0" value="STOP"/>
<add key="1" value="START"/>
<add key="2" value="ALTRO STATO"/>
ecc. ecc.
Da codice non farai altro che recuperare la chiave dal web.config passandogli come Key il valore recuperato dal db.
Io generalmente utilizzo una funzione che metto in una classe con tutte le funzioni generiche e a cui passo come parametro quello che devo andare a trovare nel web.config.
Public Shared Function funRecuperaParametriWebConfigLocale(ByVal strParametro As String) As String
Dim strReturn As String = String.Empty
strReturn = TryCast(ConfigurationManager.AppSettings.Get(strParametro), String)
Return strReturn
End Function
' Che richiamo in questo modo:
'
dim strDescrizioneStato as string = funRecuperaParametriWebConfigLocale(valoreRecuperatoDaDb)
In questo modo se aggiungi un nuovo stato nella tabella, devi ricordarti di aggiungere il suo corrispettivo nel web.config, ma non devi modificare il codice e ricompilare l'applicazione
2. tutto da codice
Fai tutto quello che ti ho descritto sopra all'interno di una classe in cui definisci delle variabili/costanti globali e verifichi con degli if then else quale variabile andare a recuperare.
Ovviamente questo sistema ti costringe a modificare, ricompilare e ripubblicare ogni volta che aggiungi un nuovo stato.
C'è una soluzione che comprende l'unione delle due precedenti, ma avresti gli svantaggi di entrambe e a questo punto punterei sulla soluzione 1.
Come vedi ho usato vb, ma la conversione in c# è abbastanza banale e penso che potrai farla velocemente, se servisse.
ciao