public IEnumerable<Activity> GetPosts(StorageModule storage, String param, IDictionary<String, String> args) { IQueryable posts = storage.GetActivities( args.GetValueOrDefault("accountId"), args.ContainsKey("timestamp") ? DateTime.Parse(args["timestamp"]) : default(Nullable<DateTime>), "Post", args.GetValueOrDefault("subId"), args.GetValueOrDefault("userAgent"), args.ContainsKey("value") ? args["value"].If(String.IsNullOrEmpty, s => DBNull.Value, s => (Object) s) : null, args.ContainsKey("data") ? args["data"].If(String.IsNullOrEmpty, s => DBNull.Value, s => (Object) s.Base64Decode().ToArray()) : null ).OrderByDescending(p => p).AsQueryable(); if (args.ContainsKey("query")) { posts = posts.Execute(args["query"]); } return posts.Cast<Activity>(); }
private Account GetAccount(StorageModule storage, String screenName) { return storage.GetActivities( default(String), null, "ScreenName", null, null, screenName, null ) .AsEnumerable() .OrderByDescending(a => a) .FirstOrDefault() .Account; }