Ho aggiunto questo metodo a una classe C #:
public bool CanAddLeave(Leave newLeave, out AddLeaveResult result)
{
result = _repository.CreateSqlQuery("CanSendLeaveRequest ")
.SetParameter("employeePositionId", newLeave.EmployeePosition.EmployeePositionId)
.UniqueResult<AddLeaveResult> ();
return (result == AddLeaveResult.Success);
}
Il metodo restituisce un bool che il cliente utilizzerà per determinare rapidamente se una richiesta di ferie (ferie / festività, ecc.) può essere inviata al manager del dipendente tramite e-mail.
Il parametro di output AddLeaveResult è un enum con i seguenti valori Success = 0, NoManagersWithEmailAddress = 1, NoManagersToDeliverTo = 2
Durante la scrittura di questo ho avuto in mente il pattern TryParse, ma questo codice ha un cattivo odore. Il mio istinto mi sta dicendo che c'è un modo migliore, ma non riesco a pensarne uno. Puoi suggerire un modello migliore e più pulito da usare?