/// <summary>
 /// Проверить контракт после сериализации.
 /// </summary>
 /// <param name="obj">Исходный объект.</param>
 /// <returns>Проверенный объект.</returns>
 public override T ValidateAfterDeserialize(T obj)
 {
     obj = base.ValidateAfterDeserialize(obj);
     if (obj != null)
     {
         obj.Thumbnail         = ModuleProvider.ValidateAfterDeserialize <PostMediaBase, IPostMediaWithSize, PostMediaExternalContract>(obj.ThumbnailContract);
         obj.ThumbnailContract = null;
     }
     return(obj);
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Проверить контракт после сериализации.
        /// </summary>
        /// <param name="obj">Исходный объект.</param>
        /// <returns>Проверенный объект.</returns>
        public override PostDocument ValidateAfterDeserialize(PostDocument obj)
        {
            IPostNode Validate(PostNodeBase n)
            {
                return(ModuleProvider.ValidateAfterDeserialize <PostNodeBase, IPostNode, PostNodeExternalContract>(n));
            }

            obj = base.ValidateAfterDeserialize(obj);
            if (obj != null)
            {
                obj.Nodes         = obj.NodesContract?.Select(Validate)?.ToList();
                obj.NodesContract = null;
            }
            return(obj);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Проверить контракт после сериализации.
        /// </summary>
        /// <param name="obj">Исходный объект.</param>
        /// <returns>Проверенный объект.</returns>
        public override CompositePostNode ValidateAfterDeserialize(CompositePostNode obj)
        {
            IPostNode ValidateNode(PostNodeBase node)
            {
                return(ModuleProvider.ValidateAfterDeserialize <PostNodeBase, IPostNode, PostNodeExternalContract>(node));
            }

            obj = base.ValidateAfterDeserialize(obj);
            if (obj != null)
            {
                obj.Attribute         = ModuleProvider.ValidateAfterDeserialize <PostAttributeBase, IPostAttribute, PostAttributeExternalContract>(obj.AttributeContract);
                obj.AttributeContract = null;
                obj.Children          = obj.ChildrenContracts?.Select(ValidateNode)?.ToList();
                obj.ChildrenContracts = null;
            }
            return(obj);
        }