Ejemplo n.º 1
0
        public ActionResult Delete(List <int> ids)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var tb = (from p in db.Table <Sys.Entity.tbSysMenu>()
                          where ids.Contains(p.Id)
                          select p).ToList();

                foreach (var a in tb)
                {
                    a.IsDeleted = true;

                    //级联删除相关菜单
                }

                if (db.SaveChanges() > 0)
                {
                    XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("删除菜单");
                }

                var cache = System.Web.HttpContext.Current.Cache;
                cache["Power"] = SysRolePowerController.GetPower();

                return(Code.MvcHelper.Post());
            }
        }
Ejemplo n.º 2
0
        public ActionResult Insert1(List <int> ids, int UserId)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var error        = new List <string>();
                var user         = db.Set <Sys.Entity.tbSysUser>().Find(UserId);
                var userRoleList = db.Table <Sys.Entity.tbSysUserRole>()
                                   .Where(d => d.tbSysUser.Id == UserId).ToList();
                foreach (var v in userRoleList)
                {
                    v.IsDeleted = true;
                }
                var tbUserRoleList = new List <Sys.Entity.tbSysUserRole>();
                foreach (var v in ids)
                {
                    tbUserRoleList.Add(new Sys.Entity.tbSysUserRole()
                    {
                        tbSysRole = db.Set <Sys.Entity.tbSysRole>().Find(v),
                        tbSysUser = user
                    });
                }

                db.Set <Sys.Entity.tbSysUserRole>().AddRange(tbUserRoleList);

                if (db.SaveChanges() > 0)
                {
                    XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加了角色成员");
                    System.Web.HttpContext.Current.Cache["Power"] = SysRolePowerController.GetPower();
                }

                return(Code.MvcHelper.Post(error));
            }
        }
Ejemplo n.º 3
0
        public ActionResult Edit(Models.SysUserPower.Edit vm)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var power = (from p in db.Table <Sys.Entity.tbSysUserPower>()
                             where p.tbSysUser.Id == vm.UserId
                             select p).ToList();
                foreach (var a in power)
                {
                    a.IsDeleted = true;
                }

                var menuList = vm.Power.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(d => d.ConvertToInt());

                foreach (var menu in menuList)
                {
                    var temp = new Sys.Entity.tbSysUserPower();
                    temp.tbSysMenu = db.Set <Sys.Entity.tbSysMenu>().Find(menu);
                    temp.tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(vm.UserId);
                    db.Set <Sys.Entity.tbSysUserPower>().Add(temp);
                }

                if (db.SaveChanges() > 0)
                {
                    XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加角色权限");
                    System.Web.HttpContext.Current.Cache["Power"] = SysRolePowerController.GetPower();
                }

                return(Code.MvcHelper.Post());
            }
        }
Ejemplo n.º 4
0
        public ActionResult Insert(List <int> ids, int roleId)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var error = new List <string>();

                var vm = new Models.SysUser.Edit();

                var userRoleList = (from p in db.Table <Sys.Entity.tbSysUserRole>()
                                    where p.tbSysRole.Id == roleId
                                    select p.tbSysUser.Id).ToList();

                var userList = (from p in db.Table <Sys.Entity.tbSysUser>()
                                where ids.Contains(p.Id) &&
                                userRoleList.Contains(p.Id) == false
                                select p).ToList();
                foreach (var user in userList)
                {
                    var tb = new Sys.Entity.tbSysUserRole();
                    tb.tbSysRole = db.Set <Sys.Entity.tbSysRole>().Find(roleId);
                    tb.tbSysUser = user;
                    db.Set <Sys.Entity.tbSysUserRole>().Add(tb);
                }

                if (db.SaveChanges() > 0)
                {
                    XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加了角色成员");
                    System.Web.HttpContext.Current.Cache["Power"] = SysRolePowerController.GetPower();
                }

                return(Code.MvcHelper.Post(error));
            }
        }
Ejemplo n.º 5
0
        public ActionResult SetDisable(int RoleId, int MenuId, bool Status)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var menuIds = GetChildrenMenuId(MenuId);

                if (Status)//授权
                {
                    //如果菜单不是一级菜单,激活时同时激活它的一级菜单
                    if (db.Set <Entity.tbSysMenu>().Find(MenuId).tbMenuParent != null)
                    {
                        var id = db.Table <Entity.tbSysMenu>()
                                 .Include(d => d.tbMenuParent)
                                 .Where(d => d.Id == MenuId).FirstOrDefault().tbMenuParent.Id;
                        menuIds.Add(id);
                    }

                    var tb = db.Table <Sys.Entity.tbSysRolePower>()
                             .Include(d => d.tbSysMenu)
                             .Where(d => d.tbSysRole.Id == RoleId).ToList();

                    var tempList = new List <Sys.Entity.tbSysRolePower>();
                    foreach (var v in menuIds)
                    {
                        if (tb.Where(d => d.tbSysMenu.Id == v).Count() == 0)
                        {
                            var temp = new Sys.Entity.tbSysRolePower()
                            {
                                tbSysMenu = db.Set <Sys.Entity.tbSysMenu>().Find(v),
                                tbSysRole = db.Set <Sys.Entity.tbSysRole>().Find(RoleId)
                            };
                            tempList.Add(temp);
                        }
                    }
                    db.Set <Sys.Entity.tbSysRolePower>().AddRange(tempList);
                }
                else//取消授权
                {
                    var tb = db.Table <Sys.Entity.tbSysRolePower>()
                             .Where(d => menuIds.Contains(d.tbSysMenu.Id) && d.tbSysRole.Id == RoleId).ToList();
                    foreach (var v in tb)
                    {
                        v.IsDeleted = true;
                    }
                }

                if (db.SaveChanges() > 0)
                {
                    XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改了角色权限");
                    System.Web.HttpContext.Current.Cache["Power"] = SysRolePowerController.GetPower();
                }

                return(Code.MvcHelper.Post(null, Url.Action("MenuRoleList", new { MenuId = MenuId })));
            }
        }
Ejemplo n.º 6
0
        public ActionResult Edit(Models.SysRole.Edit vm)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var error = new List <string>();
                if (error.Count == decimal.Zero)
                {
                    if (db.Table <Sys.Entity.tbSysRole>().Where(d => d.RoleName == vm.RoleEdit.RoleName && d.Id != vm.RoleEdit.Id).Any())
                    {
                        error.AddError("该角色已存在!");
                    }
                    else
                    {
                        if (vm.RoleEdit.Id == 0)
                        {
                            var tb = new Sys.Entity.tbSysRole();
                            tb.RoleName = vm.RoleEdit.RoleName;
                            db.Set <Sys.Entity.tbSysRole>().Add(tb);
                            if (db.SaveChanges() > 0)
                            {
                                XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加角色");
                                System.Web.HttpContext.Current.Cache["Power"] = SysRolePowerController.GetPower();
                            }
                        }
                        else
                        {
                            var tb = (from p in db.Table <Sys.Entity.tbSysRole>()
                                      where p.Id == vm.RoleEdit.Id
                                      select p).FirstOrDefault();
                            if (tb != null)
                            {
                                tb.RoleName = vm.RoleEdit.RoleName;
                                if (db.SaveChanges() > 0)
                                {
                                    XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改角色");
                                }
                            }
                            else
                            {
                                error.AddError(Resources.LocalizedText.MsgNotFound);
                            }
                        }
                    }
                }

                return(Code.MvcHelper.Post(error));
            }
        }
Ejemplo n.º 7
0
        public ActionResult Delete(List <int> ids)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var tb = (from p in db.Table <Sys.Entity.tbSysRole>()
                          where ids.Contains(p.Id)
                          select p).ToList();

                var rolePowerList = (from p in db.Table <Sys.Entity.tbSysRolePower>()
                                     .Include(d => d.tbSysRole)
                                     where ids.Contains(p.tbSysRole.Id)
                                     select p).ToList();

                var roleUserList = (from p in db.Table <Sys.Entity.tbSysUserRole>()
                                    .Include(d => d.tbSysRole)
                                    where ids.Contains(p.tbSysRole.Id)
                                    select p).ToList();

                foreach (var a in tb)
                {
                    a.IsDeleted = true;

                    foreach (var power in rolePowerList.Where(d => d.tbSysRole.Id == a.Id))
                    {
                        power.IsDeleted = true;
                    }

                    foreach (var user in roleUserList.Where(d => d.tbSysRole.Id == a.Id))
                    {
                        user.IsDeleted = true;
                    }
                }

                if (db.SaveChanges() > 0)
                {
                    XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("删除角色");
                    System.Web.HttpContext.Current.Cache["Power"] = SysRolePowerController.GetPower();
                }

                return(Code.MvcHelper.Post());
            }
        }
Ejemplo n.º 8
0
        public ActionResult SetShortcut(int id)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var tb = db.Set <Sys.Entity.tbSysMenu>().Find(id);
                if (tb != null)
                {
                    tb.IsShortcut = !tb.IsShortcut;

                    if (db.SaveChanges() > 0)
                    {
                        XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改菜单快捷");
                    }
                }

                var cache = System.Web.HttpContext.Current.Cache;
                cache["Power"] = SysRolePowerController.GetPower();

                return(Code.MvcHelper.Post());
            }
        }
Ejemplo n.º 9
0
        public void RestartCache()
        {
            try
            {
                using (var db = new XkSystem.Models.DbContext())
                {
                    var cache = System.Web.HttpContext.Current.Cache;

                    var tenant = (from p in db.TableRoot <Areas.Admin.Entity.tbTenant>()
                                  orderby p.IsDefault descending, p.No
                                  select new
                    {
                        p.TenantName,
                        p.Title
                    }).ToList();
                    if (tenant.Count > decimal.Zero)
                    {
                        cache["AppTitle"] = tenant.FirstOrDefault().Title;

                        if (tenant.Count == 1)
                        {
                            cache["TenantName"] = tenant.FirstOrDefault().TenantName;
                        }
                        else
                        {
                            cache.Remove("TenantName");
                        }
                    }

                    cache["Config"] = Areas.Admin.Controllers.ConfigController.GetConfig();

                    cache["Power"] = SysRolePowerController.GetPower();
                }
            }
            catch
            {
            }
        }
Ejemplo n.º 10
0
        public ActionResult Edit(Models.SysMenu.Edit vm)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var error = new List <string>();
                if (error.Count == decimal.Zero)
                {
                    if (vm.MenuEdit.Id == 0)
                    {
                        var tb = new Sys.Entity.tbSysMenu();
                        tb.No = vm.MenuEdit.No == null?db.Table <Sys.Entity.tbSysMenu>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1 : (int)vm.MenuEdit.No;

                        tb.MenuName     = vm.MenuEdit.MenuName;
                        tb.tbProgram    = db.Set <Admin.Entity.tbProgram>().Find(Code.Common.ProgramId);
                        tb.MenuUrl      = vm.MenuEdit.MenuUrl;
                        tb.tbMenuParent = db.Set <Sys.Entity.tbSysMenu>().Find(vm.MenuEdit.MenuParentId);
                        tb.Icon         = vm.MenuEdit.Icon;
                        tb.IsDisable    = vm.MenuEdit.IsDisable;
                        tb.IsShortcut   = vm.MenuEdit.IsShortcut;
                        tb.Remark       = vm.MenuEdit.Remark;
                        db.Set <Sys.Entity.tbSysMenu>().Add(tb);
                        if (db.SaveChanges() > 0)
                        {
                            XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加菜单");
                        }
                    }
                    else
                    {
                        var tb = (from p in db.Table <Sys.Entity.tbSysMenu>()
                                  where p.Id == vm.MenuEdit.Id
                                  select p).FirstOrDefault();
                        if (tb != null)
                        {
                            tb.No = vm.MenuEdit.No == null?db.Table <Sys.Entity.tbSysMenu>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1 : (int)vm.MenuEdit.No;

                            tb.MenuName     = vm.MenuEdit.MenuName;
                            tb.tbProgram    = db.Set <Admin.Entity.tbProgram>().Find(Code.Common.ProgramId);
                            tb.MenuUrl      = vm.MenuEdit.MenuUrl;
                            tb.tbMenuParent = db.Set <Sys.Entity.tbSysMenu>().Find(vm.MenuEdit.MenuParentId);
                            tb.Icon         = vm.MenuEdit.Icon;
                            tb.IsDisable    = vm.MenuEdit.IsDisable;
                            tb.IsShortcut   = vm.MenuEdit.IsShortcut;
                            tb.Remark       = vm.MenuEdit.Remark;
                            if (db.SaveChanges() > 0)
                            {
                                XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改菜单");
                            }
                        }
                        else
                        {
                            error.AddError(Resources.LocalizedText.MsgNotFound);
                        }
                    }
                }

                var cache = System.Web.HttpContext.Current.Cache;
                cache["Power"] = SysRolePowerController.GetPower();

                return(Code.MvcHelper.Post(error));
            }
        }