Esempio n. 1
0
        public IActionResult Create(DetailedContentDto model)
        {
            var content = new ContentObject
            {
                Content      = model.Content,
                CreatedById  = User.GetUserId(),
                CustomFields = model.CustomFields
                               .Select(field => new CustomField {
                    FieldKey = field.FieldKey, FieldValue = field.FieldValue
                })
                               .ToList(),
                Excerpt     = model.Excerpt,
                PublishedAt = model.Status == ContentStatus.Published ? (DateTimeOffset?)DateTimeOffset.UtcNow : null,
                Status      = model.Status,
                Title       = model.Title,
                TypeId      = model.Type.Id
            };

            content.TaxonomyTerms = model.TaxonomyTerms
                                    .Select(term => new ContentTaxonomyTerm
            {
                Content = content,
                Term    = data.TaxonomyTerms.Find(term.Id)
            }).ToList();

            data.Contents.Add(content);
            data.SaveChanges();
            content = data.DetailedContents.Single(x => x.Id == content.Id);
            return(Ok(mapper.Map <DetailedContentDto>(content)));
        }
Esempio n. 2
0
        public async Task <IActionResult> Update(DetailedContentDto model)
        {
            var entity = data.DetailedContents.SingleOrDefault(x => x.Id == model.Id);

            if (entity == null)
            {
                return(NotFound());
            }

            entity.Content = model.Content;
            entity.Excerpt = model.Excerpt;
            entity.Status  = model.Status;
            entity.Title   = model.Title;

            if (!entity.PublishedAt.HasValue && model.Status == ContentStatus.Published)
            {
                entity.PublishedAt = DateTimeOffset.Now;
            }

            UpdateCustomFields(entity.CustomFields, model.CustomFields, entity);
            UpdateTaxonomyTerms(entity.TaxonomyTerms, model.TaxonomyTerms, entity);

            await data.SaveChangesAsync();

            return(Ok(mapper.Map <DetailedContentDto>(data.DetailedContents.Single(x => x.Id == entity.Id))));
        }
Esempio n. 3
0
 public MappingProfile()
 {
     DetailedContentDto.Map(this);
     UserGroup.Map(this);
     UserDto.Map(this);
 }