enrique_aeo
asked on
how I can optimize this code? if else
hi experts, how I can optimize this code?
If WFGDH.UI.Session.desicionS olicitud <> "NO" Then
If WFGDH.UI.Session.varCodVic epresidenc ia.Equals( "") Or WFGDH.UI.Session.varCodGCe ntral.Equa ls("") Or _
WFGDH.UI.Session.varCodDiv ision.Equa ls("") Or WFGDH.UI.Session.varCodDep artamento. Equals("") Then
btnNuevoColaborador.Attrib utes.Add(" onclick", "javascript:return pCargarModal('Ascenso','N' ,'-1','NN' );")
ElseIf (WFGDH.UI.Session.varCodVi cepresiden cia.Equals (WFGDH.UI. Session.va rCodDepart amento)) Then
btnNuevoColaborador.Attrib utes.Add(" onclick", "javascript:return pCargarModal('Ascenso','N' ,'-1','Vp' );")
ElseIf (WFGDH.UI.Session.varCodGC entral.Equ als(WFGDH. UI.Session .varCodDep artamento) ) Then
btnNuevoColaborador.Attrib utes.Add(" onclick", "javascript:return pCargarModal('Ascenso','N' ,'-1','Ce' );")
ElseIf (WFGDH.UI.Session.varCodDi vision.Equ als(WFGDH. UI.Session .varCodDep artamento) ) Then
btnNuevoColaborador.Attrib utes.Add(" onclick", "javascript:return pCargarModal('Ascenso','N' ,'-1','Dv' );")
Else
btnNuevoColaborador.Attrib utes.Add(" onclick", "javascript:return pCargarModal('Ascenso','N' ,'-1','Dp' );")
End If
Else
WFGDH.UI.Session.varCodVic epresidenc ia = WFGDH.UI.Session.SelUO
WFGDH.UI.Session.varCodGCe ntral = WFGDH.UI.Session.SelUO
WFGDH.UI.Session.varCodDiv ision = WFGDH.UI.Session.SelUO
WFGDH.UI.Session.varCodDep artamento = WFGDH.UI.Session.SelUO
If WFGDH.UI.Session.varCodVic epresidenc ia.Equals( "") Or WFGDH.UI.Session.varCodGCe ntral.Equa ls("") Or _
WFGDH.UI.Session.varCodDiv ision.Equa ls("") Or WFGDH.UI.Session.varCodDep artamento. Equals("") Then
btnNuevoColaborador.Attrib utes.Add(" onclick", "javascript:return pCargarModal('Ascenso','N' ,'-1','NN' );")
ElseIf (WFGDH.UI.Session.varCodVi cepresiden cia.Equals (WFGDH.UI. Session.va rCodDepart amento)) Then
btnNuevoColaborador.Attrib utes.Add(" onclick", "javascript:return pCargarModal('Ascenso','N' ,'-1','Vp' );")
ElseIf (WFGDH.UI.Session.varCodGC entral.Equ als(WFGDH. UI.Session .varCodDep artamento) ) Then
btnNuevoColaborador.Attrib utes.Add(" onclick", "javascript:return pCargarModal('Ascenso','N' ,'-1','Ce' );")
ElseIf (WFGDH.UI.Session.varCodDi vision.Equ als(WFGDH. UI.Session .varCodDep artamento) ) Then
btnNuevoColaborador.Attrib utes.Add(" onclick", "javascript:return pCargarModal('Ascenso','N' ,'-1','Dv' );")
Else
btnNuevoColaborador.Attrib utes.Add(" onclick", "javascript:return pCargarModal('Ascenso','N' ,'-1','Dp' );")
End If
WFGDH.UI.Session.varCodVic epresidenc ia = Nothing
WFGDH.UI.Session.varCodGCe ntral = Nothing
WFGDH.UI.Session.varCodDiv ision = Nothing
WFGDH.UI.Session.varCodDep artamento = Nothing
End If
If WFGDH.UI.Session.desicionS
If WFGDH.UI.Session.varCodVic
WFGDH.UI.Session.varCodDiv
btnNuevoColaborador.Attrib
ElseIf (WFGDH.UI.Session.varCodVi
btnNuevoColaborador.Attrib
ElseIf (WFGDH.UI.Session.varCodGC
btnNuevoColaborador.Attrib
ElseIf (WFGDH.UI.Session.varCodDi
btnNuevoColaborador.Attrib
Else
btnNuevoColaborador.Attrib
End If
Else
WFGDH.UI.Session.varCodVic
WFGDH.UI.Session.varCodGCe
WFGDH.UI.Session.varCodDiv
WFGDH.UI.Session.varCodDep
If WFGDH.UI.Session.varCodVic
WFGDH.UI.Session.varCodDiv
btnNuevoColaborador.Attrib
ElseIf (WFGDH.UI.Session.varCodVi
btnNuevoColaborador.Attrib
ElseIf (WFGDH.UI.Session.varCodGC
btnNuevoColaborador.Attrib
ElseIf (WFGDH.UI.Session.varCodDi
btnNuevoColaborador.Attrib
Else
btnNuevoColaborador.Attrib
End If
WFGDH.UI.Session.varCodVic
WFGDH.UI.Session.varCodGCe
WFGDH.UI.Session.varCodDiv
WFGDH.UI.Session.varCodDep
End If
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
But that will in no way "optimize" the existing code.
ASKER
reduce the number of lines of code
Untested, but I believe you could do something along these lines (as rick_gwu indicated):
With WFGDH.UI.Session
Dim option As String
If .desicionSolicitud <> "NO" Then
.varCodVicepresidencia = .SelUO
.varCodGCentral = .SelUO
.varCodDivision = .SelUO
.varCodDepartamento = .SelUO
End If
Select Case True
Case .varCodVicepresidencia.Equals(String.Empty), .varCodGCentral.Equals(String.Empty), _
.varCodDivision.Equals(String.Empty), .varCodDepartamento.Equals(String.Empty)
option = "NN"
Case .varCodVicepresidencia.Equals(.varCodDepartamento)
option = "Vp"
Case.varCodGCentral.Equals(.varCodDepartamento)
option = "Ce"
Case .varCodDivision.Equals(.varCodDepartamento)
option = "Dv"
Case Else
option = "Dp"
End Select
btnNuevoColaborador.Attributes.Add("onclick", String.Format("javascript:return pCargarModal('Ascenso','N','-1','{0}');", option))
If .desicionSolicitud = "NO" Then
.varCodVicepresidencia = Nothing
.varCodGCentral = Nothing
.varCodDivision = Nothing
.varCodDepartamento = Nothing
End If
End With
More of a horizontal savings rather than a vertical one ; )
Define "optimize".