Former-commit-id: 3c6a538014d7be3a393a7efbafab97ed65549e62
TangShanKaiPing
wanggang 6 years ago
parent 4492d21c45
commit 797d572745

@ -81,15 +81,18 @@ namespace IoT.UI.Shard
modelBuilder.Entity<UserRole>().HasIndex(o => new { o.UserId, o.RoleId }).IsUnique();
modelBuilder.Entity<RolePermission>().HasIndex(o => new { o.RoleId, o.PermissionId }).IsUnique();
//
modelBuilder.Entity<Node>().HasIndex(o => o.Number).IsUnique();
modelBuilder.Entity<Category>().HasIndex(o => o.Number).IsUnique();
modelBuilder.Entity<Node>().HasIndex(o => o.Number).IsUnique();
modelBuilder.Entity<Node>().Property(o => o.Name).IsRequired();
modelBuilder.Entity<Node>().Property(o => o.Number).IsRequired();
modelBuilder.Entity<DeviceInfo>().HasIndex(o => o.Number).IsUnique();
modelBuilder.Entity<Api>().HasOne(o => o.Info).WithMany(o => o.Apis).HasForeignKey(o => o.InfoId);
modelBuilder.Entity<Device>().HasOne(o => o.Category).WithMany(o => o.Devices).HasForeignKey(o => o.CategoryId);
modelBuilder.Entity<Device>().HasOne(o => o.Info).WithMany(o => o.Devices).HasForeignKey(o => o.InfoId);
modelBuilder.Entity<Device>().HasOne(o => o.Node).WithMany(o => o.Devices).HasForeignKey(o => o.NodeId);
modelBuilder.Entity<Device>().HasOne(o => o.Node).WithMany(o => o.Devices).HasForeignKey(o => o.NodeId).OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<Data>().HasOne(o => o.Device).WithMany(o => o.Data).HasForeignKey(o => o.DeviceId);
modelBuilder.Entity<Parameter>().HasOne(o => o.Api).WithMany(o => o.Parameters).HasForeignKey(o => o.ApiId);
modelBuilder.Entity<Scene>().HasOne(o => o.Node).WithMany(o => o.Scenes).HasForeignKey(o => o.NodeId);
modelBuilder.Entity<Command>().HasOne(o => o.Scene).WithMany(o => o.Commands).HasForeignKey(o => o.SceneId);
modelBuilder.Entity<Command>().HasOne(o => o.Api).WithMany(o => o.Commands).HasForeignKey(o => o.ApiId);
modelBuilder.Entity<Command>().HasOne(o => o.Device).WithMany(o => o.Commands).HasForeignKey(o => o.DeviceId);

@ -167,8 +167,10 @@ namespace FBeeService
Icon = "gateway",
CategoryNumber = "0",
InfoNumber = deviceInfoNumber,
InfoId = deviceInfo.Id
InfoId = deviceInfo.Id,
};
device.ConnectId = this._configuration["connectId"];
device.NodeNumber = this._configuration["node.Number"];
deviceRepo.Add(device);
}
device.Ip = ip;

@ -1,16 +1,10 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Application.Domain.Entities;
using Application.Models;
using Application.Services;
using Infrastructure.Application;
using Infrastructure.Data;
using Infrastructure.Web.Mvc;
using IoTShared;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.SignalR;
namespace IoTCenter.Areas.Admin.Controllers
{
@ -18,36 +12,8 @@ namespace IoTCenter.Areas.Admin.Controllers
[Area(nameof(Admin))]
public class NodeController : CrudController<Node, PagedListModel<EditNodeModel>, EditNodeModel, EditNodeModel>
{
private readonly IRepository<Node> _repo;
private readonly IHubContext<PageHub> _pageHubContext;
private readonly INodeService _nodeService;
public NodeController(IRepository<Node> repo, IHubContext<PageHub> pageHubContext, INodeService nodeService) : base(repo)
{
this._repo = repo;
this._pageHubContext = pageHubContext;
this._nodeService = nodeService;
}
public override IActionResult Edit(EditNodeModel model)
{
if (ModelState.IsValid)
{
this._pageHubContext.Clients.Group(model.Number).SendAsync(nameof(INodeService.EditNode), model);
return RedirectTo();
}
ModelState.AddModelError("", "服务器出现异常,请稍后重试");
return View(model);
}
public override IActionResult Delete(List<Guid> list)
public NodeController(IRepository<Node> repo) : base(repo)
{
foreach (var id in list)
{
var model = this._repo.ReadOnlyTable().FirstOrDefault(o => o.Id == id);
this._pageHubContext.Clients.Group(model.Number).SendAsync(nameof(INodeService.DeleteNode), id);
}
return RedirectTo();
}
}
}

@ -104,6 +104,7 @@ namespace IoTCenter.Services
if (device == null)
{
device = new Device().Update(newDevice);
device.DisplayName = device.Name;
device.InfoId = deviceInfo.Id;
device.CategoryId = category.Id;
device.NodeId = node.Id;

Loading…
Cancel
Save