58 lines
1.6 KiB
C#
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
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|