/// <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); } }
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); }