/// <summary> /// 增加一条记录 /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual bool Add(UserGroupsEntity entity) { if (entity.GroupID <= 0) { entity.GroupID = GetNewID(); } Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "insert into UserGroups (" + "GroupID," + "GroupName," + "Description," + "Settings," + "GroupType," + "GroupSetting," + "UpgradeSetting) " + "values(" + "@GroupID," + "@GroupName," + "@Description," + "@Settings," + "@GroupType," + "@GroupSetting," + "@UpgradeSetting)"; return(_DB.ExeSQLResult(strSQL, dict)); }
/// <summary> /// 增加一条记录,返回新的ID号。需要有一个单一主键,并且开启有标识符属性(异步方式) /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual async Task <int> InsertAsync(UserGroupsEntity entity) { if (entity.GroupID <= 0) { entity.GroupID = GetNewID(); } Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "insert into UserGroups (" + "GroupID," + "GroupName," + "Description," + "Settings," + "GroupType," + "GroupSetting," + "UpgradeSetting) " + "values(" + "@GroupID," + "@GroupName," + "@Description," + "@Settings," + "@GroupType," + "@GroupSetting," + "@UpgradeSetting)"; if (await Task.Run(() => _DB.ExeSQLResult(strSQL, dict))) { return(DataConverter.CLng(entity.GroupID)); } return(-1); }
public async Task <ActionResult> UserGroupEdit(int id = 0, UserGroupsEntity model = null, IFormCollection collection = null) { if (id == -2) { ModelState.AddModelError(string.Empty, "匿名会员组不能编辑"); return(View(model)); } if (string.IsNullOrWhiteSpace(model.GroupName)) { ModelState.AddModelError(string.Empty, "会员组名称不能为空"); return(View(model)); } if (string.IsNullOrWhiteSpace(model.Description)) { model.Description = ""; } if (id <= 0) { #region 添加 if (_UserGroupsService.UserGroupIsExist(model.GroupName)) { ModelState.AddModelError(string.Empty, "添加失败!会员组名称已经存在!"); return(View(model)); } if (!await _UserGroupsService.AddAsync(model)) { ModelState.AddModelError(string.Empty, "添加失败"); return(View(model)); } id = model.GroupID; #endregion } else { #region 修改 var oldModel = _UserGroupsService.Get(p => p.GroupID == id); if (oldModel.GroupName != model.GroupName) { if (_UserGroupsService.UserGroupIsExist(model.GroupName)) { ModelState.AddModelError(string.Empty, "该会员组已经存在,请使用另一会员组名!"); return(View(model)); } } oldModel.GroupName = model.GroupName; oldModel.Description = model.Description; oldModel.GroupType = model.GroupType; if (!await _UserGroupsService.UpdateAsync(oldModel)) { ModelState.AddModelError(string.Empty, "修改失败"); return(View(model)); } #endregion } return(RedirectToAction("UserGroupPermissions", new { id = id, groupName = model.GroupName })); }
/// <summary> /// 把实体类转换成键/值对集合 /// </summary> /// <param name="entity"></param> /// <param name="dict"></param> private static void GetParameters(UserGroupsEntity entity, Dictionary <string, object> dict) { dict.Add("GroupID", entity.GroupID); dict.Add("GroupName", entity.GroupName); dict.Add("Description", entity.Description); dict.Add("Settings", entity.Settings); dict.Add("GroupType", entity.GroupType); dict.Add("GroupSetting", entity.GroupSetting); dict.Add("UpgradeSetting", entity.UpgradeSetting); }
public async Task <ActionResult> PublishPermissions(int id = 0, int IdType = 1) { UserGroupsEntity userGroupsEntity = null; UsersEntity usersEntity = null; var permissionsViewModels = new PublishPermissionsViewModel(); if (IdType == 1) { if (id <= 0 && id != -2) { Utility.WriteMessage("权限配置必须指定会员组", "mClose"); return(View(permissionsViewModels)); } userGroupsEntity = await _UserGroupsService.GetAsync(p => p.GroupID == id); if (userGroupsEntity == null) { Utility.WriteMessage("指定的会员组不存在", "mClose"); return(View(permissionsViewModels)); } permissionsViewModels.PurviewEntity = userGroupsEntity.UserGroupPurview; } else if (IdType == 0) { if (id <= 0) { Utility.WriteMessage("权限配置必须指定会员", "mClose"); return(View(permissionsViewModels)); } usersEntity = await _UsersService.GetAsync(p => p.UserID == id); if (usersEntity == null) { Utility.WriteMessage("指定的会员不存在", "mClose"); return(View(permissionsViewModels)); } permissionsViewModels.PurviewEntity = usersEntity.UserPurview; } else { Utility.WriteMessage("权限类型没有指定", "mClose"); return(View(permissionsViewModels)); } if (permissionsViewModels.PurviewEntity == null) { permissionsViewModels.PurviewEntity = new UserPurviewEntity(); } permissionsViewModels.IdType = IdType; permissionsViewModels.NodeList = _NodesService.GetNodeListByContainer(); permissionsViewModels.GroupNodePermissionsList = await _UserGroupsService.GetNodePermissionsById(id, -3, OperateCode.None, IdType); return(View(permissionsViewModels)); }
/// <summary> /// 通过数据读取器生成实体类 /// </summary> /// <param name="rdr"></param> /// <returns></returns> private static UserGroupsEntity GetEntityFromrdr(NullableDataReader rdr) { UserGroupsEntity info = new UserGroupsEntity(); info.GroupID = rdr.GetInt32("GroupID"); info.GroupName = rdr.GetString("GroupName"); info.Description = rdr.GetString("Description"); info.Settings = rdr.GetString("Settings"); info.GroupType = rdr.GetInt32("GroupType"); info.GroupSetting = rdr.GetString("GroupSetting"); info.UpgradeSetting = rdr.GetString("UpgradeSetting"); return(info); }
/// <summary> /// 获取实体(异步方式) /// </summary> /// <param name="strWhere">参数化查询条件(例如: and Name = @Name )</param> /// <param name="dict">参数的名/值集合</param> /// <returns></returns> public virtual async Task <UserGroupsEntity> GetEntityAsync(string strWhere, Dictionary <string, object> dict = null) { UserGroupsEntity obj = null; string strSQL = "select top 1 * from UserGroups where 1=1 " + strWhere; using (NullableDataReader reader = await Task.Run(() => _DB.GetDataReader(strSQL, dict))) { if (reader.Read()) { obj = GetEntityFromrdr(reader); } } return(obj); }
/// <summary> /// 更新一条记录(异步方式) /// </summary> /// <param name="entity">实体模型</param> /// <returns></returns> public virtual async Task <bool> UpdateAsync(UserGroupsEntity entity) { Dictionary <string, object> dict = new Dictionary <string, object>(); GetParameters(entity, dict); string strSQL = "Update UserGroups SET " + "GroupName = @GroupName," + "Description = @Description," + "Settings = @Settings," + "GroupType = @GroupType," + "GroupSetting = @GroupSetting," + "UpgradeSetting = @UpgradeSetting" + " WHERE " + "GroupID = @GroupID"; return(await Task.Run(() => _DB.ExeSQLResult(strSQL, dict))); }
public IActionResult UserGroupEdit(int id = 0) { var model = new UserGroupsEntity(); model.GroupID = id; if (id == -2) { Utility.WriteMessage("匿名用户组不能编辑", "mClose"); return(View(model)); } if (id <= 0) { return(View(model)); } model = _UserGroupsService.Get(p => p.GroupID == id); if (model == null || model.GroupID <= 0) { return(View(model)); } return(View(model)); }
public bool deleteUserFromGroups(string username, UserGroupsEntity groups) { return(Client.isStatusCodeOK(Client.delete("users/" + username + "/groups", groups, new Dictionary <string, string>()))); }
public async Task <ActionResult> UserGroupPermissions(int id = 0, int IdType = 1) { UserGroupsEntity userGroupsEntity = null; UsersEntity usersEntity = null; UserPurviewEntity userPurviewEntity = null; UserGroupPermissionsViewModels permissionsViewModels = new UserGroupPermissionsViewModels(); if (IdType == 1) { if (id <= 0 && id != -2) { Utility.WriteMessage("权限配置必须指定会员组", "mClose"); return(View(permissionsViewModels)); } userGroupsEntity = await _UserGroupsService.GetAsync(p => p.GroupID == id); if (userGroupsEntity == null) { Utility.WriteMessage("指定的会员组不存在", "mClose"); return(View(permissionsViewModels)); } ViewBag.Name = userGroupsEntity.GroupName; userPurviewEntity = userGroupsEntity.UserGroupPurview; } else if (IdType == 0) { if (id <= 0) { Utility.WriteMessage("权限配置必须指定会员", "mClose"); return(View(permissionsViewModels)); } usersEntity = await _UsersService.GetAsync(p => p.UserID == id); if (usersEntity == null) { Utility.WriteMessage("指定的会员不存在", "mClose"); return(View(permissionsViewModels)); } ViewBag.Name = usersEntity.UserName; userPurviewEntity = usersEntity.UserPurview; } else { Utility.WriteMessage("权限类型没有指定", "mClose"); return(View(permissionsViewModels)); } if (userPurviewEntity == null) { userPurviewEntity = new UserPurviewEntity(); } ViewBag.ID = id; permissionsViewModels.IdType = IdType; permissionsViewModels.GroupPermissionsList = DataConverter.ToString(userPurviewEntity.AllCheckCode); permissionsViewModels.PurviewEntity = userPurviewEntity; //菜单权限 string userMenuPath = Utility.GetUserMenuPath(); XmlHelper xmlHelper = XmlHelper.Instance(FileHelper.MapPath(userMenuPath), XmlType.File); XmlDocument xmlDoc = xmlHelper.XmlDoc; XmlNode rootNode = xmlDoc.SelectSingleNode("menu"); if (rootNode == null) { Utility.WriteMessage("菜单配置文件不存在menu根元素", "mClose"); return(View(permissionsViewModels)); } if (rootNode.HasChildNodes) { IList <MenuEntity> menuEntityList = new List <MenuEntity>(); foreach (XmlNode channelMenuNode in rootNode) { string operateCode = XmlHelper.GetAttributesValue(channelMenuNode, "operateCode"); string NodeName = channelMenuNode.Name; string menuID = XmlHelper.GetAttributesValue(channelMenuNode, "id"); string title = XmlHelper.GetAttributesValue(channelMenuNode, "title"); string Description = XmlHelper.GetAttributesValue(channelMenuNode, "Description"); string rightUrl = XmlHelper.GetAttributesValue(channelMenuNode, "rightUrl"); string MenuType = XmlHelper.GetAttributesValue(channelMenuNode, "type"); string MenuIcon = XmlHelper.GetAttributesValue(channelMenuNode, "icon"); bool ShowOnForm = DataConverter.CBoolean(XmlHelper.GetAttributesValue(channelMenuNode, "ShowOnForm")); bool ShowOnMenu = DataConverter.CBoolean(XmlHelper.GetAttributesValue(channelMenuNode, "ShowOnMenu")); if (!ShowOnForm) { continue; } MenuEntity menuEntity = new MenuEntity { NodeName = NodeName, ID = menuID, Title = title, OperateCode = operateCode, Description = Description, Url = rightUrl, MenuType = MenuType, MenuIcon = MenuIcon, ShowOnForm = ShowOnForm, ShowOnMenu = ShowOnMenu }; menuEntity.MenuItem = InitSubMenu(channelMenuNode); menuEntityList.Add(menuEntity); } permissionsViewModels.MenuEntityList = menuEntityList; } //字段权限 var groupFieldPermissionsViewModelsList = new List <GroupFieldPermissionsViewModels>(); var modelsEntityList = await _ModelsService.LoadListAllAsync(p => p.IsDisabled == false); foreach (ModelsEntity modelsEntity in modelsEntityList) { var fieldInfoList = modelsEntity.Field.ToXmlObject <List <FieldInfo> >(); fieldInfoList.Sort(new FieldInfoComparer()); var vm = new GroupFieldPermissionsViewModels(); vm.ModelsEntity = modelsEntity; vm.FieldInfoList = fieldInfoList; vm.GroupFieldPermissionsEntityList = await _UserGroupsService.GetFieldPermissionsById(id, modelsEntity.ModelID, IdType); groupFieldPermissionsViewModelsList.Add(vm); } permissionsViewModels.GroupFieldPermissionsViewModelsList = groupFieldPermissionsViewModelsList; return(View(permissionsViewModels)); }
public bool addUserToGroups(string username, UserGroupsEntity groups) { return(Client.isStatusCodeOK(Client.post("users/" + username + "/groups", groups, new Dictionary <string, string>()))); }
public async Task <ActionResult> UserGroupPermissions(int id, int IdType, UserGroupPermissionsViewModels viewModel, IFormCollection collection) { UserGroupsEntity userGroupsEntity = null; UsersEntity usersEntity = null; UserPurviewEntity userPurviewEntity = null; if (IdType == 1) { if (id <= 0 && id != -2) { Utility.WriteMessage("权限配置必须指定会员组", "mClose"); return(Content("")); } userGroupsEntity = await _UserGroupsService.GetAsync(p => p.GroupID == id); if (userGroupsEntity == null) { Utility.WriteMessage("指定的会员组不存在", "mClose"); return(Content("")); } userPurviewEntity = userGroupsEntity.UserGroupPurview; } else if (IdType == 0) { if (id <= 0) { Utility.WriteMessage("权限配置必须指定会员", "mClose"); return(Content("")); } usersEntity = await _UsersService.GetAsync(p => p.UserID == id); if (usersEntity == null) { Utility.WriteMessage("指定的会员不存在", "mClose"); return(Content("")); } userPurviewEntity = usersEntity.UserPurview; } else { Utility.WriteMessage("权限类型没有指定", "mClose"); return(Content("")); } //字段权限 var ModelFieldPurview = collection["ModelFieldPurview"]; await _UserGroupsService.DeleteFieldPermissionFromGroup(id, IdType); await _UserGroupsService.AddFieldPermissionToUserGroup(id, OperateCode.ContentFieldInput, ModelFieldPurview, IdType); if (userPurviewEntity == null) { userPurviewEntity = new UserPurviewEntity(); } //菜单权限 var ModelPurview = collection["ModelPurview"]; userPurviewEntity.AllCheckCode = ModelPurview; //其他权限 userPurviewEntity.EnableComment = viewModel.PurviewEntity.EnableComment; userPurviewEntity.CommentNeedCheck = viewModel.PurviewEntity.CommentNeedCheck; userPurviewEntity.EnableUpload = viewModel.PurviewEntity.EnableUpload; userPurviewEntity.UploadSize = viewModel.PurviewEntity.UploadSize; userPurviewEntity.Discount = viewModel.PurviewEntity.Discount; userPurviewEntity.Overdraft = viewModel.PurviewEntity.Overdraft; if (ConfigHelper.Get <UserConfig>().EnablePoint || ConfigHelper.Get <UserConfig>().EnableValidNum) { userPurviewEntity.ChargeType = viewModel.PurviewEntity.ChargeType; } if (ConfigHelper.Get <UserConfig>().EnablePoint) { userPurviewEntity.ChargePointType = viewModel.PurviewEntity.ChargePointType; userPurviewEntity.TotalViewInfoNumber = viewModel.PurviewEntity.TotalViewInfoNumber; userPurviewEntity.ViewInfoNumberOneDay = viewModel.PurviewEntity.ViewInfoNumberOneDay; } bool bFlag = false; if (userGroupsEntity != null) { userGroupsEntity.GroupSetting = userPurviewEntity.ToXml(); bFlag = await _UserGroupsService.UpdateAsync(userGroupsEntity); } else if (usersEntity != null) { usersEntity.UserSetting = userPurviewEntity.ToXml(); bFlag = await _UsersService.UpdateAsync(usersEntity); } if (bFlag) { Utility.WriteMessage("设置权限成功", "mRefresh"); } else { Utility.WriteMessage("设置权限失败", "mClose"); } return(Content("")); }
public async Task <ActionResult> PublishPermissions(int id, int IdType, PublishPermissionsViewModel viewModel, IFormCollection collection = null) { UserGroupsEntity userGroupsEntity = null; UsersEntity usersEntity = null; UserPurviewEntity userPurviewEntity = null; if (IdType == 1) { if (id <= 0 && id != -2) { Utility.WriteMessage("权限配置必须指定会员组", "mClose"); return(Content("")); } userGroupsEntity = await _UserGroupsService.GetAsync(p => p.GroupID == id); if (userGroupsEntity == null) { Utility.WriteMessage("指定的会员组不存在", "mClose"); return(Content("")); } userPurviewEntity = userGroupsEntity.UserGroupPurview; } else if (IdType == 0) { if (id <= 0) { Utility.WriteMessage("权限配置必须指定会员", "mClose"); return(Content("")); } usersEntity = await _UsersService.GetAsync(p => p.UserID == id); if (usersEntity == null) { Utility.WriteMessage("指定的会员不存在", "mClose"); return(Content("")); } userPurviewEntity = usersEntity.UserPurview; } else { Utility.WriteMessage("权限类型没有指定", "mClose"); return(Content("")); } //保存节点权限设置 await _UserGroupsService.DeleteNodePermissionFromGroup(id, -3, OperateCode.NodeContentInput, IdType); await _UserGroupsService.DeleteNodePermissionFromGroup(id, -3, OperateCode.NodeNoNeedCheck, IdType); await _UserGroupsService.DeleteNodePermissionFromGroup(id, -3, OperateCode.NodeManageSelfInfo, IdType); var ModelPurview = collection["ModelPurview"]; if (!string.IsNullOrEmpty(ModelPurview)) { await _UserGroupsService.AddNodePermissionToUserGroup(id, ModelPurview, IdType); } //保存会员组(会员)权限设置 if (userPurviewEntity == null) { userPurviewEntity = new UserPurviewEntity(); } userPurviewEntity.SetEditor = viewModel.PurviewEntity.SetEditor; userPurviewEntity.MaxPublicInfoOneDay = viewModel.PurviewEntity.MaxPublicInfoOneDay; userPurviewEntity.MaxPublicInfo = viewModel.PurviewEntity.MaxPublicInfo; userPurviewEntity.IsXssFilter = viewModel.PurviewEntity.IsXssFilter; if (ConfigHelper.Get <UserConfig>().EnableExp) { userPurviewEntity.GetExp = viewModel.PurviewEntity.GetExp; } if (ConfigHelper.Get <UserConfig>().EnablePoint) { userPurviewEntity.GetPoint = viewModel.PurviewEntity.GetPoint; } bool bFlag = false; if (userGroupsEntity != null) { userGroupsEntity.GroupSetting = userPurviewEntity.ToXml(); bFlag = await _UserGroupsService.UpdateAsync(userGroupsEntity); } else if (usersEntity != null) { usersEntity.UserSetting = userPurviewEntity.ToXml(); bFlag = await _UsersService.UpdateAsync(usersEntity); } if (bFlag) { Utility.WriteMessage("设置权限成功", "mRefresh"); } else { Utility.WriteMessage("设置权限失败", "mClose"); } return(Content("")); }
public async Task <ActionResult> UserGroupFrontPermissions(int id = 0, int IdType = 1) { UserGroupsEntity userGroupsEntity = null; UsersEntity usersEntity = null; var permissionsViewModels = new PublishPermissionsViewModel(); if (IdType == 1) { if (id <= 0 && id != -2) { Utility.WriteMessage("权限配置必须指定会员组", "mClose"); return(View(permissionsViewModels)); } userGroupsEntity = await _UserGroupsService.GetAsync(p => p.GroupID == id); if (userGroupsEntity == null) { Utility.WriteMessage("指定的会员组不存在", "mClose"); return(View(permissionsViewModels)); } permissionsViewModels.PurviewEntity = userGroupsEntity.UserGroupPurview; } else if (IdType == 0) { if (id <= 0) { Utility.WriteMessage("权限配置必须指定会员", "mClose"); return(View(permissionsViewModels)); } usersEntity = await _UsersService.GetAsync(p => p.UserID == id); if (usersEntity == null) { Utility.WriteMessage("指定的会员不存在", "mClose"); return(View(permissionsViewModels)); } permissionsViewModels.PurviewEntity = usersEntity.UserPurview; } else { Utility.WriteMessage("权限类型没有指定", "mClose"); return(View(permissionsViewModels)); } if (permissionsViewModels.PurviewEntity == null) { permissionsViewModels.PurviewEntity = new UserPurviewEntity(); } var nodeList = new List <NodesEntity>(); var nodeListTemp = _NodesService.GetNodeListByContainer(); foreach (var item in nodeListTemp) { string BeginTag = _NodesService.GetTreeLine(item.Depth, item.ParentPath, item.NextID, item.Child); string EndTag = _NodesService.GetNodeDir(item.Child, (NodeType)item.NodeType, item.NodeDir); if (item.NodeName == "所有栏目") { BeginTag = BeginTag + "<span style='color:red'>"; EndTag = "</span>" + EndTag; } else { //根据父节点的栏目权限和当前节点的栏目权限,确定当前节点的栏目权限 int purviewType = 0; if (item.ParentID > 0) { purviewType = _NodesService.GetCacheNodeById(item.ParentID).PurviewType; } if (purviewType < item.PurviewType) { purviewType = item.PurviewType; } item.PurviewType = purviewType; } item.NodeName = BeginTag + item.NodeName + EndTag; nodeList.Add(item); } permissionsViewModels.IdType = IdType; permissionsViewModels.NodeList = nodeList; permissionsViewModels.GroupNodePermissionsList = await _UserGroupsService.GetNodePermissionsById(id, -3, OperateCode.None, IdType); return(View(permissionsViewModels)); }
/// <summary> /// 增加或更新一条记录(异步方式) /// </summary> /// <param name="entity">实体模型</param> /// <param name="IsSave">是否增加</param> /// <returns></returns> public virtual async Task <bool> AddOrUpdateAsync(UserGroupsEntity entity, bool IsSave) { return(IsSave ? await AddAsync(entity) : await UpdateAsync(entity)); }
/// <summary> /// 增加或更新一条记录 /// </summary> /// <param name="entity">实体模型</param> /// <param name="IsSave">是否增加</param> /// <returns></returns> public virtual bool AddOrUpdate(UserGroupsEntity entity, bool IsSave) { return(IsSave ? Add(entity) : Update(entity)); }