public override void SetParameter(EventBase even) { RefreshListDev _event = even as RefreshListDev; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(_event.WhereSetXml); XmlNodeList xmlNodeList = xmlDoc.SelectNodes("WhereSet/Where"); DataRow dr; bool warninigRow; string [] strSource; foreach (XmlNode xmlNode in xmlNodeList) { warninigRow = false; strSource = xmlNode.Attributes["Source"].Value.Split('.'); dr = dtWhere.NewRow(); dr["DataItem"] = xmlNode.Attributes["DataItemEntityId"].Value; dr["DataSource"] = xmlNode.Attributes["Source"].Value; DataItemEntityDev dataItemEntityDev = DataEntityOperator.GetDataItemEntity(dr["DataItem"].ToString()); if (dataItemEntityDev == null) { dr["DataItemName"] = String.Empty; warninigRow = true; } else { dr["DataItemName"] = dataItemEntityDev.Name; } dr["DataSourceName"] = ""; dr["MatchType"] = xmlNode.Attributes["MatchType"].Value; if (strSource[0] == "FormElement") { FormElement formElement = this.FormEntity.GetFormElement(strSource[1]); if (formElement == null) { dr["DataSourceName"] = String.Empty; warninigRow = true; } else { dr["DataSourceName"] += Language.GetString("DataSource_FormElement") + "." + formElement.ControlTypeName + "." + formElement.Name; } } else { dr["DataSourceName"] += Language.GetString("DataSource_System") + "."; dr["DataSourceName"] += EnumMember.SystemDataSource.Select("Value = '" + strSource[1] + "'")[0]["Text"].ToString(); } dr["Warning"] = warninigRow; dtWhere.Rows.Add(dr); } }
private void btnGetSqlRegex_Click(object sender, EventArgs e) { this.txtSqlRegex.Text = String.Empty; string sqlRegex = "SELECT * FROM {Table} WHERE 1=1"; string dataEntityId = this.ParameterSetPlanCollection.General.DataEntityId; if (dataEntityId == String.Empty) { return; } string tableName = DataEntityOperator.GetDataEntity(dataEntityId).Code; sqlRegex = sqlRegex.Replace("{Table}", "[" + tableName + "]"); if (this.ParameterSetPlanCollection.Where.Where == null || this.ParameterSetPlanCollection.Where.Where.Rows.Count == 0) { this.txtSqlRegex.Text = sqlRegex.Replace("WHERE 1=1", String.Empty); return; } sqlRegex += Environment.NewLine; string dataItemName = String.Empty; string valueName = String.Empty; foreach (DataRow dr in this.ParameterSetPlanCollection.Where.Where.Rows) { dataItemName = DataEntityOperator.GetDataItemEntity(dr["DataItem"].ToString()).Code; if (dr["DataSource"].ToString().Split('.')[0] == "FormElement") { valueName = "{FormElement." + this.FormEntity.GetFormElement(dr["DataSource"].ToString().Split('.')[1]).Code + "}"; } else { valueName = "{System." + ((EnumSystemDataSource)Convert.ToInt32(dr["DataSource"].ToString().Split('.')[1])).ToString() + "}"; } sqlRegex += Environment.NewLine + " AND " + EventOperator.CombineFieldAndValue( dataItemName, valueName, (EnumMatchType)Convert.ToInt32(dr["MatchType"].ToString())); } this.txtSqlRegex.Text = sqlRegex.Replace("1=1" + Environment.NewLine + Environment.NewLine + " AND ", Environment.NewLine); }