iotgateway/WalkingTec.Mvvm/WalkingTec.Mvvm.Mvc/GeneratorFiles/Spa/Blazor/Controller.txt
2021-12-14 14:10:44 +08:00

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$
}
}