//Method que añade un nuevo material a la base de datos. Las listas estan definidas en frmNuevoMat.cs public int nuevoMaterial(List <string> strCampos, List <int> intCampos, List <bool> null_strCampos, List <bool> null_intCampos) { int result = 0; try { //Crea una conexion using (SqlConnection conn = new SqlConnection()) { //La conection string esta definida en el archivo globalVars.cs conn.ConnectionString = globalVars.connectionString; //El comando SQL. El nombre de la tabla esta en la variable global tbl_main string sqlInsertMain = "INSERT INTO " + globalVars.tbl_main + " (catalogo, familia, descripcion, marca," + " codsap, comentarios, specenercom, speccatalogo, specul, spectexto, specvarias) VALUES (@catalogo," + " @familia, @descripcion, @marca, @codsap, @comentarios, @specenercom, @speccatalogo, @specul," + " @spectexto, @specvarias)"; //Se abre la conexion. conn.Open(); //Se crea el comando. SqlCommand cmd_Add = new SqlCommand(sqlInsertMain, conn); //Verifica si existe el codigo sap en la base de datos. Returns 1 si existe, 0 si no existe. if (existeCodsap(conn, intCampos[2]) == 1 && intCampos[2] != 0) { MessageBox.Show("El codigo SAP ingresado ya existe en la base de datos, porfavor ingrese un codigo diferente."); return(result); } /* * Orden de los strCampos: catalogo, descripcion, comentarios, specenercom, speccatalogo, specul, * spectexto, specvarias * Orden de los intCampos: idFamilia, idMarca, intCodigosap */ //Se crea, valida, y se añade el parametro al comando. Las direcciones se agregan con null inicialmente. validarParametrosStr("@catalogo", cmd_Add, null_strCampos[0], strCampos[0]); validarParametrosStr("@descripcion", cmd_Add, null_strCampos[1], strCampos[1]); validarParametrosStr("@comentarios", cmd_Add, null_strCampos[2], strCampos[2]); validarParametrosStr("@specenercom", cmd_Add, true, strCampos[3]); validarParametrosStr("@speccatalogo", cmd_Add, true, strCampos[4]); validarParametrosStr("@specul", cmd_Add, true, strCampos[5]); validarParametrosStr("@spectexto", cmd_Add, true, strCampos[6]); validarParametrosStr("@specvarias", cmd_Add, true, strCampos[7]); validarParametrosInt("@familia", cmd_Add, null_intCampos[0], intCampos[0]); validarParametrosInt("@marca", cmd_Add, null_intCampos[1], intCampos[1]); validarParametrosIntCero("@codsap", cmd_Add, null_intCampos[2], intCampos[2]); //Se verifica que se pueda escribir en los directorios de guardado helperFunctions help = new helperFunctions(); bool writeable = help.verifyDirectories(); if (!writeable) { return(result); } //Se ejecuta el comando cmd_Add.ExecuteNonQuery(); //Se busca el id de la row que recien se agrego int lastid = getIdentity(conn, globalVars.tbl_main); //Se hace el copiado de los archivos, agrega el ID y la extension y verifica que el combobox no este vacio. help.validarCopiado(null_strCampos[3], strCampos[3], 0, lastid); help.validarCopiado(null_strCampos[4], strCampos[4], 1, lastid); help.validarCopiado(null_strCampos[5], strCampos[5], 2, lastid); help.validarCopiado(null_strCampos[6], strCampos[6], 3, lastid); help.validarCopiado(null_strCampos[7], strCampos[7], 4, lastid); //Se hace la actualizacion de la base de datos a los nuevos valores string updCommandString = "UPDATE " + globalVars.tbl_main + " SET specenercom = @specenercom, speccatalogo = @speccatalogo, specul = @specul, spectexto = @spectexto, specvarias = @specvarias WHERE IDMaterial = @IDMaterial"; SqlCommand updCmd = new SqlCommand(updCommandString, conn); SqlParameter id = new SqlParameter(); id.ParameterName = "@IDMaterial"; id.Value = lastid; updCmd.Parameters.Add(id); validarParamentrosDir("@specenercom", updCmd, null_strCampos[3], strCampos[3], lastid); validarParamentrosDir("@speccatalogo", updCmd, null_strCampos[4], strCampos[4], lastid); validarParamentrosDir("@specul", updCmd, null_strCampos[5], strCampos[5], lastid); validarParamentrosDir("@spectexto", updCmd, null_strCampos[6], strCampos[6], lastid); validarParamentrosDir("@specvarias", updCmd, null_strCampos[7], strCampos[7], lastid); updCmd.ExecuteNonQuery(); result = 1; return(result); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); return(result); } }