AllOverIt Reference v7 Help

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

AllOverIt

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.

AllOverIt

AllOverIt

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.AspNetCore

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.

AllOverIt

AllOverIt.AspNetCore

MIT License

NET 8.0

NET 7.0

NET 6.0

AllOverIt.Assertion

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.

AllOverIt.Assertion

AllOverIt.Assertion

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Aws.AppSync.Client

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.

AllOverIt.Aws.AppSync.Client

AllOverIt.Aws.AppSync.Client

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Aws.Cdk.AppSync

This package greatly simplifies the generation of AWS Graphql schemas, including their associated mapping and resolver configuration, using a code-first approach.

AllOverIt.Aws.Cdk.AppSync

AllOverIt.Aws.Cdk.AppSync

MIT License

NET 8.0

NET 7.0

NET 6.0

AllOverIt.Cryptography

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.

AllOverIt.Cryptography

AllOverIt.Cryptography

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Csv

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.

AllOverIt.Csv

AllOverIt.Csv

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.DependencyInjection

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.

AllOverIt.DependencyInjection

AllOverIt.DependencyInjection

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.EntityFrameworkCore

This package provides EntityFramework Core utilities such as a database migration helper and a value converter for AllOverIt based enriched enum types.

AllOverIt.EntityFrameworkCore

AllOverIt.EntityFrameworkCore

MIT License

NET 8.0

NET 7.0

NET 6.0

AllOverIt.EntityFrameworkCore.Diagrams

In conjunction with D2, this package will generate entity relationship diagrams for an EntityFramework Core DbContext.

AllOverIt.EntityFrameworkCore.Diagrams

AllOverIt.EntityFrameworkCore.Diagrams

MIT License

NET 8.0

NET 7.0

NET 6.0

AllOverIt.EntityFrameworkCore.Pagination

Using AllOverIt.Pagination as the basis for advanced keyset-based pagination, this package provides additional extensions for use with EntityFramework Core.

AllOverIt.EntityFrameworkCore.Pagination

AllOverIt.EntityFrameworkCore.Pagination

MIT License

NET 8.0

NET 7.0

NET 6.0

AllOverIt.Evaluator

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.

AllOverIt.Evaluator

AllOverIt.Evaluator

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Filtering

This package adds comprehensive filtering support to any IQueryable with built-in provision for operations such as Contains, StartsWith, EndsWith, In, NotIn, EqualTo, NotEqualTo, GreaterThan, LessThan, GreaterThanOrEqual, and LessThanOrEqual.

It's also possible to create a custom predicate based on a Specification and there are options such as ignoring default (null) filter values and parameterizing query inputs that makes it ideal for use with EntityFramework Core.

AllOverIt.Filtering

AllOverIt.Filtering

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Fixture

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.

AllOverIt.Fixture

AllOverIt.Fixture

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Fixture.FakeItEasy

This package extends AllOverIt.Fixture to support FakeItEasy integration.

AllOverIt.Fixture.FakeItEasy

AllOverIt.Fixture.FakeItEasy

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.GenericHost

This package contains generic host helpers and convenience methods for setting up console applications that support dependency injection.

AllOverIt.GenericHost

AllOverIt.GenericHost

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Mapping

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.

AllOverIt.Mapping

AllOverIt.Mapping

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Pagination

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.

AllOverIt.Pagination

AllOverIt.Pagination

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Pipes

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.

AllOverIt.Pipes

AllOverIt.Pipes

MIT License

NET 8.0

NET 7.0

NET 6.0

AllOverIt.Reactive

This package contains utility extensions for use with System.Reactive.

AllOverIt.Reactive

AllOverIt.Reactive

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.ReactiveUI

This package contains utility extensions for use with ReactiveUI.

AllOverIt.ReactiveUI

AllOverIt.ReactiveUI

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.ReactiveUI.Wpf

This package contains utility extensions for use with ReactiveUI and WPF.

AllOverIt.ReactiveUI.Wpf

AllOverIt.ReactiveUI.Wpf

MIT License

NET 8.0

NET 7.0

NET 6.0

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.Binary

AllOverIt.Serialization.Binary

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Serialization.Json.Abstractions

This package contains JSON serialization abstractions.

AllOverIt.Serialization.Json.Abstractions

AllOverIt.Serialization.Json.Abstractions

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Serialization.Json.Newtonsoft

This package contains a wrapper for Newtonsoft JSON serialization based on AllOverIt.Serialization.Json.Abstractions.

AllOverIt.Serialization.Json.Newtonsoft

AllOverIt.Serialization.Json.Newtonsoft

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Serialization.Json.SystemText

This package contains a wrapper for System.Text JSON serialization based on AllOverIt.Serialization.Json.Abstractions.

AllOverIt.Serialization.Json.SystemText

AllOverIt.Serialization.Json.SystemText

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Validation

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.

AllOverIt.Validation

AllOverIt.Validation

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Validation.Options

This package contains Microsoft.Extensions.Options validation using FluentValidation.

AllOverIt.Validation.Options

AllOverIt.Validation.Options

MIT License

NET 8.0

NET 7.0

NET 6.0

NET Standard 2.1

AllOverIt.Wpf

This package contains general purpose WPF utilities.

AllOverIt.Wpf

AllOverIt.Wpf

MIT License

NET 8.0

NET 7.0

NET 6.0

AllOverIt.Wpf.Controls

This package contains useful WPF controls.

AllOverIt.Wpf.Controls

AllOverIt.Wpf.Controls

MIT License

NET 8.0

NET 7.0

NET 6.0

Last modified: 31 March 2024