<?xml version="1.0"?>
<doc>
    <assembly>
        <name>ApacKernel.Repositories.Dapper</name>
    </assembly>
    <members>
        <member name="T:ApacKernel.Repositories.Dapper.NamespaceDoc">
            <summary>
            The <see cref="N:ApacKernel.Repositories.Dapper"/> namespace contains T-SQL repositories with Dapper support.
            </summary>
        </member>
        <member name="T:ApacKernel.Repositories.Dapper.ApacDataBaseException">
            <summary>
            Base exception for SQL database communications
            </summary>
        </member>
        <member name="T:ApacKernel.Repositories.Dapper.CacheAllAttribute">
            <summary>
            Repository marked by this attribute will cached in memory
            </summary>
        </member>
        <member name="T:ApacKernel.Repositories.Dapper.ConnectionStringParser">
            <summary>
            Connection strings parser
            </summary>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.ConnectionStringParser.GetPassword(System.String)">
            <summary>
            Get password
            </summary>
            <param name="connectionString">Source connection string</param>
            <returns>Password value</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.ConnectionStringParser.GetUsername(System.String)">
            <summary>
            Get user name
            </summary>
            <param name="connectionString">Source connection string</param>
            <returns>User name value</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.ConnectionStringParser.GetDatabaseName(System.String)">
            <summary>
            Get database name
            </summary>
            <param name="connectionString">Source connection string</param>
            <returns>Database name value</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.ConnectionStringParser.GetServerName(System.String)">
            <summary>
            Get server name
            </summary>
            <param name="connectionString">Source connection string</param>
            <returns>Server name value</returns>
        </member>
        <member name="T:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1">
            <summary>
            Base T-SQL entity repository
            </summary>
            <typeparam name="T">Repository entity inherited from <see cref="T:ApacKernel.Repositories.EntityBase"/></typeparam>
        </member>
        <member name="F:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.mainConnectionString">
            <summary>
            Main connection string
            </summary>
        </member>
        <member name="F:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.reportsConnectionString">
            <summary>
            Optional reporting connection string
            </summary>
        </member>
        <member name="F:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.CacheDictionary">
            <summary>
            Cache dictionary for repositories marked by <see cref="T:ApacKernel.Repositories.Dapper.CacheAllAttribute"/> attribute
            </summary>
        </member>
        <member name="F:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.CacheList">
            <summary>
            Simple cached list for repositories marked by <see cref="T:ApacKernel.Repositories.Dapper.CacheAllAttribute"/> attribute
            </summary>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.Initialize(System.String,System.String)">
            <summary>
            Custom repository initialization
            </summary>
            <param name="mainConnString">Main connection string</param>
            <param name="reportsConnString">Reporting connection string</param>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.Create(`0,System.Guid)">
            <summary>
            Execute INSERT entity to <see cref="P:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.EntityTableName"/>
            </summary>
            <param name="entity">Source entity</param>
            <param name="userID">Unique user ID who inserting entity</param>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.Update(`0,System.Guid)">
            <summary>
            Execute UPDATE entity in <see cref="P:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.EntityTableName"/>
            </summary>
            <param name="entity">Source entity</param>
            <param name="userID">Unique user ID who updating entity</param>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.DeleteByID(System.Guid,System.Guid)">
            <summary>
            Set isDeleted=1 for entity
            </summary>
            <param name="id">Entity ID</param>
            <param name="userID">Unique user ID who deleting entity</param>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GetByID(System.Guid)">
            <summary>
            Execute SELECT by entity ID which has isDeleted=0 flag
            </summary>
            <param name="id">Entity ID</param>
            <returns>Output entity</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GetAll">
            <summary>
             Execute simple SELECT to get all entities which has isDeleted=0 flag
            </summary>
            <returns>List of entities</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.Patch(System.Guid,ApacKernel.Repositories.Delta{`0},System.Guid)">
            <summary>
            Execute UPDATE of entity for fields from <paramref name="deltaEntity"/>
            </summary>
            <param name="id">Entity ID</param>
            <param name="deltaEntity">Update Delta object</param>
            <param name="currentUserID">Unique user ID who updating entity</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="id"/> is <see cref="F:System.Guid.Empty"/></exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="currentUserID"/> is <see cref="F:System.Guid.Empty"/></exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="deltaEntity"/> is <c>null</c></exception>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GetByCriteria(ApacKernel.Repositories.Criteria{`0})">
            <summary>
            Execute SELECT by using entity fields from <paramref name="criteria"/> in WHERE part as AND clauses 
            </summary>
            <param name="criteria">Entity criteria object</param>
            <returns>List of entities</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GetCreateStatement(System.Type)">
            <summary>
            Get INSERT statement
            </summary>
            <param name="type">Entity type</param>
            <returns>T-SQL INSERT string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GetCreateStatement">
            <summary>
            Get INSERT statement for repository entity
            </summary>
            <returns>T-SQL INSERT string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GenerateCreateStatement(System.Reflection.PropertyInfo[])">
            <summary>
            Generate INSERT statement
            </summary>
            <param name="properties">Entity properties</param>
            <returns>T-SQL INSERT string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GenerateCreateStatement(System.Type)">
            <summary>
            Generate INSERT statement
            </summary>
            <param name="type">Entity type</param>
            <returns>T-SQL INSERT string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GenerateCreateStatement">
            <summary>
            Generate INSERT statement for repository entity
            </summary>
            <returns>T-SQL INSERT string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GetUpdateStatement">
            <summary>
            Get UPDATE statement
            </summary>
            <returns>T-SQL UPDATE string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GenerateUpdateStatement(System.Reflection.PropertyInfo[])">
            <summary>
            Generate UPDATE statement
            </summary>
            <param name="properties">Entity properties</param>
            <returns>T-SQL UPDATE string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GenerateUpdateStatement(System.Type)">
            <summary>
            Generate UPDATE statement
            </summary>
            <param name="type">Entity type</param>
            <returns>T-SQL UPDATE string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GenerateUpdateStatement">
            <summary>
            Generate UPDATE statement for repository entity
            </summary>
            <returns>T-SQL UPDATE string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GetSelectAllStatement">
            <summary>
            Get SELECT statement
            </summary>
            <returns>T-SQL SELECT string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GenerateSelectAllStatement(System.Reflection.PropertyInfo[])">
            <summary>
            Generate SELECT statement
            </summary>
            <param name="properties">Entity properties</param>
            <returns>T-SQL SELECT string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GenerateSelectAllStatement(System.Type)">
            <summary>
            Generate SELECT statement
            </summary>
            <param name="type">Entity type</param>
            <returns>T-SQL SELECT string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GenerateSelectAllStatement">
            <summary>
            Generate SELECT statement for repository entity
            </summary>
            <returns>T-SQL SELECT string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GetSelectByIdStatement">
            <summary>
            Get SELECT by ID statement
            </summary>
            <returns>T-SQL SELECT string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GenerateSelectByIdStatement(System.Reflection.PropertyInfo[])">
            <summary>
            Generate SELECT by ID statement
            </summary>
            <param name="properties">Entity properties</param>
            <returns>T-SQL SELECT string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GenerateSelectByIdStatement(System.Type)">
            <summary>
            Generate SELECT by ID statement
            </summary>
            <param name="type">Entity type</param>
            <returns>T-SQL SELECT string</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.GenerateSelectByIdStatement">
            <summary>
            Generate SELECT by ID statement for repository entity
            </summary>
            <returns>T-SQL SELECT string</returns>
        </member>
        <member name="P:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.PropertiesThatExist">
            <summary>
            Repository entity properties
            </summary>
        </member>
        <member name="P:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.EntityType">
            <summary>
            Repository entity type
            </summary>
        </member>
        <member name="P:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.MainConnection">
            <summary>
            Main SQL connection
            </summary>
        </member>
        <member name="P:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.ReportsConnection">
            <summary>
            Optional reporting SQL connection
            </summary>
        </member>
        <member name="P:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.IdentityName">
            <summary>
            Entity table id field name
            </summary>
        </member>
        <member name="P:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.EntityTableName">
            <summary>
            Entity table name
            </summary>
        </member>
        <member name="P:ApacKernel.Repositories.Dapper.DBEntityRepositoryBase`1.UseNolock">
            <summary>
            Use <c>(nolock)</c> for SELECT queries
            </summary>
        </member>
        <member name="T:ApacKernel.Repositories.Dapper.DapperHelper">
            <summary>
            Dapper extension methods
            </summary>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DapperHelper.ExecuteProcedure``1(System.Data.SqlClient.SqlConnection,System.String,System.Object,System.Int32)">
            <summary>
            Execute query stored procedure
            </summary>
            <typeparam name="T">Output entity type</typeparam>
            <param name="connection">SQL connection</param>
            <param name="spName">Stored procedure name</param>
            <param name="spParams">Stored procedure input parameters</param>
            <param name="commandTimeout">Command run time-out</param>
            <returns>Output entities</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DapperHelper.ExecuteProcedure(System.Data.SqlClient.SqlConnection,System.String,System.Object,System.Int32)">
            <summary>
            Execute stored procedure
            </summary>
            <param name="connection">SQL connection</param>
            <param name="spName">Stored procedure name</param>
            <param name="spParams">Stored procedure input parameters</param>
            <param name="commandTimeout">Command run time-out</param>
            <remarks>Obsolete, please use <see cref="M:ApacKernel.Repositories.Dapper.DapperHelper.ExecuteNonQuery(System.Data.SqlClient.SqlConnection,System.String,System.Object,System.Int32)"/></remarks>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DapperHelper.ExecuteNonQuery(System.Data.SqlClient.SqlConnection,System.String,System.Object,System.Int32)">
            <summary>
            Execute non-query stored procedure
            </summary>
            <param name="connection">SQL connection</param>
            <param name="spName">Stored procedure name</param>
            <param name="spParams">Stored procedure input parameters</param>
            <param name="commandTimeout">Command run time-out</param>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DapperHelper.ExecuteScript(System.Data.SqlClient.SqlConnection,System.String,System.Object,System.Int32)">
            <summary>
            Execute non-query SQL script
            </summary>
            <param name="connection">SQL connection</param>
            <param name="sqlScript">SQL script</param>
            <param name="queryParams">SQL script parameters</param>
            <param name="commandTimeout">Command run time-out</param>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DapperHelper.ExecuteQuery``1(System.Data.SqlClient.SqlConnection,System.String,System.Object,System.Int32)">
            <summary>
            Execute query SQL script
            </summary>
            <typeparam name="T">Output entity type</typeparam>
            <param name="connection">SQL connection</param>
            <param name="queryStatement">SQL script</param>
            <param name="queryParams">SQL script parameters</param>
            <param name="commandTimeout">Command run time-out</param>
            <returns>Output entities</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DapperHelper.ExecuteAction(System.Data.SqlClient.SqlConnection,System.Action{System.Data.SqlClient.SqlConnection})">
            <summary>
            Execute <see cref="T:System.Action`1"/> with SQL connection
            </summary>
            <param name="connection">SQL connection</param>
            <param name="action">Run action</param>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DapperHelper.TryExecuteAction(System.Data.SqlClient.SqlConnection,System.Action{System.Data.SqlClient.SqlConnection})">
            <summary>
            Safe execute <see cref="T:System.Action`1"/> with SQL connection
            </summary>
            <param name="connection">SQL connection</param>
            <param name="action">Run action</param>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DapperHelper.TryExecuteWithTransacton(System.Data.SqlClient.SqlConnection,System.Action{System.Data.SqlClient.SqlConnection})">
            <summary>
            Safe execute <see cref="T:System.Action`1"/> with SQL connection inside transaction.
            </summary>
            <param name="connection">SQL connection</param>
            <param name="action">Run action</param>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DapperHelper.TryExecuteBulkWithTransaction``1(System.Data.SqlClient.SqlConnection,System.Collections.Generic.IEnumerable{``0},System.Action{System.Data.SqlClient.SqlConnection,``0})">
            <summary>
            Safe execute multiple action inside transaction 
            </summary>
            <typeparam name="T">Input entity type</typeparam>
            <param name="connection">SQL connection</param>
            <param name="entities">Input entities</param>
            <param name="action">Entity processing run action</param>
        </member>
        <member name="T:ApacKernel.Repositories.Queues.Dapper.NamespaceDoc">
            <summary>
            The <see cref="N:ApacKernel.Repositories.Queues.Dapper"/> namespace contains T-SQL queues with Dapper support.
            </summary>
        </member>
        <member name="T:ApacKernel.Repositories.Queues.Dapper.DBQueueObjectRepository`1">
            <summary>
            Base T-SQL storage queue repository
            </summary>
            <typeparam name="T">Queued repository entity type</typeparam>
        </member>
        <member name="M:ApacKernel.Repositories.Queues.Dapper.DBQueueObjectRepository`1.GetCreateParameters(`0)">
            <summary>
            Get INSERT parameters
            </summary>
            <param name="entity"><see cref="T:ApacKernel.Repositories.Queues.QueueObjectBase"/> entity</param>
            <returns>INSERT statement parameters</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Queues.Dapper.DBQueueObjectRepository`1.GetSelectParameters">
            <summary>
            Get SELECT parameters
            </summary>
            <returns>SELECT statement parameters</returns>
        </member>
        <member name="M:ApacKernel.Repositories.Queues.Dapper.DBQueueObjectRepository`1.#ctor(System.String,System.String,System.String)">
            <summary>
            Create repository with custom create and get stored procedures
            </summary>
            <param name="connectionString">Repository connection string</param>
            <param name="createProcedure">Custom create stored procedure</param>
            <param name="getProcedure">Custom get stored procedure</param>
        </member>
        <member name="M:ApacKernel.Repositories.Queues.Dapper.DBQueueObjectRepository`1.#ctor(System.String,System.String)">
            <summary>
            Create repository which use predefined stored procedures <paramref name="tableName"/>_Create and <paramref name="tableName"/>_Get
            </summary>
            <param name="connectionString">Repository connection string</param>
            <param name="tableName">Queue table name</param>
        </member>
        <member name="M:ApacKernel.Repositories.Queues.Dapper.DBQueueObjectRepository`1.#ctor(System.String)">
            <summary>
            Create repository which use predefined stored procedures <paramref name="tableName"/>_Create and <paramref name="tableName"/>_Get
            </summary>
            <remarks>
            Repository connection string takes from <see cref="M:ApacKernel.Repositories.Dapper.RepositoriesDapperAppSettings.MainDB(ApacKernel.ConnectionStrings)"/>
            </remarks>
            <param name="tableName">Queue table name</param>
        </member>
        <member name="M:ApacKernel.Repositories.Queues.Dapper.DBQueueObjectRepository`1.Create(`0)">
            <summary>
            Create new entity in a queue
            </summary>
            <param name="entity">Queued repository entity</param>
        </member>
        <member name="M:ApacKernel.Repositories.Queues.Dapper.DBQueueObjectRepository`1.Get">
            <summary>
            Get entity from the queue
            </summary>
            <returns>Serialized entity</returns>
        </member>
        <member name="P:ApacKernel.Repositories.Queues.Dapper.DBQueueObjectRepository`1.MainConnection">
            <summary>
            Main SQL connection
            </summary>
        </member>
        <member name="T:ApacKernel.Repositories.Queues.Dapper.DBQueueRepositoryBase`1">
            <summary>
            T-SQL queue repository
            </summary>
            <typeparam name="T">Entity type</typeparam>
        </member>
        <member name="F:ApacKernel.Repositories.Queues.Dapper.DBQueueRepositoryBase`1._mainConnectionString">
            <summary>
            Main connection string
            </summary>
        </member>
        <member name="M:ApacKernel.Repositories.Queues.Dapper.DBQueueRepositoryBase`1.#ctor">
            <summary>
            Create queue repository
            </summary>
            <remarks>
            Repository connection string takes from <see cref="M:ApacKernel.Repositories.Dapper.RepositoriesDapperAppSettings.MainDB(ApacKernel.ConnectionStrings)"/>
            </remarks>
        </member>
        <member name="M:ApacKernel.Repositories.Queues.Dapper.DBQueueRepositoryBase`1.#ctor(System.String)">
            <summary>
            Create queue repository
            </summary>
            <param name="connectionString">Repository connection string</param>
        </member>
        <member name="P:ApacKernel.Repositories.Queues.Dapper.DBQueueRepositoryBase`1.QueueObjectRepository">
            <summary>
            T-SQL queue storage repository
            </summary>
        </member>
        <member name="P:ApacKernel.Repositories.Queues.Dapper.DBQueueRepositoryBase`1.QueueTableName">
            <summary>
            Queue table name
            </summary>
        </member>
        <member name="T:ApacKernel.Repositories.Queues.Dapper.DBPendingQueueRepositoryBase`1">
            <summary>
            T-SQL pending queue repository
            </summary>
            <typeparam name="T">Entity type</typeparam>
        </member>
        <member name="M:ApacKernel.Repositories.Queues.Dapper.DBPendingQueueRepositoryBase`1.#ctor">
            <summary>
            Create queue repository
            </summary>
            <remarks>
            Repository connection string takes from <see cref="M:ApacKernel.Repositories.Dapper.RepositoriesDapperAppSettings.MainDB(ApacKernel.ConnectionStrings)"/>
            </remarks>
        </member>
        <member name="M:ApacKernel.Repositories.Queues.Dapper.DBPendingQueueRepositoryBase`1.#ctor(System.String)">
            <summary>
            Create queue repository
            </summary>
            <param name="connectionString">Repository connection string</param>
        </member>
        <member name="P:ApacKernel.Repositories.Queues.Dapper.DBPendingQueueRepositoryBase`1.QueueObjectRepository">
            <summary>
            T-SQL queue storage repository
            </summary>
        </member>
        <member name="P:ApacKernel.Repositories.Queues.Dapper.DBPendingQueueRepositoryBase`1.QueueTableName">
            <summary>
            Queue table name
            </summary>
        </member>
        <member name="T:ApacKernel.Repositories.Dapper.DBRepositoryBase">
            <summary>
            Base T-SQL repository
            </summary>
        </member>
        <member name="F:ApacKernel.Repositories.Dapper.DBRepositoryBase.mainConnectionString">
            <summary>
            Main connection string
            </summary>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.DBRepositoryBase.#ctor(System.String)">
            <summary>
            Base repository constructor
            </summary>
            <param name="mainConnectionString">Repository connection string</param>
        </member>
        <member name="P:ApacKernel.Repositories.Dapper.DBRepositoryBase.MainConnection">
            <summary>
            Main SQL connection
            </summary>
        </member>
        <member name="T:ApacKernel.Repositories.Dapper.RepositoriesDapperAppSettings">
            <summary>
            <see cref="T:ApacKernel.ApacConfig"/> default settings
            </summary>
        </member>
        <member name="M:ApacKernel.Repositories.Dapper.RepositoriesDapperAppSettings.MainDB(ApacKernel.ConnectionStrings)">
            <summary>
            MainDB connection string
            </summary>
            <param name="settings">Connection strings section</param>
            <returns>Value stored for <c>MainDB</c> key</returns>
        </member>
    </members>
</doc>
