コード例 #1
0
        public async Task <IActionResult> Update(UpdatePageDto dto)
        {
            var culture = CultureInfo.CurrentCulture;

            Logger.LogDebug("Updating page '{0}' for culture: {1}", dto.Id, culture.Name);

            try
            {
                await _service.UpdateAsync(dto, culture);

                return(Ok(null));
            }
            catch (NotFoundException e)
            {
                Logger.LogDebug("Could not find page with id '{0}'", dto.Id);

                return(NotFound(e.Message));
            }
            catch (ValidationException e)
            {
                Logger.LogDebug("A validation exception occured while updating page with id '{0}': {1}", dto.Id, e.Message);

                return(BadRequest(e.Message));
            }
            catch (Exception e)
            {
                Logger.LogError(e, "An exception occured while updating page '{0}'", dto.Id);

                return(InternalServerError(e.Message));
            }
        }
コード例 #2
0
        public async Task UpdateAsync(UpdatePageDto dto, CultureInfo culture)
        {
            var page = await _repository.FindWithImportsAsync(x => x.Id == dto.Id, p => p.Translations);

            if (page == null)
            {
                throw new NotFoundException(ErrorMessages.PageNotFound);
            }

            page.Update(dto, culture);
            await _repository.SaveChangesAsync();
        }
コード例 #3
0
        public async Task <ActionResult <ControllerResponse <GetPageDto> > > update(string id, UpdatePageDto bulletIn)
        {
            string userId = _httpContextAccessor.HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier).ToString();

            var bullet = await _pageService.getByIdAsync(id);

            if (bullet.userId != userId)
            {
                throw new UnauthorizedAccessException("Page don't belong to you");
            }
            bullet = _mapper.Map <UpdatePageDto, Page>(bulletIn, bullet);
            await _pageService.updateAsync(id, bullet);

            return(Ok(new ControllerResponse <GetPageDto>
            {
                data = _mapper.Map <GetPageDto>(bullet)
            }));
        }