//trae la informacion basica de un elemento de la tabla periodica a partir de su SIMBOLO public ElementInfoBasic GetElementInfoBasica(int nroAtomico) { ElementInfoBasic elementInfoBasic = new ElementInfoBasic(); //dejo un reader local para cada query, no siendo global SqliteDataReader reader = null; SqliteConnection dbConnection = null; try { string sqlQuery = "SELECT numero_atomico, simbolo, nombre, peso_atomico, periodo,"; sqlQuery = sqlQuery + "clasificacion, clasificacion_grupo,"; sqlQuery = sqlQuery + "estado_natural,"; sqlQuery = sqlQuery + "estructura_cristalina,"; sqlQuery = sqlQuery + "color,"; sqlQuery = sqlQuery + "valencia,"; sqlQuery = sqlQuery + "numeros_oxidacion,"; sqlQuery = sqlQuery + "configuracion_electronica,"; sqlQuery = sqlQuery + "punto_fusion,"; sqlQuery = sqlQuery + "punto_ebullicion,"; sqlQuery = sqlQuery + "resumen "; sqlQuery = sqlQuery + "FROM elementos_info_basica "; sqlQuery = sqlQuery + "WHERE numero_atomico='" + nroAtomico + "';"; //LLAMADA AL METODO DE LA DBMANAGER dbConnection = dBManager.openCon(); reader = dBManager.ManageExec(dbConnection, sqlQuery); while (reader.Read()) { elementInfoBasic.Nroatomico = reader.GetInt32(0); elementInfoBasic.Simbol = reader.GetString(1); elementInfoBasic.Name = reader.GetString(2); elementInfoBasic.PesoAtomico = reader.GetFloat(3); elementInfoBasic.Periodo = reader.GetInt32(4); elementInfoBasic.Clasificacion = reader.GetString(5); elementInfoBasic.Clasificacion_grupo = reader.GetString(6); elementInfoBasic.Estado_natural = dBManager.SafeGetString(reader, 7); elementInfoBasic.EstructuraCristalina = dBManager.SafeGetString(reader, 8); elementInfoBasic.Color = dBManager.SafeGetString(reader, 9); elementInfoBasic.Valencia = dBManager.SafeGetString(reader, 10); elementInfoBasic.NumerosOxidacion = dBManager.SafeGetString(reader, 11); elementInfoBasic.ConfElectronica = dBManager.SafeGetString(reader, 12); elementInfoBasic.PuntoFusion = dBManager.SafeGetString(reader, 13); elementInfoBasic.PuntoEbullicion = dBManager.SafeGetString(reader, 14); elementInfoBasic.Resumen = reader.GetString(15); } } catch (Exception e) { throw e; } finally { dBManager.ManageClosing(dbConnection, reader); } return(elementInfoBasic); }
//trae de la DB la info básica public ElementInfoBasic LoadInfoBasica(int nroAtomico) { ElementInfoBasic elementInfoBasic = new ElementInfoBasic(); elementInfoBasic = DBManager.GetElementInfoBasica(nroAtomico); return(elementInfoBasic); }
//trae la informacion basica de un elemento de la tabla periodica a partir de su SIMBOLO public ElementInfoBasic GetElementInfoBasica(int nroAtomico) { ElementInfoBasic elementInfoBasic = new ElementInfoBasic(); using (IDbConnection dbConnection = new SqliteConnection(connectionString)) { dbConnection.Open(); using (IDbCommand command = dbConnection.CreateCommand()) { //tener en cuenta los null sino tirara error de cast luego en el read del set string sqlQuery = "SELECT numero_atomico, simbolo, nombre, peso_atomico, periodo,"; sqlQuery = sqlQuery + "clasificacion, clasificacion_grupo,"; sqlQuery = sqlQuery + "CASE WHEN estado_natural IS NULL THEN 'n/a' ELSE estado_natural END,"; sqlQuery = sqlQuery + "CASE WHEN estructura_cristalina IS NULL THEN 'n/a' ELSE estructura_cristalina END,"; sqlQuery = sqlQuery + "CASE WHEN color IS NULL THEN 'n/a' ELSE color END,"; sqlQuery = sqlQuery + "CASE WHEN valencia IS NULL THEN 'n/a' ELSE valencia END,"; sqlQuery = sqlQuery + "CASE WHEN numeros_oxidacion IS NULL THEN 'n/a' ELSE numeros_oxidacion END,"; sqlQuery = sqlQuery + "CASE WHEN configuracion_electronica IS NULL THEN 'n/a' ELSE configuracion_electronica END,"; sqlQuery = sqlQuery + "CASE WHEN punto_fusion IS NULL THEN 'n/a' ELSE punto_fusion END,"; sqlQuery = sqlQuery + "CASE WHEN punto_ebullicion IS NULL THEN 'n/a' ELSE punto_ebullicion END,"; sqlQuery = sqlQuery + "resumen "; sqlQuery = sqlQuery + "FROM elementos_info_basica "; sqlQuery = sqlQuery + "WHERE numero_atomico='" + nroAtomico + "';"; command.CommandText = sqlQuery; using (IDataReader reader = command.ExecuteReader()) { while (reader.Read()) { elementInfoBasic.Nroatomico = reader.GetInt32(0); elementInfoBasic.Simbol = reader.GetString(1); elementInfoBasic.Name = reader.GetString(2); elementInfoBasic.PesoAtomico = reader.GetFloat(3); elementInfoBasic.Periodo = reader.GetInt32(4); elementInfoBasic.Clasificacion = reader.GetString(5); elementInfoBasic.Clasificacion_grupo = reader.GetString(6); elementInfoBasic.Estado_natural = reader.GetString(7); elementInfoBasic.EstructuraCristalina = reader.GetString(8); elementInfoBasic.Color = reader.GetString(9); elementInfoBasic.Valencia = reader.GetString(10); elementInfoBasic.NumerosOxidacion = reader.GetString(11); elementInfoBasic.ConfElectronica = reader.GetString(12); elementInfoBasic.PuntoFusion = reader.GetString(13); elementInfoBasic.PuntoEbullicion = reader.GetString(14); elementInfoBasic.Resumen = reader.GetString(15); } dbConnection.Close(); reader.Close(); } } } return(elementInfoBasic); }
//trae de la DB la info básica public ElementInfoBasic LoadInfoBasica(int nroAtomico) { ElementInfoBasic elementInfoBasic = new ElementInfoBasic(); try { elementInfoBasic = qryElement.GetElementInfoBasica(nroAtomico); } catch (Exception e) { Debug.LogError("LoadTper :: Ocurrio un error al buscar Informacion Basica: " + e.Message); popup.MostrarPopUp("Elementos Qry DB", "Error Obteniendo Informacion Basica de Elementos Quimicos"); } return(elementInfoBasic); }
/*va a ejecutar el proceso para mostrar informacion basica a partir de apretar el boton der del mouse*/ public void GetInfoBasic() { nroAtomico = getNroAtomicoId(); //llamo para completar la info detallada ElementInfoDetail elementInfoDet = loadTPer.LoadInfoDeatail(nroAtomico); //prueba DetailInfoLoader.SetDetailInfo(elementInfoDet); //envio el boton que fue presionado para obtener luego su diseño BasicInfoLoader.ButtonimgTPER = buttonPref; ElementInfoBasic elementInfo = loadTPer.LoadInfoBasica(nroAtomico); //llamo al metodo que carga la info en los text box del panel BasicInfoLoader.SetBasicInfo(elementInfo); }
/*va a ejecutar el proceso para mostrar informacion basica a partir de apretar el boton der del mouse*/ public void GetInfoBasic() { UIToolTipControl.flagTooltip = true;//le digo al controlador que se activa un tooltip nroAtomico = getNroAtomicoId(); //llamo para completar la info detallada ElementInfoDetail elementInfoDet = loadTPer.LoadInfoDeatail(nroAtomico); DetailInfoLoader.SetDetailInfo(elementInfoDet); //envio el boton que fue presionado para obtener luego su diseño BasicInfoLoader.ButtonimgTPER = buttonPref; ElementInfoBasic elementInfo = loadTPer.LoadInfoBasica(nroAtomico); //llamo al metodo que carga la info en los text box del panel BasicInfoLoader.SetBasicInfo(elementInfo); }