using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Threading.Tasks; using Applications.UniversalApi_WebConsole_App.Models.OnlineMonitor; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; namespace Applications.UniversalApi_WebConsole_App.Controllers { public class OnlineMonitorController : Controller { public OnlineMonitorController(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } public IActionResult Index(string tab) { var onlineMonitorInformations = GetOnlineMonitorInfo(tab); return View(onlineMonitorInformations); } private OnlineMonitorInfo GetOnlineMonitorInfo(string tab) { var onlineMonitorInfo = new OnlineMonitorInfo(); if (!string.IsNullOrEmpty(tab)) { onlineMonitorInfo.NavigationInfo = new PageNavigationInfo() {CurrentTab = (Operation)Enum.Parse(typeof(Operation), tab),Page = 1}; if ((Operation) Enum.Parse(typeof(Operation), tab) == Operation.ChartView) { onlineMonitorInfo.QueryInformation = new QueryInfo(){ OptionalCriteria = Enum.GetNames(typeof(Criteria)).ToList()}; } } else { onlineMonitorInfo.NavigationInfo = new PageNavigationInfo() { CurrentTab = Operation.PumpView, Page = 1}; } onlineMonitorInfo.mqttConnectionString = Configuration.GetConnectionString("MQTTConectionString"); return onlineMonitorInfo; } public IActionResult Nozzles() { return View("Nozzles",GetOnlineMonitorInfo("NozzleView")); } public IActionResult Chart() { return View("Chart", GetOnlineMonitorInfo("ChartView")); } public IActionResult Upload() { return View("Upload"); } public IActionResult Pumps() { return View("pumps", GetOnlineMonitorInfo("")); } } }