public ActionResult Get(string name) { try { if (string.IsNullOrEmpty(name)) { return(new ViewNameWasNotSuppliedApiHttpException()); } View view = GetView(name); if (view == null) { return(new ViewNotFoundApiHttpException(name, Response)); } ConfigAccess ConfigAccess = new ConfigAccess(); var pk = ConfigAccess.GetViewPK(name, Map.GetConfigDatabase().ConnectionString); var item = RestHelper.Get(GetView("View"), pk, true, view_BeforeSelect, view_AfterSelect); Response.StatusCode = (int)HttpStatusCode.OK; return(Json(item, JsonRequestBehavior.AllowGet)); } catch (Exception exception) { return(new UnexpectedApiHttpException(exception, Response)); } }
private void OrderViewAndColumns(Dictionary <string, object> transformResult) { ArrayList tables = (ArrayList)transformResult["tables"]; Dictionary <string, object> tableColumns = (Dictionary <string, object>)transformResult["columns"]; ConfigAccess ca = new ConfigAccess(); Durados.View viewView = map.GetConfigDatabase().Views["View"]; Durados.View fieldView = map.GetConfigDatabase().Views["Field"]; for (int i = 0; i < tables.Count; i++) { string viewJsonName = tables[i].ToString(); Durados.View view = Map.Database.GetViewByJsonName(viewJsonName); string viewName = view.Name; string vpk = ca.GetViewPK(viewJsonName, Map.GetConfigDatabase().ConnectionString); viewView.Edit(new Dictionary <string, object>() { { "Order", 10000 + i * 10 } }, vpk, view_BeforeEdit, view_BeforeEditInDatabase, view_AfterEditBeforeCommit, view_AfterEditAfterCommit); ArrayList columns = (ArrayList)tableColumns[viewJsonName]; for (int j = 0; j < columns.Count; j++) { string columnName = columns[j].ToString(); Field field = view.GetFieldByColumnNames(columnName); if (field != null) { string fieldName = field.Name; string fpk = ca.GetFieldPK(viewName, fieldName, Map.GetConfigDatabase().ConnectionString); fieldView.Edit(new Dictionary <string, object>() { { "Order", 500 + j * 10 } }, fpk, view_BeforeEdit, view_BeforeEditInDatabase, view_AfterEditBeforeCommit, view_AfterEditAfterCommit); } } } RefreshConfigCache(); }