public IEnumerable <SelectListItem> SavedQueries() { if (!SavedQueryVisible) { return(null); } string uname = Util.UserName; var g = new Guid(); if (SavedQuery.HasValue() && SavedQuery.Contains(":")) { var lines = SavedQuery.Split(":".ToCharArray(), 2); Guid.TryParse(lines[0], out g); } var q1 = from qb in Db.Queries where qb.Owner == uname orderby qb.Name select new SelectListItem { Value = qb.QueryId + ":" + qb.Name, Selected = qb.QueryId == g, Text = qb.Name }; var q2 = from qb in Db.Queries where qb.Owner != uname && qb.Ispublic orderby qb.Owner, qb.Name select new SelectListItem { Value = qb.QueryId + ":" + qb.Name, Selected = qb.QueryId == g, Text = qb.Owner + ":" + qb.Name, }; return(q1.Union(q2)); }
internal Expression SavedQuery2() { var tf = CodeIds == "1"; var a = SavedQuery.Split(":".ToCharArray(), 2); Guid QueryId; Guid.TryParse(a[0], out QueryId); var q2 = db.PeopleQuery(QueryId); if (q2 == null) { return(AlwaysFalse()); } var tag = db.PopulateTemporaryTag(q2.Select(pp => pp.PeopleId)); Expression <Func <Person, bool> > pred = p => p.Tags.Any(t => t.Id == tag.Id); Expression expr = Expression.Invoke(pred, parm); return(expr); }