Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private string MyWebMethod(string input) {
- JavaScriptSerializer serializer = new JavaScriptSerializer();
- List<string> userNames = serializer.Deserialize<List<string>>(input);
- using(var db = new dbContext()) {
- var usersAndBooks = from u in db.Users
- join ub in db.UsersBooks on u.UserId equals ub.UserId
- join b in db.Books on ub.BookId equals b.BookId
- select new Result { User = u, UsersBooks = ub, Book = b };
- var predicate = PredicateBuilder.False<Result>();
- // Construct predicate to filter usersAndBooks down to users we care about
- foreach(var name in userNames) {
- predicate = predicate.Or(r => r.User.UserName.Equals(name));
- }
- usersAndBooks = usersAndBooks.AsExpandable().Where(predicate);
- foreach(var name in userNames) {
- // Logic to construct final {User:{Books}} JSON object
- }
- }
- }
- var usersAndBooks = from u in db.Users
- where userNames.Contains(u.UserName)
- join ub in db.UsersBooks on u.UserId equals ub.UserId
- join b in db.Books on ub.BookId equals b.BookId
- select new Result { User = u, UsersBooks = ub, Book = b };
- WHERE User.UserName IN ('user1', 'user2', 'user3')
- WHERE User.UserName = 'user1' OR User.UserName = 'user2' OR User.UserName = 'user3'
- foreach(var name in userNames) {
- // Logic to construct final {User:{Books}} JSON object
- }
- // Logic to construct final {User:{Books}} JSON object
- var finalOutput = usersAndBooks.Select(x => new ...);
- List<string> userNames = JsonConvert.DeserializeObject<List<string>>(input);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement