Skip to content

saritasa-nest/saritasa-dotnet-tools

Repository files navigation

Saritasa Tools

Infrastructure components and development tools for company projects. Read the latest documentation on Wiki.

Overview

  1. Saritasa.Tools.Common - various utilities (validation, flow, security, atomic), extensions (dict, datetime, string), pagination;
  2. Saritasa.Tools.Domain - general interfaces: repository, unit of work, domain events; exceptions;
  3. Saritasa.Tools.Emails - intefaces for system emails;
  4. Saritasa.Tools.Misc - miscellaneous: password generation;
  5. Saritasa.Tools.EF6 - unit of work and repository implementation for Entity Framework 6;
  6. Saritasa.Tools.EntityFrameworkCore - unit of work and repository implementation for Entity Framework Core X;
  7. Saritasa.Tools.PropertyChangedGenerator - Source code generator for PropertyChanged and PropertyChanging events;

Goals

  1. Provide a common infrastructure for our projects. Make the same or similar vision of current patterns like Repository, Unit of Work, etc.

  2. Provide flexible and extensible infrastructure to manage business requirements.

  3. Provide common logging infrastructure to easily track application activity and system bottlenecks.

  4. Arrange best practices and common functionality among our projects.

Installation

PM> Install-Package Saritasa.Tools.<PackageName>

Package Preparation

1. Create nuspec template file. Add it into library folder.

See an example file here.

2. Create CHANGELOG & VERSION files. Add it into library folder.

See an example files: CHANGELOG and VERSION.

3. Configure Cake build task.

Go here. Add your library folder into build task.

4. Create & Configure AssemblyInfo.cs file for your library.

NuGet package upload

1. Build the library, test it, and prepare NuGet packages.

./build.ps1

Read an output logs if something went wrong.

2. Watch an output nupkg files in the executable directory.

3. Request Saritasa profile access.

4. Upload NuGet package co authored with Saritasa.

Contributors

License

The project is licensed under the terms of the BSD license. Refer to LICENSE.txt for more information.