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
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
DataAdapter("PA_OC_EstatusUpdate")
@@ -1452,6 +1452,9 @@ Public Class ClsOC
Catch Ex1 As SqlException
If Ex1.Message.Contains("Número: 2627;") Then
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
Me.OnError("Ocurrió un error al guardar los cambios en el Estatus", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
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
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 Not ObjEstatus.AddEstatus(TxtEstatus.Text.Trim, DdlTipo.SelectedValue.ToString, DdlEstatusSiguiente.SelectedValue.ToEntero, DdlTipoTermino.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
TieneError = True
End If
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
End If
End If
If TieneError Then
ObjEstatus.RollBack()
Else
ObjEstatus.Commit()
End If
ObjEstatus.Dispose()
If Not TieneError Then
@@ -189,7 +200,7 @@ Partial Class OC_CatEstatus
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarEstatus"))
CargaDatos()
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 Sub