Show / Hide Table of Contents

    Class DataObjectExtensions

    IDataObject extension functions

    Inheritance
    Object
    DataObjectExtensions
    Inherited Members
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Object.ReferenceEquals(Object, Object)
    Object.ToString()
    Namespace: XData
    Assembly: XData.docfx.dll
    Syntax
    public static class DataObjectExtensions

    Fields

    | Improve this Doc View Source

    SubquerySources

    Data sources types interpretable as sub queries

    Declaration
    public static readonly DataSourceType[] SubquerySources
    Field Value
    Type Description
    DataSourceType[]

    Methods

    | Improve this Doc View Source

    Apply<T>(IRepository<T>, T, String[])

    Find object and apply changes from detached object

    Declaration
    public static T Apply<T>(this IRepository<T> repository, T source, params string[] properties)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    IRepository<T> repository

    Repository

    T source

    Source detached object

    String[] properties

    Properties to copy

    Returns
    Type Description
    T

    Changed target object

    Type Parameters
    Name Description
    T

    Object type

    | Improve this Doc View Source

    Apply<T>(IRepository<T>, T, ApplyFlag, String[])

    Find object and apply changes from detached object

    Declaration
    public static T Apply<T>(this IRepository<T> repository, T source, ApplyFlag flags, params string[] properties)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    IRepository<T> repository

    Repository

    T source

    Source detached object

    ApplyFlag flags

    Apply behaviour flags

    String[] properties

    Properties to copy

    Returns
    Type Description
    T

    Changed target object

    Type Parameters
    Name Description
    T

    Object type

    | Improve this Doc View Source

    AssignProperty<T, TValue>(T, String, TValue)

    Assign property value

    Declaration
    public static bool AssignProperty<T, TValue>(this T obj, string prop, TValue value)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    String prop

    Property name

    TValue value

    Property value

    Returns
    Type Description
    Boolean

    Property value changed

    Type Parameters
    Name Description
    T

    Data object type

    TValue

    Data property type

    Exceptions
    Type Condition
    XDataRuntimeException

    Property name can not be null or empty

    | Improve this Doc View Source

    AsString<T>(IQueryable<T>)

    Repository select query text

    Declaration
    public static string AsString<T>(this IQueryable<T> queryable)
        where T : class, IDataObject
    Parameters
    Type Name Description
    IQueryable<T> queryable

    Queryable source of data object

    Returns
    Type Description
    String

    Repository

    Type Parameters
    Name Description
    T

    Data object type

    Remarks

    WARNING! High resource utilization! Use it for debug only!

    | Improve this Doc View Source

    Callback<T>(T, String, ref Byte[])

    Callback to client

    Declaration
    public static bool Callback<T>(this T obj, string message, ref byte[] data)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Object context

    String message

    Message name

    Byte[] data

    Data to post

    Returns
    Type Description
    Boolean
    Type Parameters
    Name Description
    T

    Data object type

    | Improve this Doc View Source

    CheckState<T>(T, DataObjectState)

    Checks object for state

    Declaration
    public static bool CheckState<T>(this T obj, DataObjectState state)
        where T : class, IDataObject
    Parameters
    Type Name Description
    T obj

    Data object instance

    DataObjectState state

    State

    Returns
    Type Description
    Boolean

    Object has desired state flag

    Type Parameters
    Name Description
    T

    Data object type

    Exceptions
    Type Condition
    XDataRuntimeException

    No state attached to object

    See Also
    GetState<T>(T)
    SetDeleted<T>(T, Boolean)
    | Improve this Doc View Source

    Copy<T>(T, T, String[])

    Copy detached object info

    Declaration
    public static T Copy<T>(this T target, T source, params string[] properties)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T target

    Target object attached to repository

    T source

    Source detached object

    String[] properties

    Properties to copy

    Returns
    Type Description
    T

    Changed target object

    Type Parameters
    Name Description
    T

    Object type

    | Improve this Doc View Source

    Copy<T>(T, T, ApplyFlag, String[])

    Copy detached object info

    Declaration
    public static T Copy<T>(this T target, T source, ApplyFlag flags, params string[] properties)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T target

    Target object attached to repository

    T source

    Source detached object

    ApplyFlag flags

    Apply behaviour flags

    String[] properties

    Properties to copy

    Returns
    Type Description
    T

    Changed target object

    Type Parameters
    Name Description
    T

    Object type

    | Improve this Doc View Source

    Execute<T>(T, Expression<Func<CustomLogic<T>>>, IDictionary<String, Action<Byte[]>>, IDictionary<String, Func<Byte[], Byte[]>>)

    Run custom logic over single object

    Declaration
    public static bool Execute<T>(this T obj, Expression<Func<CustomLogic<T>>> routine, IDictionary<string, Action<byte[]>> post = null, IDictionary<string, Func<byte[], byte[]>> callback = null)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    Expression<Func<CustomLogic<T>>> routine

    Action field name expression
    Example: () => SomeCustomActionField

    IDictionary<String, Action<Byte[]>> post

    Post data handler

    IDictionary<String, Func<Byte[], Byte[]>> callback

    Callback handler

    Returns
    Type Description
    Boolean

    Success flag

    Type Parameters
    Name Description
    T

    Data object type

    Remarks

    Hint: When using XData application server custom logic will executed on server side

    Exceptions
    Type Condition
    XDataRuntimeException

    Action field expression is null

    XDataRuntimeException

    CustomActionAttribute not found for expression specified field

    See Also
    Execute<T>(ICollection<T>, Expression<Func<CustomLogic<T>>>, IDictionary<String, Action<Byte[]>>, IDictionary<String, Func<Byte[], Byte[]>>)
    | Improve this Doc View Source

    Execute<T>(T, String, IDictionary<String, Action<Byte[]>>, IDictionary<String, Func<Byte[], Byte[]>>)

    Run custom logic over single object

    Declaration
    public static bool Execute<T>(this T obj, string key, IDictionary<string, Action<byte[]>> post = null, IDictionary<string, Func<byte[], byte[]>> callback = null)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    String key

    Action key

    IDictionary<String, Action<Byte[]>> post

    Post data handler

    IDictionary<String, Func<Byte[], Byte[]>> callback

    Callback handler

    Returns
    Type Description
    Boolean

    Success flag

    Type Parameters
    Name Description
    T

    Data object type

    Remarks

    Hint: When using XData application server custom logic will executed on server side

    Exceptions
    Type Condition
    XDataRuntimeException

    Object repository is detached

    See Also
    Execute<T>(T, Expression<Func<CustomLogic<T>>>, IDictionary<String, Action<Byte[]>>, IDictionary<String, Func<Byte[], Byte[]>>)
    | Improve this Doc View Source

    Execute<T>(ICollection<T>, Expression<Func<CustomLogic<T>>>, IDictionary<String, Action<Byte[]>>, IDictionary<String, Func<Byte[], Byte[]>>)

    Run custom logic over array of objects

    Declaration
    public static bool Execute<T>(this ICollection<T> objects, Expression<Func<CustomLogic<T>>> routine, IDictionary<string, Action<byte[]>> post = null, IDictionary<string, Func<byte[], byte[]>> callback = null)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    ICollection<T> objects

    Collection of objects

    Expression<Func<CustomLogic<T>>> routine

    Action field name expression
    Example: () => SomeCustomActionField

    IDictionary<String, Action<Byte[]>> post

    Post data handler

    IDictionary<String, Func<Byte[], Byte[]>> callback

    Callback handler

    Returns
    Type Description
    Boolean

    Success flag

    Type Parameters
    Name Description
    T

    Data object type

    Remarks

    Hint: When using XData application server custom logic will executed on server side

    Exceptions
    Type Condition
    XDataRuntimeException

    Action field name expression is null

    XDataRuntimeException

    CustomActionAttribute not found for expression specified field

    See Also
    Execute<T>(T, Expression<Func<CustomLogic<T>>>, IDictionary<String, Action<Byte[]>>, IDictionary<String, Func<Byte[], Byte[]>>)
    | Improve this Doc View Source

    Execute<T>(ICollection<T>, String, IDictionary<String, Action<Byte[]>>, IDictionary<String, Func<Byte[], Byte[]>>)

    Run custom logic over array of objects

    Declaration
    public static bool Execute<T>(this ICollection<T> objects, string key, IDictionary<string, Action<byte[]>> post = null, IDictionary<string, Func<byte[], byte[]>> callback = null)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    ICollection<T> objects

    Collection of objects

    String key

    Action key

    IDictionary<String, Action<Byte[]>> post

    Post data handler

    IDictionary<String, Func<Byte[], Byte[]>> callback

    Callback handler

    Returns
    Type Description
    Boolean

    Success flag

    Type Parameters
    Name Description
    T

    Data object type

    Remarks

    Hint: When using XData application server custom logic will executed on server side

    Exceptions
    Type Condition
    XDataRuntimeException

    Object repository is detached

    See Also
    Execute<T>(ICollection<T>, Expression<Func<CustomLogic<T>>>, IDictionary<String, Action<Byte[]>>, IDictionary<String, Func<Byte[], Byte[]>>)
    | Improve this Doc View Source

    Find<T>(IRepository<T>, T, Boolean)

    Find detached object in repository

    Declaration
    public static T Find<T>(this IRepository<T> repository, T source, bool ignoreConcurrency = false)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    IRepository<T> repository

    Repository

    T source

    Detached object

    Boolean ignoreConcurrency

    Find ignore concurrency token value (optional) default = false

    Returns
    Type Description
    T

    Found object

    Type Parameters
    Name Description
    T

    Object type

    | Improve this Doc View Source

    FindMemberExpression(Expression)

    Property name expression parse helper

    Declaration
    public static MemberExpression FindMemberExpression(Expression e)
    Parameters
    Type Name Description
    Expression e

    Property name expression: x => x.SomePropertyName

    Returns
    Type Description
    MemberExpression

    Property name

    Exceptions
    Type Condition
    XDataRuntimeException

    Property name expression can not be null

    XDataRuntimeException

    Expression has a wrong expression type

    | Improve this Doc View Source

    GetContext(IDataObject)

    Returns context name for object

    Declaration
    public static string GetContext(this IDataObject obj)
    Parameters
    Type Name Description
    IDataObject obj

    Data object

    Returns
    Type Description
    String

    Context name

    Exceptions
    Type Condition
    XDataRuntimeException
    | Improve this Doc View Source

    GetLayer(IDataObject)

    Returns repository layer for object

    Declaration
    public static Guid GetLayer(this IDataObject obj)
    Parameters
    Type Name Description
    IDataObject obj

    Data object

    Returns
    Type Description
    Guid

    Repository layer

    Exceptions
    Type Condition
    XDataRuntimeException
    | Improve this Doc View Source

    GetParameter<T>(IDataQuery, String)

    Returns SQL procedure/function out parameter value

    Declaration
    public static T GetParameter<T>(this IDataQuery query, string param)
    Parameters
    Type Name Description
    IDataQuery query

    Data query

    String param

    Parameter name

    Returns
    Type Description
    T

    Parameter value

    Type Parameters
    Name Description
    T
    Exceptions
    Type Condition
    XDataRuntimeException

    Parameter name can not be null or empty

    See Also
    GetParameter<T, TRet>(IDataQuery<T>, Expression<Func<T, TRet>>)
    | Improve this Doc View Source

    GetParameter<T, TRet>(T, Expression<Func<T, TRet>>)

    Returns SQL procedure/function out parameter value

    Declaration
    public static TRet GetParameter<T, TRet>(this T obj, Expression<Func<T, TRet>> param)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    Expression<Func<T, TRet>> param

    Parameter name expression using same name property (case insensitive)
    Example: x => x.SomePropertyName

    Returns
    Type Description
    TRet

    Parameter value

    Type Parameters
    Name Description
    T

    Data object type

    TRet

    Parameter type

    Exceptions
    Type Condition
    XDataRuntimeException

    Parameter name expression can not be null

    | Improve this Doc View Source

    GetParameter<T, TRet>(T, String)

    Returns SQL procedure/function out parameter value

    Declaration
    public static TRet GetParameter<T, TRet>(this T obj, string param)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    String param

    Parameter name

    Returns
    Type Description
    TRet

    Parameter value

    Type Parameters
    Name Description
    T

    Data object type

    TRet

    Parameter type

    Exceptions
    Type Condition
    XDataRuntimeException

    Parameter name can not be null or empty

    See Also
    GetParameter<T, TRet>(T, Expression<Func<T, TRet>>)
    | Improve this Doc View Source

    GetParameter<T, TRet>(IDataQuery<T>, Expression<Func<T, TRet>>)

    Returns SQL procedure/function out parameter value

    Declaration
    public static TRet GetParameter<T, TRet>(this IDataQuery<T> query, Expression<Func<T, TRet>> param)
        where T : class, new()
    Parameters
    Type Name Description
    IDataQuery<T> query

    Data query

    Expression<Func<T, TRet>> param

    Parameter name expression using same name property (case insensitive)
    Example: x => x.SomePropertyName

    Returns
    Type Description
    TRet

    Parameter value

    Type Parameters
    Name Description
    T

    Data object type

    TRet

    Parameter type

    Exceptions
    Type Condition
    XDataRuntimeException

    Parameter name expression can not be null

    | Improve this Doc View Source

    GetProperties<T>(T, IEnumerable<String>, DataVersion)

    Returns properties values

    Declaration
    public static IEnumerable<KeyValuePair<string, object>> GetProperties<T>(this T obj, IEnumerable<string> props, DataVersion version = DataVersion.Actual)
        where T : class, IDataObject
    Parameters
    Type Name Description
    T obj

    Data object instance

    IEnumerable<String> props

    Properties sequence

    DataVersion version

    Data version

    Returns
    Type Description
    IEnumerable<KeyValuePair<String, Object>>

    Sequence of name value pairs

    Type Parameters
    Name Description
    T

    Data object type

    Remarks

    Hint: To get a single property value use GetProperty<T, TRet>(T, Expression<Func<T, TRet>>, DataVersion) function.

    Exceptions
    Type Condition
    XDataRuntimeException

    Properties sequence is null

    | Improve this Doc View Source

    GetProperties<T>(T, String[])

    Returns properties values
    Hint: To get a single property value use GetProperty function.

    Declaration
    public static IEnumerable<KeyValuePair<string, object>> GetProperties<T>(this T obj, params string[] props)
        where T : class, IDataObject
    Parameters
    Type Name Description
    T obj

    Data object instance

    String[] props

    Properties array

    Returns
    Type Description
    IEnumerable<KeyValuePair<String, Object>>

    Sequence of name value pairs

    Type Parameters
    Name Description
    T

    Data object type

    Remarks

    Hint: To get a single property value use GetProperty<T, TRet>(T, Expression<Func<T, TRet>>, DataVersion) function.

    | Improve this Doc View Source

    GetProperties<T>(T, DataVersion, String[])

    Returns properties values

    Declaration
    public static IEnumerable<KeyValuePair<string, object>> GetProperties<T>(this T obj, DataVersion version = DataVersion.Actual, params string[] props)
        where T : class, IDataObject
    Parameters
    Type Name Description
    T obj

    Data object instance

    DataVersion version

    Data version

    String[] props

    Properties array

    Returns
    Type Description
    IEnumerable<KeyValuePair<String, Object>>

    Sequence of name value pairs

    Type Parameters
    Name Description
    T

    Data object type

    Remarks

    Hint: To get a single property value use GetProperty<T, TRet>(T, Expression<Func<T, TRet>>, DataVersion) function.

    | Improve this Doc View Source

    GetProperty<TRet>(IDataObject, String)

    Returns single property value

    Declaration
    public static TRet GetProperty<TRet>(this IDataObject obj, string prop)
    Parameters
    Type Name Description
    IDataObject obj

    Data object instance

    String prop

    Property name

    Returns
    Type Description
    TRet

    Property value

    Type Parameters
    Name Description
    TRet

    Property type

    Exceptions
    Type Condition
    XDataRuntimeException

    Property name can not be null or empty

    See Also
    GetProperty<T, TRet>(T, Expression<Func<T, TRet>>, DataVersion)
    | Improve this Doc View Source

    GetProperty<T, TRet>(T, Expression<Func<T, TRet>>)

    Returns property value

    Declaration
    public static TRet GetProperty<T, TRet>(this T obj, Expression<Func<T, TRet>> prop)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    Expression<Func<T, TRet>> prop

    Property name expression: x => x.SomePropertyName

    Returns
    Type Description
    TRet

    Property value

    Type Parameters
    Name Description
    T

    Data object type

    TRet

    Property type

    Exceptions
    Type Condition
    XDataRuntimeException

    Property name expression can not be null

    | Improve this Doc View Source

    GetProperty<T, TRet>(T, Expression<Func<T, TRet>>, DataVersion)

    Returns property value

    Declaration
    public static TRet GetProperty<T, TRet>(this T obj, Expression<Func<T, TRet>> prop, DataVersion version)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    Expression<Func<T, TRet>> prop

    Property name expression: x => x.SomePropertyName

    DataVersion version

    Data version

    Returns
    Type Description
    TRet

    Property value

    Type Parameters
    Name Description
    T

    Data object type

    TRet

    Property type

    Exceptions
    Type Condition
    XDataRuntimeException

    Property name expression can not be null

    | Improve this Doc View Source

    GetRepository<T>(T)

    Returns object repository

    Declaration
    public static IRepository<T> GetRepository<T>(this T obj)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    Returns
    Type Description
    IRepository<T>

    Object repository

    Type Parameters
    Name Description
    T

    Data object type

    Exceptions
    Type Condition
    XDataRuntimeException

    Object repository is detached

    | Improve this Doc View Source

    GetRepositoryAlias(IDataObject)

    Returns object's repository alias

    Declaration
    public static string GetRepositoryAlias(this IDataObject obj)
    Parameters
    Type Name Description
    IDataObject obj

    Data object

    Returns
    Type Description
    String

    Repository alias

    Exceptions
    Type Condition
    XDataRuntimeException
    | Improve this Doc View Source

    GetResultSet<TRes>(IDataQuery, Expression<Func<IEnumerable<TRes>>>)

    Returns SQL procedure/function result set

    Declaration
    public static IEnumerable<TRes> GetResultSet<TRes>(this IDataQuery query, Expression<Func<IEnumerable<TRes>>> resultSetName)
        where TRes : class
    Parameters
    Type Name Description
    IDataQuery query

    Data query

    Expression<Func<IEnumerable<TRes>>> resultSetName

    Result set name expression using same name property (case insensitive)
    Example: x => x.SomePropertyName

    Returns
    Type Description
    IEnumerable<TRes>

    Result set object sequence

    Type Parameters
    Name Description
    TRes

    Result set object type

    Exceptions
    Type Condition
    XDataRuntimeException

    Result set name expression can not be null

    See Also
    GetResultSet<TRes>(IDataQuery, String)
    | Improve this Doc View Source

    GetResultSet<TRes>(IDataQuery, String)

    Returns SQL procedure/function result set

    Declaration
    public static IEnumerable<TRes> GetResultSet<TRes>(this IDataQuery query, string resultSetName)
        where TRes : class
    Parameters
    Type Name Description
    IDataQuery query

    Data query

    String resultSetName

    Result set name name

    Returns
    Type Description
    IEnumerable<TRes>

    Parameter value

    Type Parameters
    Name Description
    TRes

    Result set object type

    Exceptions
    Type Condition
    XDataRuntimeException

    Result set name can not be null or empty

    See Also
    GetResultSet<TRes>(IDataQuery, Expression<Func<IEnumerable<TRes>>>)
    | Improve this Doc View Source

    GetResultSet<T, TRes>(T, Expression<Func<T, IEnumerable<TRes>>>)

    Returns SQL procedure/function result set

    Declaration
    public static IEnumerable<TRes> GetResultSet<T, TRes>(this T obj, Expression<Func<T, IEnumerable<TRes>>> resultSetName)
        where T : class, IDataObject, new()
        where TRes : class
    Parameters
    Type Name Description
    T obj

    Data object instance

    Expression<Func<T, IEnumerable<TRes>>> resultSetName

    Result set name expression using same name property (case insensitive)
    Example: x => x.SomePropertyName

    Returns
    Type Description
    IEnumerable<TRes>

    Result set object sequence

    Type Parameters
    Name Description
    T

    Data object type

    TRes

    Result set object type

    Exceptions
    Type Condition
    XDataRuntimeException

    Result set name expression can not be null

    | Improve this Doc View Source

    GetResultSet<T, TRes>(IRepository<T>, Expression<Func<T, IEnumerable<TRes>>>)

    Returns SQL procedure/function result set

    Declaration
    public static IEnumerable<TRes> GetResultSet<T, TRes>(this IRepository<T> repository, Expression<Func<T, IEnumerable<TRes>>> resultSetName)
        where T : class, IDataObject, new()
        where TRes : class
    Parameters
    Type Name Description
    IRepository<T> repository

    Data object repository

    Expression<Func<T, IEnumerable<TRes>>> resultSetName

    Result set name expression using same name property (case insensitive)
    Example: x => x.SomePropertyName

    Returns
    Type Description
    IEnumerable<TRes>

    Result set object sequence

    Type Parameters
    Name Description
    T

    Object type

    TRes

    Result set object type

    Exceptions
    Type Condition
    XDataRuntimeException

    Result set name expression can not be null

    See Also
    GetResultSet<TRes>(IDataQuery, String)
    | Improve this Doc View Source

    GetState<T>(T)

    Returns state of object

    Declaration
    public static DataObjectState GetState<T>(this T obj)
        where T : class, IDataObject
    Parameters
    Type Name Description
    T obj

    Data object instance

    Returns
    Type Description
    DataObjectState

    Object state flags combination(see DataObjectState)

    Type Parameters
    Name Description
    T

    Data object type

    Exceptions
    Type Condition
    XDataRuntimeException

    No state attached to object

    See Also
    CheckState<T>(T, DataObjectState)
    SetDeleted<T>(T, Boolean)
    | Improve this Doc View Source

    IsAttached(IDataObject, Type)

    Check data object is attached

    Declaration
    public static bool IsAttached(this IDataObject obj, Type type)
    Parameters
    Type Name Description
    IDataObject obj

    Data object instance

    Type type

    Data object type

    Returns
    Type Description
    Boolean

    Object is attached

    Exceptions
    Type Condition
    XDataRuntimeException

    Object is detached

    | Improve this Doc View Source

    IsChanged<T>(T, Expression<Func<T, Object>>[])

    Test property value is assigned

    Declaration
    public static bool IsChanged<T>(this T obj, params Expression<Func<T, object>>[] prop)
        where T : class, IDataObject
    Parameters
    Type Name Description
    T obj

    Data object instance

    Expression<Func<T, Object>>[] prop

    Property name expression
    Example: x => x.SomePropertyName

    Returns
    Type Description
    Boolean

    Property is changed

    Type Parameters
    Name Description
    T

    Data object type

    Exceptions
    Type Condition
    XDataRuntimeException

    Property name expression can not be null

    | Improve this Doc View Source

    IsChanged<T>(T, String)

    Test property value is assigned

    Declaration
    public static bool IsChanged<T>(this T obj, string prop)
        where T : class, IDataObject
    Parameters
    Type Name Description
    T obj

    Data object instance

    String prop

    Property name

    Returns
    Type Description
    Boolean

    Property is changed

    Type Parameters
    Name Description
    T

    Data object type

    Exceptions
    Type Condition
    XDataRuntimeException

    Property name can not be null or empty

    | Improve this Doc View Source

    IsCleared<T>(T, String)

    Test property value is cleared

    Declaration
    public static bool IsCleared<T>(this T obj, string prop)
        where T : class, IDataObject
    Parameters
    Type Name Description
    T obj

    Data object instance

    String prop

    Property name

    Returns
    Type Description
    Boolean

    Property is cleared

    Type Parameters
    Name Description
    T

    Data object type

    Exceptions
    Type Condition
    XDataRuntimeException

    Property name can not be null or empty

    | Improve this Doc View Source

    IsEmpty<T>(T, Expression<Func<T, Object>>)

    Test property value is empty

    Declaration
    public static bool IsEmpty<T>(this T obj, Expression<Func<T, object>> prop)
        where T : class, IDataObject
    Parameters
    Type Name Description
    T obj

    Data object instance

    Expression<Func<T, Object>> prop

    Property name expression
    Example: x => x.SomePropertyName

    Returns
    Type Description
    Boolean

    Property is empty

    Type Parameters
    Name Description
    T

    Data object type

    Exceptions
    Type Condition
    XDataRuntimeException

    Property name expression can not be null

    | Improve this Doc View Source

    IsEmpty<T>(T, String)

    Test property value is empty

    Declaration
    public static bool IsEmpty<T>(this T obj, string prop)
        where T : class, IDataObject
    Parameters
    Type Name Description
    T obj

    Data object instance

    String prop

    Property name

    Returns
    Type Description
    Boolean

    Property is empty

    Type Parameters
    Name Description
    T

    Data object type

    Exceptions
    Type Condition
    XDataRuntimeException

    Property name can not be null or empty

    | Improve this Doc View Source

    LoadLob<T>(T)

    Load Lob and Xml field values of data object

    Declaration
    public static T LoadLob<T>(this T obj)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Object

    Returns
    Type Description
    T

    Enriched object

    Type Parameters
    Name Description
    T

    Object type

    | Improve this Doc View Source

    LoadLob<T>(T, Expression<Func<T, Object>>[])

    Load Lob and Xml field values of data object

    Declaration
    public static T LoadLob<T>(this T obj, params Expression<Func<T, object>>[] properties)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Object

    Expression<Func<T, Object>>[] properties

    Properties expressions

    Returns
    Type Description
    T

    Enriched object

    Type Parameters
    Name Description
    T

    Object type

    | Improve this Doc View Source

    LoadLob<T>(T, String[])

    Load Lob and Xml field values of data object

    Declaration
    public static T LoadLob<T>(this T obj, params string[] properties)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Object

    String[] properties

    Properties extensions

    Returns
    Type Description
    T

    Enriched object

    Type Parameters
    Name Description
    T

    Object type

    | Improve this Doc View Source

    Lock<T>(T)

    Lock object in database

    Declaration
    public static bool Lock<T>(this T obj)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    Returns
    Type Description
    Boolean

    Lock success

    Type Parameters
    Name Description
    T

    Data object type

    See Also
    Lock(T)
    | Improve this Doc View Source

    Modify(Lob, Action<Byte[]>)

    Lob field modify

    Declaration
    public static Lob Modify(this Lob source, Action<byte[]> action)
    Parameters
    Type Name Description
    Lob source

    Source Lob

    Action<Byte[]> action

    Modify action

    Returns
    Type Description
    Lob

    Modified Lob

    Exceptions
    Type Condition
    XDataRuntimeException

    Modify logic error

    See Also
    Lob
    Modify(Xml, Action<XDocument>)
    | Improve this Doc View Source

    Modify(Xml, Action<XDocument>)

    Xml field modify

    Declaration
    public static Xml Modify(this Xml source, Action<XDocument> action)
    Parameters
    Type Name Description
    Xml source

    Source document

    Action<XDocument> action

    Modify action

    Returns
    Type Description
    Xml

    Modified xml

    Examples

    invoice.Source.Modify(doc => doc.Element("invoice").Attribute("state").Value = "ACTIVE");

    Exceptions
    Type Condition
    XDataRuntimeException

    Modify logic error

    See Also
    Xml
    Modify(Lob, Action<Byte[]>)
    | Improve this Doc View Source

    Modify<T>(T, Action<T>[])

    Data object modification wrapper

    Declaration
    public static T Modify<T>(this T obj, params Action<T>[] actions)
        where T : class, IDataObject
    Parameters
    Type Name Description
    T obj

    Data object

    Action<T>[] actions

    Modification actions

    Returns
    Type Description
    T

    Modified data object

    Type Parameters
    Name Description
    T

    Data object type

    | Improve this Doc View Source

    PostData<T>(T, String, Func<Byte[]>)

    Post data to client

    Declaration
    public static void PostData<T>(this T obj, string message, Func<byte[]> data)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Object context

    String message

    Message name

    Func<Byte[]> data

    Data to post

    Type Parameters
    Name Description
    T

    Data object type

    | Improve this Doc View Source

    Refresh<T>(T)

    Refresh single data object from database

    Declaration
    public static bool Refresh<T>(this T obj)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    Returns
    Type Description
    Boolean

    Success flag

    Type Parameters
    Name Description
    T

    Data object type

    | Improve this Doc View Source

    Refresh<T>(IRepository<T>)

    Refresh repository data

    Declaration
    public static IRepository<T> Refresh<T>(this IRepository<T> source)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    IRepository<T> source

    Repository

    Returns
    Type Description
    IRepository<T>

    Repository

    Type Parameters
    Name Description
    T

    Data object type

    | Improve this Doc View Source

    SetAttachedHandlers<T>(T, AttachedHandler<T>[])

    Attach extra handlers to object instance

    Declaration
    public static void SetAttachedHandlers<T>(this T obj, params AttachedHandler<T>[] handlers)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    AttachedHandler<T>[] handlers

    Handlers

    Type Parameters
    Name Description
    T

    Data object type

    | Improve this Doc View Source

    SetCurrent<T>(T)

    Set object as repository current

    Declaration
    public static void SetCurrent<T>(this T obj)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    Type Parameters
    Name Description
    T

    Data object type

    See Also
    Current
    | Improve this Doc View Source

    SetDeleted<T>(T, Boolean)

    Set deleted state to object

    Declaration
    public static T SetDeleted<T>(this T obj, bool setState)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    Boolean setState

    Set or remove DataObjectState.Deleted state flag

    Returns
    Type Description
    T

    Object marked as deleted/restored

    Type Parameters
    Name Description
    T

    Data object type

    Exceptions
    Type Condition
    XDataRuntimeException

    No state attached to object

    See Also
    CheckState<T>(T, DataObjectState)
    GetState<T>(T)
    | Improve this Doc View Source

    SetDeleted<T>(ICollection<T>, Boolean)

    Set deleted state to each object in collection

    Declaration
    public static ICollection<T> SetDeleted<T>(this ICollection<T> collection, bool setState)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    ICollection<T> collection

    Data object collection

    Boolean setState

    Set or remove DataObjectState.Deleted state flag

    Returns
    Type Description
    ICollection<T>

    Collection of objects marked as deleted/restored

    Type Parameters
    Name Description
    T

    Data object type

    Exceptions
    Type Condition
    XDataRuntimeException

    No state attached to object

    See Also
    CheckState<T>(T, DataObjectState)
    GetState<T>(T)
    | Improve this Doc View Source

    SetFilterValue<T, TRes>(IRepository<T>, Expression<Func<T, TRes>>, TRes)

    Set value to dynamically created runtime filter

    Declaration
    public static IRepository<T> SetFilterValue<T, TRes>(this IRepository<T> repository, Expression<Func<T, TRes>> propertyExpression, TRes filterValue)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    IRepository<T> repository

    Repository

    Expression<Func<T, TRes>> propertyExpression

    Property name expression

    TRes filterValue

    Filter value

    Returns
    Type Description
    IRepository<T>

    Repository

    Type Parameters
    Name Description
    T

    Repository data object type

    TRes

    Property type

    | Improve this Doc View Source

    SetVar<T>(String, T)

    Set variable value

    Declaration
    public static Variable SetVar<T>(this string name, T value)
    Parameters
    Type Name Description
    String name

    Variable name

    T value

    Variable value

    Returns
    Type Description
    Variable

    Variable

    Type Parameters
    Name Description
    T

    Value type

    | Improve this Doc View Source

    Submit<T>(T, out T, DataSubmitFlag)

    Submit data object changes

    Declaration
    public static bool Submit<T>(this T obj, out T res, DataSubmitFlag flag = DataSubmitFlag.None)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    T res

    Submitted object

    DataSubmitFlag flag

    Submit flag

    Returns
    Type Description
    Boolean

    Submit success

    Type Parameters
    Name Description
    T

    Data object type

    See Also
    Submit(ref T, DataSubmitFlag)
    | Improve this Doc View Source

    Submit<T>(T, Func<JsonSettings<T>, JsonSettings<T>>, out T, DataSubmitFlag)

    Submit data object changes

    Declaration
    public static bool Submit<T>(this T obj, Func<JsonSettings<T>, JsonSettings<T>> settings, out T res, DataSubmitFlag flag = DataSubmitFlag.None)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    Func<JsonSettings<T>, JsonSettings<T>> settings

    JSON serialization settings

    T res

    Submitted object

    DataSubmitFlag flag

    Submit flag

    Returns
    Type Description
    Boolean

    Submit success

    Type Parameters
    Name Description
    T

    Data object type

    See Also
    Submit(ref T, DataSubmitFlag)
    | Improve this Doc View Source

    Submit<T>(T, DataSubmitFlag)

    Submit data object changes

    Declaration
    public static bool Submit<T>(this T obj, DataSubmitFlag flag = DataSubmitFlag.None)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Data object instance

    DataSubmitFlag flag

    Submit flag

    Returns
    Type Description
    Boolean

    Submit success

    Type Parameters
    Name Description
    T

    Data object type

    See Also
    Submit(ref T, DataSubmitFlag)
    | Improve this Doc View Source

    ToArray<T>(IEnumerable<T>, Func<JsonSettings<T>, JsonSettings<T>>)

    Returns array of data objects with JSON serialization settings applied

    Declaration
    public static T[] ToArray<T>(this IEnumerable<T> sourceEnumerable, Func<JsonSettings<T>, JsonSettings<T>> settings)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    IEnumerable<T> sourceEnumerable

    Source object sequence

    Func<JsonSettings<T>, JsonSettings<T>> settings

    JSON serialization settings

    Returns
    Type Description
    T[]

    Array of data objects with JSON serialization settings applied

    Type Parameters
    Name Description
    T

    Object type

    | Improve this Doc View Source

    WithJsonSettings<T>(T, Func<JsonSettings<T>, JsonSettings<T>>)

    Apply custom JSON serialization settings to single object

    Declaration
    public static T WithJsonSettings<T>(this T obj, Func<JsonSettings<T>, JsonSettings<T>> settings)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    T obj

    Object to apply serialization settings

    Func<JsonSettings<T>, JsonSettings<T>> settings

    Serialization settings fill routine

    Returns
    Type Description
    T

    Object with custom serialization settings

    Type Parameters
    Name Description
    T

    ObjectType

    | Improve this Doc View Source

    WithJsonSettings<T>(ICollection<T>, Func<JsonSettings<T>, JsonSettings<T>>)

    Apply custom JSON serialization settings to collection

    Declaration
    public static ICollection<T> WithJsonSettings<T>(this ICollection<T> collection, Func<JsonSettings<T>, JsonSettings<T>> settings)
        where T : class, IDataObject, new()
    Parameters
    Type Name Description
    ICollection<T> collection

    Collection to apply serialization settings

    Func<JsonSettings<T>, JsonSettings<T>> settings

    Serialization settings fill routine

    Returns
    Type Description
    ICollection<T>

    Collection with custom serialization settings

    Type Parameters
    Name Description
    T

    ObjectType

    • Improve this Doc
    • View Source
    Back to top Generated by DocFX