Esempio n. 1
0
        /// <summary>
        /// save
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public JsonRsp SaveAccountRole(AdminAccount model, int[] itemIds)
        {
            AdminAccountRole emp = new AdminAccountRole();

            emp.AccountID = model.ID;
            //删除原有的
            OQL q = OQL.From(emp)
                    .Delete()
                    .Where(emp.AccountID)
                    .END;

            EntityQuery <AdminAccountRole> .Instance.ExecuteOql(q);

            List <AdminAccountRole> list = new List <AdminAccountRole>();

            foreach (int id in itemIds)
            {
                list.Add(new AdminAccountRole
                {
                    AccountID = model.ID,
                    RoleID    = id,
                });
            }
            int returnvalue = EntityQuery <AdminAccountRole> .Instance.Insert(list);

            return(new JsonRsp {
                success = returnvalue > 0, code = 0, returnvalue = returnvalue
            });
        }
Esempio n. 2
0
        /// <summary>
        /// 获取用户角色集合
        /// </summary>
        /// <param name="accountId"></param>
        /// <returns></returns>
        public List <AdminAccountRole> GetAccountRoles(int accountId)
        {
            AdminAccountRole model = new AdminAccountRole();

            model.AccountID = accountId;
            OQL q = OQL.From(model)
                    .Select()
                    .Where(model.AccountID)
                    .OrderBy(model.ID, "asc")
                    .END;

            return(q.ToList <AdminAccountRole>());//使用OQL扩展
        }
Esempio n. 3
0
        /// <summary>
        /// 获取用户权限菜单
        /// </summary>
        /// <param name="accountId"></param>
        /// <param name="menuType"></param>
        /// <returns></returns>
        public List <MenuViewModel> GetMenuListByAccountId(long accountId, long menuType)
        {
            AdminRole        role = new AdminRole();
            AdminAccountRole ar   = new AdminAccountRole();

            ar.AccountID = accountId;
            OQL joinQ = OQL.From(role)
                        .Join(ar).On(role.ID, ar.RoleID)
                        .Select(role.MenuIds)
                        .Where(ar.AccountID)
                        .OrderBy(role.Sort, "desc")
                        .END;

            PWMIS.DataProvider.Data.AdoHelper db = PWMIS.DataProvider.Adapter.MyDB.GetDBHelper();
            EntityContainer  ec       = new EntityContainer(joinQ, db);
            List <AdminRole> roleList = (List <AdminRole>)ec.MapToList <AdminRole>(() => new AdminRole()
            {
                MenuIds = role.MenuIds,
            });

            StringBuilder sbMenuIds = new StringBuilder();

            foreach (AdminRole item in roleList)
            {
                sbMenuIds.Append(item.MenuIds);
            }

            //long[] roleArr = Array.ConvertAll(sbMenuIds.ToString().Split(','), long.Parse);


            JsonRsp <MenuViewModel> rsp = new JsonRsp <MenuViewModel>();
            AdminMenu model             = new AdminMenu();
            OQL       q = new OQL(model);

            if (menuType > 0)
            {
                q.Select()
                .Where(q.Condition.AND(model.MenuType, "=", menuType).AND(model.Status, ">", -1))
                .OrderBy(model.Sort, "desc");
            }
            else
            {
                q.Select()
                .Where(q.Condition.AND(model.Status, ">", -1))
                .OrderBy(model.Sort, "desc");
            }

            List <AdminMenu> list = q.ToList <AdminMenu>();//使用OQL扩展

            return(list.ConvertAll <MenuViewModel>(o =>
            {
                return new MenuViewModel()
                {
                    ID = o.ID,
                    ParentID = o.ParentID,
                    MenuKey = o.MenuKey,
                    MenuName = o.MenuName,
                    MenuUrl = o.MenuUrl,
                    MenuType = o.MenuType,
                    Sort = o.Sort,
                    Status = o.Status,
                    CreateTime = o.CreateTime,
                };
            }
                                                   ));
        }