//setea la info básica y muestra el panel public void SetPanelInfoElement(ElementInfoPanelInfo elementInfoBasic) { foreach (TextMeshProUGUI a in textsElementos) { if (a.name == "txtClasificacion") { a.text = "Clasificación: " + elementInfoBasic.Clasificacion; } if (a.name == "txtClasificacionGrupo") { a.text = "Clasificación Grupo: " + elementInfoBasic.Clasificacion_grupo; } if (a.name == "txtNroOxidacion") { a.text = "Números Oxidación: " + managerNullables(elementInfoBasic.NumerosOxidacion); } if (a.name == "txtPtoFusion") { a.text = "Punto de Fusión: " + managerNullables(elementInfoBasic.PuntoFusion); } if (a.name == "txtPtoEbullicion") { a.text = "Punto de Ebullición: " + managerNullables(elementInfoBasic.PuntoEbullicion); } if (a.name == "txtDistribucionNiveles") { a.text = "Distribución de Electrones en Niveles: " + managerNullables(elementInfoBasic.DistribucionDeelectrones); } } }
//trae de la base los 6 campos para la informacion especial private void SetInfoElementSelected(int elementId) { ElementInfoPanelInfo element = qryElement.GetElementInfoPanelSuggestion(elementId); //llamo al metodo que carga la info en los text box del panel PanelInfoLoader.SetPanelInfoElement(element); }
//trae la informacion de 6 campos seleccionados para mostrar en el panel inferior public ElementInfoPanelInfo GetElementInfoPanelSuggestion(int nroAtomico) { ElementInfoPanelInfo elementInfoPanelInfo = new ElementInfoPanelInfo(); //dejo un reader local para cada query, no siendo global SqliteDataReader reader = null; SqliteConnection dbConnection = null; try { //tener en cuenta los null sino tirara error de cast luego en el read del set string sqlQuery = "SELECT clasificacion, clasificacion_grupo, numeros_oxidacion, punto_fusion, punto_ebullicion, distribucion_de_electrones_por_niveles "; sqlQuery = sqlQuery + "FROM elementos_info_basica "; sqlQuery = sqlQuery + " INNER JOIN elementos_info_detalle "; sqlQuery = sqlQuery + " ON elementos_info_basica.numero_atomico = elementos_info_detalle.numero_atomico "; sqlQuery = sqlQuery + "WHERE elementos_info_basica.numero_atomico=" + nroAtomico + ";"; //LLAMADA AL METODO DE LA DBMANAGER dbConnection = dBManager.openCon(); reader = dBManager.ManageExec(dbConnection, sqlQuery); //por cada atributo de la clase info detallada hay que validar los nulls while (reader.Read()) { elementInfoPanelInfo = new ElementInfoPanelInfo(dBManager.SafeGetString(reader, 0), dBManager.SafeGetString(reader, 1), dBManager.SafeGetString(reader, 2), dBManager.SafeGetString(reader, 3), dBManager.SafeGetString(reader, 4), dBManager.SafeGetString(reader, 5)); } } catch (Exception e) { throw e; } finally { dBManager.ManageClosing(dbConnection, reader); } return(elementInfoPanelInfo); }