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 /// /// Metodo effettivo recupero dati /// /// /// /// /// private static List getDataFilt(int id, int numRec, DateTime dtRif) { List answ = new List(); // 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>(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 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 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 } }