From 4492d21c45d97c3cb3235a044aad8d5586ba3eef Mon Sep 17 00:00:00 2001 From: wanggang <76527413@qq.com> Date: Fri, 12 Jul 2019 18:11:45 +0800 Subject: [PATCH] update Former-commit-id: 11d028055dc9d7897f94489569d61f20cc741bb4 --- .../Extensions/ObjectMapperExtensions.cs | 9 ++------- .../Application/Domain/Entities/Command.cs | 14 +++++++++++-- .../Application/Domain/Entities/Device.cs | 3 +++ .../Application/Domain/Entities/Node.cs | 2 +- .../Application/Domain/Entities/Scene.cs | 19 +++++++++--------- .../Application/Models/HomeViewModel.cs | 2 +- .../Application/Services/NodeService.cs | 12 +++++------ .../IoT.Shared/Controllers/AjaxController.cs | 4 ++-- projects/IoT/IoT.Shared/IoTServiceStartup.cs | 3 +++ .../Controllers/IoT/CommandController.cs | 8 ++++---- .../Admin/Controllers/IoT/SenceController.cs | 12 +++++------ .../IoT/IoTNode/Controllers/AppController.cs | 2 +- .../IoTNode/Controllers/CommandController.cs | 4 ++-- .../IoT/IoTNode/Controllers/HomeController.cs | 2 +- .../IoTNode/Controllers/NotifyController.cs | 4 ++-- projects/IoT/IoTNode/Startup.cs | 4 ++-- .../Admin/Controllers/IoT/SenceController.cs | 12 +++++------ .../Controllers/CommandController.cs | 4 ++-- .../IoTCenter/Controllers/HomeController.cs | 2 +- .../IoTCenter/Controllers/NotifyController.cs | 20 +++++++++---------- projects/IoTCenter/Services/PageHub.cs | 4 ++-- .../Controllers/MessageController.cs | 8 ++++---- projects/UserCenter/Services/PageHub.cs | 8 ++++++++ 23 files changed, 90 insertions(+), 72 deletions(-) create mode 100644 projects/UserCenter/Services/PageHub.cs diff --git a/projects/Infrastructure/Extensions/ObjectMapperExtensions.cs b/projects/Infrastructure/Extensions/ObjectMapperExtensions.cs index 6fd09751..3792e43b 100644 --- a/projects/Infrastructure/Extensions/ObjectMapperExtensions.cs +++ b/projects/Infrastructure/Extensions/ObjectMapperExtensions.cs @@ -32,14 +32,9 @@ namespace Infrastructure.Extensions return (T)(Activator.CreateInstance(typeof(T)).InjectFrom(source)); } - public static T Update(this T target, object source) + public static T Update(this T target, object source, params string[] skips) { - return (T)target.InjectFrom(new PlainInjection(null), source); - } - - public static T UpdateWithoutId(this T target, object source) - { - return (T)target.InjectFrom(new PlainInjection("Id"), source); + return (T)target.InjectFrom(new PlainInjection(skips), source); } } diff --git a/projects/IoT/IoT.Shared/Application/Domain/Entities/Command.cs b/projects/IoT/IoT.Shared/Application/Domain/Entities/Command.cs index aee59cc2..fa32c57f 100644 --- a/projects/IoT/IoT.Shared/Application/Domain/Entities/Command.cs +++ b/projects/IoT/IoT.Shared/Application/Domain/Entities/Command.cs @@ -18,12 +18,12 @@ namespace Application.Domain.Entities /// /// 场景Id /// - public Guid SenceId { get; set; } + public Guid SceneId { get; set; } /// /// 场景 /// - public Sence Sence { get; set; } + public Scene Scene { get; set; } /// /// API Id @@ -34,5 +34,15 @@ namespace Application.Domain.Entities /// API /// public Api Api { get; set; } + + /// + /// API Id + /// + public Guid DeviceId { get; set; } + + /// + /// API + /// + public Device Device { get; set; } } } \ No newline at end of file diff --git a/projects/IoT/IoT.Shared/Application/Domain/Entities/Device.cs b/projects/IoT/IoT.Shared/Application/Domain/Entities/Device.cs index a292000b..aea2c412 100644 --- a/projects/IoT/IoT.Shared/Application/Domain/Entities/Device.cs +++ b/projects/IoT/IoT.Shared/Application/Domain/Entities/Device.cs @@ -75,6 +75,9 @@ namespace Application.Domain.Entities [Display(Name = "数据")] public List Data { get; set; } = new List(); + [Display(Name = "命令")] + public List Commands { get; set; } = new List(); + public Data GetData(string key) { return this.Data.FirstOrDefault(o => o.Key == key); diff --git a/projects/IoT/IoT.Shared/Application/Domain/Entities/Node.cs b/projects/IoT/IoT.Shared/Application/Domain/Entities/Node.cs index b8814675..8dae6d61 100644 --- a/projects/IoT/IoT.Shared/Application/Domain/Entities/Node.cs +++ b/projects/IoT/IoT.Shared/Application/Domain/Entities/Node.cs @@ -28,6 +28,6 @@ namespace Application.Domain.Entities /// /// 场景 /// - public List Sences { get; set; } = new List(); + public List Scenes { get; set; } = new List(); } } \ No newline at end of file diff --git a/projects/IoT/IoT.Shared/Application/Domain/Entities/Scene.cs b/projects/IoT/IoT.Shared/Application/Domain/Entities/Scene.cs index 0f0d6fc9..a38e942c 100644 --- a/projects/IoT/IoT.Shared/Application/Domain/Entities/Scene.cs +++ b/projects/IoT/IoT.Shared/Application/Domain/Entities/Scene.cs @@ -5,20 +5,19 @@ using Infrastructure.Domain; namespace Application.Domain.Entities { - /// - /// 场景 - /// [Display(Name = "场景")] - public class Sence : BaseEntity, IDisableRemove + public class Scene : BaseEntity, IDisableRemove { - /// - /// 名称 - /// + [Display(Name = "名称")] public string Name { get; set; } - /// - /// 节点Id - /// + [Display(Name = "启用定时")] + public bool Timed { get; set; } + + [Display(Name = "定时表达式")] + public string Corn { get; set; } + + [Display(Name = "节点Id")] public Guid NodeId { get; set; } /// diff --git a/projects/IoT/IoT.Shared/Application/Models/HomeViewModel.cs b/projects/IoT/IoT.Shared/Application/Models/HomeViewModel.cs index 24a4167f..59a1f619 100644 --- a/projects/IoT/IoT.Shared/Application/Models/HomeViewModel.cs +++ b/projects/IoT/IoT.Shared/Application/Models/HomeViewModel.cs @@ -7,6 +7,6 @@ namespace Application.Models { public Node Node { get; set; } = new Node(); public List Devices { get; set; } = new List(); - public List Sences { get; set; } = new List(); + public List Scenes { get; set; } = new List(); } } \ No newline at end of file diff --git a/projects/IoT/IoT.Shared/Application/Services/NodeService.cs b/projects/IoT/IoT.Shared/Application/Services/NodeService.cs index 9d132596..38fd8536 100644 --- a/projects/IoT/IoT.Shared/Application/Services/NodeService.cs +++ b/projects/IoT/IoT.Shared/Application/Services/NodeService.cs @@ -150,8 +150,8 @@ namespace Application.Services { using (var scope = applicationServices.CreateScope()) { - var repo = scope.ServiceProvider.GetService>(); - var entity = new Sence().From(model); + var repo = scope.ServiceProvider.GetService>(); + var entity = new Scene().From(model); repo.Add(entity); if (repo.SaveChanges() > 0) { @@ -176,7 +176,7 @@ namespace Application.Services { using (var scope = applicationServices.CreateScope()) { - var repo = scope.ServiceProvider.GetService>(); + var repo = scope.ServiceProvider.GetService>(); var entity = repo.Table().FirstOrDefault(o => o.Id == model.Id); entity.From(model); if (repo.SaveChanges() > 0) @@ -202,7 +202,7 @@ namespace Application.Services { using (var scope = applicationServices.CreateScope()) { - var repo = scope.ServiceProvider.GetService>(); + var repo = scope.ServiceProvider.GetService>(); var entity = repo.Table().FirstOrDefault(o => o.Id == id); if (entity != null) { @@ -367,7 +367,7 @@ namespace Application.Services using (var scope = applicationServices.CreateScope()) { var httpClientFactory = scope.ServiceProvider.GetService(); - var senceRepo = scope.ServiceProvider.GetService>(); + var senceRepo = scope.ServiceProvider.GetService>(); var sence = senceRepo.ReadOnlyTable() .Include(o => o.Commands) .ThenInclude(o => o.Api) @@ -507,7 +507,7 @@ namespace Application.Services Console.WriteLine("PushSenceAndDevice"); var schoolUrl = $"http://{configuration["notify:host"]}/Notify/Update"; var nodeRepo = scope.ServiceProvider.GetService>(); - var node = nodeRepo.ReadOnlyTable().Include(o => o.Sences).Include(o => o.Devices).FirstOrDefault(); + var node = nodeRepo.ReadOnlyTable().Include(o => o.Scenes).Include(o => o.Devices).FirstOrDefault(); var data = node.ToJson(); var httpClientFactory = scope.ServiceProvider.GetService(); var task = httpClientFactory.CreateClient().PostAsync(schoolUrl, new StringContent(data)); diff --git a/projects/IoT/IoT.Shared/Controllers/AjaxController.cs b/projects/IoT/IoT.Shared/Controllers/AjaxController.cs index 6565f2ea..4e29915f 100644 --- a/projects/IoT/IoT.Shared/Controllers/AjaxController.cs +++ b/projects/IoT/IoT.Shared/Controllers/AjaxController.cs @@ -15,13 +15,13 @@ namespace IoTShared.Controllers { private readonly ILogger _logger; private readonly IRepository _nodeRepo; - private readonly IRepository _senceRepo; + private readonly IRepository _senceRepo; private readonly IRepository _deviceRepo; private readonly IRepository _apiRepo; public AjaxController(ILogger logger, IRepository nodeRepo, - IRepository senceRepo, + IRepository senceRepo, IRepository deviceRepo, IRepository apiRepo) { diff --git a/projects/IoT/IoT.Shared/IoTServiceStartup.cs b/projects/IoT/IoT.Shared/IoTServiceStartup.cs index cedf7902..f3eb1bcd 100644 --- a/projects/IoT/IoT.Shared/IoTServiceStartup.cs +++ b/projects/IoT/IoT.Shared/IoTServiceStartup.cs @@ -90,6 +90,9 @@ namespace IoT.UI.Shard modelBuilder.Entity().HasOne(o => o.Node).WithMany(o => o.Devices).HasForeignKey(o => o.NodeId); 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.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); } public override void Seed(DbContext dbContext, IServiceProvider serviceProvider, IConfiguration configuration) diff --git a/projects/IoT/IoTNode/Areas/Admin/Controllers/IoT/CommandController.cs b/projects/IoT/IoTNode/Areas/Admin/Controllers/IoT/CommandController.cs index ab5e04fa..432f15b3 100644 --- a/projects/IoT/IoTNode/Areas/Admin/Controllers/IoT/CommandController.cs +++ b/projects/IoT/IoTNode/Areas/Admin/Controllers/IoT/CommandController.cs @@ -21,14 +21,14 @@ namespace IoTNode.Areas.Admin.Controllers public class CommandController : CrudController, DisplayCommandModel, EditCommandModel> { private readonly IRepository _nodeRepo; - private readonly IRepository _senceRepo; + private readonly IRepository _senceRepo; private readonly IRepository _apiRepo; private readonly IRepository _repo; private readonly AjaxController _ajax; private readonly INodeService _nodeService; public CommandController(IRepository nodeRepo, - IRepository senceRepo, + IRepository senceRepo, IRepository apiRepo, IRepository repo, AjaxController ajax, @@ -85,7 +85,7 @@ namespace IoTNode.Areas.Admin.Controllers public override IQueryable Include(IQueryable query) { - return query.Include(o => o.Sence).Include(o => o.Api).ThenInclude(o => o.Device).ThenInclude(o => o.Node); + return query.Include(o => o.Scene).Include(o => o.Api).ThenInclude(o => o.Device).ThenInclude(o => o.Node); } public override void ToDisplayModel(Command entity, DisplayCommandModel model) @@ -93,7 +93,7 @@ namespace IoTNode.Areas.Admin.Controllers model.NodeId = entity.Api.Device.Node.Name; model.DeviceId = entity.Api.Device.DisplayName; model.ApiId = entity.Api.Name; - model.SenceId = entity.Sence.Name; + model.SenceId = entity.Scene.Name; } public override void ToModel(Command entity, EditCommandModel model) diff --git a/projects/IoT/IoTNode/Areas/Admin/Controllers/IoT/SenceController.cs b/projects/IoT/IoTNode/Areas/Admin/Controllers/IoT/SenceController.cs index a0bb5138..0c7df0a2 100644 --- a/projects/IoT/IoTNode/Areas/Admin/Controllers/IoT/SenceController.cs +++ b/projects/IoT/IoTNode/Areas/Admin/Controllers/IoT/SenceController.cs @@ -17,14 +17,14 @@ namespace IoTNode.Areas.Admin.Controllers { [Authorize] [Area(nameof(Admin))] - public class SenceController : CrudController, DisplaySenceModel, EditSenceModel> + public class SenceController : CrudController, DisplaySenceModel, EditSenceModel> { private readonly IRepository _nodeRepo; - private readonly IRepository _repo; + private readonly IRepository _repo; private readonly AjaxController _ajax; private readonly INodeService _nodeService; - public SenceController(IRepository nodeRepo, IRepository repo, AjaxController ajax, INodeService nodeService) : base(repo) + public SenceController(IRepository nodeRepo, IRepository repo, AjaxController ajax, INodeService nodeService) : base(repo) { this._repo = repo; this._nodeRepo = nodeRepo; @@ -32,17 +32,17 @@ namespace IoTNode.Areas.Admin.Controllers this._nodeService = nodeService; } - public override IQueryable Include(IQueryable query) + public override IQueryable Include(IQueryable query) { return query.Include(o => o.Node); } - public override void ToDisplayModel(Sence entity, DisplaySenceModel model) + public override void ToDisplayModel(Scene entity, DisplaySenceModel model) { model.NodeId = entity.Node.Name; } - public override void ToModel(Sence entity, EditSenceModel model) + public override void ToModel(Scene entity, EditSenceModel model) { ViewData.SelectList(o => model.NodeId, () => this._ajax.GetNodeSelectList(model.NodeId)); base.ToModel(entity, model); diff --git a/projects/IoT/IoTNode/Controllers/AppController.cs b/projects/IoT/IoTNode/Controllers/AppController.cs index 05386d32..b5084eb5 100644 --- a/projects/IoT/IoTNode/Controllers/AppController.cs +++ b/projects/IoT/IoTNode/Controllers/AppController.cs @@ -64,7 +64,7 @@ namespace IoTCenter.Controllers { //var userName = this._jwtHelper.GetPayload(token)["UserName"].ToString(); var model = this._nodeRepo.ReadOnlyTable() - .Include(o => o.Sences) + .Include(o => o.Scenes) .Include(o => o.Devices).ThenInclude(o => o.Data) .FirstOrDefault(o => o.Number == number); return Json(model, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); diff --git a/projects/IoT/IoTNode/Controllers/CommandController.cs b/projects/IoT/IoTNode/Controllers/CommandController.cs index a01197b8..f843b5e5 100644 --- a/projects/IoT/IoTNode/Controllers/CommandController.cs +++ b/projects/IoT/IoTNode/Controllers/CommandController.cs @@ -17,13 +17,13 @@ namespace IoTNode.Controllers private readonly ILogger _logger; private readonly IHttpClientFactory _httpClientFactory; private readonly IRepository _deviceRepo; - private readonly IRepository _senceRepo; + private readonly IRepository _senceRepo; private readonly INodeService _nodeService; public CommandController(ILogger logger, IHttpClientFactory httpClientFactory, IRepository deviceRepo, - IRepository senceRepo, + IRepository senceRepo, INodeService nodeService) { this._logger = logger; diff --git a/projects/IoT/IoTNode/Controllers/HomeController.cs b/projects/IoT/IoTNode/Controllers/HomeController.cs index 24221cb1..c95335e0 100644 --- a/projects/IoT/IoTNode/Controllers/HomeController.cs +++ b/projects/IoT/IoTNode/Controllers/HomeController.cs @@ -36,7 +36,7 @@ namespace IoTNode.Controllers public IActionResult GetNode(Guid id) { var model = this._nodeRepo.ReadOnlyTable() - .Include(o => o.Sences) + .Include(o => o.Scenes) .Include(o => o.Devices).ThenInclude(o => o.Data) .Include(o => o.Devices).ThenInclude(o => o.Apis).ThenInclude(o => o.Parameters) .FirstOrDefault(o => o.Id == id); diff --git a/projects/IoT/IoTNode/Controllers/NotifyController.cs b/projects/IoT/IoTNode/Controllers/NotifyController.cs index 3c014bad..08f68e0a 100644 --- a/projects/IoT/IoTNode/Controllers/NotifyController.cs +++ b/projects/IoT/IoTNode/Controllers/NotifyController.cs @@ -26,7 +26,7 @@ namespace IoTNode.Controllers private readonly IHubContext _pageHubContext; private readonly IRepository _nodeRepo; private readonly IRepository _deviceRepo; - private readonly IRepository _senceRepo; + private readonly IRepository _senceRepo; public NotifyController(ILogger logger, IConfiguration configuration, @@ -35,7 +35,7 @@ namespace IoTNode.Controllers IHubContext pageHubContext, IRepository nodeRepo, IRepository deviceRepo, - IRepository senceRepo) + IRepository senceRepo) { this._logger = logger; this._configuration = configuration; diff --git a/projects/IoT/IoTNode/Startup.cs b/projects/IoT/IoTNode/Startup.cs index 6ae5ca28..aeb9e71e 100644 --- a/projects/IoT/IoTNode/Startup.cs +++ b/projects/IoT/IoTNode/Startup.cs @@ -109,8 +109,8 @@ namespace IoTNode modelBuilder.Entity().HasOne(o => o.Device).WithMany(o => o.Data).HasForeignKey(o => o.DeviceId); modelBuilder.Entity().HasOne(o => o.Device).WithMany(o => o.Apis).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.Sences).HasForeignKey(o => o.NodeId); - modelBuilder.Entity().HasOne(o => o.Sence).WithMany(o => o.Commands).HasForeignKey(o => o.SenceId); + 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().HasIndex(o => o.Number).IsUnique(); modelBuilder.Entity().HasIndex(o => o.Number).IsUnique(); modelBuilder.Entity().HasIndex(o => new { o.DeviceId, o.Key }).IsUnique(); diff --git a/projects/IoTCenter/Areas/Admin/Controllers/IoT/SenceController.cs b/projects/IoTCenter/Areas/Admin/Controllers/IoT/SenceController.cs index e92a7342..88b6c51b 100644 --- a/projects/IoTCenter/Areas/Admin/Controllers/IoT/SenceController.cs +++ b/projects/IoTCenter/Areas/Admin/Controllers/IoT/SenceController.cs @@ -19,14 +19,14 @@ namespace IoTCenter.Areas.Admin.Controllers { [Authorize] [Area(nameof(Admin))] - public class SenceController : CrudController, DisplaySenceModel, EditSenceModel> + public class SenceController : CrudController, DisplaySenceModel, EditSenceModel> { private readonly IRepository _nodeRepo; - private readonly IRepository _repo; + private readonly IRepository _repo; private readonly AjaxController _ajax; private readonly IHubContext _pageHubContext; - public SenceController(IRepository nodeRepo, IRepository repo, AjaxController ajax, IHubContext pageHubContext) : base(repo) + public SenceController(IRepository nodeRepo, IRepository repo, AjaxController ajax, IHubContext pageHubContext) : base(repo) { this._repo = repo; this._nodeRepo = nodeRepo; @@ -34,12 +34,12 @@ namespace IoTCenter.Areas.Admin.Controllers this._pageHubContext = pageHubContext; } - public override IQueryable Include(IQueryable query) + public override IQueryable Include(IQueryable query) { return query.Include(o => o.Node); } - public override void ToDisplayModel(Sence entity, DisplaySenceModel model) + public override void ToDisplayModel(Scene entity, DisplaySenceModel model) { model.NodeId = entity.Node.Name; } @@ -87,7 +87,7 @@ namespace IoTCenter.Areas.Admin.Controllers return RedirectTo(); } - public override void ToModel(Sence entity, EditSenceModel model) + public override void ToModel(Scene entity, EditSenceModel model) { ViewData.SelectList(o => model.NodeId, () => this._ajax.GetNodeSelectList(model.NodeId)); base.ToModel(entity, model); diff --git a/projects/IoTCenter/Controllers/CommandController.cs b/projects/IoTCenter/Controllers/CommandController.cs index 35f092e4..a9841be1 100644 --- a/projects/IoTCenter/Controllers/CommandController.cs +++ b/projects/IoTCenter/Controllers/CommandController.cs @@ -19,13 +19,13 @@ namespace IoTCenter.Controllers private readonly ILogger _logger; private readonly IHttpClientFactory _httpClientFactory; private readonly IRepository _deviceRepo; - private readonly IRepository _senceRepo; + private readonly IRepository _senceRepo; private readonly IHubContext _pageHubContext; public CommandController(ILogger logger, IHttpClientFactory httpClientFactory, IRepository deviceRepo, - IRepository senceRepo, + IRepository senceRepo, IHubContext pageHubContext) { this._logger = logger; diff --git a/projects/IoTCenter/Controllers/HomeController.cs b/projects/IoTCenter/Controllers/HomeController.cs index 5482deaf..0e3e8bbc 100644 --- a/projects/IoTCenter/Controllers/HomeController.cs +++ b/projects/IoTCenter/Controllers/HomeController.cs @@ -43,7 +43,7 @@ namespace IoTCenter.Controllers public IActionResult GetNode(Guid id) { var model = this._nodeRepo.ReadOnlyTable() - .Include(o => o.Sences) + .Include(o => o.Scenes) .Include(o => o.Devices).ThenInclude(o => o.Data) //.Include(o => o.Devices).ThenInclude(o => o.Apis).ThenInclude(o => o.Parameters) .FirstOrDefault(o => o.Id == id); diff --git a/projects/IoTCenter/Controllers/NotifyController.cs b/projects/IoTCenter/Controllers/NotifyController.cs index 6dbc0f24..e890d482 100644 --- a/projects/IoTCenter/Controllers/NotifyController.cs +++ b/projects/IoTCenter/Controllers/NotifyController.cs @@ -29,7 +29,7 @@ namespace IoTCenter.Controllers private readonly IHubContext _pageHubContext; private readonly IRepository _nodeRepo; private readonly IRepository _deviceRepo; - private readonly IRepository _senceRepo; + private readonly IRepository _senceRepo; public NotifyController(ILogger logger, IConfiguration configuration, @@ -38,7 +38,7 @@ namespace IoTCenter.Controllers IHubContext pageHubContext, IRepository nodeRepository, IRepository deviceReposigory, - IRepository senceRepository) + IRepository senceRepository) { this._logger = logger; this._configuration = configuration; @@ -230,7 +230,7 @@ namespace IoTCenter.Controllers { var model = this.ReadPostData(); var newNode = model.FromJson(); - var node = this._nodeRepo.Table().Include(o => o.Sences).Include(o => o.Devices).FirstOrDefault(o => o.Number == newNode.Number); + var node = this._nodeRepo.Table().Include(o => o.Scenes).Include(o => o.Devices).FirstOrDefault(o => o.Number == newNode.Number); if (node != null && node.Id != newNode.Id) { this._nodeRepo.Delete(node); @@ -244,22 +244,22 @@ namespace IoTCenter.Controllers } node.FromPlain(newNode); this._nodeRepo.SaveChanges(); - foreach (var id in node.Sences.Select(o => o.Id).ToList()) + foreach (var id in node.Scenes.Select(o => o.Id).ToList()) { - if (!newNode.Sences.Any(o => o.Id == id)) + if (!newNode.Scenes.Any(o => o.Id == id)) { - node.Sences.Remove(node.Sences.FirstOrDefault(o => o.Id == id)); + node.Scenes.Remove(node.Scenes.FirstOrDefault(o => o.Id == id)); this._nodeRepo.SaveChanges(); this._pageHubContext.Clients.Group("page").SendAsync("DeleteSence", id.ToString()); } } - foreach (var newSence in newNode.Sences) + foreach (var newSence in newNode.Scenes) { - var sence = node.Sences.FirstOrDefault(o => o.Id == newSence.Id); + var sence = node.Scenes.FirstOrDefault(o => o.Id == newSence.Id); if (sence == null) { - sence = new Sence(); - node.Sences.Add(sence); + sence = new Scene(); + node.Scenes.Add(sence); } sence.FromPlain(newSence); this._nodeRepo.SaveChanges(); diff --git a/projects/IoTCenter/Services/PageHub.cs b/projects/IoTCenter/Services/PageHub.cs index 5c3375e5..5a9cf794 100644 --- a/projects/IoTCenter/Services/PageHub.cs +++ b/projects/IoTCenter/Services/PageHub.cs @@ -116,11 +116,11 @@ namespace IoTCenter.Services var data = device.Data.FirstOrDefault(o => o.Key == newData.Key); if (data == null) { - data = new Data().Update(data); + data = new Data().Update(newData); data.DeviceId = device.Id; device.Data.Add(data); } - data.UpdateWithoutId(newDevice); + data.Update(newData, "Id", "UpdatedOn"); data.DeviceId = device.Id; } } diff --git a/projects/UserCenter/Controllers/MessageController.cs b/projects/UserCenter/Controllers/MessageController.cs index f0940ad4..f2a27310 100644 --- a/projects/UserCenter/Controllers/MessageController.cs +++ b/projects/UserCenter/Controllers/MessageController.cs @@ -1,11 +1,11 @@ -using System; -using System.Linq; -using Application.Models; +using Application.Models; using Infrastructure.Extensions; -using Infrastructure.Web.SignalR; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.SignalR; using Raven.Embedded; +using System; +using System.Linq; +using UserCenter.Services; namespace UserCenter.Controllers { diff --git a/projects/UserCenter/Services/PageHub.cs b/projects/UserCenter/Services/PageHub.cs new file mode 100644 index 00000000..ae8bc3d7 --- /dev/null +++ b/projects/UserCenter/Services/PageHub.cs @@ -0,0 +1,8 @@ +using Infrastructure.Web.SignalR; + +namespace UserCenter.Services +{ + public class PageHub : BasePageHub + { + } +} \ No newline at end of file