Exemple #1
0
        public ActionResult UpdateContent(UpdateContentModel updateContentModel)
        {
            var props   = updateContentModel.Properties.Split(',');
            var message = "";

            try
            {
                foreach (var updateContent in updateContentModel.Contents)
                {
                    var content = _contentRepository.Get <IContent>(updateContent.ContentLink.GuidValue.Value);
                    if (!(((IReadOnly)content)?.CreateWritableClone() is IContent clone))
                    {
                        message = "No IReadonly implementation!";
                    }
                    else
                    {
                        foreach (var prop in props)
                        {
                            var propData = clone.Property.FirstOrDefault(o => o.Name == prop);
                            propData.Value = updateContent.Properties[prop];
                            clone.Property.Set(prop, propData);
                        }
                        clone.Name = updateContent.Name;
                        _contentRepository.Save(clone, EPiServer.DataAccess.SaveAction.Publish);
                    }
                }
        public async Task <IActionResult> UpdateAsync(Guid widgetId, [FromBody] UpdateContentModel model)
        {
            var entity = await _widgetContentService.GetAsync <CustomHtmlModel>(widgetId, string.Empty);

            if (entity == null)
            {
                await _widgetContentService.InsertAsync(new CustomHtmlModel()
                {
                    UserId   = string.Empty,
                    WidgetId = widgetId,
                    Content  = model.Content,
                });
            }
            else
            {
                entity.Content = model.Content;

                await _widgetContentService.UpdateAsync(entity);
            }

            return(Ok());
        }