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.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 tsUtilidades.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 bdGrupoSanchoToro.db.ficheros With fi .Descripcion = ra.idFicheroNavigation.Descripcion .Fecha = ra.idFicheroNavigation.Fecha .idAplicacion = ra.idFicheroNavigation.idAplicacion .idTipo = ra.idFicheroNavigation.idTipo .Observaciones = ra.idFicheroNavigation.Observaciones .Fichero = ra.idFicheroNavigation.Fichero .NombreFichero = ra.idFicheroNavigation.NombreFichero End With With ni .Codigo = sCod .Descripcion = sDesc .idFicheroNavigation = 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.Add(ni) bd.SaveChanges() Me.RefrescaUC() Else DXMessageBox.Show("Seleccione el informe a copiar primero", "Atención") End If End Select End Sub End Class