private void btnAddWhere_Click(object sender, EventArgs e) { UpdateFormDataDevEditorAdapter adapter = this.HostAdapter as UpdateFormDataDevEditorAdapter; using (FormEventDataItemDataSet formEventDataItemDataSet = new FormEventDataItemDataSet(this.HostAdapter.HostFormEntity)) { formEventDataItemDataSet.DataEntityId = adapter.ParameterPanels.Update.DataEntityId; formEventDataItemDataSet.AllowDataSourceType = UpdateFormDataDev.AllowDataSourceType; formEventDataItemDataSet.AllowFormElementControlType = UpdateFormDataDev.AllowFormElementControlType; if (formEventDataItemDataSet.ShowDialog() == DialogResult.OK) { UpdateFormDataEvent.WhereItem where = new UpdateFormDataEvent.WhereItem() { DataItem = formEventDataItemDataSet.SelectedDataItemId, DataItemName = formEventDataItemDataSet.SelectedDataItemName, Source = new DataSource(formEventDataItemDataSet.SelectedDataSourceString), SourceName = formEventDataItemDataSet.SelectedDataSourceVisibleString, MatchType = EnumMatchType.Equal }; this._wheres.Add(where); } } }
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)); }