/// <summary> /// Verifica que el codiog sap sea un nombre pero si esta vacio lo deja pasar. En caso de que lo deje pasar entonces regresa (0, true) si esta /// vacio. Si no esta vacio regresa (numero, true). Si no lo deja pasar, es decir, no es un numero, regresa (0, false) /// </summary> /// <param name="check">El string que se trata de convertir a integer</param> /// <param name="mensaje">El mensaje a mostrar</param> /// <returns></returns> public keyBoolean mensajeAdvSap(string check, string mensaje) { keyBoolean vals = new keyBoolean(); vals.key = 0; vals.boolean = false; int value; if (string.IsNullOrWhiteSpace(check)) { vals.boolean = true; } else { if (int.TryParse(check, out value)) { vals.key = value; vals.boolean = true; } else { MessageBox.Show("Ingresar un valor valido para " + mensaje); } } return(vals); }
//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(); } }