RCA (Request for Corrective Action)
RCA is a typical workflow application. Though I am much interested in the new Microsoft’s Windows Workflow Foundation, I was not yet that into it. What I really needed was to show/hide controls according to the user’s role and to send a notification email when certain events occur. Those events are ones like submission of a request (application sends an email to recipient), submission of response (email to issuer), verification of the corrective action (email back to issuer if the verifier is different than the issuer, etc) which I can put logic in the button click event handlers.
To make the application more succinct and easily maintainable, I defined classes such as shyButton, shyGridView, shyFormview, etc., which are inherited from the respective web control class. ShyControls have properties called “DisableRoleSum“, “DisableIfNotContains” or “HideIfNotContains“, etc. so that I can declaratively put complex role based or state depending show/hide logic in the aspx file rather than implementing this with control structures like ‘IF … THEN ELSE…” in the code-behind files.