From 797d5727458b1e657e5de95f24c92ee1fc92779f Mon Sep 17 00:00:00 2001 From: wanggang <76527413@qq.com> Date: Fri, 12 Jul 2019 18:34:19 +0800 Subject: [PATCH] update Former-commit-id: 3c6a538014d7be3a393a7efbafab97ed65549e62 --- projects/IoT/IoT.Shared/IoTServiceStartup.cs | 7 ++-- .../Infrastructure/DeviceService.cs | 4 ++- .../Admin/Controllers/IoT/NodeController.cs | 36 +------------------ projects/IoTCenter/Services/PageHub.cs | 1 + 4 files changed, 10 insertions(+), 38 deletions(-) diff --git a/projects/IoT/IoT.Shared/IoTServiceStartup.cs b/projects/IoT/IoT.Shared/IoTServiceStartup.cs index f3eb1bcd..806e38a1 100644 --- a/projects/IoT/IoT.Shared/IoTServiceStartup.cs +++ b/projects/IoT/IoT.Shared/IoTServiceStartup.cs @@ -81,15 +81,18 @@ namespace IoT.UI.Shard modelBuilder.Entity().HasIndex(o => new { o.UserId, o.RoleId }).IsUnique(); modelBuilder.Entity().HasIndex(o => new { o.RoleId, o.PermissionId }).IsUnique(); // - modelBuilder.Entity().HasIndex(o => o.Number).IsUnique(); modelBuilder.Entity().HasIndex(o => o.Number).IsUnique(); + modelBuilder.Entity().HasIndex(o => o.Number).IsUnique(); + modelBuilder.Entity().Property(o => o.Name).IsRequired(); + modelBuilder.Entity().Property(o => o.Number).IsRequired(); modelBuilder.Entity().HasIndex(o => o.Number).IsUnique(); modelBuilder.Entity().HasOne(o => o.Info).WithMany(o => o.Apis).HasForeignKey(o => o.InfoId); modelBuilder.Entity().HasOne(o => o.Category).WithMany(o => o.Devices).HasForeignKey(o => o.CategoryId); modelBuilder.Entity().HasOne(o => o.Info).WithMany(o => o.Devices).HasForeignKey(o => o.InfoId); - modelBuilder.Entity().HasOne(o => o.Node).WithMany(o => o.Devices).HasForeignKey(o => o.NodeId); + modelBuilder.Entity().HasOne(o => o.Node).WithMany(o => o.Devices).HasForeignKey(o => o.NodeId).OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity().HasOne(o => o.Device).WithMany(o => o.Data).HasForeignKey(o => o.DeviceId); modelBuilder.Entity().HasOne(o => o.Api).WithMany(o => o.Parameters).HasForeignKey(o => o.ApiId); + modelBuilder.Entity().HasOne(o => o.Node).WithMany(o => o.Scenes).HasForeignKey(o => o.NodeId); modelBuilder.Entity().HasOne(o => o.Scene).WithMany(o => o.Commands).HasForeignKey(o => o.SceneId); modelBuilder.Entity().HasOne(o => o.Api).WithMany(o => o.Commands).HasForeignKey(o => o.ApiId); modelBuilder.Entity().HasOne(o => o.Device).WithMany(o => o.Commands).HasForeignKey(o => o.DeviceId); diff --git a/projects/IoT/IoTServices/FBeeService/Infrastructure/DeviceService.cs b/projects/IoT/IoTServices/FBeeService/Infrastructure/DeviceService.cs index ebd16860..9be9f1e5 100644 --- a/projects/IoT/IoTServices/FBeeService/Infrastructure/DeviceService.cs +++ b/projects/IoT/IoTServices/FBeeService/Infrastructure/DeviceService.cs @@ -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; diff --git a/projects/IoTCenter/Areas/Admin/Controllers/IoT/NodeController.cs b/projects/IoTCenter/Areas/Admin/Controllers/IoT/NodeController.cs index bde690f8..374e03f3 100644 --- a/projects/IoTCenter/Areas/Admin/Controllers/IoT/NodeController.cs +++ b/projects/IoTCenter/Areas/Admin/Controllers/IoT/NodeController.cs @@ -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, EditNodeModel, EditNodeModel> { - private readonly IRepository _repo; - private readonly IHubContext _pageHubContext; - private readonly INodeService _nodeService; - - public NodeController(IRepository repo, IHubContext 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 list) + public NodeController(IRepository 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(); } } } \ No newline at end of file diff --git a/projects/IoTCenter/Services/PageHub.cs b/projects/IoTCenter/Services/PageHub.cs index 5a9cf794..cf871b7b 100644 --- a/projects/IoTCenter/Services/PageHub.cs +++ b/projects/IoTCenter/Services/PageHub.cs @@ -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;