#region
|
|
using System.Collections.Generic;
|
using System.Data;
|
using CSFramework.DB;
|
using CSFrameworkV5.Common;
|
using CSFrameworkV5.Core;
|
using CSFrameworkV5.Interfaces;
|
using CSFrameworkV5.Interfaces.InterfaceModels;
|
using CSFrameworkV5.Models.DbEntity;
|
|
#endregion
|
|
namespace CSFrameworkV5.DataAccess
|
{
|
public class dalAdvancedFilter : dalBase, IBridge_AdvancedFilter
|
{
|
/// <summary>
|
/// 构造器
|
/// </summary>
|
/// <param name="user">当前用户登录信息</param>
|
public dalAdvancedFilter(Loginer user) : base(user)
|
{
|
}
|
|
public bool Delete(string userID, string configName)
|
{
|
var sql =
|
$"DELETE FROM sys_AdvancedFilterConfig WHERE Account={_Database.ParamSymboName}Account AND Name={_Database.ParamSymboName}Name;";
|
var cmd = _Database.CreateCommand(sql);
|
cmd.AddParam("Account", userID);
|
cmd.AddParam("Name", configName);
|
var i = DatabaseProvider.SystemDatabase.ExecuteCommand(cmd.Command);
|
return i == 1;
|
}
|
|
public bool Exists(string userID, string configName)
|
{
|
var sql =
|
$"SELECT COUNT(1) FROM sys_AdvancedFilterConfig WHERE Account={_Database.ParamSymboName}Account AND Name={_Database.ParamSymboName}Name;";
|
var cmd = _Database.CreateCommand(sql);
|
cmd.AddParam("Account", userID);
|
cmd.AddParam("Name", configName);
|
var o = DatabaseProvider.SystemDatabase.ExecuteScalar(cmd.Command);
|
return ConvertEx.ToInt(o) > 0;
|
}
|
|
public List<MyConfigData> GetConfig(string userID)
|
{
|
var sql =
|
$"SELECT * FROM sys_AdvancedFilterConfig WHERE Account={_Database.ParamSymboName}Account ORDER BY CreateDate DESC;";
|
var cmd = _Database.CreateCommand(sql);
|
cmd.AddParam("Account", userID);
|
var dt = DatabaseProvider.SystemDatabase.GetTable(cmd.Command,
|
"sys_AdvancedFilterConfig");
|
|
var list = new List<MyConfigData>();
|
foreach (DataRow R in dt.Rows)
|
{
|
var o = new MyConfigData();
|
o.AllFields = GetFromByte((byte[])R["AllFields"]);
|
o.AllSelectedFields =
|
GetFromByte((byte[])R["AllSelectedFields"]);
|
o.BusinessName = ConvertEx.ToString(R["BusinessName"]);
|
o.CreateDate = ConvertEx.ToDateTimeEx(R["CreateDate"]);
|
o.isid = ConvertEx.ToInt(R["isid"]);
|
o.Name = ConvertEx.ToString(R["Name"]);
|
o.SQL = ConvertEx.ToString(R["SQL"]);
|
list.Add(o);
|
}
|
|
return list;
|
}
|
|
public bool Post(MyConfigData data)
|
{
|
var model = new sys_AdvancedFilterConfig
|
{
|
Account = data.UserID,
|
Name = data.Name,
|
BusinessName = data.BusinessName,
|
CreateDate = data.CreateDate,
|
SQL = data.SQL,
|
AllFields = ZipTools.CompressionArrayList(data.AllFields),
|
AllSelectedFields =
|
ZipTools.CompressionArrayList(data.AllSelectedFields)
|
};
|
|
//代码重构:202106
|
var update = new DbDataUpdate(DatabaseProvider.SystemDatabase);
|
var ok = update.AddObject(model, "isid");
|
return ok;
|
}
|
|
private List<FieldNameDef> GetFromByte(byte[] bs)
|
{
|
var result = new List<FieldNameDef>();
|
var list = ZipTools.DecompressionArrayList(bs);
|
foreach (FieldNameDef F in list) result.Add(F);
|
|
return result;
|
}
|
}
|
}
|