Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="name"></param>
        /// <param name="desc"></param>
        /// <param name="shop_id"></param>
        public BAdminRole CreateRole(string name, string desc, int[] actions, int shop_id = 0)
        {
            BAdminRole badminRole = null;

            if (this.CurrentUserPermission.ADD_ADMIN_ROLE == 0)
            {
                throw new KMJXCException("没有权限创建权限分组");
            }

            using (KuanMaiEntities db = new KuanMaiEntities())
            {
                int shop = this.Shop.Shop_ID;
                if (shop_id > 0)
                {
                    shop = shop_id;
                }
                Admin_Role admin_role = (from role in db.Admin_Role where role.shop_id == shop && role.role_name == name select role).FirstOrDefault <Admin_Role>();
                if (admin_role != null)
                {
                    throw new KMJXCException("名为 " + name + " 的分组已经存在");
                }

                admin_role             = new Admin_Role();
                admin_role.role_name   = name;
                admin_role.shop_id     = shop;
                admin_role.enabled     = true;
                admin_role.description = desc;
                admin_role.create_uid  = this.CurrentUser.ID;
                admin_role.create_date = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                admin_role.system_role = false;
                db.Admin_Role.Add(admin_role);
                db.SaveChanges();
                if (actions != null)
                {
                    this.UpdateRoleActions(admin_role.id, actions);
                }

                badminRole = new BAdminRole()
                {
                    ID = admin_role.id, Name = admin_role.role_name, Description = admin_role.description
                };
                return(badminRole);
            }
        }
Exemplo n.º 2
0
        public ApiMessage CreateRole()
        {
            ApiMessage message = new ApiMessage()
            {
                Status = "ok"
            };
            List <BAdminRole>    roles         = new List <BAdminRole>();
            HttpContextBase      context       = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase      request       = context.Request;
            string               user_id       = User.Identity.Name;
            UserManager          userMgr       = new UserManager(int.Parse(user_id), null);
            BUser                user          = userMgr.CurrentUser;
            PermissionManagement permissionMgt = new PermissionManagement(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            string               role_name     = request["role"];
            string               desc          = request["desc"];
            int shop_id = 0;

            int.TryParse(request["shop_id"], out shop_id);
            try
            {
                int[] actions = this.ConvertToIntArrar(request["actions"]);
                if (string.IsNullOrEmpty(role_name))
                {
                    message.Status  = "failed";
                    message.Message = "分组名字不能为空";
                    return(message);
                }
                BAdminRole role = permissionMgt.CreateRole(role_name, desc, actions, shop_id);
                message.Item = role;
            }
            catch (KMJXCException kex)
            {
                message.Status  = "failed";
                message.Message = kex.Message;
            }
            catch
            {
            }
            finally
            {
            }
            return(message);
        }