using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers
{
///
/// 机构操作
///
[Route("api/[controller]/[action]")]
[ApiController]
[ApiExplorerSettings(GroupName = "组织机构_Orgs")]
public class OrgsController : ControllerBase
{
private readonly OrgManagerApp _app;
///
/// 获取机构详情
///
[HttpGet]
public Response Get(string id)
{
var result = new Response();
try
{
result.Result = _app.Get(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
///
/// 新增机构
/// 如果ID为空,会自动创建ID;会自动为当前登录用户分配添加的机构
///
///
///
[HttpPost]
public Response Add(Org obj)
{
var result = new Response();
try
{
_app.Add(obj);
result.Result = obj;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
//添加或修改
[HttpPost]
public Response Update(Org obj)
{
var result = new Response();
try
{
_app.Update(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
///
/// 删除选中的部门及所有的子部门
///
///
///
[HttpPost]
public Response Delete([FromBody]string[] ids)
{
var result = new Response();
try
{
_app.DelOrgCascade(ids);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
public OrgsController(OrgManagerApp app)
{
_app = app;
}
}
}