/*Método FacturarProductos - Obtiene resultados del procedimiento almacenado Facturas.FacturarProductos para * registrar un nuevo producto correspondiente a la factura previamente registrada en la base de datos.*/ public string FacturarProductos(DFacturas Factura) { //Crea variable resultado y crea instancia de la conexión con SQL Server. string Respuesta = ""; SqlConnection ConexionSql = new SqlConnection(); try { //Establece la conexión con la base de datos. ConexionSql.ConnectionString = DConexion.CnFacturacion; ConexionSql.Open(); //Crea el comando SQL. SqlCommand ComandoSql = new SqlCommand(); ComandoSql.Connection = ConexionSql; ComandoSql.CommandText = "Facturas.FacturarProductos"; ComandoSql.CommandType = CommandType.StoredProcedure; //Parámetro que indica número de la factura regstrada. SqlParameter parNumFactura = new SqlParameter(); parNumFactura.ParameterName = "@NumFactura"; parNumFactura.SqlDbType = SqlDbType.Int; parNumFactura.Value = Factura.NumFactura; ComandoSql.Parameters.Add(parNumFactura); //Parámetro que indica el código del prooducto que se va a ingresar. SqlParameter parIdProducto = new SqlParameter(); parIdProducto.ParameterName = "@IdProducto"; parIdProducto.SqlDbType = SqlDbType.Int; parIdProducto.Value = Factura.IdProducto; ComandoSql.Parameters.Add(parIdProducto); //Parámetro que indica la cantidad de producto que se va a ingresar. SqlParameter parCantidad = new SqlParameter(); parCantidad.ParameterName = "@Cantidad"; parCantidad.SqlDbType = SqlDbType.Decimal; parCantidad.Value = Factura.Cantidad; ComandoSql.Parameters.Add(parCantidad); //Parámetro que indica el precio del producto. SqlParameter parPrecio = new SqlParameter(); parPrecio.ParameterName = "@Precio"; parPrecio.SqlDbType = SqlDbType.Decimal; parPrecio.Value = Factura.Precio; ComandoSql.Parameters.Add(parPrecio); //Parámetro que indica el importe por el producto. SqlParameter parImporte = new SqlParameter(); parImporte.ParameterName = "@Importe"; parImporte.SqlDbType = SqlDbType.Decimal; parImporte.Value = Factura.Importe; ComandoSql.Parameters.Add(parImporte); //Parámetro que indica el importe por el producto. SqlParameter parImpuesto = new SqlParameter(); parImpuesto.ParameterName = "@Impuesto"; parImpuesto.SqlDbType = SqlDbType.VarChar; parImpuesto.Size = -1; parImpuesto.Value = Factura.Impuesto; ComandoSql.Parameters.Add(parImpuesto); //Ejecuta el comando. ComandoSql.ExecuteNonQuery(); //Asigna el número de paginas a la variable. Respuesta = "OK"; } catch (SqlException ex) { //En caso de error devuelve mensaje de notificación en la variable resultado. Respuesta = "Error al intentar ejecutar el procedimiento almacenado \"Facturas.FacturarProductos\". \n" + ex.Message; } finally { //Cierra la conexión si se encuentra abierta. if (ConexionSql.State == ConnectionState.Open) { ConexionSql.Close(); } } return(Respuesta); }
/*Método Facturar - Obtiene resultados del procedimiento almacenado Facturas.Facturar para registrar una nueva * factura en la base de datos.*/ public string Facturar(DFacturas Factura) { //Crea variable resultado y crea instancia de la conexión con SQL Server. string Respuesta = ""; SqlConnection ConexionSql = new SqlConnection(); try { //Establece la conexión con la base de datos. ConexionSql.ConnectionString = DConexion.CnFacturacion; ConexionSql.Open(); //Crea el comando SQL. SqlCommand ComandoSql = new SqlCommand(); ComandoSql.Connection = ConexionSql; ComandoSql.CommandText = "Facturas.Facturar"; ComandoSql.CommandType = CommandType.StoredProcedure; //Parámetro que indica el cliente de la factura. SqlParameter parIdCliente = new SqlParameter(); parIdCliente.ParameterName = "@IdCliente"; parIdCliente.SqlDbType = SqlDbType.Int; parIdCliente.Value = Factura.IdCliente; ComandoSql.Parameters.Add(parIdCliente); //Parámetro que indica el monto total de la factura. SqlParameter parNumLetras = new SqlParameter(); parNumLetras.ParameterName = "@NumLetras"; parNumLetras.SqlDbType = SqlDbType.VarChar; parNumLetras.Size = -1; parNumLetras.Value = Factura.NumLetras; ComandoSql.Parameters.Add(parNumLetras); //Parámetro que indica el monto total de la factura. SqlParameter parTotal = new SqlParameter(); parTotal.ParameterName = "@Total"; parTotal.SqlDbType = SqlDbType.Decimal; parTotal.Value = Factura.Total; ComandoSql.Parameters.Add(parTotal); //Parámetro que indica el monto subtotal de la factura. SqlParameter parSubTotal = new SqlParameter(); parSubTotal.ParameterName = "@SubTotal"; parSubTotal.SqlDbType = SqlDbType.Decimal; parSubTotal.Value = Factura.SubTotal; ComandoSql.Parameters.Add(parSubTotal); //Parámetro que indica el monto exento de la factura. SqlParameter parExento = new SqlParameter(); parExento.ParameterName = "@Exento"; parExento.SqlDbType = SqlDbType.Decimal; parExento.Value = Factura.Exento; ComandoSql.Parameters.Add(parExento); //Parámetro que indica el nombre dell impuesto 1 de la factura. SqlParameter parNombreImpuesto1 = new SqlParameter(); parNombreImpuesto1.ParameterName = "@NombreImpuesto1"; parNombreImpuesto1.SqlDbType = SqlDbType.VarChar; parNombreImpuesto1.Size = -1; parNombreImpuesto1.Value = Factura.NombreImpuesto1; ComandoSql.Parameters.Add(parNombreImpuesto1); //Parámetro que indica el monto de la base imponible del primer impuesto de la factura. SqlParameter parBIImpuesto1 = new SqlParameter(); parBIImpuesto1.ParameterName = "@BIImpuesto1"; parBIImpuesto1.SqlDbType = SqlDbType.Decimal; parBIImpuesto1.Value = Factura.BIImpuesto1; ComandoSql.Parameters.Add(parBIImpuesto1); //Parámetro que indica el monto impuesto 1 de la factura. SqlParameter parImpuesto1 = new SqlParameter(); parImpuesto1.ParameterName = "@Impuesto1"; parImpuesto1.SqlDbType = SqlDbType.Decimal; parImpuesto1.Value = Factura.Impuesto1; ComandoSql.Parameters.Add(parImpuesto1); //Parámetro que indica el nombre del impuesto 2 de la factura. SqlParameter parNombreImpuesto2 = new SqlParameter(); parNombreImpuesto2.ParameterName = "@NombreImpuesto2"; parNombreImpuesto2.SqlDbType = SqlDbType.VarChar; parNombreImpuesto2.Size = -1; parNombreImpuesto2.Value = Factura.NombreImpuesto2; ComandoSql.Parameters.Add(parNombreImpuesto2); //Parámetro que indica el monto de la base imponible del segundo impuesto de la factura. SqlParameter parBIImpuesto2 = new SqlParameter(); parBIImpuesto2.ParameterName = "@BIImpuesto2"; parBIImpuesto2.SqlDbType = SqlDbType.Decimal; parBIImpuesto2.Value = Factura.BIImpuesto2; ComandoSql.Parameters.Add(parBIImpuesto2); //Parámetro que indica el monto impuesto 2 de la factura. SqlParameter parImpuesto2 = new SqlParameter(); parImpuesto2.ParameterName = "@Impuesto2"; parImpuesto2.SqlDbType = SqlDbType.Decimal; parImpuesto2.Value = Factura.Impuesto2; ComandoSql.Parameters.Add(parImpuesto2); //Parámetro que indica el id de la condición de pago. SqlParameter parIdCondicionPago = new SqlParameter(); parIdCondicionPago.ParameterName = "@IdCondicionPago"; parIdCondicionPago.SqlDbType = SqlDbType.Int; parIdCondicionPago.Value = Factura.IdCondicionPago; ComandoSql.Parameters.Add(parIdCondicionPago); //Parámetro que indica la dirección de entrega de la factura. SqlParameter parDireccionEntrega = new SqlParameter(); parDireccionEntrega.ParameterName = "@DireccionEntrega"; parDireccionEntrega.SqlDbType = SqlDbType.VarChar; parDireccionEntrega.Size = 50; parDireccionEntrega.Value = Factura.DireccionEntrega; ComandoSql.Parameters.Add(parDireccionEntrega); //Parámetro que indica el usuario que emite la factura. SqlParameter parIdUsuario = new SqlParameter(); parIdUsuario.ParameterName = "@IdUsuario"; parIdUsuario.SqlDbType = SqlDbType.Int; parIdUsuario.Value = Factura.IdUsuario; ComandoSql.Parameters.Add(parIdUsuario); //Ejecuta el comando. ComandoSql.ExecuteNonQuery(); //Asigna el número de paginas a la variable. Respuesta = "OK"; } catch (SqlException ex) { //En caso de error devuelve mensaje de notificación en la variable resultado. Respuesta = "Error al intentar ejecutar el procedimiento almacenado \"Facturas.Facturar\". \n" + ex.Message; } finally { //Cierra la conexión si se encuentra abierta. if (ConexionSql.State == ConnectionState.Open) { ConexionSql.Close(); } } return(Respuesta); }