protected void gvCompra_SelectedIndexChanged(object sender, EventArgs e) { ID = int.Parse(gvCompra.SelectedDataKey.Value.ToString()); List <DetalleCompraAProveedor> listaDetalles = (List <DetalleCompraAProveedor>)Session["ListaDetalles"]; int indice = 0; foreach (DetalleCompraAProveedor det in listaDetalles) { if (det.id_materia_prima == ID) { indice = listaDetalles.IndexOf(det); break; } } DetalleCompraAProveedor detalle = listaDetalles.ElementAt(indice); listaDetalles.RemoveAt(indice); gvCompra.DataSource = listaDetalles; gvCompra.DataBind(); Session["ListaDetalles"] = listaDetalles; double montoTotal = double.Parse(txtMonto.Text); montoTotal -= detalle.cantidad * detalle.monto_unitario; txtMonto.Text = montoTotal.ToString(); if (listaDetalles.Count == 0) { tituloMP.Visible = false; } }
public static void ActualizarStock(DetalleCompraAProveedor detalle, SqlTransaction tran, SqlConnection cn) { SqlCommand cmdStock = new SqlCommand(); cmdStock.Connection = cn; cmdStock.CommandText = "Update Materia_Prima set stock = @Stock Where id_materia_prima = @Id_Materia_Prima"; cmdStock.Parameters.AddWithValue("@Stock", detalle.stock); cmdStock.Parameters.AddWithValue("@Id_Materia_Prima", detalle.id_materia_prima); cmdStock.Transaction = tran; cmdStock.ExecuteNonQuery(); }
public static List<DetalleCompraAProveedor> obtenerConFiltros(int? id_proveedor, string nombreMP) { List<DetalleCompraAProveedor> listaDetalles = new List<DetalleCompraAProveedor>(); SqlConnection cn = new SqlConnection(); cn.ConnectionString = @"Data Source=FEDE-PC;Initial Catalog=BD_Golosinas;Integrated Security=True"; cn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = cn; cmd.CommandText = @"Select p.id_proveedor, p.razon_social, p.cuit as cuit, mp.id_materia_prima, mp.nombre, mp.codigo, mp.stock, mpp.precio, mp.descripcion FROM Proveedor p INNER JOIN MP_X_Proveedor mpp ON p.id_proveedor = mpp.id_proveedor INNER JOIN Materia_Prima mp ON mpp.id_materia_prima = mp.id_materia_prima WHERE 1 = 1 "; if (id_proveedor.HasValue && id_proveedor != 0) { cmd.CommandText += "AND p.id_proveedor = @id_prov "; cmd.Parameters.AddWithValue("@id_prov", id_proveedor.Value); } if (nombreMP != string.Empty) { cmd.CommandText += "AND mp.nombre like @nombreMP "; cmd.Parameters.AddWithValue("@nombreMP","%" + nombreMP + "%"); } SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { DetalleCompraAProveedor detalle = new DetalleCompraAProveedor(); detalle.codigo_mp = int.Parse(dr["codigo"].ToString()); detalle.descripcion = dr["descripcion"].ToString(); detalle.id_materia_prima = int.Parse(dr["id_materia_prima"].ToString()); detalle.id_proveedor = int.Parse(dr["id_proveedor"].ToString()); detalle.monto_unitario = double.Parse(dr["precio"].ToString()); detalle.nombre_proveedor = dr["razon_social"].ToString(); detalle.cuit = int.Parse(dr["cuit"].ToString()); detalle.nombre_materia_prima = dr["nombre"].ToString(); detalle.stock = int.Parse(dr["stock"].ToString()); listaDetalles.Add(detalle); } dr.Close(); cn.Close(); return listaDetalles; }
public static DetalleCompraAProveedor obtenerPorID(int id_mp) { DetalleCompraAProveedor detalle = null; SqlConnection cn = new SqlConnection(); cn.ConnectionString = @"Data Source=FEDE-PC;Initial Catalog=BD_Golosinas;Integrated Security=True"; cn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = cn; cmd.CommandText = @"Select p.id_proveedor, p.razon_social, p.cuit, mp.id_materia_prima, mp.nombre, mp.codigo, mp.stock, mpp.precio, mp.descripcion FROM Proveedor p INNER JOIN MP_X_Proveedor mpp ON p.id_proveedor = mpp.id_proveedor INNER JOIN Materia_Prima mp ON mpp.id_materia_prima = mp.id_materia_prima WHERE mp.id_materia_prima = @id_mp "; cmd.Parameters.AddWithValue("@id_mp", id_mp); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { detalle = new DetalleCompraAProveedor(); detalle.codigo_mp = int.Parse(dr["codigo"].ToString()); detalle.descripcion = dr["descripcion"].ToString(); detalle.id_materia_prima = int.Parse(dr["id_materia_prima"].ToString()); detalle.id_proveedor = int.Parse(dr["id_proveedor"].ToString()); detalle.monto_unitario = double.Parse(dr["precio"].ToString()); detalle.nombre_proveedor = dr["razon_social"].ToString(); detalle.cuit = int.Parse(dr["cuit"].ToString()); detalle.nombre_materia_prima = dr["nombre"].ToString(); detalle.stock = int.Parse(dr["stock"].ToString()); } dr.Close(); cn.Close(); return detalle; }
protected void gvMateriasPrimas_SelectedIndexChanged(object sender, EventArgs e) { ID = int.Parse(gvMateriasPrimas.SelectedDataKey.Value.ToString()); tituloMP.Visible = true; List <DetalleCompraAProveedor> listaDetalles = (List <DetalleCompraAProveedor>)Session["ListaDetalles"]; DetalleCompraAProveedor detalle = CompraAProveedorDao.obtenerPorID(ID); detalle.cantidad = Cantidad; detalle.stock += detalle.cantidad; listaDetalles.Add(detalle); gvCompra.DataSource = listaDetalles; gvCompra.DataBind(); Session["ListaDetalles"] = listaDetalles; if (txtMonto.Text == string.Empty) { txtMonto.Text = (detalle.monto_unitario * detalle.cantidad).ToString(); } else { double precio = double.Parse(txtMonto.Text) + detalle.monto_unitario * detalle.cantidad; txtMonto.Text = precio.ToString(); } }