85 lines
2.5 KiB
C#
85 lines
2.5 KiB
C#
using GPW_data;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Web.Http;
|
|
|
|
namespace GPW_Commesse.Controllers
|
|
{
|
|
public class TempRilController : ApiController
|
|
{
|
|
#region Private Methods
|
|
|
|
/// <summary>
|
|
/// Metodo effettivo recupero dati
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <param name="numRec"></param>
|
|
/// <param name="dtRif"></param>
|
|
/// <returns></returns>
|
|
private static List<chartJsTSerie> getDataFilt(int id, int numRec, DateTime dtRif)
|
|
{
|
|
List<chartJsTSerie> answ = new List<chartJsTSerie>();
|
|
|
|
// cerco su redis...
|
|
string histTemp = SteamWare.memLayer.ML.redHash($"Temp:Ril:{id}_{dtRif:yyyyMMdd}_{numRec}");
|
|
string rawData = SteamWare.memLayer.ML.getRSV(histTemp);
|
|
if (!string.IsNullOrEmpty(rawData))
|
|
{
|
|
answ = JsonConvert.DeserializeObject<List<chartJsTSerie>>(rawData);
|
|
}
|
|
else
|
|
{
|
|
try
|
|
{
|
|
var tabDati = DataProxy.DP.taRT.getByUserPeriod(id, dtRif, numRec);
|
|
// ciclo
|
|
foreach (var item in tabDati)
|
|
{
|
|
answ.Add(new chartJsTSerie() { x = item.dtRilievo, y = item.tempRil });
|
|
}
|
|
// salvo
|
|
rawData = JsonConvert.SerializeObject(answ);
|
|
SteamWare.memLayer.ML.setRSV(histTemp, rawData, 5);
|
|
}
|
|
catch
|
|
{ }
|
|
}
|
|
// restituisco
|
|
return answ;
|
|
}
|
|
|
|
#endregion Private Methods
|
|
|
|
#region Public Methods
|
|
|
|
// GET api/TempRil
|
|
public string Get()
|
|
{
|
|
return "NA";
|
|
}
|
|
|
|
// GET api/TempRil/5
|
|
public List<chartJsTSerie> Get(int id)
|
|
{
|
|
int numRec = 0;
|
|
DateTime dtRif = DateTime.Today;
|
|
// restituisco oggetto!
|
|
return getDataFilt(id, numRec, dtRif);
|
|
}
|
|
|
|
// GET api/TempRil/5?date=2020-09-01&numRec=10
|
|
public List<chartJsTSerie> Get(int id, string date, int numRec)
|
|
{
|
|
DateTime dtRif = DateTime.Today;
|
|
DateTime.TryParse(date, out dtRif);
|
|
// restituisco oggetto!
|
|
return getDataFilt(id, numRec, dtRif);
|
|
}
|
|
|
|
#endregion Public Methods
|
|
}
|
|
} |