public IActionResult GetSingleUnapprovedMeme([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                var meme    = _memeService.GetSingleUnapprovedById(id);
                var memeDto = _mapper.Map <MemeDto>(meme);
                memeDto.Likes      = _memeService.GetRate(meme.Id);
                memeDto.Author     = _mapper.Map <AuthorDto>(_memeService.GetMemeAuthor(meme.Id));
                memeDto.ActiveDown =
                    _memeService.IsActiveDown((int)meme.Id, Int32.Parse(this.User.FindFirst(ClaimTypes.Name).Value));
                memeDto.ActiveUp =
                    _memeService.IsActiveUp((int)meme.Id, Int32.Parse(this.User.FindFirst(ClaimTypes.Name).Value));

                return(Ok(memeDto));
            }
            catch (AppException ex)
            {
                // return error message if there was an exception
                return(BadRequest(new { message = ex.Message }));
            }
        }