- Se traslada versión a git desde tfs
This commit is contained in:
149
ErrorValidacion.vb
Normal file
149
ErrorValidacion.vb
Normal file
@@ -0,0 +1,149 @@
|
||||
Imports DevExpress.Xpf.Editors.Helpers
|
||||
Imports DevExpress.Xpf.Editors.Validation
|
||||
Imports DevExpress.Xpf.Core
|
||||
Imports DevExpress.Xpf.Docking
|
||||
|
||||
Public Class ErrorValidacion
|
||||
Public id As String
|
||||
Public Objeto As Object
|
||||
Public ErrorContent As Object
|
||||
Public Excepcion As Exception
|
||||
Public Tipo As DevExpress.XtraEditors.DXErrorProvider.ErrorType
|
||||
Public Sub New(id As String, Objeto As Object, ErrorContent As Object, excepcion As Exception, tipo As DevExpress.XtraEditors.DXErrorProvider.ErrorType)
|
||||
Me.id = id
|
||||
Me.Objeto = Objeto
|
||||
Me.ErrorContent = ErrorContent
|
||||
Me.Excepcion = excepcion
|
||||
Me.Tipo = tipo
|
||||
End Sub
|
||||
|
||||
'Public Sub New(Objeto As Object, ErrorContent As Object, excepcion As Exception, tipo As DevExpress.XtraEditors.DXErrorProvider.ErrorType)
|
||||
' Me.id = Objeto.name
|
||||
' Me.Objeto = Objeto
|
||||
' Me.ErrorContent = ErrorContent
|
||||
' Me.Excepcion = excepcion
|
||||
' Me.Tipo = tipo
|
||||
'End Sub
|
||||
End Class
|
||||
Public Class ErroresValidacion
|
||||
Public Errores As New List(Of ErrorValidacion)
|
||||
' Private ApCabLin As ApCabLin
|
||||
Private PanelErrores As LayoutPanel
|
||||
Public ReadOnly Property Count As Integer
|
||||
Get
|
||||
Return Errores.Count
|
||||
End Get
|
||||
End Property
|
||||
'Public Sub New(apcablin As ApCabLin)
|
||||
' Me.ApCabLin = apcablin
|
||||
'End Sub
|
||||
Public Sub New(PanelErrores As LayoutPanel)
|
||||
Me.PanelErrores = PanelErrores
|
||||
End Sub
|
||||
|
||||
|
||||
Public Sub AgregaError(ErrorValidacion As ErrorValidacion, e As DevExpress.Xpf.Editors.ValidationEventArgs)
|
||||
Try
|
||||
Dim ev = (From er In Errores Select er Where er.id = ErrorValidacion.id)
|
||||
If ev.Count = 0 Then
|
||||
Errores.Add(ErrorValidacion)
|
||||
Else
|
||||
ev.First.Objeto = ErrorValidacion.Objeto
|
||||
ev.First.ErrorContent = ErrorValidacion.ErrorContent
|
||||
ev.First.Excepcion = ErrorValidacion.Excepcion
|
||||
ev.First.Tipo = ErrorValidacion.Tipo
|
||||
End If
|
||||
MuestraErrores()
|
||||
If (e Is Nothing OrElse e.IsValid) Then
|
||||
If ErrorValidacion.Objeto IsNot Nothing Then BaseEditHelper.SetValidationError(ErrorValidacion.Objeto, New BaseValidationError(ErrorValidacion.ErrorContent, ErrorValidacion.Excepcion, ErrorValidacion.Tipo))
|
||||
Else
|
||||
If Not e.IsValid Then
|
||||
e.SetError(ErrorValidacion.ErrorContent, ErrorValidacion.Tipo)
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
DXMessageBox.Show(ex.Message, "Error")
|
||||
End Try
|
||||
End Sub
|
||||
Public Sub EliminaError(id As String)
|
||||
Try
|
||||
Dim ev = (From er In Errores Select er Where er.id = id)
|
||||
If ev.Count > 0 Then
|
||||
BaseEditHelper.SetValidationError(ev.First.Objeto, Nothing)
|
||||
Errores.Remove(ev.First)
|
||||
If Errores.Count = 0 AndAlso PanelErrores.Visibility <> Visibility.Hidden Then
|
||||
PanelErrores.GetDockLayoutManager.DockController.Hide(PanelErrores)
|
||||
PanelErrores.Visibility = Visibility.Hidden
|
||||
Else
|
||||
RellenaErrores()
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
DXMessageBox.Show(ex.Message, "Error")
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub LimpiarErrores(Patron As String)
|
||||
Try
|
||||
Dim i As Integer
|
||||
Dim ev As ErrorValidacion
|
||||
For i = Errores.Count - 1 To 0 Step -1
|
||||
ev = Errores(i)
|
||||
If Errores(i).id.ToLower.StartsWith(Patron.ToLower) Then
|
||||
If Not ev.Objeto Is Nothing Then
|
||||
BaseEditHelper.SetValidationError(ev.Objeto, Nothing)
|
||||
End If
|
||||
Errores.Remove(ev)
|
||||
End If
|
||||
Next
|
||||
If Errores.Count = 0 AndAlso PanelErrores.Visibility <> Visibility.Hidden Then
|
||||
PanelErrores.GetDockLayoutManager.DockController.Hide(PanelErrores)
|
||||
PanelErrores.Visibility = Visibility.Hidden
|
||||
End If
|
||||
Catch ex As Exception
|
||||
DXMessageBox.Show(ex.Message, "Error")
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Friend Sub LimpiarErrores(Optional SoloCritical As Boolean = True)
|
||||
Try
|
||||
Dim i As Integer
|
||||
Dim ev As ErrorValidacion
|
||||
|
||||
For i = Errores.Count - 1 To 0 Step -1
|
||||
If Not SoloCritical OrElse Errores(i).Tipo = DevExpress.XtraEditors.DXErrorProvider.ErrorType.Critical Then
|
||||
ev = Errores(i)
|
||||
If Not ev.Objeto Is Nothing Then
|
||||
BaseEditHelper.SetValidationError(ev.Objeto, Nothing)
|
||||
End If
|
||||
Errores.Remove(ev)
|
||||
End If
|
||||
Next
|
||||
If PanelErrores.Visibility <> Visibility.Hidden Then
|
||||
PanelErrores.GetDockLayoutManager.DockController.Hide(PanelErrores)
|
||||
PanelErrores.Visibility = Visibility.Hidden
|
||||
End If
|
||||
Catch ex As Exception
|
||||
DXMessageBox.Show(ex.Message, "Error")
|
||||
End Try
|
||||
|
||||
|
||||
End Sub
|
||||
Sub MuestraErrores()
|
||||
Try
|
||||
RellenaErrores()
|
||||
Dim dm = PanelErrores.GetDockLayoutManager
|
||||
dm.DockController.Dock(PanelErrores)
|
||||
PanelErrores.Visibility = Visibility.Visible
|
||||
Catch ex As Exception
|
||||
DXMessageBox.Show(ex.Message, "Error")
|
||||
End Try
|
||||
End Sub
|
||||
Sub RellenaErrores()
|
||||
Dim ecvs As New CollectionViewSource
|
||||
Dim le = (From er In Errores Select er.ErrorContent).ToList
|
||||
PanelErrores.DataContext = le
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user