コード例 #1
0
        //*********************************************************************
        //
        // btnSaveQueryClick Method
        //
        // This method is called when a user clicks the Save Query button.
        // The method saves the query to a database table.
        //
        //******************************************************************

        protected void btnSaveQueryClick(Object s, EventArgs e)
        {
            string queryName = txtQueryName.Text.Trim();

            if (queryName == String.Empty)
            {
                return;
            }

            QueryClauseCollection queryClauses = BuildQuery();

            if (queryClauses.Count == 0)
            {
                return;
            }


            bool success = Query.SaveQuery(User.Identity.Name, dropProjects.SelectedValue, queryName, queryClauses);

            if (success)
            {
                Response.Redirect("QueryList.aspx");
            }
            else
            {
                lblSaveError.Text = "Could not save query";
            }
        }
コード例 #2
0
        protected CollectionBase  GenerateQueryClauseCollectionFromReader(IDataReader returnData)
        {
            QueryClauseCollection queryCollection = new QueryClauseCollection();

            while (returnData.Read())
            {
                QueryClause newQueryClause = new QueryClause((string)returnData["BooleanOperator"], (string)returnData["FieldName"], (string)returnData["ComparisonOperator"], (string)returnData["FieldValue"], (SqlDbType)returnData["DataType"]);
                queryCollection.Add(newQueryClause);
            }
            return(queryCollection);
        }
コード例 #3
0
        //*********************************************************************
        //
        // BuildQuery Method
        //
        // This method builds a database query by iterating through each query clause.
        //
        //******************************************************************

        QueryClauseCollection BuildQuery()
        {
            QueryClauseCollection colQueryClauses = new QueryClauseCollection();

            foreach (PickQueryField ctlPickQuery in plhClauses.Controls)
            {
                QueryClause objQueryClause = ctlPickQuery.QueryClause;
                if (objQueryClause != null)
                {
                    colQueryClauses.Add(objQueryClause);
                }
            }

            return(colQueryClauses);
        }
コード例 #4
0
        //*********************************************************************
        //
        // ExecuteQuery Method
        //
        // This method executes a query and displays the results.
        //
        //******************************************************************

        void ExecuteQuery()
        {
            QueryClauseCollection colQueryClauses = BuildQuery();

            if (colQueryClauses.Count > 0)
            {
                try
                {
                    IssueCollection colIssues = Issue.PerformQuery(dropProjects.SelectedValue, colQueryClauses);
                    ctlDisplayIssues.DataSource = colIssues;
                }
                catch
                {
                    lblError.Text = "Error in query. Please check query values.";
                }

                ctlDisplayIssues.DataBind();
            }
        }
コード例 #5
0
ファイル: ExtnGen.cs プロジェクト: ScottWeinstein/ILUnMerge
 public static bool Compare(this QueryClauseCollection source, QueryClauseCollection n, Func<IQueryClause, IQueryClause, Action<string, string>, bool> checkitem, Action<string, string> errAct)
 {
     return Compare<IQueryClause>(source,n,checkitem,errAct);
 }
コード例 #6
0
ファイル: ExtnGen.cs プロジェクト: ScottWeinstein/ILUnMerge
 public static bool Compare(this QueryClauseCollection source, QueryClauseCollection n, Func<IQueryClause, IQueryClause, bool> checkitem)
 {
     return Compare<IQueryClause>(source,n,checkitem);
 }
コード例 #7
0
ファイル: ExtnGen.cs プロジェクト: ScottWeinstein/ILUnMerge
 public static bool Compare(this QueryClauseCollection source, QueryClauseCollection n)
 {
     return Compare<IQueryClause>(source,n);
 }
コード例 #8
0
 public abstract bool SaveQuery(string username, int projectId, string queryName, QueryClauseCollection queryClauses);
コード例 #9
0
 public abstract IssueCollection PerformQuery(int projectId, QueryClauseCollection queryClauses);
コード例 #10
0
ファイル: ExtnGen.cs プロジェクト: ScottWeinstein/ILUnMerge
 public static bool Compare(this QueryClauseCollection source, QueryClauseCollection n, Func <IQueryClause, IQueryClause, Action <string, string>, bool> checkitem, Action <string, string> errAct)
 {
     return(Compare <IQueryClause>(source, n, checkitem, errAct));
 }
コード例 #11
0
ファイル: ExtnGen.cs プロジェクト: ScottWeinstein/ILUnMerge
 public static bool Compare(this QueryClauseCollection source, QueryClauseCollection n, Func <IQueryClause, IQueryClause, bool> checkitem)
 {
     return(Compare <IQueryClause>(source, n, checkitem));
 }
コード例 #12
0
ファイル: ExtnGen.cs プロジェクト: ScottWeinstein/ILUnMerge
 public static bool Compare(this QueryClauseCollection source, QueryClauseCollection n)
 {
     return(Compare <IQueryClause>(source, n));
 }
コード例 #13
0
        public virtual IQueryClauseCollection TransformQueryClauseCollection(IQueryClauseCollection value)
        {
            IQueryClause[] array = new IQueryClause[value.Count];
            for (int i = 0; i < value.Count; i++)
            {
                array[i] = this.TransformQueryClause(value[i]);
            }

            IQueryClauseCollection target = new QueryClauseCollection();
            target.AddRange(array);
            return target;
        }