Example #1
0
        public async Task <IActionResult> Delete(DeleteAdvertDto dto)
        {
            await _advertService.DeleteAsync(dto);

            string redirect = Request.Headers["Referer"].ToString();

            return(Redirect(redirect));
        }
Example #2
0
        public async Task DeleteAsync(DeleteAdvertDto dto, bool isAdmin = false)
        {
            var accessToken = await GetAccessTokenAsync();

            await $"{_apiOptions.Url}/api/adverts"
            .SetQueryParams(dto)
            .WithOAuthBearerToken(accessToken)
            .DeleteAsync();
        }
Example #3
0
        public async Task DeleteAsync(DeleteAdvertDto dto, bool isAdmin = false)
        {
            var advert = await _unitOfWork.AdvertRepository.GetAsync(dto.Id);

            ThrowIfNotFound(advert);

            if (!isAdmin && advert.UserId != dto.UserId)
            {
                throw new NotPermittedException("Нельзя удалять чужие обьявления");
            }

            _unitOfWork.AdvertRepository.Delete(advert);

            _unitOfWork.SaveChanges();
        }
Example #4
0
        public async Task Delete([FromQuery] DeleteAdvertDto dto)
        {
            dto.UserId = User.GetUserId();

            await _advertService.DeleteAsync(dto, User.IsInRole("Admin"));
        }