Files
NKC/NKC_WF/Controllers/PrintQueueConfController.cs
T
2020-02-17 10:24:02 +01:00

73 lines
1.9 KiB
C#

using Newtonsoft.Json;
using SteamWare;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web;
using System.Web.Http;
namespace NKC_WF.Controllers
{
public class PrintQueueConfController : ApiController
{
/// <summary>
/// Restituisce un array JSon x le conf delle code di stampa
/// GET: api/PrintQueue
/// </summary>
/// <returns>lista oggetto Json in formato SteamwareSDK.queueConf</returns>
public List<queueConf> Get()
{
List<queueConf> answ = new List<queueConf>();
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<List<queueConf>>(rawData);
}
catch(Exception exc)
{
Log.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;
}
#if false
// GET: api/PrintQueue/5
public string Get(int id)
{
return "value";
}
#endif
}
}