public bool guardarRespuesta(Respuestas respuesta, int nroBloque) { MySql.Data.MySqlClient.MySqlTransaction transaccion; bool conexionExitosa; int cantDeFilasAfectadas = 0; conexionExitosa = iniciarConexion(); MySql.Data.MySqlClient.MySqlCommand comando = new MySqlCommand(); comando.Connection = ObjConexion; comando.CommandType = CommandType.Text; comando.CommandTimeout = 0; transaccion = ObjConexion.BeginTransaction(); try { if (!conexionExitosa) return false; for (int i = 0; i < respuesta.PreguntasMasOpciones.Count; i++) { PreguntaEvaluada pregAsociada = (PreguntaEvaluada)respuesta.PreguntasMasOpciones[i].dato1; OpcionesEvaluadas opcionAsociada = (OpcionesEvaluadas)respuesta.PreguntasMasOpciones[i].dato2; //CONSULTA QUE ACTUALIZA LA TABLA ITEM_BLOQUE PARA RESGUARDAR LAS RESPUESTAS string consultaSql = "UPDATE item_bloque " + "SET `Opcion Evaluada_idOpcion_seleccionada` = " + "(SELECT idOpcion FROM `opcion evaluada` WHERE nombre = '" + opcionAsociada.Nombre + "')" + "WHERE (Bloque_idBloque = ( SELECT idBloque FROM `tp base de datos`.bloque AS bloq " + "JOIN cuestionario AS cuest " + "ON (cuest.clave = '" + respuesta.CuestionarioAsociado.Clave + "' AND cuest.idCuestionario = bloq.Cuestionario_idCuestrionario) " + "WHERE bloq.nroBloque = " + nroBloque + ")) " + "AND (PreguntaEvaluada_idPreguntaEv = (SELECT `idPregunta Evaluada` " + "FROM `pregunta evaluada` " + "WHERE codigo = '" + pregAsociada.Codigo + "'));"; comando.CommandText = consultaSql; cantDeFilasAfectadas += comando.ExecuteNonQuery(); } transaccion.Commit(); terminarConexion(); } catch (MySqlException MysqlEx) { // si algo fallo deshacemos todo transaccion.Rollback(); // mostramos el mensaje del error MessageBox.Show("RESGUARDO DE RESPUESTAS: La transaccion no se pudo realizar: " + MysqlEx.Message); } catch (DataException Ex) { // si algo fallo deshacemos todo transaccion.Rollback(); // mostramos el mensaje del error MessageBox.Show("RESGUARDO DE RESPUESTAS: La transaccion no se pudo realizar: " + Ex.Message); } if (cantDeFilasAfectadas > 0) { return true; } else { return false; } }
public Respuestas instanciarRespuesta(Cuestionario cuestAsociado, List<Caracteristica> listaRespuestas) { Respuestas nuevaRespuestas = new Respuestas(cuestAsociado, listaRespuestas); return nuevaRespuestas; }
/// <summary> /// Ordena la lista de respuestas por cantidad de likes y la respuesta solucion a la pregunta /// </summary> public void OrdenarRespuestas() { Respuestas.Sort(CompararRespuestas); }