/// <summary> /// Проверить контракт перед сериализацией. /// </summary> /// <param name="obj">Исходный объект.</param> /// <returns>Проверенный объект.</returns> public override T ValidateContract(T obj) { obj = base.ValidateContract(obj); if (obj != null) { obj.ThumbnailContract = ModuleProvider.ValidateBeforeSerialize <IPostMediaWithSize, PostMediaBase, PostMediaExternalContract>(obj.Thumbnail); } return(obj); }
/// <summary> /// Проверить контракт перед сериализацией. /// </summary> /// <param name="obj">Исходный объект.</param> /// <returns>Проверенный объект.</returns> public override PostDocument ValidateContract(PostDocument obj) { PostNodeBase Validate(IPostNode n) { return(ModuleProvider.ValidateBeforeSerialize <IPostNode, PostNodeBase, PostNodeExternalContract>(n)); } obj = base.ValidateContract(obj); if (obj != null) { obj.NodesContract = obj.Nodes?.Select(Validate)?.ToList(); } return(obj); }
/// <summary> /// Проверить контракт перед сериализацией. /// </summary> /// <param name="obj">Исходный объект.</param> /// <returns>Проверенный объект.</returns> public override CompositePostNode ValidateContract(CompositePostNode obj) { PostNodeBase ValidateNode(IPostNode node) { return(ModuleProvider.ValidateBeforeSerialize <IPostNode, PostNodeBase, PostNodeExternalContract>(node)); } obj = base.ValidateContract(obj); if (obj != null) { obj.ChildrenContracts = obj.Children?.Select(ValidateNode)?.ToList(); obj.AttributeContract = ModuleProvider.ValidateBeforeSerialize <IPostAttribute, PostAttributeBase, PostAttributeExternalContract>(obj.Attribute); } return(obj); }