using Infrastructure; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using OpenAuth.App; using OpenAuth.App.FormModule; using OpenAuth.App.FormScheme.Request; using OpenAuth.App.Interface; using OpenAuth.App.Request; using OpenAuth.App.Response; using OpenAuth.Repository.Domain; using OpenAuth.WebApi.Model.CustomAttribute; using SqlSugar; namespace OpenAuth.WebApi.Controllers { /// /// 无人机执法 /// //[Route("api/[controller]/[action]")] //[ApiController] public partial class DroneCaseinfoController1 : ControllerBase { IConfiguration _configuration; DroneCaseinfoApp _app; IAuth _auth; ILogger _logger; WFProcessApp _wfProcessApp; public DroneCaseinfoController1( IConfiguration configuration, DroneCaseinfoApp app, IAuth auth, ILogger logger, WFProcessApp wFProcessApp) { _configuration = configuration; _app = app; _auth = auth; _logger = logger; _wfProcessApp = wFProcessApp; } #region 案件 /// /// 收藏案件 /// /// /// [HttpPost] [AllowAnonymous] public async Task> AddCaseFavorite([FromBody] DroneCaseFavorite model) { Response response = new Response(); try { response = await _app.AddCaseFavorite(model); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 加载收藏的案件信息 /// /// /// [HttpGet] public async Task>>> LoadFavoriteCases([FromQuery] PageReq req) { try { return await _app.LoadFavoriteCases(req); } catch (Exception ex) { return new Response>>() { Result = null, Code = 500, Message = "获取数据失败" }; } } /// /// 获取收藏列表 /// /// [HttpGet] public async Task> FavoriteCaseList(string uid) { try { return await _app.FavoriteCaseList(uid); } catch (Exception ex) { return new Response() { Result = null, Code = 500, Message = "获取数据失败" }; } } /// /// 批量删除收藏的案件 /// /// /// [HttpPost] public async Task> DeleteFavoriteCases([FromBody] string[] ids) { Response response = new Response(); try { response = await _app.DeleteFavoriteCases(ids); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 删除收藏的案件 /// /// /// [HttpPost] public async Task> DeleteFavoriteCase([FromBody] string id) { Response response = new Response(); try { response = await _app.DeleteFavoriteCase(id); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 获取案件记录 /// /// /// [HttpGet] [AllowAnonymous] public async Task>> LoadDroneCaseLog(string caseid) { Response> response = new Response>(); try { response = await _app.LoadDroneCaseLog(caseid); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 无人机添加案件 /// /// /// [HttpPost] [AllowAnonymous] public async Task> AddDroneCaseByDrone([FromBody] AddDroneCaseByDroneReq req) { Response response = new Response(); try { response = await _app.BackhaulDroneCaseByDrone(req); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 上报案件 /// /// /// [HttpPost] public async Task> AddDroneCaseInfo([FromBody] AddOrUpdateDroneCaseInfoReq req) { Response response = new Response(); try { if (string.IsNullOrEmpty(req.info.Id)) { //新增 response = await _app.AddDroneCaseInfo(req); } else { //修改 response = await _app.UpdateDroneCaseInfo(req); } } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 案件判读 /// /// /// [HttpPost] public async Task> UpdateDroneCaseInfoIntact([FromBody] AddOrUpdateDroneCaseInfoReq req) { Response response = new Response(); try { response = await _app.UpdateDroneCaseInfoIntact(req); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 分配案件 /// /// /// [HttpPost] public async Task> DispenseDroneCaseData([FromBody] AddOrUpdateDispenseDroneCaseDataReq req) { Response response = new Response(); try { response = await _app.DispenseDroneCaseData(req); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 获取案件绑定关联关系 /// /// /// [HttpGet] public async Task> GetDispenseDroneCaseData(string id) { Response response = new Response(); try { response = await _app.GetDispenseDroneCaseData(id); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 关闭案件 /// /// /// [HttpGet] public async Task> CloseDroneCaseInfo(string id) { Response response = new Response(); try { response = await _app.CloseDroneCaseInfo(id); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 审核通过 /// /// /// [HttpGet] public async Task> VerifyCaseInfoSuccess(string id) { Response response = new Response(); try { response = await _app.VerifyCaseInfoSuccess(id); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 审核改进 /// /// /// [HttpPost] public async Task> VerifyCaseInfoFailed(AddOrUpdateVerifyCaseSuccessReq req) { Response response = new Response(); try { response = await _app.VerifyCaseInfoFailed(req); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 上报事件 /// /// /// [HttpPost] public async Task> AddCaseEvent([FromBody] AddOrUpdateDroneCaseEventReq req) { var response = new Response(); try { response = await _app.AddCaseEvent(req); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 上报案件临时接口-分配给自己 /// /// /// [HttpPost] public async Task> AddTemporaryDroneCaseInfo([FromBody] AddOrUpdateDroneCaseInfoReq req) { Response response = new Response(); try { response = await _app.AddTemporaryDroneCaseInfo(req); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } #endregion #region 案件列表 /// /// 查询案件和处理信息列表 /// /// [HttpGet] public async Task>>> LoadCaseInfoAndDealInfoList([FromQuery] QueryCaseInfoListReq req) { try { return await _app.LoadCaseInfoAndDealInfoList(req); } catch (Exception ex) { return new Response>>() { Code = 500, Message = "获取数据失败" }; } } /// /// 查询案件列表 /// /// [HttpGet] public async Task>>> LoadCaseInfoList([FromQuery] QueryCaseInfoListReq req) { try { return await _app.LoadCaseInfoListInterface(req); } catch (Exception ex) { return new Response>>() { Code = 500, Message = "获取数据失败" }; } } /// /// 查询判读案件列表 /// /// /// [HttpGet] public async Task>>> LoadIntactCaseInfoList([FromQuery] QueryIntactCaseInfoListReq obj) { try { QueryCaseInfoListReq req = obj.MapTo(); return await _app.LoadCaseInfoList(req); } catch (Exception ex) { return new Response>>() { Code = 500, Message = "获取数据失败" }; } } /// /// 查询处理案件列表 /// /// /// [HttpGet] public async Task>>> LoadDealCaseInfoList([FromQuery] QueryCaseInfoListReq obj) { try { return await _app.LoadDealCaseInfoList(obj); } catch (Exception ex) { return new Response>>() { Code = 500, Message = "获取数据失败" }; } } /// /// 根据案件分配查询案件 /// /// /// [HttpGet] public async Task>>> LoadDealCaseInfoListByLaw([FromQuery] QueryCaseInfoListReq obj) { try { return await _app.LoadDealCaseInfoListByLaw(obj); } catch (Exception ex) { return new Response>>() { Code = 500, Message = "获取数据失败" }; } } #endregion #region 案件数量统计App查询案件 全部 未办理 办理中 已办结数量 /// /// 案件数量统计 /// /// [HttpGet] public async Task> CaseCountCensus() { Response response = new Response(); try { QueryCaseInfoListReq req = new QueryCaseInfoListReq(); req.is_dealer = 1; response = await _app.CaseCountCensus(req); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 待审核案件及未读消息数量 /// /// [HttpGet] public Response UnreadMsgAndCaseCount() { Response response = new Response(); try { return _app.UnreadMsgAndCaseCount(); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 首页通知统计数量 /// /// [HttpGet] public Response GetIndexCensusDataApp() { Response response = new Response(); try { return _app.GetIndexCensusDataApp(); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 根据分配案件 进行案件数量统计 /// /// [HttpGet] public async Task> CaseCountCensusByLaw() { Response response = new Response(); try { //判断是否是乡镇管理员和审核管理员 var currentUser = _auth.GetCurrentUser(); var _count = currentUser.Roles.Where(c => c.Name.Contains("案件处理")).Count(); if (_count == 0) { return await CaseCountCensus(); } else { QueryCaseInfoListReq req = new QueryCaseInfoListReq(); req.dispense_dealer = 1; return await _app.CaseCountCensus(req); } } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 根据分配案件 进行案件数量统计 /// /// [HttpGet] public async Task> CaseCountCensusByLawDetail() { Response response = new Response(); try { return await _app.GetDroneTypeCount("", 1); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 案件详情 /// /// /// [HttpGet] public async Task> GetCaseInfo(string id) { Response response = new Response(); try { return await _app.GetCaseInfo(id); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 查询案件和处理信息的详情内容 /// /// /// [HttpGet] public async Task> GetCaseInfoAndDealInfo(string id) { Response response = new Response(); try { return await _app.GetCaseInfoAndDealInfo(id); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 获取案件处理流程 /// /// /// [HttpGet] public async Task>> GetCaseFlowLog(string id) { Response> response = new Response>(); try { return await _app.GetCaseFlowLog(id); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 查询案件 /// /// [HttpGet] public async Task> LoadCaseInfoData() { Response response = new Response(); try { return await _app.LoadCaseInfoData(); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 删除案件接口 /// /// /// [HttpPost] public async Task> DeleteDroneCaseInfo(string[] ids) { Response response = new Response(); try { return await _app.DeleteDroneCaseInfo(ids); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 删除文件 /// /// /// [HttpPost] public async Task> DeleteDroneFiles(string[] ids) { Response response = new Response(); try { return await _app.DeleteDroneFiles(ids); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 删除文件 - 通过路径删除 /// /// /// [HttpPost] public async Task> DeleteDroneFilesByPath(string[] paths) { Response response = new Response(); try { return await _app.DeleteDroneFilesByPath(paths); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 获取所有案件中心点 /// APP获取中心点和图层的坐标点集合 /// /// [HttpGet] public async Task> GetAllDroneCaseCenterApp(string id) { Response response = new Response(); try { return await _app.GetAllDroneCaseCenterApp(id); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 保存图片 /// /// /// [HttpPost] public async Task> AddDroneCasePic([FromBody] AddFroneCasePicReq req) { var res = new Response(); try { return await _app.AddDroneCasePic(req); } catch (Exception ex) { res.Code = 500; res.Message = ex.InnerException?.Message ?? ex.Message; } return res; } /// /// 添加案件处理图片 /// /// /// [HttpPost] public async Task> AddDroneDealPic([FromBody] AddDroneDealPicReq req) { var res = new Response(); try { return await _app.AddDroneDealPic(req); } catch (Exception ex) { res.Code = 500; res.Message = ex.InnerException?.Message ?? ex.Message; } return res; } /// /// 删除图片 /// /// /// [HttpPost] public async Task> DeleteDroneCasePic(string id) { var res = new Response(); try { return await _app.DeleteDroneCasePic(id); } catch (Exception ex) { res.Code = 500; res.Message = ex.InnerException?.Message ?? ex.Message; } return res; } #endregion #region 通知 /// /// 查询所有通知信息 /// /// [HttpGet] public async Task>> LoadMessageList([FromQuery] QueryDroneCaseinfoReq req) { try { return await _app.LoadMessageList(req); } catch (Exception ex) { return new Response>() { Result = null, Code = 500, Message = "获取数据失败" }; } } ///// ///// 查询通知详情 ///// ///// 通知信息id ///// //[HttpGet] //public async Task> LoadMessage(string id) //{ // var result = new Response(); // try // { // return await _app.LoadMessage(id); // } // catch (Exception ex) // { // result.Code = 500; // result.Message = ex.InnerException?.Message ?? ex.Message; // } // return result; //} /// /// 查询通知详情 /// /// 通知信息id /// [HttpGet] public async Task> LoadMessage(string id) { var result = new Response(); try { return await _app.LoadMessage(id); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 根据权限查看通知详情 /// /// /// [HttpGet] public async Task> LoadMessageUser(string id) { var result = new Response(); try { return await _app.LoadMessageUser(id); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 添加通知 /// /// /// [HttpPost] public async Task> AddMessage([FromBody] QueryDroneCaseRecipientUserReq req) { var result = new Response(); try { return await _app.AddMessage(req); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 添加通知-部门角色 /// /// /// [HttpPost] public async Task> AddMessRoleOrg([FromBody] QueryDroneCaseRecipientOrgRoleReq req) { var result = new Response(); try { return await _app.AddMessRoleOrg(req); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 编辑通知 /// /// /// [HttpPost] public async Task> UpdateMessage([FromBody] DroneMessage obj) { var result = new Response(); try { return await _app.UpdateMessage(obj); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 更新删除通知信息 /// /// /// [HttpPost] public async Task> UpdateDelMessage(string id) { var result = new Response(); try { return await _app.UpdateDelMessage(id); } catch (Exception ex) { result.Code = 500; result.Result = false; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 设置通知已读 /// /// /// [HttpGet] public async Task> SetMessageRead(string messageid) { Response response = new Response(); try { return await _app.SetMessageRead(messageid); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } #endregion #region 图层 /// /// 根据表名获取矢量切片 /// /// /// [HttpGet] [AllowAnonymous] public IActionResult QueryVectorTileByTable([FromQuery] QueryVectorTileByTableReq req) { var result = _app.QueryVectorTileByTable(req); return File(result, "application/octet-stream"); } /// /// 添加违建图层 /// /// /// [HttpPost] public async Task> AddIllegalBuildeLayer([FromBody] DroneShpData model) { var res = new Response(); try { return await _app.AddIllegalBuildeLayer(model); } catch (Exception ex) { res.Code = 500; res.Message = ex.InnerException?.Message ?? ex.Message; } return res; } /// /// 编辑违建图层 /// /// /// [HttpPost] public async Task> UpdateIllegalBuildeLayer([FromBody] DroneShpData model) { var res = new Response(); try { return await _app.UpdateIllegalBuildeLayer(model); } catch (Exception ex) { res.Code = 500; res.Message = ex.InnerException?.Message ?? ex.Message; } return res; } /// /// 删除图斑 /// /// /// [HttpGet] public async Task> DeleteDroneLayers(int gid) { var res = new Response(); try { return await _app.DeleteDroneLayers(gid); } catch (Exception ex) { res.Code = 500; res.Message = ex.InnerException?.Message ?? ex.Message; } return res; } /// /// 查询主页违法图层数据 /// 获取所有图斑,主页用 /// /// /// [HttpGet] public Response LoadAllDroneGeoJson([FromQuery] QueryAllDroneGeoJsonReq reqObj) { var res = new Response(); try { res.Result = _app.LoadAllDroneGeoJson(reqObj); } catch (Exception ex) { res.Code = 500; res.Message = ex.InnerException?.Message ?? ex.Message; } return res; } /// /// 获取GeoJson /// PC获取图层的GeoJson(判读页面用) /// /// /// [HttpGet] [AllowAnonymous] public Response GetDroneGeoJson(string id) { Response response = new Response(); try { response.Result = _app.GetDroneGeoJson(id); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// app获取GeoJson /// 替代app获取中心点和图层坐标点集合 /// /// /// [HttpGet] public async Task> GetDroneGeoJsonApp(string id) { Response response = new Response(); try { return await _app.GetDroneGeoJsonApp(id); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 根据经纬度获取组织机构 /// /// /// /// [HttpGet] public async Task> GetOrgAreaByPoint(decimal lng, decimal lat) { Response response = new Response(); try { return await _app.GetOrgAreaByPoint(lng, lat); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 计算点与shp之间的距离 /// /// [HttpGet] public async Task> GetPointShpDistance(string lng, string lat, string caseid) { Response response = new Response(); try { return await _app.GetPointShpDistance(lng, lat, caseid); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } #endregion #region 统计 /// /// 综合统计 /// /// [HttpGet] public async Task> CaseSynthesisCensusSingle([FromQuery] QueryCaseInfoListReq req) { Response response = new Response(); try { return await _app.CaseSynthesisCensusSingle(req); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } [HttpPost] public async Task ExportCaseSynthesisCensusStreet([FromQuery] QueryCaseInfoListReq req) { var res = new Response(); //获取列表数据 Response response = await _app.CaseSynthesisCensusSingle(req); //获取模板数据 List headers = new List(); ModuleColumn m1 = new ModuleColumn(); m1.key = "streetname"; m1.value = "乡镇"; headers.Add(m1); ModuleColumn m2 = new ModuleColumn(); m2.key = "allCount"; m2.value = "无人机发现数量"; headers.Add(m2); ModuleColumn m3 = new ModuleColumn(); m3.key = "handleStatus"; m3.value = "完成外业核查数量"; headers.Add(m3); ModuleColumn m4 = new ModuleColumn(); m4.key = "notDealHour24"; m4.value = "24h内未核查"; headers.Add(m4); ModuleColumn m5 = new ModuleColumn(); m5.key = "typeFanxinCount"; m5.value = "房屋翻新"; headers.Add(m5); ModuleColumn m6 = new ModuleColumn(); m6.key = "typeJiagaiCount"; m6.value = "房屋加盖"; headers.Add(m6); ModuleColumn m7 = new ModuleColumn(); m7.key = "typeFanjianCount"; m7.value = "房屋翻建"; headers.Add(m7); ModuleColumn m8 = new ModuleColumn(); m8.key = "typeCunliangCount"; m8.value = "存量建设"; headers.Add(m8); ModuleColumn m9 = new ModuleColumn(); m9.key = "typeTuituCount"; m9.value = "推土"; headers.Add(m9); ModuleColumn m10 = new ModuleColumn(); m10.key = "typeOtherCount"; m10.value = "其他"; headers.Add(m10); ModuleColumn m11 = new ModuleColumn(); m11.key = "illegal0Count"; m11.value = "合法"; headers.Add(m11); ModuleColumn m12 = new ModuleColumn(); m12.key = "illegal1Count"; m12.value = "违法"; headers.Add(m12); ModuleColumn m13 = new ModuleColumn(); m13.key = "illegal2Count"; m13.value = "伪变化"; headers.Add(m13); ModuleColumn m14 = new ModuleColumn(); m14.key = "illegalNullCount"; m14.value = "外业核实确定违法数"; headers.Add(m14); ModuleColumn m15 = new ModuleColumn(); m15.key = "illegalHandleAreaList"; m15.value = "违法面积"; headers.Add(m15); ModuleColumn m16 = new ModuleColumn(); m16.key = "illegalHandle2Status"; m16.value = "整改销号数"; headers.Add(m16); ModuleColumn m17 = new ModuleColumn(); m17.key = "illegalHandle01Status"; m17.value = "尚未整改宗数"; headers.Add(m17); ModuleColumn m18 = new ModuleColumn(); m18.key = "illegalHandle2AreaList"; m18.value = "销号面积"; headers.Add(m18); ModuleColumn m19 = new ModuleColumn(); m19.key = "illegalHandle01AreaList"; m19.value = "未整改面积"; headers.Add(m19); ModuleColumn m20 = new ModuleColumn(); m20.key = "notComplete3"; m20.value = "3日内未整改完成"; headers.Add(m20); ModuleColumn m21 = new ModuleColumn(); m21.key = "notComplete7"; m21.value = "7日内未整改完成"; headers.Add(m21); ModuleColumn m22 = new ModuleColumn(); m22.key = "notComplete30"; m22.value = "30日内未整改完成"; headers.Add(m22); ModuleColumn m23 = new ModuleColumn(); m23.key = "notComplete30More"; m23.value = "30日以上未整改完成"; headers.Add(m23); var excelRes = _app.ListToExcel(response.Result, headers); if (excelRes.Code == 200) { return File(excelRes.Result.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "数据导出" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"); } else { res.Code = excelRes.Code; res.Message = "导出失败"; } return Ok(res); } [HttpGet] public async Task> CaseSynthesisCensus([FromQuery] QueryCaseInfoListReq req) { Response response = new Response(); try { return await _app.CaseSynthesisCensus(req); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 综合统计,统计镇权限 /// /// [HttpGet] public Response CaseSynthesisCensusStreet([FromQuery] QueryCaseInfoListReq req) { Response response = new Response(); try { response.Result = _app.CaseSynthesisCensusStreet(req); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } #endregion } }