Augment 3.0.0

.NET Object Extension Library

Install-Package Augment -Version 3.0.0
dotnet add package Augment --version 3.0.0
<PackageReference Include="Augment" Version="3.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Augment --version 3.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Augment

.NET Object Extension Library (formerly NOX) - renamed from NOX since
there were several overlapping projects of various areas using NOX as
a codename.

What is Augment? By definition augment means to make (something)
greater by adding to it. While .NET has an abundance of libraries
that make coding fantastic, I found myself reusing and copying several
extension files from project to project. So I decided to place them
into a common library and share with anyone who is interested. This
is a small collection of common code I've collected over the years
from various sources (some known, others unfortunately forgotten).

See the WIKI for more details (otherwise check out the code itself)

Samples

DateTime, TimeSpan Extensions

DateTime.Now.BeginningOfDay()		// Week, Month, Year, Quarter
DateTime.Now.EndOfDay()				// Week, Month, Year, Quarter

DateTime.Now.IsBusinessDay()
DateTime.Now.IsHoliday()
DateTime.Now.IsWeekend()

DateTime.Now.ToRelativeDateString()	//	3 seconds ago or 3 seconds from now

3.Seconds()							//	returns TimeSpan
3.Seconds().Ago()					//	returns DateTime

6.Months().FromNow()

Enum Extensions

enum MyEnum
{
  Pass,
  [System.ComponentModel.Description("Failed")]
  Fail
}

string e = MyEnum.Pass.ToDescription();

if (e.ToEnum<MyEnum> == MyEnum.Fail) // etc.

Int, Double Extensions

3.25.PercentOf(125.548)

25.PercentOf(20000)

String, StringBuilder Extensions

string text = "123abc";

text = text.GetLeftOf("abc");

StringBuilder sb = new StringBuilder(text);

sb.AppendIf(text.Contains("abc"), "def" /*true*/, "456" /*false*/);
// or
sb.AppendIf(text.Contains("abc"), "def");

string so = null;

if (so.IsNullOrEmtpy()) so = "what!";

string d = so.AssertNotNull("abc");

NOTES

https://github.com/xin9le/DeclarativeSql
https://github.com/jonwagner/Insight.Database.Schema

Augment

.NET Object Extension Library (formerly NOX) - renamed from NOX since
there were several overlapping projects of various areas using NOX as
a codename.

What is Augment? By definition augment means to make (something)
greater by adding to it. While .NET has an abundance of libraries
that make coding fantastic, I found myself reusing and copying several
extension files from project to project. So I decided to place them
into a common library and share with anyone who is interested. This
is a small collection of common code I've collected over the years
from various sources (some known, others unfortunately forgotten).

See the WIKI for more details (otherwise check out the code itself)

Samples

DateTime, TimeSpan Extensions

DateTime.Now.BeginningOfDay()		// Week, Month, Year, Quarter
DateTime.Now.EndOfDay()				// Week, Month, Year, Quarter

DateTime.Now.IsBusinessDay()
DateTime.Now.IsHoliday()
DateTime.Now.IsWeekend()

DateTime.Now.ToRelativeDateString()	//	3 seconds ago or 3 seconds from now

3.Seconds()							//	returns TimeSpan
3.Seconds().Ago()					//	returns DateTime

6.Months().FromNow()

Enum Extensions

enum MyEnum
{
  Pass,
  [System.ComponentModel.Description("Failed")]
  Fail
}

string e = MyEnum.Pass.ToDescription();

if (e.ToEnum<MyEnum> == MyEnum.Fail) // etc.

Int, Double Extensions

3.25.PercentOf(125.548)

25.PercentOf(20000)

String, StringBuilder Extensions

string text = "123abc";

text = text.GetLeftOf("abc");

StringBuilder sb = new StringBuilder(text);

sb.AppendIf(text.Contains("abc"), "def" /*true*/, "456" /*false*/);
// or
sb.AppendIf(text.Contains("abc"), "def");

string so = null;

if (so.IsNullOrEmtpy()) so = "what!";

string d = so.AssertNotNull("abc");

NOTES

https://github.com/xin9le/DeclarativeSql
https://github.com/jonwagner/Insight.Database.Schema

Release Notes

3.0 - Support net45, net46, net41, and nestandard2.0, Added constructors to KeyedCollections for Comparers
2.1 - Support net45 and net46
2.0 - Bumped to net46, Added StartsWithSameAs, EndsWithSameAs (added NotSame Extensions)
1.5 - Added Exception Extensions (and IsIn extension verfication)
1.4 - Added Try/Get to Single/Multi Key Collections
1.3 - Added Single Key Collection
1.2 - EnsureThat 3.2
1.1 - Added Reflection Helper for get/set properties
1.0 - Initial Release

Version History

Version Downloads Last updated
3.0.0 209 5/22/2018
2.1.0 286 3/15/2017
2.1.0-beta 205 3/15/2017
2.0.6180.18788 283 12/2/2016
1.5.5819.19079 413 12/7/2015