예제 #1
0
        /*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);
        }
예제 #2
0
        /*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);
        }