コード例 #1
0
        /// <summary>
        /// Guarda una nueva marca en la base de datos
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Btn_Guardar_Click(object sender, EventArgs e)
        {
            //Definicion de las variables del formulario
            string marca = this.txt_Marca.Text;

            bool null_marca = string.IsNullOrWhiteSpace(marca);

            //Funciones de ayuda
            helperFunctions help = new helperFunctions();

            //Revision de valores vacios y mensaje de advertencia para el usuario
            if (help.mensajeAdvEmpty(null_marca, "la marca."))
            {
                return;
            }

            //Revision que el nombre no contenga plecas o contra plecas y mensaje de advertencia para el usuario
            if (help.mensajeAdvPleca(marca, "marca"))
            {
                return;
            }

            //Corre el comando SQL. Si la funcion regresa 1 fue exitoso, si regresa 0 es fallido.
            sqlCommands sql    = new sqlCommands();
            int         result = sql.nuevaMarca(marca);

            if (result == 1)
            {
                MessageBox.Show("Datos guardados exitosamente.");
                this.limpiarFormulario();
            }
        }
コード例 #2
0
        private void FrmPrincipal_Load(object sender, EventArgs e)
        {
            sqlCommands sql = new sqlCommands();

            sql.llenarListBoxMarcasFamilias(lstFamilias, lstMarcas);
            this.resizeGridSelec();
        }
コード例 #3
0
 //Verificar que los 5 directorios de guardado de los paths son validos y se puede escribir en ellos
 public bool verifyDirectories()
 {
     try
     {
         sqlCommands   sql         = new sqlCommands();
         List <string> direcciones = sql.buscarDirGuardado();
         string        dirEnercom  = direcciones[0];
         string        dirCatalogo = direcciones[1];
         string        dirUL       = direcciones[2];
         string        dirTexto    = direcciones[3];
         string        dirVarias   = direcciones[4];
         bool          okEnercom   = IsDirectoryWritable(dirEnercom);
         bool          okCatalogo  = IsDirectoryWritable(dirCatalogo);
         bool          okUL        = IsDirectoryWritable(dirUL);
         bool          okTexto     = IsDirectoryWritable(dirTexto);
         bool          okVarias    = IsDirectoryWritable(dirVarias);
         if (okEnercom && okCatalogo && okUL && okTexto && okVarias)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Ocurrio un problema al tratar de escribir en las direcciones de guardado de los archivos." +
                         "Asegurarse que el usuario tiene los permisos requeridos para escribir en las carpetas de guardado. Error:\n" +
                         ex.ToString());
         return(false);
     }
 }
コード例 #4
0
        private void buscar_db()
        {
            sqlCommands     sql  = new sqlCommands();
            helperFunctions help = new helperFunctions();

            //Orden de las operaciones al momento de buscar la base de datos. El orden es el siguiente: ID, codSap, catalogo, descripcion
            if (!(string.IsNullOrWhiteSpace(this.txt_ID.Text)))
            {
                this.dg_Buscado.DataSource = null;
                this.dg_Buscado.Rows.Clear();
                clsMaterial material = new clsMaterial();
                if (!help.mensajeAdvInt(this.txt_ID.Text, "el ID del material. Solo se aceptan numeros enteros.").boolean)
                {
                    return;
                }
                ;
                long id = Int64.Parse(this.txt_ID.Text);
                material = sql.buscarID(id);
                this.dg_Buscado.Rows.Add("1", id, material.catalogo, material.codsap, material.descripcion, material.marca, material.familia);
                this.resizeGrid();
                dg_Buscado.Focus();
            }
            else if (!(string.IsNullOrWhiteSpace(this.txt_SAP.Text)))
            {
                this.dg_Buscado.DataSource = null;
                this.dg_Buscado.Rows.Clear();
                clsMaterial material = new clsMaterial();
                if (!help.mensajeAdvInt(this.txt_SAP.Text, "el codigo SAP del material. Solo se aceptan numeros enteros.").boolean)
                {
                    return;
                }
                ;
                long codsap = Int64.Parse(this.txt_SAP.Text);
                material = sql.buscarPorCodigoSAP(codsap);
                this.dg_Buscado.Rows.Add("1", material.id, material.catalogo, material.codsap, material.descripcion, material.marca, material.familia);
                this.resizeGrid();
                dg_Buscado.Focus();
            }
            else if (!(string.IsNullOrWhiteSpace(this.txt_Catalogo.Text)))
            {
                this.dg_Buscado.DataSource = null;
                this.dg_Buscado.Rows.Clear();
                string catalogo = this.txt_Catalogo.Text;
                sql.buscarDB(this.txt_Catalogo.Text, this.dg_Buscado);
                this.resizeGrid();
                dg_Buscado.Focus();
            }
            else
            {
                List <long> marcas   = this.listSelectedMarcas();
                List <long> familias = this.listSelectedFamilias();
                sql.buscarDBFiltrado(this.txt_Descripcion.Text, familias, marcas, this.dg_Buscado);
                this.resizeGrid();
                dg_Buscado.Focus();
            }
        }
コード例 #5
0
 /// <summary>
 /// Llama a las funciones para cargar los datos al resumen.
 /// </summary>
 private void cargarDatos()
 {
     if (this.dg_Seleccionado.Rows.Count == 0)
     {
         MessageBox.Show("No existen materiales en la lista de seleccionados.");
     }
     else
     {
         sqlCommands sqlCommands = new sqlCommands();
         sqlCommands.buscarMultipleID(dg_Seleccionado, this.dg_Resumen);
     }
 }
コード例 #6
0
 private void Btn_Descargar_Click(object sender, EventArgs e)
 {
     if (this.dg_Selec.Rows.Count == 0)
     {
         MessageBox.Show("Necesita seleccionar al menos un material para descargar los archivos asociados.");
     }
     else
     {
         helperFunctions help = new helperFunctions();
         sqlCommands     sql  = new sqlCommands();
         help.descargarArchivos(sql.buscarDirectoriosID(this.dg_Selec));
     }
 }
コード例 #7
0
 /// <summary>
 /// Valida el copiado y lo ejecuta. Si es null no ejecuta nada. Si no es null ejecuta el copiado del path existente al nuevo
 /// </summary>
 /// <param name="isNull">Si la textbox esta vacia</param>
 /// <param name="origen">El origen es el valor del origen de la textbox</param>
 /// <param name="direccion">El index de la list generada por buscarDirGuardado</param>
 /// <param name="id">El id del ultimo archivo recien agregado</param>
 public void validarCopiado(bool isNull, string origen, int direccion, int id)
 {
     if (isNull)
     {
         return;
     }
     else
     {
         sqlCommands sql            = new sqlCommands();
         string      direcciones    = sql.buscarDirGuardado()[direccion];
         string      nombreGuardado = Path.Combine(direcciones, id.ToString() + Path.GetExtension(origen));
         File.Copy(origen, nombreGuardado);
     }
 }
コード例 #8
0
        private void FrmVerMaterial_Load(object sender, EventArgs e)
        {
            sqlCommands sql = new sqlCommands();

            clsMaterial                = sql.buscarID(clsMaterial.id);
            this.txt_Id.Text           = clsMaterial.id.ToString();
            this.txt_Familia.Text      = clsMaterial.familia;
            this.txt_Marca.Text        = clsMaterial.marca;
            this.txt_Catalogo.Text     = clsMaterial.catalogo;
            this.txt_Comentarios.Text  = clsMaterial.comentario;
            this.txt_Descripcion.Text  = clsMaterial.descripcion;
            this.txt_SAP.Text          = clsMaterial.codsap.ToString();
            this.txt_specCatalogo.Text = clsMaterial.speccatalogo;
            this.txt_specEnercom.Text  = clsMaterial.specenercom;
            this.txt_specTexto.Text    = clsMaterial.spectexto;
            this.txt_specUl.Text       = clsMaterial.specul;
            this.txt_specVarias.Text   = clsMaterial.specvarias;
        }
コード例 #9
0
        //Regresa la descripcion tipica o un mensaje de advertencia si no se ha seleccionado la familia
        public string getDescTipica(ComboBox cmb_Familia)
        {
            string          descTipica = "";
            helperFunctions help       = new helperFunctions();
            //Extrae la informacion del combobox. El value y el text.
            keyValue dtFamilia = help.validarCombos(cmb_Familia);
            //Verifica que no sea null o whitespace y tira un mensaje de advertencia.
            bool null_familia = string.IsNullOrWhiteSpace(dtFamilia.Text);

            if (help.mensajeAdvEmpty(null_familia, "la familia."))
            {
                return(descTipica);
            }
            //Corre el comando SQL que regresa la descripcion tipica de la familia
            sqlCommands sql = new sqlCommands();

            descTipica = sql.buscarDescTipica(dtFamilia.Value);
            return(descTipica);
        }
コード例 #10
0
 /// <summary>
 /// Abre los archivos, busca el directorio de guardado en la base de datos. Primero crea una carpeta en los temporary files dependiendo del tipo
 /// de archivo que es. Despues guarda en la carpeta correspondiente con la opcion deleteonclose. No se pueden abrir dos archivos con el mismo
 /// nombre al mismo tiempo.
 /// </summary>
 /// <param name="tipo">Indica si es specenercom, speccatalo. Integer de 0-4</param>
 /// <param name="nombreArchivo">Indice el nombre del archivo, si esta vacio no hace nada</param>
 public void openFiles(int tipo, string nombreArchivo)
 {
     if (!string.IsNullOrWhiteSpace(nombreArchivo))
     {
         sqlCommands   sql         = new sqlCommands();
         List <string> listado     = sql.buscarDirGuardado();
         string        dirGuardado = Path.Combine(listado[tipo], nombreArchivo);
         if (File.Exists(dirGuardado))
         {
             //Crea un nombre de archivo con una terminacion criptografica y a la vez mantiene el ID al principio.
             string destination = Path.Combine(Path.GetTempPath(), Path.GetFileNameWithoutExtension(nombreArchivo) + " - " + Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) + Path.GetExtension(nombreArchivo));
             File.Copy(dirGuardado, destination, true);
             Process proceso = new Process();
             proceso.StartInfo.FileName = destination;
             proceso.Start();
         }
         else
         {
             MessageBox.Show("El archivo que esta tratando de abrir no existe. Edite el material con un archivo asociado nuevo.");
         }
     }
 }
コード例 #11
0
        //Funcion para el guardado de materiales
        private void nuevoMaterial()
        {
            //Funciones de ayuda
            helperFunctions help = new helperFunctions();

            //Extrae la informacion del combobox. El value y el text.
            keyValue dtMarca   = help.validarCombos(cmb_Marca);
            keyValue dtFamilia = help.validarCombos(cmb_Familia);

            //Definicion de las variables del formulario
            string catalogo     = this.txt_Catalogo.Text;
            string codigosap    = this.txt_SAP.Text;
            string marca        = dtMarca.Text;
            string familia      = dtFamilia.Text;
            string descripcion  = this.txt_Descripcion.Text;
            string comentarios  = this.txt_Comentarios.Text;
            string specenercom  = this.txt_specEnercom.Text;
            string speccatalogo = this.txt_specCatalogo.Text;
            string specul       = this.txt_specUl.Text;
            string spectexto    = this.txt_specUl.Text;
            string specvarias   = this.txt_specVarias.Text;
            int    idMarca      = dtMarca.Value;
            int    idFamilia    = dtMarca.Value;

            //Validacion de variables
            bool null_catalogo     = string.IsNullOrWhiteSpace(catalogo);
            bool null_codigosap    = string.IsNullOrWhiteSpace(codigosap);
            bool null_marca        = string.IsNullOrWhiteSpace(marca);
            bool null_familia      = string.IsNullOrWhiteSpace(familia);
            bool null_descripcion  = string.IsNullOrWhiteSpace(descripcion);
            bool null_comentarios  = string.IsNullOrWhiteSpace(comentarios);
            bool null_specenercom  = string.IsNullOrWhiteSpace(specenercom);
            bool null_speccatalogo = string.IsNullOrWhiteSpace(speccatalogo);
            bool null_specul       = string.IsNullOrWhiteSpace(specul);
            bool null_spectexto    = string.IsNullOrWhiteSpace(spectexto);
            bool null_specvarias   = string.IsNullOrWhiteSpace(specvarias);

            //Revision de valores vacios y mensaje de advertencia para el usuario
            if (help.mensajeAdvEmpty(null_marca, "la marca."))
            {
                return;
            }
            if (help.mensajeAdvEmpty(null_familia, "la familia."))
            {
                return;
            }
            if (help.mensajeAdvEmpty(null_descripcion, "la descripcion."))
            {
                return;
            }

            //Revision de valores que solo pueden ser de tipo int como el codigo SAP
            keyBoolean resultado = help.mensajeAdvSap(codigosap, "el codigo SAP. Solo se pueden ingresar numeros enteros.");

            if (!resultado.boolean)
            {
                return;
            }

            //Guardado de codigo SAP a integer
            int intCodigosap = resultado.key;

            //Guardado de los items que son strings en listas para pasarlos al SQL
            List <string> strCampos = new List <string>()
            {
                catalogo, descripcion, comentarios, specenercom, speccatalogo,
                specul, spectexto, specvarias, familia, marca
            };

            //Guardado de los items que son ints en listas para pasarlos al SQL
            List <int> intCampos = new List <int>()
            {
                idFamilia, idMarca, intCodigosap
            };

            //Guardado de las validaciones de strings en lista para pasarlos al SQL
            List <bool> null_strCampos = new List <bool>()
            {
                null_catalogo, null_descripcion, null_comentarios, null_specenercom,
                null_speccatalogo, null_specul, null_spectexto, null_specvarias
            };

            //Guardado de las validaciones de strings en lista para pasarlos al SQL
            List <bool> null_intCampos = new List <bool>()
            {
                null_marca, null_familia, null_codigosap
            };

            //Corre el comando SQL. Si la funcion regresa 1 fue exitoso, si regresa 0 es fallido.
            sqlCommands sql    = new sqlCommands();
            int         result = sql.nuevoMaterial(strCampos, intCampos, null_strCampos, null_intCampos);

            if (result == 1)
            {
                MessageBox.Show("Datos guardados exitosamente.");
                this.limpiarFormulario();
            }
        }
コード例 #12
0
        private void FrmNuevoMat_Load(object sender, EventArgs e)
        {
            sqlCommands sql = new sqlCommands();

            sql.llenarMarcasFamilias(this.cmb_Familia, this.cmb_Marca);
        }
コード例 #13
0
        /// <summary>
        /// Descarga los archivos que estan en la listBox de seleccionados
        /// </summary>
        public void descargarArchivos(List <List <string> > nombreArchivos)
        {
            //Se crean las carpetas donde se va a guardar y se guardan las direcciones en una lista
            List <string> directoriosDestino = new List <string>();

            directoriosDestino = createFolderStructure();

            //Contador para mostrar al usuario cuantos archivos se descargaron.
            int counter = 0;
            //Si es true muestra los mensajes de advertencias cuando ocurren errores en el copiado. De lo contrario no las muestra
            bool advertencias = true;

            //Verifica que el creado de la estructura del folder fue exitosa. El primer elemento de la lista es "1" si la operacion fue
            //exitosa
            if (directoriosDestino[0] == "1")
            {
                //Fetches las direcciones de guardado de los archivos a copiar
                sqlCommands   sql = new sqlCommands();
                List <string> directoriosOrigen = sql.buscarDirGuardado();


                for (int j = 0; j <= 4; j++)
                {
                    //Verifica que no esten vacia la listas de los nombres de los archivos
                    if (nombreArchivos[j].Count != 0)
                    {
                        //Itera por todos los archivos y los copia
                        for (int i = 0; i < nombreArchivos[j].Count; i++)
                        {
                            try
                            {
                                //El directorio del origen del archivo
                                string origen  = Path.Combine(directoriosOrigen[j], nombreArchivos[j][i]);
                                string destino = Path.Combine(directoriosDestino[j + 1], nombreArchivos[j][i]);

                                File.Copy(origen, destino, true);
                                FileInfo fileInfo = new FileInfo(destino);
                                fileInfo.IsReadOnly = false;
                                counter             = counter + 1;
                            }
                            catch
                            {
                                //Si las advertencias no han sido suprimidas. Se suprimen cuando el usuario presion que si en la MessageBox
                                if (advertencias)
                                {
                                    string message = "Ocurrio un error al momento de descargar el archivo: " + nombreArchivos[0][i] +
                                                     ". Posiblemente causado porque el archivo no existe. ¿Le gustaria suprimir este mensaje en un futuro?";
                                    string            title   = "Error en la descarga de especificaciones";
                                    MessageBoxButtons buttons = MessageBoxButtons.YesNo;
                                    DialogResult      result  = MessageBox.Show(message, title, buttons);

                                    if (result == DialogResult.Yes)
                                    {
                                        advertencias = false;
                                    }
                                }
                            }
                        }
                    }
                }
                //Mensaje de finalizacion
                MessageBox.Show("Proceso finalizado satisfactoriamente. Se han descargado " + counter.ToString() + " archivos.");
            }
        }