Ejemplo n.º 1
0
        public static void Insertar(CompraAProveedor compra, List<DetalleCompraAProveedor> listaDetalles)
        {
            SqlConnection cn = new SqlConnection();
            cn.ConnectionString = @"Data Source=FEDE-PC;Initial Catalog=BD_Golosinas;Integrated Security=True";
            cn.Open();
            SqlTransaction tran = cn.BeginTransaction();
            try
            {
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = cn;
                cmd.CommandText = @"Insert into Compra_A_Proveedor (id_compra, id_empleado, fecha_compra, monto_total) values (
                                    @id_compra, @id_empleado, @fecha_compra, @monto_total)";
                cmd.Parameters.AddWithValue("@id_compra", compra.id_compra);
                cmd.Parameters.AddWithValue("@id_empleado", compra.id_empleado);
                cmd.Parameters.AddWithValue("@fecha_compra", compra.fecha_compra);
                cmd.Parameters.AddWithValue("@monto_total", compra.monto_total);
                cmd.Transaction = tran;

                cmd.ExecuteNonQuery();
                foreach(DetalleCompraAProveedor detalle in listaDetalles)
                {

                    detalle.id_detalle = ultimoIDDetalle() + 1;
                    detalle.id_compra = compra.id_compra;
                    SqlCommand cmdDet = new SqlCommand();
                    cmdDet.Connection = cn;
                    cmdDet.CommandText = @"Insert into Detalle_Compra_A_Prov (id_detalle_compra_prov, id_compra, id_materia_prima
                                            , cantidad, monto_unitario, id_proveedor) values ( @Id_Detalle_Compra_Prov, @Id_Compra
                                            , @Id_Materia_Prima, @Cantidad, @Monto_Unitario, @Id_Proveedor)";
                    cmdDet.Parameters.AddWithValue("@Id_Detalle_Compra_Prov", detalle.id_detalle);
                    cmdDet.Parameters.AddWithValue("@Id_Compra", detalle.id_compra);
                    cmdDet.Parameters.AddWithValue("@Id_Materia_Prima", detalle.id_materia_prima);
                    cmdDet.Parameters.AddWithValue("@Cantidad", detalle.cantidad);
                    cmdDet.Parameters.AddWithValue("@Monto_Unitario", detalle.monto_unitario);
                    cmdDet.Parameters.AddWithValue("@Id_Proveedor", detalle.id_proveedor);
                    cmdDet.Transaction = tran;

                    cmdDet.ExecuteNonQuery();
                    actualizarIDDetalle(detalle.id_detalle);
                    ActualizarStock(detalle, tran, cn);
                }
                tran.Commit();
            }
            catch(SqlException ex)
            {
                tran.Rollback();
                throw new ApplicationException("Error al Guardar el Pedido: " + ex.Message);
            }
            finally
            {
                cn.Close();
            }
        }
Ejemplo n.º 2
0
    protected void btnConfirmar_Click(object sender, EventArgs e)
    {
        if (!Page.IsValid)
        {
            return;
        }

        CompraAProveedor compra = new CompraAProveedor();

        compra.id_compra = CompraAProveedorDao.ultimoIDCompra() + 1;
        Empleado emp = (Empleado)Session["Empleado"];

        compra.id_empleado  = emp.id_empleado.Value;
        compra.fecha_compra = DateTime.Parse(txtFechaCompra.Text);
        compra.monto_total  = Double.Parse(txtMonto.Text);
        List <DetalleCompraAProveedor> listaDetalles = (List <DetalleCompraAProveedor>)Session["ListaDetalles"];

        CompraAProveedorDao.Insertar(compra, listaDetalles);
        CompraAProveedorDao.actualizarIDCompra(compra.id_compra);

        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Pedido Registrado con Exito!')", true);
        Limpiar();
    }