using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using WalkingTec.Mvvm.Core; using WalkingTec.Mvvm.Core.Extensions; using WalkingTec.Mvvm.Mvc; using $vmnamespace$; using $modelnamespace$; $othernamespace$ namespace $namespace$ { $area$ $jwt$ [ActionDescription("$des$")] [ApiController] [Route("api/$modelname$")] public partial class $controllername$Controller : BaseApiController { [ActionDescription("Sys.Search")] [HttpPost("Search")] public IActionResult Search($controllername$Searcher searcher) { if (ModelState.IsValid) { var vm = Wtm.CreateVM<$controllername$ListVM>(); vm.Searcher = searcher; return Content(vm.GetJson(enumToString: false)); } else { return BadRequest(ModelState.GetErrorJson()); } } [ActionDescription("Sys.Get")] [HttpGet("{id}")] public $controllername$VM Get(string id) { var vm = Wtm.CreateVM<$controllername$VM>(id); return vm; } [ActionDescription("Sys.Create")] [HttpPost("Add")] public IActionResult Add($controllername$VM vm) { if (!ModelState.IsValid) { return BadRequest(ModelState.GetErrorJson()); } else { vm.DoAdd(); if (!ModelState.IsValid) { return BadRequest(ModelState.GetErrorJson()); } else { return Ok(vm.Entity); } } } [ActionDescription("Sys.Edit")] [HttpPut("Edit")] public IActionResult Edit($controllername$VM vm) { if (!ModelState.IsValid) { return BadRequest(ModelState.GetErrorJson()); } else { vm.DoEdit(false); if (!ModelState.IsValid) { return BadRequest(ModelState.GetErrorJson()); } else { return Ok(vm.Entity); } } } [HttpPost("BatchDelete")] [ActionDescription("Sys.Delete")] public IActionResult BatchDelete(string[] ids) { var vm = Wtm.CreateVM<$controllername$BatchVM>(); if (ids != null && ids.Count() > 0) { vm.Ids = ids; } else { return Ok(); } if (!ModelState.IsValid || !vm.DoBatchDelete()) { return BadRequest(ModelState.GetErrorJson()); } else { return Ok(ids.Count()); } } [ActionDescription("Sys.Export")] [HttpPost("ExportExcel")] public IActionResult ExportExcel($controllername$Searcher searcher) { var vm = Wtm.CreateVM<$controllername$ListVM>(); vm.Searcher = searcher; vm.SearcherMode = ListVMSearchModeEnum.Export; return vm.GetExportData(); } [ActionDescription("Sys.CheckExport")] [HttpPost("ExportExcelByIds")] public IActionResult ExportExcelByIds(string[] ids) { var vm = Wtm.CreateVM<$controllername$ListVM>(); if (ids != null && ids.Count() > 0) { vm.Ids = new List(ids); vm.SearcherMode = ListVMSearchModeEnum.CheckExport; } return vm.GetExportData(); } [ActionDescription("Sys.DownloadTemplate")] [HttpGet("GetExcelTemplate")] public IActionResult GetExcelTemplate() { var vm = Wtm.CreateVM<$controllername$ImportVM>(); var qs = new Dictionary(); foreach (var item in Request.Query.Keys) { qs.Add(item, Request.Query[item]); } vm.SetParms(qs); var data = vm.GenerateTemplate(out string fileName); return File(data, "application/vnd.ms-excel", fileName); } [ActionDescription("Sys.Import")] [HttpPost("Import")] public ActionResult Import($controllername$ImportVM vm) { if (vm!=null && (vm.ErrorListVM.EntityList.Count > 0 || !vm.BatchSaveData())) { return BadRequest(vm.GetErrorJson()); } else { return Ok(vm?.EntityList?.Count ?? 0); } } $other$ } }