Advertisement
Guest User

Untitled

a guest
Apr 16th, 2014
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. private string MyWebMethod(string input) {
  2. JavaScriptSerializer serializer = new JavaScriptSerializer();
  3. List<string> userNames = serializer.Deserialize<List<string>>(input);
  4.  
  5. using(var db = new dbContext()) {
  6. var usersAndBooks = from u in db.Users
  7. join ub in db.UsersBooks on u.UserId equals ub.UserId
  8. join b in db.Books on ub.BookId equals b.BookId
  9. select new Result { User = u, UsersBooks = ub, Book = b };
  10.  
  11. var predicate = PredicateBuilder.False<Result>();
  12.  
  13. // Construct predicate to filter usersAndBooks down to users we care about
  14. foreach(var name in userNames) {
  15. predicate = predicate.Or(r => r.User.UserName.Equals(name));
  16. }
  17.  
  18. usersAndBooks = usersAndBooks.AsExpandable().Where(predicate);
  19.  
  20. foreach(var name in userNames) {
  21. // Logic to construct final {User:{Books}} JSON object
  22. }
  23. }
  24. }
  25.  
  26. var usersAndBooks = from u in db.Users
  27. where userNames.Contains(u.UserName)
  28. join ub in db.UsersBooks on u.UserId equals ub.UserId
  29. join b in db.Books on ub.BookId equals b.BookId
  30. select new Result { User = u, UsersBooks = ub, Book = b };
  31.  
  32. WHERE User.UserName IN ('user1', 'user2', 'user3')
  33.  
  34. WHERE User.UserName = 'user1' OR User.UserName = 'user2' OR User.UserName = 'user3'
  35.  
  36. foreach(var name in userNames) {
  37. // Logic to construct final {User:{Books}} JSON object
  38. }
  39.  
  40. // Logic to construct final {User:{Books}} JSON object
  41. var finalOutput = usersAndBooks.Select(x => new ...);
  42.  
  43. List<string> userNames = JsonConvert.DeserializeObject<List<string>>(input);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement