https://github.com/marfusios/kotas-utils
Reusable building components for the .NET Standard 2.0 applications
https://github.com/marfusios/kotas-utils
Last synced: 11 months ago
JSON representation
Reusable building components for the .NET Standard 2.0 applications
- Host: GitHub
- URL: https://github.com/marfusios/kotas-utils
- Owner: Marfusios
- License: apache-2.0
- Created: 2018-04-22T17:02:57.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T08:56:49.000Z (over 3 years ago)
- Last Synced: 2025-07-12T03:06:51.036Z (11 months ago)
- Language: C#
- Size: 62.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Kotas utilities [](https://travis-ci.org/Marfusios/kotas-utils) [](https://badge.fury.io/nu/Kotas.Utils.Common)
These libraries contain reusable building components for the .NET Standard 2.0 applications.
### License:
Apache License 2.0
### Features
* **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` and `NativeStore`
* 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` and `EntityFrameworkStore`
* 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
* **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<,>()`