using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; using WalkingTec.Mvvm.Core; using WalkingTec.Mvvm.Mvc; using WalkingTec.Mvvm.Core.Extensions; using IoTGateway.ViewModel.Config.SystemConfigVMs; namespace IoTGateway.Controllers { [Area("Config")] [ActionDescription("系统配置")] public partial class SystemConfigController : BaseController { #region Search [ActionDescription("Sys.Search")] public ActionResult Index() { var vm = Wtm.CreateVM(); return PartialView(vm); } [ActionDescription("Sys.Search")] [HttpPost] public string Search(SystemConfigSearcher searcher) { var vm = Wtm.CreateVM(passInit: true); if (ModelState.IsValid) { vm.Searcher = searcher; return vm.GetJson(false); } else { return vm.GetError(); } } #endregion #region Create [ActionDescription("Sys.Create")] public ActionResult Create() { var vm = Wtm.CreateVM(); return PartialView(vm); } [HttpPost] [ActionDescription("Sys.Create")] public ActionResult Create(SystemConfigVM vm) { if (!ModelState.IsValid) { return PartialView(vm); } else { vm.DoAdd(); if (!ModelState.IsValid) { vm.DoReInit(); return PartialView(vm); } else { return FFResult().CloseDialog().RefreshGrid(); } } } #endregion #region Edit [ActionDescription("Sys.Edit")] public ActionResult Edit(string id) { var vm = Wtm.CreateVM(id); return PartialView(vm); } [ActionDescription("Sys.Edit")] [HttpPost] [ValidateFormItemOnly] public ActionResult Edit(SystemConfigVM vm) { if (!ModelState.IsValid) { return PartialView(vm); } else { vm.DoEdit(); if (!ModelState.IsValid) { vm.DoReInit(); return PartialView(vm); } else { return FFResult().CloseDialog().RefreshGridRow(vm.Entity.ID); } } } #endregion #region Delete [ActionDescription("Sys.Delete")] public ActionResult Delete(string id) { var vm = Wtm.CreateVM(id); return PartialView(vm); } [ActionDescription("Sys.Delete")] [HttpPost] public ActionResult Delete(string id, IFormCollection nouse) { var vm = Wtm.CreateVM(id); vm.DoDelete(); if (!ModelState.IsValid) { return PartialView(vm); } else { return FFResult().CloseDialog().RefreshGrid(); } } #endregion #region Details [ActionDescription("Sys.Details")] public ActionResult Details(string id) { var vm = Wtm.CreateVM(id); return PartialView(vm); } #endregion #region BatchEdit [HttpPost] [ActionDescription("Sys.BatchEdit")] public ActionResult BatchEdit(string[] IDs) { var vm = Wtm.CreateVM(Ids: IDs); return PartialView(vm); } [HttpPost] [ActionDescription("Sys.BatchEdit")] public ActionResult DoBatchEdit(SystemConfigBatchVM vm, IFormCollection nouse) { if (!ModelState.IsValid || !vm.DoBatchEdit()) { return PartialView("BatchEdit",vm); } else { return FFResult().CloseDialog().RefreshGrid().Alert(Localizer["Sys.BatchEditSuccess", vm.Ids.Length]); } } #endregion #region BatchDelete [HttpPost] [ActionDescription("Sys.BatchDelete")] public ActionResult BatchDelete(string[] IDs) { var vm = Wtm.CreateVM(Ids: IDs); return PartialView(vm); } [HttpPost] [ActionDescription("Sys.BatchDelete")] public ActionResult DoBatchDelete(SystemConfigBatchVM vm, IFormCollection nouse) { if (!ModelState.IsValid || !vm.DoBatchDelete()) { return PartialView("BatchDelete",vm); } else { return FFResult().CloseDialog().RefreshGrid().Alert(Localizer["Sys.BatchDeleteSuccess", vm.Ids.Length]); } } #endregion #region Import [ActionDescription("Sys.Import")] public ActionResult Import() { var vm = Wtm.CreateVM(); return PartialView(vm); } [HttpPost] [ActionDescription("Sys.Import")] public ActionResult Import(SystemConfigImportVM vm, IFormCollection nouse) { if (vm.ErrorListVM.EntityList.Count > 0 || !vm.BatchSaveData()) { return PartialView(vm); } else { return FFResult().CloseDialog().RefreshGrid().Alert(Localizer["Sys.ImportSuccess", vm.EntityList.Count.ToString()]); } } #endregion [ActionDescription("Sys.Export")] [HttpPost] public IActionResult ExportExcel(SystemConfigListVM vm) { return vm.GetExportData(); } } }