20230819-1

This commit is contained in:
2023-08-19 18:12:03 +03:00
parent 9b37f0477e
commit cb8ffde7c0
3 changed files with 42 additions and 38 deletions

View File

@@ -1,6 +1,4 @@
using anbs_cp.Structs;
namespace anbs_cp.Database.Interfaces;
namespace anbs_cp.Database.Interfaces;
/// <summary>
/// Интерфейс для работы с базой данных
@@ -112,7 +110,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) where T: IComparable, IConvertible, IEquatable<T>;
/// <summary>
/// Получает колонку в массиве данных
@@ -121,7 +119,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) where T: IComparable, IConvertible, IEquatable<T>;
/// <summary>
/// Получение значение единичного поля
@@ -130,7 +128,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) where T: IComparable, IConvertible, IEquatable<T>;
/// <summary>
/// Получение значение единичного поля
@@ -139,7 +137,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) where T: IComparable, IConvertible, IEquatable<T>;
#endregion
@@ -151,7 +149,7 @@ public interface IDbEngine
/// <param name="data">Данные</param>
/// <param name="tableName">Имя таблицы</param>
/// <returns>Результат выполнения</returns>
Task<bool> InsertAsync<T> (T data, string tableName) where T : class;
Task<bool> InsertAsync<T> (T data, string tableName) where T: class;
/// <summary>
/// Вставляет данные в таблицу
@@ -160,7 +158,7 @@ public interface IDbEngine
/// <param name="data">Данные</param>
/// <param name="tableName">Имя таблицы</param>
/// <returns>Результат выполнения</returns>
bool Insert<T> (T data, string tableName) where T : class;
bool Insert<T> (T data, string tableName) where T: class;
/// <summary>
/// Обновляет строку в таблице
@@ -170,7 +168,7 @@ public interface IDbEngine
/// <param name="tableName">Имя таблицы</param>
/// <param name="whereConditionColumn">Условие поиска строки. ВНИМАНИЕ! Должно быть одним из указанных свойств типа класса data</param>
/// <returns>Результат выполнения</returns>
Task<bool> UpdateAsync<T> (T data, string tableName, string whereConditionColumn) where T : class;
Task<bool> UpdateAsync<T> (T data, string tableName, string whereConditionColumn) where T: class;
/// <summary>
/// Обновляет строку в таблице
@@ -180,38 +178,42 @@ public interface IDbEngine
/// <param name="tableName">Имя таблицы</param>
/// <param name="whereConditionColumn">Условие поиска строки. ВНИМАНИЕ! Должно быть одним из указанных свойств типа класса data</param>
/// <returns>Результат выполнения</returns>
bool Update<T> (T data, string tableName, string whereConditionColumn) where T : class;
bool Update<T> (T data, string tableName, string whereConditionColumn) where T: class;
/// <summary>
/// Удаляет строки
/// </summary>
/// <param name="data">Данные</param>
/// <param name="tableName">Имя таблицы</param>
/// <param name="where">Условие</param>
/// <param name="whereConditionColumn">Условие поиска строки. ВНИМАНИЕ! Должно быть одним из указанных свойств типа класса data</param>
/// <returns>Результат выполнения</returns>
Task<bool> DeleteAsync (string tableName, KeyValue<string, object> where);
Task<bool> DeleteAsync<T> (T data, string tableName, string whereConditionColumn) where T: class;
/// <summary>
/// Удаляет строки
/// </summary>
/// <param name="data">Данные</param>
/// <param name="tableName">Имя таблицы</param>
/// <param name="where">Условие</param>
/// <param name="whereConditionColumn">Условие поиска строки. ВНИМАНИЕ! Должно быть одним из указанных свойств типа класса data</param>
/// <returns>Результат выполнения</returns>
bool Delete (string tableName, KeyValue<string, object> where);
bool Delete<T> (T data, string tableName, string whereConditionColumn) where T: class;
/// <summary>
/// Удаляет строку
/// </summary>
/// <param name="data">Данные</param>
/// <param name="tableName">Имя таблицы</param>
/// <param name="where">Условие</param>
/// <param name="whereConditionColumn">Условие поиска строки. ВНИМАНИЕ! Должно быть одним из указанных свойств типа класса data</param>
/// <returns>Результат выполнения</returns>
Task<bool> DeleteRowAsync (string tableName, KeyValue<string, object> where);
Task<bool> DeleteRowAsync <T> (T data, string tableName, string whereConditionColumn) where T: class;
/// <summary>
/// Удаляет строку
/// </summary>
/// <param name="data">Данные</param>
/// <param name="tableName">Имя таблицы</param>
/// <param name="where">Условие</param>
/// <param name="whereConditionColumn">Условие поиска строки. ВНИМАНИЕ! Должно быть одним из указанных свойств типа класса data</param>
/// <returns>Результат выполнения</returns>
bool DeleteRow (string tableName, KeyValue<string, object> where);
bool DeleteRow <T> (T data, string tableName, string whereConditionColumn) where T: class;
#endregion
}