using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace SolarPower.Repository.Interface { public interface IRepositoryBase where T : class { /// /// 透過Id,取得單一資料 /// /// /// Task GetOneAsync(int id); /// /// 取得所有資料 /// /// Task> GetAllAsync(); /// /// 新增資料 /// /// /// /// Task AddAsync(T entity, List properties); /// /// 新增單一筆資料 /// /// /// /// Task AddOneAsync(T entity, List properties); /// /// 修改資料 /// /// /// /// Task Update(T entity, List properties); /// /// 透過Id,軟刪除單一筆資料 /// /// /// Task DeleteOne(int id); /// /// 透過Id,實際刪除單一筆資料 /// /// /// Task PurgeOneAsync(int id); /// /// 透過table_name、Id,軟刪除指定資料表的單一筆資料 /// /// /// /// Task DeleteOneByIdWithCustomTable(int id, string table_name); /// /// 透過Id、db_name、table_name,刪除指定的資料庫之資料表的一筆資料 /// /// /// /// /// Task DeleteOneByIdWithCustomDBNameAndTable(int id, string db_name, string table_name); /// /// 透過name list,取得指定的多筆設定變數 /// /// /// 回傳為字典格式 Task> GetDictVariableByNames(List names); /// /// 透過name,取得單一設定變數 /// /// /// Task GetOneVariableByName(string name); /// /// 取資料庫最後流水號 /// /// /// /// Task GetCurrentSerialNumber(string Table_name, string where = ""); /// /// 透過Id,取得單一資料(客製化資料庫及資料表) /// /// /// Task GetOneWithCustomDBNameAndTableAsync(int id, string db_name, string table_name); /// /// 透過Id、db_name、table_name,硬刪除指定的資料庫之資料表的一筆資料 /// /// /// /// /// Task PurgeOneByIdWithCustomDBNameAndTable(int id, string db_name, string table_name); Task AddAnyThing(A result, List properties, string tableName); Task> GetAllDataList(string tableName, string where); } }