OLT.Searchers.DateRange 9.0.0-beta-0007

Prefix Reserved
This is a prerelease version of OLT.Searchers.DateRange.
dotnet add package OLT.Searchers.DateRange --version 9.0.0-beta-0007                
NuGet\Install-Package OLT.Searchers.DateRange -Version 9.0.0-beta-0007                
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="OLT.Searchers.DateRange" Version="9.0.0-beta-0007" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add OLT.Searchers.DateRange --version 9.0.0-beta-0007                
#r "nuget: OLT.Searchers.DateRange, 9.0.0-beta-0007"                
#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.
// Install OLT.Searchers.DateRange as a Cake Addin
#addin nuget:?package=OLT.Searchers.DateRange&version=9.0.0-beta-0007&prerelease

// Install OLT.Searchers.DateRange as a Cake Tool
#tool nuget:?package=OLT.Searchers.DateRange&version=9.0.0-beta-0007&prerelease                

CI Quality Gate Status

OltSearcherDateRange and OltDateRange model class to build a date range searchers/expressions (IQueryable)

Utilizes FluentDateTime to build out OltDateRange defaults (i.e., OltDateRange.Today)

public class MyEntitySearcher : OltSearcherDateRange<MyEntity>
{
    public MyEntitySearcher() : base() { }

    public MyEntitySearcher(OltDateRange value) : base(value) { }

    public MyEntitySearcher(DateTimeOffset start, DateTimeOffset end) : base(start, end) { }

    public override IQueryable<MyEntity> BuildQueryable(IQueryable<MyEntity> queryable)
    {
        return queryable.Where(p => p.SomeDate >= Value.Start && p.SomeDate < QueryEnd);
    }
}


// Example Searchers
MyEntitySearcher searcher;
searcher = new MyEntitySearcher(new OltDateRange(DateTimeOffset.Now.AddMonths(-3), DateTimeOffset.Now));

searcher = new MyEntitySearcher(OltDateRange.Today);
searcher = new MyEntitySearcher(OltDateRange.Yesterday);
searcher = new MyEntitySearcher(OltDateRange.Last7Days);
searcher = new MyEntitySearcher(OltDateRange.Next7Days);
searcher = new MyEntitySearcher(OltDateRange.ThisMonth);
searcher = new MyEntitySearcher(OltDateRange.LastMonth);
searcher = new MyEntitySearcher(OltDateRange.NextMonth);
searcher = new MyEntitySearcher(OltDateRange.MonthToDate);
searcher = new MyEntitySearcher(OltDateRange.ThisWeek);
searcher = new MyEntitySearcher(OltDateRange.NextWeek);
searcher = new MyEntitySearcher(OltDateRange.QuarterToDate);
searcher = new MyEntitySearcher(OltDateRange.PreviousQuarter);
searcher = new MyEntitySearcher(OltDateRange.ThisYear);
searcher = new MyEntitySearcher(OltDateRange.LastYear);
searcher = new MyEntitySearcher(OltDateRange.YearToDate);

//Midnight() is an extension provided by FluentDateTime.  See The package for all the extensions
searcher = new MyEntitySearcher(DateTimeOffset.Now.Midnight(), DateTimeOffset.Now.AddDays(3).Midnight());

//TODO: QuarterToDate, PreviousQuarter, YTD, LastYear, NextMonth, ThisYear, Tomorrow

Product Compatible and additional computed target framework versions.
.NET 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 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on OLT.Searchers.DateRange:

Package Downloads
OLT.Searchers.GenericFilter

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
9.0.0-beta-0007 73 12/9/2024
9.0.0-beta-0005 65 12/2/2024
8.4.0-beta-0010 93 11/7/2024
8.4.0-beta-0005 95 10/9/2024
8.3.1 273 8/26/2024
8.3.1-beta-0005 159 8/21/2024
8.3.0 171 8/9/2024
8.3.0-beta-0015 96 6/3/2024
8.3.0-beta-0010 100 5/13/2024
8.3.0-beta-0005 114 5/10/2024
8.2.1 456 4/22/2024
8.2.0 176 4/8/2024
8.1.0 223 3/10/2024
8.0.0 236 2/21/2024
8.0.0-beta-0030 555 2/19/2024
8.0.0-beta-0025 340 1/15/2024
8.0.0-beta-0020 309 1/15/2024
8.0.0-beta-0015 356 12/29/2023
8.0.0-beta-0010 350 12/20/2023
8.0.0-beta-0005 431 12/9/2023
7.2.0 561 12/8/2023
7.2.0-beta-0007 396 12/8/2023
7.2.0-beta-0005 366 12/8/2023
7.1.0 503 10/23/2023
7.1.0-beta-0015 520 7/28/2023
7.1.0-beta-0013 594 6/28/2023
7.1.0-beta-0011 529 6/25/2023
7.1.0-beta-0006 573 6/24/2023
7.1.0-beta-0003 556 6/24/2023
7.1.0-beta-0002 506 6/24/2023
7.1.0-beta-0001 507 5/31/2023
7.0.3 539 9/25/2023
7.0.2 619 7/27/2023
7.0.1 578 7/26/2023
7.0.0 861 4/20/2023
7.0.0-beta-0010 594 4/5/2023
7.0.0-beta-0008 539 2/26/2023
7.0.0-beta-0005 554 2/12/2023
7.0.0-beta-0003 530 1/29/2023
7.0.0-beta-0001 559 1/29/2023
6.8.0 1,173 2/11/2023
6.8.0-beta-0003 527 2/11/2023
6.8.0-beta-0001 602 1/29/2023
6.7.2 849 1/29/2023
6.7.1 1,504 12/20/2022
6.7.0 850 12/17/2022
6.6.0 941 12/2/2022
6.5.4 1,046 11/23/2022
6.5.3 935 11/23/2022
6.5.2 924 11/14/2022
6.5.1 1,143 10/19/2022
6.5.0 1,134 10/3/2022
6.4.3 1,140 9/28/2022
6.4.2 1,118 9/26/2022
6.4.1 1,086 9/18/2022
6.4.0 1,113 8/31/2022
6.3.5 1,136 8/12/2022
6.3.4 1,131 7/25/2022
6.3.3 1,131 7/22/2022
6.3.2 1,141 7/11/2022
6.3.1 1,115 7/2/2022
6.3.0 1,148 7/1/2022
6.2.1 1,102 6/15/2022
6.2.0 1,151 6/2/2022
6.1.1 1,129 5/12/2022
6.1.0 1,045 5/1/2022
6.0.6 1,112 4/6/2022
6.0.5 1,127 4/4/2022
6.0.4 1,150 4/2/2022
6.0.3 477 4/1/2022