2025-03-28 09:49:56 +08:00

76 lines
2.4 KiB
C#

using System.Web.Http;
using System.Web.Http.Results;
using HZQR.Common;
namespace CodeBuilderApi.Controllers
{
/// <summary>
/// 基础接口
/// </summary>
public class BaseController : ApiController
{
/// <summary>
/// 事务管理器
/// </summary>
public SuperMap.RealEstate.ServiceModel.Transaction transaction = new SuperMap.RealEstate.ServiceModel.Transaction();
/// <summary>
/// 重写返回方法(用于释放事物)
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="content"></param>
/// <returns></returns>
protected override OkNegotiatedContentResult<T> Ok<T>(T content)
{
if (transaction.IsOpen)
{
transaction.Commit();
}
transaction.Release();
transaction.Dispose();
return base.Ok(content);
}
/// <summary>
/// 获取int类型的header参数
/// </summary>
/// <param name="name">参数名称</param>
/// <param name="value">参数值</param>
/// <returns></returns>
public int? GetIntHeader(string name, int? value)
{
//从header获取ProvinceCode的值
if (value == null && Request.Headers.Contains(name))
{
string[] Headervalue = (string[])Request.Headers.GetValues(name);
if (Headervalue.Length > 0 && Headervalue[0].ToString() != "")
{
value = Headervalue[0].TryParseToInt();
}
}
return value;
}
/// <summary>
/// 获取string类型的header参数
/// </summary>
/// <param name="name">参数名称</param>
/// <param name="value">参数值</param>
/// <returns></returns>
public string GetStringHeader(string name, string value)
{
//从header获取ProvinceCode的值
if (string.IsNullOrWhiteSpace(value) && Request.Headers.Contains(name))
{
string[] Headervalue = (string[])Request.Headers.GetValues(name);
if (Headervalue.Length > 0 && Headervalue[0].ToString() != "")
{
value = Headervalue[0];
}
}
return value;
}
}
}