public async Task <IActionResult> AddMovie(string tmdbid)
        {
            var movie = await _mediator.Send(new GetSingleMovieRequest()
            {
                TmdbId = tmdbid
            });

            var request = GenerateApproveRequest(movie.Movie);


            var command = new ApproveRequestCommand {
                RequestObject = request
            };
            var result = await _mediator.Send(command);

            var model = new MovieViewModel {
                Movie = movie.Movie, Accepted = result, Requested = result
            };

            if (result)
            {
                TempData["Success"] = "Movie added";
            }
            else
            {
                TempData["Error"] = "There was an error adding the movie";
            }

            return(PartialView("_RequestMovieButton", model));
        }
        public async Task <IActionResult> ApproveRequest(string id)
        {
            //var userRequest = await _context.Request.SingleOrDefaultAsync(x => x.Id == requestId);
            var requests = _context.Request.Where(x => x.MovieId == id);

            var movie = await _mediator.Send(new GetSingleMovieRequest()
            {
                TmdbId = id
            });

            var request = GenerateApproveRequest(movie.Movie);

            var command = new ApproveRequestCommand {
                RequestObject = request
            };
            var result = await _mediator.Send(command);

            if (result == true)
            {
                //userRequest.Status = true;
                await requests.ForEachAsync(x => x.Status = true);

                await _context.SaveChangesAsync();
            }
            else
            {
                //userRequest.Status = false;
                await requests.ForEachAsync(x => x.Status = false);

                await _context.SaveChangesAsync();
            }

            return(RedirectToAction("Requests", "Admin"));
        }
        public void Handle(ApproveRequestCommand message)
        {
            if (message.Approver == Approver.Level1)
            {
                Data.ApprovedByLevel1 = true;
            }

            if (message.Approver == Approver.Level2)
            {
                Data.ApprovedByLevel2 = true;
            }

            ProcessApproval();
        }
        public void Handle(ApproveRequestCommand message)
        {
            logger.Info("--------MySaga Handle-------" + message);
            if (message.Approver == Approver.Level1)
            {
                Data.ApprovedByLevel1 = true;
            }

            if (message.Approver == Approver.Level2)
            {
                Data.ApprovedByLevel2 = true;
            }

            ProcessApproval();
        }