public async Task <IActionResult> Edit(int id) { try { var advertisement = _repository.GetAdvertisementById(id); if (advertisement == null) { return(NotFound()); } //check if logged in user owns this specific advertisement if (User.Identity.IsAuthenticated) { var user = await _userManager.GetUserAsync(User); if (advertisement.User == user) { ViewData["CategoryId"] = new SelectList(_context.Categories, "CategoryId", "CategoryId", advertisement.CategoryId); return(View(advertisement)); } } return(RedirectToAction("Details", new { id = advertisement.AdvertisementId })); } catch (Exception ex) { _logger.LogError("failed to load advertisement edit page", ex); } return(BadRequest()); }
public IActionResult GetSingleAdvertisement(int id) { try { var advertisement = _repository.GetAdvertisementById(id); if (advertisement != null) { return(Ok(_mapper.Map <Advertisement, AdvertisementViewModel>(advertisement))); } else { return(NotFound()); } } catch (Exception ex) { _logger.LogError($"Failed to load Advertisement: {ex}"); return(BadRequest($"Failed to load Advertisement")); } }