169 lines
4.7 KiB
Plaintext
169 lines
4.7 KiB
Plaintext
![]() |
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<string>(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<string, string>();
|
||
|
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$
|
||
|
}
|
||
|
}
|