using Model.ModelVm.SysVm;
|
using System;
|
using System.Collections.Generic;
|
using System.Text;
|
using System.Threading.Tasks;
|
using SqlSugar;
|
using WMS.Entity.Context;
|
using WMS.Entity.SysEntity;
|
using WMS.IDAL.ISysInterface;
|
using SQLitePCL;
|
using Model.ModelDto.SysDto;
|
using Dm;
|
using System.Security.Cryptography;
|
using System.Security.Policy;
|
using System.Linq;
|
|
namespace WMS.DAL.SysInfrastructure
|
{
|
/// <summary>
|
/// 菜单仓储实践
|
/// </summary>
|
public class MenuRepository : BaseRepository<SysFunctionMenu>, IMenuRepository
|
{
|
private static readonly SqlSugarScope Db = DataContext.Db;
|
public MenuRepository() : base(Db)
|
{
|
}
|
|
/// <summary>
|
/// 获取菜单信息列表
|
/// </summary>
|
/// <param name="str">sql语句</param>
|
/// <returns></returns>
|
public List<FunctionMenuVm> GetMenuList(string str = "")
|
{
|
List<FunctionMenuVm> menulist = Db.Ado.SqlQuery<FunctionMenuVm>(str);
|
return menulist;
|
}
|
|
/// <summary>
|
/// 获取模块菜单列表
|
/// </summary>
|
/// <returns></returns>
|
public List<SysFunctionMenu> GetParentMenuList()
|
{
|
string str = "select MenuNo,ParentNo,MenuName from SysFunctionMenu where IsDel = @isdel and IsEnable = @isenable";
|
List<SysFunctionMenu> menulist = Db.Ado.SqlQuery<SysFunctionMenu>(str, new
|
{
|
isdel = "0", //是否删除
|
isenable = "0" //是否可用
|
});
|
return menulist;
|
}
|
|
/// <summary>
|
/// 获取菜单信息列表
|
/// </summary>
|
/// <param name="str">sql语句</param>
|
/// <returns></returns>
|
public List<FunctionMenuDto> GetMenuDtoList(string str = "")
|
{
|
List<FunctionMenuDto> menulist = Db.Ado.SqlQuery<FunctionMenuDto>(str);
|
return menulist;
|
}
|
|
/// <summary>
|
/// 根据id获取菜单信息列表
|
/// </summary>
|
/// <param name="menuid">菜单id</param>
|
/// <returns></returns>
|
public SysFunctionMenu GetMenuListById(int menuid)
|
{
|
string str = "select * from SysFunctionMenu where IsDel = @isdel and Id = @id and IsEnable = @isenable ";
|
SysFunctionMenu menulist = Db.Ado.SqlQuerySingle<SysFunctionMenu>(str, new
|
{
|
isdel = "0", //是否删除
|
isenable = "0", //是否公开
|
id = menuid //id
|
});
|
return menulist;
|
}
|
|
/// <summary>
|
/// 根据编号获取菜单信息列表
|
/// </summary>
|
/// <param name="str">sql</param>
|
/// <returns></returns>
|
public List<SysFunctionMenu> GetMenuListByNo(string str)
|
{
|
List<SysFunctionMenu> menulist = Db.Ado.SqlQuery<SysFunctionMenu>(str);
|
return menulist;
|
}
|
|
/// <summary>
|
/// 新增菜单信息
|
/// </summary>
|
/// <param name="menu">菜单实体模型</param>
|
/// <returns></returns>
|
public async Task<int> InsertMenu(SysFunctionMenu menu)
|
{
|
//string str = "insert SysFunctionMenu values(@menuno, @menuname, @parentno, @ord, @url, @level, @isenable, @demo, @isdel, @createtime, @createuser, null, null)";
|
//int i = await Db.Ado.ExecuteCommandAsync(str, new
|
//{
|
// menuno = menu.MenuNo, //菜单号
|
// menuname = menu.MenuName, //菜单名称
|
// parentno = menu.ParentNo, //父级菜单号
|
// ord = menu.Ord, //显示顺序
|
// url = menu.Url, //路径
|
// level = menu.Level, //层级
|
// isenable = "0", //是否可用
|
// demo = menu.Demo, //备注
|
// isdel = "0", //是否删除
|
// createtime = Db.GetDate(), //创建时间
|
// createuser = menu.CreateUser //创建人
|
//});
|
menu.IsEnable = "0";
|
menu.IsDel = "0";
|
menu.CreateTime = Db.GetDate();
|
int i = await Db.Insertable(menu).ExecuteCommandAsync();
|
return i;
|
}
|
|
/// <summary>
|
/// 删除菜单信息
|
/// </summary>
|
/// <param name="menu">菜单实体模型</param>
|
/// <returns></returns>
|
public async Task<int> DeleteMenu(SysFunctionMenu menu)
|
{
|
string str = "update SysFunctionMenu set IsDel = @isdel, UpdateTime = @updatetime, UpdateUser = @updateuser where MenuNo in (select MenuNo from SysFunctionMenu where MenuNo = @menuno or ParentNo = @menuno or ParentNo in (select MenuNo from SysFunctionMenu where ParentNo = @menuno))";
|
int i = await Db.Ado.ExecuteCommandAsync(str, new
|
{
|
isdel = "1", //是否删除
|
updatetime = Db.GetDate(), //更改时间
|
updateuser = menu.UpdateUser, //更改人
|
menuno = menu.MenuNo//id
|
});
|
//menu.IsDel = "1";
|
//int i = await Db.Updateable(menu).ExecuteCommandAsync();
|
return i;
|
}
|
|
/// <summary>
|
/// 编辑菜单信息
|
/// </summary>
|
/// <param name="menu">菜单实体模型</param>
|
/// <returns></returns>
|
public async Task<int> UpdateMenu(SysFunctionMenu menu)
|
{
|
string str = "Update SysFunctionMenu set MenuName = @menuname, ParentNo = @parentno, Ord = @ord, Url = @url, Level = @level, IsEnable = @isenable, Demo = @demo, UpdateTime = @updatetime, UpdateUser = @updateuser where Id = @id";
|
|
int i = await Db.Ado.ExecuteCommandAsync(str, new
|
{
|
menuname = menu.MenuName, //菜单名称
|
parentno = menu.ParentNo, //父级菜单号
|
ord = menu.Ord, //显示顺序
|
url = menu.Url, //路径
|
level = menu.Level, //层级
|
isenable = "0", //是否可用
|
demo = menu.Demo, //备注
|
updatetime = Db.GetDate(), //创建时间
|
updateuser = menu.UpdateUser, //创建人
|
id = menu.Id //id
|
});
|
//menu.UpdateTime = Db.GetDate();
|
//menu.IsEnable = "0";
|
//int i = await Db.Updateable(menu).ExecuteCommandAsync();
|
return i;
|
}
|
|
/// <summary>
|
/// 根据父级菜单号获取菜单信息
|
/// </summary>
|
/// <param name="MenuNo">菜单号</param>
|
/// <returns></returns>
|
public List<FunctionMenuVm> GetMenuByParentNo(string MenuNo)
|
{
|
string str = "select * from SysFunctionMenu where IsDel = @isdel and IsEnable = @isenable ";
|
List<FunctionMenuVm> menulist;
|
//判断菜单号是否为空
|
if (!string.IsNullOrEmpty(MenuNo))
|
{
|
str += " and ParentNo = @menuno";
|
menulist = Db.Ado.SqlQuery<FunctionMenuVm>(str, new
|
{
|
isdel = "0", //是否删除
|
isenable = "0", //是否公开
|
menuno = MenuNo //菜单号
|
});
|
}
|
else
|
{
|
str = "select * from SysFunctionMenu where IsDel = '3' and IsEnable = '0'";
|
menulist = Db.Ado.SqlQuery<FunctionMenuVm>(str);
|
}
|
|
return menulist;
|
}
|
}
|
}
|