MMOJr.ESI.Standard 9.0.21

dotnet add package MMOJr.ESI.Standard --version 9.0.21
NuGet\Install-Package MMOJr.ESI.Standard -Version 9.0.21
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="MMOJr.ESI.Standard" Version="9.0.21" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MMOJr.ESI.Standard --version 9.0.21
#r "nuget: MMOJr.ESI.Standard, 9.0.21"
#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 MMOJr.ESI.Standard as a Cake Addin
#addin nuget:?package=MMOJr.ESI.Standard&version=9.0.21

// Install MMOJr.ESI.Standard as a Cake Tool
#tool nuget:?package=MMOJr.ESI.Standard&version=9.0.21

E S I - EXECUTE SCOPE INSTANCES

ESI is a new and simple way of Object Oriented Programming.
Even for those who still don't know the Concepts and Principles of Object Orientation, they will learn easily.
With a very simple structure and easy application, ESI meets the 5 Principles S.O.L.I.D..
ESI will change your way of thinking Programming.

5 Principles S. O. L. I. D.

S — Single Responsiblity Principle
O — Open-Closed Principle
L — Liskov Substitution Principle
I — Interface Segregation Principle
D — Dependency Inversion Principle

* Object Oriented Program
* Clean Code
* Program Without IFs
* Fully Decoupled Program
* Fully Structured Program

ESI is Composed of 3 Basic Structures:

* ESIControllerBase<TData> - must implement the Method protected abstract void OnExecute(IESIConfigurationController configuration);
* ESIBusinessBase<TData> - must implement the Method protected abstract void OnExecute(IESIConfigurationBusiness configuration);
* ESIRepositoryBase<TData> - must implement the Method protected abstract void OnExecute(IESIConfigurationRepository configuration);

For more information about ESI, visit the website: mmojrti.com or contact us by email: support@mmojrti.com.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos 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
9.0.21 343 1/16/2023
9.0.20 321 1/16/2023
8.2.21 330 12/13/2022
8.2.20 305 12/13/2022
8.1.21 342 11/21/2022
8.1.20 318 11/21/2022
7.0.1 455 5/30/2022
6.0.1 467 3/13/2022
6.0.0 423 3/13/2022
5.0.1 367 8/16/2021
5.0.0 329 8/16/2021
4.2.1 400 5/6/2021
4.1.1 330 5/4/2021
3.1.1 368 4/7/2021
2.1.1 373 4/5/2021
1.0.0 368 3/30/2021

Changes Version 9.x.x:

1. New Extend Method Get for Dictionary<string, object>:

 * TValue GetValue<TValue> (Extended)
  If the key exists, return the value of the TValue type, otherwise return null.

2. New Methods in ESIBusinessBase, ESIRepositoryBase and ESIControllerBase:

 * IESIReturn<TData> Execute(TData data)
  Method that performs the calls of ESIBusiness, ESIRepository and ESIController with parameter TData.
  Parameter TData replaces TData from ESIBusiness, ESIRepository and ESIController Constructors.

 * Task<IESIReturn<TData>> ExecuteAsync(TData data)
  Async Method that performs the calls of ESIBusiness, ESIRepository and ESIController with parameter TData.
  Parameter TData replaces TData from ESIBusiness, ESIRepository and ESIController Constructors.
  Instantiates a CancellationTokenSource default.

 * Task<IESIReturn<TData>> ExecuteAsync(TData data, int millisecondsDelay)
  Async Method that performs the calls of ESIBusiness, ESIRepository and ESIController with parameter TData.
  Parameter TData replaces TData from ESIBusiness, ESIRepository and ESIController Constructors.
  Instantiates a CancellationTokenSource with the Wait milliseconds.

 * Task<IESIReturn<TData>> ExecuteAsync(CancellationToken cancellationToken)
  Async Method that performs the calls of ESIBusiness, ESIRepository and ESIController.
  Parameter CancellationToken comes from an external CancellationTokenSource.

 * Task<IESIReturn<TData>> ExecuteAsync(TData data, CancellationToken cancellationToken)
  Method that performs the calls of ESIBusiness, ESIRepository and ESIController Async.
  Parameter TData replaces TData from ESIBusiness, ESIRepository and ESIController Constructors.
  Parameter CancellationToken comes from an external CancellationTokenSource.

3. Corrections:

 * Cleanup of Connections only in the Dispose() Method of the Main Instance.

 * Attributes ESITransactionLocalAttribute and ESITransactionScopeAttribute.
  If a CancellationToken is Requested any Transaction (Local or Distributed) in Ongoing will be Rollback.
  An ESITransactionCancellationTokenException("Cancellation Token Requested. Transaction Rollback.") Exception will be included in the ListException Property.

For more information about ESI, visit the website: mmojrti.com or contact us by email: support@mmojrti.com.