Files
SanchoToro/GestionGrupoSanchoToro/ucProceso.xaml.vb
2026-01-23 12:45:41 +01:00

129 lines
4.7 KiB
VB.net

Imports tsWPFCore
Imports bdGrupoSanchoToro.db
Imports System.Collections
Imports bdGrupoSanchoToro.db.tscGrupoSanchoToro
Imports bdGrupoSanchoToro.db.Utilidades
Public Class ucProceso
Private bd As tscGrupoSanchoToro
Dim _idProceso As Integer?
Public Overrides Sub Cargado()
Me.Tipo_ucControlBusqueda = GetType(ucProcesos)
End Sub
Public Overrides Function EstablecedcPrincipal(Optional Background As Boolean = False, Optional FuerzaNuevo As Boolean = False, Optional Refrescar As Boolean = False) As tsUtilidades.EstadosAplicacion
Dim NuevoEstado As tsUtilidades.EstadosAplicacion
Dim ra As procesos
If FuerzaNuevo OrElse _idProceso Is Nothing Then
ra = New procesos
Dim fi As New ficheros
fi.idTipo = bd.enumeraciones.First(Function(x) x.Codigo = "TIPFIC.RUTINA").idEnumeracion
ra.idFicheroNavigation = fi
Me.DataContext = ra
_idProceso = Nothing
NuevoEstado = tsUtilidades.EstadosAplicacion.Nuevo
Else
ra = bd.procesos.First(Function(x) x.idProceso = _idProceso.Value)
NuevoEstado = tsUtilidades.EstadosAplicacion.ModificandoRegistro
If ra.idFichero.HasValue = False Then
Dim fi As New ficheros
fi.idTipo = bd.enumeraciones.First(Function(x) x.Codigo = "TIPFIC.RUTINA").idEnumeracion
ra.idFicheroNavigation = fi
End If
If ra.idFicheroNavigation.Fichero IsNot Nothing Then Me.teRutina.EditValue = System.Text.Encoding.UTF8.GetString(ra.idFicheroNavigation.Fichero)
End If
Me.DataContext = ra
Return NuevoEstado
End Function
Public Overrides Sub EstableceDataContextSecundarios(Optional Background As Boolean = False)
Dim tipo = (From enumeracion In bd.enumeraciones Select enumeracion Where enumeracion.idGrupoEnumeracionNavigation.Grupo = "TIPPROC").ToList
cbTipo.ItemsSource = tipo
Dim permisos = (From permiso In bd.permisos Select permiso).ToList
cbPermiso.ItemsSource = permisos
End Sub
Public Overrides Sub EstableceTitulo()
If Me.Estado = tsUtilidades.EstadosAplicacion.ModificandoRegistro Then
Dim ra As procesos = CType(Me.DataContext, procesos)
Me.docpanel.Caption = "Proceso " & ra.idProceso.ToString
Me.docpanel.Tag = "Proceso." & ra.idProceso.ToString
Else
Me.docpanel.Caption = "Proceso Nuevo"
Me.docpanel.Tag = "Proceso.Nuevo"
End If
End Sub
Public Overrides ReadOnly Property idRegistroAplicacionActual As String
Get
If Estado = tsUtilidades.EstadosAplicacion.Nuevo Then
Return "Proceso.Nuevo"
Else
Return "Proceso." & DirectCast(Me.DataContext, procesos).idProceso.ToString
End If
End Get
End Property
Public Overrides ReadOnly Property NombreTablaBase As String
Get
Return "procesos"
End Get
End Property
Public Overrides ReadOnly Property DescripcionRegistro As String
Get
Return "Proceso"
End Get
End Property
Public Overrides Function ObtieneBD() As tsUtilidades.ItsContexto
bd = tscGrupoSanchoToro.NuevoContexto()
Return bd
End Function
Public Overrides Function ObtienePermisos() As tsUtilidades.Permisos
Return Comun.ObtienePermisos(Me.bd, "AP.ADMINISTRATIVOS", idUsuario)
End Function
Public Sub New(Optional idProceso As Integer? = Nothing)
' Llamada necesaria para el diseñador.
InitializeComponent()
_idProceso = idProceso
' Agregue cualquier inicialización después de la llamada a InitializeComponent().
End Sub
Private Sub ap_AntesGuardar(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs, ByRef Cancelar As Boolean, ByRef MensajesError As Hashtable, OpcionGuardado As Integer) Handles Me.AntesGuardar
Dim ra As procesos = CType(Me.DataContext, procesos)
If teRutina.EditValue IsNot Nothing Then
ra.idFicheroNavigation.Fichero = System.Text.Encoding.UTF8.GetBytes(teRutina.EditValue.ToString)
Else
ra.idFicheroNavigation.Fichero = Nothing
End If
ra.idFicheroNavigation.Fecha = Now
End Sub
Private Sub ap_DespuesGuardar(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs, OpcionGuardado As Integer) Handles Me.DespuesGuardar
Dim ra As procesos = CType(Me.DataContext, procesos)
ra.idFicheroNavigation.NombreFichero = "RUTINA" & ra.idProceso.ToString & ".vb"
bd.GuardarCambios()
_idProceso = ra.idProceso
End Sub
End Class