Interface IAppDataTyped
Data object of an App in Typed mode
[PublicApi]
public interface IAppDataTyped : IDataSource, IDataSourceLinkable, IAppIdentity, IZoneIdentity, IAppIdentityLight, ICacheKey, ICacheExpiring, ITimestamped, IHasLog
- Inherited Members
Remarks
Added v17
Methods
Create(string, Dictionary<string, object>, string, ITarget)
Create a new entity in the storage.
IEntity Create(string contentTypeName, Dictionary<string, object> values, string userName = null, ITarget target = null)
Parameters
contentTypeName
stringThe type name
values
Dictionary<string, object>a dictionary of values to be stored
userName
stringthe current user name - will be logged as the author
target
ITargetinformation if this new item is to be metadata for something
Returns
Remarks
Changed in 2sxc 10.30 - now returns the id of the created items
Create(string, IEnumerable<Dictionary<string, object>>, string)
Create a bunch of new entities in one single call (much faster, because cache doesn't need to repopulate in the mean time).
IEnumerable<IEntity> Create(string contentTypeName, IEnumerable<Dictionary<string, object>> multiValues, string userName = null)
Parameters
contentTypeName
stringThe type name
multiValues
IEnumerable<Dictionary<string, object>>many dictionaries, each will become an own item when stored
userName
stringthe current user name - will be logged as the author
Returns
Remarks
You can't create items which are metadata with this, for that, please use the Create-one overload
Changed in 2sxc 10.30 - now returns the id of the created items
Delete(int, string)
Delete an existing item
void Delete(int entityId, string userName = null)
Parameters
entityId
intThe item ID
userName
stringthe current user name - will be logged as the author of the change
GetAll<T>(NoParamOrder, string, bool)
Get all data from the app of the specified type. It will detect the expected Content-Type based on the name of the class used.
So in most cases you will not add any parameters except for the type parameter T
.
This is usually a type of your AppCode.Data
namespace.
IEnumerable<T> GetAll<T>(NoParamOrder protector = default, string typeName = null, bool nullIfNotFound = false) where T : class, ICanWrapData, new()
Parameters
protector
NoParamOrdertypeName
stringoptional type name which is used as the stream name when retrieving the data, as each stream contains entities of one type.
nullIfNotFound
boolif set, will return null if the type doesn't exist - default is empty list.
Returns
- IEnumerable<T>
Type Parameters
T
The type to get and convert to - usually inheriting CustomItem
Remarks
Released in v17.03.
GetContentType(string)
Get a single content type by name (display name or NameId).
IContentType GetContentType(string name)
Parameters
name
stringthe name, either the normal name or the NameId which looks like a GUID
Returns
Remarks
Added v17
GetContentTypes()
All content types of the app.
IEnumerable<IContentType> GetContentTypes()
Returns
Remarks
Added v17
GetOne<T>(Guid, NoParamOrder, bool)
Get a single item from the app of the specified type.
T GetOne<T>(Guid id, NoParamOrder protector = default, bool skipTypeCheck = false) where T : class, ICanWrapData, new()
Parameters
id
Guidthe ID as GUID
protector
NoParamOrderskipTypeCheck
boolallow get even if the Content-Type of the item with the ID doesn't match the type specified in the parameter T
Returns
- T
Type Parameters
T
The type to get and convert to - usually inheriting CustomItem
Remarks
Released in v17.03.
GetOne<T>(int, NoParamOrder, bool)
Get a single item from the app of the specified type.
T GetOne<T>(int id, NoParamOrder protector = default, bool skipTypeCheck = false) where T : class, ICanWrapData, new()
Parameters
id
intthe ID as an int
protector
NoParamOrderskipTypeCheck
boolallow get even if the Content-Type of the item with the ID doesn't match the type specified in the parameter T
Returns
- T
Type Parameters
T
The type to get and convert to - usually inheriting CustomItem
Remarks
Released in v17.03.
Update(int, Dictionary<string, object>, string)
Update an existing item.
void Update(int entityId, Dictionary<string, object> values, string userName = null)
Parameters
entityId
intThe item ID
values
Dictionary<string, object>a dictionary of values to be updated
userName
stringthe current user name - will be logged as the author of the change