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 80 12/9/2024
9.0.0-beta-0005 71 12/2/2024
8.4.0-beta-0010 99 11/7/2024
8.4.0-beta-0005 100 10/9/2024
8.3.1 282 8/26/2024
8.3.1-beta-0005 161 8/21/2024
8.3.0 173 8/9/2024
8.3.0-beta-0015 98 6/3/2024
8.3.0-beta-0010 102 5/13/2024
8.3.0-beta-0005 116 5/10/2024
8.2.1 458 4/22/2024
8.2.0 178 4/8/2024
8.1.0 225 3/10/2024
8.0.0 238 2/21/2024
8.0.0-beta-0030 557 2/19/2024
8.0.0-beta-0025 342 1/15/2024
8.0.0-beta-0020 311 1/15/2024
8.0.0-beta-0015 358 12/29/2023
8.0.0-beta-0010 352 12/20/2023
8.0.0-beta-0005 433 12/9/2023
7.2.0 563 12/8/2023
7.2.0-beta-0007 398 12/8/2023
7.2.0-beta-0005 368 12/8/2023
7.1.0 505 10/23/2023
7.1.0-beta-0015 522 7/28/2023
7.1.0-beta-0013 596 6/28/2023
7.1.0-beta-0011 531 6/25/2023
7.1.0-beta-0006 575 6/24/2023
7.1.0-beta-0003 558 6/24/2023
7.1.0-beta-0002 508 6/24/2023
7.1.0-beta-0001 510 5/31/2023
7.0.3 541 9/25/2023
7.0.2 621 7/27/2023
7.0.1 580 7/26/2023
7.0.0 863 4/20/2023
7.0.0-beta-0010 596 4/5/2023
7.0.0-beta-0008 541 2/26/2023
7.0.0-beta-0005 556 2/12/2023
7.0.0-beta-0003 532 1/29/2023
7.0.0-beta-0001 561 1/29/2023
6.8.0 1,175 2/11/2023
6.8.0-beta-0003 529 2/11/2023
6.8.0-beta-0001 604 1/29/2023
6.7.2 851 1/29/2023
6.7.1 1,506 12/20/2022
6.7.0 852 12/17/2022
6.6.0 945 12/2/2022
6.5.4 1,050 11/23/2022
6.5.3 939 11/23/2022
6.5.2 928 11/14/2022
6.5.1 1,147 10/19/2022
6.5.0 1,138 10/3/2022
6.4.3 1,144 9/28/2022
6.4.2 1,122 9/26/2022
6.4.1 1,090 9/18/2022
6.4.0 1,117 8/31/2022
6.3.5 1,140 8/12/2022
6.3.4 1,135 7/25/2022
6.3.3 1,135 7/22/2022
6.3.2 1,145 7/11/2022
6.3.1 1,119 7/2/2022
6.3.0 1,152 7/1/2022
6.2.1 1,106 6/15/2022
6.2.0 1,155 6/2/2022
6.1.1 1,133 5/12/2022
6.1.0 1,051 5/1/2022
6.0.6 1,116 4/6/2022
6.0.5 1,131 4/4/2022
6.0.4 1,154 4/2/2022
6.0.3 481 4/1/2022