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.
- 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.
- 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
IPlatformContextis 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.