private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                // validaciones
                foreach (Control x in this.groupBox1.Controls)
                {
                    if (x is TextBox)
                    {
                        if (string.IsNullOrEmpty(((TextBox)x).Text))
                        {
                            throw new Exception("Campos incompletos, Por favor verifique");
                        }
                    }
                }

                if (this.cbAlmacenes.SelectedIndex == -1)
                {
                    throw new Exception("Debe seleccionar un almacén");
                }

                /* P E R I O D O   D E   P R U E B A */

                if (!this._demo)
                {
                    bool pruebaConn = pruebaCon();

                    if (!pruebaConn)
                    {
                        throw new Exception("Falló la conexión a la base de datos");
                    }

                    FBDAL FbDal = new FBDAL();

                    this._fecha = FbDal.getFecha();
                }
                /* P E R I O D O   D E   P R U E B A */


                // define texto del archivo
                string cadena = string.Empty;

                // MICROSIP
                cadena += "S_" + this.txbSucursal.Text + "||";
                cadena += "S_" + this.txbServidor.Text + "||";
                cadena += "D_" + this.txbDatabase.Text + "||";
                cadena += "U_" + this.txbUser.Text + "||";
                cadena += "C_" + this.txbContraseña.Text + "||";
                cadena += "P_" + this.nudPuerto.Text + "||";
                cadena += "A_" + this.cbAlmacenes.SelectedIndex + "||";
                cadena += "A_" + ((Almacen)this.cbAlmacenes.SelectedItem).ID + "||";

                cadena += "D_true||";
                cadena += "D_" + this._fecha + "||";

                // prosigue con la creación del archivo
                FEncrypt.Respuesta result = FEncrypt.EncryptDncrypt.EncryptFile("milagros", cadena, this._path);

                if (result.status == FEncrypt.Estatus.ERROR)
                {
                    throw new Exception(result.error);
                }

                if (result.status == FEncrypt.Estatus.OK)
                {
                    objConfig            = new ConfiguracionFB();
                    objConfig.Database   = this.txbServidor.Text + ":" + this.txbDatabase.Text;
                    objConfig.Usuario    = txbUser.Text;
                    objConfig.Contraseña = txbContraseña.Text;
                    objConfig.Puerto     = (int)nudPuerto.Value;
                    Properties.Settings.Default.Configuracion = objConfig;

                    Properties.Settings.Default.Almacen = ((Almacen)this.cbAlmacenes.SelectedItem).ID;

                    Properties.Settings.Default.Sucursal = txbSucursal.Text;
                    Properties.Settings.Default.Save();

                    MessageBox.Show("La configuracion se ha guardado con exito!!!", "Configuración", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    this.DialogResult = System.Windows.Forms.DialogResult.OK;

                    this.Close();
                }
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message, "Configuración", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
示例#2
0
        private void FrmAbarrotes_Load(object sender, EventArgs e)
        {
            try
            {
                // valida si ya tiene alguna clave guardada para el archivo
                string cveActual = Properties.Settings.Default.accesoConfig;

                if (string.IsNullOrEmpty(cveActual))
                {
                    string acceso = Modelos.Utilerias.Transform("p4ssw0rd");

                    Properties.Settings.Default.accesoConfig = acceso;
                    Properties.Settings.Default.Save();
                }


                string fileName       = "config.dat";
                string pathConfigFile = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\SelecSuc\";

                // si no existe el directorio, lo crea
                bool exists = System.IO.Directory.Exists(pathConfigFile);

                if (!exists)
                {
                    System.IO.Directory.CreateDirectory(pathConfigFile);
                }

                // busca en el directorio si exite el archivo con el nombre dado
                var file = Directory.GetFiles(pathConfigFile, fileName, SearchOption.AllDirectories)
                           .FirstOrDefault();

                if (file == null)
                {
                    // no existe
                    // abrir el formulario para llenar la configuracion de conexion
                    FrmConfiguracionAbarrotes form = new FrmConfiguracionAbarrotes();
                    var resultado = form.ShowDialog();

                    if (resultado != System.Windows.Forms.DialogResult.OK)
                    {
                        this._defConfig = false;
                        throw new Exception("No se ha definido la configuración");
                    }
                }

                file = Directory.GetFiles(pathConfigFile, fileName, SearchOption.AllDirectories)
                       .FirstOrDefault();

                // si existe
                // obtener la cadena de conexion del archivo
                FEncrypt.Respuesta result = FEncrypt.EncryptDncrypt.DecryptFile(file, "milagros");

                if (result.status == FEncrypt.Estatus.ERROR)
                {
                    throw new Exception(result.error);
                }

                if (result.status == FEncrypt.Estatus.OK)
                {
                    string[] list = result.resultado.Split(new string[] { "||" }, StringSplitOptions.None);

                    string sucursal  = list[0].Substring(2);      // sucursal
                    string servidor  = list[1].Substring(2);      // servidor
                    string baseDatos = list[2].Substring(2);      // base de datos
                    string usuario   = list[3].Substring(2);      // usuario
                    string contra    = list[4].Substring(2);      // contraseña
                    string puerto    = list[5].Substring(2);      // puerto
                    string almacen   = list[7].Substring(2);      // almacen


                    ConfiguracionFB objConfig = new ConfiguracionFB();
                    objConfig.Database   = servidor + ":" + baseDatos;
                    objConfig.Usuario    = usuario;
                    objConfig.Contraseña = contra;
                    objConfig.Puerto     = Convert.ToInt16(puerto);

                    Properties.Settings.Default.Almacen = Convert.ToInt32(almacen);

                    Properties.Settings.Default.Configuracion = objConfig;

                    Properties.Settings.Default.Save();

                    bool   demo  = Convert.ToBoolean(list[8].Substring(2));          // demostrativo
                    string fecha = list[9].Substring(2);                             // fechaPrueba

                    if (demo)
                    {
                        // obtiene fecha microsip
                        FBDAL  FbDal       = new FBDAL();
                        string fechaActual = FbDal.getFecha();

                        // fecha tomada del microsip a partir de la primera vez que se configuro la aplicacion
                        DateTime dtD = DateTime.Parse(fecha).AddDays(7); // siete dias de prueba
                        DateTime dtA = DateTime.Parse(fechaActual);

                        // diferencia entre dias de la fecha actual y la tomada del microsip
                        int dif = (dtD - dtA).Days;

                        //if (dif >= 0)
                        if (dif < 0)
                        {
                            MessageBox.Show("La versión de prueba ha caducado", "Selectivas de Sucursal", MessageBoxButtons.OK, MessageBoxIcon.Information);

                            this.txbClave.Enabled    = false;
                            this.btnBuscar.Enabled   = false;
                            this.btnImprimir.Enabled = false;
                            this.btnLimpiar.Enabled  = false;

                            this.label7.Text = "CADUCADO";
                        }
                    }
                }

                this._defConfig = true;
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message, "Selectivas de Sucursal", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }