private void btnGetSqlRegex_Click(object sender, EventArgs e) { LoadDataToFormDevEditorAdapter adapter = this.HostAdapter as LoadDataToFormDevEditorAdapter; this.txtSqlRegex.Text = String.Empty; if (adapter.ParameterPanels.DataEntity.DataEntityId == String.Empty) { return; } string dataEntityId = adapter.ParameterPanels.DataEntity.DataEntityId; DataEntity dataEntity = _dataEntityComponentService.GetDataEntity(dataEntityId); List <DataItemEntity> dataItems = dataEntity.Items.ToList(); string sqlRegex = "SELECT {Field} FROM {Table} WHERE 1=1"; string tableName = dataEntity.Code; sqlRegex = sqlRegex.Replace("{Table}", "[" + tableName + "]"); string dataItemName; foreach (LoadDataToFormDev.LoadItem load in adapter.ParameterPanels.Load.Loads) { List <DataItemEntity> items = (from c in dataItems where c.Id.Equals(load.DataItem) select c).ToList(); Debug.Assert(items.Count == 1, "没有找到指定的数据项实体"); dataItemName = items[0].Code; sqlRegex = sqlRegex.Replace("{Field}", "[" + dataItemName + "],{Field}"); } sqlRegex = sqlRegex.Replace(",{Field}", ""); sqlRegex = sqlRegex.Replace("{Field}", "*"); if (adapter.ParameterPanels.DataEntity.Wheres.Count == 0) { this.txtSqlRegex.SetContent(sqlRegex.Replace("WHERE 1=1", String.Empty)); return; } sqlRegex += Environment.NewLine; string valueName = String.Empty; foreach (LoadDataToFormEvent.WhereItem whereItem in adapter.ParameterPanels.DataEntity.Wheres) { List <DataItemEntity> items = (from c in dataItems where c.Id.Equals(whereItem.DataItem) select c).ToList(); Debug.Assert(items.Count == 1, "没有找到指定的数据项实体"); dataItemName = items[0].Code; if (whereItem.Source.Type == EnumEventDataSource.FormElement) { valueName = "{FormElement." + this.HostAdapter.HostFormEntity.FindFormElementById(whereItem.Source.Source).Code + "}"; } else { valueName = "{System." + ((EnumSystemDataSource)Convert.ToInt32(whereItem.Source.Source)).ToString() + "}"; } sqlRegex += Environment.NewLine + " AND " + CommonOperater.CombineFieldAndValue( dataItemName, valueName, whereItem.MatchType); } this.txtSqlRegex.SetContent(sqlRegex.Replace("1=1" + Environment.NewLine + Environment.NewLine + " AND ", Environment.NewLine)); }
private void btnGetSqlRegex_Click(object sender, EventArgs e) { DeleteDataDevEditorAdapter adapter = this.HostAdapter as DeleteDataDevEditorAdapter; this.txtSqlRegex.Text = String.Empty; if (adapter.ParameterPanels.DataEntity.DataEntityId == String.Empty) { return; } string dataEntityId = adapter.ParameterPanels.DataEntity.DataEntityId; DataEntity dataEntity = _dataEntityComponentService.GetDataEntity(dataEntityId); string sqlRegex = "DELETE FROM {Table} WHERE 1=1"; string tableName = dataEntity.Code; sqlRegex = sqlRegex.Replace("{Table}", "[" + tableName + "]"); if (adapter.ParameterPanels.DataEntity.Where.Count == 0) { this.txtSqlRegex.SetContent(sqlRegex.Replace("WHERE 1=1", String.Empty)); return; } sqlRegex += Environment.NewLine; string dataItemName = String.Empty; string valueName = String.Empty; foreach (DeleteDataEvent.WhereItem whereItem in adapter.ParameterPanels.DataEntity.Where) { UIElement formElement; DataItemEntity item = dataEntity.Items.GetEntityById(whereItem.DataItem); Debug.Assert(item != null, "没有找到指定的数据项实体"); dataItemName = item.Code; if (whereItem.Source.Type == EnumEventDataSource.FormElement) { formElement = this.HostAdapter.HostFormEntity.FindFormElementById(whereItem.Source.Source); valueName = "{FormElement." + formElement.FullCode + "}"; } else { valueName = "{System." + ((EnumSystemDataSource)Convert.ToInt32(whereItem.Source.Source)).ToString() + "}"; } sqlRegex += Environment.NewLine + " AND " + CommonOperater.CombineFieldAndValue( dataItemName, valueName, whereItem.MatchType); } this.txtSqlRegex.SetContent(sqlRegex.Replace("1=1" + Environment.NewLine + Environment.NewLine + " AND ", Environment.NewLine)); }
private void btnGetSqlRegex_Click(object sender, EventArgs e) { UpdateFormDataDevEditorAdapter adapter = this.HostAdapter as UpdateFormDataDevEditorAdapter; this.txtSqlRegex.Text = String.Empty; if (adapter.ParameterPanels.Update.Updates.Count == 0 && adapter.ParameterPanels.Where.Wheres.Count == 0) { return; } string dataEntityId = adapter.ParameterPanels.Update.DataEntityId; DataEntity dataEntity = _dataEntityComponentService.GetDataEntity(dataEntityId); string sqlRegex = "UPDATE {Table} SET {Field} WHERE 1=1"; string tableName = dataEntity.Code; sqlRegex = sqlRegex.Replace("{Table}", "[" + tableName + "]"); string dataItemName = String.Empty; string valueName = String.Empty; if (adapter.ParameterPanels.Update.Updates.Count > 0) { sqlRegex += Environment.NewLine; foreach (UpdateFormDataDev.UpdateItem update in adapter.ParameterPanels.Update.Updates) { dataItemName = dataEntity.Items.GetEntityById(update.DataItem).Code; if (update.Source.Type == EnumEventDataSource.FormElement) { valueName = "{FormElement." + this.HostAdapter.HostFormEntity.FindFormElementById(update.Source.Source).Code + "}"; } else { valueName = "{System." + ((EnumSystemDataSource)Convert.ToInt32(update.Source.Source)).ToString() + "}"; } sqlRegex = sqlRegex.Replace("{Field}", "[" + dataItemName + "] = " + valueName + ",{Field}"); } sqlRegex = sqlRegex.Replace(",{Field}", ""); } else { sqlRegex = sqlRegex.Replace("{Field}", ""); } if (adapter.ParameterPanels.Where.Wheres.Count == 0) { this.txtSqlRegex.SetContent(sqlRegex.Replace("WHERE 1=1", String.Empty)); return; } sqlRegex += Environment.NewLine; foreach (UpdateFormDataEvent.WhereItem where in adapter.ParameterPanels.Where.Wheres) { dataItemName = dataEntity.Items.GetEntityById(where.DataItem).Code; if (where.Source.Type == EnumEventDataSource.FormElement) { valueName = "{FormElement." + this.HostAdapter.HostFormEntity.FindFormElementById(where.Source.Source).Code + "}"; } else { valueName = "{System." + ((EnumSystemDataSource)Convert.ToInt32(where.Source.Source)).ToString() + "}"; } sqlRegex += Environment.NewLine + " AND " + CommonOperater.CombineFieldAndValue( dataItemName, valueName, where.MatchType); } this.txtSqlRegex.SetContent(sqlRegex.Replace("1=1" + Environment.NewLine + Environment.NewLine + " AND ", Environment.NewLine)); }
private void btnGetSqlRegex_Click(object sender, EventArgs e) { DataListRefreshDevEditorAdapter adapter = this.HostAdapter as DataListRefreshDevEditorAdapter; this.txtSqlRegex.Text = String.Empty; string dataEntityId = adapter.ParameterPanels.General.DataEntityId; if (dataEntityId == String.Empty || dataEntityId == null) { return; } UIElementDataListEntity dataListEntity = this.HostAdapter.HostFormEntity.Elements.GetFormElementById( adapter.ParameterPanels.General.DataListId) as UIElementDataListEntity; if (dataListEntity == null) { return; } string sqlRegex = String.Empty; sqlRegex += @"SELECT Count(Id) FROM {Table}; SELECT {Field} FROM {Table} WHERE 1=1 {Where}; WITH tableOrder AS ( SELECT Id,{Field}, ROW_NUMBER() OVER (order by Id) AS RowNumber FROM {Table} WHERE 1=1 {Where} ) SELECT * FROM tableOrder WHERE RowNumber BETWEEN @rowNumberStart AND @rowNumberEnd ORDER BY Id; "; DataEntity dataEntity = _dataEntityComponentService.GetDataEntity(dataEntityId); string tableName = dataEntity.Code; sqlRegex = sqlRegex.Replace("{Table}", "[" + tableName + "]"); foreach (UIElementDataListTextBoxColumnEntity column in dataListEntity.DataColumns) { sqlRegex = sqlRegex.Replace("{Field}", "[" + column.GetDataItemCode() + "],{Field}"); } sqlRegex = sqlRegex.Replace(",{Field}", ""); if (adapter.ParameterPanels.Where.Wheres == null || adapter.ParameterPanels.Where.Wheres.Count == 0) { sqlRegex = sqlRegex.Replace("{Where}", String.Empty); this.txtSqlRegex.SetContent(sqlRegex.Replace("WHERE 1=1", String.Empty)); return; } sqlRegex += Environment.NewLine; string strWhere = String.Empty; string dataItemName = String.Empty; string valueName = String.Empty; foreach (DataListRefreshEvent.WhereItem whereItem in adapter.ParameterPanels.Where.Wheres) { DataItemEntity item = dataEntity.Items.GetEntityById(whereItem.DataItem); Debug.Assert(item != null, "没有找到指定的数据项实体"); dataItemName = item.Code; if (whereItem.Source.ToString().Split('.')[0] == "FormElement") { valueName = "{FormElement." + this.HostAdapter.HostFormEntity.FindFormElementById(whereItem.Source.ToString().Split('.')[1]).Code + "}"; } else { valueName = "{System." + ((EnumSystemDataSource)Convert.ToInt32(whereItem.Source.ToString().Split('.')[1])).ToString() + "}"; } strWhere += " AND " + CommonOperater.CombineFieldAndValue(dataItemName, valueName, whereItem.MatchType); } sqlRegex = sqlRegex.Replace("{Where}", strWhere); this.txtSqlRegex.SetContent(sqlRegex.Replace("1=1" + Environment.NewLine + Environment.NewLine + " AND ", Environment.NewLine)); }