Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Partial Class Prospectos_RedesArbol
Inherits ClsPaginas
Private Property DtDatos As DataTable
Get
Return DirectCast(ViewState("DtDatos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
Private Property CveProspectoSeleccionado As Integer
Get
Return ViewState("CveProspectoSeleccionado").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveProspectoSeleccionado") = value
End Set
End Property
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
ViewState("Orden") = ""
CveProspectoSeleccionado = -1 'UsuarioActual.CveProspecto
DdlClasificacion.DataSource = GlobalDTProspectosClasificaciones(UsuarioActual.CveEmpresa) : DdlClasificacion.DataBind()
DdlZona.DataSource = GlobalDTProspectosSupervisores(UsuarioActual.CveEmpresa) : DdlZona.DataBind()
DdlRegion.DataSource = GlobalDTProspectosCoordinadores(DdlZona.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) : DdlRegion.DataBind()
DdlMunicipioFiltro.DataSource = GlobalDTGralMunicipios("26") : DdlMunicipioFiltro.DataBind()
CargaDatos(True)
ImgPersonalizar.Attributes.Add("onclick", "$('#DivPersonalizar').show(1000); PosicionaObjeto(this.id,'DivPersonalizar');")
End If
End Sub
Public Sub CargaDatos(Optional RecargaArbol As Boolean = False)
Dim ObjProspectos As New ClsProspectos
Dim InicioPadre As Integer = 0
If CveProspectoSeleccionado > 0 Then
InicioPadre = CveProspectoSeleccionado
'Dim node As New TreeNode
'node.Text = String.Format("{0} ({1})", dr("NombreCompleto"), dr("Hijos"))
'node.Value = dr("CveProspecto").ToString
'AddNodes(node)
'TV.Nodes.Add(node)
End If
If RecargaArbol Then
TV.Nodes.Clear()
If ObjProspectos.GetProspectosArbol(0, UsuarioActual.CveEmpresa) Then
DtDatos = ObjProspectos.DtResultados
Dim dt As DataTable = getNodosHijos(InicioPadre)
For Each dr As DataRow In dt.Rows
Dim node As New TreeNode
node.Text = String.Format("{0} ({1})", dr("NombreCompleto"), dr("Hijos"))
node.Value = dr("CveProspecto").ToString
AddNodes(node)
TV.Nodes.Add(node)
Next
End If
End If
ObjProspectos.Dispose()
UPDatos.Update()
End Sub
#Region "Arbol"
Private Sub AddNodes(ByRef node As TreeNode)
Dim dt As New DataTable
dt = getNodosHijos(node.Value.ToEntero)
For Each dr As DataRow In dt.Rows
Dim nNode As New TreeNode
nNode.Text = String.Format("{0} {1}", dr("NombreCompleto"), If(dr("Hijos").ToString.ToEntero > 0, String.Format("({0})", dr("Hijos")), ""), Colores(dr("Level").ToString.ToEntero))
nNode.Value = dr("CveProspecto").ToString
If dr("level").ToString.ToEntero > 1 Then nNode.Expanded = False
AddNodes(nNode)
node.ChildNodes.Add(nNode)
Next
End Sub
Private Function Colores(Numero As Integer) As String
Dim Retorno As String = ""
Select Case Numero
Case 1 : Retorno = "red"
Case 2 : Retorno = "#228B22"
Case 3 : Retorno = "#4B0082"
Case 4 : Retorno = "#808000"
Case 5 : Retorno = "#8B4513"
End Select
Return Retorno
End Function
Private Function getNodosHijos(CveProspecto As Integer) As DataTable
Return DtDatos.FiltraParametros(String.Format("CveProspectoPadre = {0}", CveProspecto))
End Function
#End Region
'Protected Sub LnkDatos_Click(sender As Object, e As EventArgs) Handles LnkDatos.Click
' PnlDatos.Visible = True
' PnlArbol.Visible = False
'End Sub
'Protected Sub LnkArbol_Click(sender As Object, e As EventArgs) Handles LnkArbol.Click
' PnlDatos.Visible = False
' PnlArbol.Visible = True
'End Sub
Protected Sub TV_SelectedNodeChanged(sender As Object, e As EventArgs) Handles TV.SelectedNodeChanged
' Alert(TV.SelectedValue)
CveProspectoSeleccionado = TV.SelectedValue.ToEntero
RegistraScript("window.open('/Prospectos/CatProspectosDetalle.aspx?CveProspectoPadre=" & CveProspectoSeleccionado & "','_blank')")
CargaDatos()
End Sub
Protected Sub DdlZona_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlZona.SelectedIndexChanged
DdlRegion.Items.Clear()
DdlRegion.Items.Add(New ListItem("Todos", "-1"))
DdlRegion.DataSource = GlobalDTProspectosCoordinadores(DdlZona.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) : DdlRegion.DataBind()
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
CargaDatos()
End Sub
End Class