| | |
| | | using WMS.Entity.SysEntity; |
| | | using WMS.IBLL.ISysServer; |
| | | using WMS.IDAL.ISysInterface; |
| | | using Utility; |
| | | using Microsoft.AspNetCore.Identity; |
| | | |
| | | namespace WMS.BLL.SysServer |
| | | { |
| | |
| | | /// </summary> |
| | | private readonly IFunSettingRepository _setting; |
| | | private readonly IMapper _mapper; |
| | | private readonly UserManager _userManager; |
| | | /// <summary> |
| | | /// 构造函数 |
| | | /// </summary> |
| | | /// <param name="setting">功能设定</param> |
| | | /// <param name="mapper">automapper</param> |
| | | public FunSettingServer(IFunSettingRepository setting, IMapper mapper) : base(Db) |
| | | public FunSettingServer(IFunSettingRepository setting, IMapper mapper, UserManager userManager) : base(Db) |
| | | { |
| | | _setting = setting;//功能设定 |
| | | _mapper = mapper;//automapper |
| | | _userManager = userManager; |
| | | } |
| | | |
| | | |
| | |
| | | /// <param name="IsEnable">开启状态</param> |
| | | /// <param name="GroupNo">组号</param> |
| | | /// <returns></returns> |
| | | public List<FunSettingDto> GetFunSettingList(string FunSetName, string IsEnable, string GroupNo) |
| | | public async Task<List<FunSettingDto>> GetFunSettingList(string FunSetName, string IsEnable, string GroupNo) |
| | | { |
| | | |
| | | List<FunSettingDto> settinglist = _setting.GetFunSettingList(FunSetName, IsEnable, GroupNo); |
| | | return settinglist; |
| | | return await Db.Queryable<SysFunSetting>() |
| | | .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id) |
| | | .WhereIF(!string.IsNullOrEmpty(FunSetName), a => a.FunSetName.Contains(FunSetName)) |
| | | .WhereIF(!string.IsNullOrEmpty(GroupNo), a => a.GroupNo.Contains(GroupNo)) |
| | | .WhereIF(!string.IsNullOrEmpty(IsEnable), a => a.IsEnable == IsEnable) |
| | | .Where(a => a.IsDel == "0") |
| | | .Select<FunSettingDto>((a, b) => new FunSettingDto() { CreateName = b.RealName }, true) |
| | | .ToListAsync(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | /// <param name="id">功能id</param> |
| | | /// <returns></returns> |
| | | public SysFunSetting GetFunSettingById(int id) |
| | | public async Task<SysFunSetting> GetFunSettingById(int id) |
| | | { |
| | | SysFunSetting settinglist = _setting.GetFunSettingById(id); |
| | | return settinglist; |
| | | return await Db.Queryable<SysFunSetting>().FirstAsync(s => s.Id == id); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | /// <param name="funSetNo">功能编号</param> |
| | | /// <returns></returns> |
| | | public SysFunSetting GetFunSettingByNo(string funSetNo) |
| | | public async Task<SysFunSetting> GetFunSettingByNo(string funSetNo) |
| | | { |
| | | try |
| | | { |
| | | var list = Db.Queryable<SysFunSetting>().First(a => a.IsDel == "0" && a.FunSetNo == funSetNo); |
| | | return list; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | throw ex; |
| | | } |
| | | return await Db.Queryable<SysFunSetting>().FirstAsync(a => a.IsDel == "0" && a.FunSetNo == funSetNo); |
| | | } |
| | | |
| | | ///// <summary> |
| | |
| | | /// <exception cref="Exception">捕获异常</exception> |
| | | public async Task<int> AddFunSettings(FunSettingDto settingdto) |
| | | { |
| | | //捕获异常 |
| | | try |
| | | //映射模型 |
| | | SysFunSetting setting = _mapper.Map<SysFunSetting>(settingdto); |
| | | var setData = await Db.Queryable<SysFunSetting>().FirstAsync(m => m.IsDel == "0" && m.GroupNo == settingdto.GroupNo && m.SetValue == settingdto.SetValue); |
| | | if (setData != null) |
| | | { |
| | | //映射模型 |
| | | SysFunSetting setting = _mapper.Map<SysFunSetting>(settingdto); |
| | | //判断功能编号是否唯一 |
| | | var set = GetFunSettingByNo(setting.FunSetNo); |
| | | int i = 0; |
| | | if (set != null) |
| | | { |
| | | i = 3; |
| | | } |
| | | else if (set == null) |
| | | { |
| | | var setData = Db.Queryable<SysFunSetting>() |
| | | .First(m => m.IsDel == "0" && m.GroupNo == settingdto.GroupNo && m.SetValue==settingdto.SetValue); |
| | | if (setData!=null) |
| | | { |
| | | throw new Exception("同组内设定值重复"); |
| | | } |
| | | //新增 |
| | | i = await _setting.AddFunSettings(setting); |
| | | } |
| | | return i; |
| | | throw Oops.Bah("同组内设定值重复"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | //抛出异常 |
| | | throw new Exception(ex.Message); |
| | | } |
| | | setting.CreateTime = DateTime.Now; |
| | | setting.CreateUser = _userManager.UserId; |
| | | return await Db.Insertable(setting).ExecuteCommandAsync(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <exception cref="Exception">捕获异常</exception> |
| | | public async Task<int> DelFunSettings(SysFunSetting funSetting) |
| | | { |
| | | //捕获异常 |
| | | try |
| | | { |
| | | //删除 |
| | | int i = await _setting.DelFunSettings(funSetting); |
| | | return i; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | //抛出异常 |
| | | throw new Exception("删除功能异常", ex); |
| | | } |
| | | return await Db.Updateable<SysFunSetting>() |
| | | .Where(s => s.Id == funSetting.Id) |
| | | .SetColumns(s => s.IsDel == "1") |
| | | .SetColumns(s => s.UpdateTime == DateTime.Now) |
| | | .SetColumns(s => s.UpdateUser == _userManager.UserId) |
| | | .ExecuteCommandAsync(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <exception cref="Exception">捕获异常</exception> |
| | | public async Task<int> ExitFunSettings(FunSettingDto settingdto) |
| | | { |
| | | //捕获异常 |
| | | try |
| | | { |
| | | //映射模型 |
| | | SysFunSetting setting = _mapper.Map<SysFunSetting>(settingdto); |
| | | SysFunSetting setting = _mapper.Map<SysFunSetting>(settingdto); |
| | | |
| | | var setData = Db.Queryable<SysFunSetting>() |
| | | .First(m => m.IsDel == "0" && m.GroupNo == settingdto.GroupNo && m.SetValue == settingdto.SetValue && m.Id!=settingdto.Id); |
| | | if (setData != null) |
| | | { |
| | | throw new Exception("同组内设定值重复"); |
| | | } |
| | | //编辑 |
| | | int i = await _setting.ExitFunSettings(setting); |
| | | return i; |
| | | } |
| | | catch (Exception ex) |
| | | var setData = await Db.Queryable<SysFunSetting>() |
| | | .FirstAsync(m => m.IsDel == "0" && m.GroupNo == settingdto.GroupNo && m.SetValue == settingdto.SetValue && m.Id != settingdto.Id); |
| | | if (setData != null) |
| | | { |
| | | //抛出异常 |
| | | throw new Exception(ex.Message); |
| | | throw Oops.Bah("同组内设定值重复"); |
| | | } |
| | | setting.UpdateUser = _userManager.UserId; |
| | | setting.UpdateTime = DateTime.Now; |
| | | return await Db.Updateable(setting) |
| | | .UpdateColumns(s => new { s.FunSetName, s.SetValue, s.FunText, s.IsEnable, s.Ord, s.GroupNo, s.UpdateUser, s.UpdateTime }) |
| | | .ExecuteCommandAsync(); |
| | | } |
| | | } |
| | | } |