• Specs
  • How To
  • Web API
  • .net API

    Show / Hide Table of Contents

    Class ApiController

    This is the base class for all custom API Controllers.
    With this, your code receives the full context incl. the current App, DNN, Data, etc.

    Inheritance
    System.Object
    System.Web.Http.ApiController
    DotNetNuke.Web.Api.DnnApiController
    ToSic.Sxc.Dnn.WebApi.DnnApiControllerWithFixes
    ToSic.Sxc.WebApi.SxcApiControllerBase
    ToSic.Sxc.WebApi.DynamicApiController
    ApiController
    Implements
    IDynamicWebApi
    IDnnDynamicCode
    IDynamicCode
    ICreateInstance
    ICompatibilityLevel
    IHasLog
    Namespace: ToSic.Sxc.Dnn
    Assembly: ToSic.SexyContent.WebApi.dll
    Syntax
    [PublicApi_Stable_ForUseInYourCode]
    public abstract class ApiController : DynamicApiController, IHttpController, IDisposable, IHasDynCodeContext, IDynamicWebApi, IDnnDynamicCode, IDynamicCode, ICreateInstance, ICompatibilityLevel, IHasLog, IDynamicCodeBeforeV10

    Properties

    | Improve this Doc View Source

    App

    A fully prepared IApp object letting you access all the data and queries in the current app.

    You'll usually want to access the data, like App.Data["Categories"] or the queries App.Query["AllPosts"].

    foreach(var cat in AsDynamic(App.Data["Categories"])) {
        @cat.Name
    }
    
    Declaration
    public IApp App { get; }
    Property Value
    Type Description
    IApp

    The current app

    | Improve this Doc View Source

    CmsContext

    Declaration
    public ICmsContext CmsContext { get; }
    Property Value
    Type Description
    ICmsContext
    | Improve this Doc View Source

    Content

    The content object of the current razor view - IF the current view has content. If the view is a list, it will return the first item. Will be null otherwise. To tell if it's the demo/default item, use IsDemoItem.

    Declaration
    public dynamic Content { get; }
    Property Value
    Type Description
    System.Object

    A IDynamicEntity object with the current content - or null.

    | Improve this Doc View Source

    Data

    The data prepared for the current Code. Usually user data which was manually added to the instance, but can also be a query.

    You'll usually want to access the "Default" stream like Data["Default"].

    foreach(var person in AsDynamic(Data["Default"])) {
        @person.Name
    }
    
    Declaration
    public IBlockDataSource Data { get; }
    Property Value
    Type Description
    IBlockDataSource

    An IBlockDataSource which is as IDataSource.

    | Improve this Doc View Source

    Dnn

    The DNN context.

    Declaration
    public IDnnContext Dnn { get; }
    Property Value
    Type Description
    IDnnContext

    The DNN context.

    | Improve this Doc View Source

    Edit

    Helper commands to enable in-page editing functionality Use it to check if edit is enabled, generate context-json infos and provide toolbar buttons

    Declaration
    public IInPageEditingSystem Edit { get; }
    Property Value
    Type Description
    IInPageEditingSystem

    An IInPageEditingSystem object.

    | Improve this Doc View Source

    Header

    The header object of the current razor view, if it's a list and has a header object. If it's a list and doesn't have a header (and no default), it will return null. To tell if it's the demo/default item, use IsDemoItem.

    Declaration
    public dynamic Header { get; }
    Property Value
    Type Description
    System.Object

    A IDynamicEntity object with the current content.

    Remarks

    Introduced in 2sxc 10.10 - previously it was called ListContent, now deprecated.

    | Improve this Doc View Source

    Link

    Link helper object to create the correct links

    Declaration
    public ILinkHelper Link { get; }
    Property Value
    Type Description
    ILinkHelper

    A ILinkHelper object.

    Methods

    | Improve this Doc View Source

    AsAdam(IEntity, String)

    Provides an Adam instance for this item and field

    Declaration
    public IFolder AsAdam(IEntity entity, string fieldName)
    Parameters
    Type Name Description
    IEntity entity

    The entity, often Content or similar

    System.String fieldName

    The field name, like "Gallery" or "Pics"

    Returns
    Type Description
    IFolder

    An Adam object for navigating the assets

    | Improve this Doc View Source

    AsAdam(IDynamicEntity, String)

    Provides an Adam instance for this item and field

    Declaration
    public IFolder AsAdam(IDynamicEntity entity, string fieldName)
    Parameters
    Type Name Description
    IDynamicEntity entity

    The entity, often Content or similar

    System.String fieldName

    The field name, like "Gallery" or "Pics"

    Returns
    Type Description
    IFolder

    An Adam object for navigating the assets

    | Improve this Doc View Source

    AsDynamic(Object)

    Convert a dynamic entity and return itself again. This is so coders don't have to worry if the original object was an IEntity or a IDynamicEntity in the first place.

    Declaration
    public dynamic AsDynamic(dynamic dynamicEntity)
    Parameters
    Type Name Description
    System.Object dynamicEntity

    the original object

    Returns
    Type Description
    System.Object

    a dynamic object for easier coding

    | Improve this Doc View Source

    AsDynamic(String, String)

    Take a json and provide it as a dynamic object to the code

    Declaration
    public dynamic AsDynamic(string json, string fallback = "{}")
    Parameters
    Type Name Description
    System.String json

    the original json string

    System.String fallback

    Alternate string to use, if the original json can't parse. Can also be null or the word "error" if you would prefer an error to be thrown.

    Returns
    Type Description
    System.Object

    A dynamic object representing the original json. If it can't be parsed, it will parse the fallback, which by default is an empty empty dynamic object. If you provide null for the fallback, then you will get null back.

    Remarks

    New in 2sxc 10.20

    | Improve this Doc View Source

    AsDynamic(IEntity)

    Wraps an entity into a IDynamicEntity

    Declaration
    public dynamic AsDynamic(IEntity entity)
    Parameters
    Type Name Description
    IEntity entity

    the original object

    Returns
    Type Description
    System.Object

    a dynamic object for easier coding

    | Improve this Doc View Source

    AsEntity(Object)

    Unwraps a dynamic entity back into the underlying IEntity

    Declaration
    public IEntity AsEntity(dynamic dynamicEntity)
    Parameters
    Type Name Description
    System.Object dynamicEntity

    the wrapped IEntity

    Returns
    Type Description
    IEntity

    A normal IEntity

    | Improve this Doc View Source

    AsList(Object)

    Converts a list of IEntity objects into a list of IDynamicEntity objects.

    Declaration
    public IEnumerable<dynamic> AsList(dynamic list)
    Parameters
    Type Name Description
    System.Object list

    typically a List/IEnumerable of Entities or DynamicEntities.
    Can also be a IDataSource in which case it uses the default stream.

    Returns
    Type Description
    System.Collections.Generic.IEnumerable<System.Object>

    a list of IDynamicEntity objects

    Remarks

    Added in 2sxc 10.21.00

    | Improve this Doc View Source

    CreateSource<T>(IDataSource, ILookUpEngine)

    Create a IDataSource which will process data from the given stream.

    Declaration
    public T CreateSource<T>(IDataSource inSource = null, ILookUpEngine configurationProvider = null)
        where T : IDataSource
    Parameters
    Type Name Description
    IDataSource inSource

    The data source which will be the default In of the new data-source.

    ILookUpEngine configurationProvider

    An alternate configuration provider for the DataSource

    Returns
    Type Description
    T

    A typed DataSource object

    Type Parameters
    Name Description
    T

    A data-source type - must be inherited from IDataSource

    | Improve this Doc View Source

    CreateSource<T>(IDataStream)

    Create a IDataSource which will process data from the given stream.

    Declaration
    public T CreateSource<T>(IDataStream inStream)
        where T : IDataSource
    Parameters
    Type Name Description
    IDataStream inStream

    The stream which will be the default In of the new data-source.

    Returns
    Type Description
    T

    A typed DataSource object

    Type Parameters
    Name Description
    T

    A data-source type - must be inherited from IDataSource

    | Improve this Doc View Source

    SaveInAdam(String, Stream, String, String, Nullable<Guid>, String, String)

    Save a file from a stream (usually an upload from the browser) into an adam-field

    Declaration
    public IFile SaveInAdam(string dontRelyOnParameterOrder = "all params must be named, like 'enable: true, language: ''de-ch''", Stream stream = null, string fileName = null, string contentType = null, Guid? guid = default(Guid? ), string field = null, string subFolder = "")
    Parameters
    Type Name Description
    System.String dontRelyOnParameterOrder

    ensure that all parameters use names, so the api can change in future

    System.IO.Stream stream

    the stream

    System.String fileName

    file name to save to

    System.String contentType

    content-type of the target item (important for security checks)

    System.Nullable<System.Guid> guid
    System.String field
    System.String subFolder
    Returns
    Type Description
    IFile

    Implements

    IDynamicWebApi
    IDnnDynamicCode
    IDynamicCode
    ICreateInstance
    ICompatibilityLevel
    IHasLog
    • Improve this Doc
    • View Source
    Back to top Generated by DocFX