99 lines
3.3 KiB
C#
99 lines
3.3 KiB
C#
using Core;
|
|
using LiMan.APi.Data;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using NLog;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace LiMan.APi.Controllers
|
|
{
|
|
/// <summary>
|
|
/// Controller livello LICENZA
|
|
/// </summary>
|
|
[Route("api/licenza")]
|
|
[ApiController]
|
|
public class LicenzaController : ControllerBase
|
|
{
|
|
#region Private Fields
|
|
|
|
/// <summary>
|
|
/// Classe per logging
|
|
/// </summary>
|
|
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
|
|
|
#endregion Private Fields
|
|
|
|
#region Public Constructors
|
|
|
|
/// <summary>
|
|
/// Init generico
|
|
/// </summary>
|
|
/// <param name="DataService"></param>
|
|
public LicenzaController(ApiDataService DataService)
|
|
{
|
|
dataService = DataService;
|
|
Log.Info("Avviata classe LicenzaController");
|
|
}
|
|
|
|
#endregion Public Constructors
|
|
|
|
#region Protected Properties
|
|
|
|
/// <summary>
|
|
/// Dataservice x accesso DB
|
|
/// </summary>
|
|
protected ApiDataService dataService { get; set; }
|
|
|
|
#endregion Protected Properties
|
|
|
|
#region Public Methods
|
|
|
|
/// GET api/licenza/id
|
|
/// <summary>
|
|
/// Recupera dati Licenza Applicativa (id licenza + num utenze) dati cliente + programma + licenza ATTUALE
|
|
/// </summary>
|
|
/// <param name="id">Codice cliente/Installazione</param>
|
|
/// <param name="CodApp">Codice Applicazione</param>
|
|
/// <param name="Chiave">Chiave licenza da validare</param>
|
|
/// <returns></returns>
|
|
[HttpGet("{id}")]
|
|
public async Task<List<DB.DTO.ApplicativoDTO>> Get(string id, string CodApp, string Chiave)
|
|
{
|
|
var result = await dataService.LicenzeSearch(id, CodApp, Chiave, false);
|
|
await dataService.recordCall(id, CodApp, $"GET:api/licenza:{Chiave}");
|
|
return result;
|
|
}
|
|
|
|
/// POST api/licenza
|
|
/// <summary>
|
|
/// Recupera dati Licenza Applicativa (id licenza + num utenze) dati cliente + programma + licenza ATTUALE
|
|
/// </summary>
|
|
/// <param name="AppInfo">Info licenza in formato LicenseCoord</param>
|
|
/// <returns></returns>
|
|
[HttpPost()]
|
|
public async Task<List<DB.DTO.ApplicativoDTO>> Post([FromBody] LicenseCoord AppInfo)
|
|
{
|
|
var result = await dataService.LicenzeSearch(AppInfo.CodInst, AppInfo.CodApp, AppInfo.MasterKey, false);
|
|
await dataService.recordCall(AppInfo.CodInst, AppInfo.CodApp, $"POST:api/licenza:{AppInfo.MasterKey}");
|
|
return result;
|
|
}
|
|
|
|
/// POST api/licenza/refreshPayload
|
|
/// <summary>
|
|
/// Effettua refresh del payload calcolato ed aggiorna record ed infine lo restituisce
|
|
/// </summary>
|
|
/// <param name="AppInfo">Info licenza in formato LicenseCoord</param>
|
|
[HttpPost("refreshPayload")]
|
|
public async Task<DB.DTO.ApplicativoDTO> RefreshPayload([FromBody] LicenseCoord AppInfo)
|
|
{
|
|
var done = await dataService.LicenzaRefreshPayload(AppInfo);
|
|
await dataService.recordCall(AppInfo.CodInst, AppInfo.CodApp, $"POST:api/licenza/refreshPayload:{AppInfo.MasterKey}");
|
|
return done;
|
|
}
|
|
|
|
#endregion Public Methods
|
|
}
|
|
} |