Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.16 KB | None | 0 0
  1. public static string GetBooksByCategory(BookShopContext db, string input)
  2.         {
  3.             StringBuilder sb = new StringBuilder();
  4.  
  5.             List<string> inputCategories = input.Split(" ", StringSplitOptions.RemoveEmptyEntries).Select(c => c.ToLower()).ToList();
  6.  
  7.             List<int> categoryIds = new List<int>();
  8.  
  9.             List<string> books = new List<string>();
  10.  
  11.             foreach (var category in inputCategories)
  12.             {
  13.                 var categoryId = db.Categories.Where(c => c.Name == category)
  14.                     .Select(c => c.CategoryId);
  15.  
  16.                 categoryIds.AddRange(categoryId);
  17.             }
  18.  
  19.             foreach (var id in categoryIds)
  20.             {
  21.                 var book = db.Books
  22.                     .Where(b => b.BookCategories.Any(bc => bc.CategoryId == id))
  23.                     .OrderBy(b => b.Title)
  24.                     .Select(b => b.Title)
  25.                     .ToList();
  26.  
  27.                 books.AddRange(book);
  28.             }
  29.  
  30.             foreach (var title in books)
  31.             {
  32.                 sb.AppendLine($"{title}");
  33.             }
  34.  
  35.             return sb.ToString().Trim();
  36.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement