UNLEIN.Utilities 2.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package UNLEIN.Utilities --version 2.1.0
                    
NuGet\Install-Package UNLEIN.Utilities -Version 2.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="UNLEIN.Utilities" Version="2.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="UNLEIN.Utilities" Version="2.1.0" />
                    
Directory.Packages.props
<PackageReference Include="UNLEIN.Utilities" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add UNLEIN.Utilities --version 2.1.0
                    
#r "nuget: UNLEIN.Utilities, 2.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package UNLEIN.Utilities@2.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=UNLEIN.Utilities&version=2.1.0
                    
Install as a Cake Addin
#tool nuget:?package=UNLEIN.Utilities&version=2.1.0
                    
Install as a Cake Tool

UNLEIN® Utilities - C# Package

Overview

The UNLEIN® Utilities package is a comprehensive collection of ready-to-use methods designed to improve your C# applications. It simplifies tasks like generating hash values (both one-way and two-way), managing logging, handling file uploads, making API calls, and performing database operations. Whether you're building a simple app or a complex enterprise system, this package offers optimized, easy-to-use solutions.

Features

  • Hash Generation:
    • One-way hash values.
    • Two-way hash values (with key for encryption/decryption).
    • Hash generation for email subscriptions and unsubscribe tokens.
  • File Handling:
    • Get file details before upload.
    • Generate Base64 string data from file before upload.
    • Easy file upload with real-time renaming feature.
    • Upload base64 string files.
  • String Manipulation:
    • SafeReplace method for precise find and replace operations.
    • Shuffle characters in a string.
    • Between String extension for extracting or removing substrings.
  • Database Operations:
    • Fast database connections for quick data retrieval.
    • Query and query list methods for dynamic data binding.
    • Bulk insert and insert queries.
    • Support for complex data types and stored procedures.
  • Logging:
    • Simple, lightweight logging functionality.
    • Auto logging for API calls.
    • Supports .NET platforms above version 6.0.
    • Manage log files with "Rolling Interval" functionality.
  • API Calls:
    • Prebuilt methods for making GET, POST, PUT, PATCH, and DELETE requests.
    • Automatic API request logging.
  • Cookie Manager:
    • Get, save, update, and delete cookies programmatically.
  • Mathematical Operations:
    • Advanced statistical functions (Standard Deviation, Moving Averages)
    • Number theory operations (GCD, LCM, Prime checking)
    • Combinatorics calculations (Combinations, Binomial Coefficients)
    • Financial calculations (EMA, WMA)
    • Mathematical series (Fibonacci)
    • Root calculations and interpolation
  • DateTime Extensions:
    • Business day calculations
    • Week and month boundary operations
    • Human-readable time ago strings
    • Date range operations
  • Data Validation:
    • Phone number validation
    • Credit card validation
    • URL and IP address validation
    • Password strength checking
    • Input type validation (letters, numbers)
  • Collection Operations:
    • Advanced collection chunking
    • Random element selection
    • Uniqueness checking
    • Custom shuffling
    • Frequency analysis
    • Slicing operations

Official team

Program is Developed and Maintained By UNLEIN® Private Limited

Usage

Mathematical Operations

using UNLEIN.Utilities;

// Statistical Analysis
var numbers = new[] { 1.0, 2.0, 3.0, 4.0, 5.0 };
double stdDev = numbers.StandardDeviation();
var movingAvgs = numbers.MovingAverage(3).ToList();
var ema = numbers.ExponentialMovingAverage(3).ToList();

// Number Theory
bool isPrime = 17L.IsPrime(); // true
long gcd = 48L.GCD(18L); // 6
long lcm = 12L.LCM(18L); // 36

// Advanced Calculations
double cubeRoot = 27.0.NthRoot(3); // 3.0
double interpolated = 0.0.Lerp(100.0, 0.5); // 50.0

// Combinatorics
long combinations = 5.Combinations(2); // 10
var fibSequence = 10.Fibonacci().ToList();

DateTime Operations

using UNLEIN.Utilities;

var date = DateTime.Now;
var weekStart = date.StartOfWeek();
var monthEnd = date.EndOfMonth();
var timeAgo = date.AddDays(-5).ToTimeAgo(); // "5 days ago"
var nextWorkday = date.NextBusinessDay();

Data Validation

using UNLEIN.Utilities;

"123-456-7890".IsValidPhoneNumber(); // true
"4532015112830366".IsValidCreditCard(); // true
"https://example.com".IsValidUrl(); // true
"192.168.1.1".IsValidIPv4(); // true
"Password123!".IsStrongPassword(); // true

Collection Operations

using UNLEIN.Utilities;

var numbers = Enumerable.Range(1, 10);

// Chunk large collections
var chunks = numbers.Chunk(3); // [[1,2,3], [4,5,6], [7,8,9], [10]]

// Get random element
var randomNumber = numbers.Random();

// Check uniqueness
var hasUnique = numbers.AllUnique(); // true

// Shuffle collection
var shuffled = numbers.Shuffle();

// Get slice of collection
var slice = numbers.Slice(2, 5); // [3,4,5]

// Group by frequency
var chars = "hello world".ToCharArray();
var frequency = chars.GroupByFrequency(c => c);

Logging

To start using the logging functionality, include the UNLEIN.Utilities.Log namespace and configure your logger:

using UNLEIN.Utilities.Log;

var logger = new LoggingConfig()
                .WriteFile("logs/log.txt", RollingInterval.Hour)
                .Start();

Log.Info("Hey");

//Api Callings
var get = await Api.GetAsync("todos/1");
var post = await Api.PostAsync("posts", data);
//You can also use PUT, PATCH, and DELETE requests in the same way.
//To enable API logging, configure the following
//Auto Logging for API
Api.ApiLog.IsApiLog = true;
Api.ApiLog.IncBaseUrl = true;
Api.ApiLog.IncRequest = true;
Api.ApiLog.FilePath = "logs/apilog.txt";
Api._BaseUrl = "https://example.com/";

Change Logs

  • [05.06.2025 2.1.0]:
    • [NEW]: Advanced Mathematical Operations Added
    • [NEW]: DateTime Extensions for Business Logic
    • [NEW]: Data Validation Extensions
    • [NEW]: Enhanced Collection Operations
  • [28.11.2024 2.0.8/9]:
    • [NEW]: Official Logo Added of unlein.utilites package
  • [28.11.2024 2.0.7]:
    • [NEW]: Api Callings Added, Now you don't need to write Api Calling code every time, just use most optimized, fast, very easy to use with auto logging feature of api callings, prebuilt methods from unlein.Utilities.
  • [20.11.2024 2.0.6]:
    • [NEW]: Added Logging functionality. It is easy to set up, has a clean API, and runs on all .NET platforms above 6.0. While it's useful even in the simplest applications, it's much lightweight and very simple to use, also manage log files with "Rolling Interval" functionality.
  • [16.11.2024 2.0.5]:
    • [NEW]: Optimized and Improvements
  • [15.11.2024 2.0.4]:
    • [NEW]: String Extension Added for Get/Remove Between values from string
  • [15.11.2024 2.0.3]:
    • [NEW]: Query and QueryList TWO methods added for select and bind dynamically data into model and list model
  • [14.11.2024 2.0.2]:
    • [NEW]: Optimized and Improvements
  • [07.11.2024 2.0.1]:
    • [NEW]: Bulk Insert and Insert Queries Added
  • [23.10.2024 2.0.0]:
    • [NEW]: Now Make Database Connections for Retrive fast data
  • [15.09.2024 1.0.22]:
    • [NEW]: Added Cookie Manager for Get/Save/Update/Delete Cookie From Code
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.2.0 324 6/12/2025
2.1.0 165 6/5/2025
2.0.9 173 11/29/2024
2.0.8 134 11/29/2024
2.0.7 134 11/29/2024
2.0.6 183 11/20/2024
2.0.5 131 11/16/2024
2.0.4 146 11/15/2024
2.0.3 156 11/15/2024
2.0.2 130 11/14/2024
2.0.1 193 11/7/2024
2.0.0 146 10/23/2024
1.0.22 164 9/15/2024
1.0.21 183 5/20/2024
1.0.20 237 12/11/2023
1.0.19 228 10/16/2023
1.0.18 200 10/14/2023
1.0.17 188 10/14/2023
1.0.16 158 10/14/2023
1.0.15 162 10/5/2023
1.0.14 239 8/6/2023
1.0.13 206 8/6/2023
1.0.12 215 7/20/2023
1.0.11 267 6/10/2023
1.0.10 230 6/10/2023
1.0.9 237 5/21/2023
1.0.8 213 5/14/2023
1.0.7 203 5/13/2023
1.0.6 224 5/8/2023
1.0.5 247 5/7/2023
1.0.4 237 5/7/2023

- [NEW] DateTime Extensions
- [NEW] Data Validation
- [NEW] Collection Operations