Introduction
AllOverIt, the suite, began as a single nuget package of the same name in 2015, and existed for the sole purpose of being able to apply commonly used code to multiple projects with the confidence of knowing they were backed by unit tests.
As the years passed, AllOverIt
, the package, began to feel bloated and was starting to depend on other third-party packages. AllOverIt
was subsequently split into domain-specific assemblies. The originally named AllOverIt
package still exists, but its' scope has been reduced to a collection of commonly used core classes and extension methods that are built upon the .NET runtime. This, along with its many supporting packages, are now collectively known as the AllOverIt suite.
The individual packages that make up AllOverIt is described below, along with a link to the relevant section of the documentation where more usage related content can be found.
Package Name | Latest Release | Target Frameworks |
---|---|---|
This general-purpose package contains a diverse range of classes and utility functions, intended to tackle a wide array of commonly encountered issues. Key areas of concern include threading, tasks, generic caching, event (message) aggregation, expression and reflection utilities, plugin contexts, enriched enums, pipelines, value objects, specifications, and dozens of extensions. | ||
This package provides useful ASP.NET Core utilities such as custom model binding for AllOverIt based enriched enum types, and arrays of values in a query string. | ||
This package contains a useful collection of pre- and post-condition assertion extension methods, and a fluent-like approach to throwing exceptions based on a given condition or custom predicate. | ||
This package contains AWS AppSync GraphQL and Subscription clients with support for serialization using Newtonsoft or System.Text, including serialization of AllOverIt based enriched enums. | ||
This package greatly simplifies the generation of AWS Graphql schemas, including their associated mapping and resolver configuration, using a code-first approach. | ||
This package provides byte-array and stream-based interfaces for encryption algorithms such as AES, RSA and an RSA-AES hybrid. It also includes useful extension methods that greatly simplifies the encryption and decryption between byte-arrays, streams, plain text and base64 encoded versions of plain text and cipher text. | ||
Using CsvHelper to perform the actual writing of CSV content, this package provides a configuration based serializer that can export data using a model with fixed columns as well as dynamic columns derived from complex or array type properties. | ||
This package provides useful dependency injection related utilities such as registering and resolving 'named' services, auto service discovery and registration via a service registrar, and service decoration. | ||
This package provides EntityFramework Core utilities such as a database migration helper and a value converter for AllOverIt based enriched enum types. | ||
AllOverIt.EntityFrameworkCore.Diagrams In conjunction with D2, this package will generate entity relationship diagrams for an EntityFramework Core | ||
AllOverIt.EntityFrameworkCore.Pagination Using AllOverIt.Pagination as the basis for advanced keyset-based pagination, this package provides additional extensions for use with EntityFramework Core. | ||
This package contains a highly-extendable mathematical expression compiler and evaluator that includes constant, mutable, delegate, and lazily evaluated variables, offers implicit and explicit variable lookup, and supports custom arithmetic operators and operations. | ||
This package adds comprehensive filtering support to any IQueryable with built-in provision for operations such as It's also possible to create a custom predicate based on a Specification and there are options such as ignoring default ( | ||
This package contains a base fixture class with numerous helper methods to assist with scaffolding unit tests. Utilizes AutoFixture to do most of the hard work. | ||
This package extends AllOverIt.Fixture to support FakeItEasy integration. | ||
This package contains generic host helpers and convenience methods for setting up console applications that support dependency injection. | ||
This package contains an object mapper that is mostly configuration free, but also capable of property exclusion, aliasing, null replacement, value conversion, and deep copying. | ||
An advanced keyset-based pagination package that uses a fluent-style builder to create queries that cater for forward and backward navigation for any given deterministic base query. Each page of results includes a 'continuation token' for the current, next, and previous page. These tokens can be used at a later time to navigate to the same location within the dataset, thereby somewhat overcoming the inability of random access traditionally associated with keyset-based navigation. | ||
This package provides support for communication over anonymous pipes using StreamReader and StreamWriter, and strongly-typed message-based communication over named pipes using a binary serializer. The named pipes can use the binary serializer from AllOverIt.Serialization.Binary or you can create your own. | ||
This package contains utility extensions for use with System.Reactive. | ||
This package contains utility extensions for use with ReactiveUI. | ||
This package contains utility extensions for use with ReactiveUI and WPF. | ||
AllOverIt.Serialization.Binary This package provides enhanced support for binary serialization. Complex object graphs, lists, dictionaries and nullable values can all be dynamically serialized using reflection-based readers and writers or, for greater performance, a custom serializer per object within the graph. | ||
AllOverIt.Serialization.Json.Abstractions This package contains | ||
AllOverIt.Serialization.Json.Newtonsoft This package contains a wrapper for Newtonsoft | ||
AllOverIt.Serialization.Json.SystemText This package contains a wrapper for System.Text | ||
This package contains additional validators and extensions for use with FluentValidation. It includes an invoker that will select, and invoke, a registered validator based on a provided model. Synchronous and Asynchronous validation is supported, along with extensions that make it easier to pass context information into a validator to keep it stateless. Also available is a validation registrar that makes it possible to auto-register all validators within the same assembly. Validators can also be filtered based on a predicate. | ||
This package contains Microsoft.Extensions.Options validation using FluentValidation. | ||
This package contains general purpose WPF utilities. | ||
This package contains useful WPF controls. |