Example #1
0
        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);
        }