Пример #1
0
        protected void Fill(PostItemDto <T> postItemDto, Post post)
        {
            postItemDto.Uid                = post.Uid.ToString();
            postItemDto.Id                 = post.Id;
            postItemDto.RevisionNumber     = post.LatestRevision.RevisionNumber;
            postItemDto.SiteId             = post.Site.Id;
            postItemDto.SiteName           = post.Site.Name;
            postItemDto.SiteTitle          = post.Site.Title;
            postItemDto.ZoneId             = post.Zone.Id;
            postItemDto.ZoneName           = post.Zone.Name;
            postItemDto.ZoneTitle          = post.Zone.Title;
            postItemDto.SerieId            = post.Serie != null ? post.Serie.Id : 0;
            postItemDto.SerieTitle         = post.Serie != null ? post.Serie.Title : null;
            postItemDto.Name               = post.Name;
            postItemDto.Title              = post.Title;
            postItemDto.Author             = post.Author;
            postItemDto.IsPrivate          = post.IsPrivate;
            postItemDto.CommentsCount      = post.CommentsCount;
            postItemDto.Rating             = post.Rating;
            postItemDto.Status             = post.Status.ToString();
            postItemDto.WorkflowStatus     = ""; // TODO:
            postItemDto.Created            = post.Created;
            postItemDto.Published          = post.PublishDate;
            postItemDto.DisplayDate        = post.EffectiveDate;
            postItemDto.TagsCommaSeparated = post.TagsCommaSeparated;

            postItemDto.Uri = $"{postItemDto.SiteName}/{postItemDto.ZoneName}/{postItemDto.Name}";
        }
        public async Task <ActionResult <ItemDto> > PostAsync(PostItemDto postItemDto)
        {
            var item = new Item
            {
                Name        = postItemDto.Name,
                Description = postItemDto.Description,
                Price       = postItemDto.Price,
                CreatedDate = DateTimeOffset.UtcNow
            };

            await _itemsRepository.PostAsync(item);

            return(CreatedAtAction(nameof(GetAsync), new { id = item.Id }, item));
        }