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 { /// /// 模型总览控制器 /// [RoutePrefix("api")] public class OverviewController : ApiController { /// /// 获取模型总览信息 /// /// 模型总览信息 [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 ); } } } }