private static void FillColumnData(QueryResult queryResult, TableDto table) { if (queryResult.Columns == null || !queryResult.Columns.Any()) { return; } foreach (var dataColumn in queryResult.Columns) { var tableColumn = table.Columns.SingleOrDefault(c => c.Key == dataColumn.Code); if (tableColumn == null) { tableColumn = new TableColumnDto { Key = dataColumn.Code, Order = table.Columns.Any() ? table.Columns.Max(_ => _.Order) + 1 : 1 }; var columnsList = table.Columns.ToList(); columnsList.Add(tableColumn); table.Columns = columnsList.ToArray(); } tableColumn.Description = dataColumn.Description; tableColumn.Name = dataColumn.Name; } }
public ResponseModelDto DeleteRedshiftData(TableColumnDto dtoModel) { ResponseModelDto responsemodel = new ResponseModelDto(); if (dtoModel != null) { var model = mapper.Map <TableColumnModel>(dtoModel); var qry = String.Format("Delete from {0} where ", model.TableName); var compareColumn = ""; var itemCount = 0; foreach (var item in model.ColumnsList) { if (itemCount > 0) { compareColumn += " AND " + item.ColumnName + "=@" + item.ColumnName; } else { compareColumn += item.ColumnName + "=@" + item.ColumnName; } itemCount++; } qry += compareColumn; responsemodel = redshiftRepository.DeleteRedshiftData(model, qry); } return(responsemodel); }
public ResponseModelDto SaveRedshiftData(TableColumnDto modelDto) { ResponseModelDto responsemodel = new ResponseModelDto(); var model = mapper.Map <TableColumnModel>(modelDto); // create dynamic query RedshiftDataModel var columnNames = ""; var columnValues = ""; foreach (var item in model.ColumnsList) { columnNames += item.ColumnName + ","; if (item.DataType == "date") { columnValues += string.IsNullOrEmpty(item.ColumnValue) ? "null," : "@" + item.ColumnName + ","; } else { columnValues += "@" + item.ColumnName + ","; } } model.ColumnValue = columnValues.TrimEnd(','); model.ColumnName = columnNames.TrimEnd(','); responsemodel = redshiftRepository.SaveRedshiftData(model); return(responsemodel); }
private static TableColumnModel ToModel(this TableColumnDto column) { if (column == null) { return(null); } return(new TableColumnModel { Description = column.Description, Key = column.Key, Name = column.Name, Order = column.Order }); }
public virtual ApiResult GetColumns() { var fields = Entity <TEntity> .Meta.AllFields; var fieldDtoList = new List <TableColumnDto>(fields.Length); foreach (var field in fields) { var fieldDto = new TableColumnDto(); fieldDto.Copy(field); // 处理成小驼峰命名规则 fieldDto.Name = fieldDto.Name.ToLower()[0].ToString() + fieldDto.Name.Substring(1); fieldDtoList.Add(fieldDto); } return(ApiResult.Ok(fieldDtoList)); }
public virtual ApiResult <List <TableColumnDto> > GetColumns() { var fields = Entity <TEntity> .Meta.AllFields.Where( w => !w.Type.IsGenericType && !typeof(EntityBase).IsAssignableFrom(w.Type) && !w.Type.IsInterface && !w.Type.IsArray ).ToList(); var fieldDtoList = new List <TableColumnDto>(fields.Count); foreach (var field in fields) { var fieldDto = new TableColumnDto(); fieldDto.Copy(field); // 处理成小驼峰命名规则 // fieldDto.Name = fieldDto.Name.ToLower()[0].ToString() + fieldDto.Name.Substring(1); // 非数据库字段设置为只读 if (field.Field == null) { fieldDto.ReadOnly = true; } if (field.PrimaryKey) { fieldDtoList.Insert(0, fieldDto); } else { fieldDtoList.Add(fieldDto); } } return(ApiResult.Ok(fieldDtoList)); }
private static void AssertColumn(TableColumnDto column, string columnKey, int order) { column.Should().NotBeNull(); column.Key.ShouldBeEquivalentTo(columnKey); column.Order.ShouldBeEquivalentTo(order); }
public ActionResult DeleteRedshiftData([FromBody] TableColumnDto model) { var response = redshiftService.DeleteRedshiftData(model); return(Ok(response)); }