Vorrei sapere se comprendo correttamente il principio di responsabilità singola.
La funzione seguente suppone di restituire l'archivio ID utente nel database utilizzando il nome dell'account SAM per passarvi.
Guarda i seguenti codici commentati, è vero riguardo alla singola responsabilità di una funzione / metodo?
Questa funzione viola il principio di responsabilità singola se quei codici non sono commentati?
public static int GetUserId(string domainName)
{
    string message = "";
    //Do not get badge number from this function,
    //function should stay as single responsibility
    //string badgeNumber = AsmUser.AsmUserHandler.GetBadgeNumber(domainName);
    //if (badgeNumber == null)
    //{
    //    message = "Badge number is null.";
    //    LogHandler.LogDebug(logger, message);
    //    return 0;
    //}
    //else
    {
        using (var db = new SurfaceTreatment.SurfaceTreatmentEntities())
        {
            string domain = domainName.Split('\')[0].Trim();
            string samAccountName = domainName.Split('\')[1].Trim();
            var user = db.t_ST_User
                //.Where(_user => string.Compare(
                    // badgeNumber, 
                    // _user.badgeNumber, 
                    // StringComparison.OrdinalIgnoreCase) == 0)
                .Where(_user => string.Compare(
                    domain, 
                    _user.domainName.Trim(), 
                    StringComparison.OrdinalIgnoreCase) == 0)
                .Where(_user => string.Compare(
                    samAccountName, 
                    _user.samAccountName.Trim(), 
                    StringComparison.OrdinalIgnoreCase) == 0)
                .Where(_user => _user.deleted == false)
                    .FirstOrDefault();
            if (user == null)
            {
                message = "Failed to get user by badge number: " + domainName;
                LogHandler.LogDebug(logger, message);
                return 0;
            }
            else
            {
                return user.userId;
            }
        }
    }
}