using Microsoft.AspNetCore.Mvc;
using IStation.Model.Api;
using System.Net;
using System.Net.Http.Headers;
using Microsoft.Extensions.Hosting.Internal;
using Microsoft.AspNetCore.Http.Extensions;
using IStation.Untity;
namespace IStation.WebApi.Controllers.V1
{
///
/// Menu标准Api
///
[ApiController]
[Route("v1/Standard/Menu")]
[ApiExplorerSettings(GroupName = "v1")]
public class Menu_StandardController : ControllerBase
{
private readonly Service.Menu _service = new Service.Menu();
#region Query
///
/// 获取所有
///
[Route("GetAll")]
[HttpGet]
public Result GetAll()
{
var list = _service.GetAll();
return new Result>(list);
}
///
/// 通过 Soft 获取
///
[Route("GetBySoft")]
[HttpGet]
public Result GetBySoft(string SoftType, string SoftTag)
{
if (string.IsNullOrEmpty(SoftType))
{
return new Result(Code.Error, "SoftType 参数有误");
}
if (string.IsNullOrEmpty(SoftTag))
{
return new Result(Code.Error, "SoftTag 参数有误");
}
var list = _service.GetBySoft(SoftType, SoftTag);
return new Result>(list);
}
///
/// 通过 ID 获取
///
[Route("GetByID")]
[HttpGet]
public Result GetByID(long ID)
{
if (ID < 1)
{
return new Result(Code.Error, "ID 参数错误");
}
var model = _service.GetByID(ID);
return new Result(model);
}
///
/// 通过 Ids 获取
///
[Route("GetByIds")]
[HttpGet]
public Result GetByIds(string Ids)
{
var ids = LongListHelper.ToList(Ids);
if (ids == null || ids.Count() < 1)
{
return new Result(Code.Error, "Ids 参数错误");
}
var list = _service.GetByIds(ids);
return new Result>(list);
}
///
/// 通过 ID 获取子项及自身
///
[Route("GetChildAndSelfByID")]
[HttpGet]
public Result GetChildAndSelfByID(long ID)
{
if (ID < 1)
{
return new Result(Code.Error, "ID 参数错误");
}
var list = _service.GetChildAndSelfByID(ID);
return new Result>(list);
}
///
/// 通过 ID 获取子项
///
[Route("GetChildrenByID")]
[HttpGet]
public Result GetChildrenByID(long ID)
{
if (ID < 1)
{
return new Result(Code.Error, "ID 参数错误");
}
var list = _service.GetChildrenByID(ID);
return new Result>(list);
}
#endregion
#region Insert
///
/// 插入一条
///
[Route("Insert")]
[HttpPost]
public Result Insert(Model.MenuInsertInput model)
{
if (model == null)
{
return new Result(Code.Error, "参数错误");
}
var id = _service.Insert(model);
return new Result(id);
}
///
/// 插入多条
///
[Route("Inserts")]
[HttpPost]
public Result Inserts(List list)
{
if (list == null || list.Count() < 1)
{
return new Result(Code.Error, "参数错误");
}
var bol = _service.Inserts(list);
return new Result(bol);
}
#endregion
#region Update
///
/// 更新一条
///
[Route("Update")]
[HttpPut]
public Result Update(Model.MenuUpdateInput model)
{
if (model == null)
{
return new Result(Code.Error, "参数错误");
}
var bol = _service.Update(model);
return new Result(bol);
}
///
/// 更新多条
///
[Route("Updates")]
[HttpPut]
public Result Updates(List list)
{
if (list == null || list.Count() < 1)
{
return new Result(Code.Error, "参数错误");
}
var bol = _service.Updates(list);
return new Result(bol);
}
///
/// 更新排序码
///
[Route("UpdateSortCode")]
[HttpPut]
public Result UpdateSortCode(Model.SortCodeUpdateInput model)
{
if (model == null)
{
return new Result(Code.Error, "参数错误");
}
if (model.ID < 1)
{
return new Result(Code.Error, "ID 参数错误");
}
var bol = _service.UpdateSortCode(model.ID, model.SortCode);
return new Result(bol);
}
///
/// 更新排序
///
[Route("UpdateSorter")]
[HttpPut]
public Result UpdateSorter(List Sorters)
{
if (Sorters == null || Sorters.Count() < 1)
{
return new Result(Code.Error, "参数错误");
}
var bol = _service.UpdateSorter(Sorters);
return new Result(bol);
}
///
/// 更新树排序码
///
[Route("UpdateTreeSortCode")]
[HttpPut]
public Result UpdateTreeSortCode(Model.TreeSortCodeUpdateInput model)
{
if (model == null)
{
return new Result(Code.Error, "参数错误");
}
if (model.ID < 1)
{
return new Result(Code.Error, "ID 参数错误");
}
var bol = _service.UpdateTreeSortCode(model.ID, model.ParentIds, model.SortCode);
return new Result(bol);
}
///
/// 更新树排序
///
[Route("UpdateTreeSorter")]
[HttpPut]
public Result UpdateTreeSorter(List Sorters)
{
if (Sorters == null || Sorters.Count() < 1)
{
return new Result(Code.Error, "参数错误");
}
var bol = _service.UpdateTreeSorter(Sorters);
return new Result(bol);
}
///
/// 更新TagName
///
[Route("UpdateTagName")]
[HttpPut]
public Result UpdateTagName(Model.TagNameUpdateInput model)
{
if (model == null)
{
return new Result(Code.Error, "参数错误");
}
if (model.ID < 1)
{
return new Result(Code.Error, "ID 参数错误");
}
var bol = _service.UpdateTagName(model.ID, model.TagName);
return new Result(bol);
}
#endregion
#region Delete
///
/// 通过 ID 删除
///
[Route("DeleteByID")]
[HttpDelete]
public Result DeleteByID(long ID)
{
if (ID < 1)
{
return new Result(Code.Error, "ID 参数错误");
}
var bol = _service.DeleteByID(ID, out string msg);
return new ResultReason(bol, msg);
}
#endregion
}
}