using Application.Domain.Entities; using Infrastructure.Data; using Infrastructure.Web; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using System; using System.Linq; namespace IoTNode.Controllers { [Device] public class HomeController : BaseController { private readonly IRepository _nodeRepo; private readonly IRepository _deviceRepo; public HomeController(IRepository nodeRepo, IRepository deviceRepo) { this._nodeRepo = nodeRepo; this._deviceRepo = deviceRepo; } [Authorize] public IActionResult Index() { var model = this._deviceRepo.ReadOnlyTable().Include(o => o.Node).Include(o => o.Product).ToList(); return View(model); } public IActionResult GetNode(Guid id) { var model = this._nodeRepo.ReadOnlyTable() .Include(o => o.Scenes) .Include(o => o.Devices).ThenInclude(o => o.Data) .FirstOrDefault(o => o.Id == id); return Json(model); } } }