//#####  FUNCION PARA ANTES DE CERRAR EL FORMULARIO, GUARDA EL SKIN ACTUAL Y CIERRA LOS HILOS  #####
 private void MidPrincipal_FormClosed(object sender, FormClosedEventArgs e)
 {
     if (defaultLookAndFeel1.LookAndFeel.SkinName != VarConst.NomSkin)
     {
         ClassModConfig config = new ClassModConfig();
         config.ModificarSet("","","", defaultLookAndFeel1.LookAndFeel.SkinName,"");
     }
     if (BanCer == 0)
     {
         Application.ExitThread();
     }
 }
示例#2
0
        public FrmInicio()
        {
            InitializeComponent();
            System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("es-ES");
            System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("es");

            string AuxDisco = "";

            //#####  Captura información del disco duro de la aplicación  #####
            Scripting.FileSystemObject fso = new Scripting.FileSystemObject();
            Scripting.Drive selected_drive = fso.GetDrive(Application.ExecutablePath.Substring(0, 3));

            AuxMsj = LblError.Text;

            //#####  SE CREA UN DIRECTORIO EN C: PARA GUARDAR LOS XML DE LOS REPORTES  #####
            if (!Directory.Exists("C:\\EntSolution"))
            {
                try
                {
                    Directory.CreateDirectory("C:\\EntSolution");
                }
                catch (Exception)
                {
                    MessageBox.Show("No se pudo crear la Carpeta C:\\EntSolution sin esta carpeta el sistema no podrá generar reportes...  Contacte con su administrador de sistemas...", "Información del Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            //#####  SE CREA UN ARCHIVO PARA GUARDAR LOS LOGS DEL SISTEMA  #####
            if (!File.Exists("C:\\EntSolution\\Logs.txt"))
            {
                try
                {
                    File.Create("C:\\EntSolution\\Logs.txt");
                }
                catch (Exception)
                {
                    MessageBox.Show("No se pudo crear el archivo C:\\EntSolution\\Logs.txt sin este archivo el sistema no podrá generar logs de errores...  Contacte a su administrador de sistemas...", "Información del Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

            //#####  SE VALIDA SI LA SECCION ESTA PROTEGIDA EN CASO CONTRARIO SE LLAMA AL CONFIGURADOR  #####

            ClassModConfig Config = new ClassModConfig();
            VarConst.NomSkin = Config.Skins;
            if (Config.Proteccion("connectionStrings") == false)
            {
                FrmConfigCon FrmConfigCon = new FrmConfigCon();
                FrmConfigCon.Text = FrmConfigCon.Text + "Configuración de Conexion";
                FrmConfigCon.OptionConfig(1);
                FrmConfigCon.ShowDialog();
                MessageBox.Show(VarConst.BanError.ToString());
                if (VarConst.BanError == true)
                {
                    VarConst.BanError = false;
                    Environment.Exit(0);
                }
                else
                {
                    Application.Exit();
                }
                return;
            }

            //#####  SE VALIDA LA LICENCIA DEL SISTEMA  #####
            try
            {
                if (Config.Estado == "***")
                {
                    if (selected_drive.IsReady)
                    {
                        if (selected_drive.SerialNumber.ToString().Length <= 15)
                        {
                            AuxDisco = Cifrar.Encriptar(selected_drive.SerialNumber.ToString());
                        }
                        else
                        {
                            string a = selected_drive.SerialNumber.ToString();
                            AuxDisco = a.Substring(0, 3) + "123" + a.Substring(a.Length - 3, 3);
                            AuxDisco = Cifrar.Encriptar(AuxDisco);
                        }
                        AuxDisco = AuxDisco.Substring(0, AuxDisco.Length - 2);
                        FrmConfigCon FrmConfigCon = new FrmConfigCon();
                        FrmConfigCon.Text = "Configuración de Licenciamiento";
                        FrmConfigCon.TxtBloqueo.Text = AuxDisco;
                        FrmConfigCon.OptionConfig(2);
                        FrmConfigCon.ShowDialog();
                        if (VarConst.BanError == true)
                        {
                            VarConst.BanError = false;
                            Environment.Exit(0);
                        }
                        else
                        {
                            Application.Exit();
                        }
                    }
                }
                else
                {
                    if (Cifrar.Desencriptar(Config.Estado) == selected_drive.SerialNumber.ToString())
                    {
                        string AuxLic = Cifrar.Desencriptar(Config.Licencia);
                        DataTable tbl = new DataTable();
                        tbl.Clear();

                        if (conexion.consulta("SELECT EMP_NOMBRE FROM TBLEMPRESA WHERE EMP_BANNOM = 'PRI' AND EMP_RIF LIKE '" + AuxLic.Split('#')[2].Substring(3, 1) + "-%" + AuxLic.Split('#')[2].Substring(4, 3) + "__'"))
                        {
                            tbl = conexion.datos();
                            if (tbl.Rows.Count > 0)
                            {
                                if (AuxLic.Split('#')[2].Substring(0, 3) != "PER")
                                {
                                    if (Convert.ToDateTime(AuxLic.Split('#')[1]).AddDays(-30) < DateTime.Now)
                                    {
                                        //MidPrincipal.TxtMantenimiento.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
                                        //MidPrincipal.TxtMantenimiento.Caption = "Lic. de Mantenimiento: " + DateDiff(DateInterval.Day, Now, CDate(AuxLic.Split("#")(1))).ToString + " Dias"
                                    }
                                    //#####  SE VALIDA ACTUALIZACION  #####
                                    DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo;
                                    DateTime now = DateTime.Now;
                                    Calendar cal = dfi.Calendar;
                                    try
                                    {

                                        bool BanU = false;
                                        switch (Config.Update.Substring(0, 1))
                                        {
                                            case "D":
                                                BanU = true;
                                                break;
                                            case "S":
                                                decimal Semana = cal.GetWeekOfYear(now, dfi.CalendarWeekRule, dfi.FirstDayOfWeek);

                                                if (Convert.ToInt16(Config.Update.Split('#')[0].Split('-')[1]) <= Semana)
                                                {
                                                    BanU = true;
                                                    if (Semana >= 52)
                                                    {
                                                        Config.Update = Config.Update.Split('#')[0].Split('-')[0] + "-" + "1" + "#" + Config.Update.Split('#')[1] + "#" + Config.Update.Split('#')[2];
                                                    }
                                                    else
                                                    {
                                                        Config.Update = Config.Update.Split('#')[0].Split('-')[0] + "-" + (now.Month + 1).ToString() + "#" + Config.Update.Split('#')[1] + "#" + Config.Update.Split('#')[2];
                                                    }
                                                }

                                                break;

                                            case "M":
                                                if (Convert.ToInt16(Config.Update.Split('#')[0].Split('-')[1]) <= now.Month)
                                                {
                                                    BanU = true;
                                                    if (now.Month >= 12)
                                                    {
                                                        Config.Update = Config.Update.Split('#')[0].Split('-')[0] + "-" + "1" + "#" + Config.Update.Split('#')[1] + "#" + Config.Update.Split('#')[2];
                                                    }
                                                    else
                                                    {
                                                        Config.Update = Config.Update.Split('#')[0].Split('-')[0] + "-" + (now.Month + 1).ToString() + "#" + Config.Update.Split('#')[1] + "#" + Config.Update.Split('#')[2];
                                                    }
                                                }

                                                break;
                                        }

                                        if (BanU == true)
                                        {
                                            Config.ModificarSet("", "", "", "", Config.Update);
                                            //FrmActualizador.ShowDialog();
                                        }
                                    }
                                    catch (Exception ex)
                                    {
                                        MsjErr.MsjBox(5, "ERR010-01", ex.ToString());
                                    }

                                }
                                else
                                {
                                    VarConst.BanAct = false;
                                }
                            }
                            else
                            {
                                MsjErr.MsjBox(1, "ERR002-01", "La Licencia instalada en este equipo no es valida");
                                MessageBox.Show("La Licencia instalada en este equipo no es valida");
                                Environment.Exit(0);
                            }
                        }

                    }
                    else
                    {
                        MsjErr.MsjBox(1, "ERR002-01", "La Licencia instalada en este equipo no es valida");
                        Environment.Exit(0);
                    }
                }

            }
            catch (Exception ex)
            {
                MsjErr.MsjBox(1, "ERR002-03", ex.ToString());
                Environment.Exit(0);
            }

            try
            {
                VarConst.NumEmp = Cifrar.Desencriptar(Config.InfEmp + "==").Split('#')[1];
                VarConst.NumTra = Cifrar.Desencriptar(Config.InfEmp + "==").Split('#')[2];
            }
            catch (Exception ex)
            {
                MsjErr.MsjBox(1, "ERR007-01", ex.ToString());
                Environment.Exit(0);
            }
            Config.Destruc();
            if (LicEmp())
            {
                conexion.CargarComboBox("SELECT EMP_NOMBRE FROM TBLEMPRESA WHERE EMP_REG = '1' ORDER BY EMP_ID LIMIT " + VarConst.NumEmp + "", CmbEmpresa, "EMP_NOMBRE");
                CmbEmpresa.SelectedIndex = 0;
            }
            else
            {
                MsjErr.MsjBox(1, "ERR007-02", "Hay mas empresas o usuarios registrados que los que admite la licencia");
                Environment.Exit(0);
            }
        }