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
}
}