Files
limanapp/LiMan.Api/Controllers/ReleaseController.cs
T

99 lines
3.1 KiB
C#

using LiMan.APi.Data;
using LiMan.DB.DTO;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using NLog;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace LiMan.APi.Controllers
{
/// <summary>
/// Controller gestione RELEASE applicativi
/// </summary>
[Route("api/release")]
[ApiController]
public class ReleaseController : ControllerBase
{
#region Public Constructors
/// <summary>
/// Init generico
/// </summary>
/// <param name="DataService"></param>
public ReleaseController(ApiDataService DataService)
{
dataService = DataService;
Log.Info("Avviata classe ReleaseController");
}
#endregion Public Constructors
#region Public Methods
/// <summary>
/// Recupera elenco dati licenza Applicativi (completo)
/// GET api/Release/EgtBW
/// </summary>
/// <param name="id">Codice Applicazione</param>
/// <returns></returns>
[HttpGet("{id}")]
public async Task<List<ReleaseDTO>> Get(string id)
{
var result = await dataService.ReleaseGetByApp(id);
await dataService.recordCall(id, id, $"GET:api/Release/{id}");
return result;
}
/// <summary>
/// Recupera elenco dati licenza Applicativi data versione minima
/// GET api/Release/EgtBW
/// </summary>
/// <param name="id">Codice Applicazione</param>
/// <param name="VersMin">Versione minima richiesta (attuale)</param>
/// <returns></returns>
[HttpGet("filt/{id}")]
public async Task<List<ReleaseDTO>> GetFilt(string id, string VersMin)
{
var result = await dataService.ReleaseGetByAppVers(id, VersMin);
await dataService.recordCall(id, id, $"GET:api/Release/filt/{id}");
return result;
}
/// <summary>
/// Recupera elenco dati licenza Applicativi data versione minima + vers limite
/// GET api/Release/EgtBW
/// </summary>
/// <param name="id">Codice Applicazione</param>
/// <param name="VersMin">Versione minima richiesta (attuale)</param>
/// <param name="VersMax">Versione massima consentita</param>
/// <returns></returns>
[HttpGet("filtLimit/{id}")]
public async Task<List<ReleaseDTO>> GetFiltLimit(string id, string VersMin, string VersMax)
{
var result = await dataService.ReleaseGetByAppVersLimit(id, VersMin, VersMax);
await dataService.recordCall(id, id, $"GET:api/Release/filt/{id}");
return result;
}
#endregion Public Methods
#region Protected Properties
/// <summary>
/// Dataservice x accesso DB
/// </summary>
protected ApiDataService dataService { get; set; }
#endregion Protected Properties
#region Private Fields
/// <summary>
/// Classe per logging
/// </summary>
private static Logger Log = LogManager.GetCurrentClassLogger();
#endregion Private Fields
}
}