TellmeRevitPluging/Controllers/OverviewController.cs
2025-12-09 17:43:30 +08:00

58 lines
1.6 KiB
C#

using System;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using RevitHttpControl.Models;
using RevitHttpControl.Services;
using RevitHttpControl.Common;
namespace RevitHttpControl.Controllers
{
/// <summary>
/// 模型总览控制器
/// </summary>
[RoutePrefix("api")]
public class OverviewController : ApiController
{
/// <summary>
/// 获取模型总览信息
/// </summary>
/// <returns>模型总览信息</returns>
[HttpGet]
[Route("overview")]
public HttpResponseMessage GetOverview()
{
try
{
var overview = RevitService.GetModelOverview();
return this.CreateSuccessResponse(overview, "模型总览获取成功");
}
catch (InvalidOperationException ex)
{
return this.CreateErrorResponse(
ErrorCodes.NO_DOCUMENT_OPEN,
ex.Message,
HttpStatusCode.BadRequest
);
}
catch (TimeoutException ex)
{
return this.CreateErrorResponse(
ErrorCodes.OPERATION_TIMEOUT,
ex.Message,
HttpStatusCode.RequestTimeout
);
}
catch (Exception ex)
{
return this.CreateErrorResponse(
ErrorCodes.REVIT_API_ERROR,
"获取模型总览失败",
HttpStatusCode.InternalServerError,
ex.Message
);
}
}
}
}