diff --git a/projects/Infrastructure/Extensions/ControllerExtensions.cs b/projects/Infrastructure/Extensions/ControllerExtensions.cs index 94b50a40..4cecbd72 100644 --- a/projects/Infrastructure/Extensions/ControllerExtensions.cs +++ b/projects/Infrastructure/Extensions/ControllerExtensions.cs @@ -82,6 +82,12 @@ namespace Infrastructure.Extensions else { var modelType = metadata.IsNullableValueType ? metadata.ModelType.GenericTypeArguments[0] : metadata.ModelType; + var underlyingType = Nullable.GetUnderlyingType(modelType); + if (underlyingType != null) + { + json.nullable = true; + modelType = underlyingType; + } if (modelType == typeof(string)) { json.type = "string"; @@ -108,6 +114,10 @@ namespace Infrastructure.Extensions { json.type = "boolean"; } + else if (modelType == typeof(Guid)) + { + json.type = "guid"; + } else if (modelType == typeof(DateTime)) { json.type = "string"; diff --git a/projects/IoT.Shared/Areas/Admin/Controlls/NodeController.cs b/projects/IoT.Shared/Areas/Admin/Controlls/NodeController.cs index 25b5ecda..23c51c48 100644 --- a/projects/IoT.Shared/Areas/Admin/Controlls/NodeController.cs +++ b/projects/IoT.Shared/Areas/Admin/Controlls/NodeController.cs @@ -21,6 +21,7 @@ namespace IoT.Shared.Areas.Admin.Controlls { } + [Obsolete("for test"), ApiExplorerSettings(IgnoreApi = true)] public async Task Valid(string name) { await Task.Delay(1000); diff --git a/projects/IoT.Shared/Areas/Admin/Controlls/Users/PermissionController.cs b/projects/IoT.Shared/Areas/Admin/Controlls/Users/PermissionController.cs index b1fe8759..7448ab47 100644 --- a/projects/IoT.Shared/Areas/Admin/Controlls/Users/PermissionController.cs +++ b/projects/IoT.Shared/Areas/Admin/Controlls/Users/PermissionController.cs @@ -25,6 +25,12 @@ namespace IoT.Shared.Areas.Admin.Controllers this._permissionCategoryRepo = ajax; } + public override IActionResult Index(PagedListModel model) + { + this.ToEditModel(null, model.Query); + return base.Index(model); + } + public override IQueryable Include(IQueryable query) { return query.Include(o => o.Category).ThenInclude(o => o.Parent); @@ -37,7 +43,7 @@ namespace IoT.Shared.Areas.Admin.Controllers public override void ToEditModel(Permission entity, EditPermissionModel model) { - this.ViewData.SelectList(o => model.CategoryId, () => this.GetPermissionCategorySelectList(model.CategoryId), model.CategoryId.HasValue); + this.ViewData.SelectList(o => model.CategoryId, () => this.GetPermissionCategorySelectList(model.CategoryId)); } public override void ToDisplayModel(Permission entity, EditPermissionModel model) diff --git a/projects/IoTCenter/Api/NodeController.cs b/projects/IoTCenter/Api/NodeController.cs index 4b4f7139..4ac2c896 100644 --- a/projects/IoTCenter/Api/NodeController.cs +++ b/projects/IoTCenter/Api/NodeController.cs @@ -113,12 +113,14 @@ namespace IoTCenter.Api.Controllers return Ok(); } + [HttpPost] public IActionResult Stop([FromBody][Required(ErrorMessage = nameof(RequiredAttribute))] string number) { this._hub.ServerToClient(Methods.StopNode, "", number); return Ok(); } + [HttpPost] private ActionResult Power(string number, string command) { var devices = this._deviceRepo.ReadOnlyTable() diff --git a/projects/IoTCenter/Api/SiteController.cs b/projects/IoTCenter/Api/SiteController.cs index 6df66172..978c64eb 100644 --- a/projects/IoTCenter/Api/SiteController.cs +++ b/projects/IoTCenter/Api/SiteController.cs @@ -29,6 +29,7 @@ namespace IoTCenter.Api.Controllers this._userRepo = userRepo; } + [HttpPost] public IActionResult GetSite() { try diff --git a/projects/WebMVC/wwwroot/router/shared/edit/selectlist.html b/projects/WebMVC/wwwroot/router/shared/edit/selectlist.html index 0b28fc24..76d2f669 100644 --- a/projects/WebMVC/wwwroot/router/shared/edit/selectlist.html +++ b/projects/WebMVC/wwwroot/router/shared/edit/selectlist.html @@ -1,6 +1,6 @@