![]() |
VOOZH | about |
dotnet add package Encamina.Enmarcha.Entities.Abstractions --version 10.0.5
NuGet\Install-Package Encamina.Enmarcha.Entities.Abstractions -Version 10.0.5
<PackageReference Include="Encamina.Enmarcha.Entities.Abstractions" Version="10.0.5" />
<PackageVersion Include="Encamina.Enmarcha.Entities.Abstractions" Version="10.0.5" />Directory.Packages.props
<PackageReference Include="Encamina.Enmarcha.Entities.Abstractions" />Project file
paket add Encamina.Enmarcha.Entities.Abstractions --version 10.0.5
#r "nuget: Encamina.Enmarcha.Entities.Abstractions, 10.0.5"
#:package Encamina.Enmarcha.Entities.Abstractions@10.0.5
#addin nuget:?package=Encamina.Enmarcha.Entities.Abstractions&version=10.0.5Install as a Cake Addin
#tool nuget:?package=Encamina.Enmarcha.Entities.Abstractions&version=10.0.5Install as a Cake Tool
Entities Abstractions is a project that primarily contains abstractions used by other NuGet packages in ENMARCHA. These abstractions represent properties or characteristics that entities can have.
First, install NuGet. Then, install Encamina.Enmarcha.Entities.Abstractions from the package manager console:
PM> Install-Package Encamina.Enmarcha.Entities.Abstractions
Install .NET CLI. Next, install Encamina.Enmarcha.Entities.Abstractions from the .NET CLI:
dotnet add package Encamina.Enmarcha.Entities.Abstractions
is a base class for a handlers manager. It serves as a foundation for handling various types of handlers. You can use it as a starting point for creating specialized handler manager classes.
public class CustomHandler
{
}
public class MyCustomHandlerManager : HandlerManagerBase<CustomHandler>
{
public MyCustomHandlerManager(IEnumerable<CustomHandler> handlers) : base(handlers)
{
}
public void LoopHandlers()
{
foreach (var handler in Handlers)
{
// ...
}
}
}
In the previous code, a class is created based on HandlerManagerBase where all the Handlers are looped in the LoopHandlers method.
is an Enum that represents the process time when a specific handler should be executed. It has 4 possible values:
IIdentifiable.IIdentifiable<T>.public class MyCustomIdentifiableEntity : IIdentifiable
{
public object Id { get; }
}
public class MyCustomTypedIdentifiableEntity : IIdentifiable<string>
{
object IIdentifiable.Id => Id;
public string Id { get; }
}
public class MyCustomIdentifiableBaseEntity : IdentifiableBase
{
}
public class MyCustomTypedIdentifiableBaseEntity : IdentifiableBase<string>
{
}
is an interface that represents entities with an unique identifier and value. It implements IIdentifiable<T> and IValuable<T>.
public class MyCustomIdentifiableAndValuableEntity : IIdentifiableValuable<Guid, string>
{
public string Value { get; }
object IIdentifiable.Id => Id;
public Guid Id { get; }
}
is an interface that represents an intendable entity. In other words, and entity that has an intent.
public class MyCustomIntendableEntity : IIntendable
{
public string Intent { get; }
}
is an interface that represents a nameable entity.
public class MyCustomNameableEntity : INameable
{
public string Name { get; }
}
is an interface that represents entities with a name and an unique identifier. It implements INameable and IIdentifiable<T>.
public class MyCustomNameableAndIdentifiableEntity : INameableIdentifiable<Guid>
{
public string Name { get; }
object IIdentifiable.Id => Id;
public Guid Id { get; }
}
is an interface that represents entities with a name, an unique identifier and value. It implements INameable, IIdentifiable<T> and IValuable<T>.
public class MyCustomNameableAndIdentifiableAndValuableEntity : INameableIdentifiableValuable<Guid, int>
{
public string Name { get; }
object IIdentifiable.Id => Id;
public Guid Id { get; }
public int Value { get; }
}
is an interface that represents entities with a name and value. It implements INameable and IValuable<T>. This is an alternative to KeyValuePair and KeyValuePair{TKey, TValue}. The latter two do not support inheritance because KeyValuePair is a static class and KeyValuePair{TKey, TValue} is a structure.
public class MyCustomNameableAndValuableEntity : INameableValuable<int>
{
public string Name { get; }
public int Value { get; }
}
is an interface that represents an orderable type.
public class MyCustomOrderableEntity : IOrderable
{
public int Order { get; }
}
is an interface that represents a helper for retrying failed operations.
public class MyCustomRetryHelper : IRetryHelper
{
public Task RetryOperationAsync(int retryTimes, int waitTimeMilliseconds, Func<Task> operation)
{
// ...
// Implementation of retry operation
// ...
return Task.CompletedTask;
}
}
There is an implementation of this interface in the NuGet package Encamina.Enmarcha.Entities, .
T within a scope. There is an implementation of this interface in the NuGet package Encamina.Enmarcha.Entities, .T. There is an implementation of this interface in the NuGet package Encamina.Enmarcha.Entities, .IValidableEntity.public class MyCustomValidableEntity : ValidableEntity
{
public string SomeProperty { get; set; }
public override IEnumerable<string> Validate()
{
var validationResults = base.Validate().ToList();
if (string.IsNullOrWhiteSpace(SomeProperty))
{
validationResults.Add("SomeProperty must not be empty.");
}
return validationResults;
}
}
is an interface that represents an entity with value.
public class MyCustomValuableEntity : IValuable<double>
{
public double Value { get; }
}
is a base class for a handlers manager that uses handlers that implements the INameable interface.
public class CustomNameableHandler : INameable
{
public CustomNameableHandler(string name)
{
Name = name;
}
public string Name { get; }
}
public class MyCustomHandlerManager : NameableHandlerManagerBase<CustomNameableHandler>
{
public MyCustomHandlerManager(IEnumerable<CustomNameableHandler> handlers) : base(handlers)
{
}
public void LoopHandlers()
{
foreach (var handler in Handlers)
{
Console.WriteLine($"{handler.Value}");
}
}
}
In the code above, a class is created based on NameableHandlerManagerBase where all the Handlers are looped in the LoopHandlers method.
is a base class for a handlers manager that uses handlers that implements the IOrderable interface.
public class CustomOrderableHandler : IOrderable
{
public CustomOrderableHandler(int order)
{
Order = order;
}
public int Order{ get; }
}
public class MyCustomHandlerManager : OrderableHandlerManagerBase<CustomOrderableHandler>
{
public MyCustomHandlerManager(IEnumerable<CustomOrderableHandler> handlers) : base(handlers)
{
}
public void LoopHandlers()
{
foreach (var handler in Handlers)
{
Console.WriteLine($"{handler.Order}");
}
}
}
In the code above, a class is created based on OrderableHandlerManagerBase where all the Handlers are looped in order by the LoopHandlers method.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 was computed. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 netstandard2.1 is compatible. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
Showing the top 5 NuGet packages that depend on Encamina.Enmarcha.Entities.Abstractions:
| Package | Downloads |
|---|---|
|
Encamina.Enmarcha.AI.Abstractions
Package Description |
|
|
Encamina.Enmarcha.AI.TextsTranslation.Abstractions
Package Description |
|
|
Encamina.Enmarcha.AI.IntentsPrediction.Abstractions
Package Description |
|
|
Encamina.Enmarcha.AI.LanguagesDetection.Abstractions
Package Description |
|
|
Encamina.Enmarcha.Entities
Package Description |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.5 | 1,286 | 6/1/2026 |
| 10.0.4 | 1,488 | 4/8/2026 |
| 10.0.3 | 2,189 | 4/6/2026 |
| 10.0.2 | 3,104 | 12/17/2025 |
| 10.0.1 | 1,175 | 12/17/2025 |
| 10.0.0 | 1,196 | 12/16/2025 |
| 10.0.0-preview-09 | 1,371 | 11/19/2025 |
| 10.0.0-preview-08 | 1,341 | 11/18/2025 |
| 10.0.0-preview-07 | 1,598 | 10/22/2025 |
| 10.0.0-preview-06 | 2,211 | 10/14/2025 |
| 10.0.0-preview-05 | 1,124 | 10/8/2025 |
| 10.0.0-preview-04 | 1,105 | 10/7/2025 |
| 10.0.0-preview-03 | 1,211 | 9/16/2025 |
| 10.0.0-preview-02 | 1,169 | 9/16/2025 |
| 8.3.0 | 2,371 | 9/10/2025 |
| 8.3.0-preview-02 | 1,149 | 9/10/2025 |
| 8.3.0-preview-01 | 1,154 | 9/8/2025 |
| 8.2.1-preview-08 | 1,146 | 8/18/2025 |
| 8.2.1-preview-07 | 1,150 | 8/12/2025 |