DHDHSoftware/DH.RBAC/Logic/Sys/SysItemsDetailLogic.cs
liyaobang 9f7c6206ca 提交rbac
提交设置右键错位的bug
2025-04-08 15:15:02 +08:00

183 lines
6.3 KiB
C#

using DH.RBAC.Model.Sys;
using DH.RBAC.Logic.Base;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DH.RBAC.Utility.Other;
namespace DH.RBAC.Logic.Sys
{
public class SysItemsDetailLogic : BaseLogic
{
public List<SysItemDetail> GetItemDetailList(string strItemCode)
{
using (var db = GetInstance())
{
SysItem item = db.Queryable<SysItem>().Where(it => it.EnCode == strItemCode && it.DeleteFlag == "N").First();
if (null == item)
return null;
return db.Queryable<SysItemDetail>().Where(it => it.ItemId == item.Id && it.DeleteFlag == "N")
.Includes(it => it.CreateUser)
.Includes(it => it.ModifyUser)
.OrderBy(it => it.SortCode)
.ToList();
}
}
public List<SysItemDetail> GetList(int pageIndex, int pageSize, string itemId, string keyWord, ref int totalCount)
{
using (var db = GetInstance())
{
ISugarQueryable<SysItemDetail> queryable = db.Queryable<SysItemDetail>().Where(it => it.DeleteFlag == "N" && it.ItemId == itemId);
if (!keyWord.IsNullOrEmpty())
{
queryable = queryable.Where(it => (it.Name.Contains(keyWord) || it.EnCode.Contains(keyWord)));
}
return queryable
.Includes(it => it.CreateUser)
.Includes(it => it.ModifyUser)
.OrderBy(it => it.SortCode)
.ToPageList(pageIndex, pageSize, ref totalCount);
}
}
public List<SysItemDetail> GetListByItemId(string itemId)
{
using (var db = GetInstance())
{
return db.Queryable<SysItemDetail>()
.Where(it => it.ItemId == itemId && it.DeleteFlag == "N")
.Includes(it => it.CreateUser)
.Includes(it => it.ModifyUser)
.ToList();
}
}
public void InsertItemDetail(string itemId, List<SysItemDetail> list)
{
using (var db = GetInstance())
{
try
{
db.BeginTran();
List<SysItemDetail> list2 = db.Queryable<SysItemDetail>().Where(it => it.ItemId == itemId && it.DeleteFlag == "N").ToList();
list2.ForEach(it => { it.DeleteFlag = "Y"; });
db.Updateable<SysItemDetail>(list2).ExecuteCommand();
db.Insertable<SysItemDetail>(list).ExecuteCommand();
db.CommitTran();
}
catch
{
db.RollbackTran();
}
}
}
public SysItemDetail Get(string primaryKey)
{
using (var db = GetInstance())
{
return db.Queryable<SysItemDetail>()
.Where(it => it.DeleteFlag == "N" && it.Id == primaryKey)
.Includes(it => it.CreateUser)
.Includes(it => it.ModifyUser)
.First();
}
}
public int Insert(SysItemDetail model, string account)
{
using (var db = GetInstance())
{
model.Id = UUID.StrSnowId;
model.IsDefault = model.IsDefault == null ? "0" : "1";
model.DeleteFlag = "N";
model.CreateUserId = account;
model.CreateTime = DateTime.Now;
model.ModifyUserId = model.CreateUserId;
model.ModifyTime = model.CreateTime;
return db.Insertable<SysItemDetail>(model).ExecuteCommand();
}
}
public int AppInsert(SysItemDetail model, string operateUser)
{
using (var db = GetInstance())
{
model.Id = UUID.StrSnowId;
model.IsDefault = "0";
model.DeleteFlag = "N";
model.CreateUserId = operateUser;
model.CreateTime = DateTime.Now;
model.ModifyUserId = model.CreateUserId;
model.ModifyTime = model.CreateTime;
return db.Insertable<SysItemDetail>(model).ExecuteCommand();
}
}
public int AppUpdate(SysItemDetail model, string operateUser)
{
using (var db = GetInstance())
{
model.ModifyUserId = operateUser;
model.ModifyTime = DateTime.Now;
return db.Updateable<SysItemDetail>(model).UpdateColumns(it => new
{
it.EnCode,
it.Name,
it.SortCode,
it.ModifyUserId,
it.ModifyTime
}).ExecuteCommand();
}
}
public int Delete(string itemId)
{
using (var db = GetInstance())
{
SysItemDetail itemDetail = db.Queryable<SysItemDetail>().Where(it => it.Id == itemId).First();
if (itemDetail == null)
return 0;
itemDetail.DeleteFlag = "Y";
return db.Updateable<SysItemDetail>(itemDetail).ExecuteCommand();
}
}
public int Update(SysItemDetail model, string account)
{
using (var db = GetInstance())
{
model.IsDefault = model.IsDefault == null ? "0" : "1";
model.ModifyUserId = account;
model.ModifyTime = DateTime.Now;
return db.Updateable<SysItemDetail>(model).UpdateColumns(it => new
{
it.ItemId,
it.EnCode,
it.Name,
it.IsDefault,
it.SortCode,
it.EnableFlag,
it.ModifyUserId,
it.ModifyTime
}).ExecuteCommand();
}
}
public SysItemDetail GetSoftwareName()
{
using (var db = GetInstance())
{
return db.Queryable<SysItemDetail>().Where(it => it.EnCode == "SoftwareName").First();
}
}
}
}