Cl.Core.Structures
1.5.0
See the version list below for details.
dotnet add package Cl.Core.Structures --version 1.5.0
NuGet\Install-Package Cl.Core.Structures -Version 1.5.0
<PackageReference Include="Cl.Core.Structures" Version="1.5.0" />
paket add Cl.Core.Structures --version 1.5.0
#r "nuget: Cl.Core.Structures, 1.5.0"
// Install Cl.Core.Structures as a Cake Addin #addin nuget:?package=Cl.Core.Structures&version=1.5.0 // Install Cl.Core.Structures as a Cake Tool #tool nuget:?package=Cl.Core.Structures&version=1.5.0
Acerca de Cl.Core.Structures
Contiene todas aquellas estructuras que se han considerado estandar en todos los procesos que pueden presentar las aplicaciones.
¿Qué resuelve?
Cada vez que tenemos que lidiar con la creación de esctructuras de datos, como clases, interfaces, exisite un conjunto de estos que son muy similiar en cuanto comportamiento y al no existir un estandar los desarrolladores declaran clases como por ejemplo user o User y con las propiedades Nombre o nombre, incluso en inglés Name o name. La idea con este nuget es poder agrupar todas estas estructuras para que en la mayoría de proyectos tengamos esta consistencia al momento de implementar nuevas funcionalidades.
Resumen de versión
Características (Features)
- Nuevas estructuras agregadas para el manejo de paginacion en bases de datos de aplicacion.
- Nueva estructuras agregadas para el manejo de procesamiento por lotes.
- Nueva estructuras agregadas para el manejo de respuestas de SL sin necesidad de mapeo a un objeto.
Clases
Response<T>
- T Data: Va a contener la información que deseamos retornar.
- System.String Message: Variable opcional para indicar algún evento que queramos comunicar.
- Reponse(): Contructor base de la base
- Reponse(System.Exception): Contructor que nos permite de manera automática mapear una excepción y retornarla al ui.
Usada generalmente para contener tanto la información como el detalle de un error que queramos indicar.
Ejemplo:
// Este método retorna un objeto de tipo Context<T>, pero se accede a la propiedad response al final
var user = Execute<User, AppContext, System.Int16>("spGetUserById", 5).Response;
Context<T>
- Cl.Core.Structures.Classes.Response<T> Response: Objeto genérico que contiene la información a retornar.
- System.Net.HttpStatusCode Code: Estatus de la petición tras haber sido ejecutada.
Esta clase representa el estado final de una transacción que hayamos intentado hacer en nuestro backend, la cual debe ser evaluda según el código http.
Ejemplo:
// Este método retorna un objeto de tipo context
var user = Execute<User, AppContext, System.Int16>("spGetUserById", 5);
BatchRequest
- Cl.Core.Structures.Classes.ServiceLayer.BatchRequest BatchRequest: Objeto que almacenara la transacción a realizar en un lote.
Esta clase representa la transaccion que vamos ajecutar en el lote creado en SL.
Ejemplo:
var request = new BatchRequest(){ Id = 1, Verb = GET, ChangeSet = 1, Url = "Items('B001'')",Content=""
UnmappedResponse
- Cl.Core.Structures.Classes.ServiceLayer.UnmappedResponse unmappedResponse: Objeto que almacena la respuesta de SL en formato String
Ejemplo:
CLContext<UnmappedResponse> oClContext = await oSLRequestObject.SendAsync<UnmappedResponse>();
Interfaces
ICLMaster
Usada para definir límites en funciones, por ejemplo en contraints
Ejemplo:
// Usada en una función para indicar que solo podemos usar objetos que implementes esta interfaz
where V : Cl.Core.Structures.Interfaces.ICLMaster
ICLInclude
Usada para indicar que se deben incluir los elementos según en el contexto en el que se use.
Ejemplo:
// Incluyendo la propiedad "Id" en la la lista.
var users = Execute<User, AppContext, Cl.Core.Structures.Interfaces.ICLInclude>("spGetUsers", user, new System.String[] { "Id" });
ICLExclude
Usada para indicar que se deben excluir los elementos según en el contexto en el que se use.
Ejemplo:
// Excluyendo la propiedad "Id" en la lista.
// var users= Execute<User, AppContext, Cl.Core.Structures.Interfaces.ICLExclude>("spGetUsers", user, new System.String[] { "Id" });
Enums
EmailDomains
Nos permite conocer los dominios que podría procesar una aplicación
Ejemplo:
// Uso del enum
var valor = Cl.Core.Structures.Enums.EmailDomains.Gmail;
DaysOfWeek
Contiene los días de la semana, el primer día es el Domingo.
Ejemplo:
// Uso del enum
var valor = Cl.Core.Structures.Enums.DaysOfWeek.Sunday;
UdfType
Nos informa sobre el tipo de datos que permiten los UDFs.
Ejemplo:
// Uso del enum
var valor = Cl.Core.Structures.Enums.UdfType.Numeric;
ObjectStatus
Indica el estado en el que se encuentra un objeto.
Ejemplo:
// Uso del enum
var valor = Cl.Core.Structures.Enums.ObjectStatus.Stashed;
ObjectTypes
Representa todos los objetos que sap puede manejar a nivel del sdk.
Ejemplo:
// Uso del enum
var valor = Cl.Core.Structures.Enums.ObjectTypes.Items;
Product | Versions 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. |
-
net6.0
- Microsoft.AspNetCore.Mvc.NewtonsoftJson (>= 6.0.16)
- System.Data.Odbc (>= 7.0.0)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on Cl.Core.Structures:
Package | Downloads |
---|---|
Cl.Core.Common
Conjunto de librerías a modo de utilidades |
|
Cl.Core.Db
Servicios para facilitar la manipulacion de las bases de datos |
|
Cl.Core.Sl
Librería que permite interactuar con service layer |
|
Cl.Core.Auth
Servicios para recuperacion y cambio de contraseñas |
|
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.8.0 | 80 | 11/1/2024 |
1.7.3-alpha | 91 | 10/11/2024 |
1.7.2-alpha | 99 | 10/4/2024 |
1.7.1-alpha | 107 | 9/20/2024 |
1.7.0-alpha | 117 | 9/13/2024 |
1.6.0-alpha | 197 | 8/21/2024 |
1.5.0.1 | 208 | 8/20/2024 |
1.5.0 | 346 | 8/8/2024 |
1.5.0-alpha | 151 | 7/31/2024 |
1.4.0 | 227 | 6/11/2024 |
1.4.0-alpha | 152 | 5/31/2024 |
1.3.1 | 213 | 5/18/2024 |
1.3.0 | 392 | 4/5/2024 |
1.3.0-alpha | 156 | 3/8/2024 |
1.2.0 | 239 | 3/1/2024 |
1.2.0-alpha | 127 | 2/26/2024 |
1.1.2 | 273 | 2/16/2024 |
1.1.2-alpha | 222 | 1/19/2024 |
1.1.1 | 430 | 10/12/2023 |
1.1.1-alpha | 130 | 10/9/2023 |
1.1.0 | 234 | 9/29/2023 |
1.1.0-alpha | 110 | 9/21/2023 |
1.0.0.6-alpha | 125 | 8/17/2023 |
1.0.0.5 | 281 | 7/7/2023 |
1.0.0.4 | 144 | 7/7/2023 |
1.0.0.3 | 238 | 7/4/2023 |
1.0.0.2 | 243 | 7/3/2023 |
1.0.0.1 | 163 | 7/3/2023 |
1.0.0 | 147 | 7/3/2023 |