20230819-1
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
using anbs_cp.Database.Interfaces;
|
||||
using anbs_cp.Structs;
|
||||
|
||||
using Dapper;
|
||||
|
||||
@@ -276,10 +275,9 @@ public class MySqlEngine: IDbEngine
|
||||
|
||||
// Создаю запрос
|
||||
string sql = $"""
|
||||
UPDATE
|
||||
{tableName}
|
||||
UPDATE {tableName}
|
||||
SET
|
||||
({properties})
|
||||
{properties}
|
||||
WHERE
|
||||
{whereConditionColumn}=@{whereConditionColumn}
|
||||
""";
|
||||
@@ -302,10 +300,11 @@ public class MySqlEngine: IDbEngine
|
||||
/// <summary>
|
||||
/// Удаляет строки
|
||||
/// </summary>
|
||||
/// <param name="data">Данные</param>
|
||||
/// <param name="tableName">Имя таблицы</param>
|
||||
/// <param name="where">Условие</param>
|
||||
/// <param name="whereConditionColumn">Условие поиска строки. ВНИМАНИЕ! Должно быть одним из указанных свойств типа класса data</param>
|
||||
/// <returns>Результат выполнения</returns>
|
||||
public async Task<bool> DeleteAsync (string tableName, KeyValue<string, object> where)
|
||||
public async Task<bool> DeleteAsync<T> (T data, string tableName, string whereConditionColumn) where T : class
|
||||
{
|
||||
// Создаю соединение
|
||||
await using MySqlConnection connection = new(ConnectionString);
|
||||
@@ -315,28 +314,31 @@ public class MySqlEngine: IDbEngine
|
||||
DELETE FROM
|
||||
{tableName}
|
||||
WHERE
|
||||
{where.Key}=@{where.Key}
|
||||
{whereConditionColumn}=@{whereConditionColumn}
|
||||
""";
|
||||
|
||||
// Выполняю запрос
|
||||
return await connection.ExecuteAsync(sql, new { where.Value }) > 0;
|
||||
return await connection.ExecuteAsync(sql, data) > 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Удаляет строки
|
||||
/// </summary>
|
||||
/// <param name="data">Данные</param>
|
||||
/// <param name="tableName">Имя таблицы</param>
|
||||
/// <param name="where">Условие</param>
|
||||
/// <param name="whereConditionColumn">Условие поиска строки. ВНИМАНИЕ! Должно быть одним из указанных свойств типа класса data</param>
|
||||
/// <returns>Результат выполнения</returns>
|
||||
public bool Delete (string tableName, KeyValue<string, object> where) => DeleteAsync(tableName, where).GetAwaiter().GetResult();
|
||||
public bool Delete<T> (T data, string tableName, string whereConditionColumn) where T : class =>
|
||||
DeleteAsync(data, tableName, whereConditionColumn).GetAwaiter().GetResult();
|
||||
|
||||
/// <summary>
|
||||
/// Удаляет строку
|
||||
/// </summary>
|
||||
/// <param name="data">Данные</param>
|
||||
/// <param name="tableName">Имя таблицы</param>
|
||||
/// <param name="where">Условие</param>
|
||||
/// <param name="whereConditionColumn">Условие поиска строки. ВНИМАНИЕ! Должно быть одним из указанных свойств типа класса data</param>
|
||||
/// <returns>Результат выполнения</returns>
|
||||
public async Task<bool> DeleteRowAsync (string tableName, KeyValue<string, object> where)
|
||||
public async Task<bool> DeleteRowAsync<T> (T data, string tableName, string whereConditionColumn) where T : class
|
||||
{
|
||||
// Создаю соединение
|
||||
await using MySqlConnection connection = new(ConnectionString);
|
||||
@@ -346,20 +348,22 @@ public class MySqlEngine: IDbEngine
|
||||
DELETE FROM
|
||||
{tableName}
|
||||
WHERE
|
||||
{where.Key}=@{where.Key}
|
||||
{whereConditionColumn}=@{whereConditionColumn}
|
||||
LIMIT 1
|
||||
""";
|
||||
|
||||
// Выполняю запрос
|
||||
return await connection.ExecuteAsync(sql, new { where.Value }) > 0;
|
||||
return await connection.ExecuteAsync(sql, data) > 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Удаляет строку
|
||||
/// </summary>
|
||||
/// <param name="data">Данные</param>
|
||||
/// <param name="tableName">Имя таблицы</param>
|
||||
/// <param name="where">Условие</param>
|
||||
/// <param name="whereConditionColumn">Условие поиска строки. ВНИМАНИЕ! Должно быть одним из указанных свойств типа класса data</param>
|
||||
/// <returns>Результат выполнения</returns>
|
||||
public bool DeleteRow (string tableName, KeyValue<string, object> where) => DeleteRowAsync(tableName, where).GetAwaiter().GetResult();
|
||||
public bool DeleteRow<T>(T data, string tableName, string whereConditionColumn) where T : class =>
|
||||
DeleteRowAsync(data, tableName, whereConditionColumn).GetAwaiter().GetResult();
|
||||
#endregion
|
||||
}
|
Reference in New Issue
Block a user