net3000.schools 1.0.2

dotnet add package net3000.schools --version 1.0.2
                    
NuGet\Install-Package net3000.schools -Version 1.0.2
                    
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="net3000.schools" Version="1.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="net3000.schools" Version="1.0.2" />
                    
Directory.Packages.props
<PackageReference Include="net3000.schools" />
                    
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 net3000.schools --version 1.0.2
                    
#r "nuget: net3000.schools, 1.0.2"
                    
#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 net3000.schools@1.0.2
                    
#: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=net3000.schools&version=1.0.2
                    
Install as a Cake Addin
#tool nuget:?package=net3000.schools&version=1.0.2
                    
Install as a Cake Tool

schoolsCore

Overview

The schoolsCore library powers course and registration workflows for Net3000 education clients. It delivers utilities for retrieving course catalogs, computing pricing and availability, building PayPal links, formatting registration documents, and sending transactional emails. Entity Framework contexts for school data are included.

Public API

<details> <summary>net3000.schools.SchoolLibrary</summary>

Member Summary Parameters
IEnumerable<sc_promotions> ActivePromotions(string promoCode, double total, int studentCount, int programCount) Active Promotions. promoCode (string), total (double), studentCount (int), programCount (int)
string AvailableSpots(int? limit, int? regcount, int warnUnder, string warnMsg, bool warnOnly) Available Spots. limit (int?), regcount (int?), warnUnder (int), warnMsg (string), warnOnly (bool)
string BackForMoreLink(int courseID, string categoryIDs) Back For More Link. courseID (int), categoryIDs (string)
string CourseLink(sc_courses course) Course Link. course (sc_courses)
List<sc_categories> GetCategories(int? account, int? parentID, bool activeOnly, bool includeCourses, int pageIndex, int pageSize) Get Categories. account (int?), parentID (int?), activeOnly (bool), includeCourses (bool), pageIndex (int), pageSize (int)
Task<sc_courseSessions> GetCourseSessionAsync(int? id) Get Course Session Async. id (int?)
int? RemainingCount(int? limit, int? regcount) Remaining Count. limit (int?), regcount (int?)
SchoolLibrary SchoolLibrary(IConfiguration _configuration) School Library. _configuration (IConfiguration)
SchoolLibrary SchoolLibrary() School Library. None
sc_categories getCategory(int id, int? account, bool activeOnly, bool includeCourses, int pageIndex, int pageSize, string search) Get Category. id (int), account (int?), activeOnly (bool), includeCourses (bool), pageIndex (int), pageSize (int), search (string)
sc_courses getCourse(int id) Get Course. id (int)
sc_courses getCourse(string code) Get Course. code (string)
sc_courseSessions getCourseSession(int? id) Get Course Session. id (int?)
List<sc_courseSessions> getCoursedates(int account, int courseId) Get Coursedates. account (int), courseId (int)
List<sc_courses> getCourses(int? account, bool activeOnly, int pageSize, int pageIndex, string search) Get Courses. account (int?), activeOnly (bool), pageSize (int), pageIndex (int), search (string)
List<sc_packages> getPackages(int courseId) Get Packages. courseId (int)
sc_registrations getRegistration(int id, int? account) Get Registration. id (int), account (int?)
List<registration> getRegistrations(int pageIndex, int pageSize, string search) Get Registrations. pageIndex (int), pageSize (int), search (string)
string mergeRegistrationData(sc_registrations reginfo, string template, bool admin) Merge Registration Data. reginfo (sc_registrations), template (string), admin (bool)
string payPalLink(sc_registrations registrationDV) Pay Pal Link. registrationDV (sc_registrations)
string priceDisplay(double? originalPrice, double? price) Price Display. originalPrice (double?), price (double?)
string printRegistration(sc_registrations reginfo, string template, bool admin) Print Registration. reginfo (sc_registrations), template (string), admin (bool)
void sendRegistrationEmail(sc_registrations reginfo, sendTo sendTo) Send Registration Email. reginfo (sc_registrations), sendTo (sendTo)
bool showBackToRegistrationLink() Show Back To Registration Link. None

</details>

<details> <summary>net3000.schools.dbContext.sc_courseSessions</summary>

Member Summary Parameters
string metaField(string fieldName) Meta Field. fieldName (string)

</details>

<details> <summary>net3000.schools.dbContext.sc_courses</summary>

Member Summary Parameters
sc_courses sc_courses() Sc courses. None

</details>

<details> <summary>net3000.schools.dbContext.schoolDB</summary>

Member Summary Parameters
schoolDB schoolDB(DbContextOptions<schoolDB> options) School DB. options (DbContextOptions<schoolDB>)

</details>

<details> <summary>net3000.schools.models.settings</summary>

Member Summary Parameters
void fillDefaults() Fill Defaults. None
settings settings() Settings. None

</details>

Usage Notes

  • Configure SchoolLibrary with IConfiguration and account context before loading courses or registrations.
  • Use helper methods such as priceDisplay, mergeRegistrationData, and sendRegistrationEmail to keep presentation and communications consistent.
  • Database models under DBContext expose metadata helpers like metaField; avoid altering generated attributes manually.

License

This library is proprietary to Net3000. Redistribution or use outside Net3000.ca solutions is not permitted.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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
1.0.2 300 12/17/2025
1.0.0 289 12/16/2025

Fixed: Removed net3000 (v2.0.0) from package dependencies using PrivateAssets. This eliminates the CS0433 type conflict while maintaining internal functionality.