@using [Owner].[Module]s.Services @using [Owner].[Module]s.Models @namespace [Owner].[Module]s @inherits ModuleBase @inject I[Module]Service [Module]Service @inject NavigationManager NavigationManager @if (_[Module]s == null) {

Loading...

} else {

@if (@_[Module]s.Count != 0) {
[Module]s
@context.Name
} else {

No [Module]s To Display

} }
[Module] Module Created Successfully. Use Edit Mode To Add A [Module]. You Can Access The Files At The Following Locations:

[RootPath]Client\
- [Owner].[Module]s.Client.csproj - client project
- _Imports.razor - global imports for module components
- Edit.razor - component for adding or editing content
- Index.razor - main component for your module **the content you are reading is in this file**
- ModuleInfo.cs - implements IModule interface to provide configuration settings for your module
- Settings.razor - component for managing module settings
- Services\I[Module]Service.cs - interface for defining service API methods
- Services\[Module]Service.cs - implements service API interface methods

[RootPath]Package\
- [Owner].[Module]s.nuspec - nuget manifest for packaging module
- [Owner].[Module]s.Package.csproj - packaging project
- debug.cmd - copies assemblies to Oqtane bin folder when in Debug mode
- release.cmd - creates nuget package and deploys to Oqtane wwwroot/modules folder when in Release mode

[RootPath]Server\
- [Owner].[Module]s.Server.csproj - server project
- Controllers\[Module]Controller.cs - API methods implemented using a REST pattern
- Manager\[Module]Manager.cs - implements optional module interfaces for features such as import/export of content
- Repository\I[Module]Repository.cs - interface for defining repository methods
- Repository\[Module]Respository.cs - implements repository interface methods for data access using EF Core
- Repository\[Module]Context.cs - provides a DB Context for data access
- Scripts\[Owner].[Module]s.1.0.0.sql - database schema definition script
- Scripts\[Owner].[Module]s.Uninstall.sql - database uninstall script
- wwwroot\Module.css - module style sheet

[RootPath]Shared\
- [Owner].[Module]s.csproj - shared project
- Models\[Module].cs - model definition

@code { public override List Resources => new List() { new Resource { ResourceType = ResourceType.Stylesheet, Url = ModulePath() + "Module.css" } }; List<[Module]> _[Module]s; protected override async Task OnInitializedAsync() { try { _[Module]s = await [Module]Service.Get[Module]sAsync(ModuleState.ModuleId); } catch (Exception ex) { await logger.LogError(ex, "Error Loading [Module] {Error}", ex.Message); AddModuleMessage("Error Loading [Module]", MessageType.Error); } } private async Task Delete([Module] [Module]) { try { await [Module]Service.Delete[Module]Async([Module].[Module]Id); await logger.LogInformation("[Module] Deleted {[Module]}", [Module]); _[Module]s = await [Module]Service.Get[Module]sAsync(ModuleState.ModuleId); StateHasChanged(); } catch (Exception ex) { await logger.LogError(ex, "Error Deleting [Module] {[Module]} {Error}", [Module], ex.Message); AddModuleMessage("Error Deleting [Module]", MessageType.Error); } } }