using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using MP.SPEC.Data; using Newtonsoft.Json; using NLog; using System.Xml; namespace MP.SPEC.Controllers { [Route("api/[controller]")] [ApiController] [AllowAnonymous] public class RecipeController : ControllerBase { #region Public Constructors public RecipeController(IConfiguration configuration, MpDataService DataService) { Log.Info("Starting RecipeController"); _configuration = configuration; DService = DataService; Log.Info("Avviata classe RecipeController"); } #endregion Public Constructors #region Public Methods [HttpGet("GetRecipe")] public async Task GetRecipe(int idxPODL) { string answ = ""; var reqRecipe = await DService.RecipeGetByPODL(idxPODL); if (reqRecipe != null) { answ = DService.CalcRecipe(reqRecipe); } return answ; } [HttpGet("GetRecipeXML")] public async Task GetRecipeXML(int idxPODL) { string answ = ""; // recupero versione json string rawData = await GetRecipe(idxPODL); if (!string.IsNullOrEmpty(rawData)) { // aggiungo root node? XmlDocument doc = (XmlDocument)(JsonConvert.DeserializeXmlNode(rawData) ?? new XmlDocument()); answ += doc.InnerXml; } return answ; } #endregion Public Methods #region Protected Properties /// /// Dataservice x accesso DB /// protected MpDataService DService { get; set; } #endregion Protected Properties #region Private Fields private static IConfiguration _configuration = null!; private static Logger Log = LogManager.GetCurrentClassLogger(); #endregion Private Fields } }