//Añadir mas 1 en el stockactual de un medicamento public void añadirMedicamento(claseMedicamento cm) { conexion.Open(); String cadenaSql = "Update medicamento set stockactual = (stockactual+1) where indice=?in"; comando = new MySqlCommand(cadenaSql, conexion); comando.Parameters.Add("?in", MySqlDbType.Int16).Value = cm.Indice; comando.ExecuteNonQuery(); conexion.Close(); }
//Añadir medicamento a partir del codigo scaneado private void textBox1_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { claseMedicamento cm = new claseMedicamento(); cm = cnx.buscarmedicamento(textBox1.Text); txtNombre.Text = cm.Nombre; txtPrecio.Text = Convert.ToString(cm.Precio); txtStockMin.Text = Convert.ToString(cm.Stockminimo); txtStockActual.Text = Convert.ToString(cm.Stockactual); cnx.añadirMedicamento(cm); } }
//Metodo para modificar medicamentos de la base de datos a partir del indice internal void modificarMedicamento(claseMedicamento med) { conexion.Open(); String cadenaSql = "update medicamento set nombre=?nom,precio=?pr,stockminimo=?sm,stockactual=?sa,imagen=?im where indice=?id"; comando = new MySqlCommand(cadenaSql, conexion); comando.Parameters.Add("?id", MySqlDbType.Int16).Value = med.Indice; comando.Parameters.Add("?nom", MySqlDbType.VarChar).Value = med.Nombre; comando.Parameters.Add("?pr", MySqlDbType.Double).Value = med.Precio; comando.Parameters.Add("?sa", MySqlDbType.Int16).Value = med.Stockactual; comando.Parameters.Add("?sm", MySqlDbType.Int16).Value = med.Stockminimo; comando.Parameters.Add("?im", MySqlDbType.Blob).Value = (byte[])med.Imagen; comando.ExecuteNonQuery(); conexion.Close(); }
public List <claseMedicamento> listar() { conexion.Open(); String cadenaSql = "select * from medicamento"; comando = new MySqlCommand(cadenaSql, conexion); datos = comando.ExecuteReader(); while (datos.Read()) { claseMedicamento cm = new claseMedicamento(); cm.Indice = Convert.ToInt16(datos["indice"]); cm.Nombre = Convert.ToString(datos["nombre"]); cm.Precio = Convert.ToDouble(String.Format("{0:0.00}", datos["precio"])); cm.Imagen = (byte[])datos["imagen"]; cm.Stockactual = Convert.ToInt16(datos["stockactual"]); cm.Stockminimo = Convert.ToInt16(datos["stockminimo"]); listaMedicamento.Add(cm); } conexion.Close(); return(listaMedicamento); }
//Metodo para encontrar un medicamento con el indicador public claseMedicamento buscarmedicamento(String barIdentificador) { conexion.Open(); claseMedicamento cm = new claseMedicamento(); String cadenaSql = "Select * from medicamento where indice=?var"; comando = new MySqlCommand(cadenaSql, conexion); comando.Parameters.Add("?var", MySqlDbType.Int16).Value = barIdentificador; datos = comando.ExecuteReader(); while (datos.Read()) { cm = new claseMedicamento(); cm.Indice = Convert.ToInt16(datos["indice"]); cm.Nombre = Convert.ToString(datos["nombre"]); cm.Precio = Convert.ToDouble(String.Format("{0:0.00}", datos["precio"])); cm.Imagen = (byte[])datos["imagen"]; cm.Stockactual = Convert.ToInt16(datos["stockactual"]); cm.Stockminimo = Convert.ToInt16(datos["stockminimo"]); } conexion.Close(); return(cm); }
//Cargar codigo de un nuevo medicamento private void pictureBox1_Click(object sender, EventArgs e) { claseMedicamento cm = new claseMedicamento(); OpenFileDialog OD = new OpenFileDialog(); OD.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); if (OD.ShowDialog() == DialogResult.OK) { pictureBox1.Load(OD.FileName); } BarcodeDecoder Scanner = new BarcodeDecoder(); Result result = Scanner.Decode(new Bitmap(pictureBox1.Image)); lblScannerNumero.Text = result.Text; cm = cnx.buscarmedicamento(lblScannerNumero.Text); txtNombre.Text = cm.Nombre; txtPrecio.Text = Convert.ToString(cm.Precio); txtStockMin.Text = Convert.ToString(cm.Stockminimo); txtStockActual.Text = Convert.ToString(cm.Stockactual); cnx.añadirMedicamento(cm); }
//Lista los medicamentos por debajo del stock public List <claseMedicamento> listarMinimo() { conexion.Open(); String cadenaSql = "Select * from medicamento where stockactual<stockminimo"; comando = new MySqlCommand(cadenaSql, conexion); datos = comando.ExecuteReader(); while (datos.Read()) { //Mientras haya datos en datos creamos nuevos objetos claseMedicamento //y lo añadimos a la listaMedicamento que retornaremos claseMedicamento cm = new claseMedicamento(); cm.Indice = Convert.ToInt16(datos["indice"]); cm.Nombre = Convert.ToString(datos["nombre"]); cm.Precio = Convert.ToDouble(String.Format("{0:0.00}", datos["precio"])); cm.Imagen = (byte[])datos["imagen"]; cm.Stockactual = Convert.ToInt16(datos["stockactual"]); cm.Stockminimo = Convert.ToInt16(datos["stockminimo"]); listaMedicamento2.Add(cm); } conexion.Close(); return(listaMedicamento2); }
//Metodo que retorna una lista con objetos de claseMedicamento para listar los medicamentos que hay en la base //De datos public List <claseMedicamento> listar() { conexion.Open(); //Abrimos conexion String cadenaSql = "select * from medicamento"; //Guardamos la consulta que queremos hacer en un string comando = new MySqlCommand(cadenaSql, conexion); //Preparamos la conexion datos = comando.ExecuteReader(); //Guardamos los datos obtenidos de la consulta while (datos.Read()) { //Mientras haya datos en datos creamos nuevos objetos claseMedicamento //y lo añadimos a la listaMedicamento que retornaremos claseMedicamento cm = new claseMedicamento(); cm.Indice = Convert.ToInt16(datos["indice"]); cm.Nombre = Convert.ToString(datos["nombre"]); cm.Precio = Convert.ToDouble(String.Format("{0:0.00}", datos["precio"])); cm.Imagen = (byte[])datos["imagen"]; cm.Stockactual = Convert.ToInt16(datos["stockactual"]); cm.Stockminimo = Convert.ToInt16(datos["stockminimo"]); listaMedicamento.Add(cm); } conexion.Close(); return(listaMedicamento); }