Search Results for

    Show / Hide Table of Contents

    Class QueryRunnerProcessor

    A processor for processing al the query runner elements together

    See https://help.lemonedge.com/query-runners/ for more information

    Inheritance
    object
    QueryRunnerProcessor
    Implements
    IBaseDataSetProcessorWithDBSave
    IBaseDataSetProcessor
    IProcessor
    IDisposable
    Inherited Members
    object.GetType()
    object.MemberwiseClone()
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    Namespace: LemonEdge.API.Core.Processors
    Assembly: LemonEdge.API.dll
    Syntax
    public class QueryRunnerProcessor : IBaseDataSetProcessorWithDBSave, IBaseDataSetProcessor, IProcessor, IDisposable

    Fields

    OnStepParametersChanged

    Declaration
    public EventHandler OnStepParametersChanged
    Field Value
    Type Description
    EventHandler

    Properties

    Cache

    A local cache for performance

    Declaration
    public IReadOnlyCache Cache { get; }
    Property Value
    Type Description
    IReadOnlyCache

    IgnoreEvents

    Indicates the processor should ignore changes to any items within the processor

    Normally used when the processor responds to an event and wants to prevent any other responses while it finishes processing that change

    Declaration
    public bool IgnoreEvents { get; set; }
    Property Value
    Type Description
    bool

    Loaded

    Flag to indicate if the processor has been fully loaded

    Declaration
    public bool Loaded { get; }
    Property Value
    Type Description
    bool

    Order

    If we have multiple save processors working, this indicates the order in which they will be processed with relation to each other

    Declaration
    public short Order { get; }
    Property Value
    Type Description
    short

    Reporter

    A reporter to provide feedback to a log, or client depending on the context the process is running under

    Declaration
    public BusyProgressReporter Reporter { get; set; }
    Property Value
    Type Description
    BusyProgressReporter

    SaveProcessed

    Indicates the ProcessOnDBSave has already been run. This is set by the system during save, and prevents recursive calls.

    It is also released by the system on save completion/failure

    Declaration
    public bool SaveProcessed { get; set; }
    Property Value
    Type Description
    bool

    Steps

    All the steps in this query runner

    Declaration
    public IEnumerable<IQueryRunnerStep> Steps { get; }
    Property Value
    Type Description
    IEnumerable<IQueryRunnerStep>

    Updater

    A context to ensure the process can query, load and modify all LemonEdge data

    Declaration
    public IEntityUpdater Updater { get; }
    Property Value
    Type Description
    IEntityUpdater

    User

    The current logged in user the process is running under

    Declaration
    public UserInfo User { get; }
    Property Value
    Type Description
    UserInfo

    Methods

    AddToDataSetToProcess(IBaseEntity, EntityOperation)

    Adds the specified IQueryRunner or IQueryRunnerStep, or IQueryRunnerStepParameter to this processor

    Declaration
    public void AddToDataSetToProcess(IBaseEntity item, EntityOperation operationType)
    Parameters
    Type Name Description
    IBaseEntity item

    The IQueryRunner or IQueryRunnerStep, or IQueryRunnerStepParameter to add that is a part of this processor

    EntityOperation operationType

    The type of modification this item has

    Dispose()

    Declaration
    public void Dispose()

    Dispose(bool)

    Declaration
    protected virtual void Dispose(bool disposing)
    Parameters
    Type Name Description
    bool disposing

    EnsureAllParametersForStepLoaded(IQueryRunnerStep)

    Automatically updates all parameters for the specified step to contain links to the current parameters for the step.

    Declaration
    public Task EnsureAllParametersForStepLoaded(IQueryRunnerStep step)
    Parameters
    Type Name Description
    IQueryRunnerStep step

    The step to create the associated parameters for automatically

    Returns
    Type Description
    Task

    A task indicating the completion of the operation

    GetGlobalParameters()

    Returns the list of global parameters for running this query runner

    LoadParameters() must be called first

    Declaration
    public IEnumerable<ISQLTypeWrapper> GetGlobalParameters()
    Returns
    Type Description
    IEnumerable<ISQLTypeWrapper>

    The list of global parameters for running this query runner

    GetParameter(IQueryRunnerStepParameter)

    Returns the actual sql type wrapper for the specified IQueryRunnerStepParameter

    LoadParameters() must be called first

    Declaration
    public ISQLTypeWrapper GetParameter(IQueryRunnerStepParameter parameter)
    Parameters
    Type Name Description
    IQueryRunnerStepParameter parameter

    The step parameter to return the sql wrapper type param for

    Returns
    Type Description
    ISQLTypeWrapper

    The actual sql type wrapper for the specified SQLWrapperParameterID

    IsChangedItemPartOfDataSet(IBaseEntity)

    Returns true for a IQueryRunner or IQueryRunnerStep, or IQueryRunnerStepParameter that is part of the path this processor handles

    Declaration
    public bool IsChangedItemPartOfDataSet(IBaseEntity item)
    Parameters
    Type Name Description
    IBaseEntity item

    The item to see if it belongs in this processor

    Returns
    Type Description
    bool

    True for a IQueryRunner or IQueryRunnerStep, or IQueryRunnerStepParameter that is part of the path this processor handles

    Load()

    A thread safe implementation to load all required data for the processor

    Once completed Loaded should return true.

    Declaration
    public Task Load()
    Returns
    Type Description
    Task

    A task indicating the completion of the load operation

    LoadParameters()

    Must be called before GetParameter(Guid). Used to load all the parameters referred to by this current query runner

    Declaration
    public Task LoadParameters()
    Returns
    Type Description
    Task

    A task indicating the completion of the operation

    OnAddStep(IQueryRunnerStep)

    Adds the new specified step into the processor

    Declaration
    public Task OnAddStep(IQueryRunnerStep step)
    Parameters
    Type Name Description
    IQueryRunnerStep step

    The newly created step to add into the processor

    Returns
    Type Description
    Task

    A task indicating the completion of the operation

    OnRemoveStep(IQueryRunnerStep)

    Removes the specified step from the processor

    Declaration
    public void OnRemoveStep(IQueryRunnerStep step)
    Parameters
    Type Name Description
    IQueryRunnerStep step

    THe step to be removed from the processor

    Parameters(IQueryRunnerStep)

    Returns the list of parameters configured against the specified step

    Declaration
    public IEnumerable<IQueryRunnerStepParameter> Parameters(IQueryRunnerStep forStep)
    Parameters
    Type Name Description
    IQueryRunnerStep forStep

    The step to return the parameters for

    Returns
    Type Description
    IEnumerable<IQueryRunnerStepParameter>

    The list of parameters configured against the specified step

    ProcessOnDBSave()

    Will only run when connected to the database directly.

    i.e. in the web service or in a client connected to the db service, not in a client connected to the web service.

    For the client connected to the webservice, as part of the webservices save routine it will call this.
    Declaration
    public Task ProcessOnDBSave()
    Returns
    Type Description
    Task

    Implements

    IBaseDataSetProcessorWithDBSave
    IBaseDataSetProcessor
    IProcessor
    IDisposable

    Extension Methods

    LinqExtensions.AsArray<T>(T)
    LinqExtensions.ToArrayOfOne<T>(T)
    LinqExtensions.ToListOfOne<T>(T)
    MiscExtensions.SetIfNotEqual<T, TP>(T, Expression<Func<T, TP>>, TP)
    WeakReferenceExtensions.WeakReference(object)
    SQLExtensions.ToSQLValue(object, bool)
    ReflectionExtensions.ClearEventInvocations(object, string)
    StringExtensions.ToCSVFormatString(object, Type)

    See Also

    IQueryRunner
    In this article
    Back to top © LemonEdge Technologies. All rights reserved.