using Newtonsoft.Json; using SteamWare; using SteamWare.Logger; using System; using System.Collections.Generic; using System.IO; using System.Web; using System.Web.Http; namespace NKC_WF.Controllers { public class PrintQueueConfController : ApiController { #region Public Methods /// /// Restituisce un array JSon x le conf delle code di stampa /// GET: api/PrintQueueConf /// /// lista oggetto Json in formato SteamwareSDK.queueConf public List Get() { List answ = new List(); string dirPath = HttpContext.Current.Server.MapPath("~/Reports/"); string nomeFile = "queueConf.json"; bool fileExist = fileMover.obj.fileExist(dirPath, nomeFile); if (fileExist) { string rawData = File.ReadAllText($"{dirPath}\\{nomeFile}"); if (!string.IsNullOrEmpty(rawData)) { try { answ = JsonConvert.DeserializeObject>(rawData); } catch (Exception exc) { Logging.Instance.Error(exc, "Eccezione in decodifica file conf printQueue"); } } } // se vuoto... creo! if (answ.Count == 0) { queueConf currConf; string outForm = "EMF"; string pagWidth = "8.5in"; string pagHeigth = "11in"; string margin = "0.5in"; devInfoParam currDevInfoParam = new devInfoParam(outForm, pagHeigth, pagWidth, margin, margin, margin, margin); currConf = new queueConf() { name = "default", template = "missing.rdlc", printerName = "Microsoft Print to PDF", deviceInfoParam = currDevInfoParam }; answ.Add(currConf); } return answ; } #endregion Public Methods } }