예제 #1
0
    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;
        }
    }
예제 #2
0
 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();
 }
예제 #3
0
        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;
        }
예제 #4
0
        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;
        }
예제 #5
0
    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();
        }
    }