using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Text; using wms.dto; using wms.dto.request.hj; using wms.dto.request.hj.dto; using wms.sqlsugar.model; using wms.sqlsugar.model.hj; using wms.util.Check; using static wms.dto.request.hj.dto.ReportResponse; namespace wms.sqlsugar { /// /// 创建仓储 /// /// public class RepositoryTask : SimpleClient where T :class, new() { public RepositoryTask() { //固定数据库用法 base.Context = SqlSugarHelper.Db.GetConnectionScopeWithAttr(); //动态库用法一般用于维护数据库连接字符串根据用法 //if (!SqlSugarHelper.Db.IsAnyConnection("用户读出来的数据库ConfigId")) //{ // SqlSugarHelper.Db.AddConnection(new ConnectionConfig() { 数据库读出来信息 }); //} //base.Context = SqlSugarHelper.Db.GetConnectionScope("用户读出来的数据库ConfigId"); } public T InsertReturnEntity(T t) { return base.Context.Insertable(t).ExecuteReturnEntity(); } public int InsertableSplitTable(T t) { return base.Context.Insertable(t).SplitTable().ExecuteCommand(); } /// /// 该方法默认不更新CreatedUserId,CreatedTime /// /// /// public bool UpdateEntity(T entity) { return base.Context.Updateable(entity).IgnoreColumns(new string[] { "AddWho", "AddTime" }).ExecuteCommand() > 0; } public bool UpdateModelColumns(Expression> Columns, Expression> WhereExpression) { return base.Update(Columns, WhereExpression); } public T GetModelByExpression(Expression> WhereExpression) { return base.GetSingle(WhereExpression); } public List GetTunList(TunnelRequest request) { var list = base.Context.Queryable() .WhereIF(!string.IsNullOrEmpty(request.WareHouse), p => p.Default2 == request.WareHouse) .WhereIF(!string.IsNullOrEmpty(request.Tunnel), p => p.Default1 == request.Tunnel) .ToList(); return list; } public bool UpdateTunStatu(long id, string statu, long userId) { return base.Context.Updateable().SetColumns(it => new hjSysConfig() { SContent = statu, EditTime = DateTime.Now }).Where(it => it.Id == id).ExecuteCommand() > 0; } } }