Agregar archivos de proyecto.
This commit is contained in:
557
Obsoleto/ApLineas.vb
Normal file
557
Obsoleto/ApLineas.vb
Normal file
@@ -0,0 +1,557 @@
|
||||
Imports System.ComponentModel
|
||||
Imports DevExpress.Xpf.Editors
|
||||
Imports System.Data.Objects
|
||||
Imports System.Data.Objects.DataClasses
|
||||
Imports System.Data.Metadata.Edm
|
||||
Imports System.Data
|
||||
Imports System.Collections.Specialized
|
||||
Imports tsl5
|
||||
Imports DevExpress.Xpf.Core
|
||||
Imports DevExpress.Xpf.Core.Native
|
||||
Imports DevExpress.Xpf.Grid
|
||||
Imports System.Data.EntityClient
|
||||
Imports System.Data.Common
|
||||
Imports DevExpress.Xpf.Docking
|
||||
'Imports System.Data.Entity.Core.Objects
|
||||
'Imports System.Data.Entity.Infrastructure
|
||||
Imports DevExpress.Mvvm
|
||||
Imports DevExpress.Xpf.Editors.Settings
|
||||
Imports DevExpress.Xpf.Printing
|
||||
Imports tsWPF.Controles
|
||||
Imports System.Threading.Tasks
|
||||
|
||||
Public Interface IApLineas
|
||||
'Function ConfiguraApLineas(dcfg As Datos.DatosConfiguracionCliente, dcn As Datos.DatosConexionCliente, dsc As Datos.DatosSesionCliente, OtrosParametros As String) As ApLineas
|
||||
Function ObtieneRejilla() As tsGridControl
|
||||
ReadOnly Property Titulo As String
|
||||
' ReadOnly Property CampoIndice As String
|
||||
ReadOnly Property NombreTablaBase As String
|
||||
Function ObtieneContexto(dcn As tsl5.Datos.DatosConexionCliente) As System.Data.Objects.ObjectContext
|
||||
Function ObtieneCampoIndice() As String
|
||||
Sub EstableceDataContext(ByRef DataContext As Object, Optional Background As Boolean = False)
|
||||
Sub EstableceApLin(ApLin As ApLineas)
|
||||
' Sub Editar(Celda As EditGridCellData, Defecto As Boolean)
|
||||
Sub Nuevo()
|
||||
Function ObtienePermisos() As Permisos
|
||||
|
||||
|
||||
End Interface
|
||||
<TypeConverterAttribute(GetType(System.ComponentModel.ExpandableObjectConverter))>
|
||||
Public Class ApLineas
|
||||
' Public WithEvents dm As DockLayoutManager
|
||||
' Public Shared WithEvents tv As TableView
|
||||
Public dcfg As Datos.DatosConfiguracionCliente
|
||||
Public dcn As Datos.DatosConexionCliente
|
||||
Public dsc As Datos.DatosSesionCliente
|
||||
Public OtrosParametros As String
|
||||
Public Titulo As String
|
||||
Public CampoIndice As String
|
||||
Friend DatosCambiados As Boolean
|
||||
Public uc As UserControl
|
||||
Public Rejilla As tsGridControl
|
||||
Public IApLin As IApLineas
|
||||
Public WithEvents Contexto As System.Data.Objects.ObjectContext
|
||||
Public Property Refrescar As Boolean = True
|
||||
Public PermisosConcedidos As Permisos
|
||||
Public Event Cargado()
|
||||
|
||||
Event Enlazar(Celda As EditGridCellData, Defecto As Boolean)
|
||||
|
||||
Event ImprimirPlantilla(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs, idPlantilla As Integer)
|
||||
|
||||
Event EjecutarAccion(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs, idAccion As Integer)
|
||||
|
||||
Event SeleccionMultipleHabilitadoCambiado(Habilitar As Boolean)
|
||||
|
||||
Event InvertirSeleccion()
|
||||
|
||||
Event ValidarSeleccionar()
|
||||
|
||||
Public Event AntesMensajeEliminar(ByRef Cancelar As Boolean, ByRef EliminacionCorrecta As Boolean)
|
||||
Public Event AntesEliminar(Fila As Object, ByRef Cancelar As Boolean)
|
||||
|
||||
' Public Property ErroresValidacion As ErroresValidacion
|
||||
' Public Recargando As Boolean = False
|
||||
|
||||
Property ContenedorL As ContenedorLineas
|
||||
'Private selectionHelper As New SelectionHelper(Of Guid)()
|
||||
Public ElementosSeleccionados As New SelectionHelper(Of Integer)
|
||||
|
||||
|
||||
Public GrupoDocumentos As DocumentGroup
|
||||
Public DocPanel As DevExpress.Xpf.Docking.DocumentPanel
|
||||
|
||||
Public Property RefrescoSolicitado As Boolean = False
|
||||
Public Property DeshabilitarRefresco As Boolean = False
|
||||
Public Property DeshabilitarRefrescarOtrasPestañas = False
|
||||
Public Delegate Sub Ayuda(Codigo As String)
|
||||
' Public Delegate Function Diseño(bd As ObjectContext, Operacion As OperacionDiseñoEnum, apl As ApLineas, ByRef Descripcion As String, ByRef TodosUsuarios As Boolean, DiseñoRejillas As Byte()) As Byte()
|
||||
Public Delegate Sub ErrorNoControlado(Aplicacion As ApLineas, ex As Exception)
|
||||
Public Delegate Sub DelegadoCargado(Aplicacion As ApLineas)
|
||||
Friend Property DelegadoAyuda As Ayuda
|
||||
Friend Property DelegadoDiseño As ApCabLin.Diseño
|
||||
Friend Property DelegadoErrorNoControlado As ErrorNoControlado
|
||||
Friend Property dlgCargado As DelegadoCargado
|
||||
Friend DiseñoOriginal As Byte()
|
||||
Friend Property AperturaAutomatica As Boolean
|
||||
Private DiseñoCargado As Boolean
|
||||
Public ApCargado As Boolean
|
||||
|
||||
|
||||
|
||||
' Public Event Cargado()
|
||||
'Public Event Editar(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
|
||||
'Public Event Nuevo(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
|
||||
|
||||
'Sub LanzaEventoCargado()
|
||||
' RaiseEvent Cargado()
|
||||
'End Sub
|
||||
'Sub LanzaEditar(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
|
||||
' RaiseEvent Editar(sender, e)
|
||||
'End Sub
|
||||
|
||||
Public Overloads Shared Sub AbrirUcL(uc As IApLineas, DocumentGroup As DocumentGroup, dcfg As Datos.DatosConfiguracionCliente, dcn As Datos.DatosConexionCliente, dsc As Datos.DatosSesionCliente, OtrosParametros As String, Optional EditarEnDobleClick As Boolean = True, Optional FuncionAyuda As Ayuda = Nothing, Optional FuncionDiseño As ApCabLin.Diseño = Nothing, Optional FuncionErrorNoControlado As ErrorNoControlado = Nothing, Optional FuncionCargado As DelegadoCargado = Nothing)
|
||||
AbrirUcL(uc, DocumentGroup, dcfg, dcn, 0, dsc, OtrosParametros, EditarEnDobleClick, FuncionAyuda, FuncionDiseño, FuncionErrorNoControlado, FuncionCargado)
|
||||
End Sub
|
||||
Public Overloads Shared Sub AbrirUcL(uc As IApLineas, DocumentGroup As DocumentGroup, dcfg As Datos.DatosConfiguracionCliente, dcn As Datos.DatosConexionCliente, NumeroBD As Integer, dsc As Datos.DatosSesionCliente, OtrosParametros As String, Optional EditarEnDobleClick As Boolean = True, Optional FuncionAyuda As Ayuda = Nothing, Optional FuncionDiseño As ApCabLin.Diseño = Nothing, Optional FuncionErrorNoControlado As ErrorNoControlado = Nothing, Optional FuncionCargado As DelegadoCargado = Nothing)
|
||||
|
||||
Dim apl As ApLineas
|
||||
Try
|
||||
|
||||
|
||||
Dim bNuevoPanel As Boolean = True
|
||||
|
||||
apl = New tsWPF.ApLineas(uc, uc, dcfg, dcn, dsc, OtrosParametros)
|
||||
Dim usctrl = DirectCast(uc, UserControl)
|
||||
|
||||
Dim docpanel As DevExpress.Xpf.Docking.DocumentPanel
|
||||
|
||||
|
||||
Dim dc = (From p In DocumentGroup.Items Where p.Tag = OtrosParametros)
|
||||
If dc.Count > 0 Then
|
||||
docpanel = dc.First
|
||||
bNuevoPanel = False
|
||||
Else
|
||||
If tsWPF.Configuracion.MostrarBotonCerrarEnPestaña Then DocumentGroup.ClosePageButtonShowMode = ClosePageButtonShowMode.InAllTabPageHeaders
|
||||
If Not DXSplashScreen.IsActive Then
|
||||
DXSplashScreen.Show(Of SplashScreenTecnosis)()
|
||||
DXSplashScreen.SetState("Cargando ...")
|
||||
End If
|
||||
docpanel = New DevExpress.Xpf.Docking.DocumentPanel
|
||||
'docpanel.Tag = apl.uc.GetType.Name
|
||||
docpanel.Tag = OtrosParametros
|
||||
End If
|
||||
|
||||
uc.EstableceApLin(apl)
|
||||
apl.Titulo = apl.IApLin.Titulo
|
||||
apl.GrupoDocumentos = DocumentGroup
|
||||
|
||||
apl.Contexto = uc.ObtieneContexto(dcn)
|
||||
If apl.Contexto IsNot Nothing AndAlso apl.Contexto.Connection.State = ConnectionState.Closed Then apl.AperturaAutomatica = True
|
||||
apl.CampoIndice = uc.ObtieneCampoIndice
|
||||
apl.DocPanel = docpanel
|
||||
apl.PermisosConcedidos = uc.ObtienePermisos
|
||||
If Not apl.PermisosConcedidos.Consultar Then Throw New Exception("No tiene permiso para abrir esta aplicación (" & uc.Titulo & ")")
|
||||
apl.Rejilla = uc.ObtieneRejilla
|
||||
apl.Rejilla.PropiedadesTSGC.PermisosDefecto = apl.PermisosConcedidos
|
||||
Dim tv As TableView = apl.Rejilla.View
|
||||
|
||||
apl.Rejilla.View.ShowSearchPanelCloseButton = False
|
||||
apl.Rejilla = uc.ObtieneRejilla
|
||||
apl.Rejilla.View.AllowEditing = True
|
||||
apl.Rejilla.View.SearchPanelFindMode = FindMode.Always
|
||||
|
||||
apl.Rejilla.View.ShowSearchPanel(True)
|
||||
|
||||
For Each c In apl.Rejilla.Columns
|
||||
'c.AllowEditing = DevExpress.Utils.DefaultBoolean.False
|
||||
If c.CellTemplate Is Nothing Then
|
||||
c.ReadOnly = True
|
||||
Else
|
||||
c.AllowEditing = DevExpress.Utils.DefaultBoolean.False
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
Dim es As New CheckEditSettings
|
||||
es.IsThreeState = False
|
||||
|
||||
Dim dt As New DataTemplate
|
||||
dt.VisualTree = New FrameworkElementFactory(GetType(CheckEdit))
|
||||
dt.VisualTree.SetBinding(CheckEdit.IsCheckedProperty, New Binding("Data.tswpf_seleccionar"))
|
||||
dt.VisualTree.SetValue(CheckEdit.HorizontalAlignmentProperty, HorizontalAlignment.Center)
|
||||
|
||||
If Not apl.Rejilla.Columns.Any(Function(x) x.FieldName = "tswpf_seleccionar") Then
|
||||
Dim gcseleccionar As New GridColumn With {
|
||||
.FieldName = "tswpf_seleccionar",
|
||||
.UnboundType = DevExpress.Data.UnboundColumnType.Boolean,
|
||||
.Width = 80,
|
||||
.IsSmart = True,
|
||||
.Visible = False,
|
||||
.VisibleIndex = 0,
|
||||
.EditSettings = es,
|
||||
.AllowEditing = DevExpress.Utils.DefaultBoolean.True,
|
||||
.Header = "Seleccionar",
|
||||
.HorizontalHeaderContentAlignment = HorizontalAlignment.Center,
|
||||
.CellTemplate = dt
|
||||
}
|
||||
apl.Rejilla.Columns.Insert(0, gcseleccionar)
|
||||
End If
|
||||
|
||||
AddHandler apl.Rejilla.CustomUnboundColumnData, AddressOf apl.CustomUnboudColumnData
|
||||
|
||||
If EditarEnDobleClick Then AddHandler apl.Rejilla.MouseDoubleClick, AddressOf apl.RejillaDobleClick
|
||||
Dim ap As New tsWPF.ContenedorLineas(apl, uc)
|
||||
ap.btNuevo.IsEnabled = apl.PermisosConcedidos.Nuevos
|
||||
ap.btEliminar.IsEnabled = False 'apl.PermisosConcedidos.Eliminar and ElementosSeleccionados.GetSelectionCount >0 and apl.ContenedorL.btSeleccionar.IsChecked=True
|
||||
|
||||
|
||||
|
||||
If bNuevoPanel Then
|
||||
apl.DelegadoAyuda = FuncionAyuda
|
||||
apl.DelegadoDiseño = FuncionDiseño
|
||||
apl.DelegadoErrorNoControlado = FuncionErrorNoControlado
|
||||
apl.dlgCargado = FuncionCargado
|
||||
docpanel.Caption = uc.Titulo
|
||||
docpanel.Content = ap
|
||||
docpanel.ClosingBehavior = DevExpress.Xpf.Docking.ClosingBehavior.ImmediatelyRemove
|
||||
DocumentGroup.Items.Add(docpanel)
|
||||
If Comun.dm Is Nothing Then Comun.dm = DocumentGroup.GetDockLayoutManager
|
||||
apl.ContenedorL.btAyuda.IsVisible = (Not FuncionAyuda Is Nothing)
|
||||
apl.ContenedorL.MenuDiseño.IsVisible = (Not FuncionDiseño Is Nothing)
|
||||
apl.ContenedorL.MenuExportar.IsEnabled = apl.PermisosConcedidos.Exportar
|
||||
'Try
|
||||
' If apl.DelegadoDiseño IsNot Nothing Then
|
||||
' Try
|
||||
' Dim b As Byte() = Nothing
|
||||
|
||||
' b = apl.DelegadoDiseño.Invoke(apl.Contexto, OperacionDiseñoEnum.ABRIR, apl.uc.GetType.ToString, "", True, Nothing)
|
||||
' If b IsNot Nothing Then
|
||||
' apl.DiseñoOriginal = apl.ContenedorL.ObtieneDiseñoActual
|
||||
' Dim ld As New DiseñoRejillas
|
||||
' ld = tsl5.Utilidades.deserializar(System.Text.Encoding.Unicode.GetString(b), ld.GetType)
|
||||
' Dim i As Integer
|
||||
' Dim lg As List(Of tsGridControl) = Nothing
|
||||
' tsWPF.ObtieneHijosDeTipo(Of tsGridControl)(ap.contenido, lg)
|
||||
' For Each l In lg
|
||||
' i += 1
|
||||
' If l.Name = "" Then l.Name = "tsRejilla-" & i.ToString
|
||||
' Try
|
||||
' If ld.Rejillas.Any(Function(x) x.Nombre = l.Name) Then
|
||||
' Dim dr As DiseñoRejilla = ld.Rejillas.Where(Function(x) x.Nombre = l.Name).First
|
||||
' l.RestoreLayoutFromStream(New System.IO.MemoryStream(dr.Diseño))
|
||||
' End If
|
||||
' Catch ex As Exception
|
||||
' If apl.DelegadoErrorNoControlado IsNot Nothing Then apl.DelegadoErrorNoControlado.Invoke(apl, ex)
|
||||
' DXMessageBox.Show(ex.Message, "Error btDiseño_Itemclick")
|
||||
' 'Debug.Write("Error DelegadoDiseño Rejilla")
|
||||
' End Try
|
||||
' Next
|
||||
' ' Dim drs = System.Text.Encoding.Unicode.GetBytes(tsl5.Utilidades.serializar(ld))
|
||||
' End If
|
||||
' Catch ex As Exception
|
||||
' If apl.DelegadoErrorNoControlado IsNot Nothing Then apl.DelegadoErrorNoControlado.Invoke(apl, ex)
|
||||
|
||||
' DXMessageBox.Show(ex.Message, "Error AbrirUclL - Diseño")
|
||||
' 'Debug.Write("Error DelegadoDiseño AbrirUCCL")
|
||||
' End Try
|
||||
' End If
|
||||
'Catch ex As Exception
|
||||
' If apl.DelegadoErrorNoControlado IsNot Nothing Then apl.DelegadoErrorNoControlado.Invoke(apl, ex)
|
||||
' DXMessageBox.Show(ex.Message, "Error AbrirUclL - Diseño")
|
||||
'End Try
|
||||
End If
|
||||
Comun.dm.DockController.Activate(docpanel)
|
||||
Catch ex As Exception
|
||||
If DXSplashScreen.IsActive Then DXSplashScreen.Close()
|
||||
DXMessageBox.Show(ex.Message, "Atención", MessageBoxButton.OK, MessageBoxImage.Exclamation)
|
||||
If FuncionErrorNoControlado IsNot Nothing Then FuncionErrorNoControlado.Invoke(apl, ex)
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
'Sub LanzaEventoCargado()
|
||||
' RaiseEvent Cargado()
|
||||
'End Sub
|
||||
|
||||
'Sub LanzaNuevo(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
|
||||
' RaiseEvent Nuevo(sender, e)
|
||||
'End Sub
|
||||
|
||||
Private Sub RejillaDobleClick(sender As Object, e As MouseButtonEventArgs)
|
||||
Try
|
||||
RaiseEvent Enlazar(Nothing, True)
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Sub New(IApLIN As IApLineas, UC As UserControl, dcfg As tsl5.Datos.DatosConfiguracionCliente, dcn As tsl5.Datos.DatosConexionCliente, dsc As tsl5.Datos.DatosSesionCliente, OtrosParametros As String)
|
||||
Me.uc = UC
|
||||
Me.IApLin = IApLIN
|
||||
Me.dcfg = dcfg
|
||||
Me.dcn = dcn
|
||||
Me.dsc = dsc
|
||||
Me.OtrosParametros = OtrosParametros
|
||||
' Me.Contexto = IApLIN.ObtieneContexto(dcn)
|
||||
AddHandler UC.PreviewKeyDown, AddressOf ApLin_PreviewKeyDown
|
||||
AddHandler UC.Loaded, AddressOf usctrl_Cargado
|
||||
|
||||
|
||||
'Me.IApLin.ObtieneRejilla.DelegadoComando = New DelegateCommand(Of Object)(AddressOf Seleccionar)
|
||||
End Sub
|
||||
|
||||
Private Sub usctrl_Cargado(sender As Object, e As RoutedEventArgs)
|
||||
Try
|
||||
If Me.DelegadoDiseño IsNot Nothing And Not DiseñoCargado Then
|
||||
Try
|
||||
DiseñoCargado = True
|
||||
Dim b As Byte() = Nothing
|
||||
Me.DiseñoOriginal = Me.ContenedorL.ObtieneDiseñoActual
|
||||
b = Me.DelegadoDiseño.Invoke(Me.Contexto, OperacionDiseñoEnum.ABRIR, Me.uc.GetType.ToString, "", True, Nothing)
|
||||
If b IsNot Nothing Then
|
||||
Dim ld As New DiseñoRejillas
|
||||
ld = tsl5.Utilidades.deserializar(System.Text.Encoding.Unicode.GetString(b), ld.GetType)
|
||||
Dim i As Integer
|
||||
Dim lg As List(Of tsGridControl) = Nothing
|
||||
tsWPF.ObtieneHijosDeTipo(Of tsGridControl)(sender, lg)
|
||||
For Each l In lg
|
||||
i += 1
|
||||
If l.Name = "" Then l.Name = "tsRejilla-" & i.ToString
|
||||
Try
|
||||
If ld.Rejillas.Any(Function(x) x.Nombre = l.Name) Then
|
||||
Dim dr As DiseñoRejilla = ld.Rejillas.Where(Function(x) x.Nombre = l.Name).First
|
||||
l.RestoreLayoutFromStream(New System.IO.MemoryStream(dr.Diseño))
|
||||
End If
|
||||
Catch ex As Exception
|
||||
If Me.DelegadoErrorNoControlado IsNot Nothing Then Me.DelegadoErrorNoControlado.Invoke(Me, ex)
|
||||
DXMessageBox.Show(ex.Message, "Error btDiseño_Itemclick")
|
||||
'Debug.Write("Error DelegadoDiseño Rejilla")
|
||||
End Try
|
||||
Next
|
||||
' Dim drs = System.Text.Encoding.Unicode.GetBytes(tsl5.Utilidades.serializar(ld))
|
||||
End If
|
||||
Catch ex As Exception
|
||||
If Me.DelegadoErrorNoControlado IsNot Nothing Then Me.DelegadoErrorNoControlado.Invoke(Me, ex)
|
||||
|
||||
DXMessageBox.Show(ex.Message, "Error AbrirUclL - Diseño")
|
||||
'Debug.Write("Error DelegadoDiseño AbrirUCCL")
|
||||
End Try
|
||||
End If
|
||||
Catch ex As Exception
|
||||
If Me.DelegadoErrorNoControlado IsNot Nothing Then Me.DelegadoErrorNoControlado.Invoke(Me, ex)
|
||||
DXMessageBox.Show(ex.Message, "Error AbrirUclL - Diseño")
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub ApLin_PreviewKeyDown(sender As Object, e As KeyEventArgs)
|
||||
If e.Key = Key.Space Or e.Key = Key.Enter Then
|
||||
Try
|
||||
If Keyboard.FocusedElement.GetType = GetType(DevExpress.Xpf.Grid.RowIndicator) Or Keyboard.FocusedElement.GetType = GetType(DevExpress.Xpf.Editors.InplaceBaseEdit) Then
|
||||
Dim cellData = DirectCast(DirectCast(sender, FrameworkElement).DataContext, EditGridCellData)
|
||||
If cellData.Value IsNot Nothing AndAlso cellData.Value.ToString <> "" Then RaiseEvent Enlazar(cellData, True)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End If
|
||||
End Sub
|
||||
|
||||
'Sub LanzaEliminar(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
|
||||
' Throw New NotImplementedException
|
||||
'End Sub
|
||||
Sub Guardar()
|
||||
Try
|
||||
If Me.Contexto.GetType.GetInterfaces.Contains(GetType(ItsObjectContext)) Then
|
||||
DirectCast(Me.Contexto, ItsObjectContext).GuardarCambios()
|
||||
Else
|
||||
Me.Contexto.SaveChanges()
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
If DelegadoErrorNoControlado IsNot Nothing Then DelegadoErrorNoControlado.Invoke(Me, ex)
|
||||
DXMessageBox.Show(ex.Message, "Error Guardando")
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Sub Eliminar()
|
||||
Try
|
||||
Me.Rejilla.View.CommitEditing()
|
||||
Dim bCancelar As Boolean = False
|
||||
Dim bEliminacionCorrecta As Boolean = False
|
||||
RaiseEvent AntesMensajeEliminar(bCancelar, bEliminacionCorrecta)
|
||||
If Not bCancelar Then
|
||||
If DXMessageBox.Show("¿Está seguro de querer eliminar los " & ElementosSeleccionados.GetSelectionCount.ToString & " registros seleccionados?", "Atención", MessageBoxButton.YesNo) = MessageBoxResult.Yes Then
|
||||
|
||||
'For Each k In ElementosSeleccionados.GetSelectedKeys
|
||||
' Me.IApLin.ObtieneContexto(Me.dcn).ExecuteStoreCommand("DELETE FROM " & Me.IApLin.NombreTablaBase & " WHERE " & Me.CampoIndice & "={0}", k)
|
||||
'Next
|
||||
|
||||
|
||||
For Each elemento In ElementosSeleccionados.GetSelectedrwh
|
||||
' RaiseEvent AntesEliminar(Rejilla.GetRowByListIndex(elemento))
|
||||
bCancelar = False
|
||||
RaiseEvent AntesEliminar(Rejilla.GetRow(elemento), bCancelar)
|
||||
If Not bCancelar Then
|
||||
Contexto.DeleteObject(Rejilla.GetRow(elemento))
|
||||
If Contexto.GetType.GetInterfaces.Contains(GetType(ItsObjectContext)) Then
|
||||
DirectCast(Contexto, ItsObjectContext).GuardarCambios()
|
||||
Else
|
||||
Contexto.SaveChanges()
|
||||
End If
|
||||
|
||||
End If
|
||||
' RaiseEvent DespuesEliminar(elemento)
|
||||
Next
|
||||
ElementosSeleccionados = New SelectionHelper(Of Integer)
|
||||
If AperturaAutomatica Then Me.Contexto.Connection.Open()
|
||||
Try
|
||||
Me.IApLin.EstableceDataContext(Me.uc.DataContext)
|
||||
Catch ex As Exception
|
||||
Try
|
||||
If AperturaAutomatica Then Me.Contexto.Connection.Close()
|
||||
Catch
|
||||
End Try
|
||||
|
||||
End Try
|
||||
End If
|
||||
Else
|
||||
If bEliminacionCorrecta Then
|
||||
ElementosSeleccionados = New SelectionHelper(Of Integer)
|
||||
If AperturaAutomatica Then Me.Contexto.Connection.Open()
|
||||
Try
|
||||
Me.IApLin.EstableceDataContext(Me.uc.DataContext)
|
||||
Catch ex As Exception
|
||||
Try
|
||||
If AperturaAutomatica Then Me.Contexto.Connection.Close()
|
||||
Catch
|
||||
End Try
|
||||
|
||||
End Try
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
If DXSplashScreen.IsActive Then DXSplashScreen.Close()
|
||||
If DelegadoErrorNoControlado IsNot Nothing Then DelegadoErrorNoControlado.Invoke(Me, ex)
|
||||
DXMessageBox.Show(ex.Message, "Error Eliminando")
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
'Private Sub dm_DockItemActivated(sender As Object, ea As Base.DockItemActivatedEventArgs) Handles dm.DockItemActivated
|
||||
' If Refrescar Then Call RefrescaUC()
|
||||
'End Sub
|
||||
|
||||
Public Sub Seleccionar(Celda As EditGridCellData)
|
||||
If Celda.Value IsNot Nothing AndAlso Celda.ToString <> "" Then RaiseEvent Enlazar(Celda, False)
|
||||
End Sub
|
||||
Public Sub SeleccionarIncluirNulosOVacios(Celda As EditGridCellData)
|
||||
RaiseEvent Enlazar(Celda, False)
|
||||
End Sub
|
||||
|
||||
|
||||
Sub LanzaEventoCargado()
|
||||
Dim gc As tsGridControl = Me.Rejilla.View.DataControl
|
||||
If gc.PropiedadesTSGC.EnlazarNulosOVacios Then
|
||||
gc.ComandoDelegado = New DelegateCommand(Of Object)(AddressOf SeleccionarIncluirNulosOVacios)
|
||||
Else
|
||||
gc.ComandoDelegado = New DelegateCommand(Of Object)(AddressOf Seleccionar)
|
||||
End If
|
||||
RaiseEvent Cargado()
|
||||
Me.ApCargado = True
|
||||
End Sub
|
||||
|
||||
Sub SeleccionarHabilitadoCambiado(Habilitar As Boolean)
|
||||
Me.ContenedorL.Barsm.IsEnabled = Habilitar
|
||||
Me.Rejilla.Columns("tswpf_seleccionar").Visible = Habilitar
|
||||
Me.Rejilla.Columns("tswpf_seleccionar").VisibleIndex = 0
|
||||
Me.ContenedorL.btEliminar.IsEnabled = Me.PermisosConcedidos.Eliminar And ElementosSeleccionados.GetSelectionCount > 0 And Habilitar
|
||||
Me.ContenedorL.btInvertir.IsEnabled = Habilitar
|
||||
RaiseEvent SeleccionMultipleHabilitadoCambiado(Habilitar)
|
||||
' Me.ContenedorL.btImprimirPlantilla.IsEnabled = Habilitar
|
||||
' Me.ContenedorL.bePlantilla.IsEnabled = Habilitar
|
||||
End Sub
|
||||
|
||||
Private Sub CustomUnboudColumnData(sender As Object, e As GridColumnDataEventArgs)
|
||||
If e.Column.FieldName = "tswpf_seleccionar" Then
|
||||
Dim key As Integer = CType(e.GetListSourceFieldValue(Me.CampoIndice), Integer)
|
||||
If e.IsGetData Then
|
||||
e.Value = ElementosSeleccionados.GetIsSelected(key)
|
||||
End If
|
||||
If e.IsSetData Then
|
||||
' ElementosSeleccionados.SetIsSelected(e.Source.GetRowHandleByListIndex(e.ListSourceRowIndex), key, CBool(e.Value))
|
||||
ElementosSeleccionados.SetIsSelected(e.Source.GetRowHandleByListIndex(e.ListSourceRowIndex), key, CBool(e.Value))
|
||||
Me.ContenedorL.btEliminar.IsEnabled = Me.PermisosConcedidos.Eliminar And ElementosSeleccionados.GetSelectionCount > 0 And Me.ContenedorL.btSeleccionar.IsChecked = True
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub LanzaImprimirPlantilla(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs, idPlantilla As Integer)
|
||||
Me.Rejilla.View.CommitEditing()
|
||||
RaiseEvent ImprimirPlantilla(sender, e, idPlantilla)
|
||||
End Sub
|
||||
|
||||
Sub LanzaEjecutarAccion(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs, idAccion As Integer)
|
||||
Me.Rejilla.View.CommitEditing()
|
||||
RaiseEvent EjecutarAccion(sender, e, idAccion)
|
||||
End Sub
|
||||
|
||||
Public Sub RefrescaUC(Optional BackGround As Boolean = False, Optional IniciaContexto As Boolean = True)
|
||||
|
||||
If IniciaContexto Then
|
||||
Try
|
||||
Me.Contexto = Me.IApLin.ObtieneContexto(Me.dcn)
|
||||
Catch ex As Exception
|
||||
Throw
|
||||
Finally
|
||||
Try
|
||||
If Me.Contexto IsNot Nothing AndAlso AperturaAutomatica AndAlso Me.Contexto.Connection.State <> ConnectionState.Closed Then Me.Contexto.Connection.Close()
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End Try
|
||||
End If
|
||||
'If Not a.DeshabilitarRefresco Then
|
||||
' Me.ContenedorL.t = Task.Run(New Action(Sub() Me.IApLin.EstableceDataContext(Me.uc.DataContext, BackGround)))
|
||||
' If Not BackGround Then Me.ContenedorL.t.Wait()
|
||||
'End If
|
||||
Try
|
||||
' Dim InicializaFilterPopupMode = (Me.Rejilla.ItemsSource Is Nothing)
|
||||
Me.IApLin.EstableceDataContext(Me.uc.DataContext, BackGround)
|
||||
tsGridControl.EstableceFilterPopupModePredeterminados(Me.Rejilla)
|
||||
If Me.ContenedorL.cbPlantillaAImprimir.ItemsSource Is Nothing OrElse Me.ContenedorL.cbPlantillaAImprimir.ItemsSource.Count = 0 OrElse Me.PermisosConcedidos.Impresion = False Then
|
||||
Me.ContenedorL.bePlantilla.IsVisible = False
|
||||
Me.ContenedorL.btImprimirPlantilla.IsVisible = False
|
||||
End If
|
||||
If Me.ContenedorL.cbAcciones.ItemsSource Is Nothing OrElse Me.ContenedorL.cbAcciones.ItemsSource.Count = 0 Then
|
||||
Me.ContenedorL.beAcciones.IsVisible = False
|
||||
Me.ContenedorL.btAcciones.IsVisible = False
|
||||
End If
|
||||
ElementosSeleccionados = New SelectionHelper(Of Integer)
|
||||
'Refrescar = False
|
||||
If Me.dlgCargado IsNot Nothing Then Me.dlgCargado.Invoke(Me)
|
||||
Catch ex As Exception
|
||||
If DelegadoErrorNoControlado IsNot Nothing Then DelegadoErrorNoControlado.Invoke(Me, ex)
|
||||
DXMessageBox.Show(ex.Message, "Error Refrescando")
|
||||
End Try
|
||||
RefrescoSolicitado = False
|
||||
End Sub
|
||||
|
||||
Sub LanzaEventoInvertirSeleccion()
|
||||
RaiseEvent InvertirSeleccion()
|
||||
End Sub
|
||||
|
||||
'Private Sub LanzaSeleccionarCambiado(sender As Object, e As EditorEventArgs)
|
||||
' RaiseEvent SeleccionMultipleHabilitadoCambiado(True)
|
||||
'End Sub
|
||||
|
||||
'Private Sub LanzaSeleccionarCambiado(sender As Object, e As CellValueChangedEventArgs)
|
||||
' RaiseEvent SeleccionMultipleHabilitadoCambiado(True)
|
||||
'End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
Private Sub Contexto_SavingChanges(sender As Object, e As EventArgs) Handles Contexto.SavingChanges
|
||||
If Me.DeshabilitarRefrescarOtrasPestañas = False Then Comun.RefrescaAplicaciones(Me.GrupoDocumentos.Parent, Nothing, Me.DocPanel.Tag)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user