117 lines
7.1 KiB
VB.net
117 lines
7.1 KiB
VB.net
Imports tsWPFCore
|
|
Imports bdGrupoSanchoToro
|
|
Imports bdGrupoSanchoToro.db
|
|
|
|
Public Class FuncionesDinamicas
|
|
|
|
Public Shared Function AbrirAplicacion(Tipo As String, Parametros As String, OtrosParametros As String) As Object
|
|
Dim t As Type = tsUtilidades.Utilidades.FindType(Tipo)
|
|
Dim uc As tsUserControl = t.GetConstructor(New System.Type() {}).Invoke(New Object() {})
|
|
uc.AbreAplicacionEnPestaña(Comun.dg,, AddressOf Diseño, AddressOf ErrorNoControladoAp, OtrosParametros)
|
|
Return uc
|
|
End Function
|
|
|
|
|
|
Private Shared Sub DelegadoEliminarPlantilla(idDiseño As Integer)
|
|
Dim bd = tscGrupoSanchoToro.NuevoContexto
|
|
bd.Remove(bd.ficherosconfiguracion.First(Function(x) x.idFicheroConfiguracion = idDiseño))
|
|
bd.GuardarCambios()
|
|
End Sub
|
|
|
|
|
|
Friend Shared Sub ErrorNoControladoAp(Aplicacion As tsUserControl, ex As Exception)
|
|
Comun.GeneraRegistroCorreoExcepcion(Nothing, ex, Aplicacion.GetType.ToString)
|
|
End Sub
|
|
Friend Shared Sub ErrorNoControladoAp(Aplicacion As String, ex As Exception)
|
|
Comun.GeneraRegistroCorreoExcepcion(Nothing, ex, Aplicacion)
|
|
End Sub
|
|
|
|
Friend Shared Sub AbrirAP(uc As tsUserControl, OtrosParametros As String)
|
|
uc.AbreAplicacionEnPestaña(Comun.dg,, AddressOf Diseño, AddressOf ErrorNoControladoAp, OtrosParametros)
|
|
End Sub
|
|
|
|
Private Shared Function Diseño(bd As Object, Operacion As OperacionDiseñoEnum, CodigoAplicacion As String, ByRef DescripcionDiseño As String, ByRef TodosUsuarios As Boolean, DiseñoActual() As Byte) As Byte()
|
|
Try
|
|
Dim tu = TodosUsuarios
|
|
' Dim CodigoAplicacion As String = apl.uc.GetType.ToString
|
|
Select Case Operacion
|
|
Case tsWPFCore.OperacionDiseñoEnum.ABRIR
|
|
Dim bdp = DirectCast(bd, tscGrupoSanchoToro)
|
|
If bdp.ficherosconfiguracion.Any(Function(x) x.Codigo = CodigoAplicacion AndAlso x.idUsuario = bdGrupoSanchoToro.db.Utilidades.idUsuario AndAlso (x.Descripcion Is Nothing OrElse x.Descripcion = "")) Then
|
|
Dim f = bdp.ficherosconfiguracion.Where(Function(x) x.Codigo = CodigoAplicacion AndAlso x.idUsuario = bdGrupoSanchoToro.db.Utilidades.idUsuario).First
|
|
Return f.Configuracion
|
|
Else
|
|
Return Nothing
|
|
End If
|
|
Case tsWPFCore.OperacionDiseñoEnum.ABRIR_DISEÑO_GUARDADO
|
|
Dim bdp = DirectCast(bd, tscGrupoSanchoToro)
|
|
|
|
Dim ld As List(Of tsWPFCore.DiseñoGuardado) = (From fc In bdp.ficherosconfiguracion Select fc.idFicheroConfiguracion, fc.idUsuario, fc.Descripcion, fc.Codigo Where Codigo = CodigoAplicacion AndAlso ((idUsuario.HasValue AndAlso idUsuario = bdGrupoSanchoToro.db.Utilidades.idUsuario) OrElse idUsuario.HasValue = False) Select New DiseñoGuardado With {.Descripcion = Descripcion, .TodosLosUsuarios = (idUsuario.HasValue = False), .idDiseño = idFicheroConfiguracion}).ToList
|
|
|
|
Dim dxwd As New dxwDiseñoColumnas(CodigoAplicacion, DescripcionDiseño, TodosUsuarios, True, ld, AddressOf DelegadoEliminarPlantilla)
|
|
If dxwd.ShowDialog Then
|
|
Dim f = bdp.ficherosconfiguracion.First(Function(x) x.idFicheroConfiguracion = dxwd._IdDiseño)
|
|
TodosUsuarios = dxwd._TodosLosUsuarios
|
|
DescripcionDiseño = dxwd._Descripcion
|
|
Return f.Configuracion
|
|
Else
|
|
Return Nothing
|
|
End If
|
|
Case tsWPFCore.OperacionDiseñoEnum.GUARDAR
|
|
Dim bdp = tscGrupoSanchoToro.NuevoContexto
|
|
Dim fichero As ficherosconfiguracion
|
|
If bdp.ficherosconfiguracion.Any(Function(x) x.Codigo = CodigoAplicacion AndAlso x.idUsuario = bdGrupoSanchoToro.db.Utilidades.idUsuario AndAlso (x.Descripcion Is Nothing OrElse x.Descripcion = "")) Then
|
|
fichero = bdp.ficherosconfiguracion.Where(Function(x) x.Codigo = CodigoAplicacion AndAlso x.idUsuario = bdGrupoSanchoToro.db.Utilidades.idUsuario AndAlso (x.Descripcion Is Nothing OrElse x.Descripcion = "")).First
|
|
Else
|
|
fichero = New ficherosconfiguracion
|
|
fichero.Codigo = CodigoAplicacion
|
|
fichero.idUsuario = bdGrupoSanchoToro.db.Utilidades.idUsuario
|
|
fichero.Descripcion = Nothing
|
|
bdp.ficherosconfiguracion.Add(fichero)
|
|
End If
|
|
fichero.Configuracion = DiseñoActual
|
|
bdp.GuardarCambios()
|
|
Diseño = Nothing
|
|
|
|
|
|
Case tsWPFCore.OperacionDiseñoEnum.GUARDAR_COMO
|
|
Dim bdp = DirectCast(bd, tscGrupoSanchoToro)
|
|
Dim ld As List(Of tsWPFCore.DiseñoGuardado) = (From fc In bdp.ficherosconfiguracion Select fc.idFicheroConfiguracion, fc.idUsuario, fc.Descripcion, fc.Codigo Where Codigo = CodigoAplicacion AndAlso ((idUsuario.HasValue AndAlso idUsuario = bdGrupoSanchoToro.db.Utilidades.idUsuario) OrElse idUsuario.HasValue = False) Select New DiseñoGuardado With {.Descripcion = Descripcion, .TodosLosUsuarios = (idUsuario.HasValue = False), .idDiseño = idFicheroConfiguracion}).ToList
|
|
|
|
Dim dxwd As New dxwDiseñoColumnas(CodigoAplicacion, DescripcionDiseño, TodosUsuarios, False, ld, AddressOf DelegadoEliminarPlantilla)
|
|
|
|
If dxwd.ShowDialog Then
|
|
Dim f As ficherosconfiguracion
|
|
TodosUsuarios = dxwd._TodosLosUsuarios
|
|
DescripcionDiseño = dxwd._Descripcion
|
|
If dxwd._IdDiseño.HasValue Then
|
|
f = bdp.ficherosconfiguracion.First(Function(x) x.idFicheroConfiguracion = dxwd._IdDiseño)
|
|
Else
|
|
f = New ficherosconfiguracion
|
|
bdp.ficherosconfiguracion.Add(f)
|
|
f.Codigo = CodigoAplicacion
|
|
f.Descripcion = dxwd._Descripcion
|
|
End If
|
|
f.idUsuario = Nothing
|
|
If dxwd._TodosLosUsuarios = False Then f.idUsuario = bdGrupoSanchoToro.db.Utilidades.idUsuario
|
|
f.Configuracion = DiseñoActual
|
|
bdp.GuardarCambios()
|
|
End If
|
|
Return Nothing
|
|
Case Else ' tsWPFCore.OperacionDiseñoEnum.RESTAURAR
|
|
Dim bdp = tscGrupoSanchoToro.NuevoContexto
|
|
If bdp.ficherosconfiguracion.Any(Function(x) x.Codigo = CodigoAplicacion AndAlso x.idUsuario = bdGrupoSanchoToro.db.Utilidades.idUsuario) Then
|
|
bdp.Remove(bdp.ficherosconfiguracion.Where(Function(x) x.Codigo = CodigoAplicacion AndAlso x.idUsuario = bdGrupoSanchoToro.db.Utilidades.idUsuario).First)
|
|
bdp.GuardarCambios()
|
|
End If
|
|
Return Nothing
|
|
End Select
|
|
Catch EX As Exception
|
|
Throw
|
|
End Try
|
|
End Function
|
|
|
|
|
|
|
|
End Class
|