using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; using WalkingTec.Mvvm.Core; using WalkingTec.Mvvm.Mvc; using WalkingTec.Mvvm.Core.Extensions; using $vmnamespace$; namespace $namespace$ { $area$ [ActionDescription("$des$")] public partial class $modelname$Controller : BaseController { #region Search [ActionDescription("Sys.Search")] public ActionResult Index() { var vm = Wtm.CreateVM<$modelname$ListVM>(); return PartialView(vm); } [ActionDescription("Sys.Search")] [HttpPost] public string Search($modelname$Searcher searcher) { var vm = Wtm.CreateVM<$modelname$ListVM>(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<$modelname$VM>(); return PartialView(vm); } [HttpPost] [ActionDescription("Sys.Create")] public ActionResult Create($modelname$VM 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<$modelname$VM>(id); return PartialView(vm); } [ActionDescription("Sys.Edit")] [HttpPost] [ValidateFormItemOnly] public ActionResult Edit($modelname$VM 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<$modelname$VM>(id); return PartialView(vm); } [ActionDescription("Sys.Delete")] [HttpPost] public ActionResult Delete(string id, IFormCollection nouse) { var vm = Wtm.CreateVM<$modelname$VM>(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<$modelname$VM>(id); return PartialView(vm); } #endregion #region BatchEdit [HttpPost] [ActionDescription("Sys.BatchEdit")] public ActionResult BatchEdit(string[] IDs) { var vm = Wtm.CreateVM<$modelname$BatchVM>(Ids: IDs); return PartialView(vm); } [HttpPost] [ActionDescription("Sys.BatchEdit")] public ActionResult DoBatchEdit($modelname$BatchVM 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<$modelname$BatchVM>(Ids: IDs); return PartialView(vm); } [HttpPost] [ActionDescription("Sys.BatchDelete")] public ActionResult DoBatchDelete($modelname$BatchVM 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<$modelname$ImportVM>(); return PartialView(vm); } [HttpPost] [ActionDescription("Sys.Import")] public ActionResult Import($modelname$ImportVM 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($modelname$ListVM vm) { return vm.GetExportData(); } } }