Example #1
0
        public async Task <IActionResult> EditData(string connectionName, string tableName, string id, int page, int tableRowIndx, string searchFields = "", string sortColumn = "", string sortDir = "")
        {
            var tableDataVM = new TableDataVM
            {
                TableList      = await _util.GetTableList(connectionName),
                TableName      = tableName,
                ConnectionName = connectionName
            };

            tableDataVM.TableGroups = await _util.GetTableGroups(tableDataVM.TableList);

            var columnList    = new List <TableColumnInfo>();
            var tableDataDict = new PagedData {
                Data = new Dictionary <int, Row>()
            };

            columnList = await _util.GetColumnInfo(connectionName, tableName);

            tableDataDict = await _util.GetTableDataList(columnList, connectionName, tableName, page);

            var row = tableDataDict.Data[tableRowIndx];
            var tableColumnInfosJson = row.TableColumnInfosJson;

            var tablemetadata = await _util.GetTableMetadata(connectionName, tableName);

            tableDataVM.SequenceName = tablemetadata.SequenceName;

            tableDataVM.ColumnList    = columnList;
            tableDataVM.TableDataList = tableDataDict;
            tableDataVM.RowData       = await _util.GetRowData(connectionName, tableName, id, tableColumnInfosJson);

            tableDataVM.TableColumnInfosJson = tableColumnInfosJson;
            tableDataVM.SortColumn           = sortColumn;
            tableDataVM.SortDir = sortDir;

            var searchFieldsArray = JsonConvert.DeserializeObject <List <SearchFieldInfo> >(searchFields);

            foreach (var field in searchFieldsArray)
            {
                tableDataVM.SearchValues[field.Name] = field.Value;
            }

            tableDataVM.SearchFields = searchFields;

            return(View(tableDataVM));
        }