From 5796098232ab8f72c22137fe48e4040b3df54cfb Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Mon, 30 Sep 2019 13:27:09 -0500 Subject: [PATCH] CatEstatus listo en sitio falta checar los PA --- OS/CatEstatusOrdenServicio.aspx | 177 +---------------------------- OS/CatEstatusOrdenServicio.aspx.vb | 152 +++++++++++-------------- 2 files changed, 72 insertions(+), 257 deletions(-) diff --git a/OS/CatEstatusOrdenServicio.aspx b/OS/CatEstatusOrdenServicio.aspx index 86eb74cc2..c613e70b4 100644 --- a/OS/CatEstatusOrdenServicio.aspx +++ b/OS/CatEstatusOrdenServicio.aspx @@ -114,12 +114,12 @@ - + - + - + @@ -129,177 +129,10 @@ - - - - - - - -
- - - - -
-
-
- - - - - - - - -
- - - - -
-
-
- - - - - - - - - -
- - - - -
-
-
- - - - - - - - - -
- - - - -
-
-
- - - - - - - - - -
- - - - -
-
-
- - - - - - - - - -
- - - - -
-
-
- - - - - - - - - -
- - - - -
-
-
- - - - - - - - - -
- - - - -
-
-
- - - - - - - - - -
- - - - -
-
-
- - - - - - - - - -
- - - - -
-
-
-
- +
+
diff --git a/OS/CatEstatusOrdenServicio.aspx.vb b/OS/CatEstatusOrdenServicio.aspx.vb index 71ccfd3a3..855413f00 100644 --- a/OS/CatEstatusOrdenServicio.aspx.vb +++ b/OS/CatEstatusOrdenServicio.aspx.vb @@ -42,18 +42,34 @@ Partial Class OS_CatEstatusOrdenServicio 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 + DTUsuarios = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa) CargaDatos() - CreaGrid("Req") - CargaGridEstatusUsuarios() - ViewState("Orden") = "" - + 'CreaGrid() + 'CargaGridEstatusUsuarios() + AsociarEstatusUsuarios() + CargarUsuarioConEstatus() CveEstatuOS = -1 - End If End Sub @@ -171,79 +187,65 @@ Partial Class OS_CatEstatusOrdenServicio #End Region #Region "Configuracion" - Private Sub CreaGrid(Tipo As String) - Dim i As Integer = 1 - - For Each Row As DataRow In GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).Rows - - GvEstatusUsuarios.Columns(i).HeaderText = Row("EstatusOrdenServicio").ToString.ToUpper - GvEstatusUsuarios.Columns(i).FooterText = Row("CveEstatusOrdenServicio").ToString - - i += 1 + Private Sub AsociarEstatusUsuarios() + Dim tableResultado As DataTable = DTUsuarios + For Each Estatus As DataRow In DtEstatusOS.Rows + Dim CveColumnaEstatus As String = Estatus.Item("CveEstatusOrdenServicio").ToString + tableResultado.Columns.Add(CveColumnaEstatus, Type.GetType("System.Boolean")) + 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 - - While i <= 10 - GvEstatusUsuarios.Columns(i).Visible = False - i += 1 - End While + DtEstatusUsuariosAsociados = tableResultado End Sub - Protected Sub CargaGridEstatusUsuarios() - GvEstatusUsuarios.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa) - GvEstatusUsuarios.DataBind() - 'UPPEmp.Update() + Private Sub CargarUsuarioConEstatus() + 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 + Prueba.Columns.Add(test) + Next + Prueba.DataSource = DtEstatusUsuariosAsociados + Prueba.DataBind() End Sub - Protected Sub btnGuardarEstatusUsuariosREQ_Click(sender As Object, e As EventArgs) Handles btnGuardarEstatusUsuariosREQ.Click + Private Sub Prueba_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles Prueba.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 GuardarDatosPrueba(sender As Object, e As EventArgs) Handles BtnGuardarPruebas.Click Dim objEstatusOC As New ClsOS objEstatusOC.IniciaTransacSQL() Dim HuboErrores As Boolean = False Dim CveSubProyecto = 59 - For Each Row As GridViewRow In GvEstatusUsuarios.Rows - Dim r As Integer = 1 - For i = 0 To Row.Cells.Count - 1 - - Dim CveEstatus As Integer = If(IsNumeric(GvEstatusUsuarios.Columns(i).FooterText), GvEstatusUsuarios.Columns(i).FooterText.ToEntero, 0) - - If CveEstatus > 0 Then - - If Row.FCCheckBox("chkEstatus" + r.ToString).Checked = False Then - 'Eliminar el registro existente - If Not objEstatusOC.RemoveEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero) Then - HuboErrores = True - Exit For - End If - ElseIf Row.FCCheckBox("chkEstatus" + r.ToString).Checked = True Then - 'Guardado masivo cuando sea SubProyecto "Todos" - If CveSubProyecto = -2 Then - For Each dr As DataRow In GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa).Rows - If Not objEstatusOC.AddEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero, CveSubProyecto) Then - HuboErrores = True - Exit For - End If - Next - If HuboErrores Then - Exit For - End If - - 'Insertar el nuevo registro - Else - If Not objEstatusOC.AddEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero, CveSubProyecto) Then - HuboErrores = True - Exit For - End If - End If - + For Each Row As GridViewRow In Prueba.Rows + Dim controles As Integer = Row.Controls.Count + For i = 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}'", Prueba.Columns(i).HeaderText)).ToEntero + If Not chk.Checked Then + If Not objEstatusOC.RemoveEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero) 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) Then + HuboErrores = True + Exit For End If - r += 1 End If Next - - 'Si tubo algun error terminamos el proceso (FOR) - If HuboErrores Then - Exit For - End If Next If Not HuboErrores Then @@ -253,27 +255,7 @@ Partial Class OS_CatEstatusOrdenServicio objEstatusOC.RollBack() Alert("Ocurrió un error al guardar los cambios. Por favor vuelva a intentar", TipoMensaje.MsgError) End If - objEstatusOC.Dispose() - CargaDatos() - CargaGridEstatusUsuarios() - End Sub - - Protected Sub GvEstatusUsuarios_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEstatusUsuarios.RowDataBound - If e.Row.RowType = DataControlRowType.DataRow Then - Dim PermisosDeUsuario As DataTable = DTEstatusUsuarios.FiltraParametros(String.Format("CveUsuario = {0}", e.Row.DBCampo("CveUsuario").ToString)) - Dim CveUsuario As String = e.Row.DBCampo("CveUsuario").ToString - For i As Integer = 1 To 10 - Dim CveEstatus As Integer = GvEstatusUsuarios.Columns(i).FooterText.ToEntero - If CveEstatus > 0 Then - Dim auxiliarBandera As DataRow = PermisosDeUsuario.FiltroPrimero(String.Format("CveEstatusOrdenServicio = {0}", CveEstatus.ToString)) - If auxiliarBandera IsNot Nothing Then - Dim chkEstatus As CheckBox = e.Row.FCCheckBox(String.Format("chkEstatus{0}", i)) - chkEstatus.Checked = True - End If - End If - Next - End If End Sub #End Region End Class