using AppData; using Newtonsoft.Json; using NKC_SDK; using SteamWare; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Web.Http; namespace NKC_WF.Controllers { public class SheetStatsController : ApiController { #region Protected Fields /// /// 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.taSP.GetData(id); DateTime startTime = DateTime.Now.AddYears(1); // ciclo foreach (var item in tabDati) { if (item.PrevTime < startTime) { startTime = item.PrevTime; } answ.Add(new chartJsTSerie() { x = item.PrevTime, y = item.NumParts }); } // restituisco return answ; } /// /// Metodo effettivo recupero dati /// /// /// /// private List getDataFilt(int id, int maxHour) { List answ = new List(); var tabDati = DLMan.taSP.GetData(id); DateTime startTime = DateTime.Now.AddYears(1); // ciclo foreach (var item in tabDati) { if (item.PrevTime < startTime) { startTime = item.PrevTime; } answ.Add(new chartJsTSerie() { x = item.PrevTime, y = item.NumParts }); if (item.PrevTime > startTime.AddHours(maxHour)) { break; } } // restituisco return answ; } #endregion Private Methods #region Public Methods // GET api/TempRil public string Get() { return "NA"; } /// /// Recupero dati x batch selezionato /// GET api/SheetStats/5 /// /// BatchID /// public List Get(int id) { DateTime dtRif = DateTime.Today; // restituisco oggetto! return getDataFilt(id); } /// /// Recupero dati x batch selezionato /// GET api/SheetStats/5 /// /// BatchID /// num max ore da mostrare /// public List Get(int id, int MaxHour) { List answ = new List(); // se maxHour < 0 --> mostro tutto if (MaxHour < 0) { answ = getDataFilt(id); } else { answ = getDataFilt(id, MaxHour); } // restituisco oggetto! return answ; } #endregion Public Methods } }