//Revisa en la base de datos si se encuentra el registro private bool verifyData(String rut, String folio, Visualizador visualizador) { bool salida = true; string query1 = "select rut, folio from " + this.table + " where rut='" + rut + "';"; string query2 = "select rut, folio from " + this.table + " where folio='" + folio + "';"; string query3 = "select rut, folio from " + this.table + " where rut='" + rut + "' and folio='" + folio + "';"; Console.WriteLine(query1); Console.WriteLine(query2); Console.WriteLine(query3); try { MySqlConnection connection = new MySqlConnection(this.connectionStringMysql); connection.Open(); MySqlCommand cmd = new MySqlCommand(query3, connection); MySqlDataReader reader = cmd.ExecuteReader(); cmd.Dispose(); //Si el rut se encuentra ingresado en la base de datos con el mismo folio if (reader.HasRows) { visualizador.updateStatus(2, "El RUT " + rut + " ya tiene asignado el FOLIO" + folio); salida = false; reader.Close(); } else { reader.Close(); cmd.CommandText = query1; reader = cmd.ExecuteReader(); cmd.Dispose(); //Si el rut se encuentra ingresado en la base de datos con diferente folio if (reader.HasRows) { reader.Read(); visualizador.updateStatus(2, "El RUT " + rut + " posee otro FOLIO: " + reader.GetString(1)); salida = false; reader.Close(); } else { reader.Close(); cmd.CommandText = query2; reader = cmd.ExecuteReader(); cmd.Dispose(); //Si el folio ingresado se encuentra registrado a otro rut en la base de datos if (reader.HasRows) { reader.Read(); visualizador.updateStatus(2, "El FOLIO " + folio + " pertenece a otro RUT: " + reader.GetString(0)); salida = false; reader.Close(); } else //Si esta todo ok al ingresar un nuevo registro { salida = true; reader.Close(); } } } reader.Close(); connection.Close(); } catch (Exception e) { visualizador.updateStatus(2, "error " + e.Message); salida = false; MessageBox.Show(e.Message); } return salida; }
//Guarda el registro en la base de datos public bool saveRegisterMySql(BarcodeDataObject bObject, Visualizador visualizador) { string query = "insert into " + this.table + " (rut, nombre_estudiante, folio, num_serie_lector) values ('" + bObject.Rut + "','" + bObject.StudentName + "','" + bObject.ResponseFormId + "','" + bObject.ReaderSerial + "');"; if (verifyData(bObject.Rut, bObject.ResponseFormId, visualizador)) { try { MySqlConnection connection = new MySqlConnection(this.connectionStringMysql); connection.Open(); MySqlCommand cmd = new MySqlCommand(query, connection); cmd.ExecuteNonQuery(); connection.Close(); visualizador.updateStatus(1, "RUT:" + bObject.Rut + " (" + bObject.StudentName + ") - FOLIO: " + bObject.ResponseFormId + " .... fueron guardados exitosamente"); } catch (Exception e) { visualizador.updateStatus(2, "ERROR: Error al guardar los datos"); MessageBox.Show(e.Message); } } return true; }