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