Files
SIG/OS/CatEstatusOrdenServicio.aspx.vb

280 lines
11 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
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CargaDatos()
CreaGrid("Req")
CargaGridEstatusUsuarios()
ViewState("Orden") = ""
CveEstatuOS = -1
End If
End Sub
Public Sub CargaDatos()
Using ObjEstatusOrdenServicios As New ClsOS
If ObjEstatusOrdenServicios.GetEstatusOrdenServicio() Then
DtEstatusOS = ObjEstatusOrdenServicios.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
GvDatos.DataSource = DtEstatusOS
GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa) = ObjEstatusOrdenServicios.DtResultados
End If
If ObjEstatusOrdenServicios.GetEstatusUsuarios(-1, -1) 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
BtnAgregarEstatusOS.Text = "Agregar"
UpFooter.Update()
RegistraScript("$('#divAddEstatusOS').modal();LimpiaModal()")
End Sub
Private Sub BtnAgregarEstatusOS_Click(sender As Object, e As EventArgs) Handles BtnAgregarEstatusOS.Click
Dim ObjEstatusOrdenServicios As New ClsOS
Dim TieneError = False
If HdnModalidad.Value = "I" Then
If ObjEstatusOrdenServicios.AddEstatusOrdenServicio(TxtEstatusOS.Text.Trim, DdlTipoEstatus.SelectedValue.ToEntero, If(ChkEstatus.Checked, 1, 0), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
CargaDatos()
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) Then
TieneError = True
End If
End If
If Not TieneError Then
GvDatos.EditIndex = -1
CargaDatos()
Else
Alert("Ocurrio un error al actualizar los datos", TipoMensaje.MsgAdvertencia)
End If
End If
ObjEstatusOrdenServicios.Dispose()
CargaDatos()
UpDatos.Update()
RegistraScript("$('#divAddEstatusOS').modal('hide');")
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
BtnAgregarEstatusOS.Text = "Actualizar"
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) = ObjEstatusOrdenServicios.DtResultados
Alert("El Estatus de Orden de Servicio se eliminó correctamente.", TipoMensaje.MsgInformacion)
End If
ObjEstatusOrdenServicios.Dispose()
CargaDatos()
UpDatos.Update()
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 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
Next
While i <= 10
GvEstatusUsuarios.Columns(i).Visible = False
i += 1
End While
End Sub
Protected Sub CargaGridEstatusUsuarios()
GvEstatusUsuarios.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa)
GvEstatusUsuarios.DataBind()
'UPPEmp.Update()
End Sub
Protected Sub btnGuardarEstatusUsuariosREQ_Click(sender As Object, e As EventArgs) Handles btnGuardarEstatusUsuariosREQ.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
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
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()
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