Table of Contents

Namespace MegaForm.Sdk

Classes

CreateFormRequest

Request to create a new form.

DashboardFormSummaryDto

One form row for dashboard overview UIs.

DashboardOverviewDto

Dashboard-level totals and per-form summaries.

DashboardQuery

Filter options for an in-host dashboard overview.

FieldOptionInfo

A choice option for Select/Radio/Checkbox fields.

FieldValidationInfo

Validation rules for a field (subset relevant to consumers).

FileDto

An uploaded file attached to a submission (metadata only; no storage path leaks).

FormDto

A form, as exposed to SDK consumers. Decoupled from internal storage models.

FormFieldInfo

A single field's metadata, as exposed to SDK consumers (e.g. a custom renderer).

FormQuery

Filter/paging options for listing forms.

FormSchemaInfo

A form's schema parsed into typed, read-only field metadata (decoupled from the internal storage models). Returned by ISchemaApi.Parse. Row/column layout is flattened so Fields is the same ordered, input-field list the server validates against.

InboxBoardDto

Inbox board split into incoming, in-progress, and completed lanes.

InboxFileAttachmentRequest

File attachment request for a workflow inbox task.

InboxFileAttachmentResultDto

Result of attaching a file through the inbox facade.

InboxKpiDto
InboxQuery

Options for the current actor's inbox board.

InboxSendSubmissionResultDto

Result of sending a submission to an inbox.

InboxTaskActionDto

One workflow task action/audit entry.

InboxTaskActionRequest

Action request used by claim/approve/reject/forward/comment.

InboxTaskDto

One human workflow task row.

InboxTaskResultDto

Result of a workflow task operation.

InboxUserDto
MegaFormClient

Default IMegaFormClient — a thin facade that maps SDK DTOs to/from MegaForm.Core repositories. It does NOT contain business logic; it reuses Core. Tenant/user context comes from the ambient MegaForm.Core.Interfaces.IPlatformContext (when the host provides one) and can be overridden per call via MegaFormScope.

MegaFormFileContent

The bytes + metadata of a file, ready to stream to a download response.

MegaFormScope

Explicit tenant/user context for an SDK call. Pass this when the caller runs OUTSIDE a MegaForm request (background job, scheduler, another module) where the ambient IPlatformContext is not available or not the right tenant. When omitted, the ambient platform context is used.

MegaFormSdk

Ambient accessor for hosts that cannot use constructor injection — e.g. a DNN Razor host, a DDR template, or a legacy .ascx. Call Initialize(IServiceProvider) once at host startup with the application's IServiceProvider, then use RunAsync<T>(Func<IMegaFormClient, Task<T>>) which opens a DI scope, resolves the client, and disposes it.

// DNN razor host:
var forms = await MegaFormSdk.RunAsync(c => c.Forms.ListFormsAsync(
    new FormQuery { Status = "published" },
    new MegaFormScope { PortalId = PortalSettings.PortalId }));

In DI hosts (Oqtane/Web), prefer injecting IMegaFormClient directly.

MegaFormSdkServiceCollectionExtensions

DI registration for the MegaForm SDK facade.

PagedResult<T>

A page of results plus the total count for the query.

SendSubmissionToInboxRequest

Request to route a submission into a user's inbox without a prebuilt workflow.

SubmissionDetailDto

Full submission detail payload for custom dashboards.

SubmissionDto

A submission, as exposed to SDK consumers.

SubmissionFieldSnapshotDto

Stored field snapshot captured at submit time.

SubmissionListItemDto

Dashboard-friendly submission list row.

SubmissionQuery

Filter/paging options for querying submissions (FindData).

SubmissionSearchQuery

Richer query contract for submission dashboard screens.

SubmissionValueDto

A display value produced by flattening a submission against its schema.

SubmissionWorkflowSummaryDto

Workflow summary attached to a submission detail.

SubmitResult

Result of submitting form data through ISubmissionApi.SubmitAsync. Mirrors the server submission pipeline's outcome. On a validation failure Success is false and ValidationErrors carries the per-field messages (no row is saved).

UpdateFormRequest

A partial update to an existing form: only the non-null members are applied, so callers can change a single property (e.g. just the title) without re-sending the whole form.

Interfaces

IDashboardApi

Read-only dashboard summaries for forms and submissions in the current host.

IFileApi

List and download files attached to submissions.

IFormApi

Create, read, list and delete forms.

IInboxApi

Human-task inbox facade for same-host dashboard integrations.

IMegaFormClient

The single public entry point for using MegaForm programmatically. Resolve it from DI (services.AddMegaFormSdk()) or, in non-DI hosts (e.g. a DNN Razor host), via the ambient MegaForm accessor.

ISchemaApi

Parse a form's schema JSON into typed field metadata (pure, no I/O).

ISubmissionApi

Query, submit, update and delete submissions.

ISubmissionDashboardApi

Submission-dashboard operations richer than the legacy FindAsync(SubmissionQuery, MegaFormScope?, CancellationToken) surface.