Cl.Core.Addons
1.2.0
See the version list below for details.
dotnet add package Cl.Core.Addons --version 1.2.0
NuGet\Install-Package Cl.Core.Addons -Version 1.2.0
<PackageReference Include="Cl.Core.Addons" Version="1.2.0" />
paket add Cl.Core.Addons --version 1.2.0
#r "nuget: Cl.Core.Addons, 1.2.0"
// Install Cl.Core.Addons as a Cake Addin #addin nuget:?package=Cl.Core.Addons&version=1.2.0 // Install Cl.Core.Addons as a Cake Tool #tool nuget:?package=Cl.Core.Addons&version=1.2.0
Acerca de Cl.Core.Addons
Conjuto de funcionalidades que facilitan la gestión y operación de los componentes de walkthrough y walkthrough-console. Este paquete permite realizar operaciones CRUD, brindando una integración fluida con la base de datos y los endpoints correspondientes.
¿Qué resuelve?
Este paquete soluciona la gestión de los endpoints requeridos para el manejo eficiente de las operaciones de POST, PATCH, GET y DELETE, esenciales para el correcto funcionamiento del componente walkthrough-console. Proporciona las herramientas necesarias para interactuar con la base de datos de forma segura y eficiente, asegurando la persistencia y actualización de los datos vinculados a los tours y sus pasos.
Rutinas
Nota
Para la implementación de las rutinas de creación y actualización es indispensable contar con la siguiente implementación:
En el Process, declarar una instancia de
IHttpContextAccessor
para acceder a los datos del contexto HTTP y obtener información del usuario logueado, lo que es esencial para registrar los campos de auditoría (comoCreatedBy
yUpdatedBy
) en las operaciones de creación y actualización.private readonly IHttpContextAccessor _httpContextAccessor; public Process(IHttpContextAccessor httpContextAccessor) { _httpContextAccessor = httpContextAccessor; }
GetTours<Microsoft.EntityFrameworkCore.DbContext>( IServices, System.String, System.String ): Cl.Core.Structures.Classes.Rebound.CLContext< System.Collections.Generic.IEnumerable<Cl.Core.Structures.Classes.Addons.TourAndStepsString>
Descripcion
Obtiene toda la información relevante a los tour y sus respectivos steps por medio de una consulta a la base de datos de aplicación.
Parametros
- _services (Requerido): Interfaz de servicios utilizada para ejecutar la consulta de la base de datos.
- _dbObjectToken (Requerido): Token de objeto de base de datos utilizado para el contexto durante la operación.
- _filter (Requerido): Cadena de filtro utilizada para buscar y recuperar recorridos en función de criterios específicos.
Tipos genéricos
- TDbContext (Requerido): El tipo de contexto de base de datos utilizado en la operación. Este debe ser una instancia de
DbContext
.Ejemplo:
public CLContext<IEnumerable<TourAndStepsString>> MyFunction(string? filter) { _logManager.Record($"REQUESTING RECORDS"); var oClContext = Walkthrough.GetTours<MainDbContext>(_services,"GetTours", filter); _logManager.Record($"REQUESTE COMPLETED"); return oClContext; }
Procedimiento almacenado a utilizar:
CREATE PROCEDURE [dbo].[CL_D_DEV_OPS_DEV_SLT_TOURSANDSTEPSFILTER] @Key NVARCHAR(50) = NULL AS BEGIN SELECT *, ( SELECT * FROM dbo.StepsByTour AS S WHERE S.TourId = T.Id FOR JSON PATH ) AS Steps FROM [dbo].[Tour] as T WHERE (@Key IS NULL OR @Key = 'null' OR T.Code LIKE '%' + @Key + '%') OR (@Key IS NULL OR @Key = 'null' OR T.TourName LIKE '%' + @Key + '%') OR (@Key IS NULL OR @Key = 'null' OR T.ViewName LIKE '%' + @Key + '%') OR (@Key = T.ViewPath AND t.IsActive = 1); END
PostTours< Microsoft.EntityFrameworkCore.DbContext,Cl.Core.Structures.Interfaces.ICLMaster,Cl.Core.Structures.Interfaces.ICLSingle> ( Cl.Core.Structures.Classes.Addons.TourAndSteps, ICore, System.String, Microsoft.AspNetCore.Http.IHttpContextAccessor ):Cl.Core.Structures.Classes.Rebound.CLContext<Cl.Core.Structures.Classes.Addons.TourAndStepsString>
Descripcion
Este método se utiliza para registrar un tour junto con sus detalles en la base de datos.
Parametros
- _tour (Requerido): Objeto de tipo
TourAndSteps
que contiene los detalles del tour a registrar.- _core (Requerido): Interfaz utilizada para realizar las operaciones de base de datos.
- _dbObjectToken (Requerido): Token que identifica el contexto del objeto de base de datos durante la operación.
- httpContextAccessor (Requerido): Accesor para el contexto HTTP, utilizado para obtener el correo electrónico del usuario autenticado.
Tipos genéricos
- TDbContext (Requerido): El tipo de contexto de base de datos utilizado en la operación. Este debe ser una instancia de
DbContext
.- TMaster (Requerido): Tipo que representa la entidad maestra en la operación, que implementa la interfaz
ICLMaster
.- TSingle (Requerido): Tipo que representa una entidad individual en la operación, que implementa la interfaz
ICLSingle
.Ejemplo:
public CLContext<TourAndStepsString> MyFunction(TourAndSteps tour) { _logManager.Record($"REQUESTING POST OBJECT"); var oClContext = Walkthrough.PostTours<MainDbContext,ICLExclude,ICLSingle>(tour, _core, "PostTour",_httpContextAccessor); if(tour.Steps.Count > 0 && oClContext.Response != null) { tour.Id = oClContext.Response.Data.Id; _= Walkthrough.PostStepsByTour<MainDbContext>(tour, _core, "PostStepsByTour",_httpContextAccessor); } _logManager.Record($"REQUESTE COMPLETED"); return oClContext; }
Procedimiento almacenado a utilizar:
CREATE PROCEDURE [dbo].[CL_D_CL_DEV_OPS_DEV_CRT_TOUR] @CreatedBy NVARCHAR(50), @IsActive BIT, @Code NVARCHAR(255), @TourName NVARCHAR(MAX), @ViewName NVARCHAR(255), @ViewPath NVARCHAR(MAX) AS BEGIN IF (SELECT COUNT(Id) FROM [Tour] WHERE [Code] = @Code) > 0 THROW 60000, 'Ya existe un tour registrado con los datos proporcionados. Verifique los detalles e intente nuevamente.', 1; INSERT INTO [Tour] ( [CreatedBy] ,[CreatedDate] ,[UpdatedBy] ,[UpdateDate] ,[IsActive] ,[Code] ,[TourName] ,[ViewName] ,[ViewPath] ) OUTPUT inserted.[Id] VALUES ( @CreatedBy, GETDATE(), @CreatedBy, GETDATE(), @IsActive, @Code, @TourName, @ViewName, @ViewPath ); END
PostStepsByTour< Microsoft.EntityFrameworkCore.DbContext> ( Cl.Core.Structures.Classes.Addons.TourAndSteps, ICore, System.String, Microsoft.AspNetCore.Http.IHttpContextAccessor ):Cl.Core.Structures.Classes.Rebound.CLContext<Cl.Core.Structures.Classes.Addons.SaveListInfo>
Descripcion
Este método se utiliza para registrar los pasos asociados a un tour específico, serializando los pasos en formato JSON e inserta los datos en la base de datos.
Parametros
- _tour (Requerido): Objeto de tipo
TourAndSteps
que contiene los detalles del pasos a registrar.- _core (Requerido): Interfaz utilizada para realizar las operaciones de base de datos.
- _dbObjectToken (Requerido): Token que identifica el contexto del objeto de base de datos durante la operación.
- httpContextAccessor (Requerido): Accesor para el contexto HTTP, utilizado para obtener el correo electrónico del usuario autenticado.
Tipos genéricos
- TDbContext (Requerido): El tipo de contexto de base de datos utilizado en la operación. Este debe ser una instancia de
DbContext
.Ejemplo:
public CLContext<SaveListInfo> MyFunction(TourAndSteps tour) { _logManager.Record($"REQUESTING POST OBJECT"); var oClContext = Walkthrough.PostStepsByTour<MainDbContext>(tour, _core, "PostStepsByTour",_httpContextAccessor); _logManager.Record($"REQUESTE COMPLETED"); return oClContext; }
Procedimiento almacenado a utilizar:
CREATE PROCEDURE [dbo].[CL_D_CL_DEV_OPS_DEV_CRT_STEPSBYTOUR] @TourId INT, @Data NVARCHAR(MAX) AS BEGIN DECLARE @message NVARCHAR(MAX); BEGIN TRY BEGIN TRAN IF EXISTS(SELECT * FROM dbo.Tour AS T WHERE T.Id=@TourId ) BEGIN INSERT INTO [dbo].[StepsByTour] ( [CreatedBy] ,[CreatedDate] ,[UpdatedBy] ,[UpdateDate] ,[IsActive] ,[TourId] ,[StepName] ,[ClassName] ,[StepTitle] ,[StepText] ,[Position] ,[ButtonNext] ,[ButtonBack] ,[ButtonEnd] ,[IsScrollTo] ,[CloseButton] ) SELECT JSON_VALUE(value, '$.CreatedBy') AS CreatedBy, GETDATE() AS CreatedDate, JSON_VALUE(value, '$.UpdatedBy') AS UpdatedBy, GETDATE() AS UpdateDate, JSON_VALUE(value, '$.IsActive') AS IsActive, @TourId AS TourId, JSON_VALUE(value, '$.StepName') AS StepName, JSON_VALUE(value, '$.ClassName') AS ClassName, JSON_VALUE(value, '$.StepTitle') AS StepTitle, JSON_VALUE(value, '$.StepText') AS StepText, JSON_VALUE(value, '$.Position') AS Position, JSON_VALUE(value, '$.ButtonNext') AS ButtonNext, JSON_VALUE(value, '$.ButtonBack') AS ButtonBack, JSON_VALUE(value, '$.ButtonEnd') AS ButtonEnd, JSON_VALUE(value, '$.IsScrollTo') AS IsScrollTo, JSON_VALUE(value, '$.CloseButton') AS CloseButton FROM OPENJSON(@Data); END ELSE BEGIN SET @message = 'El tour no se encuentra registrado'; THROW 51000, @message, 1; ROLLBACK TRAN; END COMMIT TRAN END TRY BEGIN CATCH DECLARE @error int, @xstate int; SELECT @error = ERROR_NUMBER(), @message = ERROR_MESSAGE(), @xstate = XACT_STATE(); RAISERROR(@message, 11, 11); ROLLBACK TRAN; END CATCH END
DeleteStepsByTour< Microsoft.EntityFrameworkCore.DbContext, Cl.Core.Structures.Interfaces.ICLSingle> ( System.Int32, IServices, System.String):Cl.Core.Structures.Classes.Rebound.CLContext<Cl.Core.Structures.Classes.Addons.TourAndStepsString>
Descripcion
Este método elimina todos los pasos asociados a un tour específico identificado por el identificador de tour proporcionado.
Parametros
- _tourId (Requerido): El identificador del tour cuyos pasos asociados deben ser eliminados.
- _services (Requerido): Interfaz de servicios utilizada para realizar la operación de eliminación.
- _dbObjectToken (Requerido): Token que identifica el contexto del objeto de base de datos durante la operación.
Tipos genéricos
- TDbContext (Requerido): El tipo de contexto de base de datos utilizado en la operación. Este debe ser una instancia de
DbContext
.- TSingle (Requerido): El tipo que representa un registro individual en el contexto. Debe implementar
ICLSingle
.Ejemplo:
public CLContext<TourAndStepsString> MyFunction(TourAndSteps tour) { _logManager.Record($"REQUESTING POST OBJECT"); var oClContext = Walkthrough.DeleteStepsByTour<MainDbContext, ICLSingle>(tour[0].Id, _services, "DeleteStepsByTour"); _logManager.Record($"REQUESTE COMPLETED"); return oClContext; }
Procedimiento almacenado a utilizar:
CREATE PROCEDURE [dbo].[CL_D_CL_DEV_OPS_DEV_DLT_STEPSBYTOUR] @Key INT AS BEGIN DELETE FROM [StepsByTour] WHERE TourId = @Key END
DeleteTourById< Microsoft.EntityFrameworkCore.DbContext, Cl.Core.Structures.Interfaces.ICLSingle> ( System.Int32, IServices, System.String):Cl.Core.Structures.Classes.Rebound.CLContext<Cl.Core.Structures.Classes.Addons.TourAndStepsString>
Descripcion
Este método elimina un tour específico de la base de datos identificado por su identificador de tour.
Parametros
- _tourId (Requerido): El identificador del tour que debe ser eliminado.
- _services (Requerido): Interfaz de servicios utilizada para realizar la operación de eliminación.
- _dbObjectToken (Requerido): Token que identifica el contexto del objeto de base de datos durante la operación.
Tipos genéricos
- TDbContext (Requerido): El tipo de contexto de base de datos utilizado en la operación. Este debe ser una instancia de
DbContext
.- TSingle (Requerido): El tipo que representa un registro individual en el contexto. Debe implementar
ICLSingle
.Ejemplo:
public CLContext<TourAndStepsString> MyFunction(TourAndSteps tour) { _logManager.Record($"REQUESTING POST OBJECT"); var oClContext = Walkthrough.DeleteTourById<MainDbContext,ICLSingle>(tourId, _services, "DeleteTourById"); var deleteSteps = Walkthrough.DeleteStepsByTour<MainDbContext, ICLSingle>(tourId, _services, "DeleteStepsByTour"); _logManager.Record($"REQUESTE COMPLETED"); return oClContext; }
Procedimiento almacenado a utilizar:
CREATE PROCEDURE [dbo].[CL_D_CL_DEV_OPS_DEV_DLT_TOUR] @Key INT AS BEGIN DELETE FROM [Tour] WHERE TourId = @Key END
UpdateTours< Microsoft.EntityFrameworkCore.DbContext> ( Cl.Core.Structures.Classes.Addons.TourAndSteps[], ICore, System.String, Microsoft.AspNetCore.Http.IHttpContextAccessor):Cl.Core.Structures.Classes.Rebound.CLContext<Cl.Core.Structures.Classes.Addons.SaveListInfo>
Descripcion
Actualiza los tours proporcionados con la información especificada, asignando el usuario que los actualizó y guardando los datos en la base de datos.
Parametros
- _tourId (Requerido): Un arreglo de objetos
TourAndSteps
que representan los tours a actualizar.- _core (Requerido): Instancia de
ICore
utilizada para las operaciones principales en la base de datos.- _dbObjectToken (Requerido): Token que identifica el contexto del objeto de base de datos durante la operación.
- httpContextAccessor (Requerido)::Interfaz
IHttpContextAccessor
para acceder al contexto HTTP y obtener la información del usuario que está conectado.Tipos genéricos
- TDbContext (Requerido): El tipo de contexto de base de datos utilizado en la operación. Este debe ser una instancia de
DbContext
.Ejemplo:
Ejemplo cuando se actualiza solo un registro
public CLContext<SaveListInfo> MyFunction(TourAndSteps[] tour) { _logManager.Record($"REQUESTING POST OBJECT"); var oClContext = Walkthrough.UpdateTours<MainDbContext>(tour, _core, "UpdateTour",_httpContextAccessor); if (tour[0].Steps.Count > 0 && oClContext.Response != null) { _ = Walkthrough.DeleteStepsByTour<MainDbContext, ICLSingle>(tour[0].Id, _services, "DeleteStepsByTour"); _ = Walkthrough.PostStepsByTour<MainDbContext>(tour[0], _core, "PostStepsByTour",_httpContextAccessor); } _logManager.Record($"REQUESTE COMPLETED"); return oClContext; }
Ejemplo cuando se actualizan varios registros
public CLContext<SaveListInfo> MyFunction(TourAndSteps[] tour) { _logManager.Record($"REQUESTING POST OBJECT"); var oClContext = Walkthrough.UpdateTours<MainDbContext>(tour, _core, "UpdateTour",_httpContextAccessor); _logManager.Record($"REQUESTE COMPLETED"); return oClContext; }
Procedimiento almacenado a utilizar:
CREATE PROCEDURE [dbo].[CL_D_CL_DEV_OPS_DEV_UPT_TOUR] @TourId INT, @Data NVARCHAR(MAX) AS BEGIN UPDATE [Tour] SET [UpdatedBy] = JSON_VALUE(value, '$.UpdatedBy'), [UpdateDate] = GETDATE(), [IsActive] = JSON_VALUE(value, '$.IsActive'), [Code] = JSON_VALUE(value, '$.Code'), [TourName] = JSON_VALUE(value, '$.TourName'), [ViewName] = JSON_VALUE(value, '$.ViewName'), [ViewPath] = JSON_VALUE(value, '$.ViewPath') FROM OPENJSON(@Data) WHERE [Tour].Id = JSON_VALUE(value, '$.Id'); END
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. 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. |
-
net6.0
- Cl.Core.Db (>= 1.2.2)
- Cl.Core.Structures (>= 1.8.0)
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 |
---|---|---|
1.2.2-alpha | 0 | 1/20/2025 |
1.2.1-alpha | 74 | 11/6/2024 |
1.2.0 | 104 | 11/1/2024 |
1.1.4-alpha | 121 | 10/18/2024 |
1.1.3-alpha | 79 | 10/11/2024 |
1.1.2-alpha | 78 | 10/4/2024 |
1.1.1-alpha | 80 | 9/27/2024 |
1.1.0-alpha | 76 | 9/20/2024 |
1.0.0-alpha | 129 | 9/13/2024 |