Estatus OC Evitar recursividad

This commit is contained in:
Rakcsle Supertramp
2020-07-06 17:53:50 -07:00
parent 13d3c2ec45
commit eb6e25252d
2 changed files with 18 additions and 4 deletions

View File

@@ -1431,7 +1431,7 @@ Public Class ClsOC
Return Retorno Return Retorno
End Function End Function
Public Function UpdateEstatus(Estatus As String, Tipo As String, CveEstatusSiguiente As Integer, TipoTermino As Integer, EstatusActivo As Boolean, EsCancelable As Boolean, CveEstatus As Integer) As Boolean Public Function UpdateEstatus(Estatus As String, Tipo As String, CveEstatusSiguiente As Integer, TipoTermino As Integer, EstatusActivo As Boolean, EsCancelable As Boolean, CveEstatus As Integer, EsatatusSiguiente As String) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_OC_EstatusUpdate") DataAdapter("PA_OC_EstatusUpdate")
@@ -1452,6 +1452,9 @@ Public Class ClsOC
Catch Ex1 As SqlException Catch Ex1 As SqlException
If Ex1.Message.Contains("Número: 2627;") Then If Ex1.Message.Contains("Número: 2627;") Then
Alert("Ya existe un Estatus con el mismo nombre: " & Estatus & ".", TipoMensaje.MsgAdvertencia) Alert("Ya existe un Estatus con el mismo nombre: " & Estatus & ".", TipoMensaje.MsgAdvertencia)
ElseIf Ex1.Message.Contains("Número: 530;") Then
Alert($"La asiganación del campo estatus siguiente <b>{EsatatusSiguiente}</b> esta creando problema de recursividad.", TipoMensaje.MsgAdvertencia)
Else Else
Me.OnError("Ocurrió un error al guardar los cambios en el Estatus", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) Me.OnError("Ocurrió un error al guardar los cambios en el Estatus", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End If End If

View File

@@ -165,16 +165,27 @@ Partial Class OC_CatEstatus
Private Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click Private Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
Dim TieneError = False Dim TieneError = False
Dim ObjEstatus As New ClsOC Dim ObjEstatus As New ClsOC
'No quitar transacción la transacción es por que el update puede generar recursividad en la vista Vw_OC_Estatus error 530
ObjEstatus.IniciaTransacSQL()
If HdnModalidad.Value = "I" Then If HdnModalidad.Value = "I" Then
If Not ObjEstatus.AddEstatus(TxtEstatus.Text.Trim, DdlTipo.SelectedValue.ToString, DdlEstatusSiguiente.SelectedValue.ToEntero, DdlTipoTermino.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then If Not ObjEstatus.AddEstatus(TxtEstatus.Text.Trim, DdlTipo.SelectedValue.ToString, DdlEstatusSiguiente.SelectedValue.ToEntero, DdlTipoTermino.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
TieneError = True TieneError = True
End If End If
Else Else
If Not ObjEstatus.UpdateEstatus(TxtEstatus.Text.Trim, DdlTipo.SelectedValue.ToString, DdlEstatusSiguiente.SelectedValue.ToEntero, DdlTipoTermino.SelectedValue.ToEntero, ChkEstatus.Checked, ChkCancelable.Checked, CveEstatus) Then If Not ObjEstatus.UpdateEstatus(TxtEstatus.Text.Trim, DdlTipo.SelectedValue.ToString, DdlEstatusSiguiente.SelectedValue.ToEntero, DdlTipoTermino.SelectedValue.ToEntero, ChkEstatus.Checked, ChkCancelable.Checked, CveEstatus, DdlEstatusSiguiente.SelectedItem.Text) Then
TieneError = True TieneError = True
End If End If
End If End If
If TieneError Then
ObjEstatus.RollBack()
Else
ObjEstatus.Commit()
End If
ObjEstatus.Dispose() ObjEstatus.Dispose()
If Not TieneError Then If Not TieneError Then
@@ -189,7 +200,7 @@ Partial Class OC_CatEstatus
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarEstatus")) RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarEstatus"))
CargaDatos() CargaDatos()
Else Else
Alert("Ocurrió un error al guardar/editar estatus de órden de compra", TipoMensaje.MsgError) 'Alert("Ocurrió un error al guardar/editar estatus de órden de compra", TipoMensaje.MsgError)
End If End If
End Sub End Sub