Beispiel #1
0
        private object FindValueOrNull(string name, StringComparison comparison)
        {
            if (UnwrappedContents == null || !UnwrappedContents.HasValues)
            {
                return(null);
            }

            var found = UnwrappedContents.Properties()
                        .FirstOrDefault(
                p => string.Equals(p.Name, name, comparison));

            return(DynamicJacket.WrapOrUnwrap(found?.Value));
        }
Beispiel #2
0
        /// <inheritdoc />
        public dynamic CreateInstance(string virtualPath,
                                      string dontRelyOnParameterOrder = Eav.Constants.RandomProtectionParameter,
                                      string name         = null,
                                      string relativePath = null,
                                      bool throwOnError   = true)
        {
            var wrapLog = Log.Call <dynamic>();

            // usually we don't have a relative path, so we use the preset path from when this class was instantiated
            relativePath = relativePath ?? CreateInstancePath;
            var instance = UnwrappedContents?.CreateInstance(virtualPath, dontRelyOnParameterOrder, name,
                                                             relativePath ?? CreateInstancePath, throwOnError);

            return(wrapLog((instance != null).ToString(), instance));
        }
Beispiel #3
0
 /// <inheritdoc />
 public dynamic CreateInstance(string virtualPath,
                               string dontRelyOnParameterOrder = Eav.Constants.RandomProtectionParameter,
                               string name         = null,
                               string relativePath = null,
                               bool throwOnError   = true) =>
 UnwrappedContents?.CreateInstance(virtualPath, dontRelyOnParameterOrder, name, CreateInstancePath, throwOnError);
 /// <inheritdoc />
 public override IEnumerator <object> GetEnumerator()
 => UnwrappedContents.Select(DynamicJacket.WrapOrUnwrap).GetEnumerator();
Beispiel #5
0
 /// <inheritdoc />
 public override object this[int index] => (_propertyArray ?? (_propertyArray = UnwrappedContents.Properties().ToArray()))[index];
Beispiel #6
0
 /// <inheritdoc />
 public IFolder AsAdam(IEntity entity, string fieldName)
 => UnwrappedContents?.AsAdam(entity, fieldName);
Beispiel #7
0
 /// <summary>
 /// Enable enumeration. Will return the keys, not the values. <br/>
 /// Use the [key] accessor to get the values as <see cref="DynamicJacket"/> or <see cref="DynamicJacketList"/>
 /// </summary>
 /// <returns>the string names of the keys</returns>
 public override IEnumerator <object> GetEnumerator() => UnwrappedContents.Properties().Select(p => p.Name).GetEnumerator();
Beispiel #8
0
 /// <inheritdoc />
 public T CreateSource <T>(IDataStream inStream) where T : IDataSource
 => UnwrappedContents.CreateSource <T>(inStream);
Beispiel #9
0
 /// <inheritdoc />
 public T CreateSource <T>(IDataSource inSource = null, ILookUpEngine configurationProvider = null)
     where T : IDataSource
 => UnwrappedContents.CreateSource <T>(inSource, configurationProvider);
Beispiel #10
0
 /// <inheritdoc />
 public IEnumerable <dynamic> AsList(object list)
 => UnwrappedContents?.AsList(list);
Beispiel #11
0
 /// <inheritdoc />
 public IEntity AsEntity(object dynamicEntity) => UnwrappedContents?.AsEntity(dynamicEntity);
Beispiel #12
0
 /// <inheritdoc />
 public dynamic AsDynamic(object dynamicEntity) => UnwrappedContents?.AsDynamic(dynamicEntity);
Beispiel #13
0
 /// <inheritdoc />
 public dynamic AsDynamic(IEntity entity) => UnwrappedContents?.AsDynamic(entity);
Beispiel #14
0
 /// <inheritdoc />
 public dynamic AsDynamic(string json, string fallback = DynamicJacket.EmptyJson) => UnwrappedContents?.AsDynamic(json, fallback);