public Task <ApiResponse> RemoveAdvertAsync(RemoveAdvertDto advert)
 {
     if (advert == null)
     {
         throw new ArgumentNullException(nameof(advert));
     }
     return(DeleteAsync <RemoveAdvertDto, ApiResponse>(_advertOptions.DeleteAdvertUrl, advert));
 }
        public async Task <IActionResult> DeleteAdvertAsync([FromBody] RemoveAdvertDto advert)
        {
            string role = User.Claims.Where(x => x.Type.Contains("role")).FirstOrDefault().Value;
            string id   = User.Claims.Where(x => x.Type.Equals("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier")).FirstOrDefault().Value;

            if (!advert.UserId.Equals(id) && !role.Equals("Admin"))
            {
                throw new Exception($"{nameof(advert)} Access denied");
            }
            await _advertManager.RemoveAsync(advert);

            return(ApiResult("Deleted."));
        }
Exemple #3
0
        public async Task RemoveAsync(RemoveAdvertDto dto)
        {
            if (dto == null)
            {
                throw new ArgumentNullException(nameof(dto));
            }



            var _ad = await _advertRepository.GetAsync(dto.AdvertId);

            if (_ad == null)
            {
                throw new Exception($"{nameof(dto)} Такого объявления не существует");
            }


            await _advertRepository.RemoveAsync(_ad);

            await _advertRepository.SaveChangesAsync();
        }