Exemplo n.º 1
0
        public async Task <IActionResult> TrackMovie(string movieId)
        {
            try
            {
                var movieExists = await _trackService.MovieExist(movieId);

                if (!movieExists)
                {
                    return(NotFound());
                }

                var userIdFromToken = this.User.GetUserId();
                var trackedMovie    = new TrackedMovie {
                    MovieId = movieId, UserId = userIdFromToken, Watched = false
                };
                trackedMovie.CreatedTime = DateTime.Now; // CreatedTime is used to sort the trackedMovies in the DTO.
                await _trackService.TrackMovie(trackedMovie);

                return(NoContent());
            }
            catch (Exception err)
            {
                Log.Error(err.Message);
                return(BadRequest(new { message = err.Message }));
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> UntrackMovie(string movieId)
        {
            try
            {
                var movieExists = await _trackService.MovieExist(movieId);

                if (!movieExists)
                {
                    return(NotFound());
                }

                var userIdFromToken = this.User.GetUserId();
                var trackedMovie    = new TrackedMovie {
                    MovieId = movieId, UserId = userIdFromToken
                };
                await _trackService.UntrackMovie(trackedMovie);

                return(Ok());
            }
            catch (Exception err)
            {
                Log.Error(err.Message);
                return(BadRequest(new { message = err.Message }));
            }
        }
        public async Task <IActionResult> Update([FromRoute] int id, TrackedMovie trackedMovie)
        {
            var userMovie = _context.MovieUser.Single(m => m.MovieUserId == id);

            userMovie.Favorited = trackedMovie.Favorited;
            userMovie.Genre     = trackedMovie.Genre;
            userMovie.Watched   = trackedMovie.Watched;

            _context.Update(userMovie);
            await _context.SaveChangesAsync();

            return(View());
        }
Exemplo n.º 4
0
        public async Task <TrackedMovie> ToggleMovieWatchedStatus(string movieId, string userId)
        {
            TrackedMovie track = await _trackRepository.Find(t => t.MovieId == movieId && t.UserId == userId);

            if (track == null)
            {
                return(null);
            }
            track.Watched = !track.Watched;

            var result = await _trackRepository.Update(track);

            return(result);
        }
Exemplo n.º 5
0
        public async Task <bool> UntrackMovie(TrackedMovie model)
        {
            var result = await _trackRepository.Delete(model);

            return(result > 0);
        }
Exemplo n.º 6
0
        public async Task <bool> TrackMovie(TrackedMovie model)
        {
            var result = await _trackRepository.Add(model);

            return(result);
        }