-
Notifications
You must be signed in to change notification settings - Fork 883
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'feature/vNext' of https://github.com/dotnetcore/WTM int…
…o feature/vNext
- Loading branch information
Showing
744 changed files
with
12,781 additions
and
2,923 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
180 changes: 180 additions & 0 deletions
180
demo/WalkingTec.Mvvm.Vue3Demo/Areas/SchoolData/Controllers/CityController.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,180 @@ | ||
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 WalkingTec.Mvvm.ReactDemo.ViewModels.CityVMs; | ||
using WalkingTec.Mvvm.ReactDemo.Models; | ||
|
||
namespace WalkingTec.Mvvm.ReactDemo.Controllers | ||
{ | ||
|
||
[AuthorizeJwtWithCookie] | ||
[ActionDescription("城市管理")] | ||
[ApiController] | ||
[Route("api/City")] | ||
public partial class CityController : BaseApiController | ||
{ | ||
[ActionDescription("Sys.Search")] | ||
[HttpPost("Search")] | ||
public IActionResult Search(CitySearcher searcher) | ||
{ | ||
if (ModelState.IsValid) | ||
{ | ||
var vm = Wtm.CreateVM<CityListVM>(); | ||
vm.Searcher = searcher; | ||
return Content(vm.GetJson()); | ||
} | ||
else | ||
{ | ||
return BadRequest(ModelState.GetErrorJson()); | ||
} | ||
} | ||
|
||
[ActionDescription("Sys.Get")] | ||
[HttpGet("{id}")] | ||
public CityVM Get(string id) | ||
{ | ||
var vm = Wtm.CreateVM<CityVM>(id); | ||
return vm; | ||
} | ||
|
||
[ActionDescription("Sys.Create")] | ||
[HttpPost("Add")] | ||
public IActionResult Add(CityVM 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(CityVM 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<CityBatchVM>(); | ||
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(CitySearcher searcher) | ||
{ | ||
var vm = Wtm.CreateVM<CityListVM>(); | ||
vm.Searcher = searcher; | ||
vm.SearcherMode = ListVMSearchModeEnum.Export; | ||
return vm.GetExportData(); | ||
} | ||
|
||
[ActionDescription("Sys.CheckExport")] | ||
[HttpPost("ExportExcelByIds")] | ||
public IActionResult ExportExcelByIds(string[] ids) | ||
{ | ||
var vm = Wtm.CreateVM<CityListVM>(); | ||
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<CityImportVM>(); | ||
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(CityImportVM vm) | ||
{ | ||
|
||
if (vm.ErrorListVM.EntityList.Count > 0 || !vm.BatchSaveData()) | ||
{ | ||
return BadRequest(vm.GetErrorJson()); | ||
} | ||
else | ||
{ | ||
return Ok(vm.EntityList.Count); | ||
} | ||
} | ||
|
||
|
||
[HttpGet("GetCitys")] | ||
public ActionResult GetCitys() | ||
{ | ||
return Ok(DC.Set<City>().GetSelectListItems(Wtm, x => x.Name)); | ||
} | ||
|
||
[HttpGet("GetCitysTree")] | ||
public ActionResult GetCitysTree() | ||
{ | ||
return Ok(DC.Set<City>().GetTreeSelectListItems(Wtm, x => x.Name)); | ||
} | ||
|
||
} | ||
} |
Oops, something went wrong.