76 lines
2.4 KiB
C#
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;
|
|
}
|
|
}
|
|
} |