In my model, I have things called Reports that have known workflow associated with them.
I've got a requirement to output at which state a report currently is.
public abstract partial class Report{
public virtual string StateStatus(){
if (Check.IsSuccessful) return "Approved";
if (Check.AreClarificationsSent) return "Clarifications";
if (Check.IsInProgress) return "Check in progress";
if (IsTemplateSent) return "Sent";
if (IsReceived) return "Received";
return "Not received";
}
...
}
I dislike this method. It won't break, but leaves some nausea in my head, just doesn't feel right.
Got any recommendations for improvement?