Пример #1
0
 /// <summary>
 /// 动态聚组查询获取数据
 /// </summary>
 /// <param name="setting"></param>
 /// <param name="xmlFilterParams"></param>
 /// <returns></returns>
 public virtual System.Data.DataSet GetDynamicGroupQueryData(MB.Util.Model.DynamicGroupSetting setting, string xmlFilterParams)
 {
     using (MB.Orm.DB.OperationDatabaseScope scope = new OperationDatabaseScope(true)) {
         QueryParameterInfo[] filters = new MB.Util.Serializer.QueryParameterXmlSerializer().DeSerializer(xmlFilterParams);
         return(new ObjectEditHelper().GetDynamicGroupQueryData(setting, filters));
     }
 }
Пример #2
0
        /// <summary>
        /// 动态聚组查询获取数据
        /// </summary>
        /// <param name="baseRule"></param>
        /// <param name="setting"></param>
        /// <param name="parInfos"></param>
        /// <param name="parValues"></param>
        /// <returns></returns>
        public System.Data.DataSet GetDynamicGroupQueryData(MB.Util.Model.DynamicGroupSetting setting, QueryParameterInfo[] parInfos, params object[] parValues)
        {
            MB.Orm.Mapping.QueryParameterMappings queryMappings = null;
            if (!string.IsNullOrEmpty(setting.EntityInfos.MainEntity.Alias))
            {
                queryMappings = new Orm.Mapping.QueryParameterMappings(setting.EntityInfos.MainEntity.Alias);
            }
            else
            {
                queryMappings = new Orm.Mapping.QueryParameterMappings(setting.EntityInfos.MainEntity.Name);
            }

            string   sqlFilter = MB.Orm.DbSql.SqlShareHelper.Instance.QueryParametersToSqlString(queryMappings, parInfos);
            Database db        = MB.Orm.Persistence.DatabaseHelper.CreateDatabase();

            MB.Orm.Persistence.PersistenceManagerHelper persitence = MB.Orm.Persistence.PersistenceManagerHelper.NewInstance;
            var       sql   = MB.Orm.DbSql.DynamicGroupBuilder.DynamicGroupBuilderFactory.CreateQueryBuilder(setting).BuildDynamicQuery(sqlFilter);
            DbCommand dbCmd = persitence.GetSqlStringCommand(db, sql);


            DataSet ds = null;

            try
            {
                MB.Util.TraceEx.Write("正在执行:" + MB.Orm.Persistence.DbCommandExecuteTrack.Instance.CommandToTrackMessage(db, dbCmd));

                ds = new DatabaseExecuteHelper(_QueryBehavior).ExecuteDataSet(db, dbCmd);
            }
            catch (Exception ex)
            {
                throw new MB.RuleBase.Exceptions.DatabaseExecuteException("GetDynamicGroupQueryData 出错!", ex);
            }
            return(ds);
        }
Пример #3
0
        /// <summary>
        /// 把设置里面的DataArea转换成IU需要的数据源
        /// </summary>
        /// <param name="setting"></param>
        /// <returns></returns>
        public static List <DynamicGroupCondition> ConvertDynamicGroupSettingToDataAreaConditions(MB.Util.Model.DynamicGroupSetting dynamicGroupSetting)
        {
            List <DynamicGroupCondition> results = new List <DynamicGroupCondition>();

            if (dynamicGroupSetting != null && dynamicGroupSetting.DataAreaFields != null && dynamicGroupSetting.DataAreaFields.Count > 0)
            {
                foreach (KeyValuePair <string, List <MB.Util.Model.DataAreaField> > dataAreaList in dynamicGroupSetting.DataAreaFields)
                {
                    dataAreaList.Value.ForEach(data => {
                        DynamicGroupCondition dgCondition = new DynamicGroupCondition();
                        dgCondition.ENTITY_NAME           = dataAreaList.Key;
                        dgCondition.ENTITY_DESCRIPTION    = data.EntityDescription;
                        dgCondition.GROUP_NAME            = data.Name;
                        dgCondition.GROUP_DESCRIPTION     = data.Description;
                        dgCondition.GROUP_FIELD_TYPE      = data.DataType;
                        dgCondition.SUMMARY_TYPE          = data.SummaryItemType.ToString();
                        results.Add(dgCondition);
                    });
                }
            }
            return(results);
        }
 public virtual DataSet GetDynamicGroupQueryData(MB.Util.Model.DynamicGroupSetting setting, MB.Util.Model.QueryParameterInfo[] filterParams)
 {
     throw new NotImplementedException();
 }