示例#1
0
        private static void FillSqlClauseBuilder <T>(
            SqlClauseBuilderIUW builder,
            T graph,
            ORMappingItemCollection mapping,
            ClauseBindingFlags bindingFlags,
            DoSqlClauseBuilder <T> builderDelegate,
            params string[] ignoreProperties)
        {
            ExceptionHelper.FalseThrow <ArgumentNullException>(graph != null, "graph");

            using (ORMappingContext context = ORMappingContext.GetContext())
            {
                foreach (ORMappingItem item in mapping)
                {
                    if (Array.Exists <string>(ignoreProperties, target => (string.Compare(target, item.PropertyName, true) == 0)
                                              ) == false)
                    {
                        if ((item.BindingFlags & bindingFlags) != ClauseBindingFlags.None)
                        {
                            builderDelegate(builder, item, graph);
                        }
                    }
                }
            }

            builder.AppendTenantCode(typeof(T));
        }
        private static void FillSqlBuilder(SqlClauseBuilderIUW builder, StartWorkflowJob data)
        {
            builder.AppendItem("JOB_ID", data.JobID);
            builder.AppendItem("PROCESS_KEY", data.ProcessKey);
            builder.AppendTenantCode(typeof(StartWorkflowJob));

            if (OguBase.IsNotNullOrEmpty(data.Operator))
            {
                builder.AppendItem("OPERATOR_ID", data.Operator.ID);
                builder.AppendItem("OPERATOR_NAME", data.Operator.DisplayName);
            }
        }