Adds more support for NodeTypeAlias and DocumentTypeAlias param names for compatibility.
Adds IsDocumentType is-helper method.
Adds unit tests for complex Linq using a Typed IPublishedContent object.
Adds unit tests for complex Linq using dynamics.
Adds support for Single, SingleOrDefault, First, FirstOrDefault, Last, LastOrDefault to dynamics for both DynamicNode and DynamicPublishedContent + unit tests.
Adds support for 'Children' on DynamicNode to keep things consistent, no longer required to have to do 'ChildrenAsList'.
DynamicNode now implements INode... not sure why this wasn't like that before.
that are on the DynamicPublishedContent object. Added more unit tests for all of these classes.
Moved some of the Dynamic objects into the web project which simplifies things quite a bit as some of these classes require access to the biz logic layer.
Now we have intellisense for all of the nice magical methods that were on DynamicPublishedContent on our strongly typed object!
Updated DynamicPublishedContent's methods to just proxy calls to the new extension methods so that all of the logic is contained in one place.
Added new GetRootDocuments to the IPublishedContentStore since we need this in order to get the root list of documents for many of these methods.
Fixed an issue with the DynamicNode to IPublishedContent converter.
Fixed many of the failing unit tests.
simplified some of the DynamicPublishedContent methods to accept Func<IPublishedContent> instead of Func<DynamicPublishedContent>, made the IsHelper method private as this shouldn't be exposed.
renamed other objects starting with DynamicDocument to DynamicPublishedContent
Makes DynamicDocument explicitly implement IDocument as well.
Changes all ContentById methods, etc... back to returning just 'dynamic'
Removes valueAlias from the .Field method of UmbracoHelper which didn't actually do anything
removes altValueAlias from the .Field method of the UmbracoHelper which didn't actually do anything.
for specific implementations where the IDocument needs to search for the specified property based on alias since it might not already know about it. This is true for the
DefaultPublishedMediaStore where a property may not exist in the Examine cache so we need to fallback to the db in that case.
Have updated the ChildrenAsTable code for Node as well to use the same base code, this should
also fix some issues with generating a datatable correctly when a content type is changed, previously
the cache was not cleared for Alias to name mapping.
moving forward will open up many nice opportunities. This will be used for the media accessor in the new DynamicDocument.
Renamed XmlPublishedContentStore to just DefaultPublishedContentStore.
Made GetProperty an extension method for IDocument and removed from the interface as it is not needed there.
the codebehind still exist in the web for backwards compatibility. Updated the logging so that the LogHelper
can now write to a TraceContext specified if debugging which is handy if we want to write to the normal trace.
Adds a few unit tests for DynamicDocument/DynamicNode and fixes both to properly support the 'Take' method
as this wasn't really working. Not sure how or why it was working previously. Have also allowed for extension
methods to be executed against either of these objects that accept IQueryable which was not supported before.