parent
525abe200a
commit
2d38ebe3c1
@ -0,0 +1,33 @@
|
||||
using System.Linq;
|
||||
using Application.Domain.Entities;
|
||||
using Application.Models;
|
||||
using Infrastructure.Data;
|
||||
using Infrastructure.Extensions;
|
||||
using Infrastructure.Web.Mvc;
|
||||
using IoTShared.Controllers;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace IoTCenter.Areas.Admin.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
[Area(nameof(Admin))]
|
||||
public class DataController : CrudController<Data, DataSearchModel, EditDataModel, EditDataModel>
|
||||
{
|
||||
private readonly AjaxController _ajax;
|
||||
|
||||
public DataController(IRepository<Data> repo, AjaxController ajax) : base(repo)
|
||||
{
|
||||
this._ajax = ajax;
|
||||
}
|
||||
|
||||
public override IQueryable<Data> Query(DataSearchModel model, IQueryable<Data> query)
|
||||
{
|
||||
ViewData.SelectList(o => model.NodeId, () => this._ajax.GetNodeSelectList(model.NodeId));
|
||||
ViewData.SelectList(o => model.DeviceId, () => this._ajax.GetDeviceSelectList(model.NodeId.Value, model.DeviceId), model.NodeId.HasValue);
|
||||
return query.WhereIf(model.NodeId.HasValue, o => o.Device.NodeId == model.NodeId.Value)
|
||||
.WhereIf(model.DeviceId.HasValue, o => o.DeviceId == model.DeviceId.Value)
|
||||
.WhereIf(!string.IsNullOrEmpty(model.Keyword), o => o.Name.Contains(model.Keyword));
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
using Application.Domain.Entities;
|
||||
using Application.Models;
|
||||
using Infrastructure.Data;
|
||||
using Infrastructure.Web.Mvc;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace IoTCenter.Areas.Admin.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
[Area(nameof(Admin))]
|
||||
public class DeviceController : CrudController<Device, DeviceSearchMode, EditDeviceModel, EditDeviceModel>
|
||||
{
|
||||
public DeviceController(IRepository<Device> repo) : base(repo)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace UserCenter.Areas.Admin.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
[Area(nameof(Admin))]
|
||||
public class HomeController : Controller
|
||||
{
|
||||
public HomeController()
|
||||
{
|
||||
}
|
||||
|
||||
public IActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
@{
|
||||
ViewData["IsHomePage"] = true;
|
||||
}
|
||||
<h1>首页</h1>
|
@ -0,0 +1,24 @@
|
||||
<script>
|
||||
function clear() {
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
$(arguments[i]).find('option').not('[value=""]').remove();
|
||||
}
|
||||
}
|
||||
function update(url, id) {
|
||||
$.getJSON(url, function (data) {
|
||||
$.each(data, function (i, v) {
|
||||
$(id).append('<option value="' + v.Value + '">' + v.Text + '</option>');
|
||||
});
|
||||
});
|
||||
}
|
||||
$(function () {
|
||||
$('#NodeId').change(function () {
|
||||
var id = $(this).find(':selected').val();
|
||||
clear('#DeviceId');
|
||||
if (id) {
|
||||
var url = '@Url.Action("GetDeviceJson", "Ajax")?parentId=' + encodeURI(id);
|
||||
update(url,'#DeviceId');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
@ -0,0 +1,7 @@
|
||||
@inherits Infrastructure.Web.Mvc.Razor.MyRazorPage<TModel>
|
||||
@using Infrastructure.Application
|
||||
@using Infrastructure.Extensions
|
||||
@using Infrastructure.Data
|
||||
@using Application.Domain.Entities
|
||||
@using Application.Models
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
@ -0,0 +1,3 @@
|
||||
@{
|
||||
Layout = "_Layout";
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Application.Domain.Entities;
|
||||
using Infrastructure.Application;
|
||||
using Infrastructure.Data;
|
||||
using Infrastructure.Web.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SPService.Applicaiton.Models;
|
||||
|
||||
namespace FBeeService.Areas.Controllers
|
||||
{
|
||||
[Area("Admin")]
|
||||
public class HomeController : CrudController<Device, PagedListModel<EditGatewayModel>, EditGatewayModel, EditGatewayModel>
|
||||
{
|
||||
private readonly DeviceService _deviceService;
|
||||
|
||||
public HomeController(IRepository<Device> repo, DeviceService deviceService) : base(repo)
|
||||
{
|
||||
this._deviceService = deviceService;
|
||||
}
|
||||
|
||||
public override IActionResult Add(EditGatewayModel model)
|
||||
{
|
||||
var result = base.Add(model);
|
||||
this._deviceService.Execute();
|
||||
return result;
|
||||
}
|
||||
|
||||
public override IActionResult Edit(EditGatewayModel model)
|
||||
{
|
||||
var result = base.Edit(model);
|
||||
this._deviceService.Execute();
|
||||
return result;
|
||||
}
|
||||
|
||||
public override IActionResult Delete(List<Guid> list)
|
||||
{
|
||||
var result = base.Delete(list);
|
||||
this._deviceService.Execute();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
using System.Linq;
|
||||
using Application.Domain.Entities;
|
||||
using Application.Models;
|
||||
using Infrastructure.Data;
|
||||
using Infrastructure.Extensions;
|
||||
using Infrastructure.Web.Mvc;
|
||||
using IoTShared.Controllers;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace IoTCenter.Areas.Admin.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
[Area(nameof(Admin))]
|
||||
public class DataController : CrudController<Data, DataSearchModel, EditDataModel, EditDataModel>
|
||||
{
|
||||
private readonly AjaxController _ajax;
|
||||
|
||||
public DataController(IRepository<Data> repo, AjaxController ajax) : base(repo)
|
||||
{
|
||||
this._ajax = ajax;
|
||||
}
|
||||
|
||||
public override IQueryable<Data> Query(DataSearchModel model, IQueryable<Data> query)
|
||||
{
|
||||
ViewData.SelectList(o => model.NodeId, () => this._ajax.GetNodeSelectList(model.NodeId));
|
||||
ViewData.SelectList(o => model.DeviceId, () => this._ajax.GetDeviceSelectList(model.NodeId.Value, model.DeviceId), model.NodeId.HasValue);
|
||||
return query.WhereIf(model.NodeId.HasValue, o => o.Device.NodeId == model.NodeId.Value)
|
||||
.WhereIf(model.DeviceId.HasValue, o => o.DeviceId == model.DeviceId.Value)
|
||||
.WhereIf(!string.IsNullOrEmpty(model.Keyword), o => o.Name.Contains(model.Keyword));
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
using Application.Domain.Entities;
|
||||
using Application.Models;
|
||||
using Infrastructure.Data;
|
||||
using Infrastructure.Web.Mvc;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace IoTCenter.Areas.Admin.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
[Area(nameof(Admin))]
|
||||
public class DeviceController : CrudController<Device, DeviceSearchMode, EditDeviceModel, EditDeviceModel>
|
||||
{
|
||||
public DeviceController(IRepository<Device> repo) : base(repo)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace UserCenter.Areas.Admin.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
[Area(nameof(Admin))]
|
||||
public class HomeController : Controller
|
||||
{
|
||||
public HomeController()
|
||||
{
|
||||
}
|
||||
|
||||
public IActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
@{
|
||||
ViewData["IsHomePage"] = true;
|
||||
}
|
||||
<h1>首页</h1>
|
@ -0,0 +1,52 @@
|
||||
<section class="sidebar" style="height: auto;">
|
||||
<ul class="sidebar-menu" data-widget="tree">
|
||||
<li class="@GetClass("Home")"><a href="@Url.Action("Index","Home")"><i class="fa fa-circle-o"></i><span>首页</span></a></li>
|
||||
<li class="@GetClass("Configuration")"><a href="@Url.Action("Index","Configuration")"><i class="fa fa-circle-o"></i><span>网站配置</span></a></li>
|
||||
<li class="treeview @GetClass("User","Role","Permission")">
|
||||
<a href="javascript:;" class="dropdown-toggle">
|
||||
<i class="fa fa-list"></i>
|
||||
<span>权限管理</span>
|
||||
<span class="pull-right-container">
|
||||
<i class="fa fa-angle-left pull-right"></i>
|
||||
</span>
|
||||
</a>
|
||||
<ul class="treeview-menu">
|
||||
<li class="@GetClass("User")"><a href="@Url.Action("Index","User")"><i class="fa fa-circle-o"></i><span>用户管理</span></a></li>
|
||||
<li class="@GetClass("Role")"><a href="@Url.Action("Index","Role")"><i class="fa fa-circle-o"></i><span>角色管理</span></a></li>
|
||||
<li class="@GetClass("Permission")"><a href="@Url.Action("Index","Permission")"><i class="fa fa-circle-o"></i><span>权限管理</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="treeview @GetClass("Node","Device","Data","Api","Parameter","Sence","Command")">
|
||||
<a href="javascript:;" class="dropdown-toggle">
|
||||
<i class="fa fa-list"></i>
|
||||
<span>设备管理</span>
|
||||
<span class="pull-right-container">
|
||||
<i class="fa fa-angle-left pull-right"></i>
|
||||
</span>
|
||||
</a>
|
||||
<ul class="treeview-menu">
|
||||
<li class="@GetClass("Node")"><a href="@Url.Action("Index","Node")"><i class="fa fa-circle-o"></i><span>节点管理</span></a></li>
|
||||
<li class="@GetClass("Device")"><a href="@Url.Action("Index","Device")"><i class="fa fa-circle-o"></i><span>设备管理</span></a></li>
|
||||
<li class="@GetClass("Data")"><a href="@Url.Action("Index","Data")"><i class="fa fa-circle-o"></i><span>数据管理</span></a></li>
|
||||
<li class="@GetClass("Api")"><a href="@Url.Action("Index","Api")"><i class="fa fa-circle-o"></i><span>接口管理</span></a></li>
|
||||
<li class="@GetClass("Parameter")"><a href="@Url.Action("Index","Parameter")"><i class="fa fa-circle-o"></i><span>参数管理</span></a></li>
|
||||
<li class="@GetClass("Sence")"><a href="@Url.Action("Index","Sence")"><i class="fa fa-circle-o"></i><span>场景管理</span></a></li>
|
||||
<li class="@GetClass("Command")"><a href="@Url.Action("Index","Command")"><i class="fa fa-circle-o"></i><span>命令管理</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
@functions{
|
||||
public string GetClass(params string[] controllers)
|
||||
{
|
||||
if (controllers.Select(o => o.ToLower()).Contains(this.ViewContext.RouteData.Values["controller"].ToString().ToLower()))
|
||||
{
|
||||
if (controllers.Length > 1)
|
||||
{
|
||||
return "active open";
|
||||
}
|
||||
return "active";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
<script>
|
||||
function clear() {
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
$(arguments[i]).find('option').not('[value=""]').remove();
|
||||
}
|
||||
}
|
||||
function update(url, id) {
|
||||
$.getJSON(url, function (data) {
|
||||
$.each(data, function (i, v) {
|
||||
$(id).append('<option value="' + v.Value + '">' + v.Text + '</option>');
|
||||
});
|
||||
});
|
||||
}
|
||||
$(function () {
|
||||
$('#NodeId').change(function () {
|
||||
var id = $(this).find(':selected').val();
|
||||
clear('#DeviceId');
|
||||
if (id) {
|
||||
var url = '@Url.Action("GetDeviceJson", "Ajax")?parentId=' + encodeURI(id);
|
||||
update(url,'#DeviceId');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
@ -0,0 +1,7 @@
|
||||
@inherits Infrastructure.Web.Mvc.Razor.MyRazorPage<TModel>
|
||||
@using Infrastructure.Application
|
||||
@using Infrastructure.Extensions
|
||||
@using Infrastructure.Data
|
||||
@using Application.Domain.Entities
|
||||
@using Application.Models
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
@ -0,0 +1,3 @@
|
||||
@{
|
||||
Layout = "_Layout";
|
||||
}
|
@ -1,27 +1,25 @@
|
||||
using Application.Domain.Entities;
|
||||
using Infrastructure.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
|
||||
namespace ONVIFService.Controllers
|
||||
{
|
||||
public class HomeController : Controller
|
||||
{
|
||||
private readonly IRepository<Device> _cameraRepo;
|
||||
private readonly IHttpClientFactory _httpClientFactory;
|
||||
private readonly DeviceService _onvifService;
|
||||
|
||||
public HomeController(IHttpClientFactory httpClientFactory, DeviceService onvifService, IRepository<Device> cameraRepo)
|
||||
public HomeController(DeviceService onvifService, IRepository<Device> cameraRepo)
|
||||
{
|
||||
this._cameraRepo = cameraRepo;
|
||||
this._httpClientFactory = httpClientFactory;
|
||||
this._onvifService = onvifService;
|
||||
}
|
||||
|
||||
public IActionResult Index()
|
||||
{
|
||||
var model = this._cameraRepo.ReadOnlyTable().ToList();
|
||||
var model = this._cameraRepo.ReadOnlyTable().Include(o => o.Data).ToList();
|
||||
return View(model);
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
Loading…
Reference in new issue