Files
MoonPro.net/MP-MON/Controllers/MSEController.cs
T
Samuele E. Locatelli 4631bf78e6 Pulizia varia progetti
2018-08-04 12:19:59 +02:00

66 lines
1.7 KiB
C#

using MP_MON.Models;
using System;
using System.Linq;
using System.Web.Mvc;
using SteamWare;
using System.Data;
using Newtonsoft.Json;
using System.Collections.Generic;
namespace MP_MON.Controllers
{
public class MSEController : Controller
{
private MoonProEntities db = new MoonProEntities();
// GET: StatusMap
public ActionResult StatusMap(string baseCss)
{
int dataRefresh = 2000;
try
{
dataRefresh = Convert.ToInt32(System.Web.Configuration.WebConfigurationManager.AppSettings["dataRefreshMs"]);
}
catch
{ }
// cerco su REDIS...
string hMSE = MapoDb.DataLayer.hMSE();
string dataSer = memLayer.ML.getRSV(hMSE);
List<MappaStatoExpl> dati= new List<MappaStatoExpl>();
if (dataSer != "" && dataSer != null)
{
try
{
dati = JsonConvert.DeserializeObject<List<MappaStatoExpl>>(dataSer);
}
catch(Exception exc)
{
dati = db.stp_MSE_getData(dataRefresh).ToList();
logger.lg.scriviLog(string.Format("Recuperata MSE da DB{0}{1}", Environment.NewLine, exc));
}
}
else
{
// se non c'è rileggo...
dati = db.stp_MSE_getData(dataRefresh).ToList();
// serializzo
dataSer = JsonConvert.SerializeObject(dati);
// metto in redis
memLayer.ML.setRSV(hMSE, dataSer, memLayer.ML.CRI("MSE_cacheDuration"));
}
ViewBag.baseCss = baseCss;
return PartialView("_StatusMap", dati);
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
}
}