using Exferia_Actualizacion_BD; using Exferia_Aplicacion.General; using Exferia_Aplicacion.Modelos_Generales; using Exferia_Aplicacion.Modelos_ServiciosWeb; using Exferia_Aplicacion.Terminal; using Exferia_Aplicacion.Visualizacion; using Exferia_Controles; using Exferia_EntityFramework; using Exferia_Formularios; using Exferia_General; using Microsoft.Win32; using SigmaERP._3_Vistas; using SigmaERP._3_Vistas.Controladoras; using SigmaERP.General; using SigmaERP.Properties; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.Globalization; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.InteropServices; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace SigmaERP { public partial class P_Principal : Form { #region Variables privadas private P_Principal_Controladora g_obj_Controladora; //Validacion de la Lincencia private bool g_bol_ValidandoLicencia = false; private BackgroundWorker g_bgw_Validacion_Licencia = null;//Tarea Asincrona para Validar Licencia private System.Windows.Forms.Timer g_timer_TareaAsicrona_Validacion_Licencia = new System.Windows.Forms.Timer(); //Buscar opciones en el menu private System.Windows.Forms.Timer g_timer_Menu_Buscar = new System.Windows.Forms.Timer(); #endregion #region Objetos en Pantalla //Panel internal Panel Panel_PantallasEmpotrar_Principal { get { return spl_Principal.Panel1; } } internal Panel Panel_PantallasEmpotrar_Secundario { get { return spl_Principal.Panel2; } } //Label internal Label Label_EmpleadoValidado { get { return lbl_EmpleadoValidado; } } internal Label Label_EmpresaEjercicioOrden_Activo { get { return lbl_EmpresaEjercicioOrden_Activo; } } //ImageList internal ImageList ImageList_ArbolPrincipal { get { return imglst_ArbolPrincipal; } } //Exferia_TextBox internal Exferia_TextBox Exferia_TextBox_Busqueda { get { return ex_txt_P_Principal_Busqueda; } } //Exferia_TreeView internal Exferia_TreeView Exferia_TreeView_Menu { get { return ex_trv_Menu; } } //Exferia_Panel_Degradado_CambioColor internal Exferia_Panel_Degradado_CambioColor Exferia_Panel_Degradado_CambioColor_MenuIzquierdo { get { return ex_pnl_MenuIzquierdo; } } internal Exferia_Panel_Degradado_CambioColor Exferia_Panel_Degradado_CambioColor_Athos { get { return ex_pnl_Athos; } } //Exferia_Button internal Exferia_Button Exferia_Button_MenuIzquierdo_AnclarDesanclar { get { return ex_btn_MenuIzquierdo_AnclarDesanclar; } } internal Exferia_Button Exferia_Button_Athos_AnclarDesanclar { get { return ex_btn_Athos_AnclarDesanclar; } } internal Exferia_Button Exferia_Button_GestionControl { get { return ex_btn_MenuIzquierdo_GestionControl; } } internal Exferia_Button Exferia_Button_TipoCompraVenta { get { return ex_btn_MenuIzquierdo_TipoCompraVenta; } } //Exferia_Button_ConBorde internal Exferia_Button_ConBorde Exferia_Button_ConBorde_CambiarEmpresa { get { return ex_btn_CambiarEmpresa; } } //Exferia_Button_Vertical internal Exferia_Button_Vertical Exferia_Button_Vertical_MenuIzquierdo_Mostrar { get { return ex_btn_MenuIzquierdo_Mostrar; } } internal Exferia_Button_Vertical Exferia_Button_Vertical_Athos_Mostrar { get { return ex_btn_MenuAthos_Mostrar; } } //Label internal Label Label_ValidacionLicencia { get { return lbl_ValidacionLicencia; } } #endregion #region Constructor public P_Principal(string[] _arr_Argumentos_Recibidos) { InitializeComponent(); //Asignar Colores de Exferia .................................................................. Colores.G_COLOR_FONDO_BOTON = Color.Transparent; Colores.G_COLOR_PRINCIPAL_BASE = ColorTranslator.FromHtml("#A19CC3"); Colores.G_COLOR_PRINCIPAL_OSCURO = ColorTranslator.FromHtml("#504888"); Colores.G_COLOR_PRINCIPAL_ATENUADO = ColorTranslator.FromHtml("#CBC8DF"); Colores.G_COLOR_PRINCIPAL_CLARO = ColorTranslator.FromHtml("#EDECF4"); Colores.G_COLOR_PRINCIPAL_TRASLUCIDO = Color.FromArgb(50, 191, 186, 225); Colores.G_COLOR_SECUNDARIO_BASE = ColorTranslator.FromHtml("#FFF2C4"); Colores.G_COLOR_SECUNDARIO_CLARO = ColorTranslator.FromHtml("#FFF9E1"); Colores.G_COLOR_FONDO_BASE = ColorTranslator.FromHtml("#FFFFFF"); Colores.G_COLOR_TEXTO_ESCRITO = ColorTranslator.FromHtml("#000000"); Colores.G_COLOR_ATENCION = ColorTranslator.FromHtml("#c40909"); Colores.G_COLOR_LISTADO_FILTROS = Color.FromArgb(50, 161, 156, 195); Colores.G_COLOR_LISTADO_FILTROS_CONTROLESPERSONALIZADOS = Color.FromArgb(70, 161, 156, 195); Colores.G_COLOR_FONDO_BARRAPROGRESO_RELLENA = ColorTranslator.FromHtml("#504888"); Repintar.Empezar(this); Cargar_Imagen_Fondo(); g_obj_Controladora = new P_Principal_Controladora(this, _arr_Argumentos_Recibidos); try { CheckForIllegalCrossThreadCalls = false; Borrar_Ficheros_Viejos(); Copiar_FicherosIncrustados(); Funciones.Rellenar_Denominaciones(); Funciones.Rellenar_OpcionTablaCampoCodigo(); Funciones_Procesos.Rellenar_Procesos(); Funciones_PanelSecundario.Rellenar_Listados_ArbolSecundarioSeleccion(); Funciones_FicherosXML.CargarDatosXML_ImpresoraDocumentoLocal(); Variables.G_SPL_PANTALLASPRINCIPAL = spl_Principal; Variables.G_PNL_PANTALLASEMPOTRADAS = spl_Principal.Panel1; Variables.G_PNL_PANTALLASEMPOTRADAS_SECUNDARIA = spl_Principal.Panel2; Variables.G_EMS_CONTROL_MENUSUPERIOR = ex_msp_Menu; Variables.G_OBJ_CONTROLADORA_PANTALLAPRINCIPAL = g_obj_Controladora; Variables.G_EX_BTN_IMPRESORASLOCALES_PANTALLAPRINCIPAL = ex_btn_P_Principal_ImpresorasLocal; //calcular distancia del splitter spl_Principal.SplitterDistance = this.Width / 2; spl_Principal.Panel2Collapsed = true; //Version FileVersionInfo fv = System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location); lbl_Version.Text = "Versión: " + fv.FileVersion.ToString(); //Datos del Equipo try { Variables.G_STR_VERSION_SIGMAERP = fv.FileVersion.ToString(); Variables.G_STR_EQUIPO_MAC = Funciones.Obtener_Direccion_Mac(); Variables.G_STR_EQUIPO_NOMBRE = Funciones.Obtener_NombreEquipo(); } catch { } try { Funciones_FicherosXML.CargarDatosXML_OrdenDireccionesActualizacion(); } catch {} //Tarea Asincrona para Comprobar la Validación de la Activación g_bgw_Validacion_Licencia = new BackgroundWorker(); g_bgw_Validacion_Licencia.DoWork += new DoWorkEventHandler(TareaAsincrona_Validacion_Licencia_DoWork); g_bgw_Validacion_Licencia.RunWorkerCompleted += new RunWorkerCompletedEventHandler(TareaAsincrona_Validacion_Licencia_Completed); g_bgw_Validacion_Licencia.WorkerReportsProgress = false; g_bgw_Validacion_Licencia.WorkerSupportsCancellation = true; //El Timer se Utiliza para que cada 5 minutos intente validar si esta activada correctamente esta aplicacion en el Servidor g_timer_TareaAsicrona_Validacion_Licencia.Interval = 10000; g_timer_TareaAsicrona_Validacion_Licencia.Tick += delegate (object s, EventArgs ee) { Validacion_Licencia(); }; } catch (Control_Errores) { } catch (Exception ex) { //No se muestra mensaje pero se guarda en el log Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(P_Principal)); } finally { //Bloquear pantalla hasta que termine la carga por defecto ..... Enabled = true; //............................................................. } } #endregion #region Inicio de pantalla private void P_Principal_Load(object sender, EventArgs e) { try { #region TEMPORIZADOR MENU BUSCAR g_timer_Menu_Buscar.Interval = 1000; g_timer_Menu_Buscar.Tick += delegate (object s, EventArgs ee) { g_timer_Menu_Buscar.Stop(); g_obj_Controladora.Recarga_Datos_Arbol_Permisos(true); }; #endregion } catch(Exception ex) { Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(P_Principal_Load)); } } private void P_Principal_Shown(object sender, EventArgs e) { Iniciar(); } #endregion #region Borrar Ficheros y librerias que no sirven private void Borrar_Ficheros_Viejos() { try { #region Tesseract //Libreria File.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\Tesseract.dll"); File.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\Tesseract.txt"); //Carpetas if (Directory.Exists(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\tessdata")) { Directory.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\tessdata", true); } if (Directory.Exists(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\x64")) { Directory.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\x64", true); } if (Directory.Exists(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\x86")) { Directory.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\x86", true); } #endregion #region Spire //Libreria File.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\Spire.dll"); File.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\Spire.txt"); #endregion } catch (Exception ex) { //No se muestra mensaje pero se guarda en el log Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Borrar_Ficheros_Viejos)); } } #endregion #region Copiar Ficheros Incrustados private void Copiar_FicherosIncrustados() { try { #region Librerias PDFLibNet //PdfLibNetLibrary ################################################################################## byte[] arr_Fichero_incrustado_PdfLibNetLibrary = null; Assembly obj_Assembly_PdfLibNetLibrary = System.Reflection.Assembly.GetExecutingAssembly(); using (Stream obj_Stream_Fichero = obj_Assembly_PdfLibNetLibrary.GetManifestResourceStream("SigmaERP.FicherosIncrustados.PdfLibNetLibrary.dll")) { if (obj_Stream_Fichero != null) { arr_Fichero_incrustado_PdfLibNetLibrary = new byte[obj_Stream_Fichero.Length]; obj_Stream_Fichero.Read(arr_Fichero_incrustado_PdfLibNetLibrary, 0, arr_Fichero_incrustado_PdfLibNetLibrary.Length); } } if (!File.Exists(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_PDFLIBNETLIBRARY)) { //poner en la carpeta File.WriteAllBytes(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_PDFLIBNETLIBRARY, arr_Fichero_incrustado_PdfLibNetLibrary); } //PdfLibNet32 ################################################################################## byte[] arr_Fichero_incrustado_PdfLibNet32 = null; Assembly obj_Assembly_PdfLibNet32 = System.Reflection.Assembly.GetExecutingAssembly(); using (Stream obj_Stream_Fichero = obj_Assembly_PdfLibNet32.GetManifestResourceStream("SigmaERP.FicherosIncrustados.PdfLibNet32.dll")) { if (obj_Stream_Fichero != null) { arr_Fichero_incrustado_PdfLibNet32 = new byte[obj_Stream_Fichero.Length]; obj_Stream_Fichero.Read(arr_Fichero_incrustado_PdfLibNet32, 0, arr_Fichero_incrustado_PdfLibNet32.Length); } } if (!File.Exists(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_PDFLIBNET32)) { //poner en la carpeta File.WriteAllBytes(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_PDFLIBNET32, arr_Fichero_incrustado_PdfLibNet32); } //PDFLibNet64 ################################################################################## byte[] arr_Fichero_incrustado_PDFLibNet64 = null; Assembly obj_Assembly_PDFLibNet64 = System.Reflection.Assembly.GetExecutingAssembly(); using (Stream obj_Stream_Fichero = obj_Assembly_PDFLibNet64.GetManifestResourceStream("SigmaERP.FicherosIncrustados.PDFLibNet64.dll")) { if (obj_Stream_Fichero != null) { arr_Fichero_incrustado_PDFLibNet64 = new byte[obj_Stream_Fichero.Length]; obj_Stream_Fichero.Read(arr_Fichero_incrustado_PDFLibNet64, 0, arr_Fichero_incrustado_PDFLibNet64.Length); } } if (!File.Exists(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_PDFLIBNET64)) { //poner en la carpeta File.WriteAllBytes(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_PDFLIBNET64, arr_Fichero_incrustado_PDFLibNet64); } #endregion #region Actualizador bool bol_Copiar_ExferiaActualizador = false; byte[] arr_Fichero_incrustado_Actualizador = null; //Version del ExferiaActualiazdor.exe incrustado string str_Version_Fichero_Incrustado = ""; Assembly obj_Assembly_Actualizador = System.Reflection.Assembly.GetExecutingAssembly(); using (Stream obj_Stream_Fichero = obj_Assembly_Actualizador.GetManifestResourceStream("SigmaERP.FicherosIncrustados.ExferiaActualizador.exe")) { if (obj_Stream_Fichero != null) { arr_Fichero_incrustado_Actualizador = new byte[obj_Stream_Fichero.Length]; obj_Stream_Fichero.Read(arr_Fichero_incrustado_Actualizador, 0, arr_Fichero_incrustado_Actualizador.Length); Assembly obj_Assembly_AUX = System.Reflection.Assembly.Load(arr_Fichero_incrustado_Actualizador); str_Version_Fichero_Incrustado = obj_Assembly_AUX.GetName().Version.ToString(); } } //Existe ExferiaActualiazdor.exe if (File.Exists(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_ACTUALIZADOR)) { FileVersionInfo obj_FileVersion_Exferia_Aplicacion = FileVersionInfo.GetVersionInfo(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_ACTUALIZADOR); Version obj_Version_Exferia_Aplicacion = Version.Parse(obj_FileVersion_Exferia_Aplicacion.FileVersion); string str_Version_Fichero_Local = obj_Version_Exferia_Aplicacion.ToString(); if (str_Version_Fichero_Local != str_Version_Fichero_Incrustado) { //Borrar el Fichero Local File.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_ACTUALIZADOR); bol_Copiar_ExferiaActualizador = true; } } else { bol_Copiar_ExferiaActualizador = true; } if (bol_Copiar_ExferiaActualizador) { //poner en la carpeta File.WriteAllBytes(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_ACTUALIZADOR, arr_Fichero_incrustado_Actualizador); } #endregion } catch (Exception ex) { //No se muestra mensaje pero se guarda en el log Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Copiar_FicherosIncrustados)); } } #endregion private void Iniciar() { try { //1º Conexion a base de datos if (Iniciar_ConexionBD()) { //2º Licencia if (Iniciar_Licencia()) { //3º Iniciar las Actualizaciones de las librerias if (Variables.G_MDL_LICENCIA_VALIDADA.fechaFinActualizaciones == "") { Iniciar_Actualizaciones(); } //4º Validar el Usuario g_obj_Controladora.Validacion_Usuario(); } else { this.Close(); } } else { this.Close(); } } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Iniciar)); this.Close(); } } private bool Iniciar_ConexionBD() { bool bol_TodoCorrecto = true; try { //Conexion ....................................... try { Funciones_FicherosXML.CargarDatosXML_ConexionBD(); } catch (Control_Errores) { Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGA_DATOSXML()); } //................................................. //Validar si la Conexion es Correcta .............. if (Datos_Generales.Comprobar_Conexion_SQLServer()) { try { Funciones_FicherosXML.CargarDatosXML_ConexionBD_KairosPRO(); //Validar Version de EntityFramework de Exferia, por si hay que ejecutar script Datos_Actualizacion_BD obj_Datos_Actualizacion_BD = new Datos_Actualizacion_BD(); int int_ValorDevuelto = obj_Datos_Actualizacion_BD.Comprobar_Actualizaciones_BD(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_ENTITYFRAMEWORK); //-1 Ocurrio un Error // 1 incompatible, version antigua de Exferia_EntityFramework // 0 Todo Correcto if (int_ValorDevuelto == 0) { //Cambiar el Icono de la impresoras Locales //Cargamos el ensamblado ######################################################################################################################################################################### Assembly m_assembly_1 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll"); //Obtenemos el tipo de la clase Type m_type_1 = m_assembly_1.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES); //creamos la instancia var obj_Clase_1 = Activator.CreateInstance(m_type_1); //Cargamos el metodo solicitado MethodInfo obj_MethodInfo_1 = obj_Clase_1.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_INFIMPRESORAS_DEVOLVERASIGNACIONIMPRESORASLOCALES, BindingFlags.Instance | BindingFlags.NonPublic); //Obtener valores object[] arr_Parametros_1 = { }; //Pasamos los parametros al metodo y lo ejecutamos int int_ValorAsignacion = (int)obj_MethodInfo_1.Invoke(obj_Clase_1, arr_Parametros_1); //################################################################################################################################################################################################## Funciones.Cambiar_Icono_Impresora_PantallaPrincipal(int_ValorAsignacion); //Comprobamos que exista o no el superadmin, si no existe, lo creará. Datos_Generales.USR_Usuarios_Existe_SuperAdmin(); } else { bol_TodoCorrecto = false; } } catch (Control_Errores) { } } else//Si es False se Cierra la Aplicacion { bol_TodoCorrecto = false; } } catch (Control_Errores) { bol_TodoCorrecto = false; } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Iniciar_ConexionBD)); bol_TodoCorrecto = false; } return bol_TodoCorrecto; } private bool Iniciar_Licencia() { bool bol_TodoCorrecto = true; try { INTERNO_ServicioWeb_Licencia_Modelo mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal = Funciones_FicherosXML.CargarDatosXML_Licencia(); if (mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal == null) { //Pedir Datos del Cliente PE_ValidacionLicencia frm_PE_ValidacionLicencia = new PE_ValidacionLicencia(); frm_PE_ValidacionLicencia.ShowDialog(); if (frm_PE_ValidacionLicencia.PE_ValidacionLicencia_ValidacionCorrecta == false) { bol_TodoCorrecto = false; } else { //Reiniciar Aplicacion Application.Restart(); } } else { Variables.G_LNG_IDCLIENTE_LICENCIAVALIDADO = mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal.idCliente; Variables.G_MDL_LICENCIA_VALIDADA = mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal; //GRBAR EN BASE DE DATOS PRV_LicenciaDatos mdl_PRV_LicenciaDatos = new PRV_LicenciaDatos(); mdl_PRV_LicenciaDatos.id = -1; mdl_PRV_LicenciaDatos.idCliente = mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal.idCliente; mdl_PRV_LicenciaDatos.nombreComercial = mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal.ClienteNombreComercial; mdl_PRV_LicenciaDatos.razonSocial = mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal.ClienteRazonSocial; Datos_Generales.PRV_LicenciaDatos_Grabar(mdl_PRV_LicenciaDatos); //Bloquear opciones antes de que se valide con el ServicioWEB Datos_Generales.PRV_OpcionesDisponiblesParaCliente_Bloquear_Productos_SegunLicenciasFechas(mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal); Datos_Generales.PRV_Productos_Cargar(); //validar licencia con el Servidor g_timer_TareaAsicrona_Validacion_Licencia.Start(); } } catch (Control_Errores) { bol_TodoCorrecto = false; } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Iniciar_Licencia)); bol_TodoCorrecto = false; } return bol_TodoCorrecto; } private void Iniciar_Actualizaciones() { try { // Proceso de actualización ProcessStartInfo obj_ProcessStartInfo = new ProcessStartInfo(); //Grabar en Fichero Registry.SetValue(Variables.G_STR_KEYNAME, Variables.G_STR_KEYVALUE, 1); //Ruta Principal string str_Ruta = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); str_Ruta = str_Ruta.Replace(" ", ","); //Nombre del Ejecutable string str_NombreEjecutable = System.IO.Path.GetFileName(System.Reflection.Assembly.GetExecutingAssembly().Location); str_NombreEjecutable = str_NombreEjecutable.Replace(" ", ","); #region Fibra/ADSL/Local string str_DireccionesActualizacion = ""; //ADSL/Fibra/Local if (Variables.G_STR_ORDEN_ACTUALIZACION.Equals("AFL")) { str_DireccionesActualizacion = Variables_SigmaERP.G_STR_URL_ACTUALIZACION_NORMAL + "|" + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_FIBRA + "|" + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_INTERNA + " "; } //ADSL/Local/Fibra else if (Variables.G_STR_ORDEN_ACTUALIZACION.Equals("ALF")) { str_DireccionesActualizacion = Variables_SigmaERP.G_STR_URL_ACTUALIZACION_NORMAL + "|" + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_INTERNA + "|" + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_FIBRA + " "; } //Local/Fibra/ADSL else if (Variables.G_STR_ORDEN_ACTUALIZACION.Equals("LFA")) { str_DireccionesActualizacion = Variables_SigmaERP.G_STR_URL_ACTUALIZACION_INTERNA + "|" + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_FIBRA + "|" + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_NORMAL + " "; } //Local/ADSL/Fibra else if (Variables.G_STR_ORDEN_ACTUALIZACION.Equals("LAF")) { str_DireccionesActualizacion = Variables_SigmaERP.G_STR_URL_ACTUALIZACION_INTERNA + "|" + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_NORMAL + "|" + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_FIBRA + " "; } //Fibra/Local/ADSL else if (Variables.G_STR_ORDEN_ACTUALIZACION.Equals("FLA")) { str_DireccionesActualizacion = Variables_SigmaERP.G_STR_URL_ACTUALIZACION_FIBRA + "|" + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_INTERNA + "|" + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_NORMAL + " "; } //Fibra/ADSL/Local else { str_DireccionesActualizacion = Variables_SigmaERP.G_STR_URL_ACTUALIZACION_FIBRA + "|" + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_NORMAL + "|" + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_INTERNA + " "; } #endregion obj_ProcessStartInfo.Arguments = str_Ruta + " " + str_DireccionesActualizacion + str_NombreEjecutable + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_BARCODELIB + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_MAPA_CORE + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_MAPA_WINDOWSFORMS + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_MSHTML + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_ITEXTSHERP + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_PDF4ME + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_NEWTONSOFT + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_GMAQRCODENETENCODINGNET45 + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_ACTUALIZACION_BD + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_AGENDA + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_APLICACION + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_AYUDA + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_COMPRAS + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_CONTABILIDAD + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_CONTROLGASTOS + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_CONTROLES + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_CRM + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_ENTITYFRAMEWORK + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_EXPEDIENTES + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_FORMULARIOS + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_GENERAL + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_GESTIONTASAS + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_HERMES + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_HOTELPUNTOVENTA + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_INFORMES + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_INVENTARIOS + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KAIROSPRO + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KAIROSPRO_EF + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KAIROSPRO_INFORMES + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KRONOS + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KRONOS_SERVICIO_WINDOWS + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_MAESTROS + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_MYTHOS + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_PERSONAL + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_PREVISIONES + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_VENTAS + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_SERVICIOS + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_SINCRONIZACION + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_SERVICIOSWEB + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_SISTEMAGESTIONALMACEN + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_TRASPASODATOS + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_CONTRATOSPUBLICOS + " " + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_GESTIONDOCUMENTAL ; obj_ProcessStartInfo.WindowStyle = ProcessWindowStyle.Normal; obj_ProcessStartInfo.FileName = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\" + Variables_SigmaERP.G_STR_EXFERIA_ACTUALIZADOR; //Se lanza el Proceso Process.Start(obj_ProcessStartInfo); Application.DoEvents(); Thread.Sleep(1000); Application.DoEvents(); //Comprobar que la libreria de exferia termino System.Windows.Forms.Timer timer_AUX = new System.Windows.Forms.Timer(); timer_AUX.Interval = 50; timer_AUX.Tick += delegate (object s, EventArgs ee) { int int_Valor_Actualizador = (int)Registry.GetValue(Variables.G_STR_KEYNAME, Variables.G_STR_KEYVALUE, 0); if (int_Valor_Actualizador == 1) { timer_AUX.Stop(); timer_AUX.Dispose(); } }; timer_AUX.Start(); //#################################################################### } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Iniciar_Actualizaciones)); //Grabar en Fichero Registry.SetValue(Variables.G_STR_KEYNAME, Variables.G_STR_KEYVALUE, 0); } } private void ex_trv_Menu_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { if (e.Node.Tag.ToString().Equals("0"))//Esta Activo { g_obj_Controladora.Cargar_Pantalla_SegunNodo(e.Node.Name); } } #region Impresora Local private void ex_btn_P_Principal_ImpresorasLocal_Click(object sender, EventArgs e) { g_obj_Controladora.ImpresorasLocales(); } #endregion #region Menu Athos Emergente private void btn_MenuAthos_Mostrar_Click(object sender, EventArgs e) { if (ex_pnl_Athos.Visible) { ex_pnl_Athos.Visible = false; } else { ex_pnl_Athos.Visible = true; } } private void btn_Athos_AnclarDesanclar_Click(object sender, EventArgs e) { MenuAthos_AnclarDesanclar(ex_btn_Athos_AnclarDesanclar.Tag.ToString()); } public void MenuAthos_AnclarDesanclar(string _str_Tipo) { //Anclar if (_str_Tipo.Equals("0")) { Variables.G_BOL_MENUATHOS_ANCLADO = true; Exferia_Button_Athos_AnclarDesanclar.Tag = "1"; Exferia_Button_Athos_AnclarDesanclar.Text = "7"; //Oculto el boton de Menu Exferia_Button_Vertical_Athos_Mostrar.Visible = false; //Ruedo el menu para la derecha Exferia_Panel_Degradado_CambioColor_Athos.Location = new Point(Exferia_Panel_Degradado_CambioColor_Athos.Location.X + Exferia_Button_Vertical_Athos_Mostrar.Width, Exferia_Panel_Degradado_CambioColor_Athos.Location.Y); //Mover el panel principal spl_Principal.Size = new Size((spl_Principal.Size.Width - Exferia_Panel_Degradado_CambioColor_Athos.Width) + Exferia_Button_Vertical_Athos_Mostrar.Width, spl_Principal.Size.Height); } //Desanclar else { Variables.G_BOL_MENUATHOS_ANCLADO = false; Exferia_Button_Athos_AnclarDesanclar.Tag = "0"; Exferia_Button_Athos_AnclarDesanclar.Text = "8"; //Ruedo el panel de athos para la izquierda Exferia_Panel_Degradado_CambioColor_Athos.Location = new Point(Exferia_Panel_Degradado_CambioColor_Athos.Location.X - Exferia_Button_Vertical_Athos_Mostrar.Width, Exferia_Panel_Degradado_CambioColor_Athos.Location.Y); //Mustro el boton de Menu Exferia_Button_Vertical_Athos_Mostrar.Visible = true; //Mover el panel principal spl_Principal.Size = new Size((spl_Principal.Size.Width + Exferia_Panel_Degradado_CambioColor_Athos.Width) - Exferia_Button_Vertical_Athos_Mostrar.Width, spl_Principal.Size.Height); } } #endregion #region Menu Izquierdo Emergente private void btn_MenuIzquierdo_Mostrar_Click(object sender, EventArgs e) { if (ex_pnl_MenuIzquierdo.Visible) { ex_pnl_MenuIzquierdo.Visible = false; } else { ex_pnl_MenuIzquierdo.Visible = true; } } private void btn_MenuIzquierdo_AnclarDesanclar_Click(object sender, EventArgs e) { MenuIzquierdo_AnclarDesanclar(ex_btn_MenuIzquierdo_AnclarDesanclar.Tag.ToString()); } public void MenuIzquierdo_AnclarDesanclar(string _str_Tipo) { //Anclar if (_str_Tipo.Equals("0")) { Variables.G_BOL_MENUIZQUIERDO_ANCLADO = true; Exferia_Button_MenuIzquierdo_AnclarDesanclar.Tag = "1"; Exferia_Button_MenuIzquierdo_AnclarDesanclar.Text = "7"; //Oculto el boton de Menu Exferia_Button_Vertical_MenuIzquierdo_Mostrar.Visible = false; //Ruedo el menu para la izquierda Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Location = new Point(0, Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Location.Y); //Mover el panel principal spl_Principal.Location = new Point(Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Width + 5, spl_Principal.Location.Y); spl_Principal.Size = new Size((spl_Principal.Size.Width - Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Width) + Exferia_Button_Vertical_MenuIzquierdo_Mostrar.Width, spl_Principal.Size.Height); } //Desanclar else { Variables.G_BOL_MENUIZQUIERDO_ANCLADO = false; Exferia_Button_MenuIzquierdo_AnclarDesanclar.Tag = "0"; Exferia_Button_MenuIzquierdo_AnclarDesanclar.Text = "9"; //btn_MenuIzquierdo_AnclarDesanclar.BackgroundImage = global::SigmaERP.Properties.Resources.i_Anclar_No; //Ruedo el menu para la derecha Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Location = new Point(21, Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Location.Y); //Mustro el boton de Menu Exferia_Button_Vertical_MenuIzquierdo_Mostrar.Visible = true; //Mover el panel principal spl_Principal.Location = new Point(Exferia_Button_Vertical_MenuIzquierdo_Mostrar.Width + 5, spl_Principal.Location.Y); spl_Principal.Size = new Size((spl_Principal.Size.Width + Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Width) - Exferia_Button_Vertical_MenuIzquierdo_Mostrar.Width, spl_Principal.Size.Height); } } private void ex_txt_P_Principal_Busqueda_Exferia_TextBox_Evento_TextChanged(object sender, EventArgs e) { g_timer_Menu_Buscar.Stop(); g_timer_Menu_Buscar.Start(); } #endregion #region Empresas public void Cargar_Empresa_Activo() { Label_EmpresaEjercicioOrden_Activo.Text = Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO.str_Empresa_Descripcion + " - " + "(" + Variables.G_DTT_FECHA_INICIAL_PORDEFECTO.ToString("dd/MM/yyyy") + ")"; } private void ex_btn_CambiarEmpresa_Click(object sender, EventArgs e) { g_obj_Controladora.Cargar_Pantalla_SegunOpcion(Variables.G_STR_OPCION_GEN_EMPRESASELECCION); } #endregion private void Cargar_Imagen_Fondo() { try { //Si la Imagen en la ruta no existe, copia la que tengo incrustada en el proyecto a la ruta local if (!File.Exists(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\Imagen_Sigma.png")) { Resources.logo_sigmaERP.Save(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\Imagen_Sigma.png"); } BackgroundImage = Image.FromFile(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\Imagen_Sigma.png"); } catch (Exception) { } } #region Licencia private bool g_bol_Recargar_Arbol = false; private void ex_btn_CambiarLicencia_Click(object sender, EventArgs e) { try { //Buscar la opcion del nodo pulsdo INTERNO_OpcionesDetalle_Modelo mdl_INTERNO_OpcionesDetalle_Modelo = Datos_Generales.PRV_Opciones_Buscar_Detalles(Variables.G_STR_OPCION_GEN_LICENCIASPRODUCTOS); if (mdl_INTERNO_OpcionesDetalle_Modelo != null) { //Cargamos el ensamblado Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_GENERAL + ".dll"); //Obtenemos el tipo de la clase Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_GENERAL + "." + Variables.G_STR_LIBRERIA_OPCIONES); //creamos la instancia var obj_Clase = Activator.CreateInstance(m_type); //Cargamos el metodo solicitado MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_MOSTRAR_EN_MANTENIMIENTO, BindingFlags.Instance | BindingFlags.NonPublic); //Obtener valores object[] arr_Parametros = { Variables.G_STR_OPCION_GEN_LICENCIASPRODUCTOS, null, null, Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, mdl_INTERNO_OpcionesDetalle_Modelo, -1, "", "", null,null }; //Pasamos los parametros al metodo y lo ejecutamos obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); } } catch (FileNotFoundException ex) { Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_NOENCUENTRALIBRERIA()); Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(ex_btn_CambiarLicencia_Click)); } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(ex_btn_CambiarLicencia_Click)); } } private void Validacion_Licencia() { try { if (g_bol_ValidandoLicencia == false) { g_bol_ValidandoLicencia = true; //## Arrancar Tarea Asincrona ###################### g_bgw_Validacion_Licencia.RunWorkerAsync(); //################################################## } } catch (Exception ex) { Control_Errores.Errores_Log("",ex, nameof(P_Principal) + "/" + nameof(Validacion_Licencia)); g_bol_ValidandoLicencia = false; } } private void TareaAsincrona_Validacion_Licencia_DoWork(object sender, DoWorkEventArgs e) { INTERNO_ServicioWeb_Licencia_Modelo mdl_INTERNO_ServicioWeb_Licencia_Modelo = new INTERNO_ServicioWeb_Licencia_Modelo(); mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta = Variables.G_INT_VALIDARLICENCIA_RESPUESTA_ERROR; try { //Llama al Servicio Web para Actualizar //Cargamos el ensamblado ######################################################################################################################################################################### Assembly m_assembly_1 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_SERVICIOWEB + ".dll"); //Obtenemos el tipo de la clase Type m_type_1 = m_assembly_1.GetType("" + Variables.G_STR_LIBRERIA_SERVICIOWEB + "." + Variables.G_STR_LIBRERIA_DATOSSERVICIOWEB); //creamos la instancia var obj_Clase_1 = Activator.CreateInstance(m_type_1); //Cargamos el metodo solicitado MethodInfo obj_MethodInfo_1 = obj_Clase_1.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSSERVICIOWEB_PROCEDIMIENTO_VALIDAR_LICENCIA, BindingFlags.Instance | BindingFlags.NonPublic); //Obtener valores object[] arr_Parametros_1 = { Variables.G_MDL_LICENCIA_VALIDADA.idCliente, Variables.G_MDL_LICENCIA_VALIDADA.numeroLicencia }; //Pasamos los parametros al metodo y lo ejecutamos mdl_INTERNO_ServicioWeb_Licencia_Modelo = (INTERNO_ServicioWeb_Licencia_Modelo)obj_MethodInfo_1.Invoke(obj_Clase_1, arr_Parametros_1); //################################################################################################################################################################################################## //Esta validado correctamente if (mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta.Equals(Variables.G_INT_VALIDARLICENCIA_RESPUESTA_NUMEROLICENCIA_CORRECTO)) { //Actualizar variables validacion de licencia Variables.G_MDL_LICENCIA_VALIDADA = mdl_INTERNO_ServicioWeb_Licencia_Modelo; Funciones_FicherosXML.CrearDocumentoXML_Licencia(Variables.G_MDL_LICENCIA_VALIDADA); g_bol_Recargar_Arbol = Datos_Generales.PRV_OpcionesDisponiblesParaCliente_Actualizar_Segun_ProductosLicenciasFechas(); Datos_Generales.PRV_Productos_Cargar(); //GRBAR EN BASE DE DATOS PRV_LicenciaDatos mdl_PRV_LicenciaDatos = new PRV_LicenciaDatos(); mdl_PRV_LicenciaDatos.id = -1; mdl_PRV_LicenciaDatos.idCliente = mdl_INTERNO_ServicioWeb_Licencia_Modelo.idCliente; mdl_PRV_LicenciaDatos.nombreComercial = mdl_INTERNO_ServicioWeb_Licencia_Modelo.ClienteNombreComercial; mdl_PRV_LicenciaDatos.razonSocial = mdl_INTERNO_ServicioWeb_Licencia_Modelo.ClienteRazonSocial; Datos_Generales.PRV_LicenciaDatos_Grabar(mdl_PRV_LicenciaDatos); } } catch (ThreadAbortException ex) { Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "" + nameof(TareaAsincrona_Validacion_Licencia_DoWork)); mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta = Variables.G_INT_VALIDARLICENCIA_RESPUESTA_ERROR_TAREAASINCRONA; } catch (Control_Errores) { mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta = Variables.G_INT_VALIDARLICENCIA_RESPUESTA_ERROR_TAREAASINCRONA; } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "" + nameof(TareaAsincrona_Validacion_Licencia_DoWork)); mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta = Variables.G_INT_VALIDARLICENCIA_RESPUESTA_ERROR_TAREAASINCRONA; } finally { e.Result = mdl_INTERNO_ServicioWeb_Licencia_Modelo; } } private void TareaAsincrona_Validacion_Licencia_Completed(object sender, RunWorkerCompletedEventArgs e) { try { INTERNO_ServicioWeb_Licencia_Modelo mdl_INTERNO_ServicioWeb_Licencia_Modelo = (INTERNO_ServicioWeb_Licencia_Modelo)e.Result; // Hubo un Error en tarea Asincrna if (mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta.Equals(Variables.G_INT_VALIDARLICENCIA_RESPUESTA_ERROR_TAREAASINCRONA)) { } // Hubo un Error else if (mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta.Equals(Variables.G_INT_VALIDARLICENCIA_RESPUESTA_ERROR)) { } //No esta Activado Correctamente else if (mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta.Equals(Variables.G_INT_VALIDARLICENCIA_RESPUESTA_NUMEROLICENCIA_INCORRECTO)) { g_timer_TareaAsicrona_Validacion_Licencia.Stop(); g_timer_TareaAsicrona_Validacion_Licencia.Dispose(); PE_ValidacionLicencia frm_PE_ValidacionLicencia = new PE_ValidacionLicencia(); frm_PE_ValidacionLicencia.ShowDialog(); if (frm_PE_ValidacionLicencia.PE_ValidacionLicencia_ValidacionCorrecta == false) { this.Close(); } else { if (g_obj_Controladora != null) { g_obj_Controladora.Mostrar_DatosLicencia(); } } } // Existe y esta dentro de la validez else if (mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta.Equals(Variables.G_INT_VALIDARLICENCIA_RESPUESTA_NUMEROLICENCIA_CORRECTO)) { g_timer_TareaAsicrona_Validacion_Licencia.Stop(); g_timer_TareaAsicrona_Validacion_Licencia.Dispose(); if (g_obj_Controladora != null) { g_obj_Controladora.Mostrar_DatosLicencia(); } if (g_bol_Recargar_Arbol) { g_obj_Controladora.Recarga_Datos_Arbol_Permisos(false); } } } catch (Exception ex) { Control_Errores.Errores_Log("",ex, nameof(P_Principal) + "/" + nameof(TareaAsincrona_Validacion_Licencia_Completed)); } finally { g_bol_ValidandoLicencia = false; } } #endregion #region Opciones del Super Administrador private void ex_btn_MenuIzquierdo_GestionControl_Click(object sender, EventArgs e) { try { //Buscar la opcion del nodo pulsdo INTERNO_OpcionesDetalle_Modelo mdl_INTERNO_OpcionesDetalle_Modelo = Datos_Generales.PRV_Opciones_Buscar_Detalles(Variables.G_STR_OPCION_GEN_PERFILESFUNCIONALIDAD); if (mdl_INTERNO_OpcionesDetalle_Modelo != null) { //Cargamos el ensamblado Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_GENERAL + ".dll"); //Obtenemos el tipo de la clase Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_GENERAL + "." + Variables.G_STR_LIBRERIA_OPCIONES); //creamos la instancia var obj_Clase = Activator.CreateInstance(m_type); //Cargamos el metodo solicitado MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_CARGAR_LISTADO, BindingFlags.Instance | BindingFlags.NonPublic); //Obtener valores object[] arr_Parametros = { mdl_INTERNO_OpcionesDetalle_Modelo.opcion, false, 0, null, Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, "", "", false, false, null, null, null, null, null, null }; //Pasamos los parametros al metodo y lo ejecutamos obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); } } catch (FileNotFoundException ex) { Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(ex_btn_MenuIzquierdo_GestionControl_Click)); } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(ex_btn_MenuIzquierdo_GestionControl_Click)); } } private void ex_btn_MenuIzquierdo_TipoCompraVenta_Click(object sender, EventArgs e) { try { //Buscar la opcion del nodo pulsdo INTERNO_OpcionesDetalle_Modelo mdl_INTERNO_OpcionesDetalle_Modelo = Datos_Generales.PRV_Opciones_Buscar_Detalles(Variables.G_STR_OPCION_GEN_TIPOCOMPRAVENTA); if (mdl_INTERNO_OpcionesDetalle_Modelo != null) { //Cargamos el ensamblado Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_GENERAL + ".dll"); //Obtenemos el tipo de la clase Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_GENERAL + "." + Variables.G_STR_LIBRERIA_OPCIONES); //creamos la instancia var obj_Clase = Activator.CreateInstance(m_type); //Cargamos el metodo solicitado MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_CARGAR_LISTADO, BindingFlags.Instance | BindingFlags.NonPublic); //Obtener valores object[] arr_Parametros = { mdl_INTERNO_OpcionesDetalle_Modelo.opcion, false, 0, null, Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, "", "", false, false, null, null, null, null ,null,null}; //Pasamos los parametros al metodo y lo ejecutamos obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); } } catch (FileNotFoundException ex) { Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(ex_btn_MenuIzquierdo_TipoCompraVenta_Click)); } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(ex_btn_MenuIzquierdo_TipoCompraVenta_Click)); } } #endregion private void P_Principal_FormClosed(object sender, FormClosedEventArgs e) { g_obj_Controladora.Actualizar_Fichero_ConfiguracionXML(); } #region para que solo tenga una instancia el ERp, y si tiene argumentos abra una pantalla aparte protected override void WndProc(ref Message m) { if (m.Msg == NativeMethods.WM_SHOWME) { Activar_FormularioPrincipal(); } base.WndProc(ref m); } private void Activar_FormularioPrincipal() { try { if (WindowState == FormWindowState.Minimized) { WindowState = FormWindowState.Normal; } // get our current "TopMost" value (ours will always be false though) bool top = TopMost; // make our form jump to the top of everything TopMost = true; // set it back to whatever it was TopMost = top; string str_RutaTemporal = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\GT.txt"; if (File.Exists(str_RutaTemporal)) { string str_Argumento = File.ReadAllText(str_RutaTemporal); File.Delete(str_RutaTemporal); if (str_Argumento.Trim().Length > 0) { string[] arr_Argumentos = new string[1]; arr_Argumentos[0] = str_Argumento; g_obj_Controladora.g_arr_Argumentos_Recibidos = arr_Argumentos; g_obj_Controladora.Validar_ArgumentosProgramaExterno(); } } } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Activar_FormularioPrincipal)); } } #endregion } }