154 lines
6.6 KiB
VB.net
154 lines
6.6 KiB
VB.net
|
|
Imports System.Data.Entity
|
|
Imports DevExpress.Xpf.Core.ServerMode
|
|
'Imports bdGestionFidas
|
|
Imports DevExpress.Mvvm
|
|
Imports DevExpress.Xpf.Grid
|
|
Imports tsWPFCore
|
|
Imports tsUtilidades.Extensiones
|
|
Imports DevExpress.Xpf.Core
|
|
Imports DevExpress.XtraReports.UI
|
|
Imports System.IO
|
|
Imports DevExpress.Xpf.Printing
|
|
Imports Microsoft.Win32
|
|
Imports System.Data.Objects
|
|
Imports System.Data.Objects.DataClasses
|
|
Imports DevExpress.Data
|
|
|
|
Public Class dxwDiseñoColumnas
|
|
|
|
' Private bd As bdGestionFidas.cacoaentities
|
|
|
|
Private _Codigo As String
|
|
Private _Abrir As String
|
|
Public _Descripcion As String
|
|
Public _TodosLosUsuarios As String
|
|
Public _IdDiseño As Integer?
|
|
Dim _ld As List(Of DiseñoGuardado)
|
|
Public Delegate Sub EliminarDiseño(idDiseño As Integer)
|
|
|
|
Private _DelegadoEliminarDiseño As EliminarDiseño
|
|
Private Sub dxwAgregar_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
|
Try
|
|
'bd = bdGestionFidas.FIDASEntities.NuevoContexto
|
|
'Dim lc = (From fc In bd.ficherosconfiguracion Where fc.Descripcion IsNot Nothing AndAlso fc.Descripcion <> "" And fc.Codigo = _Codigo And (fc.idUsuario.HasValue = False OrElse fc.idUsuario = bdGestionFidas.Utilidades.dsc.idUsuario) Select New DiseñoGuardado With {.Descripcion = fc.Descripcion, .TodosLosUsuarios = (fc.idUsuario.HasValue = False)}).ToList
|
|
'Me.gc.ItemsSource = lc
|
|
Me.teDescripcion.EditValue = _Descripcion
|
|
Me.cbTodosUsuarios.IsChecked = _TodosLosUsuarios
|
|
Me.gc.ItemsSource = _ld
|
|
If _Descripcion <> "" AndAlso _ld.Any(Function(x) x.Descripcion = _Descripcion And x.TodosLosUsuarios = _TodosLosUsuarios) Then
|
|
Me.gc.CurrentItem = _ld.First(Function(x) x.Descripcion = _Descripcion And x.TodosLosUsuarios = _TodosLosUsuarios)
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
DXMessageBox.Show(ex.Message, "Error")
|
|
Finally
|
|
Try
|
|
DXSplashScreen.Close()
|
|
Catch
|
|
End Try
|
|
End Try
|
|
End Sub
|
|
'Private Sub Aceptar_Click(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
|
|
|
|
Public Sub New(Codigo As String, Descripcion As String, TodosUsuarios As Boolean, Abrir As Boolean, ld As List(Of DiseñoGuardado), FuncionEliminarDiseño As EliminarDiseño)
|
|
|
|
' Llamada necesaria para el diseñador.
|
|
|
|
|
|
InitializeComponent()
|
|
If Abrir Then
|
|
Me.lgOpcionesGuardado.Visibility = System.Windows.Visibility.Hidden
|
|
Me.btAceptar.Content = "Abrir Diseño"
|
|
End If
|
|
|
|
_Abrir = Abrir
|
|
_Codigo = Codigo
|
|
_Descripcion = Descripcion
|
|
_TodosLosUsuarios = TodosUsuarios
|
|
_ld = ld
|
|
_DelegadoEliminarDiseño = FuncionEliminarDiseño
|
|
|
|
|
|
|
|
Dim cm As New ContextMenu
|
|
Dim mi As New MenuItem()
|
|
mi.Tag = "MI_ELIMINAR_DISEÑO"
|
|
mi.Header = "Eliminar Diseño"
|
|
AddHandler mi.Click, AddressOf _EliminarDiseño
|
|
cm.Items.Add(mi)
|
|
Me.gc.ContextMenu = cm
|
|
' Agregue cualquier inicialización después de la llamada a InitializeComponent().
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub btAceptar_Click(sender As Object, e As RoutedEventArgs)
|
|
Try
|
|
Dim bcancelar As Boolean
|
|
If _Abrir Then
|
|
Dim dg = DirectCast(Me.gc.CurrentItem, DiseñoGuardado)
|
|
_Descripcion = dg.Descripcion
|
|
_TodosLosUsuarios = dg.TodosLosUsuarios
|
|
_IdDiseño = dg.idDiseño
|
|
Else
|
|
_Descripcion = teDescripcion.EditValue
|
|
If _Descripcion = "" Then Throw New Exception("La descripción es obligatoria")
|
|
Dim ld = DirectCast(Me.gc.ItemsSource, List(Of DiseñoGuardado))
|
|
If ld.Any(Function(x) x.Descripcion = _Descripcion And x.TodosLosUsuarios = cbTodosUsuarios.IsChecked.Value) Then
|
|
bcancelar = (DXMessageBox.Show("¿Desea sobreescribir el diseño de " & _Descripcion & "?", "Atención", MessageBoxButton.YesNo) = MessageBoxResult.No)
|
|
If Not bcancelar Then _IdDiseño = ld.First(Function(x) x.Descripcion = _Descripcion And x.TodosLosUsuarios = cbTodosUsuarios.IsChecked.Value).idDiseño
|
|
Else
|
|
If cbTodosUsuarios.IsChecked.Value Then
|
|
If ld.Any(Function(x) x.Descripcion = _Descripcion) Then
|
|
bcancelar = (DXMessageBox.Show("¿Desea sobreescribir el diseño de " & _Descripcion & " y establecerlo como público para todos los usuarios?", "Atención", MessageBoxButton.YesNo) = MessageBoxResult.No)
|
|
If Not bcancelar Then _IdDiseño = ld.First(Function(x) x.Descripcion = _Descripcion).idDiseño
|
|
End If
|
|
Else
|
|
If ld.Any(Function(x) x.Descripcion = _Descripcion) Then
|
|
bcancelar = (DXMessageBox.Show("¿Desea sobreescribir el diseño de " & _Descripcion & " y establecerlo como privado para este usuario?", "Atención", MessageBoxButton.YesNo) = MessageBoxResult.No)
|
|
If Not bcancelar Then _IdDiseño = ld.First(Function(x) x.Descripcion = _Descripcion).idDiseño
|
|
End If
|
|
End If
|
|
End If
|
|
_TodosLosUsuarios = cbTodosUsuarios.IsChecked
|
|
End If
|
|
If Not bcancelar Then
|
|
Me.DialogResult = True
|
|
Me.Close()
|
|
End If
|
|
Catch ex As Exception
|
|
DXMessageBox.Show(ex.Message, "Atención")
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub btCancelar_Click(sender As Object, e As RoutedEventArgs)
|
|
Me.DialogResult = False
|
|
Me.Close()
|
|
End Sub
|
|
|
|
|
|
'Private Sub dxwDiseñoColumnas_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
|
|
' bd.Connection.Close()
|
|
'End Sub
|
|
|
|
Private Sub gc_CurrentItemChanged(sender As Object, e As CurrentItemChangedEventArgs) Handles gc.CurrentItemChanged
|
|
Dim dg = DirectCast(Me.gc.CurrentItem, DiseñoGuardado)
|
|
If dg IsNot Nothing Then
|
|
Me.teDescripcion.EditValue = dg.Descripcion
|
|
Me.cbTodosUsuarios.IsChecked = dg.TodosLosUsuarios
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub _EliminarDiseño(sender As Object, e As RoutedEventArgs)
|
|
Dim dg = DirectCast(Me.gc.CurrentItem, DiseñoGuardado)
|
|
_DelegadoEliminarDiseño.Invoke(dg.idDiseño)
|
|
tv.DeleteRow(Me.tv.FocusedRowHandle)
|
|
End Sub
|
|
End Class
|
|
Public Class DiseñoGuardado
|
|
Public Property idDiseño As Integer?
|
|
Property Descripcion As String
|
|
Property TodosLosUsuarios As Boolean
|
|
End Class
|