AugusteVN.Modules.EmailCampaigns.Database.Mongo 1.0.7

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

AugusteVN.Modules.EmailCampaigns.Database.Mongo

MongoDB persistence layer for email campaigns — uses AugusteVN.Database.Mongo for the EmailCampaignsMongoDbContext.

Entities

  • EmailCampaign — Extends AuditableEntity with: Title, Description, Status, EmailTemplates (navigation), TargetEmailList, StartsAt
  • EmailTemplate — Extends AuditableEntity with: Subject, BodyAsMarkdown, BodyAsHtml, SendDelayInDays, EmailCampaignId, Status, Trigger
  • EmailSubscriber — Extends AuditableEntity with: Email, IsSubscribed, IsEmailConfirmed, IsTester, EmailLists
  • EmailJob — Extends AuditableEntity with: TargetEmailList, StartsAt, Status, EmailTemplateId, EmailTemplate, PublishAsBlogPost, PostType, IncludeSponsorSegment
  • SentEmail — Extends AuditableEntity with: To, IsSuccess, ExceptionMessage, EmailTemplateId, EmailCampaignId, TraceId, EmailJobId
  • SentEmailMetric — Extends AuditableEntity with: SentEmailId, Type, EmailTemplateId, EmailCampaignId, TraceId, EmailJobId

DbContext

EmailCampaignsMongoDbContext

Implements IEmailCampaignsDbContext and IMongoDbContext.

Collections:

Collection Entity Description
EmailCampaigns EmailCampaign Email marketing campaigns with nested templates
EmailTemplates EmailTemplate Individual email templates (markdown + HTML)
SentEmails SentEmail Record of every email sent
SentEmailMetrics SentEmailMetric Tracking events (reads, clicks, unsubs)
EmailSubscribers EmailSubscriber Subscriber list with per-category opt-in
EmailJobs EmailJob Scheduled or triggered batch send jobs

Indexes:

  • EmailSubscribers.Email — ascending
  • SentEmails.TraceId — ascending

Interface

IEmailCampaignsDbContext — Exposes IGenericRepository<T> properties for each collection and SaveChangesAsync.

Extension Methods

AddEmailCampaignsDbContextMongo

public static void AddEmailCampaignsDbContextMongo(this IServiceCollection services, IConfiguration configuration)

Registers IEmailCampaignsDbContext / EmailCampaignsMongoDbContext with MongoDB using the DefaultConnection connection string.

SaveSentEmailAsync

public static async Task SaveSentEmailAsync(this IEmailCampaignsDbContext context, SentEmail email)

Helper to persist a new SentEmail record.

DeactivateEmailJob

public static async Task DeactivateEmailJob(this IEmailCampaignsDbContext context, EmailJob emailJob)

Sets a job's status to NotActive and persists the change.

Registration

builder.Services.AddEmailCampaignsDbContextMongo(builder.Configuration);

Installation

dotnet add package AugusteVN.Modules.EmailCampaigns.Database.Mongo

Dependencies

  • AugusteVN.Database.Mongo
  • AugusteVN.Database.Entities
  • Microsoft.Extensions.Configuration.Abstractions
  • AugusteVN.Modules.EmailCampaigns.Domain

Full Documentation

See the EmailCampaigns Module README for complete documentation.

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 (1)

Showing the top 1 NuGet packages that depend on AugusteVN.Modules.EmailCampaigns.Database.Mongo:

Package Downloads
AugusteVN.Modules.EmailCampaigns.Api

Minimal API endpoints for campaigns, templates, subscribers, and jobs

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.7 89 8/9/2026
1.0.6 84 8/9/2026
1.0.2 95 8/8/2026
1.0.1 87 8/8/2026
1.0.0 100 8/8/2026