Ejemplo n.º 1
0
        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"));
            }
        }