public async Task <IActionResult> Put(Guid id, RichTextBlockDto dto)
        {
            Guard.AgainstNull(dto, nameof(dto));

            if (dto.ID != id)
            {
                return(BadRequest());
            }

            var section = await Repository.GetRichTextBlock(id);

            if (section is null)
            {
                return(NotFound());
            }

            var updatedSection = section.With(
                title: dto.Title,
                text: dto.Text,
                order: dto.Order
                );

            await Repository.PersistRichTextBlock(updatedSection);

            return(Ok(dto));
        }
        public async Task <IActionResult> Get(Guid _, Guid id)
        {
            var section = await Repository.GetRichTextBlock(id);

            return(section is null
                ? (IActionResult)NotFound()
                : Ok(RichTextBlockDto.FromRichTextBlock(section)));
        }
        public async Task <IActionResult> Post(RichTextBlockDto dto)
        {
            Guard.AgainstNull(dto, nameof(dto));

            var section = new RichTextBlock(
                id: Guid.NewGuid(),
                page: dto.Page,
                owner: UserID,
                title: dto.Title,
                text: dto.Text,
                order: dto.Order
                );

            await Repository.PersistRichTextBlock(section);

            return(CreatedAtAction(nameof(Get), dto.WithID(section.ID)));
        }