This commit is contained in:
2023-08-27 09:44:19 +03:00
parent cb8ffde7c0
commit b09af0c79f
5 changed files with 179 additions and 32 deletions

View File

@@ -1,4 +1,6 @@
namespace anbs_cp.Database.Interfaces;
using System.Transactions;
namespace anbs_cp.Database.Interfaces;
/// <summary>
/// Интерфейс для работы с базой данных
@@ -18,7 +20,7 @@ public interface IDbEngine
/// <param name="sql">Запрос</param>
/// <param name="values">Данные запроса</param>
/// <returns>Количество затронутых строк</returns>
Task<int> ExecuteAsync (string sql, object values);
Task<int> ExecuteAsync (string sql, object? values = null);
/// <summary>
/// Выполняем команду
@@ -26,7 +28,7 @@ public interface IDbEngine
/// <param name="sql">Запрос</param>
/// <param name="values">Данные запроса</param>
/// <returns>Количество затронутых строк</returns>
int Execute (string sql, object values);
int Execute (string sql, object? values = null);
/// <summary>
/// Запрос
@@ -35,7 +37,7 @@ public interface IDbEngine
/// <param name="sql">Запрос</param>
/// <param name="values">Данные запроса</param>
/// <returns>Возвращает массив типа <see cref="T"/> или значение по умолчанию</returns>
Task<IEnumerable<T>> QueryAsync<T> (string sql, object values);
Task<IEnumerable<T>> QueryAsync<T> (string sql, object? values = null);
/// <summary>
/// Запрос
@@ -44,7 +46,7 @@ public interface IDbEngine
/// <param name="sql">Запрос</param>
/// <param name="values">Данные запроса</param>
/// <returns>Возвращает массив типа <see cref="T"/> или значение по умолчанию</returns>
IEnumerable<T> Query<T> (string sql, object values);
IEnumerable<T> Query<T> (string sql, object? values = null);
/// <summary>
/// Запрос строки
@@ -53,7 +55,7 @@ public interface IDbEngine
/// <param name="sql">Запрос</param>
/// <param name="values">Данные запроса</param>
/// <returns>Возвращает массив типа <see cref="T"/> или значение по умолчанию</returns>
Task<T?> QueryRowAsync<T> (string sql, object values);
Task<T?> QueryRowAsync<T> (string sql, object? values = null);
/// <summary>
/// Запрос строки
@@ -62,7 +64,7 @@ public interface IDbEngine
/// <param name="sql">Запрос</param>
/// <param name="values">Данные запроса</param>
/// <returns>Возвращает массив типа <see cref="T"/> или значение по умолчанию</returns>
T? QueryRow<T> (string sql, object values);
T? QueryRow<T> (string sql, object? values = null);
#endregion
#region Получение данных
@@ -74,7 +76,7 @@ public interface IDbEngine
/// <param name="sql">SQL-запрос</param>
/// <param name="values">Данные запроса</param>
/// <returns>Массив результата запроса</returns>
Task<IEnumerable<T>> GetResultsAsync<T> (string sql, object values);
Task<IEnumerable<T>> GetResultsAsync<T> (string sql, object? values = null);
/// <summary>
/// Получает массив данных (SELECT * FROM...)
@@ -83,7 +85,7 @@ public interface IDbEngine
/// <param name="sql">SQL-запрос</param>
/// <param name="values">Данные запроса</param>
/// <returns>Массив результата запроса</returns>
IEnumerable<T> GetResults<T> (string sql, object values);
IEnumerable<T> GetResults<T> (string sql, object? values = null);
/// <summary>
/// Получает строку в массиве данных
@@ -92,7 +94,7 @@ public interface IDbEngine
/// <param name="sql">SQL-запрос</param>
/// <param name="values">Данные запроса</param>
/// <returns>Строки данных или null</returns>
Task<T?> GetRowAsync<T> (string sql, object values);
Task<T?> GetRowAsync<T> (string sql, object? values = null);
/// <summary>
/// Получает строку в массиве данных
@@ -101,7 +103,7 @@ public interface IDbEngine
/// <param name="sql">SQL-запрос</param>
/// <param name="values">Данные запроса</param>
/// <returns>Строки данных или null</returns>
T? GetRow<T> (string sql, object values);
T? GetRow<T> (string sql, object? values = null);
/// <summary>
/// Получает колонку в массиве данных
@@ -110,7 +112,7 @@ public interface IDbEngine
/// <param name="sql">SQL-запрос</param>
/// <param name="values">Данные запроса</param>
/// <returns>Колонка данных или null</returns>
Task<IEnumerable<T>> GetColAsync<T> (string sql, object values) where T: IComparable, IConvertible, IEquatable<T>;
Task<IEnumerable<T>> GetColAsync<T> (string sql, object? values = null) where T: IComparable, IConvertible, IEquatable<T>;
/// <summary>
/// Получает колонку в массиве данных
@@ -119,7 +121,7 @@ public interface IDbEngine
/// <param name="sql">SQL-запрос</param>
/// <param name="values">Данные запроса</param>
/// <returns>Колонка данных или null</returns>
IEnumerable<T> GetCol<T> (string sql, object values) where T: IComparable, IConvertible, IEquatable<T>;
IEnumerable<T> GetCol<T> (string sql, object? values = null) where T: IComparable, IConvertible, IEquatable<T>;
/// <summary>
/// Получение значение единичного поля
@@ -128,7 +130,7 @@ public interface IDbEngine
/// <param name="sql">SQL-запрос</param>
/// <param name="values">Данные запроса</param>
/// <returns>Поле или null</returns>
Task<T?> GetVarAsync<T> (string sql, object values) where T: IComparable, IConvertible, IEquatable<T>;
Task<T?> GetVarAsync<T> (string sql, object? values = null) where T: IComparable, IConvertible, IEquatable<T>;
/// <summary>
/// Получение значение единичного поля
@@ -137,7 +139,7 @@ public interface IDbEngine
/// <param name="sql">SQL-запрос</param>
/// <param name="values">Данные запроса</param>
/// <returns>Поле или null</returns>
T? GetVar<T> (string sql, object values) where T: IComparable, IConvertible, IEquatable<T>;
T? GetVar<T> (string sql, object? values = null) where T: IComparable, IConvertible, IEquatable<T>;
#endregion