Difference between revisions of "Sample Module"
(One intermediate revision by the same user not shown) | |||
Line 5: | Line 5: | ||
<b>Sample View Page - HelloWorld.cshtml</b> | <b>Sample View Page - HelloWorld.cshtml</b> | ||
− | <source lang=" | + | <source lang="Core"> |
@model Game.HelloWorldModel | @model Game.HelloWorldModel | ||
@{ | @{ |
Latest revision as of 00:09, 21 May 2020
This is an example of a module that can be installed onto your master which will work with TCAdmin.
Contents
Sample View Page
Sample View Page - HelloWorld.cshtml
@model Game.HelloWorldModel @{ Layout = this.GetTemplateFile("Shared/Main.cshtml", true); <script> $(document).ready(function () { document.title = "@TCAdmin.SDK.Web.MVC.Template.GetSelectedTemplateTitle() " + "Hello World!"; // Sets the page title $('.header-text').html("Hello World - A Sample Module") // Sets the page header }); </script> } @section head{ } @section sidebar{ @Html.Action("_PageIcons", "Service", new { id = Model.Service.ServiceId }) @*Adds the service buttons to the sidebar*@ } <br /> @Model.Message @*Displays the 'Hello World' message*@ <br /> <br /> @Model.ServiceStartedOn @*Displays information about the service startup time & process id*@
Sample Controller
Sample Controller - HelloWorldController.cs
using System.Web.Mvc; using TCAdmin.SDK.Web.MVC.Controllers; namespace Game { public class HelloWorldModel { public string Message { get; set; } public string ServiceStartedOn { get; set; } public TCAdmin.GameHosting.SDK.Objects.Service Service { get; set; } } public class HelloWorldController : BaseServiceController { [HttpGet] [ParentAction("Service", "Home")] public ActionResult Index(int id) { //Make sure the user has permission this feature EnforceFeaturePermission("FileManager"); var model = new HelloWorldModel(); //Gets the current service model.Service = TCAdmin.GameHosting.SDK.Objects.Service.GetSelectedService(); //Sets the message variable model.Message = "Hello World!"; //Gets information about the service startup model.ServiceStartedOn = string.Format($"{model.Service.ConnectionInfo} was started on {TCAdmin.SDK.Misc.Dates.UniversalTimeToCurrentTimeZone(model.Service.Status.StartTime)} with process id {model.Service.Status.ProcessId}"); return View("HelloWorld", model); } } }
Installing The Custom Module
How to install the module after compiling it with TCAdmin:
1. Copy SampleModule.dll to TCAdmin2\ControlPanel.MVC\bin-extensions
2. Copy HelloWorld.cshtml to ControlPanel.MVC\Views\[ThemeFolder]\Game\Service
3. Clear the contents of TCAdmin2\Cache and restart the monitor
4. You can then navigate to the module in your browser e.g http://127.0.0.1/Service/HelloWorld/1
Module Preview
What this module looks like: