示例#1
0
        public void Save(ContentReference contentLink, IEnumerable <ReviewLocation> reviewLocations)
        {
            var objectSerializer = _serializerFactory.GetSerializer(KnownContentTypes.Json);

            lock (_lock)
            {
                var approvalReview = LoadApprovalReview(contentLink) ?? new ApprovalReview
                {
                    ContentLink = contentLink
                };
                approvalReview.SerializedReview = objectSerializer.Serialize(reviewLocations);
                GetStore().Save(approvalReview);
            }
        }
示例#2
0
        public ActionResult Index(string token)
        {
            var externalReviewLink = _externalReviewLinksRepository.GetContentByToken(token);

            if (!externalReviewLink.IsEditableLink())
            {
                return(new HttpNotFoundResult("Content not found"));
            }

            var content = _contentLoader.Get <IContent>(externalReviewLink.ContentLink);

            const string url = "Views/PagePreview/Index.cshtml";

            if (ModuleResourceResolver.Instance.TryResolvePath(typeof(PageEditController).Assembly, url,
                                                               out var resolvedPath))
            {
                var pagePreviewModel = new ContentPreviewModel
                {
                    Token = token,
                    Name  = content.Name,
                    EditableContentUrlSegment = $"/en/{_externalReviewOptions.ContentIframeEditUrlSegment}/{token}",
                    ReviewJsScriptPath        = GetJsScriptPath(),
                    ResetCssPath = GetResetCssPath(),
                    ReviewPins   = _serializerFactory.GetSerializer(KnownContentTypes.Json).Serialize(_approvalReviewsRepository.Load(externalReviewLink.ContentLink))
                };
                return(View(resolvedPath, pagePreviewModel));
            }

            return(new HttpNotFoundResult("Content not found"));
        }
示例#3
0
        private static ISerializationElement CreateSerializationElement(Type type, IDictionary <Type, ISerializationElement> catalog, IObjectSerializerFactory factory)
        {
            if (type.IsSimpleType())
            {
                var serializer = factory.GetSerializer(type);
                return(new ValueElement(type, serializer));
            }

            if (type.IsTypedArray())
            {
                return(BuildArraySerializationElement(type, catalog, factory));
            }

            if (type.IsTypedList())
            {
                return(BuildListSerializationElement(type, catalog, factory));
            }

            if (type.IsTypedCollection())
            {
                return(BuildCollectionSerializationElement(type, catalog, factory));
            }

            if (type.IsTypedEnumerable())
            {
                return(BuildEnumerableSerializationElement(type, catalog, factory));
            }

            return(BuildClassSerializationElement(type, catalog, factory));
        }
示例#4
0
 public ExtendedProjectStore(ProjectRepository projectRepository,
                             ViewModelConverter viewModelConverter,
                             IProjectEnhancementsStore projectEnhancementsStore,
                             IObjectSerializerFactory objectSerializerFactory,
                             UIRoleProvider roleProvider,
                             ProjectOptions projectOptions)
 {
     _projectRepository        = projectRepository;
     _viewModelConverter       = viewModelConverter;
     _projectEnhancementsStore = projectEnhancementsStore;
     _roleProvider             = roleProvider;
     _projectOptions           = projectOptions;
     _objectSerializer         = objectSerializerFactory.GetSerializer(KnownContentTypes.Json);
 }
 public ReviewLocationParser(IObjectSerializerFactory objectSerializerFactory)
 {
     _objectSerializer = objectSerializerFactory.GetSerializer(KnownContentTypes.Json);
 }
示例#6
0
 public ReviewContentNotificationFormatter(IObjectSerializerFactory objectSerializerFactory)
 {
     _objectSerializer = objectSerializerFactory.GetSerializer(KnownContentTypes.Json);
 }