Cl.Core.Sl 1.2.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package Cl.Core.Sl --version 1.2.0.1                
NuGet\Install-Package Cl.Core.Sl -Version 1.2.0.1                
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="Cl.Core.Sl" Version="1.2.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Cl.Core.Sl --version 1.2.0.1                
#r "nuget: Cl.Core.Sl, 1.2.0.1"                
#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.
// Install Cl.Core.Sl as a Cake Addin
#addin nuget:?package=Cl.Core.Sl&version=1.2.0.1

// Install Cl.Core.Sl as a Cake Tool
#tool nuget:?package=Cl.Core.Sl&version=1.2.0.1                

Acerca de Cl.Core.Sl

Conjunto de funcionalidades que nos permiten conectarnos a service layer e interactuar con los distintos procesos que este nos ofrece.

¿Qué resuelve?

La gestión de las configuraciones requeridas para poder interactuar con SAP a traves de service layer.

A su vez nos brinda una serie de extensiones para faciliar el control de operaciones post, patch y get.

Rutinas de extensión

Consultas con service layer

Permite consumir una vista expuesta de service layer. Obtiene todos los registros sin aplicar ningún filtro.

Detalles de implementación

Extiende a: Cl.Core.Structures.Classes.PresentationEntities.ClUserContext
Función: Get : Cl.Core.Structures.Classes.ServiceLayer.SLRequestObject

Ejemplo:

// La función ConfigurarContexto conecta a la base de datos y obtiene licencia, series, entre otros. Crear su propia función que realice este proceso.
ClUserContext oClUserContext = ConfigurarContext();
// En la siguiente línea podemos ver como la extensión nos devuelve el objeto configurado // Importante tomar en cuenta que el objeto oClUserContext debe tener completa la variable Resource con el nombre de la vista de sap
SLRequestObject oSLRequestObject = oClUserContext.Get();

¿Y ahora cómo envío mi objeto recién configurado a service layer?

Consultas con service layer

Permite consumir vistas usando un modelo para mapearlo hacia ciertos filtros en el query string.

Detalles de implementación

Extiende a: Cl.Core.Structures.Classes.PresentationEntities.ClUserContext
Función: Get : Cl.Core.Structures.Classes.ServiceLayer.SLRequestObject
Parámetros:
- TObject _target(Opcional): Objecto que va a ser reemplazado en el query string. Si no se pasa este objeto el mapeador va a buscar en el diccionario de items de la sessión algún objeto expuesto mediante Cl.Core.Common.ActionFilters.QueryStringExposer

Ejemplo:

// Las siguientes instrucciones usualmente
// estarán en el Process.cs

// La función FuncionQueConfiguraObjeto se conecta
// a la base de datos app y obtiene credenciales de sap
ClUserContext oClUserContext = FuncionQueConfiguraObjeto(); // En la siguiente línea podemos ver como la extensión nos devuelve el objeto configurado // Importante tomar en cuenta que el objeto oClUserContext debe tener completa la variable Resource con el nombre de la vista de sap.
SLRequestObject oSLRequestObject = oClUserContext.Get();

¿Y ahora cómo envío mi objeto recién configurado a service layer?

Consultas paginadas con service layer

Nos permite realizar consultas a vistas expuestas de service layer implementando un mecanismo de paginación integrado con service layer

Detalles de implementación

- En nuestro WebApi.Config antes de habilitar el cors en la línea "config.EnableCors(corsAttr);" tenemos que llamar a "corsAttr.ClHeadersSetter();". Esto con la idea de poder exponer los encabezados que nos brindan el contexto sobre el estado de la paginación.
- Es requerido que en cada endpoint que represente nuestra consulta agregar la anotación [EnablePagination]
- Se deben agregar los siguientes encabezados: cl-sl-pagination-page: (número de página), cl-sl-pagination-page-size: (tamaño de la página)
En la respuesta de la petición se retorna una serie de encebezados que contienen los datos respectivos a la paginación solicitada.
Extiende a: Cl.Core.Structures.Classes.PresentationEntities.ClUserContext
Función: Get : Cl.Core.Structures.Classes.ServiceLayer.SLRequestObject
Parámetros:
- TObject _target(Opcional): Objeto que va a ser reemplazado en el query string. Si no se pasa este objeto el mapeador va a buscar en el diccionario de items de la sessión algún objeto expuesto mediante CL.COMMON.ActionFilters.QueryStringExposer

Ejemplo:

// Las siguientes instrucciones usualmente
// estarán en el Process.cs

// La función FuncionQueConfiguraObjeto se conecta
// a la base de datos app y obtiene credenciales de sap
ClUserContext oClUserContext = FuncionQueConfiguraObjeto();
// En la siguiente línea podemos ver como la extensión nos devuelve el objeto configurado // Importante tomar en cuenta que el objeto oClUserContext debe tener completa la variable Resource con el nombre de la vista de sap y los filtros respectivos.
SLRequestObject oSLRequestObject = oClUserContext.Get();

¿Y ahora cómo envío mi objeto recién configurado a service layer?

Crear con service layer

Para poder crear objetos con service layer es requerido configurar el contexto. Dicho contexto es el que contiene toda la información necesaria para conectarnos con service layer, especificar el objeto que ocupamos crear y tipo de operación a realizar con service layer.
Esta función nos termina devolviendo un objeto configurado listo para ser procesado.

Detalles de implementación

Extiende a: Cl.Core.Structures.Classes.PresentationEntities.ClUserContext
Función: Post : Cl.Core.Structures.Classes.ServiceLayer.SLRequestObject
Parámetros:
- TObject _target: Objeto que va a ser creado en sap.
- System.String _fieldsToRemoveInHeaders(Opcional): Nombres de las propiedades que serán eliminadas de la cabecera de TObject separadas por comas. Ejemplo: "DocEntry,DocNum".
- System.String _fieldsToRemoveInLines(Opcional):Nombres de las propiedades que serán eliminadas de las líneas de TObject separadas por comas. Ejemplo: "LineNum,U_Udf". NOTA: El mapeador va a buscar una propiedad que se llama DocumentLines para realizar el proceso de eliminación de propieades

Ejemplo:

// Las siguientes instrucciones usualmente
// estarán en el Process.cs

// La función FuncionQueConfiguraObjeto se conecta
// a la base de datos app y obtiene credenciales de sap
ClUserContext oClUserContext = FuncionQueConfiguraObjeto();
// En la siguiente línea podemos ver como la extensión nos devuelve el objeto configurado
// La variable oInvoice contiene el objeto que será transaccionado con service layer
// El parámetro _fieldsToRemoveInHeaders contiene el string que presenta los datos de cabecera que serán eliminados de la variable oInvoice
SLRequestObject oSLRequestObject = oClUserContext.Post(oInvoice,_fieldsToRemoveInHeaders: "DocEntry,DocNum");

¿Y ahora cómo envío mi objeto recién configurado a service layer?

Actualizar con service layer

Para poder actualizar objetos con service layer es requerido configurar el contexto. Dicho contexto es el que contiene toda la información necesaria para conectarnos con service layer, especificar el objeto que ocupamos actualizar y tipo de operación a realizar con service layer.
Esta función nos termina devolviendo un objeto configurado listo para ser procesado.

Detalles de implementación

Extiende a: Cl.Core.Structures.Classes.PresentationEntities.ClUserContext
Función: Patch : Cl.Core.Structures.Classes.ServiceLayer.SLRequestObject
Parámetros:
- TObject _target: Objeto que va a ser actualizado en sap.
- System.String _fieldsToRemoveInHeaders(Opcional): Nombres de las propiedades que serán eliminadas de la cabecera de TObject separadas por comas. Ejemplo: "DocEntry,DocNum".
- System.String _fieldsToRemoveInLines(Opcional):Nombres de las propiedades que serán eliminadas de las líneas de TObject separadas por comas. Ejemplo: "LineNum,U_Udf". NOTA: El mapeador va a buscar una propiedad que se llama DocumentLines para realizar el proceso de eliminación de propieades

Ejemplo:

// Las siguientes instrucciones usualmente
// estarán en el Process.cs

// La función FuncionQueConfiguraObjeto se conecta
// a la base de datos app y obtiene credenciales de sap
ClUserContext oClUserContext = FuncionQueConfiguraObjeto();
// Con la siguiente instrucción configuramos el objeto en modo patch
SLRequestObject oSLRequestObject = oClUserContext.Patch<Invoice>();

¿Y ahora cómo envío mi objeto recién configurado a service layer?

Enviar transacciones a service layer

Permite enviar un transacción de tipo GET, POST, PATCH
a service layer retornándonos un objeto de tipo T.

Detalles de implementación

Extiende a: Cl.Core.Structures.Classes.ServiceLayer.SLRequestObject
Función: SendAsync : System.Threading.Tasks.Task<Cl.Core.Structures.Classes.Rebound.CLContext<T>>

Ejemplo:

// Las siguientes instrucciones usualmente
// estarán en el Process.cs

// La función FuncionQueConfiguraObjeto se encarga
// de agregar la información necesaria para conectar a sap
SLRequestObject oSLRequestObject = FuncionQueConfiguraObjeto();

// El generic que se le da el metodo es para indicar el eventual objeto que nos puede devolver sap
return await oSLRequestObject.SendAsync<Document>();

Enviar transacciones a service layer

Permite enviar un transacción de tipo GET, POST, PATCH, a service layer retornándonos una lista de objetos de tipo T.

Detalles de implementación

Extiende a: Cl.Core.Structures.Classes.ServiceLayer.SLRequestObject
Función: SendAsync : System.Threading.Tasks.Task<Cl.Core.Structures.Classes.Rebound.CLContext<System.Collections.Generics.List<T>>>

Ejemplo:

// Las siguientes instrucciones usualmente
// estarán en el Process.cs

// La función FuncionQueConfiguraObjeto se encarga
// de agregar la información necesaria para conectar a sap
SLRequestObject oSLRequestObject = FuncionQueConfiguraObjeto();

// El generic que se le da a el método es para
// indicar la eventual lista de objetos que nos puede devolver sap

return await oSLRequestObject.SendAsync<List<Document>>();

Clavis Consultores ©

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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Cl.Core.Sl:

Package Downloads
Cl.Core.Udfs

Funcionalidades relacionadas con udfs dinámicos

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.4.0-alpha 196 8/21/2024
1.3.2 348 8/8/2024
1.3.2-alpha 79 7/31/2024
1.3.1-alpha 239 6/22/2024
1.3.0 103 6/11/2024
1.3.0-alpha 102 5/31/2024
1.2.1 271 3/8/2024
1.2.1-alpha 117 3/5/2024
1.2.0.2 131 2/16/2024
1.2.0.1 123 2/14/2024
1.2.0 311 11/28/2023
1.2.0-alpha 115 11/17/2023
1.1.0 215 10/4/2023
1.1.0-alpha 116 8/17/2023
1.0.0.2 183 7/7/2023
1.0.0.2-alpha 90 8/17/2023
1.0.0.1 201 7/4/2023