public IActionResult Index() { Task <DatingUser> GetCurrentUserAsync() => _userManager.GetUserAsync(HttpContext.User); byte currentUserGender = GetCurrentUserAsync().Result.Gender; List <DisplayUsersViewModel> oppositeSexUsers = new List <DisplayUsersViewModel>(); var users = (from user in _context.Users select new { FirstName = user.FirstName, LastName = user.LastName, BirthDate = user.BirthDate, Height = user.Height, Weight = user.Weight, Gender = user.Gender, Music = user.Music, Videos = user.Videos, Animals = user.Animals, PhotoPath = user.PhotoPaths, Email = user.Email, Description = user.Description }).ToList().Select(p => new DisplayUsersViewModel() { FirstName = p.FirstName, LastName = p.LastName, BirthDate = p.BirthDate, Height = p.Height, Weight = p.Weight, Gender = p.Gender, Music = p.Music, Videos = p.Videos, Animals = p.Animals, PhotoPaths = p.PhotoPath, Email = p.Email, Description = p.Description }); foreach (var user in users.Where(x => x.Gender != currentUserGender)) { var jeden = similarity.CalculateDistance(GetCurrentUserAsync().Result.Animals, user.Animals); var dwa = similarity.CalculateDistance(GetCurrentUserAsync().Result.Videos, user.Videos); var trzy = similarity.CalculateDistance(GetCurrentUserAsync().Result.Music, user.Music); var avgSimilarity = similarity.CalculateAverageDistances(jeden, dwa, trzy); user.Similarity = avgSimilarity; oppositeSexUsers.Add(user); } return(View(oppositeSexUsers)); }