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.")); }
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(); }