Files
SIG/Sistemas/CatProcesos.aspx.vb
JORGE LUIS CAUDILLO ESPARZA c35cf91883 Commit inicial Ventas Productivo
2019-08-14 16:40:54 -07:00

185 lines
7.6 KiB
VB.net

Imports Extensiones
Imports System.Data
Partial Class CatProcesos
Inherits ClsPaginas
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
ViewState("Orden") = ""
ViewState("CveRol") = -1
CargaModulos()
CargaDatos()
'Permisos
'Permiso Registro
If UsuarioActual.TienePermisoProceso(1) Then LbAgregar.Enabled = True Else LbAgregar.Enabled = False
'Permiso Modificar
If UsuarioActual.TienePermisoProceso(2) Then GvDatos.Columns(5).Visible = True Else GvDatos.Columns(5).Visible = False
'Permiso Eliminar
If UsuarioActual.TienePermisoProceso(3) Then GvDatos.Columns(6).Visible = True Else GvDatos.Columns(6).Visible = False
End If
End Sub
Private Sub CargaModulos()
CboModulos.DataSource = GlobalDTModulos.FiltraParametros("NOT (Agrupacion = 'S')").FiltraParametros("", "Modulo")
CboModulos.DataBind()
CboModulos.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Sub
Public Sub CargaDatos()
Dim Procesos As New ClsSisProcesos
If Procesos.GetProcesos(-1) Then
Cache("DTProcesos" & UsuarioActual.CveUsuario.ToString()) = Procesos.DtResultados
Else
GvDatos.DataSource = Nothing
End If
Procesos.Dispose()
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
End Sub
Protected Sub LbAgregar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LbAgregar.Click
Dim Proceso As New ClsSisProcesos
If Proceso.AddProcesos(TxtDescripcion.Text.Trim, CboModulos.SelectedValue.ToEntero, UsuarioActual.CveUsuario) Then
TxtDescripcion.Text = ""
Alert("El nuevo Proceso se guardó correctamente.", TipoMensaje.MsgInformacion)
UpTitulos.Update()
Cache("DTProcesos" & UsuarioActual.CveUsuario.ToString()) = Proceso.DtResultados
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
End If
Proceso.Dispose()
'"$(""#DivAltaReporte"").hide();"
End Sub
#Region "G V D A T O S"
Protected Sub GvDatos_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.RowState = DataControlRowState.Alternate OrElse e.Row.RowState = DataControlRowState.Normal Then
e.Row.Cells(0).Width = Unit.Pixel(30)
e.Row.Cells(1).Width = Unit.Pixel(150)
e.Row.Cells(2).Width = Unit.Pixel(300)
e.Row.Cells(3).Width = Unit.Pixel(100)
e.Row.Cells(4).Width = Unit.Pixel(200)
e.Row.Cells(5).Width = Unit.Pixel(53)
e.Row.Cells(6).Width = Unit.Pixel(68)
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Left
e.Row.Cells(2).HorizontalAlign = HorizontalAlign.Left
End If
End If
End Sub
Protected Sub GvDatos_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GvDatos.RowEditing
GvDatos.EditIndex = e.NewEditIndex
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
Dim EditingRow As GridViewRow = GvDatos.Rows(e.NewEditIndex)
Dim CboModulosR As DropDownList = CType(EditingRow.FindControl("CboModulo"), DropDownList)
For Each LI As ListItem In CboModulos.Items
CboModulosR.Items.Add(LI)
Next
CboModulosR.SelectedValue = EditingRow.DataKey("CveModulo")
End Sub
Protected Sub GvDatos_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GvDatos.RowUpdating
Dim Proceso As New ClsSisProcesos
Dim CveProceso As Integer = GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero
Dim CveModulo As Integer = CType(GvDatos.Rows(e.RowIndex).FindControl("CboModulo"), DropDownList).SelectedValue.ToEntero
If Proceso.UpdateProcesos(CType(GvDatos.Rows(e.RowIndex).FindControl("A"), TextBox).Text.Trim(), CveModulo, UsuarioActual.CveUsuario, CveProceso) Then
GvDatos.EditIndex = -1
Cache("DTProcesos" & UsuarioActual.CveUsuario.ToString()) = Proceso.DtResultados
End If
Proceso.Dispose()
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
End Sub
Protected Sub GvDatos_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GvDatos.RowCancelingEdit
GvDatos.EditIndex = -1
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
End Sub
Protected Sub GvDatos_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatos.RowDeleting
Dim Proceso As New ClsSisProcesos
If Proceso.RemoveProcesos(GvDatos.DataKeys(e.RowIndex).Value.ToString().ToEntero()) Then
GvDatos.EditIndex = -1
Cache("DTProcesos" & UsuarioActual.CveUsuario.ToString()) = Proceso.DtResultados
End If
Proceso.Dispose()
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
End Sub
#End Region
#Region "O R D E N A M I E N T O"
Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Orden As String = ""
Dim Campo As String = ""
Dim Literal As Literal = Nothing
Const OrdenInicial As String = ""
Dim Arg(2) As String
Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c)
Campo = Arg(0)
Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(",", "_")), Literal)
If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-asc' style='color:#999' ></i>")
Else
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-desc' style='color:#999' ></i>")
End If
Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString
ViewState("Orden") = Orden
CargaGrid(Orden)
End Sub
Private Sub CargaGrid(ByVal Orden As String)
If Orden <> String.Empty Then
Dim DV As New DataView(CType(Cache("DTProcesos" & UsuarioActual.CveUsuario.ToString()), DataTable), "", Orden, DataViewRowState.CurrentRows)
GvDatos.DataSource = DV.ToTable()
DV.Dispose()
Else
GvDatos.DataSource = CType(Cache("DTProcesos" & UsuarioActual.CveUsuario.ToString()), DataTable)
End If
GvDatos.DataBind()
UpDatos.Update()
End Sub
#End Region
End Class