@{
Tango.CodeGeneration.TangoWebClientv2CodeFile model = Model as Tango.CodeGeneration.TangoWebClientv2CodeFile;
}
using System;
using System.Threading.Tasks;
using Tango.Web;
namespace @(model.Namespace)
{
///
/// Represents a machine service @(model.ControllerName) web client.
///
///
public abstract class @(model.Name) : TangoWebClientV2<@(model.LoginRequest), @(model.LoginResponse)>
{
///
/// Initializes a new instance of the class.
///
/// The service address.
/// Existing token.
public @(model.Name)(String address, String token) : base(address, "@(model.ControllerName)", token)
{
}
///
/// Initializes a new instance of the class.
///
/// The service address.
public @(model.Name)(String address) : this(address, null)
{
}
///
/// Initializes a new instance of the class.
///
/// The service address.
/// The controller name.
public @(model.Name)(String address, String controller, String token) : base(address, controller, token)
{
}
///
/// Initializes a new instance of the class.
///
/// Other instance.
public @(model.Name)(@(model.Name) cloned) : base(cloned)
{
}
@foreach (var action in model.Actions)
{
///
/// Executes the @(action.Name) action and returns @(action.Response).
///
///
public Task<@(action.Response)> @(action.Name)(@(action.Request) request)
{
return Post<@(action.Request), @(action.Response)>("@(action.Name)", request);
}
}
}
}