Beispiel #1
0
        private static IEnumerable <WordPair> SelectProductLinkTemplate(ChoiceBoxArgument argu)
        {
            var main  = new JoinAlias(typeof(ProductLinkTemplate));
            var query = new DQueryDom(main);

            query.Columns.Add(DQSelectColumn.Field("ID"));
            query.Columns.Add(DQSelectColumn.Field("Name"));
            if (!string.IsNullOrEmpty(argu.CodeArgument))
            {
                var accDep = argu.CodeArgument.Split(new[] { '|' }).ToArray();
                query.Where.Conditions.Add(DQCondition.EQ("AccountingUnit_ID", accDep[0]));
                var id            = GetDepartment(Convert.ToInt64(accDep[1]));
                var field         = string.Format("Department_TreeDeep{0}ID", id);
                var deptCondition = B3ButcheryUtil.部门或上级部门条件(Convert.ToInt64(accDep[1]));
                query.Where.Conditions.Add(DQCondition.Or(DQCondition.EQ(main, field, accDep[1]), deptCondition));
            }
            if (!string.IsNullOrEmpty(argu.InputArgument))
            {
                IList <IDQExpression> conditions = new List <IDQExpression>();
                conditions.Add(DQCondition.Like("Name", argu.InputArgument));
                conditions.Add(DQCondition.Like("Spell", argu.InputArgument));
                query.Where.Conditions.Add(DQCondition.Or(conditions));
            }
            return(query.EExecuteList <long, string>().Select(x => new WordPair(x.Item2, x.Item1.ToString(CultureInfo.InvariantCulture))));
        }
Beispiel #2
0
        private static IEnumerable <WordPair> SelectGoodsBrand(ChoiceBoxArgument argu)
        {
            var query = new DQueryDom(new JoinAlias(typeof(Goods)));

            query.Range = SelectRange.Top(30);
            query.Columns.Add(DQSelectColumn.Field("Brand"));
            query.GroupBy.Expressions.Add(DQExpression.Field("Brand"));
            if (!string.IsNullOrEmpty(argu.InputArgument))
            {
                query.Where.Conditions.Add(DQCondition.Like("Brand", argu.InputArgument));
            }
            return(query.EExecuteList <string>().Select((l)
                                                        => new WordPair(l, l)));
        }
Beispiel #3
0
        private static IEnumerable <WordPair> SelectGoodsWithSpec(ChoiceBoxArgument argu, bool OnlyAvailable)
        {
            var query = new DQueryDom(new JoinAlias(typeof(Goods)));

            query.Range = SelectRange.Top(30);
            query.Columns.Add(DQSelectColumn.Field("Name"));
            query.Columns.Add(DQSelectColumn.Field("Code"));
            query.Columns.Add(DQSelectColumn.Field("ID"));
            if (OnlyAvailable)
            {
                query.Where.Conditions.Add(DQCondition.EQ("Stopped", false));
            }
            if (!string.IsNullOrEmpty(argu.InputArgument))
            {
                IList <IDQExpression> conditions = new List <IDQExpression>();
                conditions.Add(DQCondition.Like("Name", argu.InputArgument));
                conditions.Add(DQCondition.Like("Spell", argu.InputArgument));
                conditions.Add(DQCondition.Like("Code", argu.InputArgument));
                query.Where.Conditions.Add(DQCondition.Or(conditions));
            }
            return(query.EExecuteList <string, string, long>().Select((l)
                                                                      => new WordPair(string.Concat(l.Item1, string.Concat("(", l.Item2, ")")), l.Item3.ToString())));
        }