//called on load signal //if does not found any encoderConfiguration then return one with -1 as uniqueID public static EncoderConfigurationSQLObject SelectByEconf(bool dbconOpened, Constants.EncoderGI encoderGI, EncoderConfiguration econf) { openIfNeeded(dbconOpened); dbcmd.CommandText = "SELECT * FROM " + Constants.EncoderConfigurationTable + " WHERE encoderGI = \"" + encoderGI.ToString() + "\"" + " AND encoderConfiguration LIKE \"" + econf.ToStringOutput(EncoderConfiguration.Outputs.SQLECWINCOMPARE) + "\""; LogB.SQL(dbcmd.CommandText.ToString()); dbcmd.ExecuteNonQuery(); SqliteDataReader reader; reader = dbcmd.ExecuteReader(); EncoderConfigurationSQLObject econfSO = new EncoderConfigurationSQLObject(); if (reader.Read()) { econfSO = new EncoderConfigurationSQLObject( Convert.ToInt32(reader[0].ToString()), //uniqueID encoderGI, //encoderGI true, //active reader[3].ToString(), //name econf, //encoderConfiguration reader[5].ToString() //description ); } reader.Close(); Sqlite.Close(); return(econfSO); }
public static void MarkAllAsUnactive(bool dbconOpened, Constants.EncoderGI encoderGI) { openIfNeeded(dbconOpened); dbcmd.CommandText = "UPDATE " + Constants.EncoderConfigurationTable + " SET active = \"False\"" + " WHERE encoderGI = \"" + encoderGI.ToString() + "\""; LogB.SQL(dbcmd.CommandText.ToString()); dbcmd.ExecuteNonQuery(); closeIfNeeded(dbconOpened); }
/* * <-------------------------- IfNameExistsAddSuffix ends */ //called on capture, recalculate, load public static void UpdateActive(bool dbconOpened, Constants.EncoderGI encoderGI, EncoderConfiguration econf) { openIfNeeded(dbconOpened); dbcmd.CommandText = "UPDATE " + Constants.EncoderConfigurationTable + " SET encoderConfiguration = \"" + econf.ToStringOutput(EncoderConfiguration.Outputs.SQL) + "\"" + " WHERE encoderGI = \"" + encoderGI.ToString() + "\"" + " AND active = \"True\""; LogB.SQL(dbcmd.CommandText.ToString()); dbcmd.ExecuteNonQuery(); closeIfNeeded(dbconOpened); }
//called on gui/encoderConfiguration.cs when click on save //also on load set public static void Update(bool dbconOpened, Constants.EncoderGI encoderGI, string oldName, EncoderConfigurationSQLObject econfSO) { openIfNeeded(dbconOpened); dbcmd.CommandText = "UPDATE " + Constants.EncoderConfigurationTable + " SET active = \"" + econfSO.active + "\", name = \"" + econfSO.name + "\", " + " encoderConfiguration = \"" + econfSO.encoderConfiguration.ToStringOutput(EncoderConfiguration.Outputs.SQL) + "\", " + " description = \"" + econfSO.description + "\"" + " WHERE name = \"" + oldName + "\" AND encoderGI = \"" + encoderGI.ToString() + "\""; LogB.SQL(dbcmd.CommandText.ToString()); dbcmd.ExecuteNonQuery(); closeIfNeeded(dbconOpened); }
//if by any bug there's no active, then create default public static EncoderConfigurationSQLObject SelectActive(Constants.EncoderGI encoderGI) { Sqlite.Open(); dbcmd.CommandText = "SELECT * FROM " + Constants.EncoderConfigurationTable + " WHERE encoderGI = \"" + encoderGI.ToString() + "\" AND active = \"True\""; LogB.SQL(dbcmd.CommandText.ToString()); dbcmd.ExecuteNonQuery(); SqliteDataReader reader; reader = dbcmd.ExecuteReader(); EncoderConfigurationSQLObject econfSO = new EncoderConfigurationSQLObject(); bool success = false; if (reader.Read()) { string [] strFull = reader[4].ToString().Split(new char[] { ':' }); EncoderConfiguration econf = new EncoderConfiguration( (Constants.EncoderConfigurationNames) Enum.Parse(typeof(Constants.EncoderConfigurationNames), strFull[0])); econf.ReadParamsFromSQL(strFull); econfSO = new EncoderConfigurationSQLObject( Convert.ToInt32(reader[0].ToString()), //uniqueID encoderGI, //encoderGI true, //active reader[3].ToString(), //name econf, //encoderConfiguration reader[5].ToString() //description ); success = true; } reader.Close(); //if by any bug there's no active, then create default and call himself again to select if (!success) { insertDefault(encoderGI); Sqlite.Close(); return(SelectActive(encoderGI)); } Sqlite.Close(); return(econfSO); }
//pass customName = "" to select all public static List <EncoderConfigurationSQLObject> Select(bool dbconOpened, Constants.EncoderGI encoderGI, string name) { openIfNeeded(dbconOpened); string nameStr = ""; if (name != "") { nameStr = " AND name = \"" + name + "\""; } dbcmd.CommandText = "SELECT * FROM " + Constants.EncoderConfigurationTable + " WHERE encoderGI = \"" + encoderGI.ToString() + "\"" + nameStr; LogB.SQL(dbcmd.CommandText.ToString()); dbcmd.ExecuteNonQuery(); List <EncoderConfigurationSQLObject> list = new List <EncoderConfigurationSQLObject>(); SqliteDataReader reader; reader = dbcmd.ExecuteReader(); while (reader.Read()) { string [] strFull = reader[4].ToString().Split(new char[] { ':' }); EncoderConfiguration econf = new EncoderConfiguration( (Constants.EncoderConfigurationNames) Enum.Parse(typeof(Constants.EncoderConfigurationNames), strFull[0])); econf.ReadParamsFromSQL(strFull); EncoderConfigurationSQLObject econfSO = new EncoderConfigurationSQLObject( Convert.ToInt32(reader[0].ToString()), //uniqueID encoderGI, //encoderGI reader[2].ToString() == "True", //active reader[3].ToString(), //name econf, //encoderConfiguration reader[5].ToString() //description ); list.Add(econfSO); } reader.Close(); closeIfNeeded(dbconOpened); return(list); }