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)))); }
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))); }
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()))); }