OLT.Searchers.DateRange 9.0.0-beta-0009

Prefix Reserved
This is a prerelease version of OLT.Searchers.DateRange.
dotnet add package OLT.Searchers.DateRange --version 9.0.0-beta-0009                
NuGet\Install-Package OLT.Searchers.DateRange -Version 9.0.0-beta-0009                
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-0009" />                
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-0009                
#r "nuget: OLT.Searchers.DateRange, 9.0.0-beta-0009"                
#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-0009&prerelease

// Install OLT.Searchers.DateRange as a Cake Tool
#tool nuget:?package=OLT.Searchers.DateRange&version=9.0.0-beta-0009&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-0009 77 12/30/2024
9.0.0-beta-0007 82 12/9/2024
9.0.0-beta-0005 73 12/2/2024
8.4.0-beta-0010 101 11/7/2024
8.4.0-beta-0005 101 10/9/2024
8.3.1 285 8/26/2024
8.3.1-beta-0005 164 8/21/2024
8.3.0 174 8/9/2024
8.3.0-beta-0015 99 6/3/2024
8.3.0-beta-0010 103 5/13/2024
8.3.0-beta-0005 117 5/10/2024
8.2.1 459 4/22/2024
8.2.0 179 4/8/2024
8.1.0 226 3/10/2024
8.0.0 239 2/21/2024
8.0.0-beta-0030 558 2/19/2024
8.0.0-beta-0025 343 1/15/2024
8.0.0-beta-0020 312 1/15/2024
8.0.0-beta-0015 359 12/29/2023
8.0.0-beta-0010 353 12/20/2023
8.0.0-beta-0005 434 12/9/2023
7.2.0 564 12/8/2023
7.2.0-beta-0007 399 12/8/2023
7.2.0-beta-0005 369 12/8/2023
7.1.0 506 10/23/2023
7.1.0-beta-0015 523 7/28/2023
7.1.0-beta-0013 597 6/28/2023
7.1.0-beta-0011 532 6/25/2023
7.1.0-beta-0006 576 6/24/2023
7.1.0-beta-0003 559 6/24/2023
7.1.0-beta-0002 509 6/24/2023
7.1.0-beta-0001 511 5/31/2023
7.0.3 542 9/25/2023
7.0.2 622 7/27/2023
7.0.1 581 7/26/2023
7.0.0 864 4/20/2023
7.0.0-beta-0010 597 4/5/2023
7.0.0-beta-0008 542 2/26/2023
7.0.0-beta-0005 557 2/12/2023
7.0.0-beta-0003 533 1/29/2023
7.0.0-beta-0001 562 1/29/2023
6.8.0 1,176 2/11/2023
6.8.0-beta-0003 530 2/11/2023
6.8.0-beta-0001 605 1/29/2023
6.7.2 852 1/29/2023
6.7.1 1,507 12/20/2022
6.7.0 853 12/17/2022
6.6.0 946 12/2/2022
6.5.4 1,051 11/23/2022
6.5.3 940 11/23/2022
6.5.2 929 11/14/2022
6.5.1 1,148 10/19/2022
6.5.0 1,139 10/3/2022
6.4.3 1,145 9/28/2022
6.4.2 1,123 9/26/2022
6.4.1 1,091 9/18/2022
6.4.0 1,118 8/31/2022
6.3.5 1,141 8/12/2022
6.3.4 1,136 7/25/2022
6.3.3 1,136 7/22/2022
6.3.2 1,146 7/11/2022
6.3.1 1,120 7/2/2022
6.3.0 1,153 7/1/2022
6.2.1 1,107 6/15/2022
6.2.0 1,156 6/2/2022
6.1.1 1,134 5/12/2022
6.1.0 1,052 5/1/2022
6.0.6 1,117 4/6/2022
6.0.5 1,132 4/4/2022
6.0.4 1,155 4/2/2022
6.0.3 482 4/1/2022