Former-commit-id: dad5d6b5ce34ff24de8f3940650652e82bd94ece
TangShanKaiPing
wanggang 5 years ago
parent cf623bf0af
commit d8683d5703

1
.gitignore vendored

@ -1,2 +1,3 @@
.vs
.svn
~$*.xlsx

File diff suppressed because it is too large Load Diff

@ -1,8 +1,10 @@
using Infrastructure.Domain;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace IoTCenter.Application.Domain
{
[Display(Name = "用户")]
public class Organ : BaseEntity
{
public string Name { get; set; }

@ -0,0 +1,23 @@
using Infrastructure.Application;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace IoTCenter.Application.Models
{
[Display(Name = "机构")]
public class EditOrganModel : EditModel
{
[Display(Name = "机构名称")]
[Required(ErrorMessage = nameof(RequiredAttribute))]
public string Name { get; set; }
[Display(Name = "机构编号")]
[Required(ErrorMessage = nameof(RequiredAttribute))]
public string Number { get; set; }
[Display(Name = "节点")]
[DataType("MultiSelectList")]
public List<Guid> Nodes { get; set; } = new List<Guid>();
}
}

@ -0,0 +1,64 @@
using Infrastructure.Application;
using Infrastructure.Data;
using Infrastructure.Extensions;
using Infrastructure.Web.Mvc;
using IoT.Shared.Areas.Admin.Controlls;
using IoTCenter.Application.Domain;
using IoTCenter.Application.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System.Linq;
namespace IoTCenter.Areas.Admin.Controllers
{
[Authorize]
[Area(nameof(Admin))]
public class OrganController : CrudController<Organ, PagedListModel<EditOrganModel>, EditOrganModel, EditOrganModel>
{
private readonly AjaxController _ajax;
public OrganController(IRepository<Organ> repo, AjaxController ajax) : base(repo)
{
this._ajax = ajax;
}
public override IQueryable<Organ> Include(IQueryable<Organ> query)
{
return query.Include(o => o.OrganNodes).ThenInclude(o => o.Node);
}
public override void ToDisplayModel(Organ entity, EditOrganModel model)
{
model.Nodes = entity.OrganNodes.Select(o => o.NodeId).ToList();
entity.OrganNodes.ForEach(o => ViewData.Add(o.NodeId, o.Node.Name));
}
public override void ToEditModel(Organ entity, EditOrganModel model)
{
if (entity != null)
{
model.Nodes = entity.OrganNodes.Select(o => o.NodeId).ToList();
}
this.ViewData.MultiSelectList(o => model.Nodes, () => this._ajax.GetNodeMultiSelectList(model.Nodes));
}
public override void ToEntity(EditOrganModel model, Organ entity)
{
foreach (var id in entity.OrganNodes.Select(o => o.NodeId).ToList())
{
if (!model.Nodes.Any(o => o == id))
{
entity.OrganNodes.RemoveAll(o => o.NodeId == id);
}
}
foreach (var id in model.Nodes)
{
if (!entity.OrganNodes.Any(o => o.NodeId == id))
{
entity.OrganNodes.Add(new OrganNode { NodeId = id });
}
}
}
}
}

@ -4,12 +4,13 @@
<li class="nav-item"><a class="nav-link @GetClass("User")" href="@Url.Action("Index","User")"><i class=" nav-icon far fa-user"></i><p>用户管理</p></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Role")" href="@Url.Action("Index","Role")"><i class="nav-icon ion ion-md-glasses"></i><p>角色管理</p></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Permission")" href="@Url.Action("Index","Permission")"><i class="nav-icon fas fa-key"></i><p>权限管理</p></a></li>
<li class="nav-item"><a class="nav-link @GetClass("NodeCategory")" href="@Url.Action("Index","NodeCategory")"><i class="nav-icon fa fa-cubes"></i><span>节点分类管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Category")" href="@Url.Action("Index","Category")"><i class="nav-icon fa fa-cubes"></i><span>产品分类管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Product")" href="@Url.Action("Index","Product")"><i class="nav-icon fa fa-leaf"></i><span>产品管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Api")" href="@Url.Action("Index","Api")"><i class="nav-icon fa fa-plug"></i><span>接口管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Parameter")" href="@Url.Action("Index","Parameter")"><i class="nav-icon far fa-circle"></i><span>参数管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Node")" href="@Url.Action("Index","Node")"><i class="nav-icon fa fa-home"></i><span>节点管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("NodeCategory")" href="@Url.Action("Index","NodeCategory")"><i class="nav-icon fa fa-cubes"></i><span>节点分类管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Organ")" href="@Url.Action("Index","Organ")"><i class="nav-icon fa fa-home"></i><span>节点机构管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Device")" href="@Url.Action("Index","Device")"><i class="nav-icon fa fa-tv"></i><span>设备管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("Data")" href="@Url.Action("Index","Data")"><i class="nav-icon fa fa-database"></i><span>数据管理</span></a></li>
<li class="nav-item"><a class="nav-link @GetClass("LiveRecord")" href="@Url.Action("Index","LiveRecord")"><i class="nav-icon fa fa-camera"></i><span>回放管理</span></a></li>

@ -1,4 +1,4 @@
using System.Reflection;
[assembly: AssemblyVersion("1.0.0.*")]
[assembly: AssemblyInformationalVersion("1.0.0.429")]
[assembly: AssemblyInformationalVersion("1.0.0.4291")]
Loading…
Cancel
Save