//https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/search?view=aspnetcore-5.0
        public async Task <IActionResult> Index(string searchString)
        {
            try
            {
                AuthorizeHelper.Authorize(this.HttpContext, "Guest", this.GetType().Name, "Index", "search");

                List <GetMovieModel> getMovieModels = await _moviemindAPIService.GetModels <GetMovieModel>("movies");

                List <GetActorModel> getActorModels = await _moviemindAPIService.GetModels <GetActorModel>("actors");

                List <GetDirectorModel> getDirectorModels = await _moviemindAPIService.GetModels <GetDirectorModel>("directors");

                List <GetUserModel> getUserModels = await _moviemindAPIService.GetModels <GetUserModel>("users");


                if (!String.IsNullOrEmpty(searchString))
                {
                    ViewBag.Movies    = getMovieModels.Where(s => s.Name.ToLower().Contains(searchString));
                    ViewBag.Actors    = getActorModels.Where(s => s.FirstName.ToLower().Contains(searchString) || s.LastName.ToLower().Contains(searchString));
                    ViewBag.Directors = getDirectorModels.Where(s => s.FirstName.ToLower().Contains(searchString) || s.LastName.ToLower().Contains(searchString));
                    ViewBag.Users     = getUserModels.Where(s => s.FirstName.ToLower().Contains(searchString) || s.LastName.ToLower().Contains(searchString) || s.Email.ToLower().Contains(searchString));

                    ViewBag.SearchTerm = searchString;
                }


                return(View());
            }
            catch (MovieMindException e)
            {
                return(ErrorHelper.HandleError(e));
            }
        }
示例#2
0
        public async Task <IActionResult> Index()
        {
            try
            {
                AuthorizeHelper.Authorize(this.HttpContext, "Guest", this.GetType().Name, "Index", "reviews");

                List <GetReviewModel> getReviewModels = await _moviemindAPIService.GetModels <GetReviewModel>("reviews");

                return(View(getReviewModels));
            }
            catch (MovieMindException e)
            {
                return(ErrorHelper.HandleError(e));
            }
        }
        public async Task <IActionResult> Index()
        {
            try
            {
                AuthorizeHelper.Authorize(this.HttpContext, "Guest", this.GetType().Name, "Index", "users");

                List <GetUserModel> getUsersModels = await _moviemindAPIService.GetModels <GetUserModel>("users");

                var userId = HttpContext.Session.GetString("_Id");
                var user   = await _moviemindAPIService.GetModel <GetUserModel>(userId, "users");

                //index does not include users own profile
                getUsersModels.RemoveAll(x => x.Id == user.Id);

                return(View(getUsersModels));
            }
            catch (MovieMindException e)
            {
                return(ErrorHelper.HandleError(e));
            }
        }
示例#4
0
        public async Task <IActionResult> Index()
        {
            try
            {
                AuthorizeHelper.Authorize(this.HttpContext, "Guest", this.GetType().Name, "Index", "home");

                List <GetMovieModel> getMovieModels = await _moviemindAPIService.GetModels <GetMovieModel>("movies");

                List <GetUserModel> getUserModels = await _moviemindAPIService.GetModels <GetUserModel>("users");

                List <GetReviewModel> getReviewModels = await _moviemindAPIService.GetModels <GetReviewModel>("reviews");

                var userId = HttpContext.Session.GetString("_Id");
                var user   = await _moviemindAPIService.GetModel <GetUserModel>(userId, "users");

                List <GetReviewModel> followerReviews = new List <GetReviewModel>();

                foreach (GetUserModel userModel in getUserModels)
                {
                    foreach (GetUserModel getFollower in userModel.Followers)
                    {
                        if (getFollower.Id == user.Id)
                        {
                            List <GetReviewModel> reviews = (from review in getReviewModels
                                                             where review.UserId == userModel.Id
                                                             select review).ToList();

                            followerReviews.AddRange(reviews);
                        }
                    }
                }

                return(View(followerReviews));
            }
            catch (MovieMindException e)
            {
                return(ErrorHelper.HandleError(e));
            }
        }
示例#5
0
        private async Task <List <GetMovieModel> > GetMovies()
        {
            List <GetMovieModel> getMovieModels = await _moviemindAPIService.GetModels <GetMovieModel>("Movies");

            return(getMovieModels);
        }