예제 #1
0
        protected void dataSourceMain_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            if (this.IsPostBack == false && string.IsNullOrEmpty(this.Request.QueryString["id"]) == false)
            {
                WhereSqlClauseBuilder where = new WhereSqlClauseBuilder();
                where.AppendItem("ID", this.Request.QueryString["id"]);

                this.dataSourceMain.Condition = where;
            }
            else
            {
                //if (this.AdvanceSearchEnabled)
                {
                    var condition = this.CurrentAdvancedSearchCondition;

                    WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(condition);

                    this.dataSourceMain.Condition = new ConnectiveSqlClauseCollection(builder, this.DeluxeSearch.GetCondition());
                }
                //else
                //{
                //    this.dataSourceMain.Condition = this.DeluxeSearch.GetCondition();
                //}
            }
        }
        private void BindDataGrid()
        {
            WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(this.UserUploadCondition);

            if (this.processUsers.ReadOnly)
            {
                this.ObjectDataSourceUploadLogs.Condition = builder;
            }
            else
            {
                ConnectiveSqlClauseCollection collection = new ConnectiveSqlClauseCollection(LogicOperatorDefine.And);
                collection.Add(builder);

                WhereSqlClauseBuilder userwherebuilder = new WhereSqlClauseBuilder();
                userwherebuilder.LogicOperator = LogicOperatorDefine.Or;
                foreach (var item in this.processUsers.SelectedOuUserData)
                {
                    userwherebuilder.AppendItem("OPERATOR_ID", item.ID);
                }
                collection.Add(userwherebuilder);

                this.ObjectDataSourceUploadLogs.Condition = collection.ToSqlString(TSqlBuilder.Instance);
            }
            this.ObjectDataSourceUploadLogs.LastQueryRowCount = -1;

            this.DeluxeGridUploadLog.PageIndex = 0;
            this.DeluxeGridUploadLog.SelectedKeys.Clear();
            this.DeluxeGridUploadLog.DataBind();
        }
예제 #3
0
        private void ExecQuery()
        {
            //重新收集所需要的查询内容
            bindingControl.CollectData();

            QueryCondition.ApplicationName = FormCategory.SelectedValue;
            QueryCondition.ApplicationName =
                (QueryCondition.ApplicationName == "" || QueryCondition.ApplicationName == "全部") ? "" : QueryCondition.ApplicationName;

            QueryCondition.ProgramName = ProgramName.SelectedValue;
            QueryCondition.ProgramName =
                (QueryCondition.ProgramName == "" || QueryCondition.ProgramName == "全部") ? "" : QueryCondition.ProgramName;

            //对某些查询内容进行格式处理
            WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(QueryCondition,
                                                                                      new AdjustConditionValueDelegate(AdjustQueryConditionValue));

            builder.AppendTenantCode();

            //对数据源中的where进行赋值操作,自动完成查询操作
            whereCondition.Value = builder.ToSqlString(TSqlBuilder.Instance);

            if (whereCondition.Value != "")
            {
                whereCondition.Value += " AND";
            }

            whereCondition.Value += " RESOURCE_ID IS NOT NULL";

            LastQueryRowCount = -1;
        }
예제 #4
0
        protected void dataSourceMain_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            //if (this.AdvanceSearchEnabled)
            {
                var condition = this.CurrentAdvancedSearchCondition;

                WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(condition);

                this.dataSourceMain.Condition = new ConnectiveSqlClauseCollection(builder, this.DeluxeSearch.GetCondition());
            }
            //else
            //{
            //    this.dataSourceMain.Condition = this.DeluxeSearch.GetCondition();
            //}

            string cate   = Page.Request["catelog"];
            string opType = null;

            if (cate != null)
            {
                var num = cate.IndexOf(".");
                if (num > 0)
                {
                    string[] arrString = cate.Split('.');
                    cate   = arrString[0];
                    opType = arrString[1];
                }
            }

            e.InputParameters["catelog"]       = cate;
            e.InputParameters["operationType"] = opType;
        }
예제 #5
0
        protected void ObjectDataSourceUsers_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            string[] permissions = this.Request.QueryString.GetValues("pp");

            //if (this.AdvanceSearchEnabled)
            {
                var condition = this.CurrentAdvancedSearchCondition;

                WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(condition);

                this.dataSourceMain.Condition = new ConnectiveSqlClauseCollection(builder, this.DeluxeSearch.GetCondition());
            }
            //else
            //{
            //    this.dataSourceMain.Condition = this.DeluxeSearch.GetCondition();
            //}

            if (permissions != null && Util.SuperVisiorMode == false)
            {
                e.InputParameters["parentPermissions"] = permissions;
                e.InputParameters["logonUserID"]       = Util.CurrentUser.ID;
                e.InputParameters["excludeID"]         = this.Request.QueryString["exclude"];
                e.InputParameters["defaultOnly"]       = this.Request.QueryString["defaultOnly"] == "1";
            }
        }
예제 #6
0
        private string BuildWhereCondition()
        {
            WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(this.Condition,
                                                                                      new AdjustConditionValueDelegate(AdjustQueryConditionValue));

            builder.AppendItem("SEND_TO_USER", DeluxeIdentity.CurrentUser.ID);

            WhereSqlClauseBuilder whereExpireTime = new WhereSqlClauseBuilder(LogicOperatorDefine.Or);

            whereExpireTime.AppendItem("EXPIRE_TIME", "null", "is", true);
            whereExpireTime.AppendItem("EXPIRE_TIME", "getdate()", ">", true);

            WhereSqlClauseBuilder whereStatus = new WhereSqlClauseBuilder();

            whereStatus.AppendItem("STATUS", ((int)TaskStatus.Yue).ToString());

            var conditionGroup1 = new ConnectiveSqlClauseCollection(whereExpireTime, whereStatus);

            WhereSqlClauseBuilder whereStatus2 = new WhereSqlClauseBuilder();

            whereStatus2.AppendItem("STATUS", ((int)TaskStatus.Ban).ToString());
            //collection2.Add(collection1);
            ConnectiveSqlClauseCollection collection2 = new ConnectiveSqlClauseCollection(LogicOperatorDefine.Or, conditionGroup1, whereStatus2);

            var allConditions = new ConnectiveSqlClauseCollection(builder, collection2);

            return(allConditions.ToSqlString(TSqlBuilder.Instance));
        }
예제 #7
0
        /// <summary>
        /// 组织查询条件
        /// </summary>
        private void ExecQuery()
        {
            bindingControl.CollectData();

            WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(QueryCondition,
                                                                                      new AdjustConditionValueDelegate(AdjustQueryConditionValue));

            whereCondition.Value = builder.ToSqlString(TSqlBuilder.Instance);

            //申请部门
            if (QueryCondition.DraftDepartmentName != string.Empty)
            {
                if (string.IsNullOrEmpty(whereCondition.Value))
                {
                    whereCondition.Value += string.Format(" CONTAINS(DRAFT_DEPARTMENT_NAME,'\"*"
                                                          + TSqlBuilder.Instance.CheckQuotationMark(QueryCondition.DraftDepartmentName, false) + "*\"')");
                }
                else
                {
                    whereCondition.Value += string.Format(" AND CONTAINS(DRAFT_DEPARTMENT_NAME,'\"*"
                                                          + TSqlBuilder.Instance.CheckQuotationMark(QueryCondition.DraftDepartmentName, false) + "*\"')");
                }
            }

            LastQueryRowCount = -1;

            this.GridViewFormQuery.PageIndex = 0;
            this.GridViewFormQuery.SelectedKeys.Clear();
        }
예제 #8
0
        /// <summary>
        /// 产生时间类型的
        /// </summary>
        /// <param name="connectiveSqlClauses"></param>
        /// <param name="condtion"></param>
        /// <param name="table"></param>
        public static WhereSqlClauseBuilder GetCondition(this ConnectiveSqlClauseCollection connectiveSqlClauses, object condtion, string table = null)
        {
            Type t       = condtion.GetType();
            var  builder = new WhereSqlClauseBuilder();
            var  items   = ConditionMapping.GetMappingInfo(t);

            if (table == null)
            {
                table = ORMapping.GetMappingInfo(t).TableName;
            }
            string tablename = string.Format("{0}.", table);

            foreach (ConditionMappingItem item in items)
            {
                if (string.IsNullOrWhiteSpace(item.SubClassPropertyName) == false)
                {
                    continue;
                }
                object data;
                bool   b = condtion.IsTypeDefaultValue(item, out data);
                if (b)
                {
                    continue;
                }
                string field = string.Format(item.DataFieldName, tablename);
                if (field.Contains(tablename) == false)
                {
                    field = string.Format("{0} {1}", tablename, item.DataFieldName);
                }

                builder.AppendItem(field, data, item.Operation, item.Template, item.IsExpression);
            }
            connectiveSqlClauses.Add(builder);
            return(builder);
        }
예제 #9
0
        protected void dataSourceMain_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            var allConditions = new ConnectiveSqlClauseCollection(this.DeluxeSearch.GetCondition());

            var condition = this.CurrentAdvancedSearchCondition;

            WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(condition);

            string categoryID = Request.QueryString["categoryID"];

            if (!string.IsNullOrEmpty(categoryID))
            {
                //DECategory dcg = CategoryAdapter.Instance.GetByID(categoryID);

                //dcg.FullPath += "%";
                if (categoryID != "undefined")
                {
                    builder.AppendItem("SchemaType", categoryID);
                }
            }

            allConditions.Add(builder);

            this.dataSourceMain.Condition = allConditions;
        }
예제 #10
0
        protected void dataSourceMain_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            var condition = this.CurrentAdvancedSearchCondition;

            WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(condition);

            this.dataSourceMain.Condition = new ConnectiveSqlClauseCollection(builder, this.DeluxeSearch.GetCondition());
        }
예제 #11
0
        /// <summary>
        /// 拼成查询条件
        /// </summary>
        private void BuildWhereClause()
        {
            WhereSqlClauseBuilder wherebuilder = ConditionMapping.GetWhereSqlClauseBuilder(this.QueryCondition);

            wherebuilder.AppendTenantCode();

            this.whereCondition.Value = wherebuilder.ToSqlString(TSqlBuilder.Instance);
        }
예제 #12
0
        public Bundle Search(IEnumerable <KeyValuePair <string, string> > parameters, int?Count, SummaryType summary)
        {
            var uri = GetUrl(RequestDetails.RequestUri.AbsoluteUri);

            // Map the fields from the stored procedure to Fhir model
            Bundle condition = ConditionMapping.MapFromCDRToFHirModelBundle(uri);

            return(condition);
        }
예제 #13
0
        protected void ObjectDataSourceUsers_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            var condition = this.CurrentAdvancedSearchCondition;

            WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(condition);

            this.ObjectDataSourceUsers.Condition = new ConnectiveSqlClauseCollection(builder, this.DeluxeSearch.GetCondition());

            e.InputParameters["dissociatedOnly"] = true;
        }
예제 #14
0
        public ConnectiveSqlClauseCollection ToSqlBuilder()
        {
            ConnectiveSqlClauseCollection connectiveBuilder = new ConnectiveSqlClauseCollection(LogicOperatorDefine.And);

            connectiveBuilder.Add(ConditionMapping.GetWhereSqlClauseBuilder(this));
            connectiveBuilder.Add(GetCurrentAssigneesSubQuery());
            connectiveBuilder.Add(GetAssigneeExceptionSubQuery());

            return(connectiveBuilder);
        }
예제 #15
0
        /// <summary>
        /// 关闭并返回
        /// </summary>
        /// <param name="condition"></param>
        public void RegisterReturnValue(object condition)
        {
            var builder = ConditionMapping.GetWhereSqlClauseBuilder(condition);

            var result = JSONSerializerExecute.Serialize(builder);

            Page.ClientScript.RegisterStartupScript(Page.ClientScript.GetType(), "DeluxeSearchClientCloseDialog",
                                                    string.Format(
                                                        "window.returnValue = \"{0}\";top.close();",
                                                        WebUtility.CheckScriptString(result, false)), true);
        }
예제 #16
0
        public PagedQueryResult <UserTaskModel, UserTaskModelCollection> LoadUserTasks(IPageRequestParams prp, UserTaskQueryCriteria condition, IEnumerable <IOrderByRequestItem> orderByBuilder)
        {
            ConnectiveSqlClauseCollection sqlCollection = new ConnectiveSqlClauseCollection();

            sqlCollection.Add(ConditionMapping.GetConnectiveClauseBuilder(condition));

            string sqlBuilder = sqlCollection.ToSqlString(TSqlBuilder.Instance);
            var    result     = Query(prp, sqlBuilder, orderByBuilder);

            return(result);
        }
예제 #17
0
        private void BindDataGrid()
        {
            WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(this.QueryCondition);

            this.objectDataSource.Condition         = builder;
            this.objectDataSource.LastQueryRowCount = -1;

            this.dataGrid.PageIndex = 0;
            this.dataGrid.SelectedKeys.Clear();
            this.dataGrid.DataBind();
        }
예제 #18
0
        protected void dataSourceMain_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            var allConditions = new ConnectiveSqlClauseCollection(this.DeluxeSearch.GetCondition());

            var filter = this.GetCurrentFilterType();

            if (filter != FilterSchemaType.All)
            {
                int count = 0;
                var v     = (int)filter;
                for (int i = sizeof(FilterSchemaType) * 8 - 1; i >= 0; i--)
                {
                    if ((v & 1) == 1)
                    {
                        count++;
                    }

                    v >>= 1;                     // 计算有几个位被置一
                }

                string[] categories = new string[count];
                v = 0;

                if ((filter & FilterSchemaType.User) == FilterSchemaType.User)
                {
                    categories[v++] = "Users";
                }

                if ((filter & FilterSchemaType.Group) == FilterSchemaType.Group)
                {
                    categories[v++] = "Groups";
                }

                if ((filter & FilterSchemaType.Organization) == FilterSchemaType.Organization)
                {
                    categories[v++] = "Organizations";
                }

                e.InputParameters["schemaTypes"] = SchemaInfo.FilterByCategory(categories).ToSchemaNames();
            }

            //if (this.AdvanceSearchEnabled)
            {
                var condition = this.CurrentAdvancedSearchCondition;

                WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(condition);

                allConditions.Add(builder);
            }

            this.dataSourceMain.Condition = allConditions;
        }
예제 #19
0
        protected void dataSourceMain_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(this.Condition);

            string cate = Request.QueryString["category"];

            if (string.IsNullOrEmpty(cate) == false)
            {
                builder.AppendItem("CATEGORY", cate);
            }

            this.dataSourceMain.Condition = builder;
        }
예제 #20
0
        protected void ObjectDataSourceTask_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            if (this.Condition == null)
            {
                var condition = this.CurrentAdvancedSearchCondition;

                WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(condition, new AdjustConditionValueDelegate(AdjustQueryConditionValue));

                this.Condition = new ConnectiveSqlClauseCollection(builder, this.GetCommonCondition(), this.search1.GetCondition());
            }

            this.src1.Condition = this.Condition;
        }
예제 #21
0
        protected void DeluxeObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            if (e.ExecutingSelectCount == false)
            {
                WhereSqlClauseBuilder mappingbuilder = this.QueryCondition != null?ConditionMapping.GetWhereSqlClauseBuilder(this.QueryCondition) : new WhereSqlClauseBuilder();

                WhereSqlClauseBuilder where2 = (WhereSqlClauseBuilder) new WhereSqlClauseBuilder().AppendItem("SCHEDULE_ID", DBNull.Value, "IS NOT");

                ConnectiveSqlClauseCollection all = new ConnectiveSqlClauseCollection(mappingbuilder, where2);

                this.dataSourceMain.Condition = all;
            }
        }
예제 #22
0
        protected void ObjectDataSourceSelecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            if (this.Condition == null)
            {
                var condition = this.CurrentAdvancedSearchCondition;

                WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(condition);

                this.Condition = new ConnectiveSqlClauseCollection(builder, this.search1.GetCondition());
            }

            this.src1.Condition = this.Condition;
        }
예제 #23
0
        protected void objectDataSource_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            this.QueryCondition = this.searchBinding.Data as JobCondition;
            WhereSqlClauseBuilder wherebuilder = ConditionMapping.GetWhereSqlClauseBuilder(this.QueryCondition);

            string auto = Request.QueryString["auto"];

            if (!string.IsNullOrEmpty(auto))
            {
                wherebuilder.AppendItem("ISManual", auto == "false");
            }

            this.dataSourceMain.Condition   = wherebuilder;
            e.InputParameters["totalCount"] = LastQueryRowCount;
        }
예제 #24
0
        protected void dataSourceMain_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            //if (this.AdvanceSearchEnabled)
            {
                var condition = this.CurrentAdvancedSearchCondition;

                WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(condition);

                this.dataSourceMain.Condition = new ConnectiveSqlClauseCollection(builder, this.DeluxeSearch.GetCondition());
            }
            //else
            //{
            //    this.dataSourceMain.Condition = this.DeluxeSearch.GetCondition();
            //}

            e.InputParameters["bossMode"] = this.Request.QueryString["view"] == "boss";
        }
예제 #25
0
        private string BuildWhereCondition()
        {
            WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(QueryCondition,
                                                                                      new AdjustConditionValueDelegate(AdjustQueryConditionValue));

            //对数据源中的where进行赋值操作,自动完成查询操作
            string condition = builder.ToSqlString(TSqlBuilder.Instance);

            if (string.IsNullOrEmpty(condition))
            {
                condition = "RESOURCE_ID IS NOT NULL";
            }
            else
            {
                condition = condition + " AND RESOURCE_ID IS NOT NULL";
            }

            return(condition);
        }
예제 #26
0
        public static XElement AddMappingConditionAttribute(this XElement element, ConditionMapping conditionMapping)
        {
            switch (conditionMapping.Operator)
            {
            case ConditionOperator.IsNotNull:
                element.Add(new XAttribute("IsNull", false));
                break;

            case ConditionOperator.IsNull:
                element.Add(new XAttribute("IsNull", true));
                break;

            case ConditionOperator.Equals:
                element.Add(new XAttribute("Value", conditionMapping.Value));
                break;
            }

            return(element);
        }
예제 #27
0
        protected void DoContinue(object sender, EventArgs e)
        {
            this.TimeCondition = new SearchCondition()
            {
                TimeFrom = this.timeFrom.Value, TimeTo = this.timeTo.Value
            };
            this.views.ActiveViewIndex  = 1;
            WhereSqlClauseBuilder where = ConditionMapping.GetWhereSqlClauseBuilder(this.TimeCondition);

            string[] ids = TimeRangeDataSource.QueryGuidsByCondition(where);

            this.postVal.Value = MCS.Web.Library.Script.JSONSerializerExecute.Serialize(ids);

            this.lblCount.InnerText = ids.Length.ToString("#,##0");

            this.btnRecalc.Visible = ids.Length > 0;

            //this.grid.InitialData = new TimeRangeDataSource().Query(0, 0, builder, "CREATE_TIME", ref total);
        }
        private static string ConditionObjectToWhereString(object conditionObject)
        {
            string result = string.Empty;

            if (conditionObject != null)
            {
                if (conditionObject is string)
                {
                    result = (string)conditionObject;
                }
                else
                {
                    IConnectiveSqlClause connectiveBuilder = ConditionMapping.GetConnectiveClauseBuilder(conditionObject);
                    result = connectiveBuilder.ToSqlString(TSqlBuilder.Instance);
                }
            }

            return(result);
        }
예제 #29
0
        protected void dataSourceMain_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            if (this.IsPostBack == false)
            {
                e.Cancel = true;
            }
            else
            {
                e.InputParameters["startPath"]   = this.StartFullPath;
                e.InputParameters["schemaTypes"] = null;

                //if (this.AdvanceSearchEnabled)
                {
                    var condition = this.CurrentAdvancedSearchCondition;

                    WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(condition);

                    this.dataSourceMain.Condition = new ConnectiveSqlClauseCollection(builder, this.DeluxeSearch.GetCondition());
                    switch (condition.SchemaTypeOption)
                    {
                    case 1:
                        e.InputParameters["schemaTypes"] = SchemaInfo.FilterByCategory("Users").ToSchemaNames();
                        break;

                    case 2:
                        e.InputParameters["schemaTypes"] = SchemaInfo.FilterByCategory("Groups").ToSchemaNames();
                        break;

                    case 3:
                        e.InputParameters["schemaTypes"] = SchemaInfo.FilterByCategory("Organizations").ToSchemaNames();
                        break;

                    default:
                        break;
                    }
                }
                //else
                //{
                //    this.dataSourceMain.Condition = this.DeluxeSearch.GetCondition();
                //}
            }
        }
        protected void ObjectDataSourceDelegationList_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            var condition = this.CurrentCondition;

            WhereSqlClauseBuilder builder = ConditionMapping.GetWhereSqlClauseBuilder(condition);

            if (condition.Enabled)
            {
                builder.AppendItem("END_TIME", "getdate()", ">", true);
            }

            if (builder.IsEmpty == false)
            {
                dataSourceMain.Condition = builder;
            }
            else
            {
                dataSourceMain.Condition = null;
            }
        }