These libraries contain reusable building components for the .NET Standard 2.0 applications.
Apache License 2.0
- Kotas.Utils.Common - a base common library
- preconfigured json serialization
- unix datetime
- validations
- comparers (int/string array)
- is primitive method
- other utils (reflection, string, enum)
- Kotas.Utils.Data - a base library for abstract data access
- the unit of work pattern
- Kotas.Utils.Data.Native - a library for native data access
- implementation of the unit of work pattern
- pure
System.Data
- base classes:
NativeQuery
andNativeStore
- SQL server via
System.Data.SqlClient
- PostgreSQL via
Npgsql
- Kotas.Utils.Data.EntityFramework - a library for Entity Framework data access
- implementation of the unit of work pattern
- base classes:
EntityFrameworkQuery
andEntityFrameworkStore
- SQL server via
Microsoft.EntityFrameworkCore.SqlServer
- PostgreSQL via
Npgsql.EntityFrameworkCore.PostgreSQL
- Kotas.Utils.Asp.Net - a common library for ASP.NET Core applications
- middlewares
- exception to status code - maps throwed unhandled exceptions to HTTP status code
- exceptions
- BadInputException
- ForbiddenException
- ConflictException
- UnathorizedException
- NotFoundException
- middlewares
- Kotas.Utils.RabbitMQ - a library for RabbitMQ broker
- statically typed approach to pub-sub pattern
- supports two types of subscriptions
- shared - only one instance of the subscriber is handling the message
- per consumer - every instance of the subscriber is handling the message
- message consist of payload and wrapper
- wrapper contains timestamp and correlation id
- whole message is serialized to JSON
- inspired by Prism (library for WPF)
- Kotas.Utils.RabbitMQ.AspNet - ASP.NET Core integration
- provides integration methods (called from Startup class)
AddRabbitMQ()
,UseRabbitMQ()
AddMessageHandler<>()
,UseMessageHandler<,>()
- provides integration methods (called from Startup class)