public CustomerVO GetCustomerInformationFromRegistrationId(int id) { List <CustomerVO> results = new List <CustomerVO>(); try { command = new OleDbCommand("SELECT customer_id, registration_id, first_name, last_name, address, phone_number, email, status, join_date FROM Customer WHERE registration_id = '" + id + "'", connection); dataReader = command.ExecuteReader(); while (dataReader.Read()) { // Note: I'm not adding the registration_id to the VO b/c it would link Customer Information to their login information in the app code. results.Add(new CustomerVO(dataReader.GetInt32(0), -1, dataReader.GetString(2), dataReader.GetString(3), dataReader.GetString(4), dataReader.GetString(5), dataReader.GetString(6), dataReader.GetString(7), dataReader.GetDateTime(8).ToString())); } if (results.Count > 1) { // Referential Integrity violation. Application side constraint that we can't have multiple records refer to the same RegistrationID. results.Clear(); results = null; throw new Exception("System Error - Referential Integrity Violation"); } else if (results.Count < 1) { // Forces the LoginForm to try something else... say check the Employee table or something. And then check if that employee is a manager or something. results.Clear(); results = null; } } catch (Exception e) { if (OnFormError != null) { OnFormError(this, new FormErrorArg("Error getting information from database: " + e.Message, e)); } results = null; } if (results != null) { return(results[0]); } else { return(null); } }
public bool LoadDataBase() { bool ret = false; if (connection != null) { Managers.DBManager.Instance.OpenConexion(connection); Fitxer f = DataManager.Instance.NewFitxer(); OleDbCommand Cmd = new OleDbCommand("SELECT * FROM ArticlesMagsa", connection); OleDbDataReader data = Managers.DBManager.Instance.ExecuteReader(connection, Cmd); if (data != null) { while (data.Read()) { Producte prod = new Producte(); prod.codi_article = data.GetString(1); prod.marca_de_baixa = ParserManager.Instance.guide.GetMarcaDeBaixa(data.GetString(2)[0]); prod.descripcio = data.GetString(3); prod.unitats_caixa = Convert.ToInt32(data.GetValue(4)); prod.unitats_fraccio = Convert.ToInt32(data.GetValue(5)); prod.marca_de_pes = ParserManager.Instance.guide.GetMarcaDePes(data.GetString(6)[0]); prod.preu_unitari = data.GetDouble(7); prod.preu_venta_public_recomanat = data.GetDouble(8); prod.preu_de_fraccio = data.GetDouble(9); prod.tipus_iva = ParserManager.Instance.guide.GetTipusIva(data.GetString(10)[0]); prod.codi_familia = Convert.ToInt32(data.GetValue(11)); prod.codi_sub_familia = Convert.ToInt32(data.GetValue(12)); prod.unitats_mesura = ParserManager.Instance.guide.GetUnitatsMesura(data.GetString(13)[0]); int factor_de_conversio = 0; prod.factor_de_conversio = 0; int.TryParse(data.GetString(14), out factor_de_conversio); prod.factor_de_conversio = factor_de_conversio; prod.unitats_caixa = Convert.ToInt32(data.GetValue(15)); f.productes.Add(prod); } data.Close(); ret = true; } OleDbCommand Cmd2 = new OleDbCommand("SELECT * FROM BarresMagsa", connection); OleDbDataReader data2 = Managers.DBManager.Instance.ExecuteReader(connection, Cmd2); if (data2 != null) { while (data2.Read()) { CodiEan ean = new CodiEan(); ean.codi_article = data2.GetString(1); ean.codi_ean = data2.GetString(2); f.eans.Add(ean); } f.MakeEanProducteRelations(); data2.Close(); ret = true; } OleDbCommand Cmd3 = new OleDbCommand("SELECT * FROM RegistreImportacio", connection); OleDbDataReader data3 = Managers.DBManager.Instance.ExecuteReader(connection, Cmd3); if (data3 != null) { while (data3.Read()) { f.nom = data3.GetString(0); f.data_importacio = data3.GetDateTime(1); } data3.Close(); } Managers.DBManager.Instance.CloseConexion(connection); } return(ret); }