public ArrayInstance ListEntities(object filterCriteria) { var criteria = new EntityFilterCriteriaInstance(Engine.Object.InstancePrototype); if (filterCriteria is FolderInstance) { criteria.EntityFilterCriteria.Path = (filterCriteria as FolderInstance).FullPath; } else if (filterCriteria is string || filterCriteria is StringInstance || filterCriteria is ConcatenatedString) { criteria.EntityFilterCriteria.Path = filterCriteria.ToString(); } else if (filterCriteria != null && filterCriteria != Null.Value && filterCriteria != Undefined.Value) { criteria = JurassicHelper.Coerce <EntityFilterCriteriaInstance>(Engine, filterCriteria); } var result = Engine.Array.Construct(); foreach (var entity in m_repository.ListEntities(criteria.EntityFilterCriteria)) { ArrayInstance.Push(result, new EntityInstance(Engine, entity)); } return(result); }
public object Single(object filterCriteria) { var criteria = new EntityFilterCriteriaInstance(Engine.Object.InstancePrototype); if (filterCriteria is FolderInstance) { criteria.EntityFilterCriteria.Path = (filterCriteria as FolderInstance).FullPath; } else if (filterCriteria is string || filterCriteria is StringInstance || filterCriteria is ConcatenatedString) { criteria.EntityFilterCriteria.Path = filterCriteria.ToString(); } else if (filterCriteria != null && filterCriteria != Null.Value && filterCriteria != Undefined.Value) { criteria = JurassicHelper.Coerce <EntityFilterCriteriaInstance>(Engine, filterCriteria); } var result = m_repository.Single(criteria.EntityFilterCriteria); if (result == null) { return(Null.Value); } return(new EntityInstance(Engine, result)); }