Guest User

Untitled

a guest
May 27th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.77 KB | None | 0 0
  1. List<QuestionDto> dto = _db.Questions.Where(x => (x.Title.Contains(temp) || x.Message.Contains(temp) || (x.User.FirstName + " " + x.User.LastName).Contains(temp) || x.User.LastName.Contains(temp)) && (categoryId == null || x.Category.CategoryId == categoryId))
  2. .Select(question => new QuestionDto { QuestionId = question.QuestionId,
  3. Votes = question.Votes, Title = question.Title,
  4. Message = question.Message, CategoryName = question.Category.Name,
  5. EditDate = question.EditDate, DateOfCreation = question.DateOfCreation,
  6. User = new UserDto { UserId = question.User.Id, FirstName = question.User.FirstName, LastName = question.User.LastName, ImageFile = question.User.ImageFile },
  7. Tags = question.Tags.Select(x => x.Tag).ToList()
  8. }).ToList();
  9.  
  10. List<QuestionDto> dtoQList = _db.Questions.Where(x => (x.Title.Contains(temp) || x.Message.Contains(temp) || (x.User.FirstName + " " + x.User.LastName).Contains(temp) || x.User.LastName.Contains(temp)) && (categoryId == null || x.Category.CategoryId == categoryId))
  11. .Select(question => new QuestionDto
  12. {
  13. QuestionId = question.QuestionId,
  14. Votes = question.Votes,
  15. Title = question.Title,
  16. Message = question.Message,
  17. CategoryName = question.Category.Name,
  18. EditDate = question.EditDate,
  19. DateOfCreation = question.DateOfCreation,
  20. User = new UserDto { UserId = question.User.Id, FirstName = question.User.FirstName, LastName = question.User.LastName, ImageFile = question.User.ImageFile },
  21. Tags = question.Tags.Select(x => x.Tag).ToList()
  22. }).ToList();
  23.  
  24. var questionDictionaryMatchings = new Dictionary<int, int>();
  25.  
  26. foreach(var question in dtoQList)
  27. {
  28. var titleSplited = question.Title.Split(new char[] { '.', '?', '!', ' ', ';', ':', ',' }, StringSplitOptions.RemoveEmptyEntries);
  29.  
  30. var messageSplited = question.Message.Split(new char[] { '.', '?', '!', ' ', ';', ':', ',' }, StringSplitOptions.RemoveEmptyEntries);
  31.  
  32. var firstNameSplited = question.User.FirstName.Split(new char[] { '.', '?', '!', ' ', ';', ':', ',' }, StringSplitOptions.RemoveEmptyEntries);
  33.  
  34. var lastNameSplited = question.User.LastName.Split(new char[] { '.', '?', '!', ' ', ';', ':', ',' }, StringSplitOptions.RemoveEmptyEntries);
  35.  
  36.  
  37. var titleSplitedQuery = from word in titleSplited
  38. where word.ToLowerInvariant() == temp.ToLowerInvariant()
  39. select word;
  40.  
  41. int wordCountTitle = titleSplitedQuery.Count();
  42.  
  43. var messageSplitedQuery = from word in messageSplited
  44. where word.ToLowerInvariant() == temp.ToLowerInvariant()
  45. select word;
  46.  
  47. int wordCountMessage = messageSplitedQuery.Count();
  48.  
  49.  
  50. var firstNameSplitedQuery = from word in firstNameSplited
  51. where word.ToLowerInvariant() == temp.ToLowerInvariant()
  52. select word;
  53.  
  54. int wordCountFirstName = firstNameSplitedQuery.Count();
  55.  
  56. var lastNameSplitedQuery = from word in lastNameSplited
  57. where word.ToLowerInvariant() == temp.ToLowerInvariant()
  58. select word;
  59.  
  60. int wordCountLastName = lastNameSplitedQuery.Count();
  61.  
  62. questionDictionaryMatchings.Add(question.QuestionId, wordCountTitle + wordCountMessage + wordCountFirstName + wordCountLastName);
  63.  
  64. }
  65. //sorted dictionary
  66. var questionDictionaryMatchingsSorted = from entry in questionDictionaryMatchings orderby entry.Value descending select entry;
Add Comment
Please, Sign In to add comment