aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.CodeGeneration/Templates
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/Tango.CodeGeneration/Templates')
-rw-r--r--Software/Visual_Studio/Tango.CodeGeneration/Templates/EntityCodeFile.cshtml31
-rw-r--r--Software/Visual_Studio/Tango.CodeGeneration/Templates/TangoWebClientCodeFile.cshtml9
-rw-r--r--Software/Visual_Studio/Tango.CodeGeneration/Templates/TangoWebClientv2CodeFile.cshtml59
3 files changed, 94 insertions, 5 deletions
diff --git a/Software/Visual_Studio/Tango.CodeGeneration/Templates/EntityCodeFile.cshtml b/Software/Visual_Studio/Tango.CodeGeneration/Templates/EntityCodeFile.cshtml
index 950e24f79..76c035df9 100644
--- a/Software/Visual_Studio/Tango.CodeGeneration/Templates/EntityCodeFile.cshtml
+++ b/Software/Visual_Studio/Tango.CodeGeneration/Templates/EntityCodeFile.cshtml
@@ -19,6 +19,7 @@ using System.Linq;
using Tango.DAL.Remote.DB;
using Tango.Core;
using System.ComponentModel;
+using Tango.Core.CustomAttributes;
namespace Tango.BL.Entities
{
@@ -67,12 +68,32 @@ namespace Tango.BL.Entities
@(prop.IsForeignKey ? "[ForeignKey(\"" + prop.ForeignKeyName + "\")]" : "")
@(prop.XmlIgnore ? "[XmlIgnore]" : "")
@(prop.XmlIgnore ? "[JsonIgnore]" : "")
- @if (prop.RangeDescription != null)
+ @if (prop.PropertyExtension != null)
{
- <div>
- [Description("@(prop.RangeDescription.Description)")]
- [Range(@(prop.RangeDescription.Min),@(prop.RangeDescription.Max))]
- </div>
+ if (prop.PropertyExtension.HasDescription)
+ {
+ <div>
+ [Description("@(prop.PropertyExtension.Description)")]
+ </div>
+ }
+ if (prop.PropertyExtension.HasRange)
+ {
+ <div>
+ [Range(@(prop.PropertyExtension.Min),@(prop.PropertyExtension.Max))]
+ </div>
+ }
+ if (prop.PropertyExtension.HasStringFormat)
+ {
+ <div>
+ [StringFormat("@(prop.PropertyExtension.StringFormat)")]
+ </div>
+ }
+ if (prop.PropertyExtension.HasIndex)
+ {
+ <div>
+ [PropertyIndex(@(prop.PropertyExtension.Index))]
+ </div>
+ }
}
public @(prop.Construct || prop.Complex ? "virtual" : "") @(prop.Type) @(prop.Name)
{
diff --git a/Software/Visual_Studio/Tango.CodeGeneration/Templates/TangoWebClientCodeFile.cshtml b/Software/Visual_Studio/Tango.CodeGeneration/Templates/TangoWebClientCodeFile.cshtml
index 7d9ebc075..3918ce928 100644
--- a/Software/Visual_Studio/Tango.CodeGeneration/Templates/TangoWebClientCodeFile.cshtml
+++ b/Software/Visual_Studio/Tango.CodeGeneration/Templates/TangoWebClientCodeFile.cshtml
@@ -42,6 +42,15 @@ namespace @(model.Namespace)
}
+ /// <summary>
+ /// Initializes a new instance of the <see cref="@(model.Name)"/> class.
+ /// </summary>
+ /// <param name="cloned">Other instance.</param>
+ public @(model.Name)(@(model.Name) cloned) : base(cloned)
+ {
+
+ }
+
@foreach (var action in model.Actions)
{
<div>
diff --git a/Software/Visual_Studio/Tango.CodeGeneration/Templates/TangoWebClientv2CodeFile.cshtml b/Software/Visual_Studio/Tango.CodeGeneration/Templates/TangoWebClientv2CodeFile.cshtml
new file mode 100644
index 000000000..cfcc89716
--- /dev/null
+++ b/Software/Visual_Studio/Tango.CodeGeneration/Templates/TangoWebClientv2CodeFile.cshtml
@@ -0,0 +1,59 @@
+@{
+ Tango.CodeGeneration.TangoWebClientv2CodeFile model = Model as Tango.CodeGeneration.TangoWebClientv2CodeFile;
+}
+using System;
+using System.Threading.Tasks;
+using Tango.Web;
+
+namespace @(model.Namespace)
+{
+ /// <summary>
+ /// Represents a machine service @(model.ControllerName) web client.
+ /// </summary>
+ /// <seealso cref="Tango.Web.TangoWebClient" />
+ public abstract class @(model.Name) : TangoWebClientV2<@(model.LoginRequest), @(model.LoginResponse)>
+ {
+ /// <summary>
+ /// Initializes a new instance of the <see cref="@(model.Name)"/> class.
+ /// </summary>
+ /// <param name="address">The service address.</param>
+ /// <param name="token">Existing token.</param>
+ public @(model.Name)(String address, String token) : base(address, "@(model.ControllerName)", token)
+ {
+
+ }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="@(model.Name)"/> class.
+ /// </summary>
+ /// <param name="address">The service address.</param>
+ public @(model.Name)(String address) : this(address, null)
+ {
+
+ }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="@(model.Name)"/> class.
+ /// </summary>
+ /// <param name="cloned">Other instance.</param>
+ public @(model.Name)(@(model.Name) cloned) : base(cloned)
+ {
+
+ }
+
+ @foreach (var action in model.Actions)
+ {
+ <div>
+ /// <summary>
+ /// Executes the @(action.Name) action and returns @(action.Response).
+ /// </summary>
+ /// <returns></returns>
+ public Task<@(action.Response)> @(action.Name)(@(action.Request) request)
+ {
+ return Post<@(action.Request), @(action.Response)>("@(action.Name)", request);
+ }
+
+ </div>
+ }
+ }
+} \ No newline at end of file