using AppData; using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Web; using System.Web.Http; namespace NKC_WF.Controllers { public class BatchStatsController : ApiController { #region Protected Fields protected string dateFormat = "yyyyMMdd"; /// /// oggetto static/singleton per fare chiamate sul datalayer /// protected DataLayer DLMan = new DataLayer(); #endregion Protected Fields #region Private Methods /// /// Metodo effettivo recupero dati /// /// /// private List getDataFilt(int id) { List answ = new List(); var tabDati = DLMan.taBStats.getLast(id); // ciclo foreach (var item in tabDati.OrderBy(x => x.Takt)) { // prendo valore default = NumParts answ.Add(new chartJsTVal() { x = item.Takt, y = item.NumParts }); } // restituisco return answ; } /// /// Metodo effettivo recupero dati /// /// /// /// private List getDataFilt(int id, string PlotType) { List answ = new List(); var tabDati = DLMan.taBStats.getLast(id); DateTime startTime = DateTime.Now.AddYears(1); // ciclo foreach (var item in tabDati.OrderBy(x => x.Takt)) { //// converto in data il valore takt... primi 8 char //DateTime dataRif = DateTime.Today; //DateTime.TryParseExact(item.Takt.Substring(0, 8), dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dataRif); decimal value = 0; switch (PlotType) { case "Yeld": value = item.AvgYeld * 100; break; case "NumMat": value = item.NumMat; break; case "NumSheets": value = item.NumSheets; break; case "NumModel": value = item.NumModel; break; case "NumKit": value = item.NumKit; break; case "NumPainted": value = item.NumPainted; break; case "NumParts": default: value = item.NumParts; break; } answ.Add(new chartJsTVal() { x = item.Takt, y = value }); } // restituisco return answ; } #endregion Private Methods #region Public Methods // GET api/TempRil public string Get() { return "NA"; } /// /// Recupero dati x ultimi batch stats /// GET api/BatchStats/5 /// /// NUmLast /// public List Get(int id) { DateTime dtRif = DateTime.Today; // restituisco oggetto! return getDataFilt(id); } /// /// Recupero dati x statistiche ultimi batch /// GET api/BatchStats/50 /// /// Num record da recuperare DESC /// Tipo di grafico /// public List Get(int id, string PlotType) { List answ = new List(); answ = getDataFilt(id, PlotType); // restituisco oggetto! return answ; } #endregion Public Methods } }