321 lines
14 KiB
VB.net
321 lines
14 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports System.Data
|
|
Imports System.Linq
|
|
Imports Extensiones
|
|
|
|
Partial Class OS_CatEstatusOrdenServicio
|
|
Inherits ClsPaginas
|
|
|
|
#Region " PROPIEDADES"
|
|
Private Property DtEstatusOS As Data.DataTable
|
|
Get
|
|
Return CType(ViewState("DtEstatusOS"), DataTable)
|
|
End Get
|
|
Set(value As Data.DataTable)
|
|
ViewState("DtEstatusOS") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property CveEstatuOS As Integer
|
|
Get
|
|
Return ViewState("CveEstatuOS").ToString.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveEstatuOS") = value
|
|
End Set
|
|
End Property
|
|
Private Property Orden As String
|
|
Get
|
|
Return ViewState("Orden").ToString
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("Orden") = value
|
|
End Set
|
|
End Property
|
|
Private Property DTEstatusUsuarios As DataTable
|
|
Get
|
|
Return CType(ViewState("DTEstatusUsuarios"), DataTable)
|
|
End Get
|
|
Set(value As Data.DataTable)
|
|
ViewState("DTEstatusUsuarios") = value
|
|
End Set
|
|
End Property
|
|
Private Property DTUsuarios As DataTable
|
|
Get
|
|
Return CType(ViewState("DTUsuarios"), DataTable)
|
|
End Get
|
|
Set(value As Data.DataTable)
|
|
ViewState("DTUsuarios") = value
|
|
End Set
|
|
End Property
|
|
Private Property DtEstatusUsuariosAsociados As DataTable
|
|
Get
|
|
Return CType(ViewState("DtEstatusUsuariosAsociados"), DataTable)
|
|
End Get
|
|
Set(value As Data.DataTable)
|
|
ViewState("DtEstatusUsuariosAsociados") = value
|
|
End Set
|
|
End Property
|
|
#End Region
|
|
|
|
|
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
|
If Not Page.IsPostBack Then
|
|
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:=DivProyecto)
|
|
CargarTodosLosDatos()
|
|
CveEstatuOS = -1
|
|
End If
|
|
RegistraScript(" $('#TxtBackgroundColor').simpleColorPicker();")
|
|
End Sub
|
|
|
|
Private Sub CargarTodosLosDatos()
|
|
CargaDatos()
|
|
AsociarEstatusUsuarios()
|
|
CargarUsuarioConEstatus()
|
|
End Sub
|
|
|
|
Public Sub CargaDatos()
|
|
DTUsuarios = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa)
|
|
Using ObjEstatusOrdenServicios As New ClsOS
|
|
If ObjEstatusOrdenServicios.GetEstatusOrdenServicio(UsuarioActual.CveEmpresa) Then
|
|
DtEstatusOS = ObjEstatusOrdenServicios.DtResultados
|
|
GvDatos.DataSource = DtEstatusOS
|
|
End If
|
|
|
|
If ObjEstatusOrdenServicios.GetEstatusUsuarios(-1, -1, CveSubProyecto:=DdlSubProyecto.SelectedValue.ToEntero) Then
|
|
DTEstatusUsuarios = ObjEstatusOrdenServicios.DtResultados
|
|
End If
|
|
End Using
|
|
GvDatos.DataBind()
|
|
OrdenaDatos()
|
|
End Sub
|
|
|
|
Private Sub BtnAgregarEstatus_Click(sender As Object, e As EventArgs) Handles BtnAgregarEstatus.Click
|
|
|
|
TxtEstatusOS.Text = ""
|
|
TxtBackgroundColor.Text = ""
|
|
BtnAgregarEstatusOS.Text = "Agregar"
|
|
divChkEstatus.Visible = False
|
|
UpBodyEstatus.Update()
|
|
UpFooter.Update()
|
|
RegistraScript("$('#divAddEstatusOS').modal();LimpiaModal()")
|
|
|
|
End Sub
|
|
Protected Sub BtnAgregarEstatusOS_Click(sender As Object, e As EventArgs) Handles BtnAgregarEstatusOS.Click
|
|
Dim ObjEstatusOrdenServicios As New ClsOS
|
|
Dim TieneError As Boolean = False
|
|
|
|
If HdnModalidad.Value = "I" Then
|
|
If ObjEstatusOrdenServicios.AddEstatusOrdenServicio(TxtEstatusOS.Text.Trim, DdlTipoEstatus.SelectedValue.ToEntero, If(ChkEstatus.Checked, 1, 0), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, TxtBackgroundColor.Text.Replace("#", "")) Then
|
|
GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa) = Nothing
|
|
Alert("Estatus agregado")
|
|
End If
|
|
Else
|
|
If HdnID.Value.ToEntero <> -1 Then
|
|
If Not ObjEstatusOrdenServicios.UpdateEstatusOrdenServicio(TxtEstatusOS.Text.Trim, DdlTipoEstatus.SelectedValue.ToEntero, If(ChkEstatus.Checked, 1, 0), HdnID.Value.ToEntero, TxtBackgroundColor.Text.Replace("#", "")) Then
|
|
TieneError = True
|
|
Else
|
|
GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa) = Nothing
|
|
End If
|
|
End If
|
|
|
|
If Not TieneError Then
|
|
GvDatos.EditIndex = -1
|
|
'CargaDatos()
|
|
Alert("Estatus actualizado")
|
|
Else
|
|
Alert("Ocurrio un error al actualizar los datos", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
End If
|
|
CargaDatos()
|
|
|
|
ObjEstatusOrdenServicios.Dispose()
|
|
RegistraScript(String.Format("$('#{0}').modal('hide');", "divAddEstatusOS"))
|
|
EstatusUsuariosGridActualizar()
|
|
AsociarEstatusUsuarios()
|
|
CargarUsuarioConEstatus()
|
|
UpDatos.Update()
|
|
UpGvUsuariosEstatus.Update()
|
|
'Response.Redirect(HttpContext.Current.Request.Url.ToString(), True)
|
|
End Sub
|
|
Public Sub Edit_Click(sender As Object, e As EventArgs)
|
|
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
|
DdlTipoEstatus.SelectedValueExist(GvRow.DataKey("TipoEstatus"))
|
|
TxtEstatusOS.Text = GvRow.DataKey("EstatusOrdenServicio")
|
|
ChkEstatus.Checked = If(GvRow.DataKey("Estado").ToString = "Activo", True, False)
|
|
CveEstatuOS = GvRow.DataKey("CveEstatusOrdenServicio").ToEntero
|
|
TxtBackgroundColor.Text = "#" & GvRow.DataKey("BackgroundColor")
|
|
BtnAgregarEstatusOS.Text = "Actualizar"
|
|
divChkEstatus.Visible = True
|
|
UpBodyEstatus.Update()
|
|
UpAddEstatus.Update()
|
|
RegistraScript(String.Format("$('#{0}').modal();", "divAddEstatusOS"))
|
|
End Sub
|
|
|
|
#Region "G V D A T O S"
|
|
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
Dim URL As String = String.Format("javascript:LimpiaModal();SetValue('HdnModalidad', 'U');SetValue('HdnID', '{0}'); SetObjects('{1}');ShowDivRegistro();return false;", e.Row.DBCampo("CveEstatusOrdenServicio").ToEntero, e.Row.DBCampo("EstatusOrdenServicio"))
|
|
'GeneroLigas
|
|
Dim Liga As String = String.Format("<a class=""LinkBlanco"" href=""{0}"">", URL)
|
|
e.Row.VerticalAlign = VerticalAlign.Middle
|
|
e.Row.FCLinkButton("ImgE").OnClientClick = URL
|
|
End If
|
|
End Sub
|
|
Protected Sub GvDatos_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatos.RowDeleting
|
|
Dim ObjEstatusOrdenServicios As New ClsOS
|
|
|
|
Dim CveEstatusOrdenServicio As Integer = GvDatos.Rows(e.RowIndex).DataKey("CveEstatusOrdenServicio").ToEntero
|
|
|
|
If ObjEstatusOrdenServicios.RemoveEstatusOrdenServicio(CveEstatusOrdenServicio) Then
|
|
GvDatos.EditIndex = -1
|
|
DtEstatusOS = ObjEstatusOrdenServicios.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa) = Nothing
|
|
Alert("El Estatus de Orden de Servicio se eliminó correctamente.", TipoMensaje.MsgInformacion)
|
|
End If
|
|
|
|
ObjEstatusOrdenServicios.Dispose()
|
|
CargaDatos()
|
|
UpDatos.Update()
|
|
EstatusUsuariosGridActualizar()
|
|
AsociarEstatusUsuarios()
|
|
CargarUsuarioConEstatus()
|
|
UpGvUsuariosEstatus.Update()
|
|
'Response.Redirect(HttpContext.Current.Request.Url.ToString(), True)
|
|
End Sub
|
|
Protected Sub GvDatos_RowUpdating(sender As Object, e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GvDatos.RowUpdating
|
|
Dim ObjEstatusOrdenServicios As New ClsOS
|
|
Dim EstatusOrdenServicio As String = DirectCast(GvDatos.Rows(e.RowIndex).FindControl("TxtEstatusOrdenServicio"), TextBox).Text.Trim
|
|
Dim Estado As Boolean = GvDatos.Rows(e.RowIndex).FCCheckBox("ChkEstado").Checked
|
|
Dim CveEstatusOrdenServicio As Integer = GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero
|
|
|
|
ObjEstatusOrdenServicios.Dispose()
|
|
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "O R D E N A M I E N T O"
|
|
Private Sub OrdenaDatos()
|
|
If (GvDatos.Rows.Count > 0) Then
|
|
GvDatos.UseAccessibleHeader = True
|
|
GvDatos.HeaderRow.TableSection = TableRowSection.TableHeader
|
|
RegistraScript("OrdenarGV();")
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "Configuracion"
|
|
Private Sub AsociarEstatusUsuarios()
|
|
Dim tableResultado As DataTable = DTUsuarios
|
|
For Each Estatus As DataRow In DtEstatusOS.Rows
|
|
Dim CveColumnaEstatus As String = Estatus.Item("CveEstatusOrdenServicio").ToString
|
|
|
|
If Not tableResultado.Columns.Contains(CveColumnaEstatus) Then
|
|
tableResultado.Columns.Add(CveColumnaEstatus, Type.GetType("System.Boolean"))
|
|
End If
|
|
|
|
For Each Usuario As DataRow In tableResultado.Rows
|
|
Usuario.Item(CveColumnaEstatus) = Not IsNothing(DTEstatusUsuarios.FiltroPrimero(String.Format("CveUsuario = {0} and CveEstatusOrdenServicio = {1}", Usuario.Item("CveUsuario"), CveColumnaEstatus)))
|
|
Next
|
|
|
|
|
|
Next
|
|
DtEstatusUsuariosAsociados = tableResultado
|
|
End Sub
|
|
|
|
Private Sub CargarUsuarioConEstatus()
|
|
Dim nombresUsuarios As New BoundField
|
|
nombresUsuarios.DataField = "Nombre"
|
|
nombresUsuarios.HeaderText = "Usuario"
|
|
nombresUsuarios.ItemStyle.CssClass = "columnaUsuarios"
|
|
GvUsuariosEstatus.Columns.Add(nombresUsuarios)
|
|
For Each Estatus As DataRow In DtEstatusOS.Rows
|
|
Dim test As New CheckBoxField
|
|
test.HeaderText = Estatus.Item("EstatusOrdenServicio").ToString
|
|
test.DataField = Estatus.Item("CveEstatusOrdenServicio").ToString
|
|
GvUsuariosEstatus.Columns.Add(test)
|
|
Next
|
|
GvUsuariosEstatus.DataSource = DtEstatusUsuariosAsociados
|
|
GvUsuariosEstatus.DataBind()
|
|
End Sub
|
|
|
|
Private Sub GvUsuariosEstatus_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvUsuariosEstatus.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
Dim PermisosDeUsuario As DataTable = DTEstatusUsuarios.FiltraParametros(String.Format("CveUsuario = {0}", e.Row.DBCampo("CveUsuario").ToString))
|
|
For i As Integer = 1 To e.Row.Cells.Count - 1
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
Dim checkBox As CheckBox = TryCast(e.Row.Cells(i).Controls(0), CheckBox)
|
|
checkBox.Enabled = True
|
|
End If
|
|
Next
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub GuardarDatosGvUsuariosEstatus(sender As Object, e As EventArgs) Handles BtnGuardarUsuariosEstatus.Click
|
|
If DdlSubProyecto.SelectedValue.ToEntero > 0 Then
|
|
Dim objEstatusOC As New ClsOS
|
|
objEstatusOC.IniciaTransacSQL()
|
|
Dim HuboErrores As Boolean = False
|
|
Dim CveSubProyecto As Integer = DdlSubProyecto.SelectedValue.ToEntero
|
|
|
|
For Each Row As GridViewRow In GvUsuariosEstatus.Rows
|
|
Dim controles As Integer = Row.Controls.Count
|
|
For i As Integer = 1 To Row.Cells.Count - 1
|
|
Dim chk As CheckBox = CType(Row.Cells(i).Controls(0), CheckBox)
|
|
Dim CveEstatus As Integer = DtEstatusOS.FiltroPrimeroValor("CveEstatusOrdenServicio", String.Format("EstatusOrdenServicio = '{0}'", GvUsuariosEstatus.Columns(i).HeaderText)).ToEntero
|
|
If Not chk.Checked Then
|
|
If Not objEstatusOC.RemoveEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero, CveSubProyecto) Then
|
|
HuboErrores = True
|
|
Exit For
|
|
End If
|
|
ElseIf chk.Checked Then
|
|
'Guardado masivo cuando sea SubProyecto "Todos"
|
|
If Not objEstatusOC.AddEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero, CveSubProyecto, UsuarioActual.CveUsuario) Then
|
|
HuboErrores = True
|
|
Exit For
|
|
End If
|
|
End If
|
|
Next
|
|
Next
|
|
|
|
If Not HuboErrores Then
|
|
objEstatusOC.Commit()
|
|
Alert("Se guardaron los Cambios exitosamente", TipoMensaje.MsgInformacion)
|
|
Else
|
|
objEstatusOC.RollBack()
|
|
Alert("Ocurrió un error al guardar los cambios. Por favor vuelva a intentar", TipoMensaje.MsgError)
|
|
End If
|
|
objEstatusOC.Dispose()
|
|
Else
|
|
Alert("Se debe seleccionar un SubProyecto valido", TipoMensaje.MsgAdvertencia)
|
|
EstatusUsuariosGridActualizar()
|
|
CargarTodosLosDatos()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub EstatusUsuariosGridActualizar()
|
|
DtEstatusUsuariosAsociados = Nothing
|
|
GvUsuariosEstatus.DataBind()
|
|
For Contador As Integer = (GvUsuariosEstatus.Columns.Count - 1) To 0 Step -1
|
|
GvUsuariosEstatus.Columns.RemoveAt(Contador)
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub Proyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
|
|
CargarSubProyecto(DdlSubProyecto, DdlProyecto.SelectedValue)
|
|
'CargaDatos()
|
|
EstatusUsuariosGridActualizar()
|
|
CargarTodosLosDatos()
|
|
UpGvUsuariosEstatus.Update()
|
|
End Sub
|
|
|
|
Private Sub SubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSubProyecto.SelectedIndexChanged
|
|
EstatusUsuariosGridActualizar()
|
|
CargarTodosLosDatos()
|
|
End Sub
|
|
#End Region
|
|
End Class
|