FEPBA.Helper 6.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package FEPBA.Helper --version 6.0.0
                    
NuGet\Install-Package FEPBA.Helper -Version 6.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FEPBA.Helper" Version="6.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FEPBA.Helper" Version="6.0.0" />
                    
Directory.Packages.props
<PackageReference Include="FEPBA.Helper" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FEPBA.Helper --version 6.0.0
                    
#r "nuget: FEPBA.Helper, 6.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FEPBA.Helper@6.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FEPBA.Helper&version=6.0.0
                    
Install as a Cake Addin
#tool nuget:?package=FEPBA.Helper&version=6.0.0
                    
Install as a Cake Tool

FEPBA.Helper

Espa�ol

Libreria para ejecutar stored procedures en SQL Server

  • Tiene la opci�n de modificar el tiempo l�mite antes de que se levante el error de Timeout al ejecutar stored procedures, el par�metro es opcional en los constructores

  • Tiene la opci�n de modificar el porcentaje de precision para la comparacion de los nombres de las propiedades, el par�metro es opcional en los constructores

  • Tiene la opci�n de ejecutar un stored procedure para usar un Log de todas las ejecuciones. Es necesario usar la sobrecarga del constructor que recibe como par�metros el string de conexi�n, el nombre del stored procedure a ejecutar y un booleano para activar la ejecuci�n del Log

    • El stored procedure de Log debe aceptar como par�metros:
      • string procedureName: nombre del stored procedure ejecutado previo
      • int ExecuteTime: tiempo de ejecuci�n en milisegundos
  • Tiene una clase que permite realizar peticiones HTTP a un servidor interno. Es especialmente dise�ado para ser utilizado por FEPBA. Con este paquete, puedes establecer conexiones REST con tu servidor interno y realizar diversas operaciones HTTP.

Resumen

�Gracias por elegir nuestro paquete NuGet! Este archivo README proporcionar� informaci�n esencial sobre la funcionalidad y el uso del paquete.

Funcionalidades Clave

  • Conexiones HTTP: Establece conexiones HTTP con servidores internos.
  • Peticiones REST: Realiza peticiones REST como GET, POST, PUT, DELETE, etc.
  • Interacci�n con datos: Env�a y recibe datos JSON/XML a trav�s de las peticiones.
  • Autenticaci�n y seguridad: Admite autenticaci�n y seguridad mediante encabezados de autorizaci�n.

Instalaci�n

Puedes instalar el paquete NuGet FEPBA.HttpRestConnections siguiendo estos pasos:

  1. Abre tu proyecto en [Visual Studio/tu IDE preferido].
  2. Ve al Administrador de paquetes NuGet.
  3. Busca "FEPBA.Helper" en la barra de b�squeda de paquetes.
  4. Selecciona la �ltima versi�n del paquete.
  5. Haz clic en el bot�n "Instalar" para agregar el paquete a tu proyecto.

Alternativamente, puedes instalar el paquete a trav�s de la Consola del Administrador de paquetes utilizando el siguiente comando:

Install-Package FEPBA.Helper

Uso

Para utilizar las funcionalidades proporcionadas por FEPBA.Helper, sigue estas pautas:

  1. Importa el espacio de nombres en tu archivo de c�digo:
using FEPBA.Helper;
  1. Crea una instancia de la clase ProxyHttpClient o ProxyHttpClientFactory para establecer la conexi�n con el servidor interno (es recomendable mantener la instancia antes crea crear nuevas):
ProxyHttpClient restHelper;

Ambas clases heredan de la clase abstracta BaseHttpClient, esta misma se puede usar para crear tu propia clases con el manejo del HttpClient preferio

public abstract class BaseHttpClient : IProxyHttpClient
{
    internal abstract HttpClient client { get; }
}
  1. Aseg�rate de cargarle la configuraci�n en el constructor de tu controlador:
restHelper = new ProxyHttpClient(configuration);

La configuraci�n se encuentra en appsetings.json, donde cargamos el connectionString y las URL.

{
  "SQLServerLogger": {
    "ConnectionStrings": "User id=LogerUser;Password=App_Log_Password;Server=servidor;Database=LoggerDB;App=NombreAplicacion;TrustServerCertificate=True",
    "IsActive": true,
    "Include200": false,
    "TrackMethods": [],
    "TrackService": [],
	"ForceTrackMethods": [],
    "ForceTrackService": [],
	"IgnoreMethods" : [],
	"IgnoreService" : []
  }
}

Opcionalmente se puede agregar en el archivo appsetings.json una seccion llamada "ErrorHandling" para guardar mensajes predefinidos para los codigos de error http

{
	"ErrorHandling": [
		"404": "Not Found",
		"418": "My teapot"
	]
}

El Proxy utiliza un store procedure con estos campos

ALTER PROCEDURE [dbo].[AddRequestResposeLog] 
	@Username [varchar](100) NULL,
	@RequestMethod [varchar](100) NULL,
	@UrlRequestFrontend [varchar](100) NULL,
	@UrlRequestBackend [varchar](100) = NULL,
	@QueryString [varchar](100) = NULL,
	@RequestHeaders [nvarchar](max) NULL,
	@RequestBody [nvarchar](max) = NULL,
	@FrontendException [nvarchar](max) = NULL,
	@BackendResponse [nvarchar](max) = NULL,
	@StatusCode [int] NULL,
	@new_identity INT = NULL OUTPUT
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
	 
	 INSERT INTO [dbo].[Logger]
           ([Username]
           ,[RequestMethod]
           ,[UrlRequestFrontend]
           ,[UrlRequestBackend]
           ,[QueryString]
           ,[RequestHeaders]
           ,[RequestBody]
           ,[FrontendException]
           ,[BackendResponse]
           ,[StatusCode])
		   VALUES
           (
				@Username,
				@RequestMethod,
				@UrlRequestFrontend,
				@UrlRequestBackend,
				@QueryString,
				@RequestHeaders,
				@RequestBody,
				@FrontendException,
				@BackendResponse,
				@StatusCode
		);

    SET @new_identity = SCOPE_IDENTITY();
	SELECT	@new_identity as N'New_Identity'
END
  1. Utiliza los m�todos proporcionados por ProxyHttpClient para realizar peticiones HTTP:
// Ejemplo de una petici�n GET
var logGetResponse = restHelper.RestCallGet(urilogGet, this);

// Ejemplo de una petici�n POST
// En este ejemplo se hace una petici�n POST para enviar un email
Mail mail = new Mail()
{
    To = "mail@ejemplo.com",
    Subject = "Rellena con tu subject",
    Body = bodyHtml,
    HTML = true,
    From = "no-responder@fepba.gov.ar"
};
var PostResponse = restHelperEnviar.RestCallPost(uri, mail, this);
  1. Maneja las respuestas de las peticiones y los errores seg�n tus necesidades. Nuestras respuestas suelen ser JSON con el siguiente formato:
{
  "ok": "STATUS CODE",
  "data = "DATA DE LA RESPUESTA",
  "message" = "MENSAJE DE LA RESPUESTA"
 };
  1. Te permite armar la lista de parametros para tus store procedure con codigo más limpio
DbParameter.AddInputParameter(ref parametersList, new Dictionary<string, object>()
{
    { "name", value },
    { "name", "value" },
    { "name", value != null ? value : DBNull.Value }
});

PD: La clase HttpHelperRestConections va a ser eliminada en las versiones de .NET 8 en adelante

Contribuciones

EL equipo de informatica de FEPBA

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.2.0 93 3/12/2026
10.1.3 87 3/11/2026
10.1.3-alpha 87 2/13/2026
10.1.2 113 2/10/2026
10.0.1 100 2/5/2026
10.0.0 119 1/8/2026
8.13.2 104 2/10/2026
8.12.1 180 2/5/2026
8.12.0 116 1/8/2026
8.11.3 686 12/3/2025
8.11.2 216 10/29/2025
8.11.1 208 10/28/2025
8.11.0 203 10/9/2025
6.11.1 200 10/28/2025
6.11.0 189 10/9/2025
6.0.0 177 2/6/2025
Loading failed

Inicio de diferenciacion entre versiones de .NET