private IEnumerable<MessageStateInfo> GetMessageStateInfo(string query, string underlyingDataSourceSortArgument, int? listSize, string expression, string sortArgument) { Func<MessageStateInfo, object> keySelector = null; Func<MessageStateInfo, object> func2 = null; Assert.ArgumentNotNull(query, "query"); string newValue = string.Format("*[@@id='{0}']", this.managerRoot.InnerItem.ID); if (string.IsNullOrEmpty(expression)) { expression = "true"; } FastItemReader reader2 = new FastItemReader(this.managerRoot.InnerItem.Database.Name, query.Replace("{messages}", newValue).Replace("{expression}", expression)); reader2.SortExpression = underlyingDataSourceSortArgument; FastItemReader source = reader2; Func<Item, bool> funcIfVisible; funcIfVisible = delegate(Item i) { return (Sitecore.Context.User.IsAdministrator) || (i.Statistics.CreatedBy.ToLowerInvariant() == Sitecore.Context.User.Name.ToLowerInvariant()); }; IEnumerable<MessageStateInfo> enumerable = source.Take<Item>((listSize.HasValue ? listSize.Value : source.Count<Item>())) .Where<Item>(funcIfVisible) .Select<Item, object>(new Func<Item, object>(this.converter.ConvertFrom)) .Cast<MessageStateInfo>(); if (string.IsNullOrEmpty(sortArgument)) { return enumerable; } string asc = " ASC"; if (sortArgument.EndsWith(asc)) { if (keySelector == null) { keySelector = delegate(MessageStateInfo info) { return DataBinder.Eval(info, sortArgument.Substring(0, sortArgument.Length - asc.Length)); }; } return enumerable.OrderBy<MessageStateInfo, object>(keySelector); } string desc = " DESC"; if (!sortArgument.EndsWith(desc)) { throw new ArgumentException("Only 'ASC' and 'DESC' string endings can be used to specify sort order."); } if (func2 == null) { func2 = delegate(MessageStateInfo info) { return DataBinder.Eval(info, sortArgument.Substring(0, sortArgument.Length - desc.Length)); }; } return enumerable.OrderByDescending<MessageStateInfo, object>(func2); }
// Methods protected virtual IEnumerable<Item> GetItems(string query) { Assert.ArgumentNotNullOrEmpty(query, "query"); Func<Item, bool> funcIfVisible; funcIfVisible = delegate(Item i) { return (Sitecore.Context.User.IsAdministrator) || (i.Statistics.CreatedBy.ToLowerInvariant() == Sitecore.Context.User.Name.ToLowerInvariant()); }; string newValue = "*[@@id='{0}']".FormatWith(new object[] { this.managerRoot.InnerItem.ID.ToString() }); FastItemReader source = new FastItemReader(this.managerRoot.InnerItem.Database.Name, query.Replace("{messages}", newValue)); return source.Where<Item>(funcIfVisible).ToList<Item>(); }
// Methods protected virtual IEnumerable <Item> GetItems(string query) { Assert.ArgumentNotNullOrEmpty(query, "query"); Func <Item, bool> funcIfVisible; funcIfVisible = delegate(Item i) { return((Sitecore.Context.User.IsAdministrator) || (i.Statistics.CreatedBy.ToLowerInvariant() == Sitecore.Context.User.Name.ToLowerInvariant())); }; string newValue = "*[@@id='{0}']".FormatWith(new object[] { this.managerRoot.InnerItem.ID.ToString() }); FastItemReader source = new FastItemReader(this.managerRoot.InnerItem.Database.Name, query.Replace("{messages}", newValue)); return(source.Where <Item>(funcIfVisible).ToList <Item>()); }
public List<DispatchedMessageInfo> GetDispatchedMessageInfo(string query, string sortArgument) { string newValue = string.Format("*[@@id='{0}']", this.managerRoot.InnerItem.ID.ToString()); FastItemReader source = new FastItemReader(this.managerRoot.InnerItem.Database.Name, query.Replace("{messages}", newValue)); Func<Item, bool> funcIfVisible; funcIfVisible = delegate(Item i) { return (Sitecore.Context.User.IsAdministrator) || (i.Statistics.CreatedBy.ToLowerInvariant() == Sitecore.Context.User.Name.ToLowerInvariant()); }; List<MessageItem> messages = source.Where<Item>(funcIfVisible).ToList<Item>().ConvertAll<MessageItem>(new Converter<Item, MessageItem>(Factory.GetMessage)).OrderByDescending<MessageItem, DateTime>(delegate(MessageItem message) { return message.StartTime; }).Take<MessageItem>(6).ToList<MessageItem>(); return this.Build(messages); }
public List <DispatchedMessageInfo> GetDispatchedMessageInfo(string query, string sortArgument) { string newValue = string.Format("*[@@id='{0}']", this.managerRoot.InnerItem.ID.ToString()); FastItemReader source = new FastItemReader(this.managerRoot.InnerItem.Database.Name, query.Replace("{messages}", newValue)); Func <Item, bool> funcIfVisible; funcIfVisible = delegate(Item i) { return((Sitecore.Context.User.IsAdministrator) || (i.Statistics.CreatedBy.ToLowerInvariant() == Sitecore.Context.User.Name.ToLowerInvariant())); }; List <MessageItem> messages = source.Where <Item>(funcIfVisible).ToList <Item>().ConvertAll <MessageItem>(new Converter <Item, MessageItem>(Factory.GetMessage)).OrderByDescending <MessageItem, DateTime>(delegate(MessageItem message) { return(message.StartTime); }).Take <MessageItem>(6).ToList <MessageItem>(); return(this.Build(messages)); }
protected virtual IEnumerable <Item> GetSortedItem(string query, string sortArgument) { Func <Item, object> func; Assert.ArgumentNotNullOrEmpty(query, "query"); Assert.ArgumentNotNullOrEmpty(sortArgument, "sortArgument"); if (sortArgument.StartsWith("Name ")) { func = delegate(Item i) { return(i.DisplayName); }; } else { func = delegate(Item i) { return(i.Statistics.Updated); }; } Func <Item, bool> funcIfVisible; funcIfVisible = delegate(Item i) { return((Sitecore.Context.User.IsAdministrator) || (i.Statistics.CreatedBy.ToLowerInvariant() == Sitecore.Context.User.Name.ToLowerInvariant())); }; string id = (itemid != null) ? itemid : this.managerRoot.InnerItem.ID.ToString(); string newValue = "*[@@id='{0}']".FormatWith(new object[] { id }); string databasename = (dbname != null) ? dbname : this.managerRoot.InnerItem.Database.Name; FastItemReader source = new FastItemReader(databasename, query.Replace("{messages}", newValue)); if (!sortArgument.EndsWith(" ASC", StringComparison.OrdinalIgnoreCase)) { return(source.OrderByDescending <Item, object>(func).Where <Item>(funcIfVisible)); } return(source.OrderBy <Item, object>(func).Where <Item>(funcIfVisible)); }
private IEnumerable <MessageStateInfo> GetMessageStateInfo(string query, string underlyingDataSourceSortArgument, int?listSize, string expression, string sortArgument) { Func <MessageStateInfo, object> keySelector = null; Func <MessageStateInfo, object> func2 = null; Assert.ArgumentNotNull(query, "query"); string newValue = string.Format("*[@@id='{0}']", this.managerRoot.InnerItem.ID); if (string.IsNullOrEmpty(expression)) { expression = "true"; } FastItemReader reader2 = new FastItemReader(this.managerRoot.InnerItem.Database.Name, query.Replace("{messages}", newValue).Replace("{expression}", expression)); reader2.SortExpression = underlyingDataSourceSortArgument; FastItemReader source = reader2; Func <Item, bool> funcIfVisible; funcIfVisible = delegate(Item i) { return((Sitecore.Context.User.IsAdministrator) || (i.Statistics.CreatedBy.ToLowerInvariant() == Sitecore.Context.User.Name.ToLowerInvariant())); }; IEnumerable <MessageStateInfo> enumerable = source.Take <Item>((listSize.HasValue ? listSize.Value : source.Count <Item>())) .Where <Item>(funcIfVisible) .Select <Item, object>(new Func <Item, object>(this.converter.ConvertFrom)) .Cast <MessageStateInfo>(); if (string.IsNullOrEmpty(sortArgument)) { return(enumerable); } string asc = " ASC"; if (sortArgument.EndsWith(asc)) { if (keySelector == null) { keySelector = delegate(MessageStateInfo info) { return(DataBinder.Eval(info, sortArgument.Substring(0, sortArgument.Length - asc.Length))); }; } return(enumerable.OrderBy <MessageStateInfo, object>(keySelector)); } string desc = " DESC"; if (!sortArgument.EndsWith(desc)) { throw new ArgumentException("Only 'ASC' and 'DESC' string endings can be used to specify sort order."); } if (func2 == null) { func2 = delegate(MessageStateInfo info) { return(DataBinder.Eval(info, sortArgument.Substring(0, sortArgument.Length - desc.Length))); }; } return(enumerable.OrderByDescending <MessageStateInfo, object>(func2)); }
protected virtual IEnumerable<Item> GetSortedItem(string query, string sortArgument) { Func<Item, object> func; Assert.ArgumentNotNullOrEmpty(query, "query"); Assert.ArgumentNotNullOrEmpty(sortArgument, "sortArgument"); if (sortArgument.StartsWith("Name ")) { func = delegate(Item i) { return i.DisplayName; }; } else { func = delegate(Item i) { return i.Statistics.Updated; }; } Func<Item, bool> funcIfVisible; funcIfVisible = delegate(Item i) { return (Sitecore.Context.User.IsAdministrator) || (i.Statistics.CreatedBy.ToLowerInvariant() == Sitecore.Context.User.Name.ToLowerInvariant()); }; string id = (itemid != null) ? itemid : this.managerRoot.InnerItem.ID.ToString(); string newValue = "*[@@id='{0}']".FormatWith(new object[] { id }); string databasename = (dbname != null) ? dbname : this.managerRoot.InnerItem.Database.Name; FastItemReader source = new FastItemReader(databasename, query.Replace("{messages}", newValue)); if (!sortArgument.EndsWith(" ASC", StringComparison.OrdinalIgnoreCase)) { return source.OrderByDescending<Item, object>(func).Where<Item>(funcIfVisible); } return source.OrderBy<Item, object>(func).Where<Item>(funcIfVisible); }