Files
SanchoToro/GestionGrupoSanchoToro/Contabilidad/Aplicaciones/ucInformesContables.xaml.vb
2026-01-30 11:10:56 +01:00

161 lines
6.2 KiB
VB.net

Imports System.Data.Entity
Imports DevExpress.Xpf.Core.ServerMode
Imports bdGrupoSanchoToro
Imports DevExpress.Xpf.Grid
Imports DevExpress.Xpf.Core
Imports System.Linq.Dynamic
Imports tsWPF
Imports System.CodeDom.Compiler
Imports System.Reflection
Imports DevExpress.Xpf.Bars
Imports tsWPF.Comun
Imports tsWPFCore.Comun
Imports tsWPFCore
Imports tsUtilidades
Imports bdGrupoSanchoToro
Imports bdGrupoSanchoToro.db
Imports bdGrupoSanchoToro.db.Utilidades
Public Class ucInformesContables
Private bd As tscGrupoSanchoToro
Public Overrides Sub Cargado()
Me.ContenedorAplicacion.siEstado.IsVisible = False
End Sub
'Public Sub EstableceAplicacion(ap As tsWPF.Aplicacion) .EstableceAplicacion
' Me.ap = ap
'End Sub
Public Overrides Function EstablecedcPrincipal(Optional Background As Boolean = False, Optional FuerzaNuevo As Boolean = False, Optional Refrescar As Boolean = False) As EstadosAplicacion
Me.gc.ItemsSource = bd.informescontables.ToList
Return EstadosAplicacion.AplicacionSinIndice
End Function
Public Overrides Sub EstableceDataContextSecundarios(Optional Background As Boolean = False)
Dim Acciones As New List(Of tsWPFCore.Accion)
Acciones.Add(New Accion With {
.idAccion = 1,
.Descripcion = "COPIA INFORME"})
'Acciones.Add(New Accion With {
' .idAccion = 2,
' .Descripcion = "REENUMERA Nº ASIENTO OFICIAL"})
'Acciones.Add(New Accion With {
' .idAccion = 3,
' .Descripcion = "GENERA BALANCE DE SITUACION"})
Me.ContenedorAplicacion.cbAcciones.ItemsSource = Acciones
If Acciones.Count > 0 Then Me.ContenedorAplicacion.beAcciones.EditValue = Acciones.First.idAccion
End Sub
Public Overrides Sub EstableceTitulo()
Me.docpanel.Caption = "Informes Contables"
End Sub
Public Overrides ReadOnly Property idRegistroAplicacionActual As String
Get
Return "informescontables"
End Get
End Property
Public Overrides ReadOnly Property NombreTablaBase As String
Get
Return "informescontables"
End Get
End Property
Public Overrides ReadOnly Property DescripcionRegistro As String
Get
Return "Informes Contables"
End Get
End Property
Public Overrides Function ObtieneBD() As tsUtilidades.ItsContexto
bd = tscGrupoSanchoToro.NuevoContexto()
Return bd
End Function
'Public Overrides Function ObtieneConexionBD() As tsl5.Datos.BBDD
' Return bdGrupoSanchoToro.gestionasegasaEntities.bdga
'End Function
Public Overrides Function ObtienePermisos() As tsUtilidades.Permisos
Return Comun.ObtienePermisos(Me.bd, "AP.CONTABILIDAD", idUsuario)
End Function
Private Sub Nuevo() Handles Me.BotonNuevoPulsado
FuncionesDinamicas.AbrirAP(New ucInformeContables, OtrosParametros)
End Sub
Private Sub ap_Enlazar(Celda As DevExpress.Xpf.Grid.EditGridCellData, Defecto As Boolean) Handles Me.Enlazar
Dim id As Integer = DirectCast(Me.gc.CurrentItem, informescontables).idInforme
' Dim uc As New ucRamo
' Dim dwi As dxwInicio = Window.GetWindow(Me)
FuncionesDinamicas.AbrirAP(New ucInformeContables(id), OtrosParametros)
End Sub
'Private Sub ap_AntesGuardar(sender As Object, e As ItemClickEventArgs, ByRef Cancelar As Boolean, ByRef MensajesError As Hashtable, OpcionGuardado As Integer) Handles Me.AntesGuardar
' Dim ra As informescontables = Me.DataContext
' If Me.Estado = EstadosAplicacion.Nuevo Then
' If bd.informescontables.Any(Function(x) x.Codigo = ra.Codigo) Then
' Cancelar = True
' End If
' End If
'End Sub
Private Sub ucInformesContables_EjecutarAccion(sender As Object, e As ItemClickEventArgs, idAccion As Integer) Handles Me.EjecutarAccion
Select Case idAccion
Case 1
Dim ra As informescontables = gc.CurrentItem
If ra IsNot Nothing Then
Dim ni As New informescontables
Dim sDesc As String
Dim sCod As String
Dim i As Integer = 0
Do
If i = 0 Then
sDesc = "COPIA " & ra.Descripcion
sCod = ra.Codigo & ".COP"
Else
sDesc = "COPIA " & i.ToString & " " & ra.Descripcion
sCod = ra.Codigo & ".COP" & i.ToString
End If
i += 1
Loop Until bd.informescontables.Any(Function(x) x.Descripcion = sDesc Or x.Codigo = sCod) = False
Dim fi As New ficheros
With fi
.Descripcion = ra.ficheros.Descripcion
.Fecha = ra.ficheros.Fecha
.idAplicacion = ra.ficheros.idAplicacion
.idTipo = ra.ficheros.idTipo
.Observaciones = ra.ficheros.Observaciones
.Fichero = ra.ficheros.Fichero
.NombreFichero = ra.ficheros.NombreFichero
End With
With ni
.Codigo = sCod
.Descripcion = sDesc
.ficheros = fi
End With
For Each c In ra.celdasinformescontables
Dim nc As New celdasinformescontables
With nc
.Columna = c.Columna
.Fila = c.Fila
.Hoja = c.Hoja
.NombreCampo = c.NombreCampo
.Observaciones = c.Observaciones
End With
ni.celdasinformescontables.Add(nc)
Next
bd.informescontables.AddObject(ni)
bd.SaveChanges()
Me.RefrescaUC()
Else
DXMessageBox.Show("Seleccione el informe a copiar primero", "Atención")
End If
End Select
End Sub
End Class