I Am Not Myself

Bills.Pay(Developer.Skills).ShouldBeTrue()

Overkill or Useless: You Decide!

Here is the gist of what I was trying to accomplish. Please excuse the VB.. it’s not by choice. 8)

Basically the page I was working on has a set of switch statements based on string literals which annoys me.. So I was messing around with a way to use Enumerations to represent my commands. But the commands come back as strings from the various page controls.. So I was looking at a way to generically re-map back to the command Enumeration.

Private Function GetCommand(Of T)(ByVal commandName As String) As T
  Return CType([Enum].Parse(GetType(T), commandName), T)
End Function
 

Protected Enum GridCommand
  CompetencySelect
  FormSelect
  Sort
End Enum

Public Overrides Sub Grid_Commands(ByVal source As Object, _
                                     ByVal e As DataGridCommandEventArgs) _
                                     Handles CompetencyData.ItemCommand, FormData.ItemCommand
  If Page_Save() Then

    Select Case GetCommand(Of GridCommand)(e.CommandName)

      Case GridCommand.CompetencySelect
        NavigateToCompetencySelection( _
         CInt(CompetencyData.DataKeys(e.Item.ItemIndex)), _
         CompetencyData.ID)

      Case GridCommand.FormSelect
        NavigateToFormSelection( _
         CInt(FormData.DataKeys(e.Item.ItemIndex)), _
         FormData.ID)

    End Select
  End If

End Sub

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: