public async Task <ActionResult> SaveAndShowSelectedRecommendations(ShowRecommendationsViewModel viewModel)
        {
            var allFinalRecommendations = _context.SelectedRecommendations.ToList();
            var userId = User.Identity.GetUserId();

            //Deleting earlier selected recommendations by users.
            var finalRecommendationsForUser = allFinalRecommendations.Where(r => r.UserId == userId).ToList();

            _context.SelectedRecommendations.RemoveRange(finalRecommendationsForUser);
            _context.SaveChanges();

            var recommendations = new List <CalculatedRecommendation>();

            foreach (var recommendation in viewModel.CalculatedRecommendations)
            {
                if (recommendation.ChosenByUser != null)
                {
                    if (recommendation.ChosenByUser == true)
                    {
                        recommendations.Add(recommendation);

                        var selectedRecommendation = new SelectedRecommendation()
                        {
                            ItemId          = recommendation.ItemId,
                            CalcultedWeight = recommendation.CalcultedWeight,
                            ChosenByUser    = recommendation.ChosenByUser,
                            Item            = recommendation.Item,
                            SubClandId      = recommendation.SubClandId,
                            UserId          = recommendation.UserId
                        };

//                        var ifPresent = allFinalRecommendations
//                            .Any(r => r.ItemId == recommendation.ItemId && r.UserId == User.Identity.GetUserId());

//                        if (!ifPresent)
//                        {
                        _context.SelectedRecommendations.Add(selectedRecommendation);
                        _selectedRecommendations.Add(selectedRecommendation);
//                        }
                    }
                }
            }

            await FillDataWithItems();

            _context.SaveChanges();

            //Retreiving all the recommendations for the user to be displayed.
            var finalRecommendations = _context.SelectedRecommendations.Where(r => r.UserId == userId).ToList();

            return(View(finalRecommendations));
        }
        private ShowRecommendationsViewModel CreateViewModelToShow()
        {
            //            var allCalculatedReco = _context.CalculatedRecommendations.ToList();

            foreach (var calculatedRecommendation in _calculatedRecommendations)
            {
                calculatedRecommendation.ChosenByUser = false;
            }

            var recoForCurrentUser = _calculatedRecommendations.Where(r => r.UserId == User.Identity.GetUserId()).OrderByDescending(r => r.CalcultedWeight).ToList();

            var viewModel = new ShowRecommendationsViewModel()
            {
                CalculatedRecommendations = recoForCurrentUser
            };

            return(viewModel);
        }