93 lines
2.9 KiB
C#
93 lines
2.9 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 TICKET
|
|
/// </summary>
|
|
[Route("api/ticket")]
|
|
[ApiController]
|
|
public class TicketController : 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 TicketController(ApiDataService DataService)
|
|
{
|
|
dataService = DataService;
|
|
Log.Info("Avviata classe TicketController");
|
|
}
|
|
|
|
#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/ticket/id
|
|
/// <summary>
|
|
/// Recupera elenco applicativi dati cliente
|
|
/// </summary>
|
|
/// <param name="id">Codice cliente/Installazione</param>
|
|
/// <param name="CodApp">Codice Applicazione</param>
|
|
/// <param name="Chiave">Master Key</param>
|
|
/// <returns></returns>
|
|
[HttpGet("{id}")]
|
|
public async Task<List<DB.DBModels.TicketModel>> Get(string id, string CodApp, string Chiave)
|
|
{
|
|
var result = await dataService.TicketByCliente(id, CodApp, Chiave);
|
|
await dataService.recordCall(id, CodApp, $"GET:api/ticket:{Chiave}");
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Richiesta di registrazione ticket supporto
|
|
/// </summary>
|
|
/// <param name="CurrRequest">Obj Richiesta</param>
|
|
// POST api/ticket/sendReq
|
|
[HttpPost("sendReq")]
|
|
public async Task<List<DB.DBModels.TicketModel>> sendReq([FromBody] SupportRequest CurrRequest)
|
|
{
|
|
List<DB.DBModels.TicketModel> result = new List<DB.DBModels.TicketModel>();
|
|
// controllo valori
|
|
if (CurrRequest.IsValid)
|
|
{
|
|
// registro richiesta
|
|
var insRes = await dataService.TicketAdd(CurrRequest);
|
|
}
|
|
// restituisco richieste aperte
|
|
result = await dataService.TicketByCliente(CurrRequest.CodInst, CurrRequest.CodApp, CurrRequest.MasterKey);
|
|
await dataService.recordCall(CurrRequest.CodInst, CurrRequest.CodApp, $"POST:api/ticket/sendReq:{CurrRequest.MasterKey}");
|
|
return result;
|
|
}
|
|
|
|
#endregion Public Methods
|
|
}
|
|
} |