Files
magman/MagMan.UI/Controllers/MaterialsController.cs
T

74 lines
2.5 KiB
C#

using MagMan.Data.Admin.DbModels;
using MagMan.Data.Admin.Services;
using MagMan.Data.Tenant.DbModels;
using MagMan.Data.Tenant.Services;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using NLog;
namespace MagMan.UI.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class MaterialsController : ControllerBase
{
/// <summary>
/// Classe per logging
/// </summary>
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
private MTAdminService MTAdminService { get; set; } = null!;
private static JsonSerializerSettings? JSSettings;
private TenantService TService { get; set; } = null!;
public MaterialsController(MTAdminService MTDataService, TenantService TDataService)
{
MTAdminService = MTDataService;
TService = TDataService;
// json serializer... FIX errore loop circolare https://www.ryadel.com/en/jsonserializationexception-self-referencing-loop-detected-error-fix-entity-framework-asp-net-core/
JSSettings = new JsonSerializerSettings()
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
};
Log.Info("Avviata classe MaterialsController");
}
/// <summary>
/// Controllo status Alive
/// GET: api/Keys/alive
/// </summary>
/// <returns></returns>
[HttpGet("alive")]
public string alive()
{
//Log.Debug("Chiamata alive");
return $"OK";
}
// GET api/Materials
[HttpGet]
public async Task<List<MaterialModel>> Get()
{
// se non ho chaive --> vuoto!
List<MaterialModel> ListRecords = new List<MaterialModel>();
await Task.Delay(100);
return ListRecords;
}
/// <summary>
/// Elenco Materiali dato RestToken
/// </summary>
/// <param name="id">Rest Token cliente</param>
/// <returns></returns>
// GET api/Materials/2cba60c7-7be4-40b1-aa0d-52e7c71fc1a7
[HttpGet("{id}")]
public async Task<List<MaterialModel>> Get(string id)
{
// in primis recupero codice chiave da token...
int nKey = await MTAdminService.MainKeyByToken(id);
// ora recupero direttametne i materiali
var ListRecords = await TService.MaterialGetAll(nKey);
return ListRecords;
}
}
}