|
- using System;
- using System.Collections.Generic;
- using Permission.Entity.System;
- using Permission.Service.IServices;
- using Permission.Infrastructure.Repositories;
- using System.Linq;
- using Permission.Infrastructure.WebControls;
- using Permission.Utils.Validate;
-
- namespace Permission.Service.Services
- {
- public class SysMenuService : ISysMenuService
- {
- private readonly IBaseRepository<SysMenu> _sysMenuRepository;
-
- public SysMenuService(IBaseRepository<SysMenu> sysMenuRepository)
- {
- this._sysMenuRepository = sysMenuRepository;
- }
-
- public bool AddModel(SysMenu model)
- {
- try
- {
- model.GuidId = Guid.NewGuid().ToString();
- if (model.ParentId == null || model.ParentId == 0)
- {
- model.Layer = 0;
- }
- else
- {
- var layer = _sysMenuRepository.Get(model.ParentId.Value).Layer;
- if (layer != null)
- {
- int parentLayer = layer.Value;
- model.Layer = parentLayer + 1;
- }
- }
- model.ParentId = model.ParentId ?? 0;
- model.IsEnable = model.IsEnable != null;
- model.IsEdit = model.IsEdit != null;
- model.IsPublic = model.IsPublic != null;
- model.DeleteMark = false;
- model.CreateTime = DateTime.Now;
- var res = _sysMenuRepository.Save(model);
- return res;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
-
- public bool ModifyModel(SysMenu model)
- {
- try
- {
- var menu = _sysMenuRepository.Get(model.Id);
- menu.EnCode = model.EnCode;
- menu.ParentId = model.ParentId;
- if (model.ParentId == null || model.ParentId == 0)
- {
- model.Layer = 0;
- }
- else
- {
- var layer = _sysMenuRepository.Get(model.ParentId.Value).Layer;
- if (layer != null)
- {
- int parentLayer = layer.Value;
- model.Layer = parentLayer + 1;
- }
- }
- menu.Type = model.Type;
- menu.MenuName = model.MenuName;
- menu.JsEvent = model.JsEvent;
- menu.Url = model.Url;
- menu.Icon = model.Icon;
- menu.SortCode = model.SortCode;
- menu.IsPublic = model.IsPublic;
- menu.IsEdit = model.IsEdit;
- menu.IsEnable = model.IsEnable;
- menu.ModifyTime = DateTime.Now;
- menu.ModifyUser = model.ModifyUser;
- menu.Remark = model.Remark;
- var res = _sysMenuRepository.Update(menu);
- return res;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
-
- public List<SysMenu> GetMenuList()
- {
- try
- {
- var data = _sysMenuRepository.QueryEntity<SysMenu, int, SysMenu>(m => m.IsEnable.Value == true && m.DeleteMark.Value == false, ms => ms.SortCode.Value, null, true).ToList();
- return data;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
-
- public Page<SysMenu> PageList(string keyword, int pagesize, int pageindex)
- {
- try
- {
- int total = 0;
- if (keyword.IsEmpty())
- {
- var data = _sysMenuRepository.PageList(pageindex, pagesize, us => us.OrderBy(ur =>
- ur.SortCode),
- u => u,
- out total,
- u => u.DeleteMark == false);
-
- return data;
- }
- else
- {
- var data = _sysMenuRepository.PageList(pageindex, pagesize, us => us.OrderBy(ur => ur.SortCode),
- u => u,
- out total,
- u => (u.MenuName.Contains(keyword) || u.EnCode.Contains(keyword)) && u.DeleteMark == false);
- return data;
- }
- }
- catch (Exception e)
- {
- throw e;
- }
- }
-
- public SysMenu GetMenuByKey(int key)
- {
- try
- {
- if (!key.IsEmpty() || key > 0)
- {
- var data = _sysMenuRepository.Get(key);
- return data;
- }
- return null;
- }
- catch (Exception e)
- {
- throw e;
- }
- }
- }
- }
|