public static List<Repuesto> ObtenerTodos() { List<Repuesto> list = new List<Repuesto>(); SqlConnection cn = new SqlConnection(); cn.ConnectionString = cadena; cn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = cn; string consulta = "SELECT idRepuesto, nombreRepuesto, precio, stock FROM Repuestos WHERE stock > 0 ORDER BY nombreRepuesto ASC"; cmd.CommandText = consulta; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Repuesto r = new Repuesto(); r.idRepuesto = (int)dr["idRepuesto"]; r.nombreRepuesto = dr["nombreRepuesto"].ToString(); r.precio = (decimal)dr["precio"]; r.stock = (int)dr["stock"]; list.Add(r); } dr.Close(); cn.Close(); return list; }
public static Repuesto ObtenerPorId(int idRepuesto) { Repuesto r = new Repuesto(); SqlConnection cn = new SqlConnection(); cn.ConnectionString = cadena; cn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = cn; string consulta = "SELECT idRepuesto, nombreRepuesto, precio, stock FROM Repuestos WHERE idRepuesto = @idRepuesto"; cmd.CommandText = consulta; cmd.Parameters.AddWithValue("@idRepuesto", idRepuesto); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { r.idRepuesto = (int)dr["idRepuesto"]; r.nombreRepuesto = dr["nombreRepuesto"].ToString(); r.precio = (decimal)dr["precio"]; r.stock = (int)dr["stock"]; } dr.Close(); cn.Close(); return r; }
protected void btnAgregarRepuestos_Click(object sender, EventArgs e) { if(ddlRepuestos.SelectedIndex != 0 && !string.IsNullOrWhiteSpace(txtCantidadRepuestos.Text)) { DetalleFactura df = new DetalleFactura(); Repuesto r = new Repuesto(); int idRepuesto = int.Parse(ddlRepuestos.SelectedValue.ToString()); int cantidad = int.Parse(txtCantidadRepuestos.Text.ToString()); Boolean found = false; if (ViewState["detallesFactura"] == null) ViewState["detallesFactura"] = new List<DetalleFactura>(); List<DetalleFactura> listaDetalles = (List<DetalleFactura>)ViewState["detallesFactura"]; foreach (var item in listaDetalles) { if (item.repuesto.idRepuesto == idRepuesto) { found = true; if (item.repuesto.stock >= item.cantidad + cantidad) { item.cantidad += cantidad; item.subtotal = item.cantidad * item.repuesto.precio; break; } else { alertaStockInsuficiente.Visible = true; break; } } } if (!found) { r = GestorRepuestos.ObtenerPorId(idRepuesto); if (r.stock >= cantidad) { df.cantidad = cantidad; df.repuesto = r; df.subtotal = cantidad * r.precio; listaDetalles.Add(df); alertaStockInsuficiente.Visible = false; } else { alertaStockInsuficiente.Visible = true; } } actualizarDatosFactura(); CargarGrillaRepuestos(); ResetP2(); } }