Exemplo n.º 1
0
        public async Task <IActionResult> GetReview(Guid id)
        {
            var review = await _reviewsRepository.GetByIdAsync(id);

            var reviewToReturn = _mapper.Map <ReviewDto>(review);

            return(Ok(reviewToReturn));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Delete(int id)
        {
            var rev = await _reviewsRepository.GetByIdAsync(id);

            if (HttpContext.User.IsInRole("Admin"))
            {
                try
                {
                    _reviewsRepository.Delete(rev);
                    await _reviewsRepository.SaveChangesAsync();

                    return(RedirectToAction("Index", "Reviews", new { message = "Відгук успішно видалено!" }));
                }
                catch
                {
                    return(RedirectToAction("Index", "Reviews", new { error = "Під час видалення відгуку сталася помилка!" }));
                }
            }
            else
            {
                var user = await _userManager.GetUserAsync(HttpContext.User);

                if (rev.Reviewer.UserId == user.Id)
                {
                    _reviewsRepository.Delete(rev);
                    await _reviewsRepository.SaveChangesAsync();

                    return(RedirectToAction("Profile", "Account", new { message = "Відгук успішно видалено!" }));
                }

                return(RedirectToAction("Public", "Reviews", new { error = "Ви намагаєтесь видалити чужий відгук!" }));
            }
        }